Skip to content

spec(t27f): raise SpecGraph capacity to 192 nodes and 254 edges (Closes #10180) - #10181

Merged
gHashTag merged 1 commit into
masterfrom
claude/t27f-graph-caps
Oct 18, 2026
Merged

gHashTag merged 1 commit into
masterfrom
claude/t27f-graph-caps

Conversation

@gHashTag

Copy link
Copy Markdown
Owner

Closes #10180

SpecGraph held 20 nodes and 24 edges, so the exporter (#10173) refused most real specs. This raises the caps to 192 nodes and 254 edges.

Measurement (Railway lab, no Mac builds)

  • All 2204 specs/**/*.t27 files, top-level declarations per spec: p50 20, p90 66, p95 96, p98 183, p99 436, max 678 (symbol-based count, not the exporter).
  • Edges through the real exporter on an 86-spec stratified sample (scratch build with enlarged caps): p50 at most 12, p95 at most 128, 85 of 86 at most 192, the largest between 193 and 256.
  • Node and edge endpoints are u8 and NO_INDEX is 255, so both caps stay below 255: MAX_EDGES is the largest allowed value, MAX_NODES = 192 covers about p98.
  • Specs above the cap (about 2 percent by nodes) are still refused, never truncated.

Changes

  • spec_graph.t27: MAX_NODES 192, MAX_EDGES 254, arrays and blank_graph widened, measured numbers documented, MEASURED_*_P95 constants, an invariant that the caps stay below NO_INDEX and cover p95. capacity_is_refused_not_truncated is now cap-relative; new a_graph_exactly_at_capacity_is_valid.
  • spec_graph_export.t27: name-span arrays widened; the two capacity tests now use generated-size sources (192 vs 193 nodes, 254 vs 256 edges).
  • spec_graph_view.t27: new test at node capacity (canvas grows in height only, no overlap in a column). Layout code unchanged.
  • .claude/skills/t27f/SKILL.md: limits updated.

Lab verification

  • t27c test-report: spec_graph 14/14, spec_graph_view 9/9, spec_graph_export 20/20, 0 vacuous in each.
  • t27b test --check under qemu-aarch64: every test PASS in all three specs.

Only .t27 and prose changed; no non-t27 code.

🤖 Generated with Claude Code

#10180)

Measured on the Railway lab over 2204 specs: top-level declarations per spec
p50 20, p90 66, p95 96, p98 183; edges p95 at most 128 on an 86-spec sample.
MAX_NODES 20 -> 192, MAX_EDGES 24 -> 254 (u8 endpoints, NO_INDEX 255).
Cap-relative refusal tests, an at-capacity valid test in spec_graph, generated
at-cap and over-cap sources in the exporter, a node-capacity layout test in
the view, and an invariant that the caps cover the measured p95.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-10-18 03:19:36 UTC

Summary

Status Count
Total Open PRs 50
PRs with Failing Checks 49
PRs with All Checks Green 1
READY 0
FAILING 49
PENDING 0
NO CHECKS YET 0

These columns do not partition: 0 + 49 + 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)=3b53d48ddb52 != 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 8887f17 into master Oct 18, 2026
26 of 29 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.

spec(t27f): raise SpecGraph capacity to 192 nodes and 254 edges so the exporter holds real specs

1 participant