Files
athena-oracle/docs/Prioritized-Task-List.md
T

3.4 KiB
Raw Blame History

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.py runs 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.sql initializes oracle.db cleanly 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.py to 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.py to 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.md end-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 46 can be considered done.