Audit: correct the W1 status — it is not closed, and two rows were stale - #515
Conversation
Verified against `main` rather than recalled. Three documents carried a W1 picture that no longer matched the code. ── W1.1 row said "Design landed" ── Four of six steps have landed since: (1) `!tile.fragment` parameterized (#502), (2) `MMAOp::verify` reads the contract from the types so the canonical K-loop verifies (#503), (2b-guard) NVWGMMA refuses an mma carrying an accumulator rather than silently dropping it (#506), (3a) the materializer can mask a ragged edge and the bounded `tile.view` arity is defined in the SHARED verifier (#510). Open: 2b's real accumulator threading, step 3 producer restructure, step 4 Python emitters, step 5 delete the permissive branch. The row now states the BLOCKER rather than an effort estimate: `fragment_pack` requires a `!tile.tile` and zero producers supply one, so step 3 is a rewrite of working numerically-verified generators and step 5 is unreachable until it completes. ── W1.1b row's premise was measured wrong ── It said "62 x $name, 4 x $kind, 1 x $mode". Measured: 17 ops carry `$kind`, three are `I64Attr` rather than strings, and 14 of 17 ALREADY fail closed in their generators. `$name` is the emitted kernel symbol -- an open, caller-chosen set -- so enumerating it would reject valid programs; it is deliberately left a free string. Landed: `$dtype` split into three per-op-family constraints (#499), reduction and mode closed sets (#499), and the three `$kind` ops that failed OPEN closed (#505) -- `predicate`, `optimizer`, `clifford`, each of which had a trailing `else` doubling as an unnamed semantic default, so a typo silently computed `isfinite`, trained with Adam, or evaluated the geometric product. Open: hoisting the other 14 sets into ODS -- layering, not correctness. ── MASTER_AUDIT said "W1.1b / W1.3 / W1.4 are untouched" ── All three have landed work; W1.3 and W1.4 are complete. Corrected in place with the date and the reason, per Decision #26 (do not read prose as a snapshot). ── Added: a W1 status block ── The five rows did not answer "what is really open" without reconstruction. The section now leads with a verified status table and the open work in DEPENDENCY order, noting that items 1-4 are one chain (producer restructure -> accumulator threading -> Python emitters -> delete permissive branch) and only the W1.1b ODS hoist can proceed in parallel. Docs only. 14444 unit, docs in sync. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e171376201
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Both findings correct, and the first is an overstatement of mine.
── P2: "4 of 6 steps landed" counted things that are not numbered steps ──
The design doc's step table is 1, 2, 2b, 3, 4, 5, 6, and only 1 and 2 are marked
Landed. I reached "4 of 6" by counting:
* the 2b GUARD -- but step 2b itself is explicitly still open ("bigger than
accept a block argument"); the guard makes NVWGMMA fail closed, it does not
thread the accumulator;
* 3a -- which is not in the step table at all. I invented it as a prerequisite
for option (a).
Accurate count is 2 of 6. Both are real landed work and are now listed as such,
under a heading that says plainly they are not numbered steps and that counting
them is how the "4 of 6" arose.
I also omitted STEP 6 entirely from the open-work list: removing unexplained
`AnyType` from `tessera_nvidia` (3/3) and `tessera_apple` (12/12), with
`tessera_x86` (0/0) as the reference shape. That is the sharper half of the
finding -- dropping a step from the queue is how still-required Target IR work
disappears, and it is independent of the producer chain rather than blocked
behind it. Restored to the plan, the W1.1 row, and MASTER_AUDIT.
── P2: stale frontmatter feeding the freshness dashboard ──
The plan and MASTER_AUDIT still declared `last_updated: 2026-08-02` while
carrying explicitly dated 2026-08-04 corrections, and the design doc declared
2026-08-03 while carrying the 08-04 sections §4.3-§4.5. That field feeds
`docs_freshness`, so the dashboard reported freshly-reviewed documents as older
than they are. All three set to 2026-08-04 and the dashboard regenerated.
Docs only. 14444 unit, docs in sync.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
Both correct. Fixed — and the first was an overstatement of mine, not a wording quibble. The step countThe design doc's table is 1, 2, 2b, 3, 4, 5, 6, and only 1 and 2 are marked Landed. I reached "4 of 6" by counting two things that are not numbered steps:
Accurate count is 2 of 6. Both remain listed as real landed work, now under a heading stating plainly that they aren't numbered steps and that counting them is how "4 of 6" arose. Step 6 — the sharper halfI omitted it entirely: removing unexplained You're right about the consequence. Dropping a step from the open-work list is exactly how still-required Target IR work disappears from the owning queue — and worse here, because step 6 is independent of the producer chain, not blocked behind it. So the omission would have hidden the one remaining W1.1 item that could have proceeded in parallel the whole time. Restored to the plan, the W1.1 row, and MASTER_AUDIT. FrontmatterConfirmed: the plan and MASTER_AUDIT declared Docs only. 14444 unit, docs in sync. |
Verified against
main, not recalled. Three documents carried a W1 picture that no longer matched the code.W1 status — not closed
$kindW1.1 row said "Design landed"
Four steps have landed since:
!tile.fragmentparameterized (#502);MMAOp::verifyreads the contract from the types so the canonical K-loop verifies (#503); NVWGMMA refuses an mma carrying an accumulator rather than silently dropping it (#506); the materializer can mask a ragged edge, with boundedtile.viewarity in the shared verifier (#510).The row now states the blocker instead of an effort estimate:
fragment_packrequires a!tile.tileand zero producers supply one, so step 3 is a rewrite of working numerically-verified generators, and step 5 is unreachable until it completes.W1.1b's premise was measured wrong
It said "62 ×
$name, 4 ×$kind, 1 ×$mode". Measured: 17 ops carry$kind, 3 areI64Attr, and 14 of 17 already fail closed.$nameis the emitted kernel symbol — an open, caller-chosen set — so enumerating it would reject valid programs.Landed:
$dtypesplit into three per-family constraints (#499),reduction/modeclosed sets (#499), and the three$kindops that failed open closed (#505) — each had a trailingelsedoubling as an unnamed semantic default, so a typo silently computedisfinite, trained with Adam, or evaluated the geometric product.Open: hoisting the other 14 into ODS — layering, not correctness.
MASTER_AUDIT said "W1.1b / W1.3 / W1.4 are untouched"
All three have landed work; two are complete. Corrected in place with the date and reason, per Decision #26.
Added: a W1 status block
The five rows didn't answer "what is really open" without reconstruction. The section now leads with a verified table and the open work in dependency order — items 1–4 are one chain (producer restructure → accumulator threading → Python emitters → delete permissive branch); only the W1.1b ODS hoist can run in parallel.
Docs only. 14444 unit, docs in sync.
🤖 Generated with Claude Code