Static direct-reader inventory for row329 (import/literal fragments; joined paths included).
Broad bus/CLI suites and webui pinned-copy cover these direct readers where in builder scope; landing gate covers remaining packages.
packages/webui/tests/chat.test.mjs:296:   const cli = fileURLToPath(new URL('../src/cli.mjs', import.meta.url));
packages/webui/tests/thread-claims.test.mjs:64:   const r = spawnSync(process.execPath, [new URL('../src/cli.mjs', import.meta.url).pathname, 'serve', '--business', 'acme', '--port', '0'],
packages/webui/tests/pinned-copy.test.mjs:76:   assert.deepEqual(readdirSync(join(target, 'scripts')), ['case2-persona-import.mjs', 'mosaic', 'mosaic-config.mjs']);
packages/webui/tests/pinned-copy.test.mjs:90:   const config = join(target, 'scripts', 'mosaic-config.mjs');
packages/webui/tests/pinned-copy.test.mjs:149:   // Row 190: the entry point runs scripts/mosaic-config.mjs to select the
packages/webui/tests/send.test.mjs:20: const CLI = fileURLToPath(new URL('../src/cli.mjs', import.meta.url));
packages/webui/tests/sso.test.mjs:22: const CLI = fileURLToPath(new URL('../src/cli.mjs', import.meta.url));
packages/webui/tests/serve.test.mjs:109:     const result = spawnSync(process.execPath, [fileURLToPath(new URL('../src/cli.mjs', import.meta.url)), ...args], { encoding: 'utf8' });
packages/webui/tests/preview.test.mjs:19: const CLI = fileURLToPath(new URL('../src/cli.mjs', import.meta.url));
packages/webui/tests/decide-sso.test.mjs:186:   const cli = readFileSync(new URL('../src/cli.mjs', import.meta.url), 'utf8');
packages/webui/tests/library-cli.test.mjs:24:   const result = spawnSync(process.execPath, [new URL('../src/cli.mjs', import.meta.url).pathname,
packages/webui/tests/proof-cli.test.mjs:14: const CLI = new URL('../src/cli.mjs', import.meta.url).pathname;
packages/webui/tests/bus.test.mjs:331:   const cli = fileURLToPath(new URL('../src/cli.mjs', import.meta.url));
packages/webui/tests/tester-cli.test.mjs:15: const CLI = new URL('../src/cli.mjs', import.meta.url).pathname;
packages/discord/tests/library-seat.test.mjs:17: const CLI = fileURLToPath(new URL("../src/cli.mjs", import.meta.url));
packages/discord/tests/recover.test.mjs:18: const cli = fileURLToPath(new URL("../src/cli.mjs", import.meta.url));
packages/discord/tests/processing.test.mjs:61:     const r = spawnSync(process.execPath, [new URL('../src/cli.mjs', import.meta.url).pathname, command, d.raw.name, '--config', d.config, '--repo', repo], { encoding: 'utf8', timeout: 5000 });
packages/discord/tests/offline-check.test.mjs:8: const CLI=fileURLToPath(new URL('../src/cli.mjs',import.meta.url));
packages/control-board/tests/relaunch.test.mjs:52:     const run = spawnSync(process.execPath, [new URL('../src/cli.mjs', import.meta.url).pathname, 'scan', '--config', config, '--repo', f.root, '--fleet', 'none', '--liveness', 'assume-alive', '--print'], { encoding: 'utf8', timeout: 10000
packages/model-proxy/tests/config-unit.test.mjs:14: test('loader proxy absent is byte-compatible; present validates sidecar and preserves config.json',()=>{const f=fixture(),before=readFileSync(f.file);let r=run(f,'scripts/mosaic-config.mjs',['validate']);assert.equal(r.status,0,r.stderr);as
packages/model-proxy/tests/config-unit.test.mjs:15: test('proxy-config-invalid: loader refuses an unknown sidecar key and binary outside pinned install',()=>{for(const value of [{port:8317,binary:'/bad'},{port:18432,binary:'/bad'},{...{port:18432,binary:'/bad'},future:true}]){const f=fixture
packages/model-proxy/tests/config-unit.test.mjs:16: test('proxy unit and bus dependency render default and named instance only when configured',()=>{for(const name of ['dev','testbox']){const f=fixture(name),flags=name==='dev'?[]:['--instance',name];let r=run(f,'scripts/bus-service.sh',[...f
packages/model-proxy/tests/config-unit.test.mjs:20: test('proxy-config-invalid: instance selection also refuses invalid present sidecar',()=>{const f=fixture();writeFileSync(join(f.configDir,'proxy.json'),'{');const r=run(f,'scripts/mosaic-config.mjs',['instance']);assert.equal(r.status,2);a
packages/model-proxy/tests/config-unit.test.mjs:23: test('historical no-proxy config loader works without new package dependency',()=>{const f=fixture();const copy=join(f.root,'historical/scripts');mkdirSync(copy,{recursive:true});writeFileSync(join(copy,'mosaic-config.mjs'),readFileSync(joi
packages/bus/tests/revoke-window.test.mjs:13: import { Broker } from '../src/broker.mjs';
packages/bus/tests/viewer.test.mjs:14: } from '../src/broker.mjs';
packages/bus/tests/review.test.mjs:14: import { Broker } from '../src/broker.mjs';
packages/bus/tests/task-page.test.mjs:7: import { Broker, TASK_PAGE, TASK_PAGE_MAX } from '../src/broker.mjs';
packages/bus/tests/spec-socket.test.mjs:6: import { serve } from '../src/server.mjs';
packages/bus/tests/user-principal.test.mjs:16: } from '../src/broker.mjs';
packages/bus/tests/grant-migration.test.mjs:10: import { Broker } from '../src/broker.mjs';
packages/bus/tests/gitea-grant.test.mjs:12: import { Broker, GRANT_EVIDENCE, writeGrantEvent } from '../src/broker.mjs';
packages/bus/tests/model-proxy.test.mjs:7: import { Broker } from '../src/broker.mjs';
packages/bus/tests/model-proxy.test.mjs:15: test('socket awaits proxy.init and does not return a Promise object or retain human cap',async t=>{const {serve}=await import('../src/server.mjs');const {Client}=await import('../src/client.mjs');const f=fixture(t,async()=>{await new Promis
packages/bus/tests/thread-claims.test.mjs:11: import { Broker } from '../src/broker.mjs';
packages/bus/tests/credential-status.test.mjs:12: import { Broker } from '../src/broker.mjs';
packages/bus/tests/library-credential.test.mjs:16: import { Broker, GRANT_EVIDENCE, LIBRARY_FETCH_FIX, writeGrantEvent } from '../src/broker.mjs';
packages/bus/tests/library-credential.test.mjs:19: import { startBroker } from '../src/runtime.mjs';
packages/bus/tests/limits.test.mjs:7: import {Broker} from '../src/broker.mjs';
packages/bus/tests/limits.test.mjs:20:  const {startBroker}=await import('../src/runtime.mjs');const {businessDoc,rolesCopy,systemFor,writeJson}=await import('../../business/tests/helpers.mjs');const {readFileSync}=await import('node:fs');
packages/bus/tests/limits.test.mjs:27:  const {startBroker}=await import('../src/runtime.mjs');const {businessDoc,rolesCopy,systemFor,writeJson}=await import('../../business/tests/helpers.mjs');const {organizationWriter}=await import('../../business/src/organization.mjs');const
packages/bus/tests/publish.test.mjs:14: import { Broker } from '../src/broker.mjs';
packages/bus/tests/publish.test.mjs:221:   const { ACTIONS, HARD_WAITS } = await import('../src/broker.mjs');
packages/bus/tests/publish.test.mjs:234:   const { startBroker } = await import('../src/runtime.mjs');
packages/bus/tests/message-citation.test.mjs:6: import { Broker } from '../src/broker.mjs';
packages/bus/tests/approval-binding.test.mjs:7: import { Broker } from '../src/broker.mjs';
packages/bus/tests/access-revoke.test.mjs:14: import { Broker } from '../src/broker.mjs';
packages/bus/tests/access-revoke.test.mjs:15: import { ACCESS_SWEEP_MS, startBroker } from '../src/runtime.mjs';
packages/bus/tests/messages.test.mjs:3: import { Broker } from '../src/broker.mjs';
packages/bus/tests/csuite-messaging.test.mjs:12: import { Broker } from '../src/broker.mjs';
packages/bus/tests/rooms.test.mjs:8: import { Broker, THREAD_PAGE, THREAD_PAGE_MAX, TESTER_VERBS } from '../src/broker.mjs';
packages/bus/tests/messaging.test.mjs:8: import { Broker } from '../src/broker.mjs';
packages/bus/tests/citation-availability.test.mjs:10: import { serve } from '../src/server.mjs';
packages/bus/tests/citation-guard.test.mjs:7: import { serve } from '../src/server.mjs';
packages/bus/tests/tester-threads.test.mjs:11: import { Broker } from '../src/broker.mjs';
packages/bus/tests/state.test.mjs:7: import { Broker, TASK_PAGE } from '../src/broker.mjs';
packages/bus/tests/workflow-roles.test.mjs:11: import { Broker } from '../src/broker.mjs';
packages/bus/tests/citation-runtime.test.mjs:7: import { startBroker } from '../src/runtime.mjs';
packages/bus/tests/fire-revokes-grants.test.mjs:15: import { Broker, GRANT_EVIDENCE, registrySha256 } from '../src/broker.mjs';
packages/bus/tests/thread-migration.test.mjs:11: import { Broker } from '../src/broker.mjs';
packages/bus/tests/room-check.test.mjs:6: import { Broker } from '../src/broker.mjs';
packages/bus/tests/web.test.mjs:8: import { Broker, BusError, WEB_UNTRUSTED } from '../src/broker.mjs';
packages/bus/tests/web.test.mjs:9: import { serve } from '../src/server.mjs';
packages/bus/tests/web.test.mjs:283:   const { webServices } = await import('../src/runtime.mjs');
packages/bus/tests/transport.test.mjs:8: import { Broker } from '../src/broker.mjs';
packages/bus/tests/transport.test.mjs:9: import { serve } from '../src/server.mjs';
packages/bus/tests/comment-cursors.test.mjs:7: import { Broker } from '../src/broker.mjs';
packages/bus/tests/gitea-grant-docker.test.mjs:16: import { Broker, GRANT_EVIDENCE } from '../src/broker.mjs';
packages/bus/tests/peer-transport.test.mjs:7: import { serve } from '../src/server.mjs';
packages/bus/tests/peer-transport.test.mjs:9: import { BusError } from '../src/broker.mjs';
packages/bus/tests/peer-transport.test.mjs:47:  const {TASK_VERBS,BusError}=await import('../src/broker.mjs');
packages/bus/tests/land.test.mjs:18: import { Broker } from '../src/broker.mjs';
packages/bus/tests/thread-shares.test.mjs:14: import { Broker } from '../src/broker.mjs';
packages/bus/tests/plugins-verb.test.mjs:9: import { Broker } from '../src/broker.mjs';
packages/bus/tests/plugins-verb.test.mjs:34:   const { startBroker } = await import('../src/runtime.mjs');
packages/bus/tests/plugins-verb.test.mjs:69:   const { startBroker } = await import('../src/runtime.mjs');
packages/bus/tests/decision-close.test.mjs:9: import { Broker } from '../src/broker.mjs';
packages/bus/tests/grant-scope.test.mjs:14: import { Broker, GRANT_EVIDENCE, writeGrantEvent } from '../src/broker.mjs';
packages/bus/tests/project-await.test.mjs:7: import { Broker, BusError } from '../src/broker.mjs';
packages/bus/tests/launcher-released.test.mjs:8: import { Broker } from '../src/broker.mjs';
packages/bus/tests/session-clear.test.mjs:10: import { Broker } from '../src/broker.mjs';
packages/bus/tests/task-read.test.mjs:7: import { Broker } from '../src/broker.mjs';
packages/bus/tests/message-filter.test.mjs:12: import { Broker, REPLIES } from '../src/broker.mjs';
packages/bus/tests/processing-runtime.test.mjs:8: import { startBroker } from '../src/runtime.mjs';
packages/bus/tests/grant-enroll.test.mjs:10: import { Broker, BusError, writeGrantEvent, registrySha256 } from '../src/broker.mjs';
packages/bus/tests/limit-stop.test.mjs:12: import { Broker } from '../src/broker.mjs';
packages/bus/tests/replies.test.mjs:11: import { Broker, REPLIES } from '../src/broker.mjs';
packages/bus/tests/launch-notice.test.mjs:8: import { Broker } from '../src/broker.mjs';
packages/bus/tests/broker.test.mjs:10: const { Broker } = await import('../src/broker.mjs').catch((e) => {
packages/bus/tests/project-runtime.test.mjs:6: import { startBroker } from '../src/runtime.mjs';
packages/bus/tests/project-runtime.test.mjs:13:   const source = readFileSync(new URL('../src/broker.mjs', import.meta.url), 'utf8');
packages/bus/tests/usage-broker.test.mjs:7: import { Broker } from '../src/broker.mjs';
packages/bus/tests/instances-verb.test.mjs:11: import { Broker, LIFECYCLE_HUMAN_VERBS, ORGANIZATION_KEYS, TESTER_ORGANIZATION_VERBS } from '../src/broker.mjs';
packages/bus/tests/instances-verb.test.mjs:62:   const { startBroker } = await import('../src/runtime.mjs');
packages/bus/tests/routes-verb.test.mjs:13: import { Broker, ORGANIZATION_KEYS } from '../src/broker.mjs';
packages/bus/tests/routes-verb.test.mjs:93:   const { harnessLevels } = await import('../src/runtime.mjs');
packages/bus/tests/routes-verb.test.mjs:103:   const { startBroker } = await import('../src/runtime.mjs');
packages/bus/tests/lifecycle-revoke.test.mjs:11: import { startBroker } from '../src/runtime.mjs';
packages/bus/tests/library-lookups.test.mjs:8: import { Broker } from '../src/broker.mjs';
packages/bus/tests/library-lookups.test.mjs:9: import { createLibraryLookup, startBroker } from '../src/runtime.mjs';
packages/bus/tests/library-lookups.test.mjs:10: import { serve } from '../src/server.mjs';
packages/bus/tests/grant-executor.test.mjs:15: import { Broker, registrySha256, writeGrantEvent } from '../src/broker.mjs';
packages/bus/tests/single-use.test.mjs:7: import { Broker } from '../src/broker.mjs';
packages/bus/tests/decisions.test.mjs:9: import { Broker, RECENT } from '../src/broker.mjs';
packages/bus/tests/daily-quota-runtime.test.mjs:10: import { Broker } from '../src/broker.mjs';
packages/bus/tests/daily-quota-runtime.test.mjs:17:   const { startBroker } = await import('../src/runtime.mjs');
packages/bus/tests/sessions.test.mjs:10: import { Broker } from '../src/broker.mjs';
packages/bus/tests/requirements.test.mjs:10: import { Broker } from '../src/broker.mjs';
packages/bus/tests/hard-waits.test.mjs:7: import { Broker, ACTIONS, HARD_WAITS } from '../src/broker.mjs';
packages/bus/tests/library.test.mjs:8: import { Broker } from '../src/broker.mjs';
packages/bus/tests/library.test.mjs:9: import { serve } from '../src/server.mjs';
packages/bus/tests/library.test.mjs:11: import { startBroker } from '../src/runtime.mjs';
packages/bus/tests/threads.test.mjs:9: import { Broker, THREAD_PAGE } from '../src/broker.mjs';
packages/bus/tests/tester.test.mjs:10: import { Broker, TASK_VERBS } from '../src/broker.mjs';
packages/bus/tests/tester.test.mjs:11: import { serve } from '../src/server.mjs';
packages/bus/tests/tester.test.mjs:13: import { startBroker } from '../src/runtime.mjs';
packages/bus/tests/limits-runtime.test.mjs:15:   const { startBroker } = await import('../src/runtime.mjs');
packages/bus/tests/creative.test.mjs:8: import { Broker } from '../src/broker.mjs';
packages/bus/tests/creative.test.mjs:9: import { startBroker } from '../src/runtime.mjs';
packages/bus/tests/usage-runtime.test.mjs:6: import { startBroker } from '../src/runtime.mjs';
packages/bus/tests/limit-checks.test.mjs:323:   for (const file of ['../src/runtime.mjs', '../src/broker.mjs', '../src/process.mjs']) {
packages/bus/tests/library-sync.test.mjs:11: import { Broker, LIBRARY_VERBS } from '../src/broker.mjs';
packages/bus/tests/library-sync.test.mjs:12: import { startBroker } from '../src/runtime.mjs';
packages/bus/tests/credential-verbs.test.mjs:10: import { startBroker } from '../src/runtime.mjs';
packages/bus/tests/credential-verbs.test.mjs:11: import { Broker, CREDENTIAL_VERBS } from '../src/broker.mjs';
packages/bus/tests/end-launch.test.mjs:9: import { Broker } from '../src/broker.mjs';
packages/bus/tests/agents.test.mjs:9: import { Broker } from '../src/broker.mjs';
packages/bus/tests/reload.test.mjs:9: import { Broker } from '../src/broker.mjs';
packages/bus/tests/reload.test.mjs:11: import { startBroker } from '../src/runtime.mjs';
packages/bus/tests/names.test.mjs:8: import { Broker } from '../src/broker.mjs';
packages/bus/tests/processing.test.mjs:6: import { Broker } from '../src/broker.mjs';
packages/bus/tests/processing.test.mjs:8: import { serve } from '../src/server.mjs';
packages/bus/tests/chief-of-staff.test.mjs:10: import { Broker, ACTIONS } from '../src/broker.mjs';
packages/bus/tests/chief-of-staff.test.mjs:12: import { startBroker } from '../src/runtime.mjs';
packages/bus/tests/tester-writes.test.mjs:10: import { Broker, TESTER_VERBS, TESTER_ORGANIZATION_VERBS } from '../src/broker.mjs';
packages/bus/tests/tester-writes.test.mjs:11: import { startBroker } from '../src/runtime.mjs';
packages/bus/tests/grant-host.test.mjs:10: import { Broker, registrySha256 } from '../src/broker.mjs';
packages/bus/tests/staff-request.test.mjs:8: import { Broker } from '../src/broker.mjs';
packages/bus/tests/host-run.test.mjs:16: import { Broker, ORGANIZATION_KEYS } from '../src/broker.mjs';
packages/bus/tests/host-run.test.mjs:19: import { startBroker } from '../src/runtime.mjs';
packages/bus/tests/decision-route.test.mjs:12: import { Broker } from '../src/broker.mjs';
packages/bus/tests/grant-scope-runtime.test.mjs:8: import { startBroker } from '../src/runtime.mjs';
packages/bus/tests/tasks.test.mjs:9: import { Broker, BusError, TASK_VERBS } from '../src/broker.mjs';
packages/bus/tests/tasks.test.mjs:10: import { serve } from '../src/server.mjs';
packages/bus/tests/tasks.test.mjs:11: import { startBroker } from '../src/runtime.mjs';
packages/bus/tests/lifecycle-verbs.test.mjs:11: import { Broker, LIFECYCLE_REQUEST_MS, TESTER_VERBS } from '../src/broker.mjs';
packages/bus/tests/lifecycle-verbs.test.mjs:368:   const { startBroker } = await import('../src/runtime.mjs');
packages/bus/tests/project-files.test.mjs:6: import { serve } from '../src/server.mjs';
packages/bus/tests/project-files.test.mjs:8: import { PROJECT_FILE_VERBS } from '../src/broker.mjs';
packages/bus/tests/console-decide.test.mjs:14: import { Broker, CONSOLE_VERBS } from '../src/broker.mjs';
packages/bus/tests/console-decide.test.mjs:16: import { serve } from '../src/server.mjs';
packages/bus/tests/session-compactions.test.mjs:9: import { Broker } from '../src/broker.mjs';
packages/cli/tests/thread-cli.test.mjs:16: import { run } from "../src/cli.mjs";
packages/cli/tests/revoke-window.test.mjs:25: import { bootConfig, loadSystem } from "../src/config.mjs";
packages/cli/tests/usage.test.mjs:3: import { main } from '../src/cli.mjs';
packages/cli/tests/optional-tracker.test.mjs:6: import { bootConfig } from "../src/config.mjs";
packages/cli/tests/follow.test.mjs:3: import {main} from '../src/cli.mjs';
packages/cli/tests/other-tree.test.mjs:3: import { OTHER_TREE, run } from "../src/cli.mjs";
packages/cli/tests/model-proxy.test.mjs:7: import { main } from '../src/cli.mjs';
packages/cli/tests/stack-copy.test.mjs:38:  const s=setup(t);assert.equal(s.run('stack-copy.sh',['copy',s.id,'--copies',s.copies]).status,0);
packages/cli/tests/stack-copy.test.mjs:50:  const s=setup(t),r=s.run('stack-copy.sh',['copy',s.id,'--copies',s.copies]);assert.equal(r.status,0,r.stderr);
packages/cli/tests/stack-copy.test.mjs:56:  const denied=s.run('stack-copy.sh',['copy',s.id,'--copies',s.copies]);assert.notEqual(denied.status,0);assert.match(denied.stderr,/origin\/refactor/);
packages/cli/tests/stack-copy.test.mjs:59:  const s=setup(t);assert.equal(s.run('stack-copy.sh',['copy',s.id,'--copies',s.copies]).status,0);
packages/cli/tests/stack-copy.test.mjs:63:  assert.equal(s.run('stack-copy.sh',['wrapper',s.id,'--copies',s.copies,'--bin',s.bin]).status,0);
packages/cli/tests/stack-copy.test.mjs:73:  assert.equal(s.run('stack-copy.sh',['check','--copies',s.copies,'--bin',s.bin]).status,0);
packages/cli/tests/stack-copy.test.mjs:75:  assert.equal(s.run('stack-copy.sh',['check','--copies',s.copies,'--bin',s.bin]).status,1,'effective ExecStart mismatch');
packages/cli/tests/stack-copy.test.mjs:76:  s.fake(`echo 'LoadState=loaded'; echo 'WorkingDirectory=/other';\n`);assert.equal(s.run('stack-copy.sh',['check','--copies',s.copies,'--bin',s.bin]).status,1);
packages/cli/tests/stack-copy.test.mjs:80:  assert.equal(s.run('stack-copy.sh',['check','--copies',s.copies,'--bin',s.bin]).status,1);
packages/cli/tests/stack-copy.test.mjs:81:  assert.notEqual(s.run('stack-copy.sh',['wrapper',s.id,'--copies',s.copies,'--bin',s.bin]).status,0);assert.equal(readFileSync(wrapper,'utf8'),foreign);
packages/cli/tests/stack-copy.test.mjs:82:  const backing=join(s.bin,'backing');writeFileSync(backing,`#!/usr/bin/env bash\n${marker}\n${lease}\nexec \"/old/scripts/mosaic\" \"$@\"\n`);unlinkSync(wrapper);symlinkSync(backing,wrapper);assert.notEqual(s.run('stack-copy.sh',['wrapper',
packages/cli/tests/stack-copy.test.mjs:85:  const s=setup(t);assert.equal(s.run('stack-copy.sh',['copy',s.id,'--copies',s.copies]).status,0);
packages/cli/tests/stack-copy.test.mjs:88:  const w=s.run('stack-copy.sh',['wrapper',s.id,'--instance','alpha','--copies',s.copies,'--bin',s.bin]);assert.equal(w.status,0,w.stderr);
packages/cli/tests/stack-copy.test.mjs:90:  const check=()=>s.run('stack-copy.sh',['check','--instance','alpha','--copies',s.copies,'--bin',s.bin,'--business','demo']);
packages/cli/tests/stack-copy.test.mjs:102:  const s=setup(t);assert.equal(s.run('stack-copy.sh',['copy',s.id,'--copies',s.copies]).status,0);
packages/cli/tests/stack-copy.test.mjs:104:  const render=s.run('bus-service.sh',['render',...args]);assert.equal(render.status,0,render.stderr);assert.match(render.stdout,new RegExp(`WorkingDirectory=${s.copies}/${s.id}`));assert.match(render.stdout,/bus start %i --pm/);
packages/cli/tests/stack-copy.test.mjs:106:  for(const state of ['active','activating','deactivating','reloading']){s.fake(`echo 'mosaic-bus@demo.service loaded ${state} running fixture';\n`);const r=s.run('bus-service.sh',['install',...args,'--dir',units,'--no-reload']);assert.notEq
packages/cli/tests/stack-copy.test.mjs:107:  s.fake('exit 1\n');assert.notEqual(s.run('bus-service.sh',['install',...args,'--dir',units,'--no-reload']).status,0);assert.ok(!existsSync(units));
packages/cli/tests/stack-copy.test.mjs:110:  const refused=s.run('bus-service.sh',['install',...args,'--dir',units,'--no-reload']);assert.notEqual(refused.status,0);assert.ok(refused.stderr.includes(drop));assert.ok(!existsSync(units));
packages/cli/tests/stack-copy.test.mjs:111:  writeFileSync(drop,'[Service]\nEnvironment=SAFE=1\n');assert.equal(s.run('bus-service.sh',['install',...args,'--dir',units,'--no-reload']).status,0);
packages/cli/tests/stack-copy.test.mjs:118:  const r=s.run('stack-copy.sh',['copy',id,'--copies',s.copies]);assert.notEqual(r.status,0);assert.match(r.stderr,/package.json/);assert.ok(!existsSync(called));assert.ok(!existsSync(join(s.copies,id)));
packages/cli/tests/stack-copy.test.mjs:121:  const absent=s.run('stack-copy.sh',['copy',s.id,'--copies',s.copies]);assert.notEqual(absent.status,0);assert.match(absent.stderr,/package.json.*missing/);assert.ok(!existsSync(called));unlinkSync(tar);
packages/cli/tests/stack-copy.test.mjs:122:  const fail=s.run('stack-copy.sh',['copy',s.id,'--copies',s.copies]);assert.notEqual(fail.status,0);assert.match(fail.stderr,/npm ci failed/);assert.ok(existsSync(called));assert.deepEqual(execFileSync('ls',['-A',s.copies],{encoding:'utf8'}
packages/cli/tests/stack-copy.test.mjs:135:  const copied=s.run('stack-copy.sh',['copy',s.id,'--copies',s.copies]);assert.equal(copied.status,0,copied.stderr);
packages/cli/tests/stack-copy.test.mjs:183:  const s=setup(t);assert.equal(s.run('stack-copy.sh',['copy',s.id,'--copies',s.copies]).status,0);
packages/cli/tests/stack-copy.test.mjs:187:  const status=s.run('bus-service.sh',['status','demo']);assert.equal(status.status,0,status.stderr);assert.match(status.stdout,new RegExp(`copy: ${s.id}`));assert.match(status.stdout,/pm: on/);assert.ok(status.stdout.includes(drop));
packages/cli/tests/stack-copy.test.mjs:196:   const r=s.run('bus-service.sh',['install','--dir',units,'--no-reload']);assert.notEqual(r.status,0);assert.ok(r.stderr.includes(drop));assert.ok(!existsSync(units));
packages/cli/tests/stack-copy.test.mjs:198:  s.fake('exit 0\n');s.analyze('exit 0\n');const unknown=s.run('bus-service.sh',['install','--dir',units,'--no-reload']);assert.notEqual(unknown.status,0);assert.match(unknown.stderr,/unknown/);
packages/cli/tests/stack-copy.test.mjs:200:  s.fake("echo 'mosaic-bus@demo.service loaded active running fixture'\n");assert.notEqual(s.run('bus-service.sh',['uninstall','--dir',units,'--no-reload']).status,0);assert.equal(readFileSync(file,'utf8'),'unchanged');
packages/cli/tests/stack-copy.test.mjs:207:  const result=s.run('bus-service.sh',['install','--dir',units,'--no-reload']);assert.equal(result.status,0,result.stderr);
packages/cli/tests/stack-copy.test.mjs:213:  const denied=s.run('bus-service.sh',['install','--dir',units,'--no-reload']);assert.notEqual(denied.status,0);assert.ok(denied.stderr.includes(file));assert.equal(readFileSync(join(units,'mosaic-bus@.service'),'utf8'),before);
packages/cli/tests/stack-copy.test.mjs:220:  const denied=s.run('bus-service.sh',['install','--dir',units,'--no-reload']);assert.notEqual(denied.status,0);assert.ok(denied.stderr.includes(file));assert.ok(!existsSync(units));
packages/cli/tests/stack-copy.test.mjs:221:  s.analyze('exit 1\n');const failed=s.run('bus-service.sh',['install','--dir',units,'--no-reload']);assert.notEqual(failed.status,0);assert.match(failed.stderr,/unit-paths failed/);assert.ok(!existsSync(units));
packages/cli/tests/stack-copy.test.mjs:232:   const denied=s.run('bus-service.sh',['install','--dir',units,'--no-reload']);
packages/cli/tests/stack-copy.test.mjs:236:  const allowed=s.run('bus-service.sh',['install','--dir',units,'--no-reload']);assert.equal(allowed.status,0,allowed.stderr);
packages/cli/tests/stack-copy.test.mjs:241:  const dir=s.run('bus-service.sh',['install','--dir',units,'--no-reload']);assert.equal(dir.status,1);assert.ok(dir.stderr.includes(dropdir));assert.equal(readFileSync(target,'utf8'),'previous unit bytes');
packages/cli/tests/stack-copy.test.mjs:243:  const broken=s.run('bus-service.sh',['install','--dir',units,'--no-reload']);assert.equal(broken.status,1);assert.ok(broken.stderr.includes(file));assert.equal(readFileSync(target,'utf8'),'previous unit bytes');
packages/cli/tests/stack-copy.test.mjs:260:  let r=s.run('stack-copy.sh',['copy',s.id,'--copies',a]);assert.equal(r.status,0,r.stderr);
packages/cli/tests/stack-copy.test.mjs:261:  r=s.run('stack-copy.sh',['copy','--bundle',good,s.id,'--copies',b]);assert.equal(r.status,0,r.stderr);
packages/cli/tests/stack-copy.test.mjs:269:  r=s.run('stack-copy.sh',['copy','--bundle',good,s.id,'--copies',b]);assert.equal(r.status,0,r.stderr);
packages/cli/tests/stack-copy.test.mjs:273:  r=spawnSync(join(s.repo,'scripts','stack-copy.sh'),['copy','--bundle','good.bundle',s.id,'--copies',c],{cwd:s.root,env:s.env,encoding:'utf8'});
packages/cli/tests/stack-copy.test.mjs:293:   r=s.run('stack-copy.sh',['copy','--bundle',bundle,id,'--copies',d]);
packages/cli/tests/stack-copy.test.mjs:299:  r=s.run('stack-copy.sh',['copy','--bundle',link,s.id,'--copies',d]);assert.equal(r.status,1);assert.match(r.stderr,/symlink/);
packages/cli/tests/stack-copy.test.mjs:301:   assert.equal(s.run('stack-copy.sh',args).status,4,args.join(' '));
packages/cli/tests/stack-copy.test.mjs:304:  const s=setup(t);assert.equal(s.run('stack-copy.sh',['copy',s.id,'--copies',s.copies]).status,0);
packages/cli/tests/stack-copy.test.mjs:306:  let r=s.run('stack-copy.sh',['wrapper',s.id,'--copies',s.copies,'--bin',s.bin]);
packages/cli/tests/stack-copy.test.mjs:308:  r=s.run('stack-copy.sh',['wrapper',s.id,'--copies',s.copies,'--bin',s.bin,'--create']);assert.equal(r.status,0,r.stderr);
packages/cli/tests/stack-copy.test.mjs:311:  r=s.run('stack-copy.sh',['wrapper',s.id,'--copies',s.copies,'--bin',s.bin]);assert.equal(r.status,0,r.stderr);
packages/cli/tests/stack-copy.test.mjs:316:   r=s.run('stack-copy.sh',['wrapper',s.id,'--copies',s.copies,'--bin',s.bin,'--create']);
packages/cli/tests/stack-copy.test.mjs:324:  r=s.run('stack-copy.sh',['wrapper',s.id,'--instance','alpha','--copies',s.copies,'--bin',s.bin,'--create']);assert.equal(r.status,0,r.stderr);
packages/cli/tests/stack-copy.test.mjs:326:  r=s.run('stack-copy.sh',['wrapper',s.id,'--instance','alpha','--copies',s.copies,'--bin',s.bin]);assert.equal(r.status,0,r.stderr);
packages/cli/tests/stack-copy.test.mjs:328:  r=s.run('stack-copy.sh',['wrapper',s.id,'--instance','alpha','--copies',s.copies,'--bin',s.bin,'--create']);
packages/cli/tests/stack-copy.test.mjs:332:  const s=setup(t);assert.equal(s.run('stack-copy.sh',['copy',s.id,'--copies',s.copies]).status,0);
packages/cli/tests/stack-copy.test.mjs:333:  assert.equal(s.run('stack-copy.sh',['wrapper',s.id,'--copies',s.copies,'--bin',s.bin,'--create']).status,0);
packages/cli/tests/stack-copy.test.mjs:337:  let r=s.run('stack-copy.sh',['check','--copies',s.copies,'--bin',s.bin,'--units','external']);assert.equal(r.status,0,r.stderr);assert.equal(r.stdout,want);
packages/cli/tests/stack-copy.test.mjs:343:   r=s.run('stack-copy.sh',['check','--copies',s.copies,'--bin',s.bin,...args]);assert.equal(r.status,0,r.stderr);assert.equal(r.stdout,want);
packages/cli/tests/stack-copy.test.mjs:360:    const r=spawnSync('/bin/sh',['-c',enter,'stack-copy-cwd',cwd,join(s.repo,'scripts','stack-copy.sh'),...args,'--copies',copies],{env:s.env,encoding:'utf8',timeout:30000});
packages/cli/tests/limits.test.mjs:6: import {main} from '../src/cli.mjs';
packages/cli/tests/access-boot.test.mjs:14: import { bootConfig, loadSystem } from "../src/config.mjs";
packages/cli/tests/stack-instances.test.mjs:20: const CONFIG = join(SCRIPTS, "mosaic-config.mjs");
packages/cli/tests/stack-instances.test.mjs:22: const BUS_SERVICE = join(SCRIPTS, "bus-service.sh");
packages/cli/tests/stack-instances.test.mjs:24: const STACK_COPY = join(SCRIPTS, "stack-copy.sh");
packages/cli/tests/stack-instances.test.mjs:41: // sage-1918). mosaic-config.mjs creates with 0644 and lets the umask narrow it.
packages/cli/tests/hosts.test.mjs:9: import { main } from "../src/cli.mjs";
packages/cli/tests/session-launch.test.mjs:29: import { bootConfig, loadSystem } from "../src/config.mjs";
packages/cli/tests/federation-acceptance.test.mjs:18: import { socketPath, REPO } from '../src/config.mjs';
packages/cli/tests/boot-status.test.mjs:15: const CLI = fileURLToPath(new URL("../src/cli.mjs", import.meta.url));
packages/cli/tests/trackers-boot.test.mjs:8: import { bootConfig, loadSystem } from "../src/config.mjs";
packages/cli/tests/tester-threads.test.mjs:18: import { run } from "../src/cli.mjs";
packages/cli/tests/mark-read.test.mjs:5: import {main} from '../src/cli.mjs';
packages/cli/tests/session-cli.test.mjs:4: import { run } from '../src/cli.mjs';
packages/cli/tests/stack-release.test.mjs:35:  assert.match(bad.err,/^stack-release: refusing check-failed: stack-copy.sh check did not pass:\nbus: /);
packages/cli/tests/stack-release.test.mjs:468:  // A repo of its own, so the stand-in check replaces stack-copy.sh for this test only. Sourced, the
packages/cli/tests/stack-release.test.mjs:471:  const sc=join(own,'scripts','stack-copy.sh'),at=join(COPIES,B);cpSync(sc,join(own,'scripts','stack-copy.real.sh'));
packages/cli/tests/stack-release.test.mjs:1907: // mosaic-config.mjs, with stand-ins for the bus host (cli.mjs), the Console, the Store and
packages/cli/tests/stack-release.test.mjs:1991:  for(const p of ['scripts/mosaic','scripts/mosaic-config.mjs','packages/cli/src/config.mjs','packages/cli/src/errors.mjs','packages/cli/src/access.mjs','packages/cli/src/transport.mjs','packages/bus/src/business.mjs','packages/plugins/src/k
packages/cli/tests/stack-release.test.mjs:2365:     bus:shOut(x.env,'bus-service.sh','render','--instance',x.name,'--copy',B,'--copies',COPIES,'--claude',e.claude),
packages/cli/tests/stack-release.test.mjs:2465:   const i=shOut(x.env,'bus-service.sh','install','--copy',C1,'--copies',COPIES,'--claude',e.claude);
packages/cli/tests/stack-release.test.mjs:2616:  const undo=anyConfigLoader(join(COPIES,B,'scripts/mosaic-config.mjs'),`console.error(${JSON.stringify(why)});process.exitCode=2;\n`);
packages/cli/tests/stack-release.test.mjs:2634:  const original=readFileSync(e.cfg,'utf8'),now=join(COPIES,C1,'scripts/mosaic-config.mjs');
packages/cli/tests/stack-release.test.mjs:2636:  const undo=anyConfigLoader(join(COPIES,B,'scripts/mosaic-config.mjs'),PRE270(readFileSync(now,'utf8')));
packages/cli/tests/stack-release.test.mjs:2651:  const undos=[B,C1].map(id=>anyConfigLoader(join(COPIES,id,'scripts/mosaic-config.mjs'),`import fs from 'node:fs';fs.appendFileSync(${JSON.stringify(witness)},JSON.stringify({copy:${JSON.stringify(id)},args:process.argv.slice(2),config:proc
packages/cli/tests/stack-release.test.mjs:2679:   assert.equal(r.status,3,r.stderr);assert.equal(r.stderr,`config-console-key: ${KEY_MSG(e,'old','activate','it has no scripts/mosaic-config.mjs')}\n`);
packages/cli/tests/stack-release.test.mjs:2683:  const e=await mk(t),file=join(e.root,'target-copies/old/scripts/mosaic-config.mjs'),witness=join(e.root,'validate-called');
packages/cli/tests/project-name-repo.test.mjs:7: import { run } from '../src/cli.mjs';
packages/cli/tests/cli.test.mjs:4: import { main, readNotifyConfig } from "../src/cli.mjs";
packages/cli/tests/session-clear.test.mjs:24: import { bootConfig, loadSystem } from "../src/config.mjs";
packages/cli/tests/idle-stop-race.test.mjs:23: import { bootConfig, loadSystem } from "../src/config.mjs";
packages/cli/tests/tester-reads.test.mjs:11: import { main } from "../src/cli.mjs";
packages/cli/tests/grants.test.mjs:10: import { main } from "../src/cli.mjs";
packages/cli/tests/credentials.test.mjs:9: import { main } from "../src/cli.mjs";
packages/cli/tests/compactions-launch.test.mjs:32: import { bootConfig, loadSystem } from "../src/config.mjs";
packages/cli/tests/host.test.mjs:11: import { bootConfig, loadSystem, REPO } from "../src/config.mjs";
packages/cli/tests/host.test.mjs:17: const CLI = fileURLToPath(new URL("../src/cli.mjs", import.meta.url));
packages/cli/tests/host.test.mjs:837: test("bus-service.sh renders the unit and installs it into a given directory", (t) => {
packages/cli/tests/host.test.mjs:839:   const script = join(REPO, "scripts", "bus-service.sh");
packages/cli/tests/host.test.mjs:875: test("bus-service.sh pins the claude binary, refuses one the unit can't carry, and renders without one", (t) => {
packages/cli/tests/host.test.mjs:877:   const script = join(REPO, "scripts", "bus-service.sh");
packages/cli/tests/host.test.mjs:944: test("bus-service.sh refuses a directory pin and keeps a symlink default unresolved", (t) => {
packages/cli/tests/host.test.mjs:946:   const script = join(REPO, "scripts", "bus-service.sh");
packages/cli/tests/host.test.mjs:996: test("bus-service.sh refuses a default claude without the execute bit, or in a PATH dir with a space", (t) => {
packages/cli/tests/host.test.mjs:998:   const script = join(REPO, "scripts", "bus-service.sh");
packages/cli/tests/stack-upgrade.test.mjs:64:  sh('bus-service.sh','install','--copy',copy,'--copies',copies,...(pre.includes('--pm')?['--pm']:[]),'--claude',get('--claude'));
packages/cli/tests/stack-upgrade.test.mjs:113:  sh('bus-service.sh','install','--copy',copy,'--copies',e.hc,'--claude',e.claude);
packages/cli/tests/stack-upgrade.test.mjs:115:  sh('stack-copy.sh','wrapper',copy,'--copies',e.hc,'--bin',e.bin);
packages/cli/tests/stack-upgrade.test.mjs:179:  assert.deepEqual(sudoKeys(e),['git-fetch','git-merge','stack-copy.sh','activate-plan','rehearse','activate','confirm','revert','confirm-rollback']);
packages/cli/tests/stack-upgrade.test.mjs:442:  assert.deepEqual(sudoKeys(e),['git-fetch','git-merge','stack-copy.sh']);
packages/cli/tests/processing-cli.test.mjs:9: import { main } from '../src/cli.mjs';
packages/cli/tests/verbs.test.mjs:8: import { main } from "../src/cli.mjs";
packages/cli/tests/verbs.test.mjs:101:     `${role} isn't running${either}. systemctl --user restart mosaic-bus@demo starts it if the unit runs with --pm (scripts/bus-service.sh status demo shows pm: on). The restart stops running sessions.\n`;
packages/cli/tests/verbs.test.mjs:132:   assert.equal(await text("cto"), "cto isn't running, pm has been told\n" + `pm isn't running either. systemctl --user restart mosaic-bus@demo starts it if the unit runs with --pm (scripts/bus-service.sh status demo shows pm: on). The resta
packages/cli/tests/stack-release-external.test.mjs:4: // Root's part (stop, unit install, start) runs here as the stand-in systemctl and bus-service.sh and
packages/cli/tests/stack-release-external.test.mjs:23:  sh(e,'bus-service.sh','install','--copy',copy,'--copies',COPIES,...(pm?['--pm']:[]),'--claude',e.claude);
packages/cli/tests/stack-release-external.test.mjs:451: for(const f of ['scripts/stack-release.sh','scripts/stack-copy.sh'])writeFileSync(join(baseRepo,f),execFileSync('git',['-C',ROOT,'show',`${BASE}:${f}`]),{mode:0o755});
packages/cli/tests/stack-release-external.test.mjs:460:   execFileSync('bash',[join(dir,'scripts','stack-copy.sh'),'check','--copies',COPIES,'--bin',e.bin,'--business','acme'],{env:e.env,stdio:'ignore'});
packages/cli/tests/app.test.mjs:9: import { main, resolveDecision, SEAT_USAGE, USAGE } from "../src/cli.mjs";
packages/cli/tests/tester.test.mjs:5: import { main } from "../src/cli.mjs";
packages/cli/tests/project.test.mjs:6: import { main, run } from '../src/cli.mjs';
packages/cli/tests/channel-cli.test.mjs:4: import { run } from "../src/cli.mjs";
packages/cli/tests/config.test.mjs:4: import { bootConfig, loadSystem } from "../src/config.mjs";
packages/cli/tests/names.test.mjs:6: import { main, USAGE } from "../src/cli.mjs";
packages/cli/tests/grants-scope.test.mjs:5: import { main } from "../src/cli.mjs";
packages/cli/tests/instances.test.mjs:16: import { main, run } from "../src/cli.mjs";
packages/cli/tests/instances.test.mjs:17: import { bootConfig, loadSystem } from "../src/config.mjs";
packages/cli/tests/thread-revoke.test.mjs:24: import { bootConfig, loadSystem } from "../src/config.mjs";
packages/cli/tests/limits-tokens.test.mjs:5: import {main} from '../src/cli.mjs';
packages/cli/tests/access.test.mjs:14: import { socketPath } from "../src/config.mjs";
packages/cli/tests/thread-launch.test.mjs:26: import { bootConfig, loadSystem } from "../src/config.mjs";
packages/cli/tests/launcher.test.mjs:23: import { bootConfig, loadSystem } from "../src/config.mjs";
packages/cli/tests/lifecycle.test.mjs:28: import { run } from "../src/cli.mjs";
packages/cli/tests/lifecycle.test.mjs:29: import { bootConfig, loadSystem } from "../src/config.mjs";
packages/cli/tests/git-socket.test.mjs:25: import { bootConfig, loadSystem, rolesDir } from "../src/config.mjs";
