feat(scanner): Fail closed and report fallback provenance - #97
feat(scanner): Fail closed and report fallback provenance#97reneleonhardt wants to merge 1 commit into
Conversation
Distinguish authoritative scanner results from degraded fallback topology, fail closed on incomplete ast-grep execution, and preserve source outcomes through file-graph and blast-radius construction. Co-Authored-By: GPT-5.6 Sol <codex@openai.com>
|
Reviewed — the direction is right, and 1. Nothing consumes 2. It duplicates the vocabulary #96 introduces. 3. Fail-closed on timeout is a UX cliff for the hook path. Hooks run codemap on every edit; previously an ast-grep timeout warned on stderr and degraded to tree-only output, now the whole command errors. That's defensible under "don't lie", but it trades a partial answer for no answer on exactly the large repos where the timeout fires. (2) would let you keep both. Minor: dropping the Heads-up on ordering: this and #93 both rewrite |
Yes, please consolidate #93 → #96 → #97 → #99 into one replacement PR based on current main, and close the old PRs after the replacement is open and cross-linked. |
|
I fear the model can't preserve 4 separate commits, that's kind of the problem. Latest news after 1.5h:
|
|
In other news, I burned not only my MacBook with hundreds of builds, but also my Max quota (7 days) in 2 days, I hope those few open PRs get merged so I can post the next wave when I have quota again 😄 |
Consolidate the JordanCoin#93, JordanCoin#96, JordanCoin#97, and JordanCoin#99 maintainer corrections into one compatible scanner, graph, CLI, and MCP contract.\n\nPreserve provenance across recoverable scans and fallbacks, apply configured filters consistently, reuse one dependency graph inventory for coverage and rendering, and make unmatched Rust source coverage explicit.\n\nCo-Authored-By: GPT-5.6 Sol <codex@openai.com>
|
Yes — consolidate #93 → #96 → #97 → #99 into one branch and close these four. Please don't burn effort trying to preserve four commits; one coherent branch is genuinely the better outcome here, and I'd rather you spend the quota you have left on the design than on git surgery. The reason is that these four don't conflict textually so much as semantically, and that's not something a rebase can settle:
So one review is the honest price. Your own note matches what I found: none of the four could merge independently. Three things I'd like the consolidated branch to settle, since they're the decisions the four were making inconsistently:
Status on your other two, both merged:
Sorry about the quota, and about the MacBook. Take your time — nothing here is urgent, and there's no rush to get the consolidated branch up before your quota resets. |
What does this PR do?
Prevents failed, timed-out, or unavailable
ast-grepscans from appearing complete and carries Cargo metadata fallback provenance through file graphs. Agentic coding consumers running in restricted sandboxes can distinguish authoritative dependency results from degraded topology.This PR provides the provenance foundation for a fallback stack that will keep dependency analysis useful when optional scanners or toolchains are unavailable:
codemap --deps .Follow-up language-specific fallback branches can preserve degraded topology while reporting its provenance.
Type of change
Checklist
go build && ./codemap .Additional notes
Successful empty
ast-grepresults remain authoritative. Existing API signatures remain unchanged; incompleteast-grepexecutions now return errors instead of potentially incomplete results.Verification
go test ./... -count=1;go vet ./...;go test -race -cover ./... -count=1;staticcheck ./...;go build.Developed with carefully directed, manually reviewed AI assistance.
Co-Authored-By: GPT-5.6 Sol codex@openai.com