Repository navigation
Conversation
There was a problem hiding this comment.
Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota. Try requesting a review at a lower effort level.
An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.
8b7931c to
890cca9
Compare
|
Exact890cca9 source-qualified for paired integration, not installation acceptance. Commander qualification checkout branch integ-refusal-3816 is the identical commit; Toad combined7bab354b retains #1389 and #1378. Affected Core and Toad checks run serially against both source roots because both repositories have bare conftest imports; zero-execution collection failures are retained, not green proof. |
Summary
One commit, 5 files, +58/-27. Paired with OpenHCSDev/toad#1389: install the pair together. The current Toad head imports GoalRefused; removing GoalDisplay.action_failure is incompatible with the old Toad caller. Neither half is an independent deployment, and no alias or compatibility reader is retained.
Today's real goal-clear log lost a policy refusal twice:
The repaired path is:
Domain and RPC capabilities share one type
GoalRefused is both a goal relation failure and a transportable refusal. Its constructor owns the existing invalid-parameters code; guards supply only their own reason. Local relation/ValueError consumers retain their actual domain contract through inheritance, not a compatibility alias. RuntimeServer's existing Refused dispatch now carries the code/message/data without a new wire case, schema, classifier or server exception switch.
The problem-order completion, replacement, edit and model-block refusals use it. Goal revision/state compare-and-set refusals also use it. GoalChangedError retains its enforcement behavior and gains the existing RPC refusal capability. Invalid persisted-state and record-validation failures are not blanket-reclassified as user refusals.
Delete the second string error system
Toad #1389 removes both request_owner's RuntimeError/Refused-to-ValueError wrapper and GoalSession.write's action_failure/rethrow wrapper while preserving owner readback in finally. This Core half deletes the now-unused GoalDisplay.action_failure contract and its three implementations (GoalUnavailable, NoGoal, Goal). The Toad model fixture's dead implementation is removed in its paired PR.
Whole Core src/tests/tools plus Toad src/tests search has zero remaining action_failure references after the paired deletion. Its former only live caller was GoalSession.write. No original logs, sessions, failed/UNKNOWN inputs or retained records are modified or replayed.
Evidence and limits
Checks for integration
Retained evidence: /home/ts/.cache/agent-scratch/pi-toad-errors/{refusal-before.log,refusal-before.rc,failure-display-before.log,failure-display-before.rc,refusal-owner-proof.log,refusal-owner-proof.rc,refusal-owner-proof-corrected.log,refusal-owner-proof-corrected.rc,core-publish.log}.
Assumed: a refused goal action must satisfy both the existing relation-failure and RPC-refusal contracts; the existing OwnerRpcError wire form is sufficient; both paired API heads are deployed together. No independent install or full channel/CLI/native queue-unification success is claimed.