|
| 1 | +# HANDOFF — V0 read-only audit |
| 2 | + |
| 3 | +> **Wave:** V0 (read-only). **Branch:** none — no code changes. **Blocks:** Wave 1 slices. |
| 4 | +
|
| 5 | +--- |
| 6 | + |
| 7 | +## Goal |
| 8 | + |
| 9 | +Produce `plan/VIBESAFE-AUDIT.md`: structured inventory of code health, scanner coverage, false-positive risk, and a prioritized improvement backlog for Wave 1–2. |
| 10 | + |
| 11 | +**No implementation in V0.** Audit only. |
| 12 | + |
| 13 | +--- |
| 14 | + |
| 15 | +## Read first |
| 16 | + |
| 17 | +1. `plan/CONTEXT.md` |
| 18 | +2. `README.md` |
| 19 | +3. `src/index.ts` — CLI wiring, default flags, AI report path |
| 20 | +4. Every file under `src/scanners/` |
| 21 | +5. `src/reporting/` — note `.js` vs `.ts` duplication |
| 22 | +6. `test-data/` — list fixtures; note which scanners each exercises |
| 23 | +7. `.github/workflows/ci.yml` |
| 24 | +8. `package.json` — scripts, deps, version |
| 25 | + |
| 26 | +--- |
| 27 | + |
| 28 | +## Audit sections (required in output) |
| 29 | + |
| 30 | +Write all sections to **`plan/VIBESAFE-AUDIT.md`**: |
| 31 | + |
| 32 | +### 1. Executive summary |
| 33 | + |
| 34 | +- 5–10 bullets: ship-readiness, biggest risks, top 3 wins for Wave 1 |
| 35 | + |
| 36 | +### 2. Scanner matrix |
| 37 | + |
| 38 | +| Scanner | Inputs | Severity rules | Network? | Test fixture exists? | Gaps | |
| 39 | +|---------|--------|----------------|----------|----------------------|------| |
| 40 | + |
| 41 | +### 3. Code health |
| 42 | + |
| 43 | +- TypeScript quality issues (any `any`, dead code, duplicate `.js` artifacts) |
| 44 | +- Version drift (`index.ts` vs `package.json`) |
| 45 | +- Dependency audit (outdated, unnecessary deps) |
| 46 | +- Error handling on file I/O and OSV API failures |
| 47 | + |
| 48 | +### 4. CI / release |
| 49 | + |
| 50 | +- What CI actually proves today |
| 51 | +- Gap vs "green = safe to publish minor bump" |
| 52 | + |
| 53 | +### 5. AI / deterministic boundary |
| 54 | + |
| 55 | +- Where OpenAI is invoked today |
| 56 | +- Recommendation: default-off flag name + behavior (do not implement in V0) |
| 57 | + |
| 58 | +### 6. False positive / noise review |
| 59 | + |
| 60 | +- Run `npm run build && node dist/index.js scan test-data/ --high-only` locally |
| 61 | +- Sample 3 fixtures per scanner category; note noisy rules |
| 62 | + |
| 63 | +### 7. Wave 1 slice backlog (proposed) |
| 64 | + |
| 65 | +Ordered table: |
| 66 | + |
| 67 | +| ID | Title | Effort | Risk | Depends | |
| 68 | +|----|-------|--------|------|---------| |
| 69 | + |
| 70 | +Minimum slices to propose: |
| 71 | + |
| 72 | +- **V1-A** — vitest + fixture tests per scanner |
| 73 | +- **V1-B** — fix version drift + remove duplicate `.js` in reporting |
| 74 | +- **V1-C** — CI runs `npm test` + fixture suite |
| 75 | +- **V1-D** — AI suggestions opt-in (`--ai-suggestions`), default off |
| 76 | +- **V1-E** — lockfile CVE support (package-lock / yarn.lock / pnpm-lock) |
| 77 | + |
| 78 | +### 8. Out of scope (explicit) |
| 79 | + |
| 80 | +List anything that looks like swarm/GitHub-app/hosted platform — deferred. |
| 81 | + |
| 82 | +### 9. Course integration notes (brief) |
| 83 | + |
| 84 | +- Which fundamentals modules (07, 09) get a `vibesafe scan` teach hook |
| 85 | +- No curriculum files in this repo in V0 |
| 86 | + |
| 87 | +--- |
| 88 | + |
| 89 | +## Done when |
| 90 | + |
| 91 | +1. `plan/VIBESAFE-AUDIT.md` exists with all 9 sections filled |
| 92 | +2. `plan/ORCHESTRATOR.md` slice table updated: V0 = **done** |
| 93 | +3. No other files modified (read-only wave) |
| 94 | +4. Report tip: if any secrets found in repo during audit, note severity only — do not paste values |
| 95 | + |
| 96 | +--- |
| 97 | + |
| 98 | +## STOP — ask Justin |
| 99 | + |
| 100 | +- Recommending npm package rename |
| 101 | +- Recommending merge into arthor-* repo |
| 102 | +- Any hosted-service or GitHub App architecture |
| 103 | +- Deleting scanners without replacement plan |
0 commit comments