docs: rows 296 and 217 landing record, mos-1583 cli skip-list rule in the brief template, Vikunja 533 comment script (doc only)

This commit is contained in:
jason.woltje committed 2026-10-24 06:24:51 -05:00
1 parent 4c6190645d
commit 25874bc86c
5 files changed
+75

No files matched your search

+1
View File
@@ -5501,3 +5501,4 @@ claim. Receipts and limitations in agents/lena/work/queue-296/BUILD.md and run-r
2026-10-24 | Beakley (88b97f65) | Row 217 round 2, sage-4037 | Rebased published dde5b8496 onto e0c6142f3 on new beakley/row217-r2; both append-log histories retained. Conflicts preserve landed grant dispatch, revocation hook and lookup exports. Added E4 citation-unavailable product path and real supporting-scope/index comparison tests after row283 8d2856ee3. Untested: no Node/npm/tests/mutants/build; ready for Sage CLEAR after Lena296. Full range-diff and honest discarded local rebase correction in agents/beakley/work/queue-217/BUILD.md. 2026-10-24 | Beakley (88b97f65) | Row 217 round 2, sage-4037 | Rebased published dde5b8496 onto e0c6142f3 on new beakley/row217-r2; both append-log histories retained. Conflicts preserve landed grant dispatch, revocation hook and lookup exports. Added E4 citation-unavailable product path and real supporting-scope/index comparison tests after row283 8d2856ee3. Untested: no Node/npm/tests/mutants/build; ready for Sage CLEAR after Lena296. Full range-diff and honest discarded local rebase correction in agents/beakley/work/queue-217/BUILD.md.
2026-10-24T10:21Z | Beakley (88b97f65) | Row 217 round2 slot verified, sage-4042/4043 | Source 2d274a5b6: touched57/57, whole library142/142 business270/270 bus974/974 cli988/988 harness172/172 seat218/218, all zero fail/skip/cancel. M1-M5 killed, controls/restored controls green, product hashes restored after each; E4 RED stand-in observed. Only first-red was new runtime fixture invalid-authority, corrected and retained in receipts; no old test failed/edited. Local root/webui npm ci, short TMPDIR, timeout-k10; no canonical npm/rm or module link. Full evidence agents/beakley/work/queue-217/run-r2; Sage owns scripts landing gate and formal review. 2026-10-24T10:21Z | Beakley (88b97f65) | Row 217 round2 slot verified, sage-4042/4043 | Source 2d274a5b6: touched57/57, whole library142/142 business270/270 bus974/974 cli988/988 harness172/172 seat218/218, all zero fail/skip/cancel. M1-M5 killed, controls/restored controls green, product hashes restored after each; E4 RED stand-in observed. Only first-red was new runtime fixture invalid-authority, corrected and retained in receipts; no old test failed/edited. Local root/webui npm ci, short TMPDIR, timeout-k10; no canonical npm/rm or module link. Full evidence agents/beakley/work/queue-217/run-r2; Sage owns scripts landing gate and formal review.
2026-10-24T11:15:29Z | Sage | Rows 296 (#1802, Lena, Filbert) and 217 (#1718, Beakley, Webby) LANDED d0a6a87cd. Before: refactor at e0c6142f3 (local 98235fdb3). After: 296's 5 commits (range-diff 5 =, blobs equal b43156fd9 on 28 paths) and 217's 9 commits (5 = and 4 !, the ! are BUILD-LOG/SESSIONS append conflicts kept both sides; blobs equal 96659ccf4 on 79 paths) on 98235fdb3, with doc commits b19ffa04f and 98235fdb3. Reviews: Filbert c31547 rev 3896, Webby c31549 rev 3901. Gate: 1st run 10:57:16Z RED on one rule only, the gate's "cli skipped 0": 296's FED R7 test skips in the cli suite by design and runs only through scripts/test-federation-acceptance.sh, which passed 1/1 in the same run. Mos ruled that a RED gate doesn't land (mos-1583). The gate now allows a cli skip only from an explicit list (test file, test name, runner script) whose runner ran in the same gate with rc 0, at least 1 pass, 0 skipped and the named test passed; any unlisted skip stays RED; checked against a wrong-file and a runner-skip control, both RED. Rerun GREEN 11:14:53Z with its own npm ci: 17 package suites 0 failures (cli 989/988 pass, the allowed FED R7 skip; plugins 119; webui 418), every scripts/test-*.sh rc 0, federation-acceptance cleanup line present; skips otherwise are the queue canonical-root check and the row 244 live provider cases. push-check SECRETS_CLEAN, NO_ATTRIBUTION, PUSH_READY. #1802 closed c31557, #1718 closed c31559, Vikunja 533 comment 1054 (design task, left open for Q29). Row 286's approved manifest shares broker.mjs, runtime.mjs and library/src/index.mjs with 217, so 286 needs a rebase round before its gate. Brief template gains the skip-list rule.
@@ -0,0 +1,47 @@
// Sage, 2026-10-24: row 217 C2-06 landed d0a6a87cd, P19 533 comment (design task, comment only). Comments only.
// Checks each task's title before posting. Prints no secret.
// Usage: node comment-migrate-0cbe-w11.mjs https://tasks.woltje.com SAGE_TOKEN_FILE SYNC_TOKEN_FILE OUT_JSON
import { readFileSync, writeFileSync, existsSync } from "node:fs";
const [ORIGIN, KEY, SYNC, OUT] = process.argv.slice(2);
if (!/^https:\/\/tasks\.woltje\.com$/.test(ORIGIN)) throw new Error("tasks.woltje.com only");
if (!OUT || existsSync(OUT)) throw new Error("OUT_JSON missing or exists; refusing");
const PROJECT = 19;
const PSIG = "Posted by Sage (T3 1ef1e4f8) with Sage's own key (bot user 13).";
const esc = (s) => s.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
const ps = (xs) => xs.map((x) => `<p>${esc(x)}</p>`).join("") + `<p>${esc(PSIG)}</p>`;
const POSTS = [
{ id: 533, title: /^Case 2 reply limits become settings/, body: ["Row 217 (C2-06: the citation guard, the page store, the runner texts and the retry, Gitea #1718) landed on refactor at d0a6a87cd, pushed 11:15Z 2026-10-24 together with row 296. Beakley built it on Codex. Webby approved 96659ccf4 (comment 31549, rev 3901). Sage's landing gate went GREEN at 11:14:53Z with every package suite at 0 failures and every scripts/test-*.sh at rc 0. #1718 is closed with landing comment 31559. This task stays open: part (2), Jason's Q29, is Mos's, and this comment doesn't answer it. The live stack is not re-pinned."] },
];
if (/LANDSHA|PUSHTIME|CLOSEID|GATE\b/.test(JSON.stringify(POSTS))) throw new Error("placeholder left; refusing");
const key = readFileSync(KEY, "utf8").trim(), sync = readFileSync(SYNC, "utf8").trim();
async function api(method, path, body, auth) {
const r = await fetch(ORIGIN + path, { method, headers: { Authorization: `Bearer ${auth}`, "Content-Type": "application/json" }, body: body === undefined ? undefined : JSON.stringify(body), redirect: "error" });
const t = await r.text(); let json = null; try { json = JSON.parse(t); } catch {}
return { status: r.status, json };
}
const list = (j) => j?.items ?? (Array.isArray(j) ? j : []);
const rec = { at: new Date().toISOString(), comments: [], problems: [] };
const save = () => {
const out = JSON.stringify(rec, null, 1) + "\n";
if (out.includes(key) || out.includes(sync)) throw new Error("secret in the record; not written");
writeFileSync(OUT, out);
};
for (const P of POSTS) {
const t = await api("GET", `/api/v2/tasks/${P.id}`, undefined, sync);
if (t.status !== 200 || t.json?.project_id !== PROJECT || !P.title.test(t.json?.title ?? "")) throw new Error(`task ${P.id}: ${t.status}, title check failed; nothing posted`);
}
writeFileSync(OUT, "", { flag: "wx" });
for (const P of POSTS) {
const c = await api("PUT", `/api/v1/tasks/${P.id}/comments`, { comment: ps(P.body) }, key);
const e = { task: P.id, status: c.status, id: c.json?.id ?? null };
rec.comments.push(e);
if (c.status >= 300 || !Number.isSafeInteger(c.json?.id)) { rec.problems.push(`comment ${P.id}: ${c.status} ${c.json?.message ?? ""}`); save(); continue; }
const back = await api("GET", `/api/v2/tasks/${P.id}/comments?per_page=50`, undefined, sync);
const found = list(back.json).find((x) => x.id === c.json.id);
Object.assign(e, { readBack: back.status, found: Boolean(found) });
if (back.status !== 200 || !found) rec.problems.push(`comment ${P.id} read-back: ${back.status}`);
save();
}
save();
process.stdout.write(JSON.stringify(rec, null, 1) + "\n");
if (rec.problems.length) process.exit(2);
@@ -0,0 +1,13 @@
{
"at": "2026-10-24T11:18:48.702Z",
"comments": [
{
"task": 533,
"status": 201,
"id": 1054,
"readBack": 200,
"found": true
}
],
"problems": []
}
+3
View File
@@ -1634,3 +1634,6 @@ are never rewritten or removed; corrections are new entries.
2026-10-24 | Beakley (88b97f65) | Row 217 round 2 under sage-4037 | New beakley/row217-r2 rebased onto e0c6142f3, retained both log histories, E4 product fix and supporting/index tests drafted. No Node/npm/tests/mutants run; ready for CLEAR; local-only dependency installs required on CLEAR, old-test red goes to Sage. 2026-10-24 | Beakley (88b97f65) | Row 217 round 2 under sage-4037 | New beakley/row217-r2 rebased onto e0c6142f3, retained both log histories, E4 product fix and supporting/index tests drafted. No Node/npm/tests/mutants run; ready for CLEAR; local-only dependency installs required on CLEAR, old-test red goes to Sage.
2026-10-24T10:21Z | Beakley (88b97f65) | Row217 #1718 round2 slot | All touched57 and six whole suites2764 pass, zero skips/cancels; M1-M5 killed/restored, E4 RED stand-in observed. First-new runtime fixture red recorded and corrected; no old-test change/failure. Evidence in agents/beakley/work/queue-217/run-r2. Verified for review on beakley/row217-r2; Sage landing scripts/review remain. 2026-10-24T10:21Z | Beakley (88b97f65) | Row217 #1718 round2 slot | All touched57 and six whole suites2764 pass, zero skips/cancels; M1-M5 killed/restored, E4 RED stand-in observed. First-new runtime fixture red recorded and corrected; no old-test change/failure. Evidence in agents/beakley/work/queue-217/run-r2. Verified for review on beakley/row217-r2; Sage landing scripts/review remain.
2026-10-23T19:03:29Z | Darkwing (7525c8e4) | Re-pin window 464010fbe to 45dca69f6 (sage-3572, mos-1487) | 3n with no migration. P0-P6, B0, W0-W6, W9, W10 PASS (P3 REHEARSAL_PASS mos-1492, W5 go mos-1493), activation 20261023T185911Z-45dca69f6e4b. Condition 11 and D2 held (0 user threads, tester threads unchanged, 0 revoke claims or thread-revoked lines). pm ra38826f3c6e2 ended by W5. Gitea 31271-31282 on 12 rows' issues. Window files pushed darkwing/window-repin-45dca69f6 7cbd02559. P19 body to Sage, slot returned (226 next). No rollback or prune.
2026-10-24T10:09:24Z | Filbert (048f3c63) | Row 296 FED R7 round 1 verdict (#1802) | APPROVE b43156fd9 (comment 31547, rev 3896) on Lena's sage-4035 scoped receipts (plain 0, killed-driver 1, M1/M2 killed by name, restores ok) and my static r2 check (source = a1321f8f9, manifest 2cdad3e6 29/29); full scripts and package gate is Sage's at landing (sage-4046); no tests run by me
2026-10-24T11:15:29Z | Sage (1ef1e4f8) | Rows 296 / #1802 and 217 / #1718 landed (mos-1576, mos-1583) | First gate RED 10:57Z on the cli-skip rule only (FED R7 skips in cli by design); gate rule changed to an explicit allow-list per mos-1583, rerun GREEN 11:14:53Z; pushed d0a6a87cd 11:15Z; #1802 c31557, #1718 c31559 closed; Vikunja 533 c1054; brief template skip-list rule; 286 needs a rebase round (3 shared files)
+11
View File
@@ -74,6 +74,17 @@ the builder's and the lead's landing gate, runs its own
after canonical node_modules was found empty at 05:45:15Z 10-24 and row after canonical node_modules was found empty at 05:45:15Z 10-24 and row
327's gate went red on it). 327's gate went red on it).
A skipped cli test turns the lead's landing gate RED unless it is on the
gate's skip list (mos-1583, after row 296's FED R7 test). An entry is the
test file, the test name and the runner script, for example
`tests/federation-acceptance.test.mjs`, "FED R7 scratch two-instance
acceptance", `scripts/test-federation-acceptance.sh`. The skip passes only
when that runner ran in the same gate with rc 0, at least one pass, no
skips, and the named test passed. A builder whose new cli test skips in the
suite by design and runs through a script puts that entry in the brief's
Gate and in BUILD.md with the row, and the lead adds it to the landing
gate's list. Any unlisted skip stays RED.
### Handoffs ### Handoffs
Every seat hands off directly (DECISIONS Q210, mos-1221). When the owner Every seat hands off directly (DECISIONS Q210, mos-1221). When the owner