✔ pure resolution selects current default or explicit enrolled account (1.878586ms)
✔ scope is explicit, bounded and never inferred (1.581008ms)
✔ fork pin is preserved against default change, override, missing account and revocation (0.716452ms)
✔ unenrolled account/provider, missing harness, model expansion and native model ceiling refuse (0.776018ms)
✔ only explicit synthetic credential forms and internal fixture stores admitted (5.536742ms)
✔ two concurrent workspaces of the same agent publish distinct complete private generations (39.166081ms)
✔ same execution ID is exclusively claimed and cannot overwrite a published generation (32.875243ms)
✔ failed generation after-auth preserves prior files, records failure and refuses blind same-ID retry (45.958981ms)
✔ failed generation before-publish preserves prior files, records failure and refuses blind same-ID retry (56.130026ms)
✔ credential lock contention refuses without duplicate side effects (11.675666ms)
✔ symlinked pre-existing final target is refused and never followed (30.62088ms)
✔ invalid registry cannot resolve; no fallback to supplied partial entries (0.276916ms)
✔ post-publication failure records uncertainty, preserves complete generation and prevents replay (26.435512ms)
✔ expired credentials refresh under transaction and subsequent generation reuses rotation (84.153218ms)
✔ refresh failure retains prior generation and store state (64.937175ms)
✔ refresh timeout retains prior generation and store state (144.305597ms)
✔ refresh malformed retains prior generation and store state (65.747822ms)
✔ concurrent refresh on same account refuses contention while unrelated account proceeds (215.395134ms)
✔ invalid refresh options refuse before burning claim (37.333871ms)
✔ fixed fake process rotates both OAuth fields without mutating caller input (30.930125ms)
✔ concurrent isolated processes preserve separate provider credentials (31.4959ms)
✔ fake failure is refused with fixed diagnostics (24.940459ms)
✔ fake malformed is refused with fixed diagnostics (25.340709ms)
✔ fake timeout is refused with fixed diagnostics (104.107324ms)
✔ fake unchanged is refused with fixed diagnostics (23.534776ms)
✔ caller executable/environment injection is rejected before spawning (0.284482ms)
✔ valid fixture tree validates and lists without secrets (66.88632ms)
✔ unknown-field refuses (0.382128ms)
✔ invalid-id refuses uppercase and traversal shapes (0.275639ms)
✔ plain-http baseUrl requires allowInsecureTransport (0.296326ms)
✔ native provider rejects allowInsecureTransport (0.125085ms)
✔ unsupported credential type and kind refuse (0.153165ms)
✔ account provider-path mismatch refuses (0.100346ms)
✔ profile account refs must be provider/account shaped (0.214059ms)
✔ seat selection accepts fork pin field, validates account refs (0.645005ms)
✔ harness manifest id must equal executable (gate 1) (0.201294ms)
✔ CLI validate: duplicate provider id across files refuses (29.663789ms)
✔ CLI validate: missing referenced provider/account refuse (32.571833ms)
✔ CLI validate: broken JSON refuses without secret echo (30.087738ms)
✔ CLI usage errors exit 2 (50.630519ms)
✔ credential.json sibling presence does not break validation and is never read (67.345203ms)
✔ D1 missing, empty and structurally empty roots refuse, no list projection (178.078068ms)
✔ D1 required directory auth cannot be absent (55.124406ms)
✔ D1 required directory auth/providers cannot be absent (55.174051ms)
✔ D1 required directory auth/accounts cannot be absent (65.607705ms)
✔ D1 required directory auth/settings cannot be absent (68.194942ms)
✔ D1 required directory harnesses cannot be absent (68.430456ms)
✔ D1 root file and unreadable metadata refuse (123.016733ms)
✔ D2 no symlink traversal at auth/providers/openai-codex.json (61.956083ms)
✔ D2 no symlink traversal at auth/accounts/openai-codex/homelab-openai (70.11802ms)
✔ D2 no symlink traversal at auth/providers (75.574364ms)
✔ D2 no symlink traversal at auth (59.487548ms)
✔ D2 root and ancestor symlinks and lexical traversal refuse (170.024215ms)
✔ private filesystem modes enforced for root (63.592633ms)
✔ private filesystem modes enforced for auth (53.667674ms)
✔ private filesystem modes enforced for auth/providers/openai-codex.json (56.37671ms)
✔ private filesystem modes enforced for auth/accounts/openai-codex/homelab-openai/account.json (58.259061ms)
✔ D3 numeric version 1 only across all record kinds (1.367263ms)
✔ D4 nested unknown keys and missing per-kind required fields refuse (63.141006ms)
✔ D5 unenrolled default refuses even when account exists (63.538674ms)
✔ D6 provider/account credential type must match (65.440288ms)
✔ D7 every harness endpoint enforces HTTP opt-in and shape (0.464132ms)
✔ D8 URLs reject embedded credentials and unsupported protocols without echo (174.497296ms)
✔ D9 malformed JSON diagnostics contain no content excerpt (75.363136ms)
✔ D10 missing metadata is missing-path, not invalid-json (71.448136ms)
✔ D10 library returns no partial entries on any invalid record (77.188608ms)
✔ null/scalar/array metadata refuses without stack or echo (238.266046ms)
✔ credential sibling is never opened, even when an unreadable symlink (36.426891ms)
✔ oversized metadata refuses before parsing (56.665304ms)
ℹ tests 69
ℹ suites 0
ℹ pass 69
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 2258.430424
