docs: the four flow rulings, compare unparked, and the beta premise superseded

All four ruled, all four taking design-dev's recommendation, relayed via Miranda
with booth-dev as sole relay. Verbatim copy committed at docs/rulings/ because
the booth holding it will sweep.

Which is the observation worth keeping: answering a pick removes the hold that
was protecting the record. A booth is held while its question is OPEN, so its
lifetime is shortest exactly when it has just become valuable — before the
answer it is a question, after it is the record of a decision, and only the
first state is protected. Both design booths hit this by different routes, one
withdrawn and one answered. Raised to design-dev as a flow question rather than
patched, since flow is his now.

Compare mode leaves the parking lot: our deferral, his overrule, recorded as his
call so nobody re-parks it by reading the older rule.

And v1.0.0b1's 'no new features' promise no longer describes the arc. The tag
stays as written — rewriting a released tag to flatter the present is how a
version stops being evidence — an alpha drop-back is illegal because 1.0.0a2
sorts below 1.0.0b1, and no further pre-release is cut until the arc lands.
This commit is contained in:
vh
2026-09-23 08:12:05 -07:00
parent f87976b54d
commit b46ac02be2
4 changed files with 322 additions and 8 deletions
+20 -8
View File
@@ -1,12 +1,20 @@
# The Booth — roadmap
Design: [`docs/design/information-architecture.md`](docs/design/information-architecture.md).
Current version: `1.0.0b1` (**U1 through U7 landed — every v1 capability is
in**; extracted from eshpfi 2026-09-21). **The v1 target is MET and staged as a
beta** (operator, 2026-09-22): feature-complete, external testing, no new
features — the remaining work is bugs. `1.0.0` final is cut when the beta
survives; per the canonical policy an rc would be cut from the same commit,
but a beta may still take fixes.
Current version: `1.0.0b1` (**U1 through U7 landed**; extracted from eshpfi
2026-09-21).
⚠ **THE BETA'S PREMISE IS SUPERSEDED AND THE TAG CANNOT BE UNSAID.**
`v1.0.0b1` was cut 2026-09-22 promising "feature-complete, no new features, the
remaining work is bugs." On 2026-09-23 the operator ruled a flow redesign and
compare mode into the arc, which are emphatically new features. **The tag stays
as written** — it is an immutable record of what was believed at the time, not a
claim about now — and no further pre-release is cut until the arc lands.
Dropping back to an alpha is not available: `1.0.0a2` sorts BELOW `1.0.0b1`, and
versions do not go backwards.
**Whether `1.0.0` waits for the redesign is the operator's call** and is not
yet made. See the design-arc section.
## v1 target
@@ -143,14 +151,18 @@ weighed against the v1 path and lost on purpose.
| item | why parked |
|---|---|
| **Compare mode** — pair-by-name A/B across subfolders | The best idea in the set, and the only one that is a *new capability* rather than a fix for a measured defect. The four-booth `pancake-v3/v4` dance still works. First thing in v1.1. |
| ~~**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. |
| 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. |
| Per-viewer state (who has seen what) | The Booth has one viewer. Revisit if that stops being true. |
| Auth | Standing non-goal. LAN/mesh-internal. Blur stays cosmetic and says so. |
## Post-v1, already committed
## The design arc — IN SCOPE, not post-v1
⚠ **This section used to be "Post-v1, already committed" and it is not post-v1
any more.** The operator's 2026-09-23 rulings put a flow redesign and compare
mode inside the arc, so the work below is part of what ships, not after it.
- **SVOS theme retrofit by `design-dev` — HANDED OFF AND ACCEPTED 2026-09-22**
(althing thread `01M369321KNBPZ7FYDQGZG7AXP`). Runs as a parallel track, not a
+218
View File
@@ -0,0 +1,218 @@
{
"booth": "booth-flow-concepts",
"mark": {
"id": "flow",
"shape": "pick",
"target": null,
"created": "2026-09-23T07:18:16.254321-07:00",
"declaration": {
"title": "The Booth — round 2: which flow gets built",
"questions": [
{
"key": "direction",
"prompt": "Which flow becomes the Booth?",
"options": [
{
"id": "a_b",
"label": "A + B's reel as the review mode",
"detail": "RECOMMENDED — the Desk + lightbox; full size gets the tape, seen-tracking and the end-of-set summary"
},
{
"id": "a",
"label": "A — The Desk alone",
"detail": "triage index + lightbox + full-size review with filmstrip; no seen-tracking"
},
{
"id": "b",
"label": "B — The Reel",
"detail": "every booth opens as a one-at-a-time review; the grid is secondary"
},
{
"id": "c",
"label": "C — The Bench",
"detail": "compare-first; argued against as the default"
}
]
},
{
"key": "compare",
"prompt": "Compare mode (C as a view toggle):",
"options": [
{
"id": "this_arc",
"label": "Build it in this arc, after A/B land",
"detail": "RECOMMENDED — the ladders and bakeoffs already need it"
},
{
"id": "v11",
"label": "Leave it parked for v1.1",
"detail": "booth-dev's current plan"
}
]
},
{
"key": "voice",
"prompt": "The new copy I'll be writing — which voice?",
"options": [
{
"id": "plain",
"label": "Plain and direct",
"detail": "RECOMMENDED — it's a judgment surface; deadpan only where nothing is at stake (empty states)"
},
{
"id": "deadpan",
"label": "SVOS deadpan villainy throughout",
"detail": "the full SVOS voice"
}
]
},
{
"key": "emblem",
"prompt": "The SVS emblem in the top bar?",
"options": [
{
"id": "no",
"label": "No",
"detail": "RECOMMENDED — a fleet utility; the glowing dot and reticle favicon carry the family look"
},
{
"id": "yes",
"label": "Yes — the square emblem",
"detail": "brands the Booth as part of the SVOS suite"
}
]
}
],
"notes": true
},
"prompt": "The Booth — round 2: which flow gets built",
"title": "The Booth — round 2: which flow gets built",
"multi": true,
"questions": [
{
"key": "direction",
"prompt": "Which flow becomes the Booth?",
"options": [
{
"id": "a_b",
"label": "A + B's reel as the review mode",
"detail": "RECOMMENDED — the Desk + lightbox; full size gets the tape, seen-tracking and the end-of-set summary"
},
{
"id": "a",
"label": "A — The Desk alone",
"detail": "triage index + lightbox + full-size review with filmstrip; no seen-tracking"
},
{
"id": "b",
"label": "B — The Reel",
"detail": "every booth opens as a one-at-a-time review; the grid is secondary"
},
{
"id": "c",
"label": "C — The Bench",
"detail": "compare-first; argued against as the default"
}
],
"notes": false
},
{
"key": "compare",
"prompt": "Compare mode (C as a view toggle):",
"options": [
{
"id": "this_arc",
"label": "Build it in this arc, after A/B land",
"detail": "RECOMMENDED — the ladders and bakeoffs already need it"
},
{
"id": "v11",
"label": "Leave it parked for v1.1",
"detail": "booth-dev's current plan"
}
],
"notes": false
},
{
"key": "voice",
"prompt": "The new copy I'll be writing — which voice?",
"options": [
{
"id": "plain",
"label": "Plain and direct",
"detail": "RECOMMENDED — it's a judgment surface; deadpan only where nothing is at stake (empty states)"
},
{
"id": "deadpan",
"label": "SVOS deadpan villainy throughout",
"detail": "the full SVOS voice"
}
],
"notes": false
},
{
"key": "emblem",
"prompt": "The SVS emblem in the top bar?",
"options": [
{
"id": "no",
"label": "No",
"detail": "RECOMMENDED — a fleet utility; the glowing dot and reticle favicon carry the family look"
},
{
"id": "yes",
"label": "Yes — the square emblem",
"detail": "brands the Booth as part of the SVOS suite"
}
],
"notes": false
}
],
"options": [],
"notes_enabled": true,
"notes_label": "notes",
"answer": {
"stem": "flow",
"title": "The Booth — round 2: which flow gets built",
"answers": {
"direction": {
"prompt": "Which flow becomes the Booth?",
"choice": "a_b",
"choice_index": 0,
"label": "A + B's reel as the review mode",
"notes": ""
},
"compare": {
"prompt": "Compare mode (C as a view toggle):",
"choice": "this_arc",
"choice_index": 0,
"label": "Build it in this arc, after A/B land",
"notes": ""
},
"voice": {
"prompt": "The new copy I'll be writing — which voice?",
"choice": "plain",
"choice_index": 0,
"label": "Plain and direct",
"notes": ""
},
"emblem": {
"prompt": "The SVS emblem in the top bar?",
"choice": "no",
"choice_index": 0,
"label": "No",
"notes": ""
}
},
"unanswered": [],
"complete": true,
"notes": "",
"answered_at": "2026-09-23T08:07:40-07:00",
"answered_by": "100.64.0.4"
},
"text": "",
"flagged": false,
"by": "",
"error": null
}
}
@@ -0,0 +1,68 @@
# The flow rulings, and what they cost the beta
_2026-09-23 · booth_
**All four ruled, all four taking design-dev's recommendation, no notes
attached.** Relayed via Miranda (D-0016) with the instruction that **the
operator will not brief design-dev directly and booth-dev is the SOLE RELAY.**
| question | choice | label |
|---|---|---|
| `direction` | `a_b` | A + B's reel as the review mode |
| `compare` | `this_arc` | Build it in this arc, after A/B land |
| `voice` | `plain` | Plain and direct |
| `emblem` | `no` | No |
Answered `2026-09-23T08:07:40-07:00`, `complete: true`, `unanswered: []`.
**Verbatim copy committed at `docs/rulings/2026-09-23-flow-direction.json`** —
see the durability note below for why that is not belt-and-braces.
## ⚠ ANSWERING A PICK REMOVES THE HOLD THAT WAS PROTECTING THE RECORD
U4's hold predicate is "has an open pick" — a booth waiting on the operator does
not sweep. **The moment he answers, it stops being held**, so a booth's
lifetime is shortest exactly when it has just become valuable: before the answer
it is a question, after the answer it is the RECORD OF A DECISION, and only the
first state is protected.
`booth-flow-concepts` held the ratified design AND the operator's recorded
answer, with `.forever=NO` and zero open picks — sweep-eligible within minutes
of the ruling. Same shape as round 1, arriving by a different route:
`booth-svos-retheme` lost its hold when design-dev WITHDREW his ask; this one
lost it when the operator ANSWERED. Two different actions, one exposure.
The durable copy now lives in git rather than in a booth. **This is not a bug
report against U4** — an answered question genuinely is not waiting on anyone —
but it is a real question about whether "held" is the right predicate for a
booth that has become a record. Flow and requirements are design-dev's now, so
it is his to weigh; raised to him rather than patched by us.
## What the rulings cost the version
**`v1.0.0b1` promised "feature-complete, no new features, the remaining work is
bugs."** A flow redesign plus compare mode is not that. Three things follow:
1. **The tag stays exactly as written.** It records what was believed on
2026-09-22, not a claim about today. Rewriting a released tag to flatter the
present is how a version stops being evidence.
2. **Dropping back to an alpha is NOT available.** `1.0.0a2` sorts BELOW
`1.0.0b1` and versions do not go backwards. The policy's "if you are adding
features to a release candidate, it was never a release candidate" advice has
no legal expression here.
3. **No further pre-release until the arc lands.** Commits accumulate; the next
tag is whatever is honest when there is something to release.
**Whether `1.0.0` waits for the redesign is the operator's and is NOT YET
MADE.** Our recommendation is that it does: he treats this as one arc (the
standing no-announcements ruling says "until the entire arc is done"), and
cutting the 1.0 milestone on a UI he rejected as "still looks like the booth"
would make the milestone mean something he does not endorse.
## Compare mode left the parking lot, and the deferral was OURS
Parked since the v1 gate as "the only new capability rather than a fix for a
measured defect." design-dev argued it belongs in this arc; the operator agreed.
ROADMAP records **that it was his call that moved it**, so nobody re-parks it by
reading the older rule. Practically: the item-record work compare needs is in
scope for us, not deferred, and he tells us what a compare view wants from
`booth_items` rather than working around the current shape.
+16
View File
@@ -59,6 +59,22 @@ _As of 2026-09-22:_
⚠ **Calibration for the next round: his bar is "did anything change when I
opened it".** He said the Booth "kind of looks the same" about our own U7
navigation work, before ever seeing the design round.
- ✅ **ALL FOUR FLOW RULINGS ARE IN — A+B, compare THIS ARC, plain voice, no
emblem** (operator via Miranda D-0016, 2026-09-23 08:07). Every one took
design-dev's recommendation; no notes attached. **booth-dev is the SOLE RELAY
— the operator will not brief design-dev directly.** Verbatim copy at
`docs/rulings/2026-09-23-flow-direction.json`.
→ `persistent-memory.d/2026-09-23-the-flow-rulings-and-what-they-cost-the-beta.md`
- ⚠ **ANSWERING A PICK REMOVES THE HOLD THAT PROTECTED THE RECORD.** A booth is
held while a question is OPEN; the moment it is answered it becomes the record
of a decision and stops being held. Both design booths hit this, by different
routes (one withdrawn, one answered). **Capture a ruling into git, not into a
booth.** Raised to design-dev as a flow question rather than patched.
- ⚠ **`v1.0.0b1`'s "no new features" PREMISE IS SUPERSEDED.** The arc now
contains a flow redesign and compare mode. The tag stays as written (it
records what was believed, not a claim about now), an alpha drop-back is
ILLEGAL (`1.0.0a2` < `1.0.0b1`), and no further pre-release is cut until the
arc lands. **Whether `1.0.0` waits for the redesign is UNDECIDED and his.**
- 🔶 **ROUND 2 IS UP AND FOUR RULINGS ARE WITH THE OPERATOR** — booth
`booth-flow-concepts`, ask `flow`: direction / compare / voice / emblem.
Three directions (Desk, Reel, Bench), six screens each in dark+light, plus a