feat(quant-research-loop): live Coinbase feed + granular (hourly) dat…#3
Merged
Merged
Conversation
…a adapter Adds engine/coinbase.py — the public Coinbase Exchange candles adapter (no API key): hourly (or any 1m..1d granularity) with backward pagination and a to_daily resampler. This is the current, granular feed that unblocks the forward tracker (the daily/lagging Coin Metrics source cannot) and is the foundation for intraday strategies. - data.get_ohlcv gains source='coinbase' (+ research --source coinbase); graceful synthetic fallback where exchange egress is blocked. - forward_paper: regime-trend now carries source=coinbase (BTC-USD, daily candles), so on Railway its forward record fills with live prices; falls back to the committed snapshot in sandboxes that block exchanges (reads 'awaiting data'). - xsectional stays on the Coin Metrics panel for now (its survivorship-corrected universe includes delisted coins an exchange won't serve). Verified with fixtures/mocks (parse order, daily resample, pagination + dedup); exchange APIs are blocked in this sandbox so live calls fall back cleanly. Hourly data is ready for the next (intraday) strategy build. Tests 41/41, repo gates pass. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UcE4n3gQdVXJtD2z3mBrZX
PR #3's audit check failed because the new starter scored 31 (L0), under the starter L1 gate of 38 — loop-audit runs only on PRs to main, so this was its first audit. Adds the standard loop-engineering scaffolding it scores for (all genuine for this loop, not padding): - STATE.md: live loop state (+18, and required for L1) - AGENTS.md: build/test/layout/review norms (+9) - loop-budget.md + loop-run-log.md: cost caps, kill switches, run history - docs/safety.md: paper-only, kill switches, no-relitigation, egress scope - LOOP.md: worktree isolation + MCP-not-required notes Starter now scores 74 (L1); full CI audit gate passes (all starters >= 38, reference 100). Tests 41/41, validate gates pass. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UcE4n3gQdVXJtD2z3mBrZX
Loop Readiness AuditScore: 100/100 (L3) Strong loop readiness — good candidate for L3 with explicit gates. No suggestions — looking good. Posted by |
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.
…a adapter
Adds engine/coinbase.py — the public Coinbase Exchange candles adapter (no API key): hourly (or any 1m..1d granularity) with backward pagination and a to_daily resampler. This is the current, granular feed that unblocks the forward tracker (the daily/lagging Coin Metrics source cannot) and is the foundation for intraday strategies.
Verified with fixtures/mocks (parse order, daily resample, pagination + dedup); exchange APIs are blocked in this sandbox so live calls fall back cleanly. Hourly data is ready for the next (intraday) strategy build.
Tests 41/41, repo gates pass.
Claude-Session: https://claude.ai/code/session_01UcE4n3gQdVXJtD2z3mBrZX
Summary
Changes
templates/pattern-template.md+ updatedregistry.yaml)Checklist (from CONTRIBUTING)
STATE.md*examples use.examplesuffixdocs/safety.mdnode tools/loop-audit/dist/cli.js .(or on the starter) and addressed findingsTesting / Dogfood
loop-auditpasses on affected starters or this repoScreenshots / Examples (if UI or command output)
This template enforces the high bar this reference is known for.