Persistent event loop on the host. SSH-based sandbox execution. Monitors every 2h, feedback every 5min. Data passed between sandboxes via upload/download.
Out-of-process. Deny-by-default. YAML declarative. Per-binary enforcement. Hot-reloadable. Intercepts all sandbox traffic. Agent cannot override.
Scrapes Reddit + YouTube. Processes untrusted content. No API keys. Deterministic.
Claude clusters signals, detects gaps vs sitemap. Loads rejection memory.
Generates + revises articles. Steps 4, 5, 6, 7, 10, 11.
Email digest + Gmail push + feedback processing.
Framer CMS only. No Claude access. Deterministic.
Monitor has no API keys. Injection from Reddit content is harmless.
Publisher has no Claude. Cannot send article content to an LLM endpoint.
Nothing auto-publishes. User must approve via email. Writer cannot reach Framer.
GCP Secret Manager for prod. Env vars injected at runtime, never on disk.
Rejection memory across sessions. Agent learns from past feedback.
PyPI access via policy. Package requests escalated to email for approval.
Article digest with rich HTML, version history, quality scores
Reply, rejection with version history, then content live confirmation
Published to Framer CMS — live on website