mirror of
https://github.com/stablyai/orca.git
synced 2026-09-23 08:02:31 +00:00
Two CI failures, both ours. Static analysis. `Reflect.get` was adopted to clear the casting audit, and the anti-slop rule forbids it -- the two gates disagree, and the rule text says what both want: parse dynamic input into a named type once, then read typed fields off it. Markers re-enter from a file this process may not have written and decide whether an agent is handed a provider child, so they now go through a single zod parse. Unknown keys still pass, and a malformed marker is still dropped rather than thrown, so a bad entry cannot make a user's sessions unreadable. The launch stamp is parsed the same way, the resume-admission refusal becomes a named error carrying a typed `owner` instead of a bag assigned onto `new Error`, and the test harness gets a named journal type instead of reaching into `unknown`. Cross-version wire. The four restart methods are added to the manifest rather than the count being bumped, so the suite now exercises them in both skews. They are bare additions, not capability-negotiated: an unknown RPC method answers `method_not_found`, which is explicit and visible during negotiation, unlike a stream opcode that is dropped in silence. The whole `agentSession.*` surface already sits behind its runtime capability, so an old client is told it does not exist and never reaches a host method. The stub's spies stay a flat map because callers iterate it asserting each entry is a spy that did not run; a composer reassembles the member the host really exposes. The manifest and its params builders move to their own module, which is what keeps the suite under its line cap as the surface grows.