Skip to content

tri orphaned: inputs named in code that are not in the tree - #2805

Merged
gHashTag merged 2 commits into
masterfrom
w703-orphaned-checks
Aug 29, 2026
Merged

tri orphaned: inputs named in code that are not in the tree#2805
gHashTag merged 2 commits into
masterfrom
w703-orphaned-checks

Conversation

@gHashTag

Copy link
Copy Markdown
Owner

Refs #2762, #2804

Removing a check's input does not make it fail — it makes it quiet (skill 197). This looks for that shape by reading path-shaped literals in gate, tool and CLI sources and asking whether they exist.

The control failed, and is documented rather than tuned away

Run against the commit before #2796's fix, it finds zero of one. That path was built as

let json = emitted.join("formats_catalog.json");          // no slash
... .unwrap_or_else(|| Path::new("gen/numeric"))          // no extension

Neither literal is a path by this command's test, and the assembled one never appears as a literal at all.

Following join chains through variables is a dataflow problem. A heuristic stretched until it hits its own motivating example has stopped being evidence (skill 177) — so the miss is in the module docs and the matcher is unchanged.

It earned its place on a different case

bootstrap/src/main.rs:3530, inside run_server ("Start HTTP server on Railway"):

ServeDir::new("public").not_found_service(ServeFile::new("public/index.html"))

public/ is not gitignored and no commit has ever touched it. The static fallback and the 404 page both point at a directory that has never existed. Filed as #2804.

Precision took three passes, each measured

hits
naive — every path literal that does not exist 126
+ skip comments and self-check fixtures 89
+ real extension list, reject regex source, brace-counted test regions 21

The third fixed a leak worth naming: after #[test], the fn on the next line closed the fixture region and 41 fixture paths came back in — including this file's own test assertions. A detector that cannot exclude its own test module is not ready to be believed about anything else.

Five unit tests, two of them for what it must not match.

cargo test (tri)   245 passed, 0 failed
clippy, fmt        clean on the new file

🤖 Generated with Claude Code

…n the tree

Removing a check's input does not make it fail, it makes it quiet (skill 197).
This looks for that shape by reading path-shaped literals in gate, tool and CLI
sources and asking whether they exist.

THE CONTROL FAILED, AND IS DOCUMENTED RATHER THAN TUNED AWAY. Run against the
commit before W702's fix it finds ZERO of one: that path was built as
`emitted.join("formats_catalog.json")` -- a literal with no slash -- beside
`Path::new("gen/numeric")`, a literal with no extension. The assembled path never
appears as a literal at all.

Following join-chains through variables is a dataflow problem. A heuristic
stretched until it hits its own motivating example has stopped being evidence, so
the miss is in the module docs and the matcher is unchanged.

IT EARNED ITS PLACE ON A DIFFERENT CASE. `bootstrap/src/main.rs:3530`:

    ServeDir::new("public").not_found_service(ServeFile::new("public/index.html"))

`run_server` is "Start HTTP server on Railway". `public/` is not in .gitignore
and NO COMMIT HAS EVER TOUCHED IT -- the static fallback and the 404 page both
point at a directory that has never existed.

PRECISION TOOK THREE PASSES, each measured:

    126 hits   naive: every path literal that does not exist
     89 hits   + skip comments and self-check fixtures
     21 hits   + a real extension list (v0.1 and github.io are not paths),
               + reject regex source, + a brace-counted test region

The third fixed a leak worth naming: after `#[test]`, the `fn` on the next line
closed the fixture region, and 41 fixture paths came back in. A detector that
cannot exclude its own test module is not ready to be believed about anything
else -- its own assertions were in the report.

Five unit tests, two of them for what it must NOT match.

    cargo test (tri)   245 passed, 0 failed
    clippy, fmt        clean on the new file

Refs #2762

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

📓 NotebookLM Notebook linked to this PR

This notebook contains session context, decisions, and artifacts for this work.

@github-actions

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-08-29 11:41:15 UTC

Summary

Status Count
Total Open PRs 8
PRs with Failing Checks 7
PRs with All Checks Green 1
READY 0
FAILING 7
PENDING 0

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=d25ac0cc159e != manifest seal=87e5cbd3ad94.
    The committed NMSE numbers were certified against an older compiler.rs.
    Run scripts/reseal-check.sh locally for the two-step reseal command (advisory; not a merge gate).

@github-actions

Copy link
Copy Markdown
Contributor

📓 NotebookLM Notebook linked to this PR

This notebook contains session context, decisions, and artifacts for this work.

@github-actions

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-08-29 11:51:57 UTC

Summary

Status Count
Total Open PRs 8
PRs with Failing Checks 7
PRs with All Checks Green 1
READY 0
FAILING 7
PENDING 0

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=d25ac0cc159e != manifest seal=87e5cbd3ad94.
    The committed NMSE numbers were certified against an older compiler.rs.
    Run scripts/reseal-check.sh locally for the two-step reseal command (advisory; not a merge gate).

@gHashTag
gHashTag merged commit a91b007 into master Aug 29, 2026
33 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant