command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/model-proxy/tests/config-unit.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/ejqLhd
launch nice: 19
✔ loader proxy absent is byte-compatible; present validates sidecar and preserves config.json (77.48844ms)
✔ proxy-config-invalid: loader refuses an unknown sidecar key and binary outside pinned install (141.432191ms)
✔ proxy unit and bus dependency render default and named instance only when configured (322.552459ms)
✔ proxy-not-configured: runner and unit render refuse absent sidecar (109.105769ms)
✔ proxy-install-invalid: unit runner refuses tampered executable before spawning (110.967162ms)
✔ proxy-unit-usage (51.66918ms)
✔ proxy-unit-exists (52.603318ms)
✔ proxy-unit-dropin (61.432462ms)
✔ proxy-unit-path (60.646629ms)
✔ proxy-config-invalid: instance selection also refuses invalid present sidecar (58.01528ms)
✔ explicit unit install writes only a scratch user unit and refuses a repeat (111.073082ms)
✔ proxy-unit-copy: renderer refuses an unknown or unpinned stack copy (60.600975ms)
✔ historical no-proxy config loader works without new package dependency (28.615233ms)
✖ configured default bus and proxy units bind the same explicit MOSAIC_CONFIG (60.385106ms)
✖ proxy-config-invalid: configured bus refuses a config path systemd cannot carry (53.676249ms)
ℹ tests 15
ℹ suites 0
ℹ pass 13
ℹ fail 2
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 1433.478971

✖ failing tests:

test at packages/model-proxy/tests/config-unit.test.mjs:25:1
✖ configured default bus and proxy units bind the same explicit MOSAIC_CONFIG (60.385106ms)
  AssertionError [ERR_ASSERTION]: # Mosaic bus host, one instance per business: mosaic-bus@<business>.
  # Rendered by scripts/bus-service.sh from packages/cli/systemd/; /home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329,
  # /usr/local/bin:/usr/bin:/bin and the claude line below are filled in at install time. Edit the template and reinstall; do
  # not edit the installed copy. The bus store allows one broker per data
  # root, so run one instance per data root (packages/cli/README.md).
  [Unit]
  Description=Mosaic bus host (%i)
  Wants=mosaic-proxy.service
  After=mosaic-proxy.service
  Documentation=file:///home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/README.md
  StartLimitIntervalSec=600
  StartLimitBurst=5

  [Service]
  Type=simple
  WorkingDirectory=/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329
  Environment=PATH=/usr/local/bin:/usr/bin:/bin
  # The Claude Code binary that managed sessions and the manifest's
  # claudeVersion run, pinned at install (`--claude PATH`, default
  # `command -v claude`). Without it they run `claude` from PATH above.
  Environment=MOSAIC_CLAUDE_BIN=/home/jwoltje/.local/bin/claude
  # Claude Code sessions log in with what this 0600 file sets, which the
  # operator writes: CLAUDE_CODE_OAUTH_TOKEN, ANTHROPIC_API_KEY, or a proxy's
  # ANTHROPIC_AUTH_TOKEN with ANTHROPIC_BASE_URL. The `-` lets the unit start
  # without it, and a Claude Code launch then refuses.
  EnvironmentFile=-%h/.config/mosaic-dev/secrets/claude-session.env
  # The host reads the system config and the business file, boots the broker
  # (packages/bus/src/process.mjs) and starts the notifier. Config problems and
  # refusals exit 3, usage 4, invalid input 2: none of those is retried. A
  # child that dies takes the host down with exit 1, and the unit restarts
  # the pair.
  ExecStart=/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/scripts/mosaic bus start %i
  Restart=on-failure
  RestartSec=15
  RestartPreventExitStatus=2 3 4
  # `systemctl --user stop` sends SIGTERM to the host, which stops the
  # notifier after its poll in flight, then closes the broker.
  KillSignal=SIGTERM
  KillMode=mixed
  TimeoutStopSec=60
  NoNewPrivileges=yes

  [Install]
  WantedBy=default.target

      at TestContext.<anonymous> (file:///home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/model-proxy/tests/config-unit.test.mjs:25:306)
      at Test.runInAsyncScope (node:async_hooks:226:14)
      at Test.run (node:internal/test_runner/test:1402:25)
      at Test.processPendingSubtests (node:internal/test_runner/test:974:18)
      at Test.postRun (node:internal/test_runner/test:1542:19)
      at Test.run (node:internal/test_runner/test:1467:12)
      at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
    generatedMessage: false,
    code: 'ERR_ASSERTION',
    actual: false,
    expected: true,
    operator: '==',
    diff: 'simple'
  }

test at packages/model-proxy/tests/config-unit.test.mjs:26:1
✖ proxy-config-invalid: configured bus refuses a config path systemd cannot carry (53.676249ms)
  AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:

  0 !== 1

      at TestContext.<anonymous> (file:///home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/model-proxy/tests/config-unit.test.mjs:26:226)
      at Test.runInAsyncScope (node:async_hooks:226:14)
      at Test.run (node:internal/test_runner/test:1402:25)
      at Test.processPendingSubtests (node:internal/test_runner/test:974:18)
      at Test.postRun (node:internal/test_runner/test:1542:19)
      at Test.run (node:internal/test_runner/test:1467:12)
      at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
    generatedMessage: true,
    code: 'ERR_ASSERTION',
    actual: 0,
    expected: 1,
    operator: 'strictEqual',
    diff: 'simple'
  }
