Skip to content

Native faults: the 2026-10-01 run on engine dca821cc becomes the gate's current receipt (native_faults_passed) - #584

Merged
seathatflowsinourveins merged 6 commits into
mainfrom
trading/native-faults-20261001
Oct 1, 2026
Merged

seathatflowsinourveins merged 6 commits into
mainfrom
trading/native-faults-20261001

Conversation

@seathatflowsinourveins

Copy link
Copy Markdown
Collaborator

What

The native-fault-behaviour gate's receipt is rebound to the merged fee-fix engine dca821cc (#559). The fee fix changed runner.py, safety.py and transport.py, so scripts/trading_gates.py had reported the gate's source binding stale since then (report-only). That binding is now current.

The run.

  • One manual native-fault run on 2026-10-01 at 14:38:32-14:38:34Z.
  • The lane's second paper account; paper endpoint only.
  • Harness and frozen plan unchanged (harness.py sha256 19d0a9b9…, plan.json f276b26c…).
  • Run from the read-only clone of main at dca821cc, with the pinned runtime (Python 3.12.3, alpaca-py 0.44.0, nautilus_trader 2.0.0rc5).
  • The Gate A owner approved one manual run before its seal announcement.

Result: native_faults_passed.

Case Outcome
C01 accept resting buy passed
C02 cancel resting passed
C05 cancel again passed
C04 definitive rejection passed

Two posts were reserved, and cleanup proved the account flat. An independent read-only observation afterwards (alpaca-py GETs, outside the harness) saw:

  • exactly one order since the start: c01, SPY buy 1 limit 380.73 day, canceled, 0 filled;
  • the c04 client-id lookup: 404;
  • 0 fill activities, 0 open orders, 0 positions.

Files

  • native-faults/receipt.json: the new receipt, unchanged from the harness (sha256 54430f38…). The 2026-09-25 receipt is retained byte-for-byte as receipt-20260925t182513.json.
  • native-faults/evidence/run-20261001t143832.json: the run record in the 2026-09-25 schema. It holds:
    • the tree binding;
    • the runtime and offline tests (31 OK);
    • the harness exit (0);
    • stdout and stderr sizes and hashes;
    • a ledger readback (7 events, 24 requests in time order, no foreign ids);
    • the limits.
  • native-faults/evidence/independent-observation-20261001t143832.json and the observer's stdout. The record states plainly that the observation method differs from 2026-09-25: alpaca-py TradingClient GETs through the engine's guarded credential loader, not a standard-library observer.
  • native-faults/README.md: a new top section with the results and what this run did not check. Every sentence that named the current receipt or engine is updated.
  • catalogs/us-equities/gates-20260922.json: a dated rebinding sentence in the gate note. status stays established.
  • catalogs/us-equities/runtime-target.json, adaptive-paper/README-safety.md, README-transport.md: their references to the current receipt.
  • manifests/evidence.json: 11 files re-registered in the last (merge) commit; no receipts[] or convergence_records[] entry.

Limits (also in the records)

This run is weaker than the 2026-09-25 run in three ways:

  • No separate pre- or post-run GET probe and no account-identity check. The harness's own preflight refuses unless the market is open and the account is flat with no open orders. "ACTIVE" comes from the observer.
  • No host-clock measurement. chronyc is not installed on this host.
  • One observer, run by the same session that started the run, without a ledger cross-check or a cash or equity comparison.

Checks

Command Exit Result
tests.test_native_faults_min, test_trading_gates, test_trading_gates_bindings, test_adaptive_paper_source_hashes_manifest, test_catalogs 0 Ran 116, OK (skipped=1, the hermetic-runtime test)
Pinned runtime: test_native_faults_min + test_adaptive_paper_source_hashes_manifest (before the run, from the clone) 0 Ran 31, OK
scripts/trading_gates.py 0 native-fault-behaviour bound 6, stale 0 (was stale 3)
scripts/validate.py 0 passed
scripts/evidence_manifest.py --check 0 8905 files
scripts/validate_catalogs.py 0 passed
Private-pattern scan of every new or changed file — no account id, fingerprint, balance, credential, session id or host path

