file:///home/jwoltje/.t3/worktrees/mosaic-stack/t3-79263d4f/packages/bus/src/limits.mjs:126
    const key = keyForSubject(business, subject);
          ^

SyntaxError: Identifier 'key' has already been declared
    at compileSourceTextModule (node:internal/modules/esm/utils:355:16)
    at ModuleLoader.moduleStrategy (node:internal/modules/esm/translators:93:18)
    at #translate (node:internal/modules/esm/loader:441:20)
    at afterLoad (node:internal/modules/esm/loader:509:29)
    at ModuleLoader.loadAndTranslate (node:internal/modules/esm/loader:514:12)
    at #getOrCreateModuleJobAfterResolve (node:internal/modules/esm/loader:567:36)
    at afterResolve (node:internal/modules/esm/loader:614:52)
    at ModuleLoader.getOrCreateModuleJob (node:internal/modules/esm/loader:620:12)
    at ModuleJob.syncLink (node:internal/modules/esm/module_job:277:33)
    at ModuleJob.link (node:internal/modules/esm/module_job:389:17)

Node.js v26.8.1
✖ packages/bus/tests/proxy-usage.test.mjs (51.892872ms)
✔ REQ-LIMIT-4 loader source records new turn kinds, excludes history and retries exactly once (50.378772ms)
✔ REQ-LIMIT-4 cut: unknown is durable and logged next to every total (45.234905ms)
✔ REQ-LIMIT-4 disabled: unknown is durable and logged next to every total (44.712639ms)
✔ REQ-LIMIT-4 missing-begin: unknown is durable and logged next to every total (38.834227ms)
✔ REQ-LIMIT-4 no-new-usage: unknown is durable and logged next to every total (45.613047ms)
✔ REQ-LIMIT-4 rewrite: unknown is durable and logged next to every total (61.823662ms)
✔ REQ-LIMIT-4 unfinished turn remains visibly unknown after accounting restarts (39.178221ms)
✔ usage records are append-only (48.911454ms)
✔ REQ-LIMIT-4 parse failure logs its safe code, never transcript content (44.798699ms)
✔ REQ-LIMIT-4 resumed run baselines history and exact totals do not overflow (74.440531ms)
✔ REQ-PLUG-1 core has no transcript import and disabled sources do not read any transcript (44.272941ms)
✔ REQ-LIMIT-4 a resumed thread bills only new assistant messages to its next run (45.321015ms)
✔ REQ-LIMIT-4 every enabled source is called; failure is unknown and a partial total stays labelled (50.132554ms)
✔ REQ-LIMIT-4 a turn whose reported sum exceeds safe precision is unknown, not rounded (45.271975ms)
✔ row 65 a run bound without a transcript directory records no-transcript (45.784161ms)
✔ P5 immutable stack key attribution survives rotation and restart without key values (46.660026ms)
✔ REQ-PLUG-1 schema: plugins is optional, names known kinds and checked module names (9.948537ms)
✔ REQ-PLUG-1 REQ-ROLE-3 the setter writes plugins through the organization writer and logs old and new names (133.831911ms)
✔ vikunja:19/309 a patch changes only the kinds it names; null removes one kind, explicitly and in the trail (204.184755ms)
✔ vikunja:19/309 an unknown kind (set or removed), a bad module, an empty patch and null on the wrong shape are refused, nothing written (1.716312ms)
✔ REQ-PLUG-1 REQ-ROLE-3 the writer checks the bytes it writes: a Date in plugins is refused there too (21.420971ms)
✔ REQ-PLUG-1 REQ-ROLE-3 a refused setter write throws a code, changes nothing and logs nothing (1.601618ms)
✔ vikunja:19/305 with an exists check, the setter refuses a module no tree file answers to, before anything is written (51.983097ms)
✔ P5 optional usage kind and pollSeconds configure through plugins.set; default stays absent and retention bound is strict (99.930829ms)
ℹ tests 25
ℹ suites 0
ℹ pass 24
ℹ fail 1
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 1470.74285

✖ failing tests:

test at packages/bus/tests/proxy-usage.test.mjs:1:1
✖ packages/bus/tests/proxy-usage.test.mjs (51.892872ms)
  'test failed'
