Repository navigation
fix(trading): make paper qualification proofs optional and mark receipts - #989
Merged
seathatflowsinourveins merged 1 commit intoOct 11, 2026
Merged
Conversation
`runner.py paper` now starts without `--gate-result` and `--snapshot`. Supplying either argument still requests the complete promotion check, so both must then be supplied and pass. This adopts the mover runner's optional-proof selection and its receipt marker (mover_runner.py:703-704 at 03a986e): the paper receipt's preflight block records `promotion_gate` as "validated" or "not_supplied", so a receipt without proofs never reads like a qualified one. `recover` adds no marker, because the paper receipt that admitted the trial carries it, and `preflight` is unchanged. MainCommandGateWiring drives runner.main(). Its no-proof test failed first with promotion_gate_missing. Its promotion_gate assertions in the two no-proof tests and the valid-proof test failed first against the previous head's runner.py (blob 4951f60), with None != 'not_supplied' and None != 'validated', and pass with this change. README-paper-exploration.md paraphrases the 2026-10-10 exploration direction, states preset and leverage-rung coverage as that direction rather than current behavior, and replaces terms the repository does not define. blueprints/us-equities/data/README.md no longer says `paper` always validates the gate. source-hashes.json was recomputed from the current bytes of the files it lists. The manifests/evidence.json entries were re-registered with scripts/host_receipts.py register_file, per the docs/lanes.md hot-file protocol. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
seathatflowsinourveins
force-pushed
the
foundation/paper-exploratory-20261010
branch
from
October 11, 2026 00:24
8fd9583 to
01a14da
Compare
seathatflowsinourveins
marked this pull request as ready for review
October 11, 2026 02:08
seathatflowsinourveins
deleted the
foundation/paper-exploratory-20261010
branch
October 11, 2026 02:20
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.
Scope
runner.py paperstarts without archived qualification proofs, and supplying either proof still requests the complete promotion check. The paper receipt'spreflightblock recordspromotion_gate(validatedornot_supplied), as the mover runner's receipt does.03a986ed637349403658f23da694c1833527819d. The branch is one commit on it.lane:trading.blueprints/us-equities/adaptive-paper/runner.py,README-paper-exploration.mdandsource-hashes.json;tests/test_adaptive_paper_runner.py;blueprints/us-equities/data/README.md, whose stale mandatory-gate text this corrects;manifests/evidence.jsonregistrations.SOTA sources
promotion_gatereceipt marker adopted here. The mover'srecovercommand (command_recover, mover_runner.py:885) sets no marker, and neither does this runner'srecover.scripts/host_receipts.pyregister_file).source-hashes.jsonwas recomputed from the current bytes of the files it lists, after a byte-identical serialization round trip.Evidence-class table
promotion_gate: not_suppliedMainCommandGateWiring; its marker assertions failed first, see belowaccount_not_ready, and its written receipt recordsnot_suppliedvalidated; either proof alone and invalid complete proofs refuserecoveradds no marker;preflightis unchangedevidence_manifest.py --check,validate.pyLocal commands run
The engine environment was built with the README-native.md install command,
uv pip sync --python "$ENGINE_PYTHON" --require-hashes blueprints/us-equities/adaptive-paper/requirements-linux-x86_64-py312.lock. It has Python 3.12.4, exchange-calendars 4.13.2 and nautilus_trader 2.0.0rc5.Decision record
blueprints/us-equities/adaptive-paper/README-paper-exploration.mdrecords the exploration direction, the pinned mechanism and the test evidence. It states preset and leverage-rung coverage as the direction, not current behavior. The existing config-hash continuity check still refuses same-account preset or rung rotation. No runner or configuration alias for the exploratory paper runs has been verified, and the inspected T22 snapshot supplies no production paper dispatcher.Alternative considered: setting the marker on every
paper/recoverpath. That would stampnot_suppliedonrecoverreceipts for trials that a validatedpaperrun admitted. It was rejected because the mover'srecoversets no marker. Ifrecoverreceipts later need to restate the admitting run's qualification, that would be a change to carry the original marker forward, not to recompute it.Host evidence
No host-evidence files or platform statuses change.
Checklist
version comment (no floating tags). No workflow or action changes.
permissions: {}and grant each jobonly what it needs (
contents: read, or an explicitly justified addition). No workflow changes.added without a documented owner.
moved or overwritten).
🤖 Generated with Claude Code