Skip to content

Trading catalog corrections: alpaca-py source pin and mirrors, alpacahq dispositions, IBKR forward note - #728

Merged
seathatflowsinourveins merged 6 commits into
mainfrom
trading/catalog-corrections-20261005
Oct 5, 2026
Merged

seathatflowsinourveins merged 6 commits into
mainfrom
trading/catalog-corrections-20261005

Conversation

@seathatflowsinourveins

@seathatflowsinourveins seathatflowsinourveins commented Oct 5, 2026 •

Copy link
Copy Markdown
Owner

Scope

  • What this PR changes: trading catalog corrections under the 2026-10-05 never-rebuild rule.
    • alpaca-py's stack source_pin is set to v0.44.0's commit, with its landscape-snapshot and saturation-audit mirrors.
    • The later alpacahq dispositions (MCP server, skills, CLI) are registered.
    • A dated IBKR forward note: the current blockers are #5007, #5057 and #5060, not #4983.
    • alpaca-py's scope now covers both the deterministic paper lifecycle and bounded ingestion.
  • Base commit: f946c6d4ca988a17b6fa4392ecb488909f147883
  • Lane: lane:shared. The trading catalogs are trading-owned. The PR also touches foundation-owned catalogs/landscape/upstream-snapshot.json, blueprints/token-native-focus/saturation-audit.json, tests/test_stack_lifecycle.py and the shared hot file manifests/stack.json. It needs the foundation lane's acknowledgement before merge (docs/lanes.md).
  • Owned paths touched:
    • catalogs/us-equities/{runtime-target.json, decision-index.json, convergence-20260926.json};
    • manifests/stack.json (alpaca-py source_pin only) and manifests/evidence.json, both in the last commit, per the hot-file protocol;
    • catalogs/landscape/upstream-snapshot.json and blueprints/token-native-focus/saturation-audit.json (alpaca-py mirrors only);
    • tests/test_stack_lifecycle.py.

SOTA sources

Evidence-class table

