docs(roadmap): r3 landed — the compare ring and stepping rules, compare mode off the parking lot
The stale v1.1 line for compare pairing is corrected to the 2026-09-24 ruling (pairs are picked, never detected). persistent-memory records r3 live and unpushed, and the open race note for design-dev.
This commit is contained in:
+5
-2
@@ -119,6 +119,8 @@ Where it already binds, and what the rule is in each case:
|
||||
| embed anchors in a verbatim report | **document order** — what `querySelectorAll` yields, so the author's markup decides (U3) |
|
||||
| the embed tail (fragments the author did not place) | **payload order**, which is the marks order `(created, id)` — one rule, whether a fragment lands at an anchor or at the end (U3) |
|
||||
| questions within a pick | declaration order, in the payload's `questions` LIST — carried by the format rather than by object-key insertion order (U3) |
|
||||
| the compare filmstrip | **the compare ring**: the review ring (item order, media only) less any rel compare cannot open, so no strip link offers a pair that 404s (r3) |
|
||||
| compare stepping | along the compare ring, modulo its length; linked moves both sides one place and keeps their distance, unlinked moves the active side only (r3) |
|
||||
|
||||
U3's three rows are the first case where the rule binds across a language
|
||||
boundary: the order is decided in Python and honoured in JavaScript, and a
|
||||
@@ -140,7 +142,8 @@ gallery booths have a subdirectory.
|
||||
(section ordering among themselves, compare pairing) resolved differently:
|
||||
section ordering is MOOT, because U7 renders no section rail — `Item.section`
|
||||
still exists and is still derived, it simply has no ordered surface. Compare
|
||||
pairing rode into v1.1 with compare mode itself. **U6's bench listing is
|
||||
pairing was ruled 2026-09-24: pairs are PICKED, never detected from filenames,
|
||||
and compare landed with r3 (rows above). **U6's bench listing is
|
||||
settled** — the row above.
|
||||
|
||||
The test for any new ordered surface: *can you write the rule down in one line?*
|
||||
@@ -162,7 +165,7 @@ weighed against the v1 path and lost on purpose.
|
||||
|
||||
| item | why parked |
|
||||
|---|---|
|
||||
| ~~**Compare mode**~~ — **UNPARKED 2026-09-23, IN THIS ARC** | Parked as "the only new capability rather than a fix for a measured defect", and **that deferral was ours and the operator overruled it.** design-dev argued it belongs in this arc because the ladders and bakeoffs already need it; the operator ruled `this_arc`. Lands AFTER the Desk and the reel, as a view toggle over the same item record. Recorded so nobody re-parks it by reading an older rule. |
|
||||
| ~~**Compare mode**~~ — **UNPARKED 2026-09-23, LANDED 2026-09-24 (r3)** | Parked as "the only new capability rather than a fix for a measured defect", and **that deferral was ours and the operator overruled it.** design-dev argued it belongs in this arc because the ladders and bakeoffs already need it; the operator ruled `this_arc`. Lands AFTER the Desk and the reel, as a view toggle over the same item record. Recorded so nobody re-parks it by reading an older rule. |
|
||||
| Virtualized / progressive grid loading | Speculative. 270 `<img loading="lazy">` may be fine. **Measure the real booth before optimising it** — if it renders inside a second, this is invented work. |
|
||||
| Bench uptime history + graphs | The v1 need is "is it dead", which one flag answers. A time series is a different product. |
|
||||
| Cross-booth search | No evidence of the need in the usage data. |
|
||||
|
||||
+20
-14
@@ -19,18 +19,22 @@ loop it turned out to actually be.
|
||||
|
||||
_As of 2026-09-24:_
|
||||
|
||||
- 🔶 **WAITING ON design-dev: the r3 (compare mode) contract.** The operator
|
||||
ruled r3 on 2026-09-24, in design-dev's session, as both of us recommended:
|
||||
pairs are PICKED (no filename auto-pairing; design-dev measured it: 1 booth in
|
||||
26 pairs cleanly, and `sindra-h2h` gets none), and the verdict is a FLAG on
|
||||
the winner. So **r3 needs nothing new from `booth_items` or marks.** The
|
||||
compare URL is keyed by REL (`?a=<rel>&b=<rel>`), never by ordinal (our U1
|
||||
note, adopted). Sequencing: design-dev's SVOS phone approval page merges
|
||||
FIRST (operator-approved, pending heid reviews), then the r3 contract. When
|
||||
he pings, do the SEAM PASS on the r3 contract against the real module
|
||||
surface. If the SVOS page lands in THIS repo, its merge still needs the
|
||||
operator's word in this session.
|
||||
- ✅ **LIVE AND PUSHED: origin/main = `d5ead3f`, 888 green.** Tonight landed, in
|
||||
- ✅ **r3 COMPARE IS LIVE, NOT PUSHED** (operator: "merge r3 once the
|
||||
mutation check is clean", 2026-09-24). Fast-forwarded to design-dev's
|
||||
`f8d136a` after our own run of the gate on that exact commit: 918 passed, and
|
||||
148/148 falsifiers proved (r2b 55, r2c 36, r3 57). Service restarted at 1557
|
||||
and checked with `/healthz`, the Desk, `/openapi.json` and an empty-pair 404
|
||||
only. **origin/main is still `d5ead3f`; the push is the operator's call.**
|
||||
Our seam pass on the contract caught 12 mismatches before code, the two that
|
||||
mattered being duplicate `data-region` ids (a save would have made B's flag
|
||||
button flag A) and 22 mutation-table rows anchored in the script that moved.
|
||||
**Open, design-dev's to take or refuse:** the review route calls
|
||||
`cring.index(f)` after a second resolve of `f`, so a file removed or relinked
|
||||
mid-request is a `ValueError` 500 on the review page (a narrow race; compare's
|
||||
`ring.index(a)` is the same shape). The accepted-not-fixed list from the heid
|
||||
bug hunt is in `docs/contracts/r3_compare.contract.md`.
|
||||
- ✅ **PUSHED: origin/main = `d5ead3f`, 888 green** (local main is ahead: the
|
||||
09-24 memory snapshot, r3 and its roadmap commit). On 09-23 landed, in
|
||||
order: r2b merge 1 (`b92b002`, reveal all + booth fog), r2b merge 2
|
||||
(`cce6a20`, Desk row + dates + theme toggle), the Desk sort (`64f6488`), the
|
||||
blur round-trip (`6880ab3`), 768-wide thumbnails (`1d31ab0`), r2c the review
|
||||
@@ -69,8 +73,9 @@ _As of 2026-09-24:_
|
||||
presumably the operator, as he said he would. **Do not blur, unblur or
|
||||
reveal them on his behalf.** The Desk still shows up to 4 images per booth.
|
||||
- 🛑 **NO `1.0.0` YET** (operator, 2026-09-23). The tag stays `1.0.0b1`, with
|
||||
no further pre-release until the arc lands (r3 compare is still in it). ⚠ It
|
||||
has looked complete twice already.
|
||||
no further pre-release until the arc lands. r3 compare, the last unit we
|
||||
held named in it, landed 2026-09-24; **whether that closes the arc is the
|
||||
operator's call, never ours.** ⚠ It has looked complete twice already.
|
||||
- 🛑 **STANDING: NO ANNOUNCEMENTS out of this repo until the whole arc is done,
|
||||
and the operator sends that one himself.** Do not offer, draft-and-await, or
|
||||
raise it.
|
||||
@@ -80,6 +85,7 @@ _As of 2026-09-24:_
|
||||
|
||||
## Recent decisions
|
||||
|
||||
- `[2026-09-24]` ✅ **r3 compare merged on the operator's word, gated by our own run** — fast-forward to `f8d136a` only after 918 green and 148/148 falsifiers on that exact commit, run here rather than taken from design-dev's report. The seam pass is what made the build clean: 12 contract-vs-code mismatches folded before a line was written.
|
||||
- `[2026-09-24]` ✅ **r3 compare ruled: pick two, flag the winner** — operator, in design-dev's session. No `booth_items` or marks work; the URL is rel-keyed. The A/same/B pairwise verdict is **PARKED (deferred)**, with our ordered-pair-of-rels note attached. Tracked in design-dev's r3 contract parked entry, althing thread `01M3952NCDRRJX5XDFSPMSP5HJ`.
|
||||
- `[2026-09-23]` ✅ **The Desk's "Everything else" sorts by last UPDATE, not last activity** — the operator chose the simple fix over repairing `.viewed` from the access log. READ BEFORE CHECKING THE LIVE SERVICE → `persistent-memory.d/2026-09-23-desk-sorts-by-last-update.md`
|
||||
- `[2026-09-23]` ✅ **The blur round-trip, and the migration that recreated the bug it fixed** — three rounds, and the third was our own 09-21 marks lesson repeated. READ BEFORE ANY DOTFILE FORMAT CHANGE → `persistent-memory.d/2026-09-23-blur-round-trip-and-the-migration-that-recreated-it.md`
|
||||
|
||||
Reference in New Issue
Block a user