Notes on the shift — and the decisions behind Doric — written in plain language, for the people who care how the machine works.
✦ New — we open-sourced four tools from our own stack → · Twenty things Doric does →
When code is cheap and a whole R&D operation fits behind one person, the scarce thing isn't engineering — it's deciding what to build. Decision-making is suddenly unbound.
7 min read · the AI eraEach one was a real, recurring failure we had to fix to run an AI product on a flash-tier model — so we open-sourced the fix. The line family: keep the plot, prove it's wired, ship what changed, and measure the whole thing. Zero dependencies, MIT (benchmark CC-BY).
Nine runs in one day, every dip a mechanism with a name. The integrity kit that came out of it: fact capture, confabulation and sycophancy guards, and the gauntlet that scores them.
Open sourceAI's signature failure: a module compiles, its tests pass, the diff looks great — and nothing ever calls it. The CI gate that fails the build when built and wired stop being the same thing.
Open sourceOne functions codebase means every deploy redeploys all of them — slow, and heavy projects trip the quota. Require-closure analysis, a fail-closed watcher, and the 429 fix.
Open sourceModels remember inside one window — that was never the question. A long-horizon context-integrity benchmark where the decisive axis is what a system does with a fact it doesn't cleanly have.
Why rebuild a chat engine when Claude and Gemini ship brilliant ones? Because self-grading doesn't work — and separation of powers is structural, not something a prompt hands you.
Agent behaviorBrainstorms should pull the internet and propose structure. Edits should touch one slide and nothing else. Most tools run both through one dial — we built two lanes.
Interaction designThe doc is the conclusion, stripped of the path. The card is the path — dead ends included. Provenance is why the conclusion deserves your trust.
Point of viewSpec-driven tools now turn a small bug into 4 user stories and 16 acceptance criteria. The unsolved gap in the category is triage — and it's where Doric aims to be better, not equal.
DependabilityYou add one button to a tool that worked — and the AI rewrites your schema and takes it all down. Why that happens, and the four things that make it a non-event in Doric.
PositioningEvery AI builder is brilliant for 47 minutes. The real problem starts the next morning — and the whole industry has a name for it but no product.
ArchitectureParallel AI work corrupts state quietly. We fixed it the boring way: branches, a merge queue, and three-way merges that escalate instead of clobber.
ArchitectureHow we made "done" something the system computes from evidence — instead of something an agent can claim. No more phantom verification.
OwnershipThe data seam that lets you preview on our cloud and deploy to your own Supabase — and why platform abandonment made this non-negotiable.
How we parse a whole codebase into a live, queryable graph the agents read before they touch anything — so they never edit blind.
Context engineeringThe longer an AI session runs, the slower and pricier it gets. Here's the methodology that keeps Doric's threads lean: least-sufficient context, cache-boundary model switching, and a model chosen every turn.
Context engineeringWhat Doric actually sends the model every turn — and the one layout choice that keeps long threads cheap: segment the prompt by how often things change, not by topic.
Why we snapshot and fork whole project state instead of versioning files — and what that takes to get right.
Designing against the multi-agent groupthink failure with a backstop that only checks.