README invalid-options cell lists only count, key, text and duplicates; a
non-{key,text} option refuses invalid-request (Sage 28378, Filbert C1 28379).
Broker test pins the option shape cases. m1 and m2 killed; full gate passed
15:53:56-15:59:33Z on BASE 96656dd21.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
78 lines
5.4 KiB
Plaintext
78 lines
5.4 KiB
Plaintext
✔ pure resolution selects current default or explicit enrolled account (1.950649ms)
|
||
✔ scope is explicit, bounded and never inferred (1.625302ms)
|
||
✔ fork pin is preserved against default change, override, missing account and revocation (0.71046ms)
|
||
✔ unenrolled account/provider, missing harness, model expansion and native model ceiling refuse (0.789403ms)
|
||
✔ only explicit synthetic credential forms and internal fixture stores admitted (5.414605ms)
|
||
✔ two concurrent workspaces of the same agent publish distinct complete private generations (34.030609ms)
|
||
✔ same execution ID is exclusively claimed and cannot overwrite a published generation (32.962315ms)
|
||
✔ failed generation after-auth preserves prior files, records failure and refuses blind same-ID retry (46.082663ms)
|
||
✔ failed generation before-publish preserves prior files, records failure and refuses blind same-ID retry (63.425927ms)
|
||
✔ credential lock contention refuses without duplicate side effects (11.564693ms)
|
||
✔ symlinked pre-existing final target is refused and never followed (31.942054ms)
|
||
✔ invalid registry cannot resolve; no fallback to supplied partial entries (0.259264ms)
|
||
✔ post-publication failure records uncertainty, preserves complete generation and prevents replay (27.143763ms)
|
||
✔ expired credentials refresh under transaction and subsequent generation reuses rotation (84.405106ms)
|
||
✔ refresh failure retains prior generation and store state (64.668735ms)
|
||
✔ refresh timeout retains prior generation and store state (144.665124ms)
|
||
✔ refresh malformed retains prior generation and store state (64.783437ms)
|
||
✔ concurrent refresh on same account refuses contention while unrelated account proceeds (225.432509ms)
|
||
✔ invalid refresh options refuse before burning claim (32.102816ms)
|
||
✔ fixed fake process rotates both OAuth fields without mutating caller input (27.737834ms)
|
||
✔ concurrent isolated processes preserve separate provider credentials (26.19512ms)
|
||
✔ fake failure is refused with fixed diagnostics (21.636041ms)
|
||
✔ fake malformed is refused with fixed diagnostics (20.634808ms)
|
||
✔ fake timeout is refused with fixed diagnostics (103.479732ms)
|
||
✔ fake unchanged is refused with fixed diagnostics (26.415401ms)
|
||
✔ caller executable/environment injection is rejected before spawning (0.307955ms)
|
||
✔ valid fixture tree validates and lists without secrets (67.091492ms)
|
||
✔ unknown-field refuses (0.359948ms)
|
||
✔ invalid-id refuses uppercase and traversal shapes (0.268526ms)
|
||
✔ plain-http baseUrl requires allowInsecureTransport (0.293743ms)
|
||
✔ native provider rejects allowInsecureTransport (0.127158ms)
|
||
✔ unsupported credential type and kind refuse (0.146855ms)
|
||
✔ account provider-path mismatch refuses (0.104082ms)
|
||
✔ profile account refs must be provider/account shaped (0.259182ms)
|
||
✔ seat selection accepts fork pin field, validates account refs (0.217095ms)
|
||
✔ harness manifest id must equal executable (gate 1) (0.193803ms)
|
||
✔ CLI validate: duplicate provider id across files refuses (26.811214ms)
|
||
✔ CLI validate: missing referenced provider/account refuse (30.579819ms)
|
||
✔ CLI validate: broken JSON refuses without secret echo (27.74491ms)
|
||
✔ CLI usage errors exit 2 (52.941807ms)
|
||
✔ credential.json sibling presence does not break validation and is never read (60.012673ms)
|
||
✔ D1 missing, empty and structurally empty roots refuse, no list projection (159.546883ms)
|
||
✔ D1 required directory auth cannot be absent (52.636557ms)
|
||
✔ D1 required directory auth/providers cannot be absent (49.623697ms)
|
||
✔ D1 required directory auth/accounts cannot be absent (57.345571ms)
|
||
✔ D1 required directory auth/settings cannot be absent (60.592431ms)
|
||
✔ D1 required directory harnesses cannot be absent (62.964431ms)
|
||
✔ D1 root file and unreadable metadata refuse (105.768637ms)
|
||
✔ D2 no symlink traversal at auth/providers/openai-codex.json (54.27586ms)
|
||
✔ D2 no symlink traversal at auth/accounts/openai-codex/homelab-openai (56.136866ms)
|
||
✔ D2 no symlink traversal at auth/providers (53.629891ms)
|
||
✔ D2 no symlink traversal at auth (53.321726ms)
|
||
✔ D2 root and ancestor symlinks and lexical traversal refuse (148.925819ms)
|
||
✔ private filesystem modes enforced for root (49.555703ms)
|
||
✔ private filesystem modes enforced for auth (53.87056ms)
|
||
✔ private filesystem modes enforced for auth/providers/openai-codex.json (54.23312ms)
|
||
✔ private filesystem modes enforced for auth/accounts/openai-codex/homelab-openai/account.json (60.465706ms)
|
||
✔ D3 numeric version 1 only across all record kinds (1.173489ms)
|
||
✔ D4 nested unknown keys and missing per-kind required fields refuse (66.6ms)
|
||
✔ D5 unenrolled default refuses even when account exists (57.40003ms)
|
||
✔ D6 provider/account credential type must match (61.881274ms)
|
||
✔ D7 every harness endpoint enforces HTTP opt-in and shape (0.445002ms)
|
||
✔ D8 URLs reject embedded credentials and unsupported protocols without echo (157.858243ms)
|
||
✔ D9 malformed JSON diagnostics contain no content excerpt (58.465857ms)
|
||
✔ D10 missing metadata is missing-path, not invalid-json (58.445718ms)
|
||
✔ D10 library returns no partial entries on any invalid record (69.980945ms)
|
||
✔ null/scalar/array metadata refuses without stack or echo (242.789138ms)
|
||
✔ credential sibling is never opened, even when an unreadable symlink (32.627949ms)
|
||
✔ oversized metadata refuses before parsing (57.011203ms)
|
||
ℹ tests 69
|
||
ℹ suites 0
|
||
ℹ pass 69
|
||
ℹ fail 0
|
||
ℹ cancelled 0
|
||
ℹ skipped 0
|
||
ℹ todo 0
|
||
ℹ duration_ms 2048.290365
|