Symptom
The round-5 maintainer prompt at \docs/prompts/prompt-ia-mantenedora-codegraph-vba-round-5-2026-07-13.md\ (in consumer \DysTelefonica/GESTION_RIESGOS) specifies acceptance criteria that the shipped v1.7.0 fix does NOT meet:
Expected (per round-5 prompt):
\\sql
-- Post-fix esperado:
-- stub_true_count <500 (solo casos genuinos missing)
-- declared_targets = 0 (todas las repointadas)
\\
Actual (verified post-v1.7.0 reindex on gestion_riesgos, 332 modules, 2026-07-13):
- \stub_true_count\ = 3,270 (NOT <500)
- \declared_targets_with_stub_true\ = 253 (NOT 0)
- BUT
epoint_decision_distribution\ is populated:
- 2,801 \declined-runtime\ (DAO., fso., VBA., ListBox., Collection., err.)
- 451 \declined-not-found\ (genuine missing callees — actionable noise)
- 18 \declined-ambiguous\ (investigate)
Root cause
The prompt expected the post-extraction resolver to repoint every declared-target stub to its real node, reducing the stub count. The shipped implementation (#110, PR #113) instead annotates each stub with \metadata.repointDecision\ (one of:
eponted-to-real\ / \declined-runtime\ / \declined-ambiguous\ / \declined-not-found), letting consumer-side lints filter on the decision field instead of the count.
Suggested resolution
Two options:
- Update the prompt template to reflect the actual contract: consumer-side lints should filter on
epointDecision='declined-not-found'\ (451 actionable) rather than total \stub=true.
- Archive round-5 prompt as historical (the criterion it specifies is not the criterion shipped), and generate a round-5-bis prompt that documents the actual
epointDecision\ semantics.
Context
\\sql
SELECT json_extract(e.metadata, '$.repointDecision') AS decision, COUNT(*) AS n
FROM edges e
WHERE e.kind='calls'
AND json_extract(e.metadata, '$.synthesizedBy')='vba-name-resolution'
AND json_extract(e.metadata, '$.stub')=1
GROUP BY decision;
-- declined-runtime: 2801, declined-not-found: 451, declined-ambiguous: 18
\\
/cc @ardelperal
Symptom
The round-5 maintainer prompt at \docs/prompts/prompt-ia-mantenedora-codegraph-vba-round-5-2026-07-13.md\ (in consumer \DysTelefonica/GESTION_RIESGOS) specifies acceptance criteria that the shipped v1.7.0 fix does NOT meet:
Expected (per round-5 prompt):
\\sql
-- Post-fix esperado:
-- stub_true_count <500 (solo casos genuinos missing)
-- declared_targets = 0 (todas las repointadas)
\\
Actual (verified post-v1.7.0 reindex on gestion_riesgos, 332 modules, 2026-07-13):
epoint_decision_distribution\ is populated:
Root cause
The prompt expected the post-extraction resolver to repoint every declared-target stub to its real node, reducing the stub count. The shipped implementation (#110, PR #113) instead annotates each stub with \metadata.repointDecision\ (one of:
eponted-to-real\ / \declined-runtime\ / \declined-ambiguous\ / \declined-not-found), letting consumer-side lints filter on the decision field instead of the count.
Suggested resolution
Two options:
epointDecision='declined-not-found'\ (451 actionable) rather than total \stub=true.
epointDecision\ semantics.
Context
\\sql
SELECT json_extract(e.metadata, '$.repointDecision') AS decision, COUNT(*) AS n
FROM edges e
WHERE e.kind='calls'
AND json_extract(e.metadata, '$.synthesizedBy')='vba-name-resolution'
AND json_extract(e.metadata, '$.stub')=1
GROUP BY decision;
-- declined-runtime: 2801, declined-not-found: 451, declined-ambiguous: 18
\\
/cc @ardelperal