SOTA sources

🤖 Generated with Claude Code

Scout and others added 4 commits October 1, 2026 10:58
…e gate's current receipt

receipt.json is now the 2026-10-01 14:38:32Z Alpaca paper run of the frozen
native-faults plan (C01, C02, C05, C04) on engine dca821c, status
native_faults_passed, exit 0, with the same four outcomes as the earlier
passing runs. It binds dca821c's runner.py, safety.py and transport.py, so
scripts/trading_gates.py reports the native-fault-behaviour binding as bound 6,
stale 0 (it was stale 3).

- Retain the 2026-09-25 receipt byte-for-byte as receipt-20260925t182513.json
  and point its run record's subject_receipt there.
- Add the sanitized run record evidence/run-20261001t143832.json and the
  independent observation evidence/independent-observation-20261001t143832.json,
  with its stdout byte-identical. The observation uses a changed method: the
  coordinator's alpaca-py TradingClient GETs with the engine's guarded
  credential loader.
- README: a new top section with the results table and what this run did not
  check (no host-clock measurement, no separate account-identity probe), and
  updates to the sentences that named the current receipt or engine.
- Gate note: prepend the dated 2026-10-01 rebinding; status unchanged.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This is the hot-file commit (docs/lanes.md protocol), made on main 758bce0's
manifest. It registers four new native-faults files and refreshes the hashes
of README.md, receipt.json, the 2026-09-25 run record and gates-20260922.json.
component_matrix.py --write and new_host_grand_list.py --write left their
reports unchanged.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
…ipt; runtime-target rebinding sentence for 2026-10-01

README-safety.md and README-transport.md named native-faults/receipt.json as the 2026-09-25
run; that receipt is now receipt-20260925t182513.json and receipt.json is the 2026-10-01 run on
engine dca821c. catalogs/us-equities/runtime-target.json's native-fault sentence gains a dated
2026-10-01 rebinding (engine_sources_sha256 runner.py 34ab492f..., safety.py f43def73...,
transport.py 8d1222f7...), keeping the 2026-09-25 rebinding as history.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
…ocol)

manifests/evidence.json is main's copy (d6d3bf7) with this branch's 11 files re-registered
(the receipts, run record, observation and observer output, README, the two engine READMEs,
gates-20260922.json and runtime-target.json); no receipts[] or convergence_records[] entry.
component_matrix.py --write and new_host_grand_list.py --write re-run. scripts/validate.py
exit 0; scripts/evidence_manifest.py --check passed (8905 files); validate_catalogs exit 0;
tests.test_native_faults_min, test_trading_gates, test_trading_gates_bindings,
test_adaptive_paper_source_hashes_manifest and test_catalogs Ran 116, OK (skipped=1);
scripts/trading_gates.py: native-fault-behaviour bound 6, stale 0.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
@seathatflowsinourveins seathatflowsinourveins added the lane:trading Trading lane: sim, paper and live north star label Oct 1, 2026
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, add credits to your account and enable them for code reviews in your settings.

Scout and others added 2 commits October 1, 2026 11:21
…e observer script

Independent Opus review of 0020911: approve, with 4 low documentation findings, all repaired:
- runtime-target.json: the closing sentence now says the qualification covered the
  2026-09-25 engine and since 2026-10-01 covers dca821c, and names the three added limits.
- README: "fresh state root" now says why (inside the run's output directory, which the run
  script refused to reuse); the no-ladder condition states what ran on the host (no
  order-throughput ladder session; account 1's mover series with its own writer lock).
- README: two limits added (ambiguous or in-flight submission faults not exercised; the
  observer's --after value and interpreter come from the coordinator's command); a sentence
  explains why the 2026-09-25 observer stdout still names native-faults/receipt.json.
- Gap closed: the observer script is committed byte-identical as
  evidence/observe-native-faults-20261001.py (sha256 f118798f...); the observation record
  records its --after value, exit code 0 and runtime; the run record describes the harness
  stderr (no identifier).
Outside the native-faults folder: the owner's verdict record no longer calls dca821c's
native-fault binding stale.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
…e protocol, last commit)

