Skip to main content
DOCOD Runtime

The runtime does not make agents smarter.It makes the process verifiable when they are not.

The DOCOD Runtime is the open-source reference implementation of the DOCOD Method.

It derives engineering state directly from project files, verifies relationships, hashes, approvals and evidence, and prevents a gate from staying green when what supported it has changed.

  • No proprietary state database.
  • No hand-maintained index.
  • No agent memory as the source of truth.

The files are the state.

Open source · zero-install (Node ≥18, vendored YAML) · model-neutral

The method defines the discipline. The runtime makes part of it executable.

The runtime is a reference implementation, not the discipline.

Define · Orchestrate · Confirm · Observe · [re]Define

The method organises how intent becomes decisions, how work is coordinated, how results are confirmed, how the system is observed, and how learning feeds the next cycle.

  • It does not redefine the discipline.
  • It does not replace human judgment.
  • It approves nothing on its own.

Its role is to make verifiable what should not depend on an agent’s memory, interpretation or word.

None of this is new. That is the point.

PRDs, requirements, design reviews, ADRs, test plans, runbooks and postmortems were not invented for the age of AI.

This is the SDLC, the Software Development Life Cycle.

The discipline software engineering has used for decades to turn intent into systems that can be built, tested, operated and evolved.

DOCOD does not replace that lifecycle.

It reorganises it for an environment in which agents take part in more and more of the execution.

Classic SDLCDOCOD movementArtifacts you already recognise
Planning and feasibilityDefinebusiness case
Requirements and analysisDefinePRD, FRD, user stories
Design and architectureOrchestratesystem design, data design, security design, API contract, ADR
ImplementationOrchestratetasks, code, evidence
Testing and verificationConfirmtest plan, QA, design review, code review
Deployment and operationsObserveSLOs, runbooks, playbooks, release notes
Maintenance and evolution[re]Definepostmortem, impact analysis, the next cycle

The table shows where each artifact is most often born.

ADRs, RFCs, trade-offs and impact analysis are cross-cutting. They appear when a decision requires them, not because there is a fixed phase reserved for them.

The equation inverted twice

For years teams abandoned parts of the lifecycle for a legitimate reason: keeping the discipline cost more than writing the code.

The documents became execution input

A human developer fills a gap with experience, informal context, a hallway conversation or accumulated judgment.

An agent receives none of that by default. It receives context.

When that context is incomplete it does not necessarily stop. It infers. And a plausible inference can still produce the wrong software.

The more execution you delegate, the more explicit the engineering that directs it has to become.

The cost of keeping the discipline dropped

Agents also help interview, structure requirements, compare documents, find inconsistencies, maintain artifacts and propagate change.

What once looked like documentation about the system starts taking part in the execution of it.

The specification stops being paperwork about the work. It starts programming the context in which the work happens.

From a described discipline to a verified one

The traditional SDLC describes a discipline. The runtime adds mechanisms to verify whether parts of it are still true.

It does not merely record that something was approved.

It checks whether the approval still matches the current content.

It does not merely record that one artifact depends on another.

It detects when the live input has changed.

It does not merely ask an agent to cite evidence.

It mechanically verifies what it can verify.

And when the required capability does not exist:

it does not manufacture a pass.

DOCOD does not replace the SDLC. It makes the SDLC operational for agentic software engineering.

There is no second state system to keep in sync

State is recalculated from the files. Every time.

Whenever the runtime runs, it reads the project again.

  • State does not come from a database.
  • It does not come from a hand-maintained index.
  • It does not come from a previous conversation.

It is derived from the files that exist now.

  • If a document changed, the consequence appears.
  • If an approval no longer matches its content, it stops being valid.
  • If a downstream artifact still points at an older input, it becomes stale.

Nothing needs to remember that the event happened. Current state emerges from what is on disk.

You can diagnose before adopting

A legacy system does not have to be fully converted before the runtime can help. Diagnostic mode points at the repository and returns the map with provenance: what was observed, what was inferred, what came from someone outside the code. No pins, no gates, no frozen baseline.

Pre-read, not pre-approved.

What is method and what belongs to a harness

