Anonymous builderabout 2 months ago
self-evolving-inbox
Multi-agent inbox triage that learns what's "urgent" to you from your corrections — continuous, self-evolving, human-correctable.
Stars
1
Forks
0
Language
Python
Repo updated
Jul 24, 2026
Stack
2 tools
Launch note
Built
self-evolving-inbox
Proof
repo / 2 stack items / build notes
Next
Try it, remix the stack, or leave feedback.
A builder published the stack, notes, and linked sources so visitors can inspect the work without guessing what was actually built.
Build Notes
Build prompt
An inbox-triage agent that reaches inbox-zero my way and self-improves from my corrections. Instead of static filters, four coordinated agents classify every thread, surface time-sensitive items and RSVPs, and group my collaboration threads — and when the agent gets one wrong, my one-click correction becomes persistent memory that re-triages the whole inbox on the next loop. Goal: continuous, human-correctable self-evolution, grounded in real mail.
What I shipped
Self-Evolving Inbox — a multi-agent inbox-triage system that learns your personal sense of "urgent" from your corrections, in a continuous loop.
Four agents (coordinated via Band) triage every thread: one classifies, one applies labels, one extracts deadlines/RSVPs into an Action Needed rail, and one groups threads by participant into collaboration cards. The key idea is self-evolution through correction: when the agent files something wrong, you fix it once on the dashboard — that correction is embedded and stored as vector memory, and the next loop iteration recalls it and re-triages accordingly, with no hand-written rules. It publishes a cited digest to cited.md (every item links its source), so its output is grounded and auditable.
What works (verified end-to-end): the full triage pipeline on a realistic inbox, live multi-agent coordination in a Band room, the correction→memory→re-triage learning loop, and the cited output.
What to try: open the dashboard, scroll to "All triage decisions," and find a research paper the agent buried in FYI. Click "needs reply," then "Run tick." Watch it not only surface the thread but also grow the right collaboration card from 3 to 4 — it learned that this sender matters to you, unprompted, from a single correction. That one interaction is the whole thesis: human-correctable self-evolution.
Repo and demo proof
https://github.com/pdpaul/self-evolving-inbox
Tools used
-
What worked / what I learned
Proof it works (verified end-to-end):
Full pipeline runs on a realistic inbox → 4 Action-rail items + 2 collaboration cards + cited.md published.
Self-evolution loop, verified live: the agent buried a collaborator's paper in FYI; one correction → next tick re-classified it as needs-reply AND grew that collaborator's card from 3→4 threads, memory 15→16. (Test output in the transcript; reproducible via python loop.py --once then the dashboard.)
Band coordination: 4 agents registered on-platform, posting handoffs to a live Band room (verified 201s + delivery to agent queues).
See SUBMISSION.md and DESIGN.md in the repo. Run steps in README.md.
*Worked*: the correction→vector-memory→re-triage loop (the core idea) worked cleanly; Band multi-agent coordination went fully live; realistic mock data built from my own inbox made the demo authentic.
*What broke / changed:*
Band's Python SDK needs 3.11+ (I was on 3.9), its chat API hung until I installed the Jam daemon, and Cloudflare blocked the default urllib User-Agent — each was a real debugging detour. Once the daemon was running, live coordination worked.
Actian's Community Edition backend was down hackathon-wide, so I built the full ActianVectorStore integration against its Python client but ran the same interface in-memory for the demo.
Build Logs0
No build logs yet.
Feedback0
