Skip to content

feat(tri): local wave commands that work without a built compiler - #2244

Merged
gHashTag merged 6 commits into
masterfrom
tri-wave-commands-w935
Aug 20, 2026
Merged

feat(tri): local wave commands that work without a built compiler#2244
gHashTag merged 6 commits into
masterfrom
tri-wave-commands-w935

Conversation

@gHashTag

Copy link
Copy Markdown
Owner

Closes #2243

tri resolved t27c before dispatching anything, so every subcommand died with "t27c not found" on a machine where the compiler is not built -- the exact state a machine is in when the compiler is what you are fixing. Five local commands now dispatch first:

command what it answers
tri wave branch, HEAD, dirt, free space, lesson/theorem counters, is t27c built
tri disk [--min GIB] free-space gate; exits 1 below the floor (default 2 GiB)
tri ci [SLUG ...] live (non-completed) CI runs, defaults to this repo's origin
tri lesson "T" "B", --check append the next-numbered lesson to the wave-loop skill; audit numbering
tri theorem [--check] next theorem number; audit T-numbering

The checkers found their own bug first. theorem --check v1 reported 180+ duplicate theorems and lesson --check two out-of-order lessons. All false: T709a/T709b are distinct sub-theorems (the regex matched T709 inside them), and **88.03% on Fashion** is bold prose, not lesson 88. Anchored on the whole identifier -- T[0-9]+[a-z]*, and the space only a real header has -- both corpora come back clean: 997 theorem headings, monotonic, zero collisions; 629 lessons, no gaps.

Verified: bash -n; every subcommand exercised; tri disk --min 999 exits 1; tri ci listed live runs in both repos; tri lesson wrote its own lesson about the false collisions. Compiler passthrough byte-identical (tri test -> t27c suite --repo-root).

🤖 Generated with Claude Code

@gHashTag
gHashTag enabled auto-merge (squash) August 19, 2026 16:48
gHashTag pushed a commit that referenced this pull request Aug 19, 2026
… false alarms are lesson 1402 (Refs #1959)

tri wave/disk/ci/lesson/theorem dispatch before t27c is resolved, so they work
on a machine where the compiler is not built. Landed to master as #2244.

The numbering checkers reported 180+ collisions on their first run; every one
was their own regex (T709 matched inside T709a, lesson 88 inside **88.03%**).
Lesson 1402 records it -- written by tri lesson itself.

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-19 19:04:47 UTC

Summary

Status Count
Total Open PRs 31
PRs with Failing Checks 15
PRs with All Checks Green 16
READY 9
FAILING 15
PENDING 0

Seal Status

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

This was referenced Aug 19, 2026
claude and others added 6 commits August 20, 2026 07:36
…oses #2243)

tri resolved t27c before dispatching anything, so every subcommand died with
"t27c not found" on a machine where the compiler is not built -- the exact
state a machine is in when the compiler is what you are fixing.

wave/disk/ci/lesson/theorem now dispatch first and need no compiler. disk is a
free-space gate (ENOSPC killed two autonomous sessions). lesson/theorem --check
audit numbering; the first version reported 180+ false collisions because it
matched T709 inside T709a and lesson 88 inside **88.03%** -- fixed to anchor on
the whole identifier, and both corpora then come back clean.

Passthrough unchanged.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
An unattended loop checks the same things every cycle: free space above the
floor, tree clean, work pushed, lesson and theorem numbering intact. `tri audit`
runs all of them and exits non-zero on a real failure, so a cron wave can gate
on it instead of re-deriving the checks by hand.

The push check compares against origin/<branch>, not @{upstream}: a worktree
branch is frequently configured to track master, and its first version reported
"62 commits not pushed" -- a true count against the wrong ref. It now prints the
ref it compared against, because a count without its reference point is noise.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
'Have I learned this before' is the question an unattended loop asks most often
and answers worst. tri recall greps the HEADINGS only, so the answer fits on a
screen instead of dumping the corpus.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The most-used operation of the last three waves of area work, and it never needed
the compiler: LUT, CARRY4, MUXF and FF counts for a top, from local yosys.

Counting CARRY4 alongside LUT is the point -- a constant-add decoder lands
entirely on the carry chain and a LUT-only census reports it as free.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The loop re-reads its own conclusions constantly and the two files are 12k and
28k lines, so tail-with-context was the wrong tool. tri last prints the headings
only.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
… reports

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@gHashTag
gHashTag force-pushed the tri-wave-commands-w935 branch from d7ba747 to 0b1eb3b Compare August 20, 2026 00:36
@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-20 00:36:55 UTC

Summary

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

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=cbbfac87dff3 != 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 a986105 into master Aug 20, 2026
17 of 20 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.

tri: local wave commands (wave/disk/ci/lesson/theorem) that work without a built compiler

2 participants