Four layers, and they are not a pipeline.

Method

The neutral discipline. The cycle and the principles that do not depend on model, language or tool.

Contracts

Agents, rules, skills and contracts that define responsibilities, inputs, outputs and conditions.

Adapter

The layer that materialises the method inside a harness. Slash commands, subagents and integrations belong here.

Instance

The actual project. Its configuration, its artifacts, its decisions and its state.

Files → Derive → Gate → Human decision

And then it reads the files again.

Governance has a body, not only principles

Contracted roles, neutral skills, and a verifier that is not the producer.

28 agents
Each one owns a single responsibility and delivers one artifact. Not a persona with a clever prompt: a role with a contract, inputs, outputs and conditions.
39 artifacts
Each with a declared owner. An artifact without an owner is an artifact nobody maintains, and that is where governance usually leaks first.
13 skills
Reusable craft that several agents may need. Not a document and not a phase: craft, and neutral with respect to model, language and tool.
Whoever produces does not confirm
The task executor builds and collects evidence. Verification belongs to a different contract, and it checks behaviour against the requirement, not against the narrative of whoever wrote the code. Approval remains a human act.

Swap the adapter. The method stays.

What changes between harnesses is the adapter. The method, the contracts and the state derived from files do not. A harness becomes supported by gaining an adapter, not by rewriting the discipline.

Add your own.

The list of roles is not hardcoded in the runtime: agents, skills and artifacts are DECLARED in registries. A project can add its own by writing the contract and registering it, exactly like the ones that ship in the box. What the method fixes is the shape of the contract, not who is in it.

These pieces are what give governance a body. Without them what remains is ethos.

DOCOD is not another agent that writes software for you

Governance around agents. Not a better agent.

  • The runtime does not try to make a model smarter.
  • It does not magically increase an agent’s reasoning ability.
  • It does not turn probability into determinism.

It puts contracts, derived state, evidence and gates around execution.

Because the important question is not only:

Can the agent do this?

It is also:

How do we know what it was supposed to do, what it actually did, and whether we can still trust that result after the project changed?

Trust has to survive the next agent

Nothing approves itself.

Approval belongs to content

When a person approves an artifact, the runtime records who approved it, when, and the hash of the approved content.

If the file changes later, the hash no longer matches. The old approval does not stay green for convenience: it becomes invalid, and whatever depends on it is reconsidered.

Upstream change becomes visible downstream

Artifacts record the inputs they depend on. When a live input changes, the runtime mechanically detects that the relationship is stale.

Understanding how that change should propagate still requires analysis. Detecting that the old premise is no longer the same does not: the input resurfaces as stale and downstream work is blocked again.

Verification is not “the agent said it passed”

The runtime mechanically checks what it can prove: whether the frontmatter actually parses, whether the status is allowed by the method, whether the approval hash still matches the content, and whether the input hashes still match their live sources. The full list of checks and warnings lives in the manual.

Some conditions fail the gate. Others surface as warnings. And a pass also states its limits: a silent pass teaches nothing.

Missing evidence is not success

NOT VERIFIED is better than a fabricated guarantee.

When the environment lacks a capability needed to verify something, the runtime does not turn missing evidence into success.

No load environment
performance not verified
No required tool
check not run
No capability the harness should provide
the limitation is surfaced to the user

Missing capability is not permission to improvise.

Executable governance is not total autonomy

What the runtime does not promise.

  • autonomous approval
  • deterministic LLM behaviour
  • zero hallucination
  • full SDLC automation
  • formal verification
  • perfect legacy reconstruction
  • cryptographic approver identity
  • true epistemic independence between two agents using the same model
  • an autonomous software factory that removes humans from accountability

It automates work.

Not accountability.

DOCOD Runtime

The method organises responsibility.The runtime makes its gates verifiable.

  • Agents can change.
  • Models can change.
  • Harnesses can change.

The project still needs to know:

  • what was decided,
  • what changed,
  • what is still valid,
  • what is blocked,
  • and why anyone should trust the result.

That is what the runtime is for.

Open source · zero-install (Node ≥18, vendored YAML) · model-neutral