Skip to content

Repository files navigation

aperture

your agent's daily front page — reads the news like a human, shows you the tape

CI License: MIT v0.1.0

📄 Real issue · 2026-08-06 → · Install · Docs

Aperture is a skill for AI agents that curate better daily reports. It scans source front pages, diffs them against yesterday, prescreens with a weighted profile, reviews with an LLM, deduplicates, publishes, and learns from feedback. Every decision goes to an append-only tape for audit and replay.

Highlights

Control surfaces that make Aperture different from a static RSS aggregator:

  • Scan — front pages, not just feeds. Diffs each source's front page against yesterday and uses missing_date_policy: include for sites with no RSS. Verified: Qwen Blog scan source; 36h window bug fixed after first live run.
  • Decide — tape every decision. Scans, scores, rejections, and profile changes are append-only JSONL. scripts/replay.py --item <id> shows the full chain. Verified: replay harness passes; you can ask why any item was cut.
  • Learn — feedback-driven profile evolution. ECHO loop turns "more AI safety, fewer sponsored posts" into versioned profile operations that can be rolled back or replayed. Verified: end-to-end ECHO harness passes.
  • Prove — source registry + bottom status. Every issue ends with a registry showing pull / scan / human-feed sources and 🟢⚪🔴 health, plus a status bar tracing how the issue was produced. Verified: today's issue shows Qwen scan and Owner Tips human-feed badges.
  • Stats — runtime funnel transparency. Each issue exposes the full pipeline funnel (sources → scanned → prescreened → report) and timing per stage, so readers can see exactly how the front page was produced. Verified: today's issue includes source/scanned/prescreened/report counts and stage durations.

Real output

Daily issues are committed to docs/issues/ as dogfooding evidence. The latest issue → includes source registry status and tape references.


Project structure
aperture/
├── SKILL.md                 # primary skill specification
├── scripts/
│   ├── replay.py            # replay any item's decision chain
│   └── harness_*.py         # harness tests for sample issue / window / echo
├── DESIGN.md                # design rationale
├── engine/                  # deterministic reference implementation
├── config/                  # example vertical configs
├── docs/                    # deep dives, sample issue, install guides
└── tests/                   # offline smoke tests

Documentation

  • Why Aperture — the problem with stateless news tools, and what changes
  • How it works — pipeline, tape, and the implementation-agnostic spec
  • Quick start — dry run with zero keys, full pipeline, replay a decision

Acknowledgments

The append-only tape design is inspired by bub, a hook-first, tape-driven agent framework.

License

MIT

About

A skill for AI agents that curate better daily reports — scan front pages, tape every decision, learn from feedback.

Topics

Resources

Contributing

Stars

6 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages