3.1 KiB
3.1 KiB
Deployment Plan — Athena MVP
Prerequisites
- Docker installed on the target host
- Network access to the 6 source APIs/feeds (arxiv, github, huggingface, hackernews, reddit, rss_feeds)
GITHUB_TOKENavailable as an environment variable (optional, but raises the GitHub rate limit from 60/hr to 5000/hr)HUGGINGFACE_TOKENavailable as an environment variable- A local Ollama instance running
llama3.2:1b, or an alternate reachable inference backend if swapping — per the model-agnosticsummarize(text) -> (summary, model)contract - Hermes cron infrastructure available and able to invoke
oracle-pipeline.sh
Setup
- Clone
main(not a milestone branch) onto the target host pip install -r requirements.txtif present; otherwise confirm stdlib +requestsare available- Run
schema.sqlagainst a freshoracle.db— this file is git-ignored and created locally, never committed - Export required environment variables (
GITHUB_TOKEN,HUGGINGFACE_TOKEN) — never hardcode these - Build and run inside Docker with the 150MB memory cap and non-root user enforced, per the PRD platform requirements
- Manual smoke test: run
python3 pipeline.pyonce and confirm ingest → store → summarize → score completes without errors before handing off to cron
Cron / Scheduling
- Confirm
oracle-pipeline.shis the entry point Hermes cron calls - Schedule for 13:00 UTC daily
- Add a lock file or PID check so overlapping runs can't happen if a prior run is still in progress
- Confirm the cron environment actually carries the exported tokens — cron environments are frequently minimal and won't inherit an interactive shell's exports
Hermes Integration
- Confirm the wrapper script's exit codes are meaningful (0 = success, non-zero = failure) so Hermes can act on them
- Define where Hermes should look for pipeline output/logs
- Decide on a failure-notification path (Hermes alert, log flag, etc.) — not yet specified, needs a decision
Monitoring
- Aggregate logs from each pipeline stage (ingest, store, summarize, score)
- Track theme-scan new-arrival counts per cycle per theme — this is the core signal the falsification logic depends on, so it deserves visibility beyond raw logs
- Add a heartbeat/dead-man's-switch alert if a scheduled run doesn't fire, rather than relying on someone noticing missing data days later
- Watch memory usage against the 150MB cap under real production load, not just dev conditions
Rollback
- Back up
oracle.dbbefore any schema change — it's git-ignored and not recoverable from the repo itself - If a bad deploy breaks the pipeline, revert to the last known-good commit on
mainand redeploy the Docker image - Check falsification state (new-arrivals counters) after any rollback — rolling back mid-window could distort the 7-day dead-thesis calculation if not handled carefully
Draft prepared by Claude from the README, whitepaper falsification logic, and MVP-PRD platform requirements on main. The Hermes failure-notification path is the one open decision blocking this from being final.