TAP version 13 # Subtest: channel registry requires dispatch at interface 1 and switches a list ok 1 - channel registry requires dispatch at interface 1 and switches a list --- duration_ms: 1.093033 type: 'test' ... # Subtest: channel shipped modules load and preserve every supported operation and bus refusal ok 2 - channel shipped modules load and preserve every supported operation and bus refusal --- duration_ms: 2.329081 type: 'test' ... # Subtest: channel snapshot is a frozen matched pair and a captured array survives reload ok 3 - channel snapshot is a frozen matched pair and a captured array survives reload --- duration_ms: 3.672804 type: 'test' ... # Subtest: channel guards refuse bad names, missing paths, exports and versions while retaining last good ok 4 - channel guards refuse bad names, missing paths, exports and versions while retaining last good --- duration_ms: 3.25585 type: 'test' ... # Subtest: channel guards refuse symlinked module, index and kind directories ok 5 - channel guards refuse symlinked module, index and kind directories --- duration_ms: 2.246923 type: 'test' ... # Subtest: channel caller re-reads settings and keeps off switches independent by module name ok 6 - channel caller re-reads settings and keeps off switches independent by module name --- duration_ms: 1.351401 type: 'test' ... # Subtest: channel caller malformed settings refuse without a chat operation and no unrelated kind loads ok 7 - channel caller malformed settings refuse without a chat operation and no unrelated kind loads --- duration_ms: 0.435438 type: 'test' ... # Subtest: channel caller uses last good after loader refusal and fails closed on first load ok 8 - channel caller uses last good after loader refusal and fails closed on first load --- duration_ms: 0.580004 type: 'test' ... # Subtest: channel dispatch holds no selection lock while a slow send is awaiting ok 9 - channel dispatch holds no selection lock while a slow send is awaiting --- duration_ms: 0.491762 type: 'test' ... # Subtest: channel last realpath check refuses an index swapped after component checks ok 10 - channel last realpath check refuses an index swapped after component checks --- duration_ms: 2.241815 type: 'test' ... # Subtest: channel caller refuses invalid core construction ok 11 - channel caller refuses invalid core construction --- duration_ms: 0.150251 type: 'test' ... # Subtest: channel caller invokes the selected loaded module instead of bypassing dispatch ok 12 - channel caller invokes the selected loaded module instead of bypassing dispatch --- duration_ms: 2.065095 type: 'test' ... # Subtest: channel caller keeps the selected module operation filter in front of the core transport ok 13 - channel caller keeps the selected module operation filter in front of the core transport --- duration_ms: 0.241841 type: 'test' ... # Subtest: REQ-LIMIT-2 daily-quota exports interface version 2 with mayLaunch, mustStop and report ok 14 - REQ-LIMIT-2 daily-quota exports interface version 2 with mayLaunch, mustStop and report --- duration_ms: 4.156727 type: 'test' ... # Subtest: REQ-LIMIT-2 the count sums every kind of the account's known records since the later of the day start and since ok 15 - REQ-LIMIT-2 the count sums every kind of the account's known records since the later of the day start and since --- duration_ms: 12.582509 type: 'test' ... # Subtest: REQ-LIMIT-2 a launch with no account (pi) is covered by no daily quota ok 16 - REQ-LIMIT-2 a launch with no account (pi) is covered by no daily quota --- duration_ms: 0.329543 type: 'test' ... # Subtest: REQ-LIMIT-4 an unknown turn adds nothing and is counted apart ok 17 - REQ-LIMIT-4 an unknown turn adds nothing and is counted apart --- duration_ms: 0.442314 type: 'test' ... # Subtest: REQ-LIMIT-2 the day turns at the reset in its zone, not in UTC, and before it the day is yesterday's ok 18 - REQ-LIMIT-2 the day turns at the reset in its zone, not in UTC, and before it the day is yesterday's --- duration_ms: 0.682365 type: 'test' ... # Subtest: REQ-LIMIT-2 the spring DST change makes the day after a 00:00 reset 23 hours long ok 19 - REQ-LIMIT-2 the spring DST change makes the day after a 00:00 reset 23 hours long --- duration_ms: 0.387921 type: 'test' ... # Subtest: REQ-LIMIT-2 the fall DST change makes the day after a 00:00 reset 25 hours long ok 20 - REQ-LIMIT-2 the fall DST change makes the day after a 00:00 reset 25 hours long --- duration_ms: 0.330814 type: 'test' ... # Subtest: REQ-LIMIT-2 a reset the clocks skip starts the day at the first instant after the gap ok 21 - REQ-LIMIT-2 a reset the clocks skip starts the day at the first instant after the gap --- duration_ms: 1.372326 type: 'test' ... # Subtest: REQ-LIMIT-2 a reset the clocks repeat starts one day, at the first one ok 22 - REQ-LIMIT-2 a reset the clocks repeat starts one day, at the first one --- duration_ms: 0.4571 type: 'test' ... # Subtest: REQ-LIMIT-2 a launch is refused at the quota, a turn that reaches it stops, and the next day allows again ok 23 - REQ-LIMIT-2 a launch is refused at the quota, a turn that reaches it stops, and the next day allows again --- duration_ms: 1.027459 type: 'test' ... # Subtest: REQ-LIMIT-2 counts past the safe integer range come back as digit strings ok 24 - REQ-LIMIT-2 counts past the safe integer range come back as digit strings --- duration_ms: 0.350076 type: 'test' ... # Subtest: REQ-LIMIT-4 bad leaves, records or times throw a code, and the check reads nothing but its arguments ok 25 - REQ-LIMIT-4 bad leaves, records or times throw a code, and the check reads nothing but its arguments --- duration_ms: 2.155059 type: 'test' ... # Subtest: REQ-LIMIT-2 no daily quotas: every launch is allowed and the report is empty ok 26 - REQ-LIMIT-2 no daily quotas: every launch is allowed and the report is empty --- duration_ms: 0.190579 type: 'test' ... # Subtest: row 307 pi answers what row 270 read: plain ok 27 - row 307 pi answers what row 270 read: plain --- duration_ms: 2.273277 type: 'test' ... # Subtest: row 307 pi answers what row 270 read: budget ok 28 - row 307 pi answers what row 270 read: budget --- duration_ms: 0.560346 type: 'test' ... # Subtest: row 307 pi answers what row 270 read: cap ok 29 - row 307 pi answers what row 270 read: cap --- duration_ms: 0.447806 type: 'test' ... # Subtest: row 307 pi answers what row 270 read: shrank ok 30 - row 307 pi answers what row 270 read: shrank --- duration_ms: 0.41824 type: 'test' ... # Subtest: row 307 pi answers what row 270 read: header ok 31 - row 307 pi answers what row 270 read: header --- duration_ms: 0.525662 type: 'test' ... # Subtest: row 307 pi's first collection over Claude history answers harness-unsupported without a scan, and a later one scans ok 32 - row 307 pi's first collection over Claude history answers harness-unsupported without a scan, and a later one scans --- duration_ms: 0.854402 type: 'test' ... # Subtest: row 307 claude-code reads nothing and answers harness-unsupported with no version ok 33 - row 307 claude-code reads nothing and answers harness-unsupported with no version --- duration_ms: 0.145488 type: 'test' ... # Subtest: row 307 a harness module without compactions doesn't load: missing-export ok 34 - row 307 a harness module without compactions doesn't load: missing-export --- duration_ms: 2.544641 type: 'test' ... # Subtest: row 65 both harness modules load through the loader with every export the kind names ok 35 - row 65 both harness modules load through the loader with every export the kind names --- duration_ms: 7.887813 type: 'test' ... # Subtest: row 65 each module answers for its own harness: adapter, levels, account, web, turn end and session files ok 36 - row 65 each module answers for its own harness: adapter, levels, account, web, turn end and session files --- duration_ms: 0.743006 type: 'test' ... # Subtest: row 65 claude-code preflight: a missing credential, then a missing or relative binary, each refuse with their code ok 37 - row 65 claude-code preflight: a missing credential, then a missing or relative binary, each refuse with their code --- duration_ms: 3.607123 type: 'test' ... # Subtest: row 65 claude-code version asks MOSAIC_CLAUDE_BIN when set, else claude on PATH, else null ok 38 - row 65 claude-code version asks MOSAIC_CLAUDE_BIN when set, else claude on PATH, else null --- duration_ms: 3.846673 type: 'test' ... # Subtest: row 65 pi preflight passes with the repository's pi, and its version is the package pin ok 39 - row 65 pi preflight passes with the repository's pi, and its version is the package pin --- duration_ms: 8.397292 type: 'test' ... # Subtest: row 65 env passes the thinking level to both adapters, and claude-code's bundle writes its hook and MCP files ok 40 - row 65 env passes the thinking level to both adapters, and claude-code's bundle writes its hook and MCP files --- duration_ms: 1.435832 type: 'test' ... # Subtest: row 65 a route's thinking reaches pi as --thinking and claude as --effort, through each module's env and adapter ok 41 - row 65 a route's thinking reaches pi as --thinking and claude as --effort, through each module's env and adapter --- duration_ms: 15.483026 type: 'test' ... # Subtest: row 65 no core source outside packages/plugins names a harness, apart from the listed exceptions ok 42 - row 65 no core source outside packages/plugins names a harness, apart from the listed exceptions --- duration_ms: 14.005572 type: 'test' ... # Subtest: row 65 the grep's pattern catches a quoted name and a regex alternation, and not a word in prose ok 43 - row 65 the grep's pattern catches a quoted name and a regex alternation, and not a word in prose --- duration_ms: 0.162322 type: 'test' ... # Subtest: REQ-PLUG-1 REQ-LIMIT-4 the registry: usage-source at interface version 1, limit-check at 2 (row 125), each a list ok 44 - REQ-PLUG-1 REQ-LIMIT-4 the registry: usage-source at interface version 1, limit-check at 2 (row 125), each a list --- duration_ms: 1.063022 type: 'test' ... # Subtest: REQ-PLUG-1 checkPlugins accepts one key per kind, each a list of names, empty included ok 45 - REQ-PLUG-1 checkPlugins accepts one key per kind, each a list of names, empty included --- duration_ms: 0.24919 type: 'test' ... # Subtest: REQ-PLUG-1 checkPlugins refuses bad shapes, unknown kinds, bad names and duplicates ok 46 - REQ-PLUG-1 checkPlugins refuses bad shapes, unknown kinds, bad names and duplicates --- duration_ms: 0.939348 type: 'test' ... # Subtest: REQ-PLUG-1 a kind that switches on one module takes one name, not a list ok 47 - REQ-PLUG-1 a kind that switches on one module takes one name, not a list --- duration_ms: 0.155413 type: 'test' ... # Subtest: REQ-PLUG-1 checkPlugins reports through the caller's fail callback ok 48 - REQ-PLUG-1 checkPlugins reports through the caller's fail callback --- duration_ms: 0.16264 type: 'test' ... # Subtest: REQ-PLUG-1 fixture modules of each kind switch on from a test organization file, no core file changed ok 49 - REQ-PLUG-1 fixture modules of each kind switch on from a test organization file, no core file changed --- duration_ms: 9.287009 type: 'test' ... # Subtest: REQ-PLUG-1 a name not matching ^[a-z][a-z0-9-]*$ refuses and keeps the old setting ok 50 - REQ-PLUG-1 a name not matching ^[a-z][a-z0-9-]*$ refuses and keeps the old setting --- duration_ms: 3.680508 type: 'test' ... # Subtest: REQ-PLUG-1 a missing module directory or index.mjs refuses and keeps the old setting ok 51 - REQ-PLUG-1 a missing module directory or index.mjs refuses and keeps the old setting --- duration_ms: 3.446331 type: 'test' ... # Subtest: REQ-PLUG-1 a symlinked module directory or index.mjs refuses and keeps the old setting ok 52 - REQ-PLUG-1 a symlinked module directory or index.mjs refuses and keeps the old setting --- duration_ms: 2.671649 type: 'test' ... # Subtest: REQ-PLUG-1 a symlinked kind directory refuses and keeps the old setting ok 53 - REQ-PLUG-1 a symlinked kind directory refuses and keeps the old setting --- duration_ms: 2.37595 type: 'test' ... # Subtest: REQ-PLUG-1 a symlinked packages/plugins refuses (run with --preserve-symlinks so the path keeps it) ok 54 - REQ-PLUG-1 a symlinked packages/plugins refuses (run with --preserve-symlinks so the path keeps it) --- duration_ms: 25.90956 type: 'test' ... # Subtest: REQ-PLUG-1 index.mjs swapped for a symlink after the lstat checks refuses at the realpath check ok 55 - REQ-PLUG-1 index.mjs swapped for a symlink after the lstat checks refuses at the realpath check --- duration_ms: 2.906707 type: 'test' ... # Subtest: REQ-PLUG-1 a path that can't be read refuses as unreadable, is logged and keeps the old setting ok 56 - REQ-PLUG-1 a path that can't be read refuses as unreadable, is logged and keeps the old setting --- duration_ms: 2.796915 type: 'test' ... # Subtest: REQ-PLUG-1 a path that becomes unreadable after the lstat checks refuses at either realpath ok 57 - REQ-PLUG-1 a path that becomes unreadable after the lstat checks refuses at either realpath --- duration_ms: 2.400995 type: 'test' ... # Subtest: REQ-PLUG-1 a module that fails to load refuses and keeps the old setting ok 58 - REQ-PLUG-1 a module that fails to load refuses and keeps the old setting --- duration_ms: 2.69425 type: 'test' ... # Subtest: REQ-PLUG-1 a missing export refuses and keeps the old setting ok 59 - REQ-PLUG-1 a missing export refuses and keeps the old setting --- duration_ms: 3.312634 type: 'test' ... # Subtest: REQ-PLUG-1 a different interface version refuses and keeps the old setting ok 60 - REQ-PLUG-1 a different interface version refuses and keeps the old setting --- duration_ms: 2.951412 type: 'test' ... # Subtest: REQ-PLUG-1 REQ-LIMIT-3 a version 1 limit check refuses after the bump to 2, and the old setting stays ok 61 - REQ-PLUG-1 REQ-LIMIT-3 a version 1 limit check refuses after the bump to 2, and the old setting stays --- duration_ms: 2.585281 type: 'test' ... # Subtest: REQ-PLUG-1 a kind refused on its first load has nothing switched on, and the log names kind and name ok 62 - REQ-PLUG-1 a kind refused on its first load has nothing switched on, and the log names kind and name --- duration_ms: 1.87625 type: 'test' ... # Subtest: REQ-PLUG-1 the setting's shape: unknown kinds refuse alone, a bad whole setting keeps everything ok 63 - REQ-PLUG-1 the setting's shape: unknown kinds refuse alone, a bad whole setting keeps everything --- duration_ms: 2.675823 type: 'test' ... # Subtest: REQ-PLUG-1 loads run one at a time, so the last requested setting wins ok 64 - REQ-PLUG-1 loads run one at a time, so the last requested setting wins --- duration_ms: 102.001355 type: 'test' ... # Subtest: REQ-PLUG-1 the loader needs a log callback ok 65 - REQ-PLUG-1 the loader needs a log callback --- duration_ms: 1.130584 type: 'test' ... # Subtest: C2-10c webui permits exactly the three added room verbs and preserves core refusals ok 66 - C2-10c webui permits exactly the three added room verbs and preserves core refusals --- duration_ms: 1.532674 type: 'test' ... # Subtest: REQ-PLUG-2 the real tree's searxng-url module switches on as the search-source and answers ok 67 - REQ-PLUG-2 the real tree's searxng-url module switches on as the search-source and answers --- duration_ms: 2.616283 type: 'test' ... # Subtest: REQ-PLUG-2 a SearXNG that refuses JSON (403) is search-down, a bad settings url throws ok 68 - REQ-PLUG-2 a SearXNG that refuses JSON (403) is search-down, a bad settings url throws --- duration_ms: 1.153042 type: 'test' ... # Subtest: REQ-PLUG-2 search-source takes one name, not a list ok 69 - REQ-PLUG-2 search-source takes one name, not a list --- duration_ms: 0.232651 type: 'test' ... # Subtest: REQ-PLUG-2 searxng-bundled queries the fixed loopback address and ignores web.searxng ok 70 - REQ-PLUG-2 searxng-bundled queries the fixed loopback address and ignores web.searxng --- duration_ms: 0.766974 type: 'test' ... # Subtest: REQ-PLUG-2 harness-builtin switches on, serves no broker search, and refuses if called ok 71 - REQ-PLUG-2 harness-builtin switches on, serves no broker search, and refuses if called --- duration_ms: 0.633341 type: 'test' ... # Subtest: the searxng modules end the request when the broker's AbortSignal fires ok 72 - the searxng modules end the request when the broker's AbortSignal fires --- duration_ms: 41.975824 type: 'test' ... # Subtest: hasModule: true for a shipped module, false for a missing one, an unknown kind or a bad name ok 73 - hasModule: true for a shipped module, false for a missing one, an unknown kind or a bad name --- duration_ms: 0.572554 type: 'test' ... # Subtest: REQ-LIMIT-3 token-limit exports interface version 2 with mayLaunch, mustStop and report ok 74 - REQ-LIMIT-3 token-limit exports interface version 2 with mayLaunch, mustStop and report --- duration_ms: 4.069294 type: 'test' ... # Subtest: REQ-LIMIT-3 each subject kind refuses at its limit and allows under it ok 75 - REQ-LIMIT-3 each subject kind refuses at its limit and allows under it --- duration_ms: 1.264429 type: 'test' ... # Subtest: REQ-LIMIT-3 a limit covers only its own subject's records and launches ok 76 - REQ-LIMIT-3 a limit covers only its own subject's records and launches --- duration_ms: 0.310153 type: 'test' ... # Subtest: REQ-LIMIT-4 only known records count; an unknown turn adds nothing and is counted apart ok 77 - REQ-LIMIT-4 only known records count; an unknown turn adds nothing and is counted apart --- duration_ms: 0.245871 type: 'test' ... # Subtest: REQ-LIMIT-3 a reset moves since: records before it no longer count ok 78 - REQ-LIMIT-3 a reset moves since: records before it no longer count --- duration_ms: 0.178373 type: 'test' ... # Subtest: REQ-LIMIT-3 limit 0 refuses with no records; the first limit hit in file order is named ok 79 - REQ-LIMIT-3 limit 0 refuses with no records; the first limit hit in file order is named --- duration_ms: 0.159818 type: 'test' ... # Subtest: REQ-LIMIT-3 a key limit is not enforced while every record's account is null (decision 150 Q1) ok 80 - REQ-LIMIT-3 a key limit is not enforced while every record's account is null (decision 150 Q1) --- duration_ms: 0.172512 type: 'test' ... # Subtest: REQ-LIMIT-3 counts past the safe integer range come back as digit strings ok 81 - REQ-LIMIT-3 counts past the safe integer range come back as digit strings --- duration_ms: 0.145224 type: 'test' ... # Subtest: REQ-LIMIT-4 bad records or times throw a code, and the check reads nothing but its arguments ok 82 - REQ-LIMIT-4 bad records or times throw a code, and the check reads nothing but its arguments --- duration_ms: 0.661745 type: 'test' ... # Subtest: REQ-LIMIT-3 no token limits: every launch is allowed and the report is empty ok 83 - REQ-LIMIT-3 no token limits: every launch is allowed and the report is empty --- duration_ms: 0.624533 type: 'test' ... # Subtest: REQ-LIMIT-3 token-limit ignores tokens.daily, which the daily-quota check enforces (row 126) ok 84 - REQ-LIMIT-3 token-limit ignores tokens.daily, which the daily-quota check enforces (row 126) --- duration_ms: 0.133942 type: 'test' ... # Subtest: REQ-LIMIT-4 pi: reports all token kinds and deduplicates assistant ids ok 85 - REQ-LIMIT-4 pi: reports all token kinds and deduplicates assistant ids --- duration_ms: 2.821247 type: 'test' ... # Subtest: REQ-LIMIT-4 claude-code: reports all token kinds and deduplicates assistant ids ok 86 - REQ-LIMIT-4 claude-code: reports all token kinds and deduplicates assistant ids --- duration_ms: 0.696333 type: 'test' ... # Subtest: REQ-LIMIT-4 pi cut line is unknown, never zero or content ok 87 - REQ-LIMIT-4 pi cut line is unknown, never zero or content --- duration_ms: 1.007977 type: 'test' ... # Subtest: REQ-LIMIT-4 pi invalid UTF-8 is unknown, never zero or content ok 88 - REQ-LIMIT-4 pi invalid UTF-8 is unknown, never zero or content --- duration_ms: 0.493409 type: 'test' ... # Subtest: REQ-LIMIT-4 pi missing input is unknown, never zero or content ok 89 - REQ-LIMIT-4 pi missing input is unknown, never zero or content --- duration_ms: 0.57636 type: 'test' ... # Subtest: REQ-LIMIT-4 pi negative count is unknown, never zero or content ok 90 - REQ-LIMIT-4 pi negative count is unknown, never zero or content --- duration_ms: 0.49758 type: 'test' ... # Subtest: REQ-LIMIT-4 pi fractional count is unknown, never zero or content ok 91 - REQ-LIMIT-4 pi fractional count is unknown, never zero or content --- duration_ms: 0.422118 type: 'test' ... # Subtest: REQ-LIMIT-4 pi unsafe integer is unknown, never zero or content ok 92 - REQ-LIMIT-4 pi unsafe integer is unknown, never zero or content --- duration_ms: 0.397082 type: 'test' ... # Subtest: REQ-LIMIT-4 pi file size is unknown, never zero or content ok 93 - REQ-LIMIT-4 pi file size is unknown, never zero or content --- duration_ms: 6.459547 type: 'test' ... # Subtest: REQ-LIMIT-4 pi line size is unknown, never zero or content ok 94 - REQ-LIMIT-4 pi line size is unknown, never zero or content --- duration_ms: 3.92269 type: 'test' ... # Subtest: REQ-LIMIT-4 pi symlink file is unknown, never zero or content ok 95 - REQ-LIMIT-4 pi symlink file is unknown, never zero or content --- duration_ms: 0.488148 type: 'test' ... # Subtest: REQ-LIMIT-4 pi hardlink file is unknown, never zero or content ok 96 - REQ-LIMIT-4 pi hardlink file is unknown, never zero or content --- duration_ms: 0.325503 type: 'test' ... # Subtest: REQ-LIMIT-4 claude-code cut line is unknown, never zero or content ok 97 - REQ-LIMIT-4 claude-code cut line is unknown, never zero or content --- duration_ms: 0.377051 type: 'test' ... # Subtest: REQ-LIMIT-4 claude-code invalid UTF-8 is unknown, never zero or content ok 98 - REQ-LIMIT-4 claude-code invalid UTF-8 is unknown, never zero or content --- duration_ms: 0.388899 type: 'test' ... # Subtest: REQ-LIMIT-4 claude-code missing input is unknown, never zero or content ok 99 - REQ-LIMIT-4 claude-code missing input is unknown, never zero or content --- duration_ms: 0.403653 type: 'test' ... # Subtest: REQ-LIMIT-4 claude-code negative count is unknown, never zero or content ok 100 - REQ-LIMIT-4 claude-code negative count is unknown, never zero or content --- duration_ms: 0.356921 type: 'test' ... # Subtest: REQ-LIMIT-4 claude-code fractional count is unknown, never zero or content ok 101 - REQ-LIMIT-4 claude-code fractional count is unknown, never zero or content --- duration_ms: 0.388944 type: 'test' ... # Subtest: REQ-LIMIT-4 claude-code unsafe integer is unknown, never zero or content ok 102 - REQ-LIMIT-4 claude-code unsafe integer is unknown, never zero or content --- duration_ms: 0.377099 type: 'test' ... # Subtest: REQ-LIMIT-4 claude-code file size is unknown, never zero or content ok 103 - REQ-LIMIT-4 claude-code file size is unknown, never zero or content --- duration_ms: 6.07976 type: 'test' ... # Subtest: REQ-LIMIT-4 claude-code line size is unknown, never zero or content ok 104 - REQ-LIMIT-4 claude-code line size is unknown, never zero or content --- duration_ms: 1.893556 type: 'test' ... # Subtest: REQ-LIMIT-4 claude-code symlink file is unknown, never zero or content ok 105 - REQ-LIMIT-4 claude-code symlink file is unknown, never zero or content --- duration_ms: 0.403314 type: 'test' ... # Subtest: REQ-LIMIT-4 claude-code hardlink file is unknown, never zero or content ok 106 - REQ-LIMIT-4 claude-code hardlink file is unknown, never zero or content --- duration_ms: 0.316423 type: 'test' ... # Subtest: REQ-LIMIT-4 pi a symlink directory anywhere in the root refuses ok 107 - REQ-LIMIT-4 pi a symlink directory anywhere in the root refuses --- duration_ms: 0.322364 type: 'test' ... # Subtest: REQ-LIMIT-4 claude-code a symlink directory anywhere in the root refuses ok 108 - REQ-LIMIT-4 claude-code a symlink directory anywhere in the root refuses --- duration_ms: 0.311861 type: 'test' ... # Subtest: REQ-LIMIT-4 bounded directory entries refuse before scanning an arbitrary tree ok 109 - REQ-LIMIT-4 bounded directory entries refuse before scanning an arbitrary tree --- duration_ms: 8.32832 type: 'test' ... # Subtest: REQ-LIMIT-4 conflicting repeated usage refuses rather than double counting ok 110 - REQ-LIMIT-4 conflicting repeated usage refuses rather than double counting --- duration_ms: 0.528438 type: 'test' ... # Subtest: REQ-LIMIT-4 oversized metadata refuses before reading any transcript bytes ok 111 - REQ-LIMIT-4 oversized metadata refuses before reading any transcript bytes --- duration_ms: 5.788996 type: 'test' ... # Subtest: REQ-LIMIT-4 a file growing after fstat cannot exceed the streaming byte budget ok 112 - REQ-LIMIT-4 a file growing after fstat cannot exceed the streaming byte budget --- duration_ms: 4.822522 type: 'test' ... # Subtest: REQ-LIMIT-4 a same-size edit during a read is unknown rather than a stable snapshot ok 113 - REQ-LIMIT-4 a same-size edit during a read is unknown rather than a stable snapshot --- duration_ms: 0.77981 type: 'test' ... # Subtest: REQ-LIMIT-4 record count is bounded even when each record is tiny ok 114 - REQ-LIMIT-4 record count is bounded even when each record is tiny --- duration_ms: 7.87409 type: 'test' ... # Subtest: REQ-LIMIT-4 missing assistant usage, malformed JSON and conflicting identities are unknown ok 115 - REQ-LIMIT-4 missing assistant usage, malformed JSON and conflicting identities are unknown --- duration_ms: 0.831847 type: 'test' ... # Subtest: REQ-LIMIT-4 caller roots, unsupported harnesses and non-object JSON never become zero usage ok 116 - REQ-LIMIT-4 caller roots, unsupported harnesses and non-object JSON never become zero usage --- duration_ms: 0.640367 type: 'test' ... # Subtest: REQ-LIMIT-4 even a complete JSON record with no final newline is an unknown cut line ok 117 - REQ-LIMIT-4 even a complete JSON record with no final newline is an unknown cut line --- duration_ms: 0.331929 type: 'test' ... # Subtest: REQ-LIMIT-4 final file opens are nonblocking before hostile file type is known ok 118 - REQ-LIMIT-4 final file opens are nonblocking before hostile file type is known --- duration_ms: 0.469933 type: 'test' ... # Subtest: REQ-LIMIT-4 invalid transcript entry names refuse before file lookup ok 119 - REQ-LIMIT-4 invalid transcript entry names refuse before file lookup --- duration_ms: 0.279053 type: 'test' ... # Subtest: REQ-LIMIT-4 claude-code refuses a symlinked project directory ok 120 - REQ-LIMIT-4 claude-code refuses a symlinked project directory --- duration_ms: 0.491358 type: 'test' ... 1..120 # tests 120 # suites 0 # pass 120 # fail 0 # cancelled 0 # skipped 0 # todo 0 # duration_ms 829.707835