Rationale: This is a mature, honest, well-scoped plugin: the “report-first, beads-on-confirm” gating, three independently-weighted evidence sources, P1-precision-over-recall bias, and the deliberate no-MCP/no-Python design are all sound and well-justified in the README’s “Design decisions” section. It solves a real, underserved problem (integration-completeness verification after a feature ships) that maps to two converging SOTA themes: (1) “verification is the new bottleneck” — as agents generate code faster, catching what the generator got wrong (here, the un-wired consumer edge) is the defensible value; and (2) the SOTA reflection/verification finding that “generic unstructured NL critiques are largely ineffective; structured, tool-grounded feedback drives improvement” (ReVeal arXiv:2506.11442). intertrace is already tool-grounded (grep/jq evidence, not LLM prose), which is exactly right. It is NOT a “keep” because its evidence engine is brittle string-matching that ignores the project’s own structural-analysis infrastructure, and its agentic-retrieval posture is below the 2026 bar for code review (Greptile-class cross-file dependency tracing). The verdict is modernize, not improve, because the gap is a substrate swap (grep -> AST/call-graph + agentic retrieval), not just polish.
A thin Demarch-monorepo integration-gap tracer (1 skill, 1 sonnet review agent, 3 bash+jq tracer libs, 0 MCP, 0 hooks). /intertrace resolves the bead’s commits via git log --grep, extracts changed files, then sources three shell libs that grep/sed/awk/jq over the repo: trace-events.sh finds ic events emit calls and checks for cursor-consumer + _validate_hook_id allowlist evidence; trace-contracts.sh parses docs/contract-ownership.md markdown tables and greps each declared consumer’s dir for the command/schema; trace-companion.sh reads docs/companion-graph.json edges and greps the from plugin dir for references to the to plugin. Findings merge and rank into P1/P2/P3 evidence tiers, present as a report, and only on user confirmation become labeled follow-up beads (P1->P2 priority, never auto-created). The fd-integration agent does the same checks as an interflux diff reviewer with an added P0 “silent-pipeline failure” tier. Code matches the README/AGENTS/PHILOSOPHY claims exactly — no drift.
Two specific frontier ideas it lacks. (1) Agentic, cross-file-context-building verification (the 2026 autonomous-code-review trend: Greptile ~82% vs grep-class ~44% bug-catch — “context-gathering depth is the differentiator, not the LLM”). intertrace’s edges are decided by literal grep for a plugin/command name in a directory, producing false positives (any incidental mention counts as “verified”) and false negatives (renamed symbols, indirect calls, re-exports go undetected). It should ground edges in real call/data-flow graphs. (2) It ignores agentic-RAG / multi-hop retrieval folded into the reasoning loop (A-RAG arXiv:2602.03442, GraphSearch): an integration trace IS inherently a multi-hop graph-traversal problem (producer -> contract -> consumer -> verification), yet the engine is a flat single-pass grep with no iterative “decide what to retrieve next” step.
Meaningful structural overlap with tldr-swinton (tldr-code) and intermap, both of which already do AST-level call graphs, reverse-call-graph impact, and data-flow: tldr-code__impact (reverse call graph), tldr-code__calls/cfg/dfg, tldr-code__change_impact, tldr-code__semantic; intermap__change_impact, intermap__impact_analysis, intermap__detect_patterns. intertrace’s AGENTS.md even claims it “Calls intermap MCP tools for structural data,” but the actual lib code calls NONE of them — it reimplements impact analysis with raw grep. That is the redundancy to resolve: consume tldr-code/intermap as the evidence substrate instead of hand-rolling weaker grep equivalents. Lighter overlap with interflux/flux-drive (fd-integration is correctly delegated as a flux review agent, not duplicated) and interwatch (doc-freshness vs integration-wiring — distinct enough to keep separate).
[“Replace grep-based edge verification with the structural tools the ecosystem already ships: call tldr-code__impact (reverse call graph) and tldr-code__semantic for consumer detection, plus intermap__change_impact/impact_analysis for producer blast radius — turning ‘declared edge + zero grep hit’ into ‘declared edge + zero call-graph/data-flow path,’ removing rename/re-export false negatives and incidental-mention false positives, and making good on the AGENTS.md claim that it uses intermap.”, “Make the trace agentic/multi-hop instead of single-pass: after the first sweep, iteratively retrieve the next hop (producer -> contract row -> consumer module -> test coverage) and decide per-edge whether to escalate to deeper structural queries — aligning with agentic-RAG (A-RAG/GraphSearch) and the Greptile cross-file-context-depth finding.”, “Add a per-finding confidence/evidence-quality score (beyond the P1/P2/P3 tier) and feed confirmed/dismissed outcomes through interspect-style calibration so the P1 false-positive rate is tracked over time — operationalizing the reliability-science ‘measure variance, not single-shot pass’ framing for the tracer’s own accuracy.”, “Tighten redundancy: declare intermap + tldr-swinton as hard companion-graph edges and route structural lookups through them, keeping the bash+jq libs only as an offline-fallback when those MCP servers are unavailable (the ‘Known Constraints’ already lists intermap as a hard dependency, so this just makes it real).”]