Skip to content

Keep lane-A journal continuity for session-only config changes - #1068

Merged
seathatflowsinourveins merged 3 commits into
mainfrom
foundation/lane-a-frozen-config-continuity-20261013
Oct 13, 2026
Merged

seathatflowsinourveins merged 3 commits into
mainfrom
foundation/lane-a-frozen-config-continuity-20261013

Conversation

@seathatflowsinourveins

@seathatflowsinourveins seathatflowsinourveins commented Oct 13, 2026 •

Copy link
Copy Markdown
Collaborator

Scope

A lane-A PRE/POST config changes only three coordinated session flags, but the
existing runner refuses its raw config hash on the account's current journal.
For the NEXT paper trial, compare the frozen config fields so this change retains the same ledger,
fees, cash baseline, loss/drawdown history and request budget. Rung changes
remain refused in that journal and use a separately recorded series by design.
Recovery keeps the trial's exact config bytes under the 2026-10-04 / #667
decision; it preserves the existing raw and frozen bindings.
The runner reads one immutable config snapshot; the real loader, continuity
comparison, execution policy and raw/frozen provenance all use those bytes.
Lane-A starting metadata binds the verified frozen signature before execution,
so interrupted trials retain continuity after exact-byte recovery.

  • Lane: lane:trading.
  • Base: 28e0a25.
  • Owned paths: adaptive-paper runner and README, new lane-A continuity test,
    dated decision record, source/evidence hash bindings.
  • No deployed config, numeric limit, broker operation or gate row is changed.

SOTA sources

Evidence-class table

Claim Evidence class Command / retained result
Session-only NEXT paper trial preserves journal lineage synthetic Real runner.main with scriptable port/account fixtures; fail-before raw-hash refusal retained
Recovery rejects changed session flags, formatting and timeout; exact bytes preserve provenance synthetic Review regressions fail at 76a8a6b; the fixed runner keeps whole-file recovery binding
Risk/rung/stop/universe changes and unknown legacy configs refuse synthetic Specific SafetyError/false-result controls; no limits are changed
Fee/cash/request history and halt/cash/unfinished/unresolved-order guards remain synthetic Durable SQLite fixture with a booked fee, request and unresolved intent; no broker execution
NEXT trial persists and consumes the frozen signature synthetic Two real main calls; the prior PRE/POST config is not shipped; invalid/unknown bindings and structural changes refuse
Forced-recovery failure preserves next-trial continuity synthetic Fail-before at af64678; successful PRE/POST, interrupted trial, exact-byte recovery and admitted RTH trial retain the journal/signature/history
Path edits cannot substitute a wider stop or another universe synthetic Real-loader race regressions for paper/recovery fail at 76a8a6b; executed stop stays 25 bps and both digests bind the captured bytes
Source and evidence rows match final bytes local_integration Owning registration, manifest tests and scripts/validate.py

Local commands run

Results and exact commands are in the staged report. New tests fail before
the original fix on the branch's main base; recovery refusal and provenance
regressions also fail at the reviewed 76a8a6b. The round-2 interruption regression fails at af64678. Twenty-one focused continuity tests pass, including the snapshot races and all 98 scalar leaves of the shipped 1x config under legacy/retained signatures.
Credential, runtime-lock, exploratory rotation and hash/manifest controls run
with the same final bytes. Native staged gitleaks and whitespace checks pass.
Final round-2 bounded idle-scope run: 314 tests, rc 0, including the complete runner
module and all 21 continuity tests. scripts/validate.py: rc 0, 71 components,
11877 hashes and 240 receipts. The new scalar-leaf matrix kills the omitted
max_leverage mutant identified by the first read.

Decision record

docs/decisions/2026-10-13-lane-a-frozen-field-continuity.md.
The dated operating ruling is identified by
981d2202da0e50b515a382dc65ff19ba7e1c3b42e28b807f7a2021aba24daebc.
Today's independent-series records are not silently rewritten by this PR.

Follow-ups

  • Unknown non-shipped legacy configs require exact retained provenance before
    a changed-session reopen; never infer their settings from current limits.
  • Feed and every other non-session field remain frozen. Broader compatibility
    needs separately reviewed evidence and fail-before regressions.
  • Operating series switch to this landed mechanism only through a new record.
  • Source/report retention: the revised review packet includes pinned NAS and
    runtime-matched CPython sources and retained fail-before/final check reports.
  • Broader session-change STOP and other interrupted-publication fixture coverage
    remains a follow-up; existing STOP controls and conservative recovery binding remain.
  • Separate follow-up PR: mover paper/recovery must use one immutable config
    snapshot too (mover_runner.py:1128, mover.py:337, mover_runner.py:934 and :690
    at af64678). The adjacent repeated-read race is recorded separately.
  • The manifest contains 18 inherited machine-name lines outside this change's
    rows, counted only. Sanitation must update the historical content bindings together.

Checklist

  • Three session flags alone are excluded; the actual loader/session guards remain.
  • Explicit lane-B rotation and its authoritative SQLite records retain their existing path.
  • Failed fixtures and observed results are retained; paper acceptance is NOT_RUN.
  • No credentials, account identifiers or private paths are in this publication.
  • Independent pre-push and head reviews pending.

@seathatflowsinourveins seathatflowsinourveins added the lane:trading Trading lane: sim, paper and live north star label Oct 13, 2026
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