Record the thirteenth sweep, a full pass over #19

Seven findings at cbccfb6, the largest being a length of zero that printed
as the empty string -- which the twelfth sweep made load-bearing by pointing
Debug at Display, and which scenario::describe rendered as "no rule at all".
Also re-measured the hole Sow::bound's comment recorded: the seeds it named
stopped naming those trees when the leaves grew images, and 600 depth-5
trees now agree with every bound a fraction.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
iris-aiandClaude Opus 5 committed 2026-09-20 22:05:10 -04:00
1 parent b788cd1382
commit e397680a19
2 files changed
+130 -1

No files matched your search

+39 -1
View File
@@ -8,7 +8,7 @@ found is in `docs/LAYOUT_LOG.md`.
Bryan clarified that the built-in attribute should replace the wrapper.
Work is in `/home/bob/repos/iris-deferred`, on `layout/one-ask`, at
`05e6ced` (pushed). Bounds now constrain the offer in `Placing::ask`;
`cbccfb6` (pushed). Bounds now constrain the offer in `Placing::ask`;
declarations are retained as resolved window lengths, so movement does not
decide the bound again.
`.max_width`/`.max_height` now edit the same widget, like the minimum
@@ -53,6 +53,37 @@ and `revision_cost` resize -0.79% in release instruction medians.
the three deferred corpora, 206 and 210 tests, and the cold dump byte-identical
to `2ac0843` across all 34,986 boxes.
## A full sweep of #19 is submitted on it
The thirteenth sweep landed at `cbccfb6`. Unlike the twelve before it, it
read the whole branch rather than one commit, and it is the first review of
`f48e04e`. Seven findings, the largest being that a length of zero printed as
the empty string: `Display for LayoutLen` leaves out each part that is zero,
and `f48e04e` had just pointed `Debug` at `Display`, so a request of zero
printed as nothing in the only place requests are compared -- and
`scenario::describe` printed a `.width(0)` rule as `-`, which is what it
prints for a widget with no rule at all. Also: `Fixed::ceil_from_f32` stepped
past the top of the grid and wrapped, so the largest measurement came back as
the most negative length; `Moves::depth` walked the move chain a second way
with its own copy of `CHAIN_LIMIT`; `Harness::set_len` claimed to set a
length "the way `.width()` sets one" and dropped any bound beside it; three
rigs each spelled "one seed, or a range of them" by hand; `diag::outside`
could count a refused reuse and explain it with nothing; and
`cases/deferred` sat outside `suite.rs`'s alphabetical list.
It also re-measured a recorded hole. `Sow::bound` grows bounds in pixels
because two depth-5 trees once disagreed warm against cold with fractions in
them -- named by seed, and `generated.rs` says in its own comment that seeds
stopped naming those trees when the leaves grew images. 600 depth-5 trees
over all sixteen cases now agree with every bound a fraction (93.18s). The
generator still grows pixels, because `deferred_generated.rs` already varies
that dimension and growing fractions here would move every box in the cold
dump; the comment says that instead of describing an open defect.
`docs/LAYOUT_LOG.md` has all seven, with the five things the sweep looked at
and left. Verified: format, clippy both ways, 208 and 212 tests, and the
cold dump byte-identical to `f48e04e` across all 34,986 boxes.
## A quality sweep of the request arena is submitted on PR #19
The twelfth sweep landed at `f48e04e`. It is the first review of `05e6ced` --
@@ -203,6 +234,9 @@ comparison work above, its review rounds past `cadfba0` are described in
the fold written twice and an `Arc` where nothing shares.
- **The request arena's own sweep**, `f48e04e` -- the join that copies one
request's nodes into another's, which nothing in the suite ran.
- **A full sweep of the branch**, `cbccfb6` -- a length of zero that printed
as nothing, a ceiling that stepped off the top of the grid, and a harness
setter that dropped the bound beside the length it set.
The settled design of the vocabulary rounds is in `docs/LAYOUT.md` under
"Three names, and the one argument that says them". Bryan settled the API
@@ -295,6 +329,10 @@ a compile error, which reads exactly like a fuzzer failure.
nothing and still look covered, since every test around it passes. Put a
`panic!` in the arm and run the suite; it costs one build and it answers
the question the test names cannot.
The thirteenth adds a fifth, about the record rather than the code: a
comment describing an open defect by the seed that found it stops being
true the moment the generator changes, and `generated.rs` says so in its
own comment. Re-run the measurement before repeating what one says.
2. **A review of everything written before the review gate existed.**
`pre-submit-review` and the rule that nothing is submitted unreviewed
arrived on 2026-09-13, well after the Rust port and most of Iris were