Repository navigation
SOTA repository convergence 2026-09-22: per-layer list, manifest, newcomer dispositions, engine reconciliation - #58
Merged
Conversation
…ollector Protocol is committed before any real-bar evaluation. Collector retains every response page with hash and ledger for pagination evidence. Co-Authored-By: Claude Fable 5.1 <[email protected]>
…any evaluation Co-Authored-By: Claude Fable 5.1 <[email protected]>
…n tests Session state derived from the provider clock+calendar (never the local clock alone); universe = active/tradable us_equity assets excluding OTC and placeholder symbols (reuses collect_daily.DATA_SYMBOL/read_credentials via importlib); SIP snapshots batched under a 4KB URL budget; observation_class, prev_bar_mismatch, stale/invalid quote flags; protocol eligibility and S1-S5 signal flags computed from daily.parquet prior sessions (duckdb window functions) plus today's snapshot bar when --history is given, else eligibility is reported unknown; bounded own news fetch (not market_research.collect, whose 3-GET/30-symbol shadow-watchlist contract cannot cover a universe scan) with sha256'd headlines and no bodies; private full-row output vs a public output redacted to symbol/list-membership/rank/rounded-pct/dv-bucket/ flags only. 38 synthetic-fixture local integration checks (no network, no credentials, no real dataset) all pass. Live read-only run executed once against the paper-api/data hosts (no --history: daily.parquet was not yet materialized by the coverage builder at run time). Co-Authored-By: Claude Fable 5.1 <[email protected]>
… for broad-universe coverage.py materializes daily.parquet from the raw/all bar CSVs (refusing on an incomplete ledger or duplicate rows) and builds an offline coverage-manifest.json covering collection integrity (pagination proof, full sha256 re-verification, row-total reconciliation), universe/calendar coverage, quality flags, identity collisions, protocol eligibility counts and a bounded live entitlement probe. corporate_actions.py collects the market-wide /v1/corporate-actions feed in calendar-year windows with the same page/ledger evidence pattern as collect_daily.py and summarizes counts per type/year. Live runs against the completed broad-market-20260921 dataset: 21,332,097 materialized rows, 0 pagination violations across 310 batches, 4,424/4,424 pages sha256-verified with 0 mismatches, row totals matched exactly, and independently reproduced asset-master symbol selection matched plan.json byte-for-byte (symbols_sha256_match=true). Corporate-actions collection retrieved 17,217 items across 11 years with 0 failures. Co-Authored-By: Claude Fable 5.1 <[email protected]>
…ed rows Resolves the third Codex pass: members linked only through an intermediate ticker no longer leave two rows on one session, and residue is counted within the actual deletion set. Co-Authored-By: Claude Fable 5.1 <[email protected]>
Co-Authored-By: Claude Fable 5.1 <[email protected]>
… results, dated watchlist 17,997 symbols / 2,693 sessions of entitled SIP daily bars with page-hash and pagination proofs; protocol v1 evaluated once (0 of 15 signal x horizon checks established); full-universe scan of session 2026-09-21 with META and AMD pinned. Registers the receipt, file hashes, lifecycle audit rows and dashboard gates. Co-Authored-By: Claude Fable 5.1 <[email protected]>
Co-Authored-By: Claude Fable 5.1 <[email protected]>
…d lean agent routing examples/claude-native now carries byte-identical copies of the deployed agent-lab files: three agents (source-scout Sonnet/medium for extraction and acceptance commands; evidence-reviewer Opus/high and isolated-builder Sonnet/medium with named MCP tools behind ToolSearch), the review-changes workflow with an independent recheck stage, readiness-audit, child-usage.mjs for per-child requested/resolved model and provider usage, the Codex bridge, and the local suites (static contract, mutation harness, synthetic usage rows, receipt bindings) driven by a sibling contract.config.json. ultracode.settings.json moves from the small to the unrestricted size guideline with a task sizing rule. examples/codex-native adds the matching Codex agent definitions and the [agents] config snippet. Evidence: receipt ultracode-token-routing-20260921 (first prompt 42,396 -> 12,164 -> 8,048 tokens on one identical task; eight native reviews, a readiness audit, a builder run and a Codex cross-family review as sanitized usage receipts; Haiku not routed after an Opus-verified 9/14 vs 14/14 trial) and receipt portable-claude-native-qualification-20260921 (the portable set adopted into a scratch project and run natively under the full host profile with a client-scoped observation that reconciles the Sonnet children exactly; the project-only profile is recorded as unqualified: provider errors and a permission-layer refusal of the Workflow tool). Decision lean-workflow-child-routing records the routing, the sizing rule and the comparisons that would overturn them; recipes gain the cooperation lanes and the observability README the per-model query. Co-Authored-By: Claude Fable 5.1 <[email protected]>
Codex reviewed 73f4334 against fb04bf7 (five findings, stored as codex-pr-review.json in the qualification bundle): the two new receipts and artifact bundles now publish at the current revision instead of the immutable base; the decision record keeps the project-only boundary in its scope and lifecycle; the observability README scopes a run by the client_scope label rather than the instance label; the recipe states inventory and recheck coverage separately; the Codex agent documents say that sandbox_mode is not set and the reviewer's no-edit rule is a prompt instruction. Co-Authored-By: Claude Fable 5.1 <[email protected]>
The portable review-changes workflow reviewed 73f4334 headlessly inside this checkout with its agents supplied inline (stored as claude-pr-review.json in the qualification bundle): the guide is regenerated from the current deployed record so its checks, owned files and the sync sentence match the shipped copies; the decision limitations carry the project-only boundary; the recipe names both readiness audits; the exporter coverage figure reads 10% in the guide and the receipt alike. Co-Authored-By: Claude Fable 5.1 <[email protected]>
…line evidence access
…comer dispositions, engine reconciliation 16 foundation and 12 consolidated trading layers confirmed against GitHub metadata for 396 repositories; 34 candidate records (33 repositories) adversarially verified, one targeted candidate (snyk/agent-scan); engine card reconciled with the NautilusTrader 2.0.0rc5 destination; Codex cross-family review blocked by the exhausted usage limit and recorded as not established. Rebased onto the concurrent sync commits. Co-Authored-By: Claude Fable 5.1 <[email protected]>
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
…I check) Co-Authored-By: Claude Fable 5.1 <[email protected]>
Replace the two ad hoc host-path prototype scripts with tools/sota-convergence/
{extract_layers,github_freshness,build_manifest}.py: deterministic no-network
extraction of the working files from the two maintained catalogs, resumable
authenticated GitHub freshness, and a manifest merge with a tested pin-vs-
upstream rule, a never-promote disposition rule, and a sanitize-then-refuse
writer. Add synthetic-fixture tests, the checked-in default reconciliations
file, the tool README, and the operating recipe with its recipes/README.md
index row.
Regression run against the real 2026-09-22 working files reproduces the
published manifest's (layer, repository, review_status) identity set,
candidate dispositions and components_confirmed exactly; the small remaining
pins_behind_upstream difference and its cause are documented in both the
tool README and the recipe.
Co-Authored-By: Claude Sonnet 5 <[email protected]>
- classify_pin() now excludes OS-distribution package pins (systemd's
real row: a GitHub repository with an Ubuntu-package pin) via an
-Nubuntu/-Ndeb/+debN pin-suffix regex and a --os-package-ids
allow-list (default: systemd), instead of only excluding non-GitHub
repositories.
- github_freshness.py: gh_api() now catches subprocess failures
(timeouts, missing binary) per call instead of letting one abort the
whole run; results are checkpointed to --out every 25 fetched
repositories and again in a finally block; a resumed run now retries
records that previously carried "error" instead of treating them as
covered.
- disposition() validates proposed_label against the fixed proposable
set ({not_adopted, keep_but_compare, targeted_candidate}) before
applying the survives logic, so an unrecognised label can no longer
pass through unchanged as a promotable-looking value.
- build_manifest.py now sorts per-layer components/entries by
(decision-rank, id) and candidates by (disposition-rank, repository)
before writing, so reruns against reordered lane/catalog input
produce byte-identical row order.
- recipes/sota-convergence-practice.md step 3 replaced the
nonexistent "run-saved-workflow" command with the actual contract:
the Claude Code saved workflow "sota-convergence" (args: work_dir,
repo, lanes?, refuters?, budgets?, max_proposals_per_lane?) returns
{lanes, critic, lost} and writes nothing; the coordinator persists
that object to $WORK_DIR/lanes.json.
Each finding is reproduced by a test that fails against the pre-fix
source and passes after the fix (verified by stashing the two source
files and rerunning tests.test_sota_convergence).
Co-Authored-By: Claude Fable 5.1 <[email protected]>
Co-Authored-By: Claude Fable 5.1 <[email protected]>
…rer rebuild, no host path in the tooling README Co-Authored-By: Claude Fable 5.1 <[email protected]>
…validator and progress service pass Co-Authored-By: Claude Fable 5.1 <[email protected]>
…e tooling
- URL normalization: compute_upstream/repository_known fall back to a
normalized GitHub slug lookup, and github_freshness.py records every alias
URL seen for a slug, so a release/tag/tree catalog URL resolves to the same
freshness record as the canonical URL (finding 1).
- Sanitize decoded manifest values (walking dict/list/str) before
json.dumps, then json.loads the result to prove it is valid JSON before
the leak check and write; broadened host-path coverage to macOS and
Windows forms, reusing scripts/validate.py's pattern intent (findings 2, 6).
- github_freshness.py keeps releases/tags/commit sub-request failures as
per-record partial_errors, counts them, treats them as retryable on
resume, and distinguishes an expected 404 ("no releases") from a
timeout/429/5xx (finding 3).
- github_freshness.py now reports fetched_this_run, retained_from_prior_runs
and an observation_window (min/max observed_at); build_manifest.py's
method.freshness text cites that window instead of generated_at, with a
fallback for older freshness files that predate the top-level fields
(finding 4).
- merge_lanes handles a selected verdict's survives=False and survives=None
explicitly, so an unknown outcome stays "<status>_unverified" instead of
being promoted to confirmed_default with a false refutation note
(finding 5).
- Carry evidence_level from the catalog card into manifest trading entries,
and rewrite the recipe/tools README/catalog "Method and limits" text to
separate review_status (selection/pin confirmation) from evidence_level
(execution classification) -- review_status never establishes native
execution (finding 7).
tests/test_sota_convergence.py: 25 new tests covering all seven findings
(52->53... actually 41->53 tests). Verified: unittest suite passes (53/53);
py_compile clean; git diff --check clean; scripts/validate.py fails only on
expected SHA-256/byte-count hash mismatches for the six files this commit
edits (manifests/evidence.json is out of scope and was not touched); rerun
of build_manifest.py against the private 2026-09-22 working files under
/home/seath/codex-ecosystem/state/sota-convergence-20260922 (read-only,
output under /tmp) confirms the slug-normalization fix newly resolves 8
previously-null freshness lookups (repomix, markitdown, qmd, rtk,
codebase-memory-mcp, toon x3 layers), flipping pins_behind_upstream_unique_components
from 15 to 17 (repomix and markitdown newly behind); components_confirmed
and candidates_by_disposition are unchanged (106 / 34) since the real
2026-09-22 lanes.json has zero survives=null selected verdicts, so finding
5's fix is defensive here rather than count-changing on this dataset.
Co-Authored-By: Claude Fable 5.1 <[email protected]>
Co-Authored-By: Claude Fable 5.1 <[email protected]>
… in the convergence record Co-Authored-By: Claude Fable 5.1 <[email protected]>
… statuses excluded from confirmed totals Co-Authored-By: Claude Fable 5.1 <[email protected]>
Co-Authored-By: Claude Fable 5.1 <[email protected]>
…nce and practice Co-Authored-By: Claude Fable 5.1 <[email protected]>
seathatflowsinourveins
added a commit
that referenced
this pull request
Sep 22, 2026
Merges the four open PRs (#55 with #56, #57, #58) into main with unioned shared indexes; validators, unit tests, CI, an Opus evidence review and a bounded Codex cross-family review passed on the branch. Co-Authored-By: Claude Fable 5.1 <[email protected]>
Merged
5 tasks done
seathatflowsinourveins
added a commit
that referenced
this pull request
Oct 16, 2026
…g, PROPOSAL labels The GPT read (CHANGES_REQUESTED at 34add43) and the CC's read (PASS with items), each finding and its fix: - GPT P1, private digests published: the statuses and the trailers named each private file's sha256. Now the three descriptions are file names (local-ci: the receipt names, one space apart) and every Lander-* trailer names files only; CODEOWNERS keeps its sha256, its preimage being main's own file. The digests stay local: compared at the final gate and kept in a landing receipt, $LANDING_COORD/horizon-landings/<pr>-<head12>.json, written once after the merge with mode 0400 (exclusive create; its place checked before ready and the posts, exit 7; a failed write after the merge, new exit 16). - GPT P2, base not bound: the head and baseRefName are read together; the base must be main before ready and the posts and again at the final gate (exit 13, the name withheld). Cites github/docs about-code-owners.md:44 and cli v2.102.0 pkg/cmd/pr/merge/http.go:47-50, :77-80. - GPT P3, terminator: the full head must be a whole word (no letter, digit or _ after it), in a verdict and in GATES_DONE; head+A is refused. - GPT P3, post-merge report: the merge commit is read with its exit checked and printed in its typed shape only; a failed read is exit 12 (the receipt then records no merge commit). - GPT P3, body guard: #1194's base, main at the first reads and its first head registered in PUBLIC_COMMITS with their URLs (each read on GitHub), and the first head's horizon_land.sh digest in PUBLIC_DIGESTS. - CC P2, "the only merge path": labelled PROPOSAL, pointing to #1195's decision record, with the residual stated: GitHub checks only the contexts' states and anyone with write access can set one (available-rules-for-rulesets.md:176, :178), so a web-UI merge after the posts is not refused. - CC P2, ruleset mechanics: strict cited at available-rules-for-rulesets.md:188-193 and the checks at :172-178; what those lines do not say is labelled PROPOSAL. - CC P3, the merge-state lag: "measured on us-equities-trading #58, not documented by GitHub". - CC P3, UNSTABLE: MergeStateStatus cited at schema.docs.graphql:26511-26554 (:26551-26553). - CC P3, a second signal during revocation: trap '' HUP INT TERM is hz_revoke's first statement. Tests, each failing at 34add43 (9 tests, 34 failures) and against single-rule mutants: no digest or 7-digit prefix of a private file in a description or the body, the receipt keeping them; the receipt's place and its write; a base other than main, at the start and as a late retarget flip; head+A, G, 0 or _; the post-merge read with a stdout sentinel; a TERM during the first revocation POST. The shared block stays nas_land.sh's byte for byte; nas_land.sh and uet_land.sh are unchanged. README, its digest row and the manifest rows refreshed. Co-Authored-By: Claude Opus 5.5 <[email protected]>
seathatflowsinourveins
added a commit
that referenced
this pull request
Oct 16, 2026
…rivate horizon repository (#1194) * tools(landing): add horizon_land.sh, the local-first lander for the private horizon repository horizon_land.sh lands pull requests of seathatflowsinourveins/horizon, which has no hosted CI, no scripts/validate.py, no evidence manifest and no Codex connector. Its main ruleset requires the commit statuses lander/local-ci, lander/verdict-claude and lander/verdict-gpt (strict), so the lander is the only merge path: it checks the local evidence, posts the three statuses at the exact head and squash-merges pinned with --match-head-commit. Checks, in order: the arguments and inputs (HORIZON_CLAUDE_VERDICT, HORIZON_GPT_VERDICT, HORIZON_MUSE_VERDICT as a TRIAL, LOCAL_CI_RECEIPTS), with the other landers' inputs refused before any call; its own horizon.lock; the pull request's head must equal the read head (no head-following); origin/main must be an ancestor of the head and GitHub must report neither BEHIND nor DIRTY (the branch is never updated here); the verdicts (nas_land.sh's acceptance plus a last Gate/Verdict line naming the full 40-hex head, the right Family line, two different files); the receipts (CI: exit <code> at <head>: <command>, the last line per command counts, sh tests/hooks_test.sh required, every command exit 0); main's CODEOWNERS owned by the merging account alone, and GitHub's codeowners/errors at that main reporting none; then a draft is marked ready, after the local refusals. Correction #121 is carried as nas_land.sh carries it (the CC's ruling of 2026-10-15): a verdict of any family whose text states a landing gate (nas's four phrases, any letter case) needs GATES_DONE, a receipt that names the full 40-hex head (the shared block's lg_receipt_ok given the full head, so the 8-digit prefix alone is refused), or exit 2 before any change on GitHub; it is read again at the final gate (exit 7 when its bytes changed) and recorded as Lander-gates-done. Statuses: each success carries "<file name> sha256 <digest>" (local-ci: one digest over the receipt files). An EXIT trap, with HUP, INT and TERM trapped, posts failure for all three unless the merge succeeded. The merge state is polled until CLEAN. The squash body ends in a trailer paragraph (Lander-head, Lander-local-ci with one Lander-local-ci-receipt line per file, Lander-verdict-claude, Lander-verdict-gpt, Lander-verdict-muse when set, Lander-gates-done when a verdict states a landing gate, Lander-codeowners). final_gate re-reads the head, the verdicts, GATES_DONE and the receipts and their digests, the combined status (exact descriptions, contexts compared case-insensitively), CODEOWNERS, origin/main and the merge state, with nothing but the merge after it. Exit codes: 2 inputs, verdicts or a stated landing gate without GATES_DONE, 3 head moved, 5 receipts or statuses, 6 merge state not settled, 7 ready, body or merge failed, or a verdict, receipt or GATES_DONE changed after its post, 8 BLOCKED or CODEOWNERS, 11, 12 and 14 as in the other landers, 13 not up to date or main unreadable or moved, 15 (new) a status POST failed, 129, 130 and 143 a signal. The shared land-gate-fns block is nas_land.sh's byte for byte (now a three-way test); nas_land.sh and uet_land.sh are unchanged. Tests: HorizonEndToEndTests with its own scratch repository, the fake gh's status POST and codeowners/errors branches, and horizon joining the existing script-text checks. README, its digest row and the manifest rows updated. Co-Authored-By: Claude Opus 5.5 <[email protected]> * Fold the #1194 reviews: names-only statuses and trailers, base binding, PROPOSAL labels The GPT read (CHANGES_REQUESTED at 34add43) and the CC's read (PASS with items), each finding and its fix: - GPT P1, private digests published: the statuses and the trailers named each private file's sha256. Now the three descriptions are file names (local-ci: the receipt names, one space apart) and every Lander-* trailer names files only; CODEOWNERS keeps its sha256, its preimage being main's own file. The digests stay local: compared at the final gate and kept in a landing receipt, $LANDING_COORD/horizon-landings/<pr>-<head12>.json, written once after the merge with mode 0400 (exclusive create; its place checked before ready and the posts, exit 7; a failed write after the merge, new exit 16). - GPT P2, base not bound: the head and baseRefName are read together; the base must be main before ready and the posts and again at the final gate (exit 13, the name withheld). Cites github/docs about-code-owners.md:44 and cli v2.102.0 pkg/cmd/pr/merge/http.go:47-50, :77-80. - GPT P3, terminator: the full head must be a whole word (no letter, digit or _ after it), in a verdict and in GATES_DONE; head+A is refused. - GPT P3, post-merge report: the merge commit is read with its exit checked and printed in its typed shape only; a failed read is exit 12 (the receipt then records no merge commit). - GPT P3, body guard: #1194's base, main at the first reads and its first head registered in PUBLIC_COMMITS with their URLs (each read on GitHub), and the first head's horizon_land.sh digest in PUBLIC_DIGESTS. - CC P2, "the only merge path": labelled PROPOSAL, pointing to #1195's decision record, with the residual stated: GitHub checks only the contexts' states and anyone with write access can set one (available-rules-for-rulesets.md:176, :178), so a web-UI merge after the posts is not refused. - CC P2, ruleset mechanics: strict cited at available-rules-for-rulesets.md:188-193 and the checks at :172-178; what those lines do not say is labelled PROPOSAL. - CC P3, the merge-state lag: "measured on us-equities-trading #58, not documented by GitHub". - CC P3, UNSTABLE: MergeStateStatus cited at schema.docs.graphql:26511-26554 (:26551-26553). - CC P3, a second signal during revocation: trap '' HUP INT TERM is hz_revoke's first statement. Tests, each failing at 34add43 (9 tests, 34 failures) and against single-rule mutants: no digest or 7-digit prefix of a private file in a description or the body, the receipt keeping them; the receipt's place and its write; a base other than main, at the start and as a late retarget flip; head+A, G, 0 or _; the post-merge read with a stdout sentinel; a TERM during the first revocation POST. The shared block stays nas_land.sh's byte for byte; nas_land.sh and uet_land.sh are unchanged. README, its digest row and the manifest rows refreshed. Co-Authored-By: Claude Opus 5.5 <[email protected]> * Fold the #1194 delta reads: required local workflow wording, signal-safe merge finalisation, fail-closed CODEOWNERS and receipt lists The command center's delta read at b4489b1 (PASS with micro items), the GPT delta read (ACK with four P3s) and the local review (three P2s), in one commit: - Wording matches #1195's Decision 4: the lander is "the required local workflow" (GitHub enforces three contexts and freshness; the web-UI residual), and the self-audit is "the PROPOSAL self-audit", never "planned" (CC P2-1). - The merge is finalised whole: HUP, INT and TERM are ignored from just before the merge call until the landing receipt is written and the merge reported, so a signal neither revokes a merged head's statuses nor loses the receipt (CC P3-3, local review P2-2); when exits 12 and 16 both apply, 12 is the exit (documented and tested). - CODEOWNERS fails closed: a git ls-tree or read that fails is exit 8, and the next location is tried only after a successful lookup with no entry (local review P2-1). - LOCAL_CI_RECEIPTS with a leading, trailing or doubled ':' is exit 2 before any call; read -a dropped a trailing empty field (local review P2-3). - uet#58's lag is worded as measured there, not documented by GitHub (CC P3-1); the noclobber and trap '' texts cite the installed bash 5.3 bash(1) (CC P3-2). - Comments no longer describe a posted digest (GPT P3-4). - The README digest row and the published-digest list follow the new script bytes; b4489b1's script digest is registered with its URL. Fail-first: the four new tests fail 7 times against b4489b1. Follow-ups, not taken here: GPT P3-1 (the shared author check, in the block that stays byte-identical to nas), P3-2 (a late local symlink swap after the receipt check) and P3-3 (a documentation assertion for the recovery limits). Co-Authored-By: Claude Opus 5.5 <[email protected]> * Reconcile a failed merge call before revoking; cite bash for the receipt split and pipefail The command center stopped the auto-land at 4fad273 on the local review's P2, and the GPT micro read there was an ACK with five P3s; one commit: - A failed merge call is reconciled before anything is revoked (local review P2): GitHub can commit the merge and the reply be lost, so the state is read three times, two seconds apart. MERGED at the read head continues as a landing (HZ_MERGED, the receipt, the report); OPEN or CLOSED there on all three reads is exit 7 and the EXIT trap revokes; anything else is the new exit 17: the outcome is unknown, the statuses are kept (HZ_KEEP), nothing is revoked, and the pull request is checked by hand. README exit codes and step list updated; the old merge-failure test now serves an OPEN pull request. Fail-first: the new test fails against 4fad273. - GPT P3-4: the empty-field comment cites bash(1) EXPANSION, Word Splitting ("field terminators"; adjacent delimiters "produce a null field"), and the pipefail comment quotes SHELL GRAMMAR, Pipelines (the rightmost non-zero status), both from the installed bash 5.3 (5.3-2ubuntu1). - GPT P3-5 is the PR body's wording (aligned there); P3-1, P3-2 and P3-3 stay Follow-ups. - The README digest row and the published-digest list follow the new bytes; 4fad273 and its script digest are registered with their URLs. Co-Authored-By: Claude Opus 5.5 <[email protected]> --------- Co-authored-by: Claude Opus 5.5 <[email protected]>
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.
Dated per-layer SOTA convergence for the 16 foundation layers and 12 consolidated US-equities trading layers, plus the broad-universe research blueprint integrated on the same local main.
catalogs/sota-convergence/README.md— the clean per-layer list;manifest-20260922.json— pins, upstream state (GitHub metadata for 396 repositories, 0 archived), citations, adversarial verdicts, critic gaps; receiptevidence/receipts/sota-convergence-20260922.json(historical_inventory).targeted_candidate(snyk/agent-scan); engine card reconciled with the NautilusTrader 2.0.0rc5 destination.blueprints/us-equities/broad-universe/— measured SIP coverage (17,997 symbols / 2,693 sessions), frozen mover protocol v1 evaluated once (0 of 15 established), dated 2026-09-21 scan with META/AMD; no paper order.scripts/validate.pypassed (68 components, 1,517 hashed files, 133 receipts); full suite 1,061 tests OK (2 optional skips).This branch is the local main tip and therefore also contains the commits of the open PRs #55–#57; merge those first and this PR reduces to its own commits.
🤖 Generated with Claude Code