Build notes, patch and candidate manifest on BASE badfa52b9, the gate
logs (GATE_PASSED; the real bwrap tester case in seat sandbox.test.mjs
ran and passed) and the mutant runs (94 killed, b44 and b45 equivalent).
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 (3.650948ms)
|
||
✔ scope is explicit, bounded and never inferred (3.014675ms)
|
||
✔ fork pin is preserved against default change, override, missing account and revocation (1.165038ms)
|
||
✔ unenrolled account/provider, missing harness, model expansion and native model ceiling refuse (1.055586ms)
|
||
✔ only explicit synthetic credential forms and internal fixture stores admitted (7.289946ms)
|
||
✔ two concurrent workspaces of the same agent publish distinct complete private generations (46.823611ms)
|
||
✔ same execution ID is exclusively claimed and cannot overwrite a published generation (35.101338ms)
|
||
✔ failed generation after-auth preserves prior files, records failure and refuses blind same-ID retry (51.563272ms)
|
||
✔ failed generation before-publish preserves prior files, records failure and refuses blind same-ID retry (62.2424ms)
|
||
✔ credential lock contention refuses without duplicate side effects (12.68012ms)
|
||
✔ symlinked pre-existing final target is refused and never followed (29.928276ms)
|
||
✔ invalid registry cannot resolve; no fallback to supplied partial entries (0.504434ms)
|
||
✔ post-publication failure records uncertainty, preserves complete generation and prevents replay (30.886287ms)
|
||
✔ expired credentials refresh under transaction and subsequent generation reuses rotation (96.164353ms)
|
||
✔ refresh failure retains prior generation and store state (66.055541ms)
|
||
✔ refresh timeout retains prior generation and store state (146.783493ms)
|
||
✔ refresh malformed retains prior generation and store state (63.422402ms)
|
||
✔ concurrent refresh on same account refuses contention while unrelated account proceeds (225.157881ms)
|
||
✔ invalid refresh options refuse before burning claim (31.805217ms)
|
||
✔ fixed fake process rotates both OAuth fields without mutating caller input (43.146603ms)
|
||
✔ concurrent isolated processes preserve separate provider credentials (38.977265ms)
|
||
✔ fake failure is refused with fixed diagnostics (26.090183ms)
|
||
✔ fake malformed is refused with fixed diagnostics (27.336472ms)
|
||
✔ fake timeout is refused with fixed diagnostics (103.784169ms)
|
||
✔ fake unchanged is refused with fixed diagnostics (41.088729ms)
|
||
✔ caller executable/environment injection is rejected before spawning (0.40945ms)
|
||
✔ valid fixture tree validates and lists without secrets (89.387508ms)
|
||
✔ unknown-field refuses (0.51562ms)
|
||
✔ invalid-id refuses uppercase and traversal shapes (0.325634ms)
|
||
✔ plain-http baseUrl requires allowInsecureTransport (0.350264ms)
|
||
✔ native provider rejects allowInsecureTransport (0.246395ms)
|
||
✔ unsupported credential type and kind refuse (0.188461ms)
|
||
✔ account provider-path mismatch refuses (0.804113ms)
|
||
✔ profile account refs must be provider/account shaped (0.273557ms)
|
||
✔ seat selection accepts fork pin field, validates account refs (0.242649ms)
|
||
✔ harness manifest id must equal executable (gate 1) (0.229767ms)
|
||
✔ CLI validate: duplicate provider id across files refuses (40.44644ms)
|
||
✔ CLI validate: missing referenced provider/account refuse (51.074556ms)
|
||
✔ CLI validate: broken JSON refuses without secret echo (36.354145ms)
|
||
✔ CLI usage errors exit 2 (62.864185ms)
|
||
✔ credential.json sibling presence does not break validation and is never read (78.704465ms)
|
||
✔ D1 missing, empty and structurally empty roots refuse, no list projection (237.28875ms)
|
||
✔ D1 required directory auth cannot be absent (75.57094ms)
|
||
✔ D1 required directory auth/providers cannot be absent (64.504454ms)
|
||
✔ D1 required directory auth/accounts cannot be absent (67.762863ms)
|
||
✔ D1 required directory auth/settings cannot be absent (59.551624ms)
|
||
✔ D1 required directory harnesses cannot be absent (62.106424ms)
|
||
✔ D1 root file and unreadable metadata refuse (102.521882ms)
|
||
✔ D2 no symlink traversal at auth/providers/openai-codex.json (55.583343ms)
|
||
✔ D2 no symlink traversal at auth/accounts/openai-codex/homelab-openai (61.463736ms)
|
||
✔ D2 no symlink traversal at auth/providers (51.387062ms)
|
||
✔ D2 no symlink traversal at auth (49.801194ms)
|
||
✔ D2 root and ancestor symlinks and lexical traversal refuse (152.512703ms)
|
||
✔ private filesystem modes enforced for root (52.20383ms)
|
||
✔ private filesystem modes enforced for auth (51.634479ms)
|
||
✔ private filesystem modes enforced for auth/providers/openai-codex.json (55.065357ms)
|
||
✔ private filesystem modes enforced for auth/accounts/openai-codex/homelab-openai/account.json (62.958513ms)
|
||
✔ D3 numeric version 1 only across all record kinds (1.219781ms)
|
||
✔ D4 nested unknown keys and missing per-kind required fields refuse (60.539452ms)
|
||
✔ D5 unenrolled default refuses even when account exists (62.73539ms)
|
||
✔ D6 provider/account credential type must match (61.137184ms)
|
||
✔ D7 every harness endpoint enforces HTTP opt-in and shape (0.460644ms)
|
||
✔ D8 URLs reject embedded credentials and unsupported protocols without echo (160.505385ms)
|
||
✔ D9 malformed JSON diagnostics contain no content excerpt (58.549373ms)
|
||
✔ D10 missing metadata is missing-path, not invalid-json (65.54097ms)
|
||
✔ D10 library returns no partial entries on any invalid record (73.51346ms)
|
||
✔ null/scalar/array metadata refuses without stack or echo (241.25881ms)
|
||
✔ credential sibling is never opened, even when an unreadable symlink (30.997901ms)
|
||
✔ oversized metadata refuses before parsing (62.107808ms)
|
||
ℹ tests 69
|
||
ℹ suites 0
|
||
ℹ pass 69
|
||
ℹ fail 0
|
||
ℹ cancelled 0
|
||
ℹ skipped 0
|
||
ℹ todo 0
|
||
ℹ duration_ms 2204.501458
|