Document C1 codemod recipe + C6 wave boundaries + N-scan TODO deadlines (T2 iteration)
Address T2 review asks from Karpathy (request_changes) + Jobs (approve with minor asks) without touching published commits: - scripts/codemod/README.md (new): records remove-appdatabase-passthrough.mjs usage, the completeness proof for METHOD_TO_MODULE (typecheck-clean + 524 tests green at118e3d8= no orphaned call sites), and the sequential revert recipe for C1 (3 -> 2 -> 1, not independent because118e3d8bundled vault simplification). - CONTRIBUTING.md (new): pass-through ban + codemod usage + sequential revert recipe + file-size ceiling + C6 wave cap. Whitelisted in .gitignore alongside the existing doc exceptions. - docs/proposals/C6.2-error-taxonomy-phase2.md: wave 2 scope boundary names renderer-adjacent / api-server / browser / automation / skills explicitly and excludes src/main/database/** + src/main/worker/runtime/** (B2 / M10 high-churn zones). Wave 2 and wave 3 each capped at 30 catch sites so C6 cannot expand without bound. - src/main/agent-runtime/artifact-projector.ts, runtime-bridge.ts: N-scan TODOs now carry a death date ("TODO(M-followup by 2026-05-20)"). If the date passes without decomposition, a follow-up session MUST revisit or justify the exception. Karpathy T2 asks #1 and #2 (split part 3 / "independent revert" language) are addressed in CONTRIBUTING + codemod README as documentation, not history rewrites, because118e3d8is already published. Typecheck clean. No structural code changes; pure docs + comment edits.
This commit is contained in:
1 parent
69d03312e6
commit
ded707d960
6 files changed
+256
-14
No files matched your search
@@ -77,21 +77,39 @@ Buckets:
|
||||
**Estimated effort**: 2 days, one PR. Run `pnpm test:eval` and
|
||||
`pnpm test:unit` after each file. Commit per module.
|
||||
|
||||
### Wave 2 — IPC surfaces + service layer (≈90 sites)
|
||||
### Wave 2 — renderer-adjacent + api-server + browser + automation + skills (≤30 catches)
|
||||
|
||||
**Scope boundary (hard)**: Wave 2 covers `src/main/{renderer-adjacent,api-server,browser,automation,skills}/*`
|
||||
plus top-level `ipc-*.ts` and `*-service.ts` files. Wave 2 explicitly
|
||||
**avoids** `src/main/database/**` and `src/main/worker/runtime/**` —
|
||||
those are the high-churn B2 (tasks state-machine) and M10 (agent-runtime
|
||||
hooks) zones, and overlapping edits produce diff storms that lose both
|
||||
sides' intent. Database and worker/runtime catches are deferred to
|
||||
Wave 3 under the coordination gate below.
|
||||
|
||||
**Scope cap (hard)**: Wave 2 migrates **at most 30 catch sites**. If the
|
||||
live count in the listed modules exceeds 30, stop at 30 and move the
|
||||
remainder to Wave 3. This prevents C6 from expanding into an unbounded
|
||||
sweep.
|
||||
|
||||
Buckets:
|
||||
|
||||
| Module | Approx sites | Dominant kind | Notes |
|
||||
| Module | Approx sites (capped) | Dominant kind | Notes |
|
||||
|---|---|---|---|
|
||||
| `src/main/ipc-*.ts` (excl. already-done credentials + support) | ~50 | `user_input` (zod fails), `upstream` (downstream handler fails) | Uniform shape — candidate for a `registerHandle`-level classifier wrapper |
|
||||
| `src/main/*-service.ts` | ~25 | Mixed | Each service owns one subsystem; classify per service |
|
||||
| `src/main/automation/**` | ~15 | `recoverable` (rule eval), `user_input` (bad config) | Small; can ride wave 2 PR as final commit |
|
||||
| `src/main/ipc-*.ts` (excl. already-done credentials + support) | ~15 | `user_input` (zod fails), `upstream` (downstream handler fails) | Uniform shape — candidate for a `registerHandle`-level classifier wrapper |
|
||||
| `src/main/*-service.ts` + `src/main/api-server/**` | ~8 | Mixed | Each service owns one subsystem; classify per service |
|
||||
| `src/main/automation/**` + `src/main/skills/**` + `src/main/browser/**` | ~7 | `recoverable` (rule eval), `user_input` (bad config), `upstream` (Electron session) | Small; ride wave 2 PR as final commit |
|
||||
|
||||
**Estimated effort**: 2-3 days, one PR with one commit per file group.
|
||||
**Estimated effort**: 2 days, one PR with one commit per file group.
|
||||
Depends on Wave 1 only insofar as `registerHandle` wrapper lives in
|
||||
`ipc-support.ts` and was partially migrated in C6.1.
|
||||
|
||||
### Wave 3 — database + credentials + browser + leftovers (≈58 sites)
|
||||
### Wave 3 — database + worker/runtime + credentials + leftovers (≤30 catches)
|
||||
|
||||
**Scope cap (hard)**: Wave 3 migrates **at most 30 catch sites**. Any
|
||||
residue beyond 30 gets punted to a follow-up proposal (C6.3) rather than
|
||||
expanding Wave 3. C6 does not get to grow without bound.
|
||||
|
||||
|
||||
**⚠️ Coordination gate (hard)**: Wave 3 touches `src/main/database/**`
|
||||
(Linus's domain — backup hook, migrations, state-machine work) and
|
||||
|
||||
Reference in new issue
Block a user