fix: fail closed on unavailable IBKR order identity - #458
Conversation
Co-Authored-By: Codex <noreply@openai.com>
|
Closing unmerged under CC2. The frozen head 91d4a87 was BLOCKED by the one allowed independent semantic acceptance: a ReconciliationRequired receipt with a non-standard non-empty outcome can still be masked by a Filled result and summarized as executed. This is the one permitted successor for this invariant, so no further patch PR will be opened automatically; the invariant is PARKED for human redesign. No deployment or broker/runtime action was performed. |
|
Governance clarification: this closed PR is now classified as DESIGN_REVIEW_REQUIRED, not a permanent stop. The discovered mixed-outcome counterexample remains the source of truth. No third patch PR may be opened automatically. A new redesign PR is allowed only after an Owner explicitly approves a revised state-machine contract, root-cause statement, adversarial counterexample matrix, and minimal write scope. No runtime, broker, or deployment action is authorized by this clarification. |
Summary
order_keyfor every filled, partially filled, or pending broker result;broker_order_idalone is not identityorder_identity_unavailable/ReconciliationRequiredresult take fail-closed precedence over completed or pending orders in the aggregateTests-first evidence
origin/main@ccc219b0e8141d7fe27c8225e5bf12b95bda03e3: both adversarial tests RED because the aggregate returnedexecuteddc577a03b28a772b62b56259032a409be42baa29: the same two tests RED for the same reason67 passed519 passed, 5 skipped(5 existing deprecation warnings)Scope boundaries
Risk
RECONCILE_ONLYHead is frozen at
91d4a8779a85a5a761c3cbeb17340b31c01d0e95. Do not merge pending independent CC2 semantic acceptance.