You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Type: chore · Branch:chore/issue-32-formalize-reaching-defs · Part of epic #26
Problem
L3 ddg edges are tagged ["reaching-defs"] (src/schema/v2/dataflow.ts:113-117, asserted at test/schema-v2.test.ts:328) with a code-documented rationale. The canonical schema's shared vocabulary names the L3 syntactic-DDG token ssa (canonical-schema.md:139, schema-reference.md:95); parity is a hard rule. Today the divergence is silent — an SDK filtering prov == "ssa" misses every TS edge.
Decision (locked)
Keep reaching-defs — it is semantically accurate (forward may-reaching-definitions over k-limited access paths, flow-insensitive copy/field-alias substrate; not SSA form, not points-to-backed). Make the divergence sanctioned + lockstepped, not silent.
Change
Record reaching-defs as a sanctioned additive prov value in .claude/SCHEMA_DECISIONS.md (parity-additions ledger), with the rationale.
Verify the Neo4j schema catalog accepts the token (src/build/neo4j/schema.ts; conformance test stays green).
Cross-repo (python-sdk): add reaching-defs to the SDK Pydantic model's prov literal + an SDK validation test. This is a coordinated PR in codellm-devkit/python-sdk and must merge in lockstep so the SDK never rejects valid output.
Acceptance
reaching-defs documented as sanctioned; SDK validates an analysis.json carrying it; Neo4j conformance green.
Files:.claude/SCHEMA_DECISIONS.md; verify src/build/neo4j/schema.ts; coordinated codellm-devkit/python-sdk PR.
Activity