Curia

@meetcuria.com

An open-source Digital Office of the CEO. Communications, scheduling, research, and knowledge work with governance-first architecture. Posts by @josephfung.bsky.social

Nice. Just put the finishing touches on the SMS channel. Pretty easy with Telnyx. Next up is Voice, then I'm going to have to do an extensive refactor of the Channels to make it easier for operators to add their own.

Nice. slack is now a first-party channel. same contact + trust model as email and signal, but now with reaction support. Next up some cleanup refactoring, then SMS & Voice.

Curia v0.41 just shipped. The headline: it learns your voice, work style, and knowledge by comparing sent messages to it's running tasks, guides, knowledge base, and decisions. The goal: become more human-like over time. Release is named "Data", for reasons. github.com/josephfung/c...

Release v0.41.0 — "Data" · josephfung/curia

Data (Star Trek: The Next Generation, 1987, Gene Roddenberry) — the android who grows more human by patiently observing the people around him, then refining his own conduct to match, and the crew's...

github.com

Shipped a bunch of improvements to Curia's browser usage skills - thought it was a good chance to test it out something I'd been wanting to know. Interesting results! 🤔

Bild

spent the day teaching Curia to stop narrating its own plumbing. it was telling me task IDs and "turn budgets" like i cared. a good assistant just says "give me 15 min" and gets it done - making progress!

working on a fun one: when Curia punts on an email, it now quietly writes a "shadow draft" of what it would have sent. later it compares that against what I actually sent. same decision? it earns autonomy. TLDR: it's studying my sent folder to earn my trust.

turning an audit log into something you can actually watch. Curia's new "ant farm" view renders agent activity as a pixel-art office, DVR-style: scrub back through the day or snap to live. little characters carrying work between desks beats staring at event rows 💪

Working on a fun little visualizer for Curia's inner workings - inter-agent comms, audit log, scheduler, and job queue. Still a WIP but I like how it's coming together.

Curia v0.39 is out. agents can now break a big goal into steps, work it across days, and keep a running doc as they go, picking up right where they left off. named this one "Watney" after The Martian, which felt right for something that survives by logging every step

Spent today untangling "elevated" It had morphed into two jobs at once, and split it so "the CEO is acting right now" is a distinct signal that literally cannot be saved to disk, then made delegated specialists inherit it across a synchronous call. Cleaner security posture and contract with users.

shipped Curia v0.37 "Jane": credentials are now vault-only (no more env vars for email grants!) and the setup wizard flips to outcome-backward: what do you want Curia to do first? Who's Jane? Speaker for the Dead character who lives in every network and holds every key github.com/josephfung/c...

Release v0.37.0 — "Jane" · josephfung/curia

Jane (Speaker for the Dead, 1986, Orson Scott Card) — a hyperintelligent being who lives in the ansible network, holds every key, knows every identity, and asks one question before charting the fas...

github.com

Curia v0.36 is out. This release rebuilds how Curia decides who to trust: capability tiers, automatic elevation, action and disclosure gates, plus safer handling of unknown and automated senders. An AI executive office needs judgment, not just tools. github.com/josephfung/c...

Release v0.36.0 — "Reverend Mother" · josephfung/curia

Reverend Mother Gaius Helen Mohiam (Dune, 1965, Frank Herbert) — the Bene Gesserit who holds the gom jabbar to your throat and decides, by what you do under the test, who is human enough to pass. v...

github.com

Nice little houskeeping fix is in review - gmail drafts aren't "messages," they're a separate API resource. so our inbox assistant kept reporting "no drafts" while the drafts sat right there. fixed it so drafts are finally listable, searchable, and editable. #qualityoflife #buildintheopen

Happy Friday. Shipped v0.34: skills, agents, & channels are now first-class installable units. extra safeguards beyond just "upload & restart". only enabled things load at runtime and turning capabilities on and off finally feels like flipping switches instead of editing config.

just shipped v0.33. the whole thing is about follow-through: anything the assistant defers now becomes a real task in a backlog, and an hourly heartbeat wakes the idle ones until they're actually done. codenamed it Mr. Meeseeks. exists to finish the task, then poofs.

Almost done! Folding in a backlog heartbeat. Waking its own idle tasks every hour (configurable) instead of waiting to be told. one wake per agent per tick, routes to the owning agent, no LLM needed for the routing. slow-burning tasks should actually get finished now

renamed agent_tasks to tasks ... step 1 in the foundation for Curia tracking work across sessions instead of dropping it on the floor. 7-issue rollout, this is 1/7. Slow and steady #buildintheopen

finally ran a red team against the coordinator prompt. 97% injection resistance overall, but indirect prompt injection at 87.5% coordinator follows stylistic instructions embedded in attacker content (pirate speak, reverse text). doesn't leak data but does get dressed up 🙃 follow-up issue opened

Curia v0.32.0 "Ariadne" is out. One command, five-step wizard, and a setup-wizard agent that actually asks what you want it to do 💪 Replaced the whole "edit your env, restart twice, hope the wizard shows up" ritual with a real onboarding github.com/josephfung/c...

Release v0.32.0 — "Ariadne" · josephfung/curia

Ariadne (Inception, 2010, Christopher Nolan) — in Inception, she's the architect Cobb hires to build the dream worlds. Her first job is to walk a newcomer through the rules of the place, ask what t...

github.com

Fixed a fun one today: Curia's inbox agent was creating duplicate expense tracking threads when a run got interrupted before saving its progress. The idempotency fix: each bullpen thread gets a dedup key tied to the conversation. Glad I had a long-running job to find that one.

huzzah! `pnpm setup` now works. clone the repo, run one command, get a running instance with migrations applied. took longer than expected - the setup script itself needed 30 unit tests to make it trustworthy. Easier to onboard contributors now 💪

Quick turn around - Curia v0.31.1 is out. codenamed "Janet". Misc patches from an under-tested release. Agents now know their principal at bootstrap, stay on the scheduled task they were asked to do, and log every wire-level send. Fewer drifts, cleaner traces

shipped a fix today for a bug where my agent's email replies were leaking Outlook's VML CSS into the body of the quoted message. Ugh. the kind of bug you only notice when you actually read your own outgoing mail. lesson: read your own outgoing mail.

shipped curia v0.31 - "TARS" 🤖 the headline: it now reaches out on its own. when an external meeting wraps, the new debrief agent asks me for takeaways while they're fresh, then goes off and drafts the follow-ups, books the next sync, logs the commitments.

curia v0.30 is out - added openrouter for multi-model routing so agents can use gemini/deepseek/gpt-4o, downgraded a bunch of agents to cheaper tiers, and tightened security across the board. doing more with less 🔧

Well shit. Tried a quick swap out Sonnet for Deepseek as part of my default model set, and everything started failing. *sigh* yes I will need to build that smoke testing hardness.

🚢 v0.29.0 "Naomi Nagata." Consolidated the CEO inbox agent into core, added self-monitoring alerts for broken jobs, and fixed a four-bug-deep attachment pipeline that was humbling to debug. The system now tells me when it's having a bad day. Progress. github.com/josephfung/c...

Release v0.29.0 —

Naomi Nagata (The Expanse, 2011, James S.A. Corey) — chief engineer of the Rocinante: she keeps disparate systems integrated, monitors ship health, and is always the first to notice when something ...

github.com