Files

731 lines
27 KiB
Plaintext

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