learning_ai_common_plat/scripts
saravanakumardb1 4967b125fd feat(scripts): ecosystem-wide rule violation scanner + baseline report
Adds scripts/check-rule-violations.sh: a marker-based, repo-agnostic
scanner that audits every repo in repos.txt for violations of the
canonical rules in AI.dev/SKILLS/agent-behavior-guidelines.md plus
common per-repo MUST NOT rules.

Rules currently scanned (7):
- b4-console-log    \\  console.log in non-test, non-script TS/JS
- b4-swift-print    \\  print() in non-test Swift
- b4-python-print   \\  print() in src/tools/backend-python (CLIs excluded)
- ts-any-type       \\  any type in non-test TS source
- web-hardcoded-hex \\  #rgb / #rrggbb literals outside design-tokens
- b5-hardcoded-product-id \\ literal product ID strings outside config
- b7-emoji-in-code  \\  decorative emojis (faces/food/etc.) in source

Precision filters baked in:
- Cross-product UI in common_plat dashboards exempted from product-id rule
- TS literal type definitions exempted from product-id rule
- JSDoc/docstring comment lines exempted from product-id rule
- scripts/ directories exempted from console.log/print rules (CLIs print)
- CLI entrypoint files (cli.py, __main__.py) exempted from python-print
- Sandbox dirs (__LOCAL_LLMs, chat-history, __experiments) excluded
- Unicode 'Miscellaneous Symbols' block (✓✗⚠★☐) NOT flagged as emoji
  (universally used as UI status indicators, not decorative)

Bash 3.2 compatible (no associative arrays). Runs in ~13 seconds across
19 repos.

Output:
- reports/rule-violations-YYYY-MM-DD.md   (human-readable, dated, gitignored)
- reports/rule-violations-YYYY-MM-DD.json (machine-readable, dated, gitignored)
- reports/rule-violations-baseline.md     (this commit's snapshot, committed)

Baseline (2026-05-23) totals:
  Total findings:  2548 across 19 repos
  - critical: 13   (real hardcoded product IDs in non-canonical locations)
  - major:    1821 (mostly hardcoded hex colors + console.log)
  - minor:    714  (any type, decorative emojis)

By rule:
  web-hardcoded-hex       1370
  b7-emoji-in-code         465
  b4-python-print          351
  ts-any-type              249
  b4-console-log            93
  b5-hardcoded-product-id   13
  b4-swift-print             7

Repos clean (0 findings):
  - learning_ai_smart_auth (docs-only)
  - learning_ai_auth_app (small native scaffolding only)

Repos with highest finding counts:
  - learning_ai_mac_tooling: 585 (Python backend + React dashboard)
  - learning_ai_common_plat: 521 (large shared platform)
  - learning_ai_fastgap:     409
  - learning_ai_multimodal:  312

Next phase: per-repo triage and fix, processing repos in order of
ascending complexity per the roadmap (see prior planning conversation).
The scanner is the gating tool for that work.
2026-05-23 14:02:14 -07:00
..
gitea chore(packages): publish @bytelyst/kill-switch-client@0.1.6 to Gitea registry 2026-05-23 12:32:49 -07:00
backup-main.sh ci: update CI/CD configuration 2026-03-10 11:32:25 -07:00
check-agent-docs-drift.sh feat(drift-check): forbid per-tool subdirectory AGENTS.md duplicates 2026-05-23 13:07:26 -07:00
check-npmrc-drift.sh feat(scripts): add .npmrc template + sync/drift-check scripts (DRY) 2026-04-14 11:48:55 -07:00
check-prototype-env.sh Add prototype deployment workflow 2026-03-14 05:01:09 +00:00
check-rule-violations.sh feat(scripts): ecosystem-wide rule violation scanner + baseline report 2026-05-23 14:02:14 -07:00
check-token-drift.sh chore(ci): add local token drift check script 2026-03-28 01:01:06 -07:00
commit-workspace.sh ci: update CI/CD configuration 2026-03-29 10:50:53 -07:00
cosmos-telemetry-indexes.sh feat(telemetry): Phase 3 — cluster resolve/ignore, audit logging, webhook alerts, metrics endpoint, Cosmos indexes 2026-02-17 10:50:29 -08:00
create-encryption-keys.sh feat(field-encrypt): create @bytelyst/field-encrypt package with AES-256-GCM envelope encryption 2026-03-21 09:18:10 -07:00
deploy-admin-hotcopy.sh feat(admin-web): adopt trading web deployment model with docker-compose 2026-05-11 03:24:33 +00:00
docker-clean.sh chore(docker): add interactive cleanup menu 2026-05-05 18:28:55 -07:00
docker-prep.sh feat(platform-service): update Dockerfile for pnpm workspace support 2026-02-12 23:43:40 -08:00
encrypt-migrate.ts feat(devops): encryption migration CLI with embedded product configs 2026-03-21 13:19:55 -07:00
export-lysnr-kv.sh chore: add kv export audit 2026-02-15 00:43:29 -08:00
fix-npmrc-all-repos.sh fix: standardize common-plat .npmrc + publish script for corp network 2026-04-13 10:51:12 -07:00
godaddy-sync-bytelyst-dns.sh feat(dns): add ollama hostname support 2026-03-31 10:07:38 +00:00
lint-infra.sh chore(scripts): add lint-infra, typecheck-all, test-all cross-repo scripts 2026-03-26 23:15:16 -07:00
npmrc.template feat(scripts): add .npmrc template + sync/drift-check scripts (DRY) 2026-04-14 11:48:55 -07:00
package.json feat(devops): encryption migration CLI with embedded product configs 2026-03-21 13:19:55 -07:00
prep-consumer.sh fix(docker): preserve peer deps in packed packages 2026-03-23 18:24:57 -07:00
prototype-self-test.sh Add prototype storage diagnostics and smoke test 2026-03-14 06:06:35 +00:00
prototype-up.sh Add Cosmos emulator prototype support 2026-03-14 05:24:01 +00:00
secret-scan-repo.sh chore(security): add secret scanning + playbook 2026-02-14 00:24:41 -08:00
secret-scan-staged.sh chore(security): add secret scanning + playbook 2026-02-14 00:24:41 -08:00
seed-keyvault.sh feat: add AKV seed script and AZURE_KEYVAULT_URL to .env.example 2026-02-14 22:25:04 -08:00
seed-lysnr-kv.sh ci: add lysnr kv seeder 2026-02-15 00:31:31 -08:00
setup-husky.sh chore(husky): run hooks from repo root and avoid npx 2026-02-14 12:55:41 -08:00
switch-network.sh feat(scripts): make GITEA_NPM_HOST conditional on NETWORK 2026-03-24 15:45:59 -07:00
sync-npmrc.sh feat(scripts): add .npmrc template + sync/drift-check scripts (DRY) 2026-04-14 11:48:55 -07:00
sync-workflows.sh fix(workflows): normalize repo management coverage 2026-03-24 16:05:12 -07:00
test-all.sh chore(scripts): add lint-infra, typecheck-all, test-all cross-repo scripts 2026-03-26 23:15:16 -07:00
tsconfig.json fix(scripts): add tsconfig.json — fixes pnpm typecheck failure 2026-03-21 15:55:27 -07:00
typecheck-all.sh chore(scripts): add lint-infra, typecheck-all, test-all cross-repo scripts 2026-03-26 23:15:16 -07:00
update-agent-docs.sh fix(agent-docs): update AI.dev guides + script UX after single-source migration 2026-05-23 12:06:28 -07:00