3.4 KiB
3.4 KiB
Prioritized Task List — Athena MVP
Tied to the personas and requirements in MVP-PRD.md. Ordered by phase; within each phase, roughly in the order they should be tackled.
Phase 1: Get Running Daily
- Verify the cron entry (
oracle-pipeline.sh) fires reliably at 13:00 UTC under Hermes - Confirm
pipeline.pyruns the full ingest → store → summarize → score cycle without manual intervention - Add a lock/guard so a slow run can't overlap with the next day's cron trigger
- Validate all 6 adapters (arxiv, github, huggingface, hackernews, reddit, rss_feeds) independently — one adapter failing shouldn't kill the whole run
- Confirm environment-only secrets (
GITHUB_TOKEN,HUGGINGFACE_TOKEN) resolve correctly in the cron context (cron environments are often stripped down compared to an interactive shell)
Phase 2: Core Functionality
- Confirm
schema.sqlinitializesoracle.dbcleanly and stays idempotent across repeated runs - Verify
theme_scan.py's 4-theme tagging (tool-call, context, compute, trust) against a few real days of data - Confirm the falsification counter (new arrivals per cycle) is genuinely idempotent — re-running against unchanged data must yield 0 new
- Wire
summarize.pyto degrade gracefully when the Ollama endpoint (llama3.2:1b) isn't reachable — ingestion, scoring, and theme-scan must keep running without it - Confirm
archive.py's cold-storage rotation doesn't delete data still needed inside the 7-day falsification window
Phase 3: Observability & Reliability
- Add structured logging per pipeline stage (ingest, store, summarize, score) with pass/fail per adapter
- Surface theme-scan counts (new arrivals per theme per cycle) somewhere inspectable, not just buried in log files
- Add a daily heartbeat/health check so a silent failure (e.g. cron didn't fire at all) is detectable rather than just showing up as missing data later
- Decide and implement retry/backoff behavior for adapters that hit rate limits (especially GitHub without a token: 60/hr)
Phase 4: Human Consumption Layer
- Extend
query.pyto support Bob's cross-source convergence lookups and Alice's curated-research pulls - Define the output format(s) for a "trend confirmed" vs. "trend killed" verdict (per the 7-day dead-thesis rule)
- Decide how Alice's content pipeline actually consumes Athena's output — file drop, API, direct DB read — this is currently undefined
Phase 5: Validation & UAT
- Run the pipeline unattended for at least one full 7-day falsification window
- Manually verify at least one theme through to a real "confirmed" or "killed" verdict
- Walk Bob's and Alice's user stories from
MVP-PRD.mdend-to-end against real output, not synthetic data - Confirm memory stays under the 150MB cap under real daily load, not just in a light dev test
Phase 6: Hermes Integration
- Confirm
oracle-pipeline.sh's contract matches what Hermes cron expects (exit codes, output location) - Decide how Hermes is notified on pipeline failure vs. success — not yet specified
- Confirm the non-root execution requirement is actually satisfied inside the Hermes-invoked environment, not just in local Docker testing
Draft prepared by Claude from the MVP-PRD, Personas doc, and README/whitepaper on main. Open items flagged "not yet specified" need a decision before Phase 4–6 can be considered done.