chore(claude-config): secret-read + psycopg2 hooks, tradein.md rule, tradein-mvp globs #1975

Merged
lekss361 merged 1 commit from chore/claude-config-hooks into main 2026-06-27 10:03:20 +00:00

1 commit

Author SHA1 Message Date
b73161a133 chore(claude-config): secret-read + psycopg2 hooks, tradein.md rule, tradein-mvp globs
All checks were successful
CI / frontend-tests (pull_request) Has been skipped
CI / changes (pull_request) Successful in 6s
CI / backend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Has been skipped
- scripts/claude-hooks/check-secret-read.py — PreToolUse(Bash) guard: блокирует чтение/передачу
  .env*/.pgpass/ssh-key (cat/Get-Content/curl @file/<redirect), закрывает Bash(*) обход Read(.env)
  deny. Allow: .env.example/templates, ls/stat. Tested 12/12.
- scripts/claude-hooks/check-sql-pitfalls.py — PostToolUse(Edit|Write|MultiEdit): блокирует
  import psycopg2 в backend + tradein-mvp/backend .py (psycopg v3). Cast-trap НЕ чекаем (FP на
  comment/test-mentions). Tested 7/7.
- scripts/claude-hooks/session-preflight.py — SessionStart: статус FORGEJO/OBSIDIAN token + db-tunnel.
- .claude/rules/tradein.md — НОВОЕ: tradein-mvp gotchas (2 БД, :8000=gendesign, scheduler в
  tradein-scraper, strict SQL auto-apply + NN-collisions, rapid-merge trap).
- backend.md/sql.md/frontend.md: paths globs расширены на tradein-mvp/**.

Wiring (settings.json) — local/gitignored, отдельно. Audit 2026-06-27 P0+P1.
2026-06-27 13:02:30 +03:00