Skip to content

0.30.2 The control layer for AI-assisted development

Your AI agents say the work is done. Majordomus makes them prove it.

Majordomus keeps AI coding agents honest. It remembers what every session learned, keeps parallel agents out of each other's way, and accepts a task as finished only when your own checks pass. It works beside the agent you already use, and it never calls a model.

Open source. One command to install. No account, no sign-up. Watch it refuse unfinished work →

Works beside the tools your team already uses
Any tool that reads AGENTS.mdbbClaude CodeCodexGemini CLIA worker with no convention of its own
Majordomus UI · /ui

the product · this project's own delivery

This project's own plan and releases, read from its records at the commit this site was built from.

Delivery the history proves, inferred at 0fab562

merged
5
released
133

Issues of the plan, by the status their records declare

ready
102
blocked
180
active
2
verify
3
done
192
cancelled
10

Changes the release record of v0.30.1 carries, 2026-10-19

fixed
18
performance
1
documentation
1
housekeeping
1

Every change, release by release →

Open the product → A snapshot, read once at this site's commit. dd4c0a8

01the problem

Agents are fast. Trust is slow.

AI agents can write code all day. The hard part is knowing what they changed, what they forgot, and whether any of it actually works.

Majordomus fixes all three in the one place every agent already works: your repository.

Built for the people who answer for the result

Recognise a specific moment? See the failures it answers

02how it works

From first prompt to a checked finish

Every task follows the same short path, whoever or whatever does the work. Your repository answers at each step, so nothing depends on an agent remembering to behave.

  1. 1 start begin a scoped task under a profile See it run →
  2. 2 context what the next worker needs to know now, within budget See it run →
  3. 3 checkpoint record compact progress inside the active task See it run →
  4. 4 check is the current task consistent with policy, scope, state? See it run →
  5. 5 handover write an append-only continuation record (body on stdin) See it run →
  6. 6 finish evaluate the finish contract; refuse if unmet See it run →

No prompt tricks and no leap of faith. If a check fails the task is not finished, and the record says why.

03what you get

Everything AI-assisted work needs, in one layer

The things every team ends up building by hand, ready on day one. Open any of them to see what it does and the evidence behind it.

  1. 1 · 4 features

    Context

    Every worker starts from what the repository already knows: the context that applies to its path, the handover the last session left, and the decisions already made.

    answers
    Agents forget. What one session learned dies with its conversation, and the next one starts over.

    claims guaranteed with a named test
    29 of 32
    executable use cases
    17
    rules it rests on
    19
    Explore context →
  2. 2 · 6 features

    Coordination

    Every worker declares the paths it will touch, sees who else is working and where, and hears about a collision before it is committed.

    answers
    Agents collide. Parallel workers edit the same paths, or build the same thing twice, without knowing about each other.

    claims guaranteed with a named test
    40 of 41
    executable use cases
    6
    rules it rests on
    13
    Explore coordination →
  3. 3 · 3 features

    Governance

    The rules are written once, in the repository, projected into every tool's instructions, and a blocking rule stops the command instead of advising it.

    answers
    Rules drift. Each tool keeps its own instruction file, and a rule nobody wired into enforcement is only a suggestion.

    claims guaranteed with a named test
    25 of 29
    executable use cases
    8
    rules it rests on
    17
    Explore governance →
  4. 4 · 5 features

    Evidence

    A claim names the test that settles it, a recorded run is judged against the commit it ran at, and a claim with no recorded run says so.

    answers
    Claims outrun proof. The documentation says one thing, the runtime does another, and nobody can show which is true.

    claims guaranteed with a named test
    30 of 34
    executable use cases
    4
    rules it rests on
    13
    Explore evidence →
  5. 5 · 3 features

    Completion

    Done is a contract the repository evaluates line by line. Work is not accepted while any line fails, and a refusal stays on the record.

    answers
    Done is cheap. A worker can report success before the repository's own checks hold.

    claims guaranteed with a named test
    16 of 16
    executable use cases
    8
    rules it rests on
    12
    Explore completion →
  6. 6 · 7 features

    Surfaces

    One declaration in the repository becomes the command line, the HTTP API, MCP, the UI, the Cockpit, the documentation and this site, and a projection that disagrees with it fails the build.

    answers
    Interfaces disagree. The command line, the API, the docs and the website each keep a copy, and the copies drift.

    claims guaranteed with a named test
    35 of 35
    executable use cases
    10
    rules it rests on
    15
    Explore surfaces →

The product, by domain → All 28 features → Every feature against every interface →

04works your way

One source of truth, wherever you work

Managers follow delivery in a browser. Agents ask through their own tools. Engineers stay in the terminal. Everyone gets the same answer, because every view is generated from the same records.

  • UI

    For whoever follows the delivery: health, releases, the roadmap, open work, evidence and rules, in one place.

    Open the published snapshot →

    On your own repository it is live: start the local server and it answers at /ui

    What it shows, and how to open it →

  • Cockpit

    For whoever wants the detail: every rule, record and check behind a figure, with its source.

    Open the published snapshot →

    On your own repository it is live: start the local server and it answers at /cockpit

    What it shows, and how to open it →

  • Command line

    For whoever does the work, person or agent: start a task, check it, hand it over, finish it.

    Reference →

  • HTTP API

    For your own tools and dashboards: the same answers, over HTTP.

    Reference →

  • MCP

    For coding agents: the same answers, as tools an agent can call.

    Reference →

  • Documentation

    For everyone: the guides, the reference and the decisions behind them.

    Reference →