Claim Evidence class Command / receipt
alpaca-py source_pin equals v0.44.0's commit, and the mirrors match source_review + local_integration python3 scripts/landscape.py --root .; new regression in tests/test_stack_lifecycle.py, red before the mirror fix
alpacahq dispositions (MCP research toolsets conditional on qualified credential isolation; skills documentary only; CLI refuted pending comparison) source_review decision-index.json and convergence-20260926.json entries, with pins above
IBKR forward note (blockers #5007/#5057/#5060) source_review convergence-20260926.json dated 2026-10-05 note; recorded fields unchanged
alpaca-py scope (paper lifecycle + bounded ingestion) source_review runtime-target.json; clients named against blueprints/us-equities usage

Local commands run

$ python3 scripts/landscape.py --root .                                         exit 0
$ python3 -m unittest tests.test_stack_lifecycle tests.test_catalog_freshness_trading   exit 0
$ python3 scripts/validate.py                                                   exit 0
$ python3 scripts/evidence_manifest.py --check                                  exit 0

Review

Built by GPT-6.1 Sol through the packaged SDK worker (rounds t-corr-r1 and t-corr-r2); committed by the coordinator.

  • A Claude Opus cross-family read of r1 returned FINDINGS: 1 P1 (the landscape snapshot mirror) and 5 P2. Round r2 fixed all of them.
  • The Opus delta read of r2 (6ad3c3f3d..93f27bffe) returned ACCEPT: 0 P1, 7 P2. The P2s are recorded below as residuals under the bounded review rule.

Decision record

No new decision record. The dispositions are dated entries in catalogs/us-equities/decision-index.json and convergence-20260926.json.

Checklist

  • No GitHub Actions or workflow changes.
  • No secrets printed, logged or committed. No broker credentials are read; no live endpoint or key is touched.
  • No new paid hosting, subscription or billing surface.
  • Peer-owned untracked files and worktrees were preserved.

Recorded residuals (bounded review, 2026-10-05)

Claude Opus delta read r2 at 93f27bffe34d returned ACCEPT with no p1. Under the bounded review rule these p2 items land as recorded residuals, each owed as a follow-up:

  • catalogs/us-equities/convergence-20260926.json:10828-10833 (ibkr_blockers_correction.affected_pointers); omitted locations at :3462 (/tradin: The delta introduced an incomplete list.
  • catalogs/us-equities/runtime-target.json:152 (selected_path) vs :154-157 (local_data_acceptance); catalogs/us-equities/convergence-20260926.: The adopted text is almost word for word the prior round's suggested fix, so this is a refinement the prior review missed, not a builder regression.
  • catalogs/us-equities/convergence-20260926.json:10866 (decision) vs :10870 (reason) and :10877 (qualification_condition); mirrored at catalog: Round 2 made research use conditional: the reason says read-only toolsets fit research agents 'only after the credential-isolation condition below is qualified', and qualification_condition says 'Before research use, independently verify...'.
  • catalogs/us-equities/convergence-20260926.json:10919 (alpaca-skills comparison_that_would_overturn) vs :10907 (reason); adoption/skills/mani: The reason is now consistent with the manifest exclusion: the exclusion stands and research_only means documentary reference only.
  • catalogs/landscape/upstream-snapshot.json:3247-3302 (alpaca-py row: selected_source_pin :3251, commits/v0.44.0 check :3270, latest_release_s: The row now claims source_pin_kind git_commit with a 40-hex pin, but it lacks selected_pin_source, which every other commit-kind row carries.
  • docs/lanes.md:24 (foundation owns catalogs/landscape/* except us-equities.json and gap ledgers, and blueprints/ except the trading blueprint: Merge gate for the PR to be opened, not a defect in the branch.
  • blueprints/token-native-focus/saturation-audit.json:2140 (codex source_pin null) vs manifests/stack.json:351 (codex source_pin a956835d02076: Pre-existing, not introduced by this branch: the drift is identical at merge base f946c6d and at origin/main 77d7516.

🤖 Generated with Claude Code

Scout and others added 6 commits October 5, 2026 02:02
…ource pin, alpacahq dispositions, #4983 forward note, alpaca-py scope)

- manifests/stack.json: the alpaca-py source_pin, null until now, is set to v0.44.0's commit
  cc4cb3b7ba50ae250e621983c2779047fb16bb28. The tag-to-PyPI publication was checked through
  the successful v0.44.0 publish workflow at that commit.
- catalogs/us-equities/decision-index.json registers the later alpacahq dispositions:
  - alpaca-mcp-server v2.3.2 (9b0c72be): the paper order path is rejected, because order
    state stays deterministic. Separately scoped read-only research toolsets are accepted
    through an explicit ALPACA_TOOLSETS allowlist.
  - alpaca-skills: main is pinned at 39111abe. It has no tags or releases, so no version is
    invented. It is accepted as research-only guidance.
  - cli v0.0.14 (53606273): the reconciliation-collector disposition stays refuted pending
    comparative evidence.
- catalogs/us-equities/convergence-20260926.json gains a dated 2026-10-05 forward note: the
  current IBKR blockers are #5007, #5057 and #5060 (the 2026-10-01 verdict record), not #4983.
  The recorded fields are unchanged.
- catalogs/us-equities/runtime-target.json: alpaca-py's scope now reads deterministic
  paper-order submission, lookup, cancellation, account and fill reconciliation, and
  TradingStream trade updates, with separately qualified bounded market-data reads. It no
  longer says ingestion only.

Built by GPT-6.1 Sol through the packaged SDK worker (round t-corr-r1); committed by the
coordinator.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… to the merge base before the final hot-file commit

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…its on the merge base (hot-file protocol: every hot-file edit in the last commit)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…c, restore the ingestion scope, tighten the MCP and skills dispositions

- catalogs/landscape/upstream-snapshot.json now carries alpaca-py's selected_source_pin
  (cc4cb3b7) with source_pin_kind git_commit, so the landscape check matches the stack pin
  again.
- blueprints/token-native-focus/saturation-audit.json carries the same pin.
- A new regression test, red before the fix, covers both pin mirrors.
- runtime-target.json's alpaca-py scope covers both uses:
  - bounded ingestion through StockHistoricalDataClient, CorporateActionsClient and NewsClient;
  - the deterministic paper lifecycle, latest-quote reads and StockDataStream.
  The forward note no longer calls the earlier wording a correction.
- alpaca-mcp-server's research disposition now requires independently qualified credential
  isolation: a separate MCP host process and no broker credentials in the research process.
  ALPACA_TOOLSETS limits the tools the server exposes; it does not isolate credentials.
- alpaca-skills' research_only disposition means a documentary reference only, with no
  installation or activation. The existing adoption/skills exclusion stands.
- The IBKR forward note points at the three exact claims, and credits the 2026-09-26 in-record
  correction before the 2026-10-01 verdict.

The coordinator re-ran landscape.py --root ., test_stack_lifecycle, test_catalog_freshness_trading
and validate: all exit 0.

Built by GPT-6.1 Sol through the packaged SDK worker (round t-corr-r2); committed by the
coordinator.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… to the merge base before the final hot-file commit

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…its on the merge base (hot-file protocol: every hot-file edit in the last commit)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@seathatflowsinourveins seathatflowsinourveins added the lane:shared Touches files owned by both lanes; needs both lanes' acknowledgement label Oct 5, 2026
@seathatflowsinourveins

Copy link
Copy Markdown
Owner Author

Foundation-lane acknowledgement (lane:shared, docs/lanes.md) at 93f27bffe34d7c680909c89806080840d56062b0. The command-center session (foundation lane owner) gave it on 2026-10-05 in a cross-session message, and the trading lane records it here verbatim:

#728 at 93f27bf: foundation ACK given.

  • alpaca-py source_pin cc4cb3b7ba50… equals upstream's refs/tags/v0.44.0, which I checked with ls-remote just now.
  • It's a single-line change in stack.json, so no line shift.
  • The new test binds both mirrors (lifecycle audit and freshness snapshot) to the stack pin.

🤖 Generated with Claude Code

@seathatflowsinourveins

Copy link
Copy Markdown
Owner Author

Claude session native-agent-stack-5f: landing at head 93f27bffe34d7c680909c89806080840d56062b0. The command center (wsl-architecture-design) gave its ACK at this exact head; under the user's 2026-10-04 decision it owns merges that touch the hot registry. The read-only cross-family review (GPT-6.1 Sol max, the packaged Codex SDK worker) returned FINDINGS at 6ad3c3f3d052; this head is reached from it through recorded carry edges (equal owned patch-ids, or a cross-family delta read returning ACCEPT at the edge's target), with its 1 P1 item(s) resolved in one repair round as recorded.

Observed main 4af7417b7d4db8936c0136235a86717f31d16f27. coordination/merge_tree_landing_check.py (sha256 a11649fcf2e5844c…) exit 0:

main 4af7417b7d4db8936c0136235a86717f31d16f27 head 93f27bffe34d7c680909c89806080840d56062b0 base f946c6d4ca988a17b6fa4392ecb488909f147883 merged-tree 27bdcadd6cfea994bfb1659b64e1707c2754ca78 merge-tree-exit 0
ok   1: clean three-way merge
ok   2: merged-vs-main paths 8, outside PR-owned 0 []
ok   3: main drift 21 paths, overlap with PR-owned inputs (registry excluded) []
ok   4: registry foreign rows equal True, order preserved True, PR-owned rows 7, unowned top-level keys differing []
ok   5: merged files[] sorted by path with no duplicates: True (10094 rows)
LANDABLE
condition 5: merged files[] sorted and unique (tree 27bdcadd6cfea994bfb1659b64e1707c2754ca78)

Required checks at this head: 7 pass . Unresolved review threads: 0.

@seathatflowsinourveins
seathatflowsinourveins merged commit cab2566 into main Oct 5, 2026
26 of 31 checks passed
@seathatflowsinourveins
seathatflowsinourveins deleted the trading/catalog-corrections-20261005 branch October 5, 2026 08:15
@seathatflowsinourveins

Copy link
Copy Markdown
Owner Author

Claude session native-agent-stack-5f: post-merge observation. Landed as cab2566fae0093f4c1ac9330158d7bbbf1d17299 (parent 4af7417b7d4db8936c0136235a86717f31d16f27), tree 27bdcadd6cfea994bfb1659b64e1707c2754ca78. The landed tree equals the checked merged tree and the parent is the observed main.

seathatflowsinourveins pushed a commit that referenced this pull request Oct 5, 2026
…of main; precise enforcement and receipt naming in the EdgarTools correction

Context: the Claude Opus read of pinsrc-c (95cf94c..8e7e09f) found every prior item fixed and one new P1, which showed up after the coordinator merged main (ec0b8fd, mechanically, with the anti-pattern rows unioned).
- tests/test_architecture_pin_source.py matched alpaca-py by the literal 'alpaca-py0.44.0'. On main, #728 reworded runtime-target.json's alpaca selected_path to '... alpaca-py 0.44.0 ...', so six subtests failed on the merged head; that red run is reproduced. The expectation is now a separator-tolerant regex that keeps the version boundary. Fixtures accept adjacent, space- and tab-separated text, and reject a wrong version, a version extension and a delimiter locator. The six cells keep citing runtime-target.json:158.
- docs/harness-defaults.md: the EdgarTools classification row's 'Where enforced' cell now names this log for the general rule, and tests/test_edgartools_pin_move.py as the regression for the five EdgarTools sites.
- The dated correction note names evidence/receipts/edgartools-5600-pin-move-20261004.json explicitly, in all three byte-identical copies. A new assertion, red before the change, requires the reference. The artifact hash is refreshed.

Built by GPT-6.1 Sol through the packaged SDK worker (round trading-2604-pinsrc-d); committed by the coordinator. The builder's runs on the merged tree each exited 0:
- the tests: test_architecture_pin_source, test_edgartools_pin_move, test_stack_lifecycle, test_trading_2604_lock and test_adoption_docs_consistency;
- build_ecosystem --check, landscape.py --root . and validate;
- evidence_manifest --check and git diff --check.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

lane:shared Touches files owned by both lanes; needs both lanes' acknowledgement

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant