diff --git a/agents/bubba/work/queue-288/BUILD.md b/agents/bubba/work/queue-288/BUILD.md index 33ccdc323..cc6adc046 100644 --- a/agents/bubba/work/queue-288/BUILD.md +++ b/agents/bubba/work/queue-288/BUILD.md @@ -325,3 +325,62 @@ production change was introduced by conflict resolution. Sage's base93694c518 is an ancestor of the candidate; old283 b2a1f4092 is not. Static diff --check clean. No Node, test, syntax, build, mutant or gate run. Named CLEAR/T7 still pending;288 lands last. + +## 2026-10-24 static preflight before landed284 base (sage-4282) + +No Node, npm, test, syntax, mutant, queue command or gate ran. Still on bubba/row288-r2, +b44152ac6 plus this static follow-up; await Sage's landed284 base before a fresh candidate branch. +Do not treat the earlier T7 estimate as CLEAR. Webby remains reviewer. + +### Updated C2-02 brief and contract names (webby-0282 N1) + +Read C2-02 on origin/refactor 95d4991d20a4ef291c824d37c886eaeaa9be7062; current brief blob 85e6fe2ecfc53ed615b7b61aade88ae0cbb222ef +(the new ruling is identified by Sage as5e8a720b). Statically checked both the candidate and current +refactor versions of all six creative contracts: roles/companion.md, research.md, ideas.md, +proofreader.md, fact-checker.md and continuity.md. Every one names library_doc_write and +library_doc_delete, exactly the two add() names in candidate harness/src/tools.mjs. No role contract +change is needed or made. Exact-name evidence is tool-contract-audit.json in the scratch dir below. + +### mos-1584 fixture audit + +The new row288 harness tests reach businessDoc through resolvedFor, but their callbacks add only a +creative role; they add no library business project. library:true is the typedTools option, not a +businessDoc project. The broker/runtime/bare-library tests build minimal business objects directly, +not businessDoc. The migrated baseline harness test likewise adds no library business project. +There is therefore no new row288 businessDoc-with-library fixture requiring a chief-reference edit. +The current and future landed-base imported fixtures must be rechecked after the pending rebase; +any validating businessDoc fixture that adds a library project must retain/provide chief gitea. + +Shortened only two row288-authored fixture credential values: write-fixture.mjs uses fx288-write, +and the runtime test's two slots use fx288-human. Both are11 characters, below24. This corrects the +25-character runtime value and avoids an edge at the older23-character write value. No assertion +changed, no baseline test edit and no credential file was read. No live credential action occurred. + +### mos-1612 whole-file run-list preparation (not run authorization) + +Static lexer traversed real import/re-export/require and new-URL module-entry edges, skipping +comments/quoted fixture code; reverse closures carry a chain witness for every selected test. +Used the union of this older candidate and the current refactor source snapshots so newer importers +are visible without prematurely rebasing. It selected270 whole test files. Required whole library, +bus and harness suites add17 distinct files, making a proposed union of287 (not a narrow grep list): +bus115, business2, cli58, harness16, library13, plugins1, processing-control1, seat5, tasks9, webui67. +The brief also names all12 scripts/test-*.sh runners. No file/runner was executed. + +packages/cli/tests/case1-accept.test.mjs is explicitly excluded under mos-1592/1612. The11 +nonliteral-import files have a manual expression audit; all already occur in the import-selected +whole-file set. Generated programs and runtime plugin discovery are recorded static limitations, +not asserted fully resolved by the lexer. Whole suites and the named script runners retain their +brief-required coverage. Regenerate after landed284 rebase; report exact final sha/list before CLEAR. +Each approved gate later needs own root/webui npm ci, required editor build, short scratch TMPDIR, +whole files and gate skip receipts under the then-current rules. These are plans, not past evidence. + +Artifacts: /mnt/storage/scratch/bubba-row288/static-2026-10-24/ +- import-run-list.py SHA256 ec18031c87bf6f96b3e794e2e56747bc5e1fe37580de7ce9444c60cd5f18ddc0 +- whole-files.txt SHA256 b2d6c11349268c347e51a64fe6bf9e7c4d560238a8fc5b5e10f600f1e6e8a39e +- import-witnesses.json SHA256 01702657d34c4f2c0635f38741d0a5b57cfdda63d5e96897f188d03971afd5d9 +- dynamic-import-audit.txt SHA256 42b8721fde783c618e1347f2609ad6e4ae3144f563272f0bbbeb45c34f751018 +- brief-required-whole-files.txt SHA256 254828414cd9b1b0a785df5c23b7f2b9ea7564d1f85e648899801e46194d135f +- proposed-whole-files.txt SHA256 bee666dce2c3f2d0bafe7e963fb443ad356b6ae8719ac3cb8ee413a329578035 +- brief-script-runners.txt SHA256 02cd25af486c163189977106e055575145bffba688c7836e2a508f5ec91e76d4 +- tool-contract-audit.json SHA256 bf07865d796b8b0aed85d84c015430ea03468c5331bcaae9eb80efafe1a182be +- fixture-audit.json SHA256 436a69a6b8548d8426390e867ed4b0f83693a3116d825c26c6f8a3e788f477d6 diff --git a/docs/SESSIONS.md b/docs/SESSIONS.md index 51f62ec28..19efcd2f4 100644 --- a/docs/SESSIONS.md +++ b/docs/SESSIONS.md @@ -1594,3 +1594,4 @@ are never rewritten or removed; corrections are new entries. 2026-10-23 | Sage (1ef1e4f8) | Rows 308 and 252 landings, 571 Connections design amendment, Vikunja 597 | 308 (PRD 1.17, #1815) landed 30e6bb680 and 252 (#1753) landed 45ea3fa0d (replay of 580037105 onto 30e6bb680, range-diff all =), each after a full gate on the landed tree (252 also J1-J19, J11c and J18 equivalent); Gyro's 571 amendment (Fenton APPROVE) landed e8bb13df8; Vikunja 570, 435 and 597 done, canonical webui esbuild 0.28.2; queue revs 3589-3616 committed 59f013247 2026-10-23 | Sage (1ef1e4f8) | Vikunja 571 W build rows; rows 13, 42, 257 and 289 check | Filed the design's ten W rows as queue rows 309-318 (revs 3617-3626, owners set to unassigned 3627-3636, queue commit 293b42fee pushed); Vikunja 571 done (comment 994). Row 13's candidate fd72d2689 is on refactor, gate is Monday's row 7 ledger run; 42 paused under mos-1184; 257 post-v1; 289 waits on 214 and 288. Slot released 17:56Z. 2026-10-23 | Bubba (Codex gpt-6.1-sol, 3d6672b5) | Row 288 / #1793 C2-02 in bubba/row288; mos-1499, sage-3613 | Started; 283/285/286 merged intact, static build pending Sage CLEAR; queue ownership remains with Sage. +2026-10-24 | Bubba (3d6672b5) | Row288 static preflight, sage-4282 | Creative contract/tool names match; short fixture tokens; provisional import-based whole-file run list excludes Case1; no Node/test run, awaiting landed284 base and CLEAR. diff --git a/packages/bus/tests/library-write.test.mjs b/packages/bus/tests/library-write.test.mjs index 2487b4097..1a62f055f 100644 --- a/packages/bus/tests/library-write.test.mjs +++ b/packages/bus/tests/library-write.test.mjs @@ -228,7 +228,7 @@ test('C2-02 F2/E6 runtime: human saves/reverts use editor.user; no login never u const configDir = join(bare.root, 'config'), slots = join(configDir, 'secrets', 'acme'); mkdirSync(slots, { recursive: true, mode: 0o700 }); for (const slot of ['library-human', 'library-gitea']) - writeFileSync(join(slots, slot), 'fixture-runtime-token-288\n', { mode: 0o600 }); + writeFileSync(join(slots, slot), 'fx288-human\n', { mode: 0o600 }); const pushes = []; const command = (kind, url, options) => { if (kind === 'push') pushes.push(options.user); return bare.command(kind, url, options); }; const initial = (await bare.state()).lastFetch; diff --git a/packages/library/tests/write-fixture.mjs b/packages/library/tests/write-fixture.mjs index dea1b368b..fe1edfe22 100644 --- a/packages/library/tests/write-fixture.mjs +++ b/packages/library/tests/write-fixture.mjs @@ -22,7 +22,7 @@ export async function world(t, { business = 'acme' } = {}) { const entry = { ...mappingEntry(), user: 'human-fixture', editor: { ...EDITOR } }; entry.universes.harbor.supporting = ['Book One/Notes/']; const context = { business: { id: business, projects: { books: entry } }, project: 'books', dataRoot }; - const file = join(f.root, 'fixture-slot'); writeFileSync(file, 'fixture-write-token-288\n', { mode: 0o600 }); + const file = join(f.root, 'fixture-slot'); writeFileSync(file, 'fx288-write\n', { mode: 0o600 }); const credential = { kind: 'seat', user: 'bean-fixture', file }; // Keep the production refspec exactly: a '+' mutant on push would overwrite the racing remote. let beforePush = null, reject = false;