From 0b106518ade3c1406fc7e558f9b645f00c2b8f02 Mon Sep 17 00:00:00 2001 From: Jason Woltje Date: Wed, 14 Oct 2026 12:24:14 -0500 Subject: [PATCH] docs: lead decisions 136 (CI changes) and 137 (doc-only findings don't block) Jason's 17:16Z rulings, relayed by Mos: the #271 CI steps (Vikunja #273-#278) and Q143. Decision 137 is the reviewer rule for Vikunja #279; the queue README's verdict paragraph points to it. Co-Authored-By: Claude Opus 5.5 --- docs/plans/2026-09-26_lead-decisions.md | 45 +++++++++++++++++++++++++ packages/queue/README.md | 4 ++- 2 files changed, 48 insertions(+), 1 deletion(-) diff --git a/docs/plans/2026-09-26_lead-decisions.md b/docs/plans/2026-09-26_lead-decisions.md index bcaf96f00..e58d76b06 100644 --- a/docs/plans/2026-09-26_lead-decisions.md +++ b/docs/plans/2026-09-26_lead-decisions.md @@ -3041,3 +3041,48 @@ which stay with him. Each item names who decided it and what happened. the task's latest pushed commit. A task with no push needs none. - Owner Darkwing, reviewers Dewey and Sage (decision 131). Building starts when row 91 closes and Sage switches the row. + +136. **CI changes from the #271 debate (2026-10-14, Jason's ruling at + 17:16Z, relayed by Mos).** Jason: "I agree with the recommended steps + for CI improvement." Sage's sage-0178 adoption stands, item 5 + included as deferred. Mos filed the work on Vikunja P19: + - #273: builder rounds may be targeted. They run the changed + packages, the packages that import them, and every + `scripts/test-*.sh` that reads a changed path, listed in build.md. + Sage's landing gate stays full. + - #274: the landing gate drops its pkg-queue step, because + `scripts/test-queue.sh` runs `packages/queue/tests/` itself (9 test + files, 156 tests). + - #275: queue revs are committed at a landing, or when a seat needs + them pushed, not after every move. + - #276: a doc-only round needs no gate. A round is doc-only when every + path it changes is a `.md` file that no package test and no + `scripts/test-*.sh` reads. + - #277: the flaky tests get rows, then the worker trial. + - #278: rows that are ready together land through one batch gate. + Rows that share a path go in separate batches. + +137. **Doc-only review findings don't block (2026-10-14, Jason's answer + to Q143, "Q143: yes", relayed by Mos; Vikunja #279).** This applies + to every reviewer: Filbert, Dewey, Rocko, Sage and any later seat. + - A finding is doc-only when every path it names passes decision + 136's #276 test: a `.md` file that no package test and no + `scripts/test-*.sh` reads. Check with `grep -rlF + packages/*/tests scripts/test-*.sh`. Any hit makes the finding + blocking. Tests read the PRD (`docs/prd/mosaic-stack.md`) and + QUEUE.md, so findings on them block. A row's brief is pinned by + blob in `queue.json`, so a wrong brief gets a new revision from + Sage, not a follow-up commit. + - Doc-only findings alone don't stop an approval. The reviewer records + `approve` and lists them in the verdict comment under "Doc-only, + follow-up". A round with any other finding records `changes`, as + before, and lists its doc-only findings too. + - The builder fixes them in a follow-up packet after the landing. + Sage lands it as its own commit with no gate (#276), and tracks it + in the row note until it lands. The reviewer checks the follow-up + only if the fix changes meaning, and says so in the verdict. + - Findings on code, tests, contracts, roles, schemas or any file a + test reads still block. A missing test the brief asks for is a code + finding. + - When unsure, the reviewer calls it blocking and says why. Sage can + move it down. diff --git a/packages/queue/README.md b/packages/queue/README.md index d6ae4032d..f825cf8bf 100644 --- a/packages/queue/README.md +++ b/packages/queue/README.md @@ -138,7 +138,9 @@ abandoned one. reviewer in the current round, so a Jason-gated row reaches Jason only after its reviewers approved. `done` also refuses `--evidence`. The queue doesn't fetch the verdict comment; `record` is cooperative like every - other actor claim. + other actor claim. A round whose only findings are doc-only records + `approve`, and the fixes land as a follow-up commit (lead decision 137, + `docs/plans/2026-09-26_lead-decisions.md`, which defines doc-only). - **`review verify-commit ID REF`** checks a prospective commit or tree against the current round's candidate. For a manifest, every listed path must hash to its digest. For a commit candidate, every path the candidate