Skip to content

t27f: dependencies view -- the specs around one spec (Closes #10680) - #10681

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

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

Conversation

@gHashTag

Copy link
Copy Markdown
Owner

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.t27 does that. It reads the existing t27c use-edges --specs-dir specs list, with no compiler change, and imports its set helpers from specs/ci/affected.t27 rather than copying them.

The rules

  • Layer 0 is the focus. Layer +k holds the specs k imports away, drawn to the right. Layer -k holds the specs k importers away, drawn to the left.
  • Each spec appears once, in its shortest-path layer, in edge-list order.
  • Every edge-list line between two drawn specs is one exact edge. A line the list repeats is drawn once.
  • cycle=1 when the focus imports itself, or when a spec in its own import closure imports it.
  • A walk past the caller's room or the requested depth is refused whole, as refused\tfull or refused\tdeep. It is never cut short silently.
  • The output is numbers only: node\tlayer\tx\ty\tpath and edge\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.
  • Mutation control: 4 mutants, all caught.
mutant tests failing
return true → false 10
always print an edge 2
no DEEP refusal 2
COL_STEP → ROW_STEP 1
  • t27c 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.

  • No walk was refused at the default depth of 32.
  • Import depth histogram: 0:121, 1:560, 2:77, 3:16, 4:11, 5:16, 6:5. The deepest is lesson_reel.t27, at 6 layers and 18 specs.
  • Importer depth histogram: 0:551, 1:175, 2:44, 3:22, 4:7, 5:5, 6:2. The deepest is verified/reuse.t27, at 6 layers and 50 specs.
  • Widest import sets: network/mvp_v3 with 23, then hosting/panel with 22. Most importers: base/types with 400, then math/constants with 244.
  • One real cycle. specs/igla/race/backend.t27 and specs/igla/race/rtl.t27 import each other. Both are flagged, and a fixture test mirrors the pair. The issue body first said there was no cycle. tsort reports 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 t27b row is pass, by analogy with specs/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 arm64 t27b-native-ratchet job is the check for this row.

Not covered

🤖 Generated with Claude Code

…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>
@github-actions

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-10-18 22:04:09 UTC

Summary

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

These columns do not partition: 2 + 46 + 0 + 0 = 48, 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).

@gHashTag
gHashTag enabled auto-merge (squash) October 18, 2026 22:04
@gHashTag
gHashTag merged commit 40b59d3 into master Oct 18, 2026
35 of 37 checks passed
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>
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: dependencies view -- spec_deps.t27 lays out one spec's imports and importers from t27c use-edges

1 participant