From cc4f104f0686c3fa481a4713b48815bd64504a32 Mon Sep 17 00:00:00 2001 From: Stephen Waits Date: Tue, 27 Oct 2026 09:09:18 -0600 Subject: [PATCH] docs: U0b landed; books.start and the viewer share one attention engine --- plan/STATUS.md | 17 +++++++++++++++++ plan/served.md | 2 +- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/plan/STATUS.md b/plan/STATUS.md index cc27ec7..62d690c 100644 --- a/plan/STATUS.md +++ b/plan/STATUS.md @@ -160,6 +160,23 @@ MCP handlers only in its own group file** (`documents.rs` for S4.4/S6, `drafts.rs` for P4, `evidence.rs` for P6, `audit.rs` for P8); `server.rs` keeps the router and the shared helpers. +**2026-10-27: U0b landed (`26d3a994`).** Needs attention is one engine in +`ledger-package::attention`, read by the viewer and by `books.start`; the +viewer's module only maps a target to a route. The review found and the +unit fixed a parity gap: the server had passed `Integrity::default()` +("healthy") while the viewer computed its own, so a damaged book showed +the `database` or `stored_files` item to the human and not to the agent. +`books.start` now runs the real check, and +`the_viewer_and_books_start_see_the_same_attention` proves the two lists +equal item for item on a clean demo, a written book, that book with a +missing receipt blob, and that book with a tampered projection. Cost +measured on the demo books: 138 distinct blobs hashed, `books.start` cold +287 ms / warm 256 ms in a debug build on a loaded machine; no cache was +added, and the As-built records that a book with thousands of large scans +is where one would go. `Attention` also carries the prompt (the viewer's, +so there is one copy) beyond the plan's sketch, and `PackageBooks` gained +four read methods rather than a new trait. `just check` green. + The 2026-10-16 audit of the first company's books (62 verified findings, 20 engine defects) and the design discussion that followed produced diff --git a/plan/served.md b/plan/served.md index fa6a457..c200c54 100644 --- a/plan/served.md +++ b/plan/served.md @@ -813,7 +813,7 @@ One row per unit of work. A unit is what one engineer takes into one git worktre | P4b S2 | Read tools and viewer pages | landed 2026-10-24 (`7d2bf0b7`, `b7b7f171`) | | | | | | P4b S3 | The invoice PDF | landed 2026-10-24 (`c1f9001c`) | | | | | | U0a | Split `server.rs` by tool group | landed 2026-10-27 (`45396bdc`) | none | U0b, U0c, S4.1, S4.2, S7.1 (core steps only) | none | 3-4 | -| U0b | The attention engine over `PackageBooks` | not started | none | U0a, U0c, S4.1, S4.2 | none | 4-6 | +| U0b | The attention engine over `PackageBooks` | landed 2026-10-27 (`26d3a994`) | none | U0a, U0c, S4.1, S4.2 | none | 4-6 | | U0c | `docs/testing.md` sections for S1-B, S2, S3; `docs/mcp-interface.md` cleanup of stale P4b notes | landed 2026-10-26 (`198aa2a1`) | none | everything | none | 0.5-1 | | P4b S4 | `documents_v2`: numbers, terms, line accounts, snapshots, preview and confirm, the issued PDF filed, party email and terms, invoicing settings | in progress: S4.1 landed (`13282cf8`), S4.2 landed 2026-10-27 (`bf91c5a7`); S4.3-S4.5 open | S4.1 and S4.2 need nothing; S4.3 needs S4.1, S4.2; S4.4 needs U0a, S4.3; S4.5 needs S4.4 | S5 (after S4.2), S7 (core after S1), P6, P9a, P11a, P13 | `documents_v2` (one upgrade after S7, D-52) | 12-16 | | P4b S5 | Sent tracking | not started | S1; S4.2 for the defaults (works without it, see the unit) | S4.3 onward, S6 | `documents_v2` | 3-4 |