Skip to content

Reconcile trading records with merged evidence (runtime-target, snapshot gate, dashboard, new-host EdgarTools receipt) - #200

Merged
seathatflowsinourveins merged 3 commits into
mainfrom
claude/records-reconcile-20260924
Sep 24, 2026
Merged

seathatflowsinourveins merged 3 commits into
mainfrom
claude/records-reconcile-20260924

Conversation

@seathatflowsinourveins

Copy link
Copy Markdown
Collaborator

Closes audit gap from the 2026-09-24 trading wiring audit (native-agent-stack-71).

This commit only updates records. No gate status changed: trading_gates.py lists no flip candidates.

(a) catalogs/us-equities/runtime-target.json:

  • retained-equity-replay now reads status spy_lean_parity_passed_one_zero_case, and executed_evidence_ref points at blueprints/us-equities/engine-nautilus/spy-parity/verdict-v2.json (PASS, 136 checks, 0 failed, 0 skipped, preregistration_qualifying true). The scope text lists the limits: the six v2 replays that ran before review, one case only, and an open-fill proxy that is not a general market-on-open equivalent. The old summary.json#/rows/6 is kept as earlier_evidence_ref.
  • adaptive_practice gains native_paper_capacity plus an evidence path to order-throughput/evidence/index-20260924.json: 180 actions/min in 5 full windows, 496 submits and 496 cancels, 0 HTTP 429, clean reconciliation, at the observed 200/min limit. It is labelled as reported by the harness itself; the independent listing matched the order counts only. 1000/min was not measured. native_synthetic_capacity is kept.
  • The separate-paper-adapters scope now points at broker-state-failures for native faults and at the measured 200/min for throughput.
  • broker-state-failures already matched native-fault-behaviour being established.
  • The engines-strategies card (json and md) said runtime-target still records the BLOCKED status. My change would have made that false, so I rewrote it: parity is now established, and the old status is kept as history. The test-required phrases are kept.

