Repository navigation
tests: fix the EN-115 ownership probes so proof B reads 118/118 (CR-139) - #446
Merged
Merged
Conversation
…CR-139) Sixteen expect.json files carried "code": "", which the driver rejects before running anything (completed needs null; failed and compile_refused need a nonempty code), so those probes never ran and proof B could not pass. The values come from the contract, not from an observation: the ten completed controls take null (tests/ownership/README.md:77), and the six *_unconstructible compile refusals take PF-E0036, the stable code codegen exposes for a numeric literal outside the generated C++ range (README:92-93), traced from the lexer to diagnostics_catalog.json. Nothing else in any expectation, the driver or a probe changes. Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
… and fix the S notes (CR-139) engine/margin_required_explicit_overflow pinned a failure (engine_command_value_invalid, margin.required) for a finite explicit quantity whose placement requirement overflows. L6's 10-14 ruling (f2a455b, "row-7 is re-scoped") keeps that case: the order is refused at signal time with cancellation and callback continuation, and the typed fault stays for nonfinite placement inputs, nonfinite equity and declaration-derived requirements. The engine already matches it (pine_adapter.cpp:7365-7378, and tests/test_value_invalid_sizing_margin_source.cpp:196-197 and :232-262), so the expectation becomes completed / null / {} / min_trades 0 with label control and cites the ruling and the native test, not an observation. The six *_unconstructible notes said the schema records an empty code; they now state the PF-E0036 refusal the expectation carries (README:92-93). Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
…he rows they pin (CR-139) engine/margin_maintenance_overflow entered 1e-10 units, which never became a position, so the maintenance producer (which returns while the book is flat) was never reached and the run completed with no trade. The entry is now one unit; on a box the run fails with engine_command_value_invalid (margin.maintenance, nonfinite), the pinned result. engine/settlement_pnl_overflow failed one stage early: the percent fee quote overflows to NaN before the settlement money predicate runs. A percent commission of 0 cannot avoid that for a single trade, so the probe now uses a price-free cash_per_contract commission of 0 and two lots that are closed together, which takes the staged settlement and fails with engine_invariant at the money predicate, the pinned result. Both expectations are unchanged (they come from the ruled rows, not from an observation); only probe.pine and NOTES.md change. Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
…CR-139) Notes and one citation only; no expectation value changes. The row-7 notes cite the main-line commit 868aa65 beside f2a455b, point the refusal at the slipped-signal lines 7391-7421 for the configuration the probe uses, and say that min_trades 0 is a floor so the drop is witnessed natively, not by the probe. The six unconstructible notes no longer say the boundary row is red on main (the host admits the declaration before copying it). The margin_maintenance_overflow notes state the real extent of the 1x-long gap (the replacement margin call returns early on any of: no lot grid, point value other than 1, commission, slippage, an FX schedule, risk rules) and the measured scratch results. The settlement_pnl_overflow notes give the code argument for the staged path; the earlier commit message states that path as a fact, but it is the design: the driver cannot tell the staged path from the fused one. Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
…375795a) into the notes fix Brings engine main (the #445 test sharding) and the merge commit made on the pull request, and keeps the notes-only commit c4b0bd0 on top, so the branch head is a fast-forward of the pull request head. Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
luisleo526
marked this pull request as ready for review
October 19, 2026 16:58
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
CR-139 / EN-115 proof B. On engine main the 118-probe ownership corpus read 99/118 (box b4). Probe files only: no engine source, driver, manifest or README changed (git diff on src/include/docker/scripts/driver.py empty).
Proof: box b10 on exactly 2f7c1a3: 118/118 pass (runtime_covered 112, compile_coverage 6).
Open 1x-long question settled by experiment: a fully paid 1x long whose total notional overflows (pv 1e300, qty 2) FAILS CLOSED with engine_invariant ('non-finite open-position report row'); one whose total stays finite (1.25e308) completes, which is TradingView behaviour. No engine defect found.
Gate: lab remote rj-20261019t141739-79a5be (8 steps) running; independent Claude read against the contract running. After merge: kit-r15 reseal (it pins tests/ownership/driver.py + probes by hash), then proof B rerun on merged main.
🤖 Generated with Claude Code