Files

324 lines
14 KiB
JSON

{
"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
}
}