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:
+20
-8
@@ -1,12 +1,20 @@
|
|||||||
# The Booth — roadmap
|
# The Booth — roadmap
|
||||||
|
|
||||||
Design: [`docs/design/information-architecture.md`](docs/design/information-architecture.md).
|
Design: [`docs/design/information-architecture.md`](docs/design/information-architecture.md).
|
||||||
Current version: `1.0.0b1` (**U1 through U7 landed — every v1 capability is
|
Current version: `1.0.0b1` (**U1 through U7 landed**; extracted from eshpfi
|
||||||
in**; extracted from eshpfi 2026-09-21). **The v1 target is MET and staged as a
|
2026-09-21).
|
||||||
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
|
⚠ **THE BETA'S PREMISE IS SUPERSEDED AND THE TAG CANNOT BE UNSAID.**
|
||||||
survives; per the canonical policy an rc would be cut from the same commit,
|
`v1.0.0b1` was cut 2026-09-22 promising "feature-complete, no new features, the
|
||||||
but a beta may still take fixes.
|
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
|
## v1 target
|
||||||
|
|
||||||
@@ -143,14 +151,18 @@ weighed against the v1 path and lost on purpose.
|
|||||||
|
|
||||||
| item | why parked |
|
| 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. |
|
| 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. |
|
| 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. |
|
| 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. |
|
| 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. |
|
| 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**
|
- **SVOS theme retrofit by `design-dev` — HANDED OFF AND ACCEPTED 2026-09-22**
|
||||||
(althing thread `01M369321KNBPZ7FYDQGZG7AXP`). Runs as a parallel track, not a
|
(althing thread `01M369321KNBPZ7FYDQGZG7AXP`). Runs as a parallel track, not a
|
||||||
|
|||||||
@@ -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.
|
||||||
@@ -59,6 +59,22 @@ _As of 2026-09-22:_
|
|||||||
⚠ **Calibration for the next round: his bar is "did anything change when I
|
⚠ **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
|
opened it".** He said the Booth "kind of looks the same" about our own U7
|
||||||
navigation work, before ever seeing the design round.
|
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
|
- 🔶 **ROUND 2 IS UP AND FOUR RULINGS ARE WITH THE OPERATOR** — booth
|
||||||
`booth-flow-concepts`, ask `flow`: direction / compare / voice / emblem.
|
`booth-flow-concepts`, ask `flow`: direction / compare / voice / emblem.
|
||||||
Three directions (Desk, Reel, Bench), six screens each in dark+light, plus a
|
Three directions (Desk, Reel, Bench), six screens each in dark+light, plus a
|
||||||
|
|||||||
Reference in New Issue
Block a user