Skip to content

t27f: deps view writes unresolved use lines as unknown (Closes #10702) - #10704

Merged
gHashTag merged 1 commit into
masterfrom
claude/t27f-deps-unknown
Oct 18, 2026
Merged

gHashTag merged 1 commit into
masterfrom
claude/t27f-deps-unknown

Conversation

@gHashTag

Copy link
Copy Markdown
Owner

Closes #10702

The T27F dependencies view drew only the use lines that t27c use-edges resolves. A use line that resolves to no spec was left out without saying so, which breaks the exact / derived / suggested / unknown labelling rule (gHashTag/trinity#1649).

What changes

  • specs/t27f/spec_deps.t27: new deps_unknown(edges, focus, root, src, out, cap). It reads the focus spec's source next to the edge list and writes one unknown<TAB>path line for each use line that has no edge to its whole path or to its single fallback. The reading follows bootstrap/src/use_resolve.rs (use_path_expr, use_path, brace_module, use_target): it strips a // comment, trailing ; and spaces; maps :: and . to /; reads a brace list as the module before the brace; and falls back exactly one level. Nothing is guessed from file names. An output that does not fit is refused whole (cap + 1).
  • New tests: a whole module, an item form, a brace list, a trailing comment, a dotted path, a two-level item that must not fall back, an all-resolved negative control, and a too-small buffer.
  • The header's "honest limits" now describes deps_unknown, along with a new measurement.
  • Seal refreshed.
  • .claude/skills/t27f/SKILL.md: the deps row is updated, and a new recipe shows how to check deps_unknown against the compiler's own warnings.

Evidence (Railway lab)

  • Spec: 25/25 tests, 0 vacuous. dupe_scan: no new duplicate body.
  • Corpus oracle, master f33f269: 2466 edges and 2489 use lines. deps_unknown writes 23 unknown lines in 13 specs, byte for byte the t27c gen warnings use X resolves to no spec. Two controls fail as they should: the same list minus one line, and an empty expectation. t27c gen: a use it cannot resolve exits 0 and drops the import #7176 had counted 119 such lines in 70 specs.
  • t27c suite --ratchet --corpus-only: RATCHET CLEAN, EXIT=0.

Out of scope

🤖 Generated with Claude Code

…Closes #10702)

deps_unknown reads the focus spec's source next to the use-edges list and
writes one `unknown<TAB>path` line per use line with no edge to its whole
path or its single fallback, mirroring bootstrap/src/use_resolve.rs.

Measured on the Railway lab, master f33f269: 2489 use lines, 23 unknown
in 13 specs, byte for byte the `t27c gen` "resolves to no spec" warnings;
the drop-one and empty controls both fail. Spec 25/25 tests, 0 vacuous;
corpus ratchet CLEAN. The t27f skill gains the oracle recipe.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@gHashTag
gHashTag enabled auto-merge (squash) October 18, 2026 23:01
@github-actions

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-10-18 23:01:28 UTC

Summary

Status Count
Total Open PRs 50
PRs with Failing Checks 45
PRs with All Checks Green 5
READY 4
FAILING 45
PENDING 0
NO CHECKS YET 0

These columns do not partition: 4 + 45 + 0 + 0 = 49, and there are 50 open PRs. A PR is being counted twice or not at all.

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=fad12492937a != 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).

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.

t27f: the dependencies view drops use lines t27c cannot resolve; draw them as unknown

1 participant