mirror of
https://github.com/stablyai/orca.git
synced 2026-09-29 08:03:20 +00:00
Review of #19833 found the fail-closed claim did not hold. Each gate below was
reproduced failing open first, then fixed and re-proved.
The b2 seed pinned a V8 TypeError message rather than a guard: `toMatch(/null/)`
matched "Cannot read properties of null (reading 'ok')", so adding the correct
null guard would have made the seed fail and `result: undefined` was uncovered.
The oracle is now the outcome — the row is not committed and a non-empty error
is surfaced — which still fails against the pinned reference at bcba08b3e4
(`response.result?.ok === false` silently accepts and commits) and passes under
an explicit guard. A second case covers `undefined`. The ledger's b2 provenance
pointed at line 149, inside the sibling review-comment function; the merge path
is line 220.
`--require-regressions` shelled out to `vitest -t <name>` and trusted the exit
code. A filter matching nothing and an `it.skip` are both a green skip, so a
retitled or skipped seed kept the gate green. The runs now read the JSON
reporter and require the named case itself to report `passed`; the ratchet run
requires every case in the file to pass.
The named-deltas ledger was shape-validated only, so fabricated shas, absent
files and line 999999 passed. Every provenance pointer is now resolved with
`git show <sha>:<file>` and must be at least `line` lines long; any git failure
or truncated read is a gate failure.
`rpc-acceptance-census.mts` had a `--check` branch nothing invoked, so the
415-line STEP0_5-TODO.md could drift silently. step0 now drives it like the
other five generators, and the census honours `--output`.
Ratchet and census exclusions matched `test-support` anywhere in the path, which
would have made lane C's `mobile/src/test-support/rpc-recording/` permanently
unwatched and let out any product file whose name contained the string. Both are
anchored to a path segment or the `.test-support` suffix; the watched file set is
unchanged.
The caller walk carried a hardcoded rescue for one file and one parameter name.
A caller reached only through a function-type alias was otherwise dropped, and a
partial caller set resolving to one literal was indistinguishable from a static
call. The rescue is replaced by a general contextual-alias rule with fixtures for
both the annotated-variable and shorthand-property shapes; the inventory is
byte-identical apart from the rewritten seed's own references.
Artifact honesty: support-floor records considered versus inspected counts and
the floor commit dates, and states that a floor is the lowest version-named
compatible tag rather than the oldest supported release, since the rc floor
v0.0.1-rc.0 is thirteen days newer than the stable floor v1.3.51. Its `git show`
catch no longer launders a truncation into "protocol constant file absent".
access-inventory records that 1,182 `role: reference` entries are exempt by
construction and that 44 dynamic call sites are the resolved ones, and that a
transport-exception method union is an over-approximation.
No product behavior changes.
Claude-Session: https://claude.ai/code/session_01JNnE9qzUZMMnqpZWCqM3nb