capabilities in the registry
2645
MCP tools
196
HTTP routes
201
objects of the layer
2439

Every feature against every interface → The registry every interface is generated from →

Bring your own AI. Keep your own rules.

Majordomus never invokes a model; it decides what a worker is told, what it may touch, and whether its claim of being done can be believed.

What it does not do →

For engineers: one declaration reaches every interface

declared as
brief.session
command line
majordomus brief
MCP tool
majordomus_brief

Every capability, with the surfaces it reaches →

05the proof

Watch it say no.

An agent wanders outside its task, says it is done, and is refused. It cleans up and is refused again, because your own test still fails. Only when every check passes is the work accepted. This is a recording of the real tool, not a demo script.

recorded run · the worker says it is done

The worker reports the task finished. finish evaluates the contract instead of believing it, and refuses.

$ majordomus finish --outcome completed --verify-command 'sh test/parse.sh'

  • pass blockers
  • fail note
  • fail scope
  • pass state
  • fail verification

finish: refused, 3 unmet

It is accepted only when every line passes: finish: t-<id> completed

Replay the whole run, step by step →

Replay the run, step by step

Any tool can tell an agent what to do. Majordomus decides whether what it did counts, and it keeps the record either way.

The whole challenge, and how to run it yourself → The contract every refusal is evaluated against →

Every other refusal on record (12)
  1. $ majordomus context resolve .ai/repo/zones exit 10 Refuse a directory of the layer that documents nothing →
  2. $ majordomus context validate exit 10 Refuse a directory of the layer that documents nothing →
  3. $ majordomus context --budget-lines 30 exit 10 Read only the context that fits the budget, and know what was dropped →
  4. $ majordomus check exit 10 Hand work over with a question still open, and keep it blocking →
  5. $ majordomus check exit 10 Catch an agent that says it is done when it is not →
  6. $ majordomus check exit 12 Resume in the right worktree, never against somebody else’s task →
  7. $ majordomus finish --outcome completed --verify-command 'test -d .ai' exit 10 Decide whether finished work is actually finished →
  8. $ majordomus finish --outcome completed --verify-command 'test -d .ai' exit 10 Hand work over with a question still open, and keep it blocking →
  9. $ majordomus finish --outcome completed --verify-command 'sh test/parse.sh' exit 10 Catch an agent that says it is done when it is not →
  10. $ majordomus finish --outcome completed --verify-command 'sh test/parse.sh' exit 10 Catch an agent that says it is done when it is not →
  11. $ majordomus finish --outcome completed --note done exit 10 Prove what a task owed before calling it done →
  12. $ majordomus finish --outcome completed --note done exit 10 Say what reached the remote and what did not →

06evidence, not testimonials

No logos. No testimonials. Evidence.

Every figure here is computed from the repository, never typed. Each promise names the test meant to prove it, the ones a recorded run supports are counted apart from the ones only declared, and what is planned or rejected is shown in the open.

Two numbers, kept apart on purpose. Declared is a promise written down together with the test meant to prove it. Supported means that test ran against this exact revision and the run was recorded. A promise without a recorded run is counted as a promise, and as nothing more.

guaranteed claims, declared
232
0 supported by a recorded run at this revision · the ledger
advisory claims, declared
6
planned claims, declared
10
rejected claims, declared
2
latest release the installer resolves
0.30.2
published 2026-10-19
confirm what you installed
majordomus --version
commit this page was built from
dd4c0a8
served as build.json
executable use cases, across areas of work
49
10 areas

The intent model, claim by claim

9 guaranteed2 planned

Each claim the intent model makes is listed below under the status docs/CLAIMS.yaml declares for it, and each opens on the test that settles it. A claim promoted from planned to guaranteed moves between the lists with no edit to this page, and anything the design asks for that no claim names is a sentence in the conditional, not a capability.

guaranteed

The milestones, in the order their graph derives → The model stage by stage →

Every claim, with the test that settles it → Every rule, with its validator → What it does not do →

07get started

Running on your repository in minutes

One command installs it and one sets up your repository. It adds a single tracked directory, readable without the tool, and nothing else.

install · one command

Install majordomus in one command

No git, no Rust, no Node, no root. One archive for your machine, its digest verified before anything is unpacked, into $HOME/.local/bin.

1 · paste into a terminal
curl -fsSL https://majordomus.dev/install.sh | sh

2 · in the repository you want supervised

majordomus init

Writes .ai/ — the policy, the profiles, the rules, the prompts, the workflows — and nothing else.

3 · point your agents at it

majordomus update

Generates CLAUDE.md, AGENTS.md and the other bootstraps from the policy; every worker reads the same contract. Platforms, pinning a version, the security model →

Confirm what was installed: majordomus --version

Platforms, pinning a version, the security model Every feature Read the guarantees How this page is derived

Searches the titles and descriptions of every page this site publishes.