todo2code

Ticket 011 audit

Before

Repository census

Repository AST records Leaf aliases with multiple source owners
todo2code 15,607 155
subactor-improvement 865 2 (spawn, summarize)
wellmanifest/new-project 0 0 (documentation-only repository)

On todo2code’s tracked TASK.md, implicit symbol candidates fell from 7 to 2. The five removed values were file names or all-caps prose; the remaining TensorFlow and TypeScript are unresolved product/code names and therefore create neither AST evidence nor an ambiguity claim.

Resolution contract

State Link behavior Diagnostic behavior
one AST path allow exact shared_symbol evidence no ambiguity
several AST paths abstain unless path/qualifier selects one list candidates; request target.path
explicit path conflicts abstain list observed locations; request path correction
no AST declaration no symbol evidence ordinary planned-not-implemented, not ambiguity

Verification

Gate Result
npm run verify PASS — 277 tests, 276 pass, 0 fail, 1 JDK skip
Module boundary PASS — 101 modules, 467 imports, 0 cycles
No-LLM boundary PASS — 9 entrypoints across 34 modules
Resolver tests PASS — 6/6 unique, ambiguous, path, qualified, conflict and missing-fields cases
Gold v2 PASS — extraction 21/21, linking 18/18 (10 exact-target, 8 capability-topic), diagnostics 11/11
Gold v1 PASS — legacy dataset remains 100%
Examples PASS — 5 SDK, graph fingerprint 1dacf2edc8d603a2
Publication implementation 25df74a on main; unrelated nlp2uri.yaml excluded

The examples graph fell from 101 to 91 relations while preserving 227 records. The removed edges are the intended effect of abstaining from ambiguous NL↔AST symbol ownership; all versioned gold expectations remain perfect.