feat(scripts): TODO-5 \u2014 emoji scanner CLI/scaffolder exemptions (53 \u2192 0)

All 53 remaining b7-emoji-in-code findings were in legitimate CLI /
scaffolder / asset-generator contexts:

  voice_ai_agent (36):
    scripts/test_*.py    \u2014 Pyt diagnostic test scripts
    scripts/prove_*.py   \u2014 Cosmos / kill-switch proof-of-life CLIs
    assets/generate-store-assets.py \u2014 Apple/Play store image generator
    mobile_app/common/kill_switch.py \u2014 operator-facing status CLI

  common_plat (17):
    scripts/encrypt-migrate.ts        \u2014 batch encryption migration CLI
    scripts/churn-alert.ts            \u2014 ops alerting CLI
    services/platform-service/scripts/gen-module.ts \u2014 scaffolder
    packages/create-app/src/...       \u2014 scaffolder generators

These all emit terminal decoration during one-shot CLI runs (\u2713 \u2718 \u26a0\ufe0f
prefixes on status lines). They are NOT product code with decorative
emoji noise \u2014 they are the same category that console-log and
python-print rules already exempt via /scripts/, /packages/create-app/,
/plugins/, /services/monitoring/ path patterns.

Refined the b7-emoji-in-code scanner with matching exemptions plus:
  + /services/<name>/scripts/  (e.g. platform-service/scripts/)
  + /assets/                    (asset/image generators)
  + /kill_switch.py$            (operator-facing CLI status output)

Final ecosystem state:
  b7-emoji-in-code:   465 \u2192 53 (after Tier 5 logic refinement) \u2192 0 \u2713
  Total findings:      88 \u2192 35 (only ts-any-type remains)

Remaining 35 are real ts-any usages tracked by TODO-4 (manual triage
across 9 repos, spread thinly: mindlyst 17, efforise 6, clock 6,
notes 4, common_plat 4, flowmonk 3, claw-cowork 2, voice_ai 1, peakpulse 1).
This commit is contained in:
saravanakumardb1 2026-05-23 19:10:53 -07:00
parent 8ffe361623
commit b9a79879a3

View File

@ -489,6 +489,18 @@ PYEOF
python3 "$py_helper" "$repo_dir" > "$out" 2>/dev/null || true python3 "$py_helper" "$repo_dir" > "$out" 2>/dev/null || true
while IFS=: read -r file line evidence; do while IFS=: read -r file line evidence; do
[[ -z "$file" ]] && continue [[ -z "$file" ]] && continue
# Emojis in CLI / scaffolder / asset-generator output are intentional
# terminal decoration, not product code noise. Apply the same path
# exemptions used by console-log + python-print rules.
[[ "$file" =~ (^|/)scripts/ ]] && continue
[[ "$file" =~ /packages/create-app/ ]] && continue
[[ "$file" =~ /services/monitoring/ ]] && continue
[[ "$file" =~ /services/[^/]+/scripts/ ]] && continue
[[ "$file" =~ (^|/)plugins/ ]] && continue
[[ "$file" =~ /assets/ ]] && continue
# kill_switch.py emits operator-facing CLI status output with status
# emojis (✓/✗) \u2014 same category as scripts/ tools.
[[ "$file" =~ /kill_switch\.py$ ]] && continue
emit_finding "b7-emoji-in-code" "minor" "$repo" "$file" "$line" "Emoji in code: $evidence" emit_finding "b7-emoji-in-code" "minor" "$repo" "$file" "$line" "Emoji in code: $evidence"
done < "$out" done < "$out"
rm -f "$py_helper" "$out" rm -f "$py_helper" "$out"