Repository navigation
spec(ml): arena heap + file I/O contract; adamw compiles via the arena (Closes #10077) - #10088
Merged
Merged
Conversation
Closes #10077) - specs/ml/arena_heap.t27: bump allocator over a caller-owned array; alloc returns an offset, reset, mark/release, high-water mark, OOM is a returned code. 10/10 tests, 1 invariant, 0 vacuous on the lab. - specs/ml/file_io_contract.t27: open/read/write/close as pure functions over a byte array plus a checkpoint round trip. 10/10, 0 vacuous. - specs/ml/optimizer/adamw.t27: rewritten without allocate_array; moments are carved from the arena. 12/12, 0 vacuous (was BLOCKED). - specs/igla/own_model.t27 (+ board mirror): 7 of 17 ML specs compile (was 6); cell 22 share 35 -> 41. Cells 24/25 stay gaps; the Rust backend is #10085 and waits for the owner-approved-foreign label. - Reseal AdamW. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…(Refs #10077) - tokens_write/tokens_read: u32 ids, 4 bytes little endian, every size problem a code (ALIGN, SIZE, FULL, NOENT). - mslh_header_put/get, mslh_write_header/mslh_read_header: 16-byte header with magic MSLH; defined here, no MSLH file format exists elsewhere in the repo, so it is not a checked match for any existing file. - 12/12 tests, 0 vacuous on the lab; 9 of 9 new-code mutants killed. - own_model.t27 wording updated; its 8 tests still pass. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This was referenced Oct 17, 2026
This was referenced Oct 17, 2026
spec(policy): l2_generation -- gen/json/ is t27c gen-json's backend directory (Closes #10079)
#10082
Merged
Contributor
This was referenced Oct 17, 2026
Merged
Merged
gHashTag
enabled auto-merge (squash)
October 17, 2026 19:31
… IoHandle (type-name ratchet) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Contributor
PR DashboardGenerated at: 2026-10-17 19:47:39 UTC
Summary
Seal Status
|
…three new ml specs in the t27b ledger adamw.t27 no longer defines OptimizerStepResult. arena_heap, file_io_contract and adamw are reference-pass and t27b-blocked, so each gets an unimplemented row and max_not_pass rises by those three rows. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Contributor
PR DashboardGenerated at: 2026-10-17 19:54:35 UTC
Summary
Seal Status
|
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 #10077. Part of #10024.
What
specs/ml/arena_heap.t27(new): bump allocator over a caller-owned array. Alloc returns an offset, plus reset, mark/release, high-water mark. Out of memory, bad size, bad alignment and bad mark are returned codes, and the arena is unchanged on error.specs/ml/file_io_contract.t27(new): open/read/write/close as pure functions over a byte array (4 slots x 256 bytes, all-or-nothing writes, write-open truncates), plus a "T27C" checkpoint round trip (16-byte header, f32 bit patterns, 4-byte byte-sum checksum).specs/ml/optimizer/adamw.t27(rewritten): noallocate_array; the moments m, v and the AMSGrad maximum are carved from the arena. Dropped the GF16 block, its benches and the ablation scaffold; the header lists the non-claims.specs/igla/own_model.t27and its board mirror: 7 of 17 ML specs compile (was 6), so cell 22 share goes 35 -> 41. Cells 24 and 25 stay gaps: these are specs, not a t27c backend..trinity/seals/AdamW.json,optimizer_AdamW.json: resealed on the lab (were "blocked allocate_array").Measured on the Railway lab (
t27c test-report)Mutation check on the new and rewritten specs: 21 hand-made mutants (off-by-one alignment, OOM boundary, high-water, truncate, byte order, checksum, decay, bias correction, AMSGrad max and others); 20 killed by tests, the last (high-water assignment) killed by the comptime invariant.
Still blocked in the 17:
nn/attention(PHI_CUBED_INV) and the coder specs, which another session owns.Not in this PR
The Rust backend. Owner ruling: .t27 only, so no Rust. What stays missing is a real host file descriptor and the
--backend mldispatch, both of which need bootstrap Rust. That blocker is recorded in #10085, and cells 24 and 25 stay gaps.🤖 Generated with Claude Code