(b) snapshot-promotion-gate, in catalogs/us-equities/gates-20260922.json and blueprints/us-equities/data/README.md:

  • The gate was already established and is not a flip candidate, so status, evidence_class (synthetic) and receipt_path are unchanged. Only the note and the README changed.
  • Both now cite trials/20260923g-main-passed/ingest-receipt.json and gate-result.json from ingest_snapshot.py (Add the real promotion-gate snapshot ingest and a bounded scheduled paper trial #84): 480 rows, 12 of 12 checks pass, input_sha256 equals snapshot_sha256, and the paper command then passed.
  • The limits are stated: the snapshot CSV was not kept, the gate that ran was the promotion_gate.py from 843dc8f (its bytes differ from the current file), and this is not the full production ingest.

(c) observability/grand-dashboard/state.json:

(d) New file blueprints/us-equities/catalyst-provenance/new-host-native-network-20260924.json, registered in manifests/evidence.json receipts[] as native-sec-new-host-20260924 (kind native_cli_e2e, with a host_scope saying it does not replace the 2026-09-19 receipt). access-resolution.md gets a short new-host section.

  • I read the private output in full before copying. It has no '@', no host path and no contact text.
  • It does contain identity_sha256, an unsalted SHA-256 of the contact. Anyone with a guessed contact could confirm it against that hash, and the 2026-09-19 precedent never published one, so I left it out of the committed copy. The receipt records the original's sha256 (ed92e340…) and the committed copy's hash.
  • Checked: cohort 371, and the five selected CIK/accession rows equal the 2026-09-19 raw headers. The installed runtime's packages exactly match requirements.lock, checked when the receipt was written.
  • Stated as limits: the command line was not kept, and I don't claim a second physical machine.
  • It is not a host_receipts.py receipt, because that recorder reruns its commands. I added the id to manifests/stack.json edgartools evidence_ids, but test_stack_lifecycle then needs blueprints/token-native-focus/saturation-audit.json to match, so I reverted that. The receipt is not linked from the component.

manifests/evidence.json was updated in code (ensure_ascii=False). Only the changed files' hashes and the one new receipt entry changed.

Tests. Full suite, run like CI: uv run -q --no-project --python 3.12 --with numpy --with jsonschema --with pyyaml python -m unittest. Result: 4018 tests, OK, 415 skipped, 0 failures.

An earlier run had 1 failure (test_stack_lifecycle, caused by the stack.json evidence_ids edit). I reverted that edit and the rerun passed.

These are this repository's own tests and checks, not unchanged upstream tests. No broker, SEC or model call was made in this session.

Validation. Every check below exited 0 on the final tree:

  • scripts/validate.py: passed, 144 receipts, 5282 hashed files
  • scripts/validate_catalogs.py
  • scripts/landscape.py --root .
  • scripts/evidence_manifest.py --check
  • scripts/verdict_review_gate.py --base origin/main --root .: no verdict rows changed
  • scripts/trading_gates.py --check: passed, 0 flip candidates, sim and paper ready
  • scripts/host_receipts.py validate
  • scripts/build_ecosystem.py --check

These also passed, all exit 0, on the tree before the stack.json revert:

  • scripts/component_matrix.py --check
  • scripts/new_host_grand_list.py --check
  • tools/sota-convergence/build_verdicts.py --check
  • tools/sota-convergence/gap_crosswalk.py build --check
  • blueprints/blind-catalog-convergence/audit_reports.py --check
  • scripts/validate_foundation.py
  • scripts/release_due.py --strict-if-repinned origin/main

gitleaks dir on the new receipt: no leaks. No independent review was run; that is still needed before merge.

Independent review. Severities: medium, low, low, low, low, info, info, info. Fix round 031de300: fixed 1, rejected 0.

🤖 Generated with Claude Code

Scout and others added 2 commits September 24, 2026 12:06
…bservation

Records only; no gate status changes (trading_gates.py lists no flip candidate).

- runtime-target.json: retained-equity-replay now reads
  spy_lean_parity_passed_one_zero_case and points at spy-parity/verdict-v2.json
  (gate spy-lean-parity established 2026-09-23), with the v1 comparison summary
  kept as earlier_evidence_ref. adaptive_practice gains native_paper_capacity
  from the #184 order-throughput evidence: 180 actions/min at the observed
  200/min limit, self-reported, with order counts independently listed. The
  separate-paper-adapters scope now points at broker-state-failures for native
  faults.
- engines-strategies card (json/md): stops claiming that runtime-target still
  records the BLOCKED status and keeps that status as history.
- gates snapshot-promotion-gate note: cites trial 20260923g's retained
  ingest-receipt.json and gate-result.json from ingest_snapshot.py (480 rows,
  hashes equal, gate pass) as one real ingest gating one paper trial. Status,
  evidence_class and receipt_path are unchanged. data/README.md is corrected
  to match.
- Grand-dashboard checkpoint: native-fault gate established (#169) and native
  paper capacity (#184). The secret-storage practice (#182) is not a lane and
  has no dashboard entity, so nothing was added for it.
- New catalyst-provenance/new-host-native-network-20260924.json receipt
  (registered): EdgarTools 5.58.0 native request on the WSL2 Threadripper
  workstation (one GET 200, 371 rows, the same five selected rows as
  2026-09-19). The unsalted contact hash is withheld. This adds a host and
  does not replace the 2026-09-19 receipt.

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

engine.acceptance still said SPY/LEAN parity remained open although gate
spy-lean-parity is established. It now scopes parity to the one_zero case
(verdict-v2.json, one case, open-fill proxy limit) and keeps realistic
liquidity and rc5 native broker adapter acceptance open.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
@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.

@seathatflowsinourveins
seathatflowsinourveins merged commit 9a442a2 into main Sep 24, 2026
22 checks passed
@seathatflowsinourveins
seathatflowsinourveins deleted the claude/records-reconcile-20260924 branch September 24, 2026 17:05
seathatflowsinourveins added a commit that referenced this pull request Oct 13, 2026
…ty variable, refine the stale rule, drop host-only digests

From the CHANGES_REQUESTED reads at c999eee: the CC's Claude read, the CC's /code-review probe and
Astra's read.

- P1, the base: a codex-review now records the merge base its request named (openai/[email protected]
  review_request.rs:21, :62-70; branch.rs:13-15), and lg_gate requires it to be
  git merge-base <head> origin/main. Base = head and base = head^ stop.
- P1, an empty variable: a set but empty LOCAL_REVIEWS or CODEX_LOCAL_REVIEW now selects local mode and
  stops (2), instead of falling back to the connector.
- P2, the order: a review of our head that ended other than Completed gives 4 before the stale 5. A
  trigger after a stall gets the NOSTART grace, and the eyes reaction with no Running row is bounded.
- #200's value: OpenAI's Codex docs state no review time limit. The README records the measured basis
  (nas#1056) and keeps the value in one constant.
- P3s:
  - LANDING_REPO must have the owner/name shape, and every -R "$R" is quoted;
  - users/<login> must be of type User;
  - Legacy rollouts are refused, fail closed (exec/src/lib.rs:1425-1432; rollout/src/policy.rs:141-155);
  - codex_wait gives a local 2 its own message;
  - the plugin comment is bound to --head by its full-SHA links.
- Astra P1-3: the README carries no digest or prefix of a host-only file any more, and a test refuses any
  digest that is neither a tracked file's nor a named public artifact's.
- Astra's follow-ups 1 and 2: a refused retry removes the earlier --out file, and a non-finite
  confidence stops the gate.
- The new tests fail at c999eee (144 tests: failures=164, errors=2) and pass here (144 tests).

Co-Authored-By: Claude Opus 5.5 <[email protected]>
seathatflowsinourveins added a commit that referenced this pull request Oct 13, 2026
…tale-review rule and local reviews to the Codex gate

- nas_land.sh: R comes from LANDING_REPO, default native-agent-stack/native-agent-stack. GitHub
  redirects the old slug (github/docs@be38ec5d transferring-a-repository.md:62) until a repository
  is created at the old location (:68-69).
- Both scripts (CC correction #198): the no-reply author is LG_AUTHOR_LOGIN, default
  seathatflowsinourveins, and R's owner only when it is unset. A login of another shape is refused
  before any call (exit 11). The form <id>+<login>@users.noreply.github.com is unchanged
  (email-addresses-reference.md:47).
- codex_gate.py (CC correction #200): a review shown running with no connector activity for 90
  minutes gives 5. This is the CC's operational block, ported byte for byte.
- Local reviews: LOCAL_REVIEWS, with its alias CODEX_LOCAL_REVIEW, names normalized review files,
  and the gate decides from them alone:
  - 2 for a file that is malformed, of another head or not completed;
  - 4 for a P0 or P1 finding;
  - 0 otherwise, with P2 and P3 counted.
  lg_gate passes on the heads that carry the read head's change (lg_same_change).
- review_normalize.py writes the normalized files from a `codex review` rollout
  (openai/[email protected]) or from the /code-review plugin's comment
  (anthropics/claude-plugins-official@f359d43b).
- The new tests fail at c63c83a (104 failures, 7 errors) and pass here (133 tests).

Co-Authored-By: Claude Opus 5.5 <[email protected]>
seathatflowsinourveins added a commit that referenced this pull request Oct 13, 2026
…ty variable, refine the stale rule, drop host-only digests

From the CHANGES_REQUESTED reads at c999eee: the CC's Claude read, the CC's /code-review probe and
Astra's read.

- P1, the base: a codex-review now records the merge base its request named (openai/[email protected]
  review_request.rs:21, :62-70; branch.rs:13-15), and lg_gate requires it to be
  git merge-base <head> origin/main. Base = head and base = head^ stop.
- P1, an empty variable: a set but empty LOCAL_REVIEWS or CODEX_LOCAL_REVIEW now selects local mode and
  stops (2), instead of falling back to the connector.
- P2, the order: a review of our head that ended other than Completed gives 4 before the stale 5. A
  trigger after a stall gets the NOSTART grace, and the eyes reaction with no Running row is bounded.
- #200's value: OpenAI's Codex docs state no review time limit. The README records the measured basis
  (nas#1056) and keeps the value in one constant.
- P3s:
  - LANDING_REPO must have the owner/name shape, and every -R "$R" is quoted;
  - users/<login> must be of type User;
  - Legacy rollouts are refused, fail closed (exec/src/lib.rs:1425-1432; rollout/src/policy.rs:141-155);
  - codex_wait gives a local 2 its own message;
  - the plugin comment is bound to --head by its full-SHA links.
- Astra P1-3: the README carries no digest or prefix of a host-only file any more, and a test refuses any
  digest that is neither a tracked file's nor a named public artifact's.
- Astra's follow-ups 1 and 2: a refused retry removes the earlier --out file, and a non-finite
  confidence stops the gate.
- The new tests fail at c999eee (144 tests: failures=164, errors=2) and pass here (144 tests).

Co-Authored-By: Claude Opus 5.5 <[email protected]>
seathatflowsinourveins added a commit that referenced this pull request Oct 13, 2026
…eview rule and local reviews for the Codex gate (#1061)

* Land on the organization's repository as the merging account; add a stale-review rule and local reviews to the Codex gate

- nas_land.sh: R comes from LANDING_REPO, default native-agent-stack/native-agent-stack. GitHub
  redirects the old slug (github/docs@be38ec5d transferring-a-repository.md:62) until a repository
  is created at the old location (:68-69).
- Both scripts (CC correction #198): the no-reply author is LG_AUTHOR_LOGIN, default
  seathatflowsinourveins, and R's owner only when it is unset. A login of another shape is refused
  before any call (exit 11). The form <id>+<login>@users.noreply.github.com is unchanged
  (email-addresses-reference.md:47).
- codex_gate.py (CC correction #200): a review shown running with no connector activity for 90
  minutes gives 5. This is the CC's operational block, ported byte for byte.
- Local reviews: LOCAL_REVIEWS, with its alias CODEX_LOCAL_REVIEW, names normalized review files,
  and the gate decides from them alone:
  - 2 for a file that is malformed, of another head or not completed;
  - 4 for a P0 or P1 finding;
  - 0 otherwise, with P2 and P3 counted.
  lg_gate passes on the heads that carry the read head's change (lg_same_change).
- review_normalize.py writes the normalized files from a `codex review` rollout
  (openai/[email protected]) or from the /code-review plugin's comment
  (anthropics/claude-plugins-official@f359d43b).
- The new tests fail at c63c83a (104 failures, 7 errors) and pass here (133 tests).

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

* Carry Codex's verdict into the local review gate and make the /code-review arm advisory

The CC's follow-up to the first commit of this pull request.

- review_normalize.py carries Codex's overall_correctness verbatim, and overall_confidence_score when
  present. openai/[email protected] rubric.md:85 fixes "patch is correct" | "patch is incorrect",
  while the wire type is a free String (protocol.rs:3507). The mirror at 092d3acd6 holds the same
  bytes as the tag.
- codex_gate.py:
  - "patch is incorrect" blocks (4), whatever the findings' priorities;
  - any verdict other than exactly those two stops (2), as does a set with no completed
    codex-review (the required arm).
- The /code-review arm is advisory until the review-replay addendum measures it (arms E and F).
  Below a score of 80 the plugin does not proceed to its comment (code-review.md:26), and it
  skips a pull request it already reviewed (:11). So its issues are counted and a missing comment
  is noted, and neither stops the gate.
- The new tests fail at a6c8bf7 (134 tests: failures=76, errors=2) and pass here (134 tests).

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

* Fix the reviews at c999eee: bind the review's base, stop on a set empty variable, refine the stale rule, drop host-only digests

From the CHANGES_REQUESTED reads at c999eee: the CC's Claude read, the CC's /code-review probe and
Astra's read.

- P1, the base: a codex-review now records the merge base its request named (openai/[email protected]
  review_request.rs:21, :62-70; branch.rs:13-15), and lg_gate requires it to be
  git merge-base <head> origin/main. Base = head and base = head^ stop.
- P1, an empty variable: a set but empty LOCAL_REVIEWS or CODEX_LOCAL_REVIEW now selects local mode and
  stops (2), instead of falling back to the connector.
- P2, the order: a review of our head that ended other than Completed gives 4 before the stale 5. A
  trigger after a stall gets the NOSTART grace, and the eyes reaction with no Running row is bounded.
- #200's value: OpenAI's Codex docs state no review time limit. The README records the measured basis
  (nas#1056) and keeps the value in one constant.
- P3s:
  - LANDING_REPO must have the owner/name shape, and every -R "$R" is quoted;
  - users/<login> must be of type User;
  - Legacy rollouts are refused, fail closed (exec/src/lib.rs:1425-1432; rollout/src/policy.rs:141-155);
  - codex_wait gives a local 2 its own message;
  - the plugin comment is bound to --head by its full-SHA links.
- Astra P1-3: the README carries no digest or prefix of a host-only file any more, and a test refuses any
  digest that is neither a tracked file's nor a named public artifact's.
- Astra's follow-ups 1 and 2: a refused retry removes the earlier --out file, and a non-finite
  confidence stops the gate.
- The new tests fail at c999eee (144 tests: failures=164, errors=2) and pass here (144 tests).

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

* Require local reviews on nas, let the latest review decide, revert the eyes bound, harden the digest guard

The fixes for the CC's Claude delta and Astra's read at 974090c, both
CHANGES_REQUESTED:

- nas_land.sh requires local reviews (the CC's ruling). With LOCAL_REVIEWS
  and CODEX_LOCAL_REVIEW both unset it stops with 2 before any call, before
  the lock, update-branch and ready. The one exception is
  LOCAL_REVIEW_WAIVER: a file whose last Waiver line reads "Waiver: local
  reviews for #<pr> at <head8>", checked in verdict_gate and again by
  final_gate. A waived landing asks the connector as before and records the
  waiver in its squash body, after the body GitHub offers for the squash
  (viewerMergeBodyText, where gh's own edit step starts). uet_land.sh keeps
  the connector path; neither the shared block nor codex_gate.py changes
  for this.
- codex_gate.py, Astra's P2: the latest review of our heads since the
  trigger decides. An earlier completion hid a later Cancelled review:
  beside a stale row of another commit the gate gave 5, and with no row
  running 0. Both give 4 now; a later completion still supersedes a
  failure. The base's test that pinned "any completion evidence passes" is
  flipped.
- codex_gate.py: the connector's eyes reaction with no Running row waits
  (3) with no bound again, as at c999eee; 974090c's 5 was a new opening.
- Sources cited: the users API's type and the owner/repo parameters
  (github/rest-api-description@58b1e0c0), the repository-name rule
  (github/docs@be38ec5d), the set-or-unset tests (bash(1), cpython
  v3.13.16 os.environ), os.replace and os.unlink, json's number parsing
  and math.isfinite.
- The digest guard reads any letter case and bare prefixes (a commit id
  must be a named public commit), the four scripts and, with
  LANDING_PR_BODY, a pull request's body; its known digests are the files
  git tracks.
- README: the requirement and the waiver, the latest-review rule, the
  eyes revert, the guard and its residuals, the clean-comment limit, the
  sources and the files as committed. manifests/evidence.json: the six
  records.

The module run against 974090c's tools/landing: 156 tests, FAILED
(failures=31, skipped=1). The guard's probes are measured against
974090c's guard, which finds none of them.

Follow-ups (P3 from the reviews at f9266fd; not changed here):
- GPT 1: pin a Git citation for the tracked-file selection.
- GPT 2: retry recovery still keeps output on a usage error; use a fresh output path per attempt before adding retries.
- GPT 3: digest coverage and evidence packaging stay bounded (README 585-587).
- GPT 4: keep the recorded adjacent boundaries (the clean plugin comment binds no head; the arm stays advisory).
- GPT 5: inherited hostname hygiene in the tests.
- Claude 1: README 98-99 still states the reversed Completed/Cancelled rule; the gate gives 4.
- Claude 2: README 203 and nas_land.sh 15-16 say a 5 proceeds; it now proceeds only under a waiver.
- Claude 3: README 345 and nas_land.sh 332 say uet_land.sh binds GPT_VERDICT; it binds the head prefix only.
- Claude 4: no same-second completion/failure tie test; no "waiver unreadable" test.
- Claude 5: a failed git rev-parse is read as "not a work tree" in the digest guard test.
- Claude 6: a set-but-empty LOCAL_REVIEWS passes the presence check; update-branch and ready run before exit 9.

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

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant