{ "base": "487500a16f4ab5902c318509fdec6acc56a543ca", "testFilesScanned": 495, "plannedPaths": [ "packages/webui/editor/model.mjs", "packages/webui/tests/editor-wikilink.test.mjs", "packages/webui/tests/helpers/wikilink-cases.mjs", "agents/herb/work/queue-214/measure.mjs", "agents/herb/work/queue-214/DESIGN.md", "agents/herb/work/queue-214/MANIFEST.md", "agents/herb/work/queue-214/BUILD.md", "packages/webui/src/public/editor.js", "packages/webui/editor/BUILD.json", "agents/herb/work/queue-214/HASH-PINS.json" ], "literalPriorBlobPins": [], "pathReferences": [ { "test": "packages/webui/tests/editor-wikilink.test.mjs", "line": 6, "text": "import { WIKILINK_CASES } from './helpers/wikilink-cases.mjs';" }, { "test": "packages/webui/tests/browser.test.mjs", "line": 21, "text": "// Rows 129, 154, 191, 194 and 294: chat.js, editor.js, processing.js, agents.js and federation.js are the scripts added, same origin; the list is the pin, so another script is a visible change." }, { "test": "packages/webui/tests/browser.test.mjs", "line": 22, "text": "assert.deepEqual(await b.evaluate('[...document.querySelectorAll(\"script\")].map(s => s.getAttribute(\"src\"))'), ['/editor.js', '/processing.js', '/federation.js', '/brand.js', '/app.js', '/markdown-preview.js', '/chat.js', '/agents.js', '/bus.js']);" }, { "test": "packages/webui/tests/sso.test.mjs", "line": 1, "text": "// Q175 phase 1 (#1690, design agents/sage/work/q175-sso/DESIGN.md section 9): the Console as an" }, { "test": "packages/webui/tests/user-option-swap.test.mjs", "line": 133, "text": "['GET', '/app.js'], ['GET', '/bus.js'], ['GET', '/agents.js'], ['GET', '/editor.js'], ['GET', '/shared/app.css'], ['GET', '/index.html']," }, { "test": "packages/webui/tests/serve.test.mjs", "line": 38, "text": "for (const path of ['/', '/app.js', '/brand.js', '/console.css', '/live.css', '/editor.js', '/editor.css', '/shared/app.css', '/assets/fonts/manrope-400.woff2']) {" }, { "test": "packages/webui/tests/editor-provenance.test.mjs", "line": 18, "text": "const build = JSON.parse(readFileSync(join(webui, 'editor/BUILD.json'), 'utf8'));" }, { "test": "packages/webui/tests/editor-provenance.test.mjs", "line": 92, "text": "const bundle = readFileSync(join(webui, 'src/public/editor.js'), 'utf8');" }, { "test": "packages/webui/tests/editor-provenance.test.mjs", "line": 167, "text": "const info = await run(out, join(out, 'BUILD.json'));" }, { "test": "packages/webui/tests/editor-provenance.test.mjs", "line": 171, "text": "assert.equal(readFileSync(join(out, 'BUILD.json'), 'utf8'), readFileSync(join(webui, 'editor/BUILD.json'), 'utf8'));" }, { "test": "packages/webui/tests/editor-browser.test.mjs", "line": 103, "text": "assert.equal(await h.q('typeof window.MosaicEditor.mount'), 'function', 'editor.js ran under script-src self');" }, { "test": "packages/webui/tests/editor-browser.test.mjs", "line": 423, "text": "// (The editor's own reading of a file can give a single line break in a title or alt, never a blank line; see BUILD.md.)" }, { "test": "packages/webui/tests/granted-user.test.mjs", "line": 231, "text": "['GET', '/app.js'], ['GET', '/bus.js'], ['GET', '/agents.js'], ['GET', '/editor.js'], ['GET', '/shared/app.css'], ['GET', '/index.html']," }, { "test": "packages/webui/tests/editor.test.mjs", "line": 20, "text": "for (const [path, type] of [['/editor.js', 'text/javascript'], ['/editor.css', 'text/css']]) {" }, { "test": "packages/webui/tests/editor.test.mjs", "line": 29, "text": "assert.ok(index.indexOf('src=\"/editor.js\"') < index.indexOf('src=\"/bus.js\"'), 'the editor loads before the page script, so bus.js can mount it');" }, { "test": "packages/webui/tests/editor.test.mjs", "line": 60, "text": "for (const file of ['entry.mjs', 'model.mjs', 'view.mjs']) {" }, { "test": "packages/webui/tests/editor.test.mjs", "line": 64, "text": "const bundle = readFileSync(join(webui, 'src/public/editor.js'), 'utf8');" }, { "test": "packages/webui/tests/editor.test.mjs", "line": 65, "text": "assert.doesNotMatch(bundle, /\\beval\\s*\\(|\\bnew\\s+Function\\b/, 'src/public/editor.js');" }, { "test": "packages/webui/tests/editor.test.mjs", "line": 69, "text": "const model = readFileSync(join(webui, 'editor/model.mjs'), 'utf8');" }, { "test": "packages/webui/tests/helpers/editor-bundle.mjs", "line": 1, "text": "// Loads src/public/editor.js (and markdown-preview.js, the link gate it needs) into a vm context with a" }, { "test": "packages/webui/tests/helpers/editor-bundle.mjs", "line": 15, "text": "for (const f of ['markdown-preview.js', 'editor.js']) vm.runInContext(readFileSync(join(pub, f), 'utf8'), sandbox, { filename: f });" }, { "test": "packages/plugins/tests/harness.test.mjs", "line": 44, "text": "// pi 0.85.1 --thinking and claude 2.1.302 --effort, as probed (BUILD.md); claude has no off or minimal." }, { "test": "packages/bus/tests/revoke-window.test.mjs", "line": 4, "text": "// a limit stub and a usage stub for the limit stop. BUILD.md (agents/morgana/work/queue-306) names" }, { "test": "packages/bus/tests/access-revoke.test.mjs", "line": 5, "text": "// lstat key; `edit` changes the document and the stamp together, as a hand edit does. BUILD.md" }, { "test": "packages/bus/tests/land.test.mjs", "line": 410, "text": "// landHeld still counts it, so it stays listed (BUILD.md follow-up 5)." }, { "test": "packages/bus/tests/session-clear.test.mjs", "line": 13, "text": "// docs/plans/2026-10-21_t1-sessions.md, the contract in agents/gizmoduck/work/queue-271/BUILD.md." }, { "test": "packages/bus/tests/grant-executor.test.mjs", "line": 1027, "text": "// credential-unavailable; BUILD.md records the difference)." }, { "test": "packages/bus/tests/host-run.test.mjs", "line": 343, "text": "// the options are checked here and the call runs with an alias no user file holds (BUILD.md)." }, { "test": "packages/business/tests/workflow-roles.test.mjs", "line": 123, "text": "// of staff launches it. The broker and launcher states are row 137's tests (BUILD.md, round 3)." }, { "test": "packages/business/tests/access.test.mjs", "line": 1, "text": "// FED R1 (#414, row 201): the access file loader and validator, DESIGN.md" }, { "test": "packages/cli/tests/revoke-window.test.mjs", "line": 9, "text": "// poll, with threadsState replaced by the caller. BUILD.md (agents/morgana/work/queue-306) names the" }, { "test": "packages/cli/tests/stack-instances.test.mjs", "line": 3, "text": "// T table: agents/darkwing/work/queue-190/DESIGN.md D7. The unit, port and release cases are T56 in" }, { "test": "packages/cli/tests/session-launch.test.mjs", "line": 297, "text": "// Q2 (BUILD.md:177-179, t1-sessions.md:109): an earlier host's sessionless run of the instance is" }, { "test": "packages/cli/tests/case1-accept.test.mjs", "line": 2, "text": "// (agents/darkwing/work/queue-195/DESIGN.md); deviations in agents/darkwing/work/queue-195/BUILD.md." }, { "test": "packages/cli/tests/stack-release.test.mjs", "line": 4, "text": "// agents/darkwing/work/queue-162/BUILD.md. Every run uses a temp data root, temp units and stand-in" }, { "test": "packages/cli/tests/stack-release.test.mjs", "line": 915, "text": "// COUNTED or dropped from it shows here. Row 181's BUILD.md names each writer." }, { "test": "packages/cli/tests/stack-release.test.mjs", "line": 928, "text": "task_comment_cursors:'no time column; a restore drops its advances uncounted (BUILD.md)'," }, { "test": "packages/cli/tests/stack-release.test.mjs", "line": 1668, "text": "// refusal is the guard for a file that changes after that (BUILD.md, round 2)." }, { "test": "packages/cli/tests/stack-release.test.mjs", "line": 2331, "text": "// agents/darkwing/work/queue-190/DESIGN.md. T-I1, T-I2, T-I5, T-I10 and the loader half of T-I7 are in" }, { "test": "packages/cli/tests/publish-socket.test.mjs", "line": 236, "text": "// sage-1440 on BUILD.md 14: a push between checkPublish and the git push refuses, with one code" }, { "test": "packages/cli/tests/stack-upgrade.test.mjs", "line": 3, "text": "// agents/darkwing/work/queue-195/DESIGN.md, as the I3 brief changes them; deviations:" }, { "test": "packages/cli/tests/stack-upgrade.test.mjs", "line": 4, "text": "// agents/darkwing/work/queue-233/BUILD.md. The stand-ins and the module fixture are" }, { "test": "packages/cli/tests/stack-release-external.test.mjs", "line": 2, "text": "// test list, agents/darkwing/work/queue-195/DESIGN.md; deviations: agents/darkwing/work/queue-232/BUILD.md." }, { "test": "packages/cli/tests/case1-hostcheck.test.mjs", "line": 3, "text": "// (agents/darkwing/work/queue-195/DESIGN.md at b7239bb66). Every case copies the script into a scratch" }, { "test": "packages/cli/tests/thread-revoke.test.mjs", "line": 5, "text": "// The bus half is packages/bus/tests/access-revoke.test.mjs; BUILD.md" }, { "test": "packages/cli/tests/access.test.mjs", "line": 308, "text": "// outside R5 (BUILD.md). The test pins it, and nothing is written." }, { "test": "packages/cli/tests/access.test.mjs", "line": 316, "text": "// Row 193c (#1705): `user add` and `user remove`. BUILD.md (agents/megavolt/work/queue-207) names" }, { "test": "packages/cli/tests/access.test.mjs", "line": 455, "text": "// refuses access.reload alone, as a bus would refuse a call it can't take. BUILD.md" }, { "test": "packages/cli/tests/launcher.test.mjs", "line": 799, "text": "// The run directory exists by then (BUILD.md residual); the persona is read before any bundle file." }, { "test": "packages/cli/tests/lifecycle.test.mjs", "line": 778, "text": "// N6 (sage-2246, DESIGN.md:118-120): an end signals the runs the verb named and the instance's runs" } ], "row266": { "ref": "origin/fethry/row266", "tip": "6418ec063389728e0d8883c94812b12d2074eb43", "diffBase": "487500a16f4ab5902c318509fdec6acc56a543ca", "overlap": [] }, "interpretation": "No literal SHA256 or Git-blob hash pins found for planned changed files. Editor provenance compares generated output to BUILD.json and requires regeneration/rebuild, not an external fixed hash.", "postBuildAudit": { "paths": [ "BUILD-LOG.md", "agents/herb/work/queue-214/BUILD.md", "agents/herb/work/queue-214/DESIGN.md", "agents/herb/work/queue-214/EVIDENCE.json", "agents/herb/work/queue-214/HASH-PINS.json", "agents/herb/work/queue-214/MANIFEST.md", "agents/herb/work/queue-214/SOURCE.json", "agents/herb/work/queue-214/granted-4286/baseline-red.log", "agents/herb/work/queue-214/granted-4286/build.log", "agents/herb/work/queue-214/granted-4286/editor-browser-green.log", "agents/herb/work/queue-214/granted-4286/editor-green.log", "agents/herb/work/queue-214/granted-4286/final-sweep.json", "agents/herb/work/queue-214/granted-4286/invalid-escaping-build.log", "agents/herb/work/queue-214/granted-4286/invalid-escaping-red.log", "agents/herb/work/queue-214/granted-4286/invalid-escaping-restore-build.log", "agents/herb/work/queue-214/granted-4286/invalid-escaping-restore-green.log", "agents/herb/work/queue-214/granted-4286/measurement.log", "agents/herb/work/queue-214/granted-4286/mutants.json", "agents/herb/work/queue-214/granted-4286/mutants.py", "agents/herb/work/queue-214/granted-4286/npm-ci.log", "agents/herb/work/queue-214/granted-4286/post-mutant-sweep.json", "agents/herb/work/queue-214/granted-4286/provenance-green.log", "agents/herb/work/queue-214/granted-4286/results.jsonl", "agents/herb/work/queue-214/granted-4286/serializer-removal-build.log", "agents/herb/work/queue-214/granted-4286/serializer-removal-red.log", "agents/herb/work/queue-214/granted-4286/serializer-removal-restore-build.log", "agents/herb/work/queue-214/granted-4286/serializer-removal-restore-green.log", "agents/herb/work/queue-214/granted-4286/settings.json", "agents/herb/work/queue-214/granted-4286/skips.json", "agents/herb/work/queue-214/granted-4286/step.py", "agents/herb/work/queue-214/granted-4286/webui-69.log", "agents/herb/work/queue-214/granted-4286/webui-files.txt", "agents/herb/work/queue-214/granted-4286/webui-whole.log", "agents/herb/work/queue-214/granted-4286/wikilink-green.log", "agents/herb/work/queue-214/measure.mjs", "agents/herb/work/queue-214/measurement.json", "packages/webui/editor/BUILD.json", "packages/webui/editor/model.mjs", "packages/webui/src/public/editor.js", "packages/webui/tests/editor-wikilink.test.mjs", "packages/webui/tests/helpers/wikilink-cases.mjs" ], "literalCurrentOrPriorHashPins": [], "buildOutputsValidated": true } }