Repository navigation
t27f: dependencies view -- the specs around one spec (Closes #10680) - #10681
Merged
Merged
Conversation
…dges (Closes #10680) specs/t27f/spec_deps.t27 lays out what a spec imports (layers to the right) and who imports it (layers to the left), every edge exact, with a cycle flag through the focus and a whole refusal past the caller's room or depth. 13 tests, 4 mutants caught on the lab. Corpus run over 806 specs found the igla race backend <-> rtl mutual import. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
gHashTag
enabled auto-merge (squash)
October 18, 2026 22:04
gHashTag
added a commit
that referenced
this pull request
Oct 18, 2026
…loses #10685) (#10688) #10681 merged with duplicate-bodies red: deps_len had the same body as lit_len in specs/claw/t27f_gate.t27. The copy is deleted and lit_len is imported. No bless. On the Railway lab: dupe_scan ok, test-report 13 of 13, seal refreshed. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
7 of 8 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #10680
T27F's RFC (gHashTag/trinity#1649) names a dependencies view. Until now nothing laid out the specs around a spec.
specs/t27f/spec_deps.t27does that. It reads the existingt27c use-edges --specs-dir specslist, with no compiler change, and imports its set helpers fromspecs/ci/affected.t27rather than copying them.The rules
exactedge. A line the list repeats is drawn once.cycle=1when the focus imports itself, or when a spec in its own import closure imports it.refused\tfullorrefused\tdeep. It is never cut short silently.node\tlayer\tx\ty\tpathandedge\ta\tb\texact. A host does the drawing.Verification (Railway lab, master e607228)
t27c test-report: 13 of 13 tests pass. Negative controls: a DAG raises no flag, and a cycle the focus is not on raises no flag.return true→falseCOL_STEP→ROW_STEPt27c seal --save: the seal is committed, 13 of 13 passed, 0 vacuous.Corpus measurement
A lab-only scratch printer (not committed) ran both walks for every spec in the edge list: 806 specs, 2461 edge lines.
lesson_reel.t27, at 6 layers and 18 specs.verified/reuse.t27, at 6 layers and 50 specs.network/mvp_v3with 23, thenhosting/panelwith 22. Most importers:base/typeswith 400, thenmath/constantswith 244.specs/igla/race/backend.t27andspecs/igla/race/rtl.t27import each other. Both are flagged, and a fixture test mirrors the pair. The issue body first said there was no cycle.tsortreports loops on stderr and only stdout had been read, so that body is now corrected, and the trap is written into the skill.Ledger
The
t27brow ispass, by analogy withspecs/ci/affected.t27, which uses the same array and slice patterns. Not run here: t27b's JIT runs only on arm64, and the lab is x86. The arm64t27b-native-ratchetjob is the check for this row.Not covered
uselines that t27c does not resolve are not drawn (t27c gen: a use it cannot resolve exits 0 and drops the import #7176).🤖 Generated with Claude Code