From 52c5a1f8e25fb13e3382d1497669993eb135a965 Mon Sep 17 00:00:00 2001 From: Jason Woltje Date: Sat, 10 Oct 2026 12:36:25 -0500 Subject: [PATCH] docs(decisions): 83, row 54 may add a rows() read to packages/queue Dewey's row 54 stop: store.show costs ~450 ms a row. Row 54 adds export function rows(opts) plus a test; queue suites join its gate. Path redaction and Dewey's recorded view choices accepted. Co-Authored-By: Claude Opus 5.5 --- docs/plans/2026-09-26_lead-decisions.md | 32 +++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/docs/plans/2026-09-26_lead-decisions.md b/docs/plans/2026-09-26_lead-decisions.md index b4a60d09..ad86fa8f 100644 --- a/docs/plans/2026-09-26_lead-decisions.md +++ b/docs/plans/2026-09-26_lead-decisions.md @@ -1734,3 +1734,35 @@ which stay with him. Each item names who decided it and what happened. Sage's one-off `agents/sage/work/vikunja-setup/` scripts, which don't run during the window. Seats run no live tracker probes from 2026-10-11T15:00Z until the hold ends. +83. **Row 54 may add one read to `packages/queue` (2026-10-10).** The + row 54 brief says the views change nothing in `packages/queue`, + `packages/business` or `packages/cli`, and to stop and ask if a + module lacks a read. Dewey stopped. `store.list` returns only id, + state, owner and piece, and `store.show` replays the log and spawns + git on every call: about 450 ms a row, 19.8 s for all 61 rows. + - Row 54 adds `export function rows(opts)` to + `packages/queue/src/store.mjs`. It returns + `rowsArray(readState(opts).state)` with the notes, writes nothing + and takes the same lock-free read path as `list`. A test goes in + `packages/queue/tests`, and `packages/queue/README.md` names the + export. The `packages/queue` node suite and `scripts/test-queue.sh` + join row 54's gate. Nothing else in `packages/queue` changes, and + `packages/business` and `packages/cli` stay untouched. + - Why here and not a separate row: three lines and a test, no other + open row changes `packages/queue/src` (row 13's candidate + fd72d268 touches only `packages/ledger`), and the package is not + under the Q14 freeze. Dropping reviewers and the brief link from + the list view (Dewey's option b) is the fallback if review finds + a problem with the export. + - The brief file is not edited, since rows 53 to 61 pin its blob. + This decision is the amendment, and row 54's packet cites it. + - Refusal text that reaches the browser has absolute paths replaced + by `/`, `/` and ``, and a test proves the + test's tmp directory never appears in a response. The brief's + no-path rule stands. + - Dewey's recorded choices stand: the Business view shows project + ids without roots; no bot ids or `human.discordUserId`; + credentials show service, account, role instance and expiry, + never a file path or env name; the business is `--business`, else + the live bus host's business; `rolesDir` is the checkout's + `roles/`.