Repository navigation
Qualify the isolated NautilusTrader rc6 runtime candidate - #761
Closed
seathatflowsinourveins wants to merge 15 commits into
Closed
seathatflowsinourveins wants to merge 15 commits into
seathatflowsinourveins wants to merge 15 commits into
Conversation
Sources: nautechsystems/nautilus_trader@7b766f8:RELEASES.md:73,145-148,259; docs/getting_started/quickstart.py:131,221. Fix ed6fc8bf47fd37dda97d63b9b2df160719ee2bac is inrc6,notrc5. Co-op native isolated install0/24offlinePASS; byte-bound4inputs, prior64refusal retained.12staticchecks/validate pass. Source and per-check classes remain separate; J2cases/5fbinding/pin/C1-C4pending. No harness/canonical-target edits.
Source: native-agent-stack@ecfa112764c664d35377dd66b8cfcb67e5a94d60:docs/lanes.md:94-128; scripts/host_receipts.py:710. Restore main registry then native-register11owned files and mirrored candidate receipt metadata. All212baseline receipts preserved; finalcommitonlyregistry. Validate69components/4profiles/213receipts/10279hashes passes; native0/24PASS remains scoped and provisional, with case/pin/5f gates pending.
|
Dependency limit exceeded — report not shown. This pull request scan exceeded the 10,000-dependency limit applied to this scan, so the results are incomplete and may be inaccurate. To avoid reporting false positives, Socket has not posted a report. Upgrade your plan to raise the dependency limit and get complete reports, or view the partial scan in the dashboard. Socket is always free for open source. If this is a non-commercial open source project, contact us to request a free Team account. |
4 of 5 tasks
seathatflowsinourveins
added a commit
that referenced
this pull request
Oct 6, 2026
… a SMART order above its cap) (#798) ### Scope - **What this PR changes.** It preregisters C5 for the NautilusTrader rc6 IBKR paper checks, before any rc6 run. C5 is a dated addendum to #754's frozen C1-C4: the native risk engine must refuse a SMART-routed paper order above its per-order notional cap. - It adds one stricter check and loosens none of C1-C4. - The command center approved it (item `task-native-agent-stack-5f-20261006T155009Z`, N4). - **Base commit:** `0d5e65064`. - **Lane:** `lane:trading`. - **Owned paths touched:** - `blueprints/us-equities/engine-nautilus/ibkr-paper-orders-rc6/PREREGISTRATION-ADDENDUM-C5-20261006.md` (new); - `blueprints/us-equities/engine-nautilus/ibkr-paper-orders-rc6/c5-addendum.json` (new); - `manifests/evidence.json` (two rows, in the last commit). ### SOTA sources - **The engine** is NautilusTrader `v2.0.0rc6`, commit `7b766f8825b2539c5b2ac1375e9d97b41c509edb` (the pin #761 qualifies). In `crates/risk/src/engine/mod.rs` at that commit (sha256 `ad16f4bf…`): - `check_orders_risk` (:1212-1243); - `order_account_id` (:1245-1276); - the per-order cap lookup (:1393); - the `NotionalExceedsMaxPerOrder` denial (:2358-2371); - the full-position-exit exemption (:2359). - https://github.com/nautechsystems/nautilus_trader/blob/7b766f8825b2539c5b2ac1375e9d97b41c509edb/crates/risk/src/engine/mod.rs - **The issue**, nautechsystems/nautilus_trader#4946. Its fix commit `ed6fc8bf47fd37dda97d63b9b2df160719ee2bac` is an ancestor of `v2.0.0rc6` and not of `v2.0.0rc5`. GitHub's compare API shows rc6 `ahead`, `behind_by=0`, and rc5 `diverged`, `behind_by=189`. - **The base criteria** are #754's `blueprints/us-equities/engine-nautilus/ibkr-paper-orders-rc5/plan.json` at `3e23f71abf3ae29c63483ef35c8506b8347e2c56` (sha256 `24ffca56…`, frozen 2026-10-05). ### Evidence-class table | Claim | Evidence class | Command / receipt | | --- | --- | --- | | The rc6 source lines cited | source_review | file fetched at the tag's commit; lines checked with awk | | The #4946 fix is in rc6 and not in rc5 | source_review | GitHub compare API, `ed6fc8bf...v2.0.0rc6` and `...v2.0.0rc5` | | C5 behavior on the IBKR paper route | Pending | runs in the confirmed slot 10-07 13:45-20:00Z, after this file's hash is recorded | ### Local commands run ``` $ python3 scripts/validate.py {"components": 69, "hashed_files": 10338, "profiles": 4, "receipts": 214, "status": "passed"} (exit 0) $ python3 scripts/evidence_manifest.py --check {"files": 10338, "status": "passed"} ``` ### Decision record This file is the dated preregistration (`preregistered_at_utc` inside `c5-addendum.json`). Its sha256 values are recorded in the command center's ledger before any rc6 run: - `PREREGISTRATION-ADDENDUM-C5-20261006.md`: `bfa7559e…`; - `c5-addendum.json`: `3c2956d8…`. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Merged
8 tasks done
seathatflowsinourveins
pushed a commit
that referenced
this pull request
Oct 8, 2026
… G4 excluded (dated) The command center's rulings (items task-native-agent-stack-5f-20261006T194228Z and task-native-agent-stack-5f-20261007T003642Z) on the grand-catalog lane's question Q26 for the NautilusTrader rc6 candidate (#761 at 5771015): G3 is (a), the retained first replay first-rc6-spy-20261006T055742Z (136 PASS, pre-C5 scope, the seven reviewed files); G4 (the AAPL baseline and fee_slippage_stress cases) is EXCLUDED as of 2026-10-07 because its qualifying inputs are on no live host, with a hash-gated reacquisition as the overturn route and a Mac-host search as a standing note. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
seathatflowsinourveins
pushed a commit
that referenced
this pull request
Oct 8, 2026
… retained with hashes; G4 reason scoped to the searched hosts) P1 (line 14): the source pin 5771015 is the head of open PR #761 (refs/pull/761/head), outside main's history. G3 now retains the evidence's location and sha256 values (the receipt, the decision record, the deviation acceptance and the seven reviewed files) so anyone can verify them there, or in main once #761 lands, before relying on G3's status. The ruling itself is unchanged. P2 (line 43): G4's reason names the hosts actually searched, NativeStack (2026-10-07) and the Mac (2026-10-08), and that NativeStack2604 holds no trading data by design, instead of 'any live host'. The command center's item task-native-agent-stack-5f-20261008T013145Z. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
seathatflowsinourveins
added a commit
that referenced
this pull request
Oct 8, 2026
… G4 excluded (dated) (#824) ### Scope - **What this PR changes:** one dated record, `blueprints/us-equities/engine-nautilus/rc6-gate-rulings-20261007.json`, with the gate owner's rulings on the NautilusTrader rc6 candidate's G3 and G4 (the grand-catalog lane's question Q26). - **Why:** the command center ruled on both. G3 is qualified by the retained first replay. G4 becomes a dated exclusion rather than an open-ended gate. - **Base commit:** origin/main at branch time. - **Lane:** `lane:trading`. - **Owned paths touched:** that one file. It needs no registry entry, so `manifests/evidence.json` and `manifests/stack.json` are untouched. **The rulings:** - **G3: (a).** The retained first replay `first-rc6-spy-20261006T055742Z` (NativeStack2604, `one_zero`, run and compare exit 0 and 0, 136 PASS with a 106-check execution subset that is never added to it) is G3's qualifying result, with its original date and pre-C5 scope. It covers exactly the seven reviewed rc6 files at the hashes in `deviation-acceptance-rc6.json`. If any of them changes, a new qualification record comes before any new qualifying run. - **G4: EXCLUDED, dated 2026-10-07.** The AAPL baseline and fee_slippage_stress cases need the retained Alpaca run that `equity-replay/receipt.json` identifies only by hash (`a59c6ed7…` for the receipt, `adb2a240…` for the selected rows). A search on NativeStack found neither hash: 7,785 Alpaca-path JSON files and 46,980 receipt or AAPL-named files hashed, no match. NativeStack2604 holds no trading data by design. - **Overturn route:** a dated deviation for a hash-gated reacquisition of the 15 sessions 2020-08-10..2020-08-28, qualifying only if the selected rows hash to `adb2a240…`. It belongs to the trading lane's next data wave. - **Standing note:** the Mac host's lane searches for the two hashes when that host is next online. - No rc6 launcher vector is written without the inputs. rc6's other checks proceed. ### SOTA sources - The rc6 candidate, PR #761 at `577101588db61764773bdb1651d60e88eeb24025`: - `blueprints/us-equities/engine-nautilus/spy-parity/deviation-acceptance-rc6.json` (the first-only seal and the seven reviewed hashes); - `evidence/receipts/nautilus-rc6-spy-first-replication-20261006.json` (the first replay's run block and result); - `blueprints/us-equities/engine-nautilus/equity-replay/receipt.json` (the AAPL input hashes and command template); - `docs/decisions/2026-10-06-nautilus-rc6-runtime-candidate.md` (AAPL blocked). - The command center's items `task-native-agent-stack-5f-20261006T194228Z` and `task-native-agent-stack-5f-20261007T003642Z`. ### Evidence-class table | Claim | Evidence class | Command / receipt | | --- | --- | --- | | G3's result and scope | repository record at a pinned commit | the first-replication receipt and the acceptance seal at `577101588` | | G4's inputs are on no searched path of NativeStack | local host search (absence within the stated scope only) | SHA-256 of the files named in the record's `search` block, no match for either hash | ### Local commands run ``` $ python3 -c "import json; json.load(open('blueprints/us-equities/engine-nautilus/rc6-gate-rulings-20261007.json'))" $ python3 scripts/validate.py {"components": 69, "hashed_files": 10388, "profiles": 4, "receipts": 223, "status": "passed"} ``` ### Decision record The command center's items cited above; this record transcribes their rulings. ### Host evidence Not applicable: this PR adds or changes no file under `evidence/hosts/`. - [x] `python3 scripts/host_receipts.py validate` passes for every new/changed receipt (none; `scripts/validate.py` exits 0 at 5bdbd64). - [x] Independent review is recorded or requested: the cross-family connector review threads (P1, P2) are answered and resolved, and the co-op re-reads at this head. - [x] No `platform_status` change is made from a host receipt alone (none changes). ### Checklist - [x] New/changed GitHub Actions are pinned to a full commit SHA with a version comment (no workflow changes here). - [x] New/changed workflows declare top-level `permissions: {}` and grant each job only what it needs (no workflow changes here). - [x] No secrets are printed, logged or committed; no new required secret was added. - [x] No new paid hosting, subscription or billing surface was introduced. - [x] Peer-owned untracked files and worktrees were preserved. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Owner
Author
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
Qualify the clean rc6 runtime candidate in its isolated HOME, and freeze separate
SPY runner/comparator/engine-binding copies with truthful reviewed-source
identities and explicit zero-rate MakerTakerFeeModel. The original rc5 files,
economic method and selected destination remain unchanged. The first rc6 SPY case ran once after the accepted Opus read and5f's actual
source-bound approval; replay/comparator each exited0, all136checksPASS.
candidate history, preregistration addendum, full changed-line table and local
fixture controls. Existing source/receipt classes remain separate.
shared runtime or original preregistration changes.
Every changed runtime line and reason
trading-2604-runtime/pyproject.toml:13install-trading-2604.sh:91–92install-trading-2604.sh:99install-trading-2604.sh:101install-trading-2604.sh:164accept-trading-2604.sh:14accept-trading-2604.sh:21uv.lock:45,57,59–77,232,234,236,704,706,708,843,849,851,1509,1511,1513–1516,2632,2689,2691,2693–2704changed-lines.jsonAll other runtime-script lines remain byte-identical to the base: HOME-derived
path, isolation, shared sync vector, Python 3.12.3, uv 0.12.17, cutoff
2026-10-06T04:00:00Z, every other direct pin, images and adapter. The project SHA
is
721c3a9e40cb2a1f5220d302fd4fad4bae9dbf83983f15bc80e4c713fbe482da;the lock SHA is
853ad0a1ee272087bd0e79646dc1255150a6a9f0f45d0dbbf207ed084f7035b4.Lock entries stay 188, with no additions/removals. Transitives change:
aiohttp 3.14.3→3.14.4, cachetools 7.2.0→7.2.1, filelock 4.0.10→4.0.12,
google-auth 2.59.1→2.60.0 and wcwidth 0.9.1→0.9.2.
SOTA sources
nautechsystems/nautilus_trader@7b766f8825b2539c5b2ac1375e9d97b41c509edb:RELEASES.md:73,145–148,248–249,259,262.The published_at field is 2026-10-05T03:03:18Z; release prose instead names October 4 UTC.
and comparison to rc5:
#4946 fix ed6fc8bf47fd37dda97d63b9b2df160719ee2bac is in rc6 and not rc5.
docs/getting_started/quickstart.py:131,221: executabledelta is MakerTakerFeeModel plus explicit zero rates; prerequisite prose also
narrows to Python 3.12–3.14. Use the unchanged vendor example; no rebuild or fork.
native-agent-stack@ecfa112764c664d35377dd66b8cfcb67e5a94d60:blueprints/us-equities/runtime-2604/README.md:73–113,122–140;install-trading-2604.sh:91–101,164,223–231;sync-trading-2604.sh:8–21.explicit DOCKER_HOST selects the existing rootless daemon with isolated HOME.
docs/lanes.md:94–128,scripts/host_receipts.py:710,docs/acceptance-evidence-policy.md:26–33and clean-release cooldown exceptiondocs/decisions/2026-10-03-omniroute-3851-pin.md:14–17.at 5617096; harness/oracle files remain at ecfa112.
Evidence-class table
Candidate source freeze: source_review;210fixture/source checks are synthetic/local_integration. No copied source ran on the native engine, and the independent review remains pending. The source receipt retains the boundary.
Local commands run
Executor disclosure: ns2604-coop's verified NativeStack2604 session ran:
Before/after hashes of all four runtime inputs match. The earlier Codex-tool
attempt exited 64 before package work because WSL_DISTRO_NAME was absent. It is
retained separately; no guard bypass or self-restored distribution variable was
used. Root independently inspected the actual rc/time/status/hash files and
isolated 3.12.3/rc6 metadata. This observation is not cross-family acceptance.
Owner ruling, exact first replication and case table
The owner/co-op Q22 interpretation permits strict engine/extension/active-source
identity bindings and the explicit native MakerTakerFeeModel, with every original
and economic predicate unchanged. Opus accepted 910351f with findings 0. Its
review record SHA a59062bcea9013f3b25584adc0d11be411b4aa046f82ea08f4fa70413e84a311
was committed byte-identically at 10700d1. 5f's actual acceptance SHA
28315835b1d34da729ee0d74d051a46a3b278a8390f086226e2a85a25645b7b1 was committed
byte-identically at 057541d. Both bind exactly the same seven unchanged files.
No fake approval, smoke, dryrun, native test invocation or retry occurred.
The FIRST rc6 SPY invocation ran 06:00:00–06:00:05Z on 2026-10-06, comparator
06:00:21Z; each exit0. The final documented-env launcher-equivalent form used
nice 19, Python-I, .venv/.python/repo/dataRO, fresh namespaces, five clearenv
values and one owned output. Actual mounted checkout 9af14ec contains the
records; reviewed source identities are 910351f. Physical rc6 ABI matches the
recorded da5fd063a9f0df9f1e6d0b8dfcdfcc9d9691fe6f8d4eeb89562c96c508805178.
Observed 725 bars, 2 fills, fees 0.00, distributions 428.64, native end cash 90734.08,
matching two internal engine runs and 0 ERROR lines each. This is historical
local_integration evidence from the existing harness, not an unchanged upstream
suite, broker/risk-cap acceptance, catalog aggregate or pin promotion. Independent
review of this execution publication remains pending; 5f owns C1-C4/engine cap
and destination selection.
The publication receipt names the files that ACTUALLY ran:
evidence/receipts/nautilus-rc6-spy-first-replication-20261006.json.
Its four primary outputs under
evidence/artifacts/nautilus-rc6-qualification-20261005/spy-first-20261006
are byte-identical actual native receipt/verdict/replay stdout/comparison stdout.
They pass explicit privacy scans; raw engine/report files remain private.
The native receipt's prose still carries v2 locators, accepted by Opus; the explicit
actual-file list/vectors in the publication receipt correct that limitation
without editing any reviewed file.
The accepted addendum freezes all variant/oracle hashes and every changedline:
86 binding lines plus 156 historical source-identity lines, 242 total. The candidate
history preserves the original fullprefix and both known J2rc5fullFAILs, then
appends this actual first rc6 attempt with its complete seven-file map. It is rehashed/
registered LAST. No further replay qualifies; no retry is authorized. The
source/fixture checks below stay separate from actual native observations.
Added local verification
Source/syntax checks confirm copied comparator functions are byte-identical
except its CLI label; candidate history preserves the complete original prefix. Local
negative fixtures show old ABI/review/approval, wrong fee descriptor and altered
price/fee/cash still fail. The first fee negative used unused fee_usd; the fixture
was corrected to fill.fee, with no production predicate/tolerance change. That
failed fixture log remains private, alongside the passing rerun. These are
synthetic/local checks, not upstream acceptance, native parity or independent
review. All future native results get a new rc6 candidate replication receipt.
Additional SOTA locators for these copies: native-agent-stack@ecfa11276:
blueprints/us-equities/engine-nautilus/spy-parity/run.py:46-48,161-166,240-273,297-343,724-725,782-804;
compare.py:74-100,263-344,692-855,1101-1118; tests/test_spy_parity.py:673-684,1093-1198
supplies reused comparator fixtures. Official fee API:
rc5 default,
rc6 Python stub
and official quickstart.
The source-freeze and line table identify pins for every change. A14's runtime
cells remain unchanged from the acceptance-passed candidate; 5f owns their pin
review and C1-C4 risk-cap/order procedure. Same-lane completeness critique is a
source-review lead only; the requested Opus read is still pending.
Decision record
docs/decisions/2026-10-06-nautilus-rc6-runtime-candidate.mdremains proposed;independent review, supplemental Python ratification and the canonical pin
decision are not inferred from 24 offline checks.
Host evidence
Sanitized receipt:
evidence/receipts/nautilus-rc6-runtime-2604-20261006.json;artifact folder
evidence/artifacts/nautilus-rc6-qualification-20261005/retainssource hashes, changed-line blocks, raw-log proof hashes and both attempts.
Checklist
Paper-window correction from 5f/co-op 2026-10-06T05:04:26Z: no heavy phases or
user-manager restart 10:35-13:45Z on 2026-10-06 or 19:50Z on 2026-10-06 through
00:10Z on 2026-10-07. Pause between steps; never kill a running case.
J2 evidence source: native-agent-stack@5271c87dbf8ebbc745afe3b9ee22c4d8528c4770:
blueprints/us-equities/engine-nautilus/evidence/j2-sim-rc5-20261005/spy-one_zero-launcher-equivalent-20261006T044147Z.json;
both run0/comparator1 outcomes stay unqualified, not rc6 observations.
Post-run publication checks:4raw primary privacy scans0;5published artifact/receipt
privacy scans0; registry rebuilt from currentmain and owned records; validate0
(69components/4profiles/215receipts/10295files); matrix/grand-list0/unchanged;
diffcheck0. No rerun of the case/comparator or reviewed-file modification.