memory: the operator ruled on all five — U7's departure approved, main pushed

"accept all recs, or make good ones." Four of five executed.

APPROVED: drop subfolder sections for filename-prefix groups. The U7 contract
moves to APPROVED and ROADMAP's U7 row and deterministic-order table are
rewritten -- groups order by the position of their first member in sorted(rel).

SETTLED: `unanswered` means has-an-open-pick, the reading that shipped. The
has-no-mark-at-all reading is a different question and is parked to v1.1 rather
than left pending.

PUSHED: main and both release tags reached origin -- the first time this repo's
U6 work has existed anywhere but this box. Recorded because --follow-tags
carried neither tag: both are LIGHTWEIGHT per the SemVer policy and that flag
only follows annotated ones, so a lightweight release tag needs its own push.

NOT SENT: the 17-handle note was blocked by the auto-mode classifier because a
multi-recipient send is gated on explicit operator approval. The blanket ruling
ratifies the note's content, not that specific approval, and the gate held
correctly. Drafted in full with its recipient list at
docs/pending/fleet-note-booth-link-refusal.md so it survives a context clear.
Not worked around.

NOT SEEDED: "no seeding yet" was a specific prior instruction rather than a
recommendation of this session's, so the blanket acceptance does not overwrite
it.

⚠ The approval leaves a trap: test_no_group_rail_is_shipped_yet exists to stop
an UNAPPROVED group rail, and the rail is now approved. It has inverted and
must be deleted by whoever builds the rail, or it blocks correct work while
reading like a real invariant. Named in the handoff's first step for that
reason.
This commit is contained in:
vh
2026-09-22 19:49:39 -07:00
parent 8bf5343049
commit 6938d21085
5 changed files with 166 additions and 45 deletions
+37 -37
View File
@@ -19,50 +19,50 @@ loop it turned out to actually be.
_As of 2026-09-22:_
- **U6 (benches) SHIPPED as `v0.6.0`; a late fix shipped as `v0.6.1`.** Six of
seven v1 units are landed.
- **U6 SHIPPED (`v0.6.0`) with a late fix (`v0.6.1`). PUSHED.** `main` and both
tags are on `origin` as of 2026-09-22 — the tree is no longer single-copy.
→ `persistent-memory.d/2026-09-22-u6-benches-released.md`
- **U7 IS THREE-QUARTERS BUILT AND BLOCKED ON ONE RULING.** The three
components ROADMAP already ratifies — sticky rail, filters, grid keyboard —
are implemented, tested and deployed (`a306e2d`). The fourth, replacing
subfolder sections with filename-derived groups, is a **scope departure** and
is deliberately NOT built; `tests/test_navigation.py::test_no_group_rail_is_shipped_yet`
fails if anyone builds it before he rules.
- **THE OPERATOR RULED ON EVERYTHING OUTSTANDING (2026-09-22, "accept all
recs").** Four of five settled and executed; one blocked by the permission
layer. Nothing is waiting on him. →
`persistent-memory.d/2026-09-22-operator-ruled-on-the-open-five.md`
- **U7 IS THE ONLY WORK LEFT, AND IT IS NOW UNBLOCKED.** The three ratified
components (rail, filters, grid keyboard) are landed at `a306e2d`. The fourth
— **filename-prefix groups replacing subfolder sections — is APPROVED** and
NOT yet built. That is the next session's first job.
→ `persistent-memory.d/2026-09-22-u7-three-quarters-and-one-ruling.md`
- ⚠ **THE ONE QUESTION BLOCKING v1: drop subfolder sections for filename-prefix
groups, yes or no?** Everything else in U7 is done or parked. Read
`persistent-memory.d/2026-09-22-u7-remeasured-before-scoping.md` for the
evidence before putting it to him again.
- **623 tests green. Tree clean at `a306e2d`. Deployed; 19/19 booths 200.**
- ⚠ **NOT PUSHED.** `main` is **15 commits ahead of `origin/main`**, including
the `v0.6.0` and `v0.6.1` tags. Push is the operator's call and he has not
given it.
- ⚠ **NOT SEEDED.** He said "no seeding yet", so `booth bench import --apply`
has not been run against live data and `.benches.json` does not exist in
`~/booth-data`. The dry run is safe and writes nothing.
- ⚠ **THE 17-HANDLE NOTE IS NOT SENT.** `booth link` now refuses a booth URL,
which changes behaviour for seventeen agent handles. Gated as multi-recipient;
not drafted, not sent.
- **A U7 directive MISROUTED and is SUPERSEDED — nothing to act on.**
Operator-approved D-0011, sent by Miranda, landed on infra-ops because
`pane_find` matched a rolling pane title. Miranda confirmed directly that it
is superseded pending the sections ruling, and that every held item above
stays gated. → `persistent-memory.d/2026-09-22-a-directive-misrouted-by-pane-title.md`
- ⚠ **`tests/test_navigation.py::test_no_group_rail_is_shipped_yet` IS NOW A
STALE GUARD.** It exists to stop an UNAPPROVED group rail; the rail is
approved, so whoever builds it must DELETE that test in the same commit. It
will otherwise read as a real invariant and block correct work.
- **623 tests green. Tree clean and pushed. Deployed; 19/19 booths 200.**
- ⚠ **THE 17-HANDLE NOTE IS DRAFTED AND STILL NOT SENT** — blocked by the
auto-mode classifier because it is a multi-recipient send, which CLAUDE.md
gates on explicit operator approval. The blanket "accept all recs" was read as
ratifying the note's CONTENT, not as that specific approval, and the
classifier agreed. **Not worked around.** Full draft + recipient list at
`docs/pending/fleet-note-booth-link-refusal.md`; it needs his explicit go or a
`postbox send` permission rule.
- ⚠ **NOT SEEDED, and this survives the blanket ruling.** "No seeding yet" was a
SPECIFIC prior instruction, not a recommendation of mine, so "accept all recs"
does not override it. `.benches.json` does not exist in `~/booth-data`.
- **A U7 directive (D-0011) misrouted to infra-ops and is SUPERSEDED.** Miranda
confirmed directly. Nothing to act on.
→ `persistent-memory.d/2026-09-22-a-directive-misrouted-by-pane-title.md`
- ⚠ **THE 17 CONSUMING HANDLES WERE NEVER TOLD that `keep` stopped meaning
"waiting on an answer"** — operator decision, no broadcast, still standing.
**This CHANGES HOW THE 2026-10-06 RE-COUNT READS**: a flat `.forever` rate
does NOT falsify the diagnosis. Read its entry before measuring.
- **Two dated predictions pending and must not be run early.** U5's adoption
re-measure on **2026-09-29**; the `.forever` re-count **on or after
2026-10-06**.
"waiting on an answer"** — and the note above does not tell them either; it is
about `booth link`. **This CHANGES HOW THE 2026-10-06 RE-COUNT READS**: a flat
`.forever` rate does NOT falsify the diagnosis.
- **Two dated predictions pending, not to be run early.** U5's adoption
re-measure **2026-09-29**; the `.forever` re-count **on or after 2026-10-06**.
- **FIVE `/heid*` methodology proposals sit with the operator**, untracked by
his choice — including Kimi's "the falsifiable test is weaker than the
invariant it guards", which now has three data points in this repo.
- The booth set churns hard: 26 → 24 → 25 → 23 → **19** across five sessions.
Re-count rather than trusting any number here.
his choice.
- The booth set churns hard: 26 → 24 → 25 → 23 → **19**. Re-count rather than
trusting any number here.
## Recent decisions
- `[2026-09-22]` **The operator ruled on all five open items at once** — four executed incl. the first push; the broadcast was blocked by the permission layer and is drafted at `docs/pending/` → `persistent-memory.d/2026-09-22-operator-ruled-on-the-open-five.md`
- `[2026-09-22]` **U7 is three-quarters built and blocked on one word** — the ratified three landed; the sections-vs-groups departure is NOT built and is the operator's call, tracked at `docs/contracts/u7_navigation.contract.md` → `persistent-memory.d/2026-09-22-u7-three-quarters-and-one-ruling.md`
- `[2026-09-22]` **An approved directive misrouted because pane_find addresses by a rolling pane title** — resolved; the MECHANISM is the durable part, reported to infra-ops, untracked by booth-dev → `persistent-memory.d/2026-09-22-a-directive-misrouted-by-pane-title.md`
- `[2026-09-22]` **U7 re-measured before scoping — sections are dead, filename prefixes are not** — PRE-WORK ONLY, no unit started; read before writing U7's contract → `persistent-memory.d/2026-09-22-u7-remeasured-before-scoping.md`