Charter · Version 0.1 · 2026-08-05
Charter
Part I — The Charter
Why we exist
AI is creating a new computing paradigm. That paradigm requires a new engineering discipline.
Software is no longer limited to executing predefined instructions. AI systems can interpret requests, make decisions, use tools, take actions, and maintain context across tasks. This changes both what software can do and what it takes to engineer it reliably.
The practices used to build deterministic software do not fully address the failure modes of systems that reason and act. Reliability must be designed into the architecture. Evaluation must be continuous. Identity and authority must be explicit. Governance must be enforced in code. Memory requires clear ownership, correction, and deletion. Autonomy must expand only as reliability improves.
Better models will not solve these problems on their own. They are engineering problems.
ThirtySignals exists to help define and build the engineering discipline required to solve them.
How we work
We develop this discipline through research, open source, products, and production engineering.
Research becomes experiments. Experiments become tools. Tools are tested through real systems and products. Production reveals failure modes that controlled environments cannot. What we learn feeds back into our research and engineering practices.
We build in the open wherever possible. Code and research that can be inspected, tested, and challenged produce stronger engineering and allow others to build on what we learn.
We aim to create more value than we capture.
The Charter
The Charter records what we currently believe about building production AI systems. The Thirty Signals make those beliefs concrete. They cover the architecture, reliability, evaluation, governance, autonomy, and economics of systems that reason and act.
The Charter is versioned because the discipline is still evolving. The principles should be durable; the Signals are expected to change as our understanding improves.
We publish that evolution rather than rewrite the past.
What follows is where our thinking stands today.
Part II — The Thirty Signals
The Thirty Signals
These are the beliefs we’ve landed on so far about how this kind of software should be built. They are versioned as a set rather than rewritten in place, so you can see what we changed our minds about and when. Each one has a permanent anchor and can be cited on its own.
25 of 30 published · Version 0.1
What changed
- 01
The software is becoming a coworker, not just a tool.
A tool waits to be used. A coworker takes work off your desk, makes judgement calls inside it, and hands something back. Software has started doing the second thing, and the boundary between the people doing the work and the systems doing the work is dissolving inside engineering itself. That is not a UX change. It changes who is accountable for an outcome, what review means, and what it takes to trust a result you didn't watch being produced.
- 02
Engineering matters more than models.
Foundation models will keep improving, and that trajectory is not really in question. But most of the next decade's useful progress will come from better systems, infrastructure, evaluation, tooling, and workflows — not from larger models. The gap between what a model can do in principle and what a system built on it reliably does in production is where nearly all of the remaining engineering lives. That gap is closed by engineers, not by scale.
- 03
Interfaces change. Architecture compounds.
Interfaces churn every product cycle: chat, voice, embedded agents, ambient UI, whatever is next. What survives underneath is reasoning, memory, orchestration, and the boundaries between them. Architecture coupled tightly to "chat" is built on the layer most likely to be replaced first. Build so the interface is the cheapest thing to throw away.
- 04
Infrastructure outlives technology cycles.
A good model is a moment — something better replaces it within the year. Good infrastructure is a compounding advantage: it outlives whichever model sits on top of it, and every system built on it gets stronger for free when the layer underneath improves. The boring, invisible layers nobody demos are worth more over time than the flashy one on top.
- 05
Protocols outlive companies.
The interfaces that let systems talk to each other tend to outlast the organisations that introduced them. HTTP outlived the companies that fought over the browser. That is the bet worth making: build against open, inspectable protocols rather than a vendor's surface area, because the protocol will still be here after the vendor's roadmap has moved on.
Reliability and evaluation
- 06
Production is the real benchmark.
Benchmarks measure capability. Production measures usefulness. A score tells you what a system can do in a controlled setting; it tells you almost nothing about whether it is worth trusting with a real task, run by a real person, on a Tuesday when the upstream API is degraded and the input is malformed. We would rather ship something narrow that holds up than something broad that scores well and falls over the first time reality gets messy.
- 07
Reliability is a design constraint, not a QA step.
Retries, fallbacks, degradation paths, and human-in-the-loop gates have to shape the architecture from the start. They cannot be bolted on after, because the failure modes of a reasoning system don't surface as exceptions at the end of a test run — they surface as confident, plausible, wrong output that a QA pass has no way to flag.
- 08
Evaluation is the product.
Benchmarks measure capability; evals measure whether your specific system is trustworthy enough to use for your specific task. If you cannot measure whether the system did the right thing, you do not have a product — you have a demo that has not failed publicly yet. The eval suite is not test infrastructure sitting beside the product. It is the thing that tells you the product exists.
- 09
Simulation is cheaper than incidents.
If you are not testing against adversarial inputs and edge cases before production, your users are your test suite and your incident channel is your reporting tool. Simulating the failure is always cheaper than explaining it afterwards, and it is the only way to find the failure modes you weren't imaginative enough to predict.
- 10
Failures aren't algorithm failures. They're coordination failures.
When these systems break in production, the cause is rarely the model. It is the seam between services, between a retry and a timeout, between what one component assumed about state and what another actually wrote. That changes where the engineering time should go: into the plumbing, the contracts, and the handoffs, not into the prompt.
- 11
If you can't roll back behaviour, you haven't shipped it.
A prompt change, a policy change, or a tool-definition change alters what the system does in production as surely as a code deploy does. It deserves the same review, staging, and rollback discipline. "We just edited the prompt" is how outages happen and how nobody can say afterwards what the system was actually doing at the time.
- 12
The best system is the one you can safely turn off.
If killing a running agent cleanly — mid-task, with no orphaned side effects, no half-finished writes, no dangling external calls — is hard, the system was not designed for production. The ability to stop something is what makes it safe to start.
Autonomy and the human line
- 18
Automation should reduce human effort, not human accountability.
Software should do the work leading up to a decision. It should not make the decision itself until you have shown — with evidence, not vibes — that it is right often enough to be trusted unsupervised. Most companies blur this line deliberately, because the blurred version demos better. The line is worth holding anyway.
- 19
Review belongs inside the system, not after deployment.
If a person only sees an agent's work once it has already shipped, you don't have a human in the loop. You have a human doing damage control. Review has to be a state the system can be in — something it waits for — not a meeting that happens afterwards.
- 20
Autonomy should expand only as reliability improves.
How much a system is allowed to do on its own should be a function of how well you can measure what it does. Autonomy granted ahead of evidence is not a product decision, it is a wager. Move the boundary out as the evals justify it, and be willing to move it back.
- 21
Latency is a feature of trust.
A slow agent gets double-checked by a human, which defeats the point of delegating to it. Speed here is not UX polish — below some threshold, delegation stops being worth it at all, and the system quietly becomes a thing people supervise rather than a thing that helps.
Economics and practice
- 22
Cost is an architecture decision, not a pricing page problem.
Cost per task has to be designed for from day one. Discovered late, it is not a margin problem you can fix with a pricing change — it is a structural constraint that makes the system too expensive to actually delegate work to, which was the entire point of building it.
- 23
Open source is a distribution strategy, not a licensing choice.
People adopt infrastructure they can audit. Code and research that others can read, run, and criticise gets held to a higher standard than anything built behind a wall. Closed systems ask for trust. Open ones earn it. We would rather earn it.
- 24
Betting on one provider is a single point of failure.
Model-agnosticism is usually pitched as a value. It is better understood as risk management. A system whose behaviour, economics, and availability are all determined by one vendor's roadmap has taken on a dependency it cannot price and cannot exit quickly. Name the risk rather than dressing it up as a principle.
- 25
Reinvent the wheel.
Standard engineering advice says don't. We think that advice is over-applied in a field this young, where the existing wheel was often built for a different vehicle and nobody has looked closely at it since. Building the thing yourself, once, is frequently the fastest way to understand why it is shaped the way it is — and occasionally the fastest way to find out it shouldn't be.
In draft
5 signals are written down but not yet worth publishing. We’d rather show you the gap than fill it with something we don’t mean.
- 26Small teams beat large ones.
- 27Software should explain itself.
- 28Most distributed systems are one system wearing multiple costumes.
- 29Complexity is a budget, not a junk drawer.
- 30Composability beats capability.

