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.255032
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.804618
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: 4.163001
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.559755
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.649428
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.86561
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.553009
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.753171
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.63183
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: 3.292656
type: 'test'
...
# Subtest: channel caller refuses invalid core construction
ok 11 - channel caller refuses invalid core construction
---
duration_ms: 0.192852
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.4109
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.296323
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: 1.604743
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: 18.301118
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.67675
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.68869
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.910567
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.655694
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.494632
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: 2.195628
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.909074
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.793159
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.560099
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: 3.066376
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.26005
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: 3.128746
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: 1.055314
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.646932
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.514604
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.71648
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: 1.146063
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.242405
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: 3.973295
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: 10.826134
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.901435
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: 4.184201
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: 4.810847
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: 1.138555
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.575693
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: 19.982183
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: 35.700253
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.194718
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.459893
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.318081
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: 4.006863
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.240242
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.227037
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: 10.556155
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: 4.644716
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: 4.413168
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.976821
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.66049
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: 31.929167
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: 3.775138
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: 3.568356
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: 3.240777
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: 3.317002
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: 5.632466
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: 5.597735
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: 4.383909
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: 3.685614
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: 5.345608
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: 105.419451
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.585267
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: 5.236914
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: 3.225057
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.278205
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.269767
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: 1.229975
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.882877
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.188565
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.618514
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.517556
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.445175
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.361027
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.288366
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.203004
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.160925
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.192387
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.190253
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.66893
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.264938
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.52878
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: 3.202577
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.789693
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.068437
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.551999
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.585082
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.498103
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.451081
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.467648
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: 12.153053
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.738483
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.51929
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.332686
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.375612
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.399894
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.377755
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.370714
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.359511
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.372877
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: 5.929833
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: 2.390572
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.422073
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.361017
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.368549
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.289802
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: 7.765819
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.531022
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: 6.610835
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: 6.282821
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.810788
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.805423
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.928936
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.621657
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.310336
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.533184
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.316982
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.474377
type: 'test'
...
1..120
# tests 120
# suites 0
# pass 120
# fail 0
# cancelled 0
# skipped 0
# todo 0
# duration_ms 1004.179548