manifests/evidence.json re-registers the README, the observation and run records, the
committed observer script, runtime-target.json and observability/grand-dashboard/state.json
through scripts/host_receipts.register_file. state.json: the alpaca-paper-operational gate row
now reads "native faults re-verified on fee-aware engine 2026-10-01". component_matrix and
new_host_grand_list re-run. scripts/validate.py exit 0; evidence_manifest --check passed (8906
files); tests.test_trading_gates, test_trading_gates_bindings, test_catalogs and
test_grand_dashboard Ran 102, OK; trading_gates.py native-fault-behaviour bound 6, stale 0.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
@seathatflowsinourveins

Copy link
Copy Markdown
Collaborator Author

Independent review (Claude Opus, read-only, at 0020911e) and repair

Verdict: approve. The review found no defect that changes a result. It had 4 low documentation findings and 2 verification gaps, all repaired in e6a4834c, with the hot-file commit 0094c3ac last.

# Finding Repair
1 runtime-target.json's closing sentence still said the qualification covered "the released engine". It now says the qualification covered the 2026-09-25 engine and since 2026-10-01 covers dca821cc, and it names the three added limits.
2 README: "fresh state root" was not supported by the run record, and the host-wide no-ladder condition was stated only for account 2. The README now says why the state root was new: it lies inside the run's output directory, which the run script refused to reuse. It also states what ran on the host: no order-throughput ladder session, and account 1's mover series with its own writer lock.
3 Two limits were in the run record but not in the README: ambiguous or in-flight submission faults were not exercised, and the observer's inputs were not recorded. Both added.
4 The retained 2026-09-25 observer stdout still names native-faults/receipt.json. It stays a byte-identical copy; a README sentence explains that its receipt sha256 (31c112e3…) identifies today's receipt-20260925t182513.json.
gap The observer script was not committed. It is committed byte-identical as evidence/observe-native-faults-20261001.py (sha256 f118798f…). The observation record now carries its --after value, exit code 0 and runtime.
gap The harness stderr was not described. The run record describes it: two notices from the bash -ic wrapper and one alpaca-py stream reconnect notice, with no identifier.

Also in this round, both outside the native-faults folder:

  • The owner's verdict record no longer calls dca821cc's native-fault binding stale.
  • The grand dashboard's alpaca-paper-operational gate row now reads "native faults re-verified on fee-aware engine 2026-10-01". It is registered in the last commit.

Checks at 0094c3ac:

Command Exit Result
scripts/validate.py 0 passed
scripts/evidence_manifest.py --check 0 8906 files
tests.test_trading_gates, test_trading_gates_bindings, test_catalogs, test_grand_dashboard 0 Ran 102, OK
scripts/trading_gates.py 0 native-fault-behaviour bound 6, stale 0

One review round and one repair round.

@seathatflowsinourveins
seathatflowsinourveins merged commit 752714a into main Oct 1, 2026
25 checks passed
@seathatflowsinourveins
seathatflowsinourveins deleted the trading/native-faults-20261001 branch October 1, 2026 16:00
seathatflowsinourveins added a commit that referenced this pull request Oct 1, 2026
…ion-broker row after #584 (#586)

PR #584 (merged as 752714a) made the 2026-10-01 native-fault run on engine dca821c the gate's current receipt.
The row's notes said that dca821c had no paper execution and that its native-fault binding was stale; the owner
replaced that sentence verbatim. The edition file is not a registered manifest row, so no hot-file commit follows.

Co-authored-by: Scout <scout@local>
Co-authored-by: Claude Opus 5.5 <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

lane:trading Trading lane: sim, paper and live north star

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant