✔ pure resolution selects current default or explicit enrolled account (1.971163ms)
✔ scope is explicit, bounded and never inferred (1.600265ms)
✔ fork pin is preserved against default change, override, missing account and revocation (0.753766ms)
✔ unenrolled account/provider, missing harness, model expansion and native model ceiling refuse (0.786821ms)
✔ only explicit synthetic credential forms and internal fixture stores admitted (5.509401ms)
✔ two concurrent workspaces of the same agent publish distinct complete private generations (83.91413ms)
✔ same execution ID is exclusively claimed and cannot overwrite a published generation (34.641507ms)
✔ failed generation after-auth preserves prior files, records failure and refuses blind same-ID retry (48.686266ms)
✔ failed generation before-publish preserves prior files, records failure and refuses blind same-ID retry (64.110179ms)
✔ credential lock contention refuses without duplicate side effects (11.975098ms)
✔ symlinked pre-existing final target is refused and never followed (27.52298ms)
✔ invalid registry cannot resolve; no fallback to supplied partial entries (0.283475ms)
✔ post-publication failure records uncertainty, preserves complete generation and prevents replay (27.637988ms)
✔ expired credentials refresh under transaction and subsequent generation reuses rotation (87.667553ms)
✔ refresh failure retains prior generation and store state (62.055966ms)
✔ refresh timeout retains prior generation and store state (155.216058ms)
✔ refresh malformed retains prior generation and store state (74.571917ms)
✔ concurrent refresh on same account refuses contention while unrelated account proceeds (222.554721ms)
✔ invalid refresh options refuse before burning claim (49.438388ms)
✔ fixed fake process rotates both OAuth fields without mutating caller input (27.803522ms)
✔ concurrent isolated processes preserve separate provider credentials (24.802824ms)
✔ fake failure is refused with fixed diagnostics (25.655477ms)
✔ fake malformed is refused with fixed diagnostics (20.98481ms)
✔ fake timeout is refused with fixed diagnostics (103.033112ms)
✔ fake unchanged is refused with fixed diagnostics (23.847885ms)
✔ caller executable/environment injection is rejected before spawning (0.318092ms)
✔ valid fixture tree validates and lists without secrets (67.725271ms)
✔ unknown-field refuses (0.384343ms)
✔ invalid-id refuses uppercase and traversal shapes (0.266715ms)
✔ plain-http baseUrl requires allowInsecureTransport (0.312892ms)
✔ native provider rejects allowInsecureTransport (0.127375ms)
✔ unsupported credential type and kind refuse (0.15583ms)
✔ account provider-path mismatch refuses (0.583386ms)
✔ profile account refs must be provider/account shaped (0.224066ms)
✔ seat selection accepts fork pin field, validates account refs (0.206671ms)
✔ harness manifest id must equal executable (gate 1) (0.190372ms)
✔ CLI validate: duplicate provider id across files refuses (26.863547ms)
✔ CLI validate: missing referenced provider/account refuse (41.495788ms)
✔ CLI validate: broken JSON refuses without secret echo (29.263408ms)
✔ CLI usage errors exit 2 (49.396949ms)
✔ credential.json sibling presence does not break validation and is never read (66.643029ms)
✔ D1 missing, empty and structurally empty roots refuse, no list projection (162.292817ms)
✔ D1 required directory auth cannot be absent (50.828464ms)
✔ D1 required directory auth/providers cannot be absent (52.73669ms)
✔ D1 required directory auth/accounts cannot be absent (64.422345ms)
✔ D1 required directory auth/settings cannot be absent (63.505576ms)
✔ D1 required directory harnesses cannot be absent (64.066711ms)
✔ D1 root file and unreadable metadata refuse (108.936788ms)
✔ D2 no symlink traversal at auth/providers/openai-codex.json (52.176831ms)
✔ D2 no symlink traversal at auth/accounts/openai-codex/homelab-openai (55.081328ms)
✔ D2 no symlink traversal at auth/providers (49.331481ms)
✔ D2 no symlink traversal at auth (54.320195ms)
✔ D2 root and ancestor symlinks and lexical traversal refuse (155.918875ms)
✔ private filesystem modes enforced for root (59.652207ms)
✔ private filesystem modes enforced for auth (53.823008ms)
✔ private filesystem modes enforced for auth/providers/openai-codex.json (57.195567ms)
✔ private filesystem modes enforced for auth/accounts/openai-codex/homelab-openai/account.json (133.252651ms)
✔ D3 numeric version 1 only across all record kinds (2.450994ms)
✔ D4 nested unknown keys and missing per-kind required fields refuse (103.14088ms)
✔ D5 unenrolled default refuses even when account exists (64.775033ms)
✔ D6 provider/account credential type must match (73.742853ms)
✔ D7 every harness endpoint enforces HTTP opt-in and shape (0.583078ms)
✔ D8 URLs reject embedded credentials and unsupported protocols without echo (188.069536ms)
✔ D9 malformed JSON diagnostics contain no content excerpt (63.078565ms)
✔ D10 missing metadata is missing-path, not invalid-json (61.794322ms)
✔ D10 library returns no partial entries on any invalid record (70.866904ms)
✔ null/scalar/array metadata refuses without stack or echo (229.753939ms)
✔ credential sibling is never opened, even when an unreadable symlink (31.528507ms)
✔ oversized metadata refuses before parsing (54.294151ms)
ℹ tests 69
ℹ suites 0
ℹ pass 69
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 2235.52079
