Sibling finding from codellm-devkit/codeanalyzer-python#115 (propagation sweep; fixed there for 1.1.1).
src/schema/v2/dataflow.ts emits only ONE of the four statement ↔ port ddg binding classes: the return/global → @formal_out routing (prov:["reaching-defs"]). The other three are not emitted:
Consequence, same as the python issue: an end-to-end flows_to(def_stmt, callee_formal) or return-value walk cannot cross a call except through the formal_out leg. The python fix (codeanalyzer-python PR for #115) emits the full set with prov:["reaching-defs"] — the label this repo already uses — so the vocabulary is shared; this is emission-only.
Suggested acceptance: on a 2-function sample (y = build(x)), assert ddg contains def→actual_in, actual_out→callsite, formal_in→first-use, return→formal_out, all reaching-defs-tagged, endpoints present in body.
Sibling finding from codellm-devkit/codeanalyzer-python#115 (propagation sweep; fixed there for 1.1.1).
src/schema/v2/dataflow.tsemits only ONE of the four statement ↔ port ddg binding classes: the return/global →@formal_outrouting (prov:["reaching-defs"]). The other three are not emitted:def stmt → actual_in:k(argument binding at the call site —emitL4creates theactual_invertex and itsparam_inedge, but no ddg edge feeds the port)actual_out → use stmt(return-value binding back into the caller)formal_in:k → first-use stmts(parameter flow inside the callee — currently carried only by@entry → stmtedges, so entering viaparam_indead-ends atformal_in)Consequence, same as the python issue: an end-to-end
flows_to(def_stmt, callee_formal)or return-value walk cannot cross a call except through the formal_out leg. The python fix (codeanalyzer-python PR for #115) emits the full set withprov:["reaching-defs"]— the label this repo already uses — so the vocabulary is shared; this is emission-only.Suggested acceptance: on a 2-function sample (
y = build(x)), assert ddg containsdef→actual_in,actual_out→callsite,formal_in→first-use,return→formal_out, allreaching-defs-tagged, endpoints present inbody.