Skip to content

tests: assert the quantity-grid overflow fallback in test_value_admission_arith - #396

Merged
luisleo526 merged 2 commits into
mainfrom
lvd/en132-m033-assert
Oct 15, 2026
Merged

luisleo526 merged 2 commits into
mainfrom
lvd/en132-m033-assert

Conversation

@luisleo526

Copy link
Copy Markdown
Collaborator

The old quantity-grid overflow row reached floor_quantity_grid's overflow fallback through a noexcept wrapper, so a regression that threw would end the process by terminate instead of failing a check.

  • The row now goes through a cash-typed strategy_entry (cash 1e308, price 2, grid 0.001): it asserts the admitted order, a native AcceptedEvent and contracts == cash/price bit for bit, and turns a thrown value failure into a failed CHECK that states the expectation.
  • The explicit fixed-quantity overflow pass-through (explicit_entry_quantity_floor) keeps its own row.
  • With a deliberate bug in the fallback applied the row fails; restored it passes.

Tests only (tests/test_value_admission_arith.cpp); no src/ change. All eight CI steps passed on this exact tree.

🤖 Generated with Claude Code

luisleo526 and others added 2 commits October 15, 2026 07:49
…sion_arith

When the quantity grid arithmetic overflows (a finite quantity divided by
a tiny finite grid), floor_quantity_grid has a defined fallback: the units
come back unchanged. The old row reached it through a noexcept wrapper, so
a regression that turned the fallback into a thrown value failure ended the
test process by terminate instead of failing a check.

The row now places a cash-typed entry (cash 1e308, price 2, grid 0.001)
through the public strategy_entry surface, catches any thrown failure and
reports it as a failed check that says what was expected, and asserts the
fallback itself: the entry is admitted, and its contracts equal cash divided
by price bit for bit. The explicit fixed-quantity overflow assertion the old
row carried stays, as its own row (quantity_explicit_overflow_fallback), and
runs only when the cash row recorded no failure, so a regression that throws
fails the cash row by a check instead of reaching the noexcept explicit path.
The decimal-tolerance control row is unchanged.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
@luisleo526
luisleo526 merged commit f1c6867 into main Oct 15, 2026
20 checks passed
luisleo526 pushed a commit that referenced this pull request Oct 17, 2026
…value-ownership wording)

The paired-HPO line no longer claims HPO support for selected-window
revision 1.3; HPO 1.6.0 does not implement selected windows
(docs/return-stats.md:9 in pineforge-hpo). The landed follow-ups #396/#397
are said to be checked against their own deliberate bugs, and the figures
remain the candidate's. README.md and docker/README.md replace
"complete value ownership with" by "value ownership through", the wording
of the 1.6.0-rc.1 changelog entry, since no completeness proof was run.
The changelog's no-code-change sentence names the docker/README.md rewording.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
luisleo526 added a commit that referenced this pull request Oct 17, 2026
* docs: the 1.6.0 release (changelog, current pair, HPO note)

Prepare the final 1.6.0 release documentation dated 2026-10-17, paired with pineforge-codegen 1.6.0 and the matching pineforge-hpo release for selected-window contract revision 1.3.

CHANGELOG.md adds the 1.6.0 — 2026-10-17 entry above 1.6.0-rc.1 — 2026-10-14, carrying forward the release-candidate entry's substance and naming the six documentation and test-only changes merged since v1.6.0-rc.1 (#390, #393, #394, #395, #396, #397).

README.md updates the current-release block and the codegen command-block pointer to 1.6.0 and adds the v1.6.0 bullet to the Releases section. The current-release block's 1.5.0 sentence from 4c78f39 ("The release notes cover recorded outputs, the call-scoped report rule and the test inputs' move to a private repository") is replaced on purpose by the 1.6.0 sentence that lists what 1.6.0 covers; that 1.5.0 summary stays in the Releases list (the v1.5.0 bullet) and in CHANGELOG.md's 1.5.0 entry.

docs/pages/public-contract.md adds the 1.6.0 paragraph after the 1.5.0 paragraph and updates the same-version pairing line to 1.6.0.

* docs: 1.6.0 notes review fixes (HPO pairing line, follow-up figures, value-ownership wording)

The paired-HPO line no longer claims HPO support for selected-window
revision 1.3; HPO 1.6.0 does not implement selected windows
(docs/return-stats.md:9 in pineforge-hpo). The landed follow-ups #396/#397
are said to be checked against their own deliberate bugs, and the figures
remain the candidate's. README.md and docker/README.md replace
"complete value ownership with" by "value ownership through", the wording
of the 1.6.0-rc.1 changelog entry, since no completeness proof was run.
The changelog's no-code-change sentence names the docker/README.md rewording.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>

---------

Co-authored-by: HaoLiangWen <[email protected]>
Co-authored-by: CORE-TOP <[email protected]>
Co-authored-by: Claude Opus 5.5 (1M context) <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant