Per the PRD (Phase A / FR-1–FR-8): scaffold packages/keel-broker-alpaca (workspace-pinned pyproject, py.typed, registered under the keel.brokers entry point), implement the keel-broker-api port against Alpaca's Trading API — orders (market/limit, fractional), preview_order surfacing best bid/ask (feeds the #332 warning and the #350 spread gate unchanged), candle history mapped to Granularity (15Min/1Hour/1Day) with data-tier (IEX vs SIP) declared as a capability, balances/positions with honest T+1 settlement state, and a fee model including regulatory pass-throughs on sells — until the conformance suite passes against it. Zero changes to keel/ core. Coordinate with #233 (capability-based venue visibility) — this adapter should be its first consumer. The advertised dream first contribution: contract documented, suite-verified.
Per the PRD (Phase A / FR-1–FR-8): scaffold
packages/keel-broker-alpaca(workspace-pinned pyproject,py.typed, registered under thekeel.brokersentry point), implement thekeel-broker-apiport against Alpaca's Trading API — orders (market/limit, fractional),preview_ordersurfacing best bid/ask (feeds the #332 warning and the #350 spread gate unchanged), candle history mapped toGranularity(15Min/1Hour/1Day) with data-tier (IEX vs SIP) declared as a capability, balances/positions with honest T+1 settlement state, and a fee model including regulatory pass-throughs on sells — until the conformance suite passes against it. Zero changes tokeel/core. Coordinate with #233 (capability-based venue visibility) — this adapter should be its first consumer. The advertised dream first contribution: contract documented, suite-verified.