limits: {"event":"limit-reached","business":"demo","check":"daily-quota","export":"mayLaunch","subject":{"instance":"coder","provider":"anthropic","model":"opus","account":"jason-max"},"path":["tokens","daily","jason-max"],"limit":0,"count":0,"unknownTurns":0}
usage: {"event":"usage-unknown","business":"demo","run":"run1","instance":"coder","turn":"0f9af1a6-ff5d-4a03-8deb-ee3d9ff7a587","source":"@none","code":"baseline-unknown"}
limits: {"event":"limit-reached","business":"demo","check":"daily-quota","export":"mustStop","subject":{"instance":"coder","provider":"anthropic","model":"opus","account":"jason-max","run":"run1"},"path":["tokens","daily","jason-max"],"limit":0,"count":0,"unknownTurns":1}
usage: {"event":"usage-unknown","business":"demo","run":"run1","instance":"coder","turn":"139909cd-89c9-47ab-8924-fef1d9125ebc","source":"@none","code":"baseline-unknown"}
✔ REQ-LIMIT-2 runtime: limits counts the daily quota, and mayLaunch refuses only the account at it (160.313054ms)
✔ REQ-LIMIT-4 runtime: a run bound with the account writes it on its usage records and stops at the quota (141.082402ms)
✔ REQ-LIMIT-4 runtime: a run bound without an account records null and the daily quota never stops it (118.409041ms)
✔ REQ-LIMIT-4 bindLaunch keeps the account off session.launched, refuses one that is not an identifier, and takes null as none (60.812376ms)
✔ P5 usage plugin off by default, default poll is 15 seconds and configured polls skip early ticks (67.249055ms)
✔ P5 safe telemetry stores failures per key and proxy-labelled accounts; no client/upstream value enters store/log/view or quota records (48.031566ms)
✔ P5 unknown msk key goes only to value-free reconcile log and other businesses stay isolated (46.042815ms)
✔ P5 queue failure is safe, does not enforce and does not retry before poll deadline (41.173899ms)
✔ P5 retiring key keeps attribution and telemetry rows remain append-only across reader restart (52.566146ms)
✔ REQ-PLUG-1 runtime reaches transcript only through loader, over the real bus socket (131.491274ms)
✔ REQ-LIMIT-4 loader source records new turn kinds, excludes history and retries exactly once (52.546321ms)
✔ REQ-LIMIT-4 cut: unknown is durable and logged next to every total (47.077487ms)
✔ REQ-LIMIT-4 disabled: unknown is durable and logged next to every total (46.271817ms)
✔ REQ-LIMIT-4 missing-begin: unknown is durable and logged next to every total (40.225039ms)
✔ REQ-LIMIT-4 no-new-usage: unknown is durable and logged next to every total (45.02419ms)
✔ REQ-LIMIT-4 rewrite: unknown is durable and logged next to every total (47.584801ms)
✔ REQ-LIMIT-4 unfinished turn remains visibly unknown after accounting restarts (40.815955ms)
✔ usage records are append-only (41.122845ms)
✔ REQ-LIMIT-4 parse failure logs its safe code, never transcript content (45.862091ms)
✔ REQ-LIMIT-4 resumed run baselines history and exact totals do not overflow (57.327879ms)
✔ REQ-PLUG-1 core has no transcript import and disabled sources do not read any transcript (47.939521ms)
✔ REQ-LIMIT-4 a resumed thread bills only new assistant messages to its next run (46.384741ms)
✔ REQ-LIMIT-4 every enabled source is called; failure is unknown and a partial total stays labelled (98.373431ms)
✔ REQ-LIMIT-4 a turn whose reported sum exceeds safe precision is unknown, not rounded (46.863279ms)
✔ row 65 a run bound without a transcript directory records no-transcript (47.359644ms)
✔ P5 immutable stack key attribution survives rotation and restart without key values (51.503418ms)
✔ REQ-PLUG-1 REQ-LIMIT-4 the registry: usage-source at interface version 1, limit-check at 2 (row 125), each a list (1.131497ms)
✔ REQ-PLUG-1 checkPlugins accepts one key per kind, each a list of names, empty included (0.214135ms)
✔ REQ-PLUG-1 checkPlugins refuses bad shapes, unknown kinds, bad names and duplicates (0.919785ms)
✔ REQ-PLUG-1 a kind that switches on one module takes one name, not a list (0.136387ms)
✔ REQ-PLUG-1 checkPlugins reports through the caller's fail callback (0.149287ms)
✔ P5 usage telemetry is optional, single module, separate from enforcing sources (0.136962ms)
✔ REQ-PLUG-1 fixture modules of each kind switch on from a test organization file, no core file changed (8.544145ms)
✔ REQ-PLUG-1 a name not matching ^[a-z][a-z0-9-]*$ refuses and keeps the old setting (3.570635ms)
✔ REQ-PLUG-1 a missing module directory or index.mjs refuses and keeps the old setting (3.394552ms)
✔ REQ-PLUG-1 a symlinked module directory or index.mjs refuses and keeps the old setting (2.605144ms)
✔ REQ-PLUG-1 a symlinked kind directory refuses and keeps the old setting (2.314239ms)
✔ REQ-PLUG-1 a symlinked packages/plugins refuses (run with --preserve-symlinks so the path keeps it) (30.160706ms)
✔ REQ-PLUG-1 index.mjs swapped for a symlink after the lstat checks refuses at the realpath check (3.027836ms)
✔ REQ-PLUG-1 a path that can't be read refuses as unreadable, is logged and keeps the old setting (2.75119ms)
✔ REQ-PLUG-1 a path that becomes unreadable after the lstat checks refuses at either realpath (2.412894ms)
✔ REQ-PLUG-1 a module that fails to load refuses and keeps the old setting (2.793659ms)
✔ REQ-PLUG-1 a missing export refuses and keeps the old setting (3.303983ms)
✔ REQ-PLUG-1 a different interface version refuses and keeps the old setting (2.5092ms)
✔ REQ-PLUG-1 REQ-LIMIT-3 a version 1 limit check refuses after the bump to 2, and the old setting stays (2.97048ms)
✔ REQ-PLUG-1 a kind refused on its first load has nothing switched on, and the log names kind and name (1.870072ms)
✔ REQ-PLUG-1 the setting's shape: unknown kinds refuse alone, a bad whole setting keeps everything (2.648634ms)
✔ REQ-PLUG-1 loads run one at a time, so the last requested setting wins (102.357607ms)
✔ REQ-PLUG-1 the loader needs a log callback (1.14637ms)
ℹ tests 49
ℹ suites 0
ℹ pass 49
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 2281.541817
