Skip to content

Registry

What the Rust executable compiled the repository into: every capability, every object of the layer, the kinds it reads, and the fingerprint that names this exact state.

The registry is the one model every interface of the Rust executable answers from. majordomus mcp, the HTTP routes, the OpenAPI document, the capabilities commands, the generated reference and every page under this route are projections of the same entries. This page is rendered from site/data/registry/registry.json, which majordomus generate site writes and majordomus generate --check compares in CI; the routes come from docs/generated/registry.json through scripts/generate-site-data. Nothing below is typed by hand: a number that disagrees with the executable is a stale generated file, and the build refuses it.

provenance
registry fingerprint
94055f5c02d96de4ffe4d549beb908a692df3e3aa2a71b6c29dec8b1a5b96c36
index fingerprint
aa43b4dfb5276404c4c567ed870ab68397c7483b0435d154229a63680ca2abab
generator
majordomus-cli 1.0.0-alpha.8 · dataset majordomus-site-registry/v2
layer
ai-repository/v1 · index ok
routes from
docs/generated/registry.json · majordomus/capability-registry/v1

The registry fingerprint hashes the index fingerprint (every object's path and content) and every capability descriptor in id order. Same tree and same executable, same fingerprint; it is the cache key every executor answer is scoped by.

Modules

The builtin modules compose the executable's own capabilities; a declarative module is a kind of the layer, one resource per object, listed under Kinds below.

Executable capabilities

Composed in Rust, each exposed as the table says. The id is the operationId of the OpenAPI document and the _meta.majordomus.id of the MCP tool; each links to its own page with schemas, policies, provenance and claims.

idkindMCP toolHTTPCLIstabilitybenchmarkcache
artifacts.list

The manifest `majordomus generate` commits as docs/generated/artifacts.json, reconciled with the working tree: every document with the encodings it is written in, and every file with its format, schema, source, size, hash and whether the file on disk still matches. Optionally narrowed to one document or one encoding. Reads only; `majordomus generate` writes and `majordomus generate --check` is the byte-for-byte verdict.

query majordomus_artifacts GET /api/v1/artifacts — behaviorally_verified required process
blackboard.snapshot

Every worker of this repository — attached to a checkout's board or in an active mesh session on any linked machine — with the client it is, what it announced, its checkout, branch, machine and claims (advisory or exclusive); the claims that meet (potential, or confirmed when both are exclusive or the mesh marked one conflicted); the open reviews and untaken handovers; typed relations between workers, verified only when an explicit identifier joins them; the newest signals with the monitor's cursor a follower resumes from; each source with how it was read, and whether the answer is complete. Reads only.

query majordomus_blackboard GET /api/v1/blackboard majordomus blackboard experimental required disabled
brief.session

One line and a few: this session's episode and task (the one the given provider session owns, else the pointer's), the peers of every board with the boards that could not be read named, the mesh's links and what its journal addresses to this runtime, the integration queue as `majordomus prs brief` says it, and the machine's derive lock. Composed by the server holding this checkout's lease, which holds the board and the mesh: the command line asks it and composes the brief itself only when none answers, saying so; a superseded server says its own board is unreachable by the repository's gather. Carries the reporting interval the policy declares (`session.brief_interval_minutes`) and the keep-awake text a session is told at its start. Writes nothing.

query majordomus_brief GET /api/v1/brief majordomus brief behaviorally_verified required disabled
capabilities.describe

One capability by canonical id: its kind, schemas, provenance, stability, exposures, benchmark and cache policy.

query majordomus_capability GET /api/v1/capability majordomus capabilities describe behaviorally_verified required process
capabilities.list

Every capability of this executable and this repository, summarised: kind, module, stability, provenance, the projections it declares, its benchmark and cache policy; the schemas are answered by capabilities.describe.

query majordomus_capabilities GET /api/v1/capabilities majordomus capabilities list behaviorally_verified required process
capabilities.projections

A row per capability with the command line, HTTP route, MCP tool and MCP resource it reaches, whether every exposure it declares is answered by that surface, and the runnable commands no capability claims. Derived from the registry and the clap declaration; nothing is written down.

query majordomus_projections GET /api/v1/capabilities/projections majordomus capabilities projections behaviorally_verified required process
commands.get

One command by its canonical identity: its arguments with the source of each one's values, what running it changes, what it needs, where it came from, and every surface that carries it — with the reason a machine surface withholds it when one does.

query majordomus_command GET /api/v1/command — implemented required disabled
commands.graph

The graph as one document, with its fingerprint and every diagnostic its build found: a duplicate identity, a recipe name two commands would take, an annotation that names a command which no longer exists. Deterministic — two builds over one tree produce the same document — so a client may cache against the fingerprint.

query majordomus_command_graph GET /api/v1/commands/graph — implemented required disabled
commands.list

The commands this repository offers, filtered by the program that runs them, by what running them changes, or by text. A summary rather than the whole graph: enough to choose a command, and never so much that a client has to read every argument of every command to find one.

query majordomus_commands GET /api/v1/commands — implemented required disabled
commit.history

Every commit in a git range against the commit policy, in one pass: how many were read, how many git composed and are exempt, how many carry an error, and every commit that has a finding with what it is. What the gate reads to refuse new debt, and what answers `is the history of this branch clean?` without a process per commit.

query majordomus_commit_history GET /api/v1/commit/history majordomus commit history behaviorally_verified required disabled
commit.plan

The working tree as git reports it — branch, upstream, divergence, every staged, unstaged and untracked path, and any merge or rebase in progress — divided into the commits the history's own scoping supports, each with the evidence for it, under a fingerprint of the repository, the worktree, HEAD and the exact change set, so that a plan acted on later can be refused rather than applied to a tree it was not made for.

query majordomus_commit_plan GET /api/v1/commit/plan majordomus commit plan behaviorally_verified required disabled
commit.scopes

Every scope this repository's commit history uses, how often, and the directories each one is written about — learned from the history rather than declared in a table, so that a subsystem committed today is in the vocabulary today and one nobody has touched falls to the bottom on its own.

query majordomus_commit_scopes GET /api/v1/commit/scopes majordomus commit scopes behaviorally_verified required disabled
commit.validate

One message against this repository's commit policy: the grammar, the subject width, whether the scope is one the history uses, whether every record the message names exists, whether a fix carries a test, and whether a breaking change explains itself — as typed findings with severities, or an exemption for a subject git composed. The same verdict the commit-msg hook refuses with and the gate reads the history through.

query majordomus_commit_validate GET /api/v1/commit/validate majordomus commit validate behaviorally_verified required disabled
continuity.device

The device a published handover names: the mesh node key (created when this device has none, in the user's state directory and never in a repository), its node id, its public key — what a trust list admits — and the label a person reads. With a label, renames the device; the key and every signature it made are unchanged.

command majordomus_continuity_device POST /api/v1/continuity/device majordomus continuity device experimental waived (destructive) disabled
continuity.plan

Writes nothing. Chooses the record (named, or the one other device's handover this checkout has not resumed, on this branch first) and decides: is its signer trusted, does it diverge from the record this checkout stands on, does the local source hold the commit and branch it was written against, was it written in a dirty tree whose uncommitted files never reached a commit, may the other device still be working. The verdict is ready, ready_with_warnings, requires_source_update, conflict, choose_record, nothing_to_resume or refused, with blockers, warnings, the commands that resolve them (recommended, never run), what a resume restores and what this checkout recomputes for itself.

query majordomus_continuity_plan GET /api/v1/continuity/plan majordomus continuity plan experimental required disabled
continuity.publish

Projects the newest handover record into a portable record — the handover body, the repository and device identity, the episode, the source state (branch, commit, and for a dirty tree the changed paths and a fingerprint, never their content), the task and its decisions, and the record it continues — refuses it when any value carries a credential, a secret environment value or a path of this machine's disk, signs it with the device's mesh key and adds it to refs/majordomus/continuity. Touches no branch, index or working tree, and no network: a sync publishes it.

command majordomus_continuity_publish POST /api/v1/continuity/publish majordomus continuity publish experimental waived (destructive) disabled
continuity.records

Every record of refs/majordomus/continuity that passed admission — schema, id, signature, repository identity, portability — by line, with each line's heads, and a diagnostic for every file refused and every lineage defect.

query majordomus_continuity_records GET /api/v1/continuity/records majordomus continuity records experimental required disabled
continuity.resume

Plans exactly as continuity.plan does and acts only on a ready or ready_with_warnings plan: writes the handover into this checkout's handovers (where handover --resolve and the session briefing find it), appends the task's decisions to the decision log once each, and records the record as the one this checkout continues, so that its next publication extends the same line. Runs nothing the record says; the start command for the task is returned as a recommendation.

command majordomus_continuity_resume POST /api/v1/continuity/resume majordomus continuity resume experimental waived (destructive) disabled
continuity.state

The open episode, the active task, the handover and checkpoint that resolve for this worktree and branch, each with its divergence label, the unresolved questions that refuse completion, and the record tallies. Selection is two-tiered and never repository-wide: a record from an unrelated worktree or branch is not offered, because a briefing that is quietly about somebody else is worse than none. Absence is reported as absence.

query majordomus_continuity GET /api/v1/continuity — behaviorally_verified required process
continuity.status

This device and repository identity, the record this checkout continues on its branch, how the local continuity store stands towards the remote's (from the refs alone, no network), every line of work with its heads, the handovers other devices published that this checkout could resume, and every refused record or broken lineage as a diagnostic. A diverged line — the same work continued twice — is reported; separate lines of work on separate devices are not a conflict.

query majordomus_continuity_status GET /api/v1/continuity/status majordomus continuity status experimental required disabled
continuity.sync

Fetches the remote's refs/majordomus/continuity, merges it into the local store as the union of both (records are content-addressed, so a name holding different bytes is reported and the local copy kept), and pushes the result, never forced. Reports each line as equal, remote_newer, local_newer, diverged, local_only or remote_only. An unreachable remote changes nothing and leaves what is pending pending.

command majordomus_continuity_sync POST /api/v1/continuity/sync majordomus continuity sync experimental waived (external_dependency) disabled
convergence.report

Every holding of this repository with its disposition, the evidence read for it and the command that would move it out of danger, the tallies per disposition, how many holdings exist on one disk only, and the one verdict over them. Read from git on every call: a commit, a push or an editor's save changes the answer between two calls.

query majordomus_convergence GET /api/v1/convergence majordomus convergence behaviorally_verified required disabled
dashboard.overview

Is it healthy, what changed, what is broken, what needs action — each answered by cards read out of `health.report`, `release.version`, `plan.status`, `worktree.status`, `plan.next`, `continuity.state` and `peers.list` (this checkout's board), asked once each through the executor. Every card carries its source capability, input and RFC 6901 pointer, so asking the source the same question yields the same value; a source that cannot answer makes its cards `unknown`, never `ok`. Nothing here rebuilds canonical state or asks anything beyond this process and its checkout.

query majordomus_dashboard_overview GET /api/v1/dashboard/overview majordomus dashboard overview behaviorally_verified required disabled
delivery.feature

One product feature against the delivery invariant: every dimension with its verdict, the sentence that decided it and what would change it, whether it exists, and — when it does not — how far development has carried it and which dimensions block it. An id the layer does not declare is not found rather than answered as not delivered.

query majordomus_delivery_feature GET /api/v1/delivery/feature majordomus delivery show experimental waived (external_dependency) disabled
delivery.report

Every product feature of the layer against the delivery invariant, ordered by id: the six dimensions with their verdicts, reasons and remediations; the development stage when it is not delivered; the paths it is implemented by and the revisions that last touched them at HEAD and on the trunk; and the publication — the public site's identity, read once, and whether scripts/pages verified it. Reads git and the network; the site address can be replaced with MAJORDOMUS_DELIVERY_SITE_URL.

query majordomus_delivery GET /api/v1/delivery majordomus delivery report experimental waived (external_dependency) disabled
delivery.trends

The series of CI runs the pages publication recorded in this checkout at site/data/trends.json, oldest first: for each run its wall time, the time its jobs waited for a runner, its jobs, and the coverage it measured (lines, functions and regions as covered over total with the percentage they give); and the median run and queue time of every job over the series, the slowest first. A read of one file: nothing is fetched, derived or written, and no committed file depends on it. A figure the file does not give is absent, never zero, and a run that measured no coverage has none. `recorded: false` with the reason when the file is absent, is not JSON, or is not the trends/v1 series.

query — GET /api/v1/delivery/trends — experimental required disabled
deploy.check

Every refusal the declared deployments earn locally: a health route no capability registers, a package or binary the workspace does not produce, a build input that does not resolve, more machines running than exist, a hosted process that would bind loopback. Each names the file, the key, the value observed and the correction. Nothing here contacts the provider.

query majordomus_deploy_check GET /api/v1/deployments/check — behaviorally_verified required process
deploy.get

One deployment by its identity, typed, with the repository-relative file it was read from.

query majordomus_deployment GET /api/v1/deployment — behaviorally_verified required disabled
deploy.list

Every deployment the layer declares, typed: the application, the package and binary shipped, the address the process listens on, the routes a platform polls, the resources, the machine count, the region, the build inputs and the measured budgets. An object of the kind this executable cannot read is reported with the reason rather than skipped.

query majordomus_deployments GET /api/v1/deployments — behaviorally_verified required disabled
deploy.observed

Every deployment the forge recorded, to every environment it has one in — GitHub Pages among them — with the commit, the ref, who created it, how it ended, where it is served and the run that did it; every environment described by its newest deployment; and every release the forge published. Read from the record `majordomus served forge` wrote when it last asked the forge: nothing here reaches the network, and a checkout that has never asked answers `observed: false` with what to run.

query majordomus_deployments_observed GET /api/v1/deployments/observed — behaviorally_verified required disabled
deploy.slug

Writes, into a directory outside the checkout that is absent or empty, the tree the deployment's provider receives (ADR 0219): the object's build inputs except the package the executable is compiled from, read from git at one commit (HEAD unless named); the provider's generated files of that commit at the slug's root, each held to what the object renders and the hooks made executable; the provider's buildpack line; the executable built at that commit; and a record naming the deployment, the commit, the executable's digest and the provider. Refuses an out directory inside the checkout or not empty, a deployment that names no provider, a build input the commit does not track, a provider file the object does not render, and two files that would land on one path. Changes nothing in the repository and reaches no network; pushing the slug is the provider workflow's.

command — — majordomus deploy slug behaviorally_verified waived (destructive) disabled
design.contrast

Every foreground the design puts on a ground, in both themes, measured against WCAG 2.1 AA: the pair, the palette entries behind it, the ratio and the threshold. The pairs are not a list — they are derived from the declaration, which files each status's text with its own ground, and from the primitives that consume it, where a rule that sets a colour and a background states a pair and a rule that sets only a colour states a foreground that lands on every ground a container sets. A pair below the threshold is a finding that names the role, the ground, the theme, the measured ratio and the required one.

query majordomus_design_contrast GET /api/v1/design/contrast — behaviorally_verified required disabled
design.explain

One token by name or by the custom property it becomes: what it is for, what it resolves to in each theme, which Flowbite names are synonyms of it, which state words it colours, and which generated files it reaches.

query majordomus_design_explain GET /api/v1/design/explain — behaviorally_verified required disabled
design.system

What the design is: the fingerprint every stylesheet carries, the identity, the type stacks, the theme contract with the pre-paint statement every surface runs, the audit widths, how many tokens of each kind, and every generated file the declaration is projected into.

query majordomus_design GET /api/v1/design — behaviorally_verified required disabled
design.tokens

Every token of the design, explained: roles with their light and dark values, statuses with their text, ground and border and the state words filed under them, the type scale, the layout values, the theme contract, the palette. Narrow it to one kind.

query majordomus_design_tokens GET /api/v1/design/tokens — behaviorally_verified required disabled
devcontext.compile

The objects a session working on this issue, milestone, intent or set of paths should be given: each with its canonical identifier, the index's own provenance, every discovery path that reached it with the reason and the confidence, its version, its tier and its cost in estimated tokens — followed by everything reached and not given with the reason for each, everything that collapsed into one entry, every pair that does not agree, and the per-tier spend against the budget. Deterministic for a given tree and request; the index fingerprint it was compiled from is in the answer.

query majordomus_devcontext GET /api/v1/devcontext majordomus devcontext compile behaviorally_verified required process
devcontext.explain

One canonical identifier judged under a request: whether it was selected, reached and excluded, folded into another identifier, held by the index and never reached, or unknown — with the entry, the exclusion or the collapse itself, and the budget the judgement was made under so that `excluded for budget` can be acted on without a second call.

query majordomus_devcontext_explain GET /api/v1/devcontext/explain majordomus devcontext explain behaviorally_verified required process
devcontext.policy

What the compiler decides and how: the tiers in the order the budget spends in with the kinds that land in each, every edge kind the composed graph declares with the relevance multiplier the compiler follows it by in each direction — or the reason it refuses to follow it at all — the selectors with which of them infer rather than read, and the defaults for the budget, the depth and the relevance floor. Read this rather than inferring the policy from an answer.

query majordomus_devcontext_policy GET /api/v1/devcontext/policy majordomus devcontext policy behaviorally_verified required disabled
devtask.issue

Identity, title, intent, status, milestone, acceptance criteria, dependencies, blockers, the commits its own evidence names and the commits git found, its branches, the sessions that worked on it, its readiness and everything wrong with its records — each field carrying whether a person authored it (`explicit`), a machine worked it out by a rule that cannot be wrong (`derived`), a machine worked it out by a rule that can (`inferred`, with the rule stated), or it is not available at all (`unknown`, with the reason). A key the record does not carry is `unknown`, never an empty string: `objective: ""` and a record with no objective are the same string and different facts. An id the model does not declare is answered, not refused. `git: false` answers from the records alone, which is what a comparison across machines wants.

query majordomus_devtask GET /api/v1/devtask/issue majordomus devtask issue behaviorally_verified required disabled
devtask.milestone

Every issue of the milestone as a node with its readiness, its wave and what waits on it; every dependency edge with at least one end inside, the crossing ones marked; the issues partitioned into ready, blocked, waiting, active, review, completion-blocked, complete and cancelled; the critical blockers ordered by how much unfinished work each holds back; the startable work partitioned into subsets that may genuinely run at the same time — same wave, each parallel-safe, no two sharing a scope path — with each serialisation naming the path that caused it; every dependency cycle as its strongly connected component; and every finding about the milestone or its issues. A pure function of the canonical records: no git, no clock, no network, every list in canonical order, so two runs on two machines produce the same bytes. A work surface reading this derives nothing itself.

query majordomus_devtask_milestone GET /api/v1/devtask/milestone majordomus devtask milestone behaviorally_verified required disabled
directories.list

Every directory of the layer the index knows, with the contract it declares, whether it owes one and which contract decided, and — for a named path, or when asked for everywhere — the effective chain composed from the root down, least specific first.

query majordomus_directories GET /api/v1/directories — behaviorally_verified required process
distribution.artifact

The archive name a target and a tag derive, the directory it unpacks into, and where a release publishes it. The one naming function answers; the release pipeline asks it rather than composing a name in a workflow file.

query majordomus_artifact GET /api/v1/distribution/artifact majordomus distribution artifact behaviorally_verified required disabled
distribution.build

What this executable is: the version of the crate it was built from, the Rust target triple, the profile, and the commit — all compiled in at build time, so an installed binary answers without a repository, a toolchain or git.

query majordomus_build GET /api/v1/distribution/build majordomus distribution build behaviorally_verified required disabled
distribution.model

The one-line install command, where an installation goes, and every declared target with the artifact name it derives. This is what the installation page, the landing page's install block and the cockpit's install card render; none of them holds a platform list of its own.

query majordomus_distribution GET /api/v1/distribution majordomus distribution show behaviorally_verified required disabled
distribution.releases

Every release this repository recorded, newest first, and the one an unpinned installation resolves to: the highest version among the stable, unwithdrawn records. The pointer is derived here and never authored anywhere.

query majordomus_releases GET /api/v1/distribution/releases majordomus distribution releases behaviorally_verified required generation
distribution.status

Whether a machine that has never seen this project can install it right now with the advertised one-line command, and when it cannot, which link in the chain is missing and what changes it. Derived from the distribution model and the release records alone: it reaches no network, so it is as fast as any other local query and answers offline. The served bytes are proved by the release pipeline's smoke phase, not guessed at here.

query majordomus_install_status GET /api/v1/distribution/status majordomus distribution status behaviorally_verified required disabled
economics.check

Scan the repository's hand-written prose and claim sentences for a quantity (a percentage, 'N times fewer') stated next to the economics vocabulary, and check every claim the methodology binds to a metric: a bound claim may be guaranteed only while its metric's evidence meets the binding and is current. `ok: false` names every finding.

query majordomus_economics_check GET /api/v1/economics/check majordomus economics check behaviorally_verified required disabled
economics.explain

One metric and everything it rests on: its formula, its measurement class and what that class means, the pairs and runs behind it (including the invalid ones), excluded runs, the suites and revisions, and the commands that reproduce it. A repository that declares no methodology has no metric, and any id is answered with `present: false` and the statement why, not refused.

query majordomus_economics_explain GET /api/v1/economics/explain majordomus economics explain behaviorally_verified required process
economics.runs

The raw facts every economics metric is computed from: each recorded run with its task, variant, repetition, model, revision, success-gate verdicts and the totals derived from its provider usage, and the path of its record.

query majordomus_economics_runs GET /api/v1/economics/runs majordomus economics runs behaviorally_verified required process
economics.summary

Every metric of the economics benchmark with its value, measurement class, sample size, distribution and bootstrap interval; every pair of runs with its status (valid, control failed, treatment failed, incomparable, ...); results by segment; the state of each suite's evidence (current, stale, incompatible); and the one statement the publication rule allows. Context reduction and total-token reduction are separate metrics and are never merged.

query majordomus_economics GET /api/v1/economics majordomus economics summary behaviorally_verified required process
economics.tasks

One record per task, folded from the ledger of every checkout `git worktree list` reports and the archives a ledger rotation left: its issue and intent, checkout and branch, first start, last finish or refusal, wall seconds, refusal count, and the episodes that carried it with their spans. Interventions, CI reruns, spend and acceptance are present on every record as not_observed, each with the reason and the issue that will supply it. Lists every ledger read with its line and skipped-line counts and every checkout not read; an optional since/until window filters by each task's start.

query majordomus_economics_tasks GET /api/v1/economics/tasks majordomus economics tasks behaviorally_verified required disabled
editors.status

Every adapter (Zed, Antigravity) with each capability it supports, does not, or cannot be verified for, and the evidence; every projected file with the inputs it is derived from, its content address and its state here (current, stale, absent, or a conflict with a file this generator did not write); orphaned projections; and every finding with its remedy. Writes nothing: `majordomus generate editors` does.

query majordomus_editors GET /api/v1/editors — behaviorally_verified required disabled
entity.kinds

The kinds the layer holds, each with the route of its index and how many objects it carries, and every route collision there is. A collision is the only way an object of the index can fail to have an address of its own; the healthy answer is none.

query majordomus_kinds GET /api/v1/entity/kinds majordomus entity kinds implemented required disabled
entity.show

One object of the layer as an addressable node, by URI or by the address it is served at: identity and route, provenance, front matter and content, every reference it declares and every reference that resolves to it, the surfaces that answer for it, the state of the executable artefacts it names, and its public documentation page as the repository's site/data/publication.toml derives it (null when the repository declares none).

query majordomus_entity GET /api/v1/entity majordomus entity show implemented required disabled
environment.explain

The provenance of the snapshot: for each field, what decided it — a compile-time constant, a file, a command, or the cache — which resolver read it, and how far it can be trusted. Narrow it to one field, or to a prefix, by name.

query majordomus_environment_explain GET /api/v1/environment/explain — behaviorally_verified required disabled
environment.preflight

One verdict per claim about this checkout — git; the episode, its briefing, the task and the handover; the policy, the rule corpus and the ADRs; the shared server and the MCP, API and Cockpit surfaces it serves; the peer board; recorded test runs, rule enforcement, provider projections, generated documentation and the deployment — each `verified`, `active`, `fresh`, `stale`, `degraded`, `unavailable`, `failed`, `unknown` or `not_applicable`, with the evidence it rests on. A verdict that asserts something is in force cannot be produced without evidence. The same value the command line prints and the entry banner summarises.

query majordomus_preflight GET /api/v1/environment/preflight — behaviorally_verified required disabled
environment.status

One snapshot of this checkout: project identity, repository identity, version control, declared toolchains, what the layer holds counted per kind, the workflows the runner describes, the provider projections against the policy that renders them, and the local services with the address a running server published. Every value carries where it came from.

query majordomus_environment GET /api/v1/environment — behaviorally_verified required disabled
episodes.attach

Open an execution episode for the calling client, or resume the one it already had. 'external_id' is the client's own durable name for the sitting — its conversation or thread id — and must survive a reconnect: a client that comes back under the same identity is given its own episode again, under whatever peer id it now has, rather than a second one. This server's peer id will not do; it is handed out per connection. After this the client's own traffic keeps the episode alive, losing the connection detaches rather than closes it, and it is closed by majordomus_session_detach, by the server stopping, or by the reaper once the reattach grace has passed. The repository's episode is opened by the same command a provider hook runs, and what it reported is in the answer. Needs an MCP session: over plain HTTP there is no connection to bind to.

command majordomus_session_attach POST /api/v1/episodes/attach — behaviorally_verified required disabled
episodes.detach

Close an execution episode deliberately: the work is done, not merely interrupted, and the repository's record says so. Without 'external_id' it is whichever episode the calling connection holds, which needs an MCP session: over plain HTTP there is no connection, so the call is refused and the episode must be named. A client that simply goes away does not need this — its episode detaches and the reaper closes it as interrupted — and the difference between those two records is the one thing about an ended episode that changes what somebody does next.

command majordomus_session_detach POST /api/v1/episodes/detach — behaviorally_verified required disabled
episodes.list

Every execution episode this shared server holds, open and detached, with the connection holding each, when its client last spoke, how many connections have carried it, and what the repository's own episode command reported. In-memory: what survives the process is the repository's session record.

query majordomus_episodes GET /api/v1/episodes — behaviorally_verified required disabled
evidence.claim

One claim with its proof state, the execution behind it — outcome, duration, commit, tree state, digest, time and origin — the command that reproduces it, and the other claims the same test proves. A claim the matrix does not declare is a not-found rather than an empty answer, because a typo that read as 'this claim has no evidence' is the one answer this capability must never give.

query majordomus_evidence_claim GET /api/v1/evidence/claim majordomus evidence claim behaviorally_verified required checkout
evidence.record

Reads what the runs already wrote — the suite's TSV report, cargo test's output, a coverage summary — carries into each result what that run measured about its own checkout (the commit and the tree, from the measurement `evidence stamp` wrote), with the digest of the test's own source, the time and the origin, and merges it into the ledger. It records; it decides nothing: a case that failed is a case the runner said failed, and a test no report named is left exactly as it was, so recording one case never erases the evidence for the rest. It refuses a tree with no commit, a measurement of another commit or of another report, a local measurement that names no report, and a CI report without a measurement; a local report recorded without one carries the tree unknown, which never reads proven. Every recording returns a run record (its commit, the tree each report's run measured, its totals and what was absent, dropped or unknown, and a coverage summary bound to its commit), and --ledger local writes only the ignored local ledger. A crate binary that ran no test, or only a filtered subset, is recorded as a skip, and what no claim can name yet (the crate's own unit tests, its doctests) is listed as dropped.

command — — majordomus evidence record behaviorally_verified waived (destructive) disabled
evidence.report

The whole claims matrix joined to the ledger and judged at the presented revision: the working tree by default, or the checked-out commit as committed, read from the ledger that commit holds. Per claim: the proof state, the sentence explaining how that state was derived, why when the state alone does not say, the execution behind it, the files that changed since it, and the command that produces it again. A run on a commit the presented revision does not contain is stale, a test that declined to run is not run, and a run the working ledger holds that the presented commit's does not can only withhold proven. The tallies count the whole matrix even when the answer is filtered, and the findings name every claim that declares a guarantee the evidence does not support. Kept per checkout state, never longer: the ledger is a file that changes outside this process, and an edit of it, of a test or of any tracked file, a new untracked file, a commit or a new ref is a new answer.

query majordomus_evidence GET /api/v1/evidence majordomus evidence show behaviorally_verified required checkout
evidence.stamp

The one measurement a runner takes at the end of its run, for evidence record --provenance: the commit; the tree, ignoring the evidence ledger and the run's own untracked outputs, never a tracked change; the producer; its toolchain; the recorder's version; the report's digest; the host; the CI run. It writes nothing. It is offered only on the command line because it reads a path its caller names.

query — — majordomus evidence stamp behaviorally_verified waived (external_dependency) disabled
evidence.test

One test — by identity or by the path a claim names it with — with its latest execution, whether its source still hashes to what that execution recorded, the command that runs it again, and every claim that names it. This is the reverse of evidence.claim and reads the same derivation, so the two directions cannot disagree.

query majordomus_evidence_test GET /api/v1/evidence/test majordomus evidence proves behaviorally_verified required disabled
executions.cancel

Set the execution's cancellation flag and say so on its stream. Cancellation is cooperative: a task looks at its flag and stops, and a capability whose policy says it is not cancellable runs to completion — which the answer says rather than pretending otherwise.

command majordomus_execution_cancel POST /api/v1/executions/cancel majordomus executions cancel behaviorally_verified waived (transient_state) disabled
executions.demonstrate

Walk a given number of steps, reporting each one, logging a line and advancing progress, then finish — or fail at a step you name. It exists so that an operator, a probe and an end-to-end test can prove the whole path works without waiting for real work: it reads nothing, writes nothing, and its only effect is the events it produces. It looks at its cancellation flag between steps and while it waits, so cancelling it stops it.

query majordomus_demonstrate_execution GET /api/v1/executions/demonstrate — behaviorally_verified required disabled
executions.events

The retained events of one execution, oldest first, after a sequence number. This is what a browser reads after a reload and what a client reads after a reconnect: the page carries the cursor to open the live channel with, so nothing is missed between the history and the stream.

query majordomus_execution_events GET /api/v1/executions/events majordomus executions events behaviorally_verified waived (transient_state) disabled
executions.get

The whole of what is known about one execution: its state, its input as it was stored, its steps, its progress, its diagnostics, and its output or its error. Taken under one lock, so a snapshot that says it succeeded carries what it produced.

query majordomus_execution GET /api/v1/executions/get majordomus executions show behaviorally_verified waived (transient_state) disabled
executions.list

Every execution this process remembers, newest first, narrowed by state or by capability: the ones it ran and the ones `majordomus run` in another process of the checkout reported to it, each with who started it. The counts beside them — remembered, active, queued, live channels — are what a control plane shows without asking a second question.

query majordomus_executions GET /api/v1/executions majordomus executions list behaviorally_verified required disabled
executions.protocol

Where the WebSocket is, how a subscription and a reconnect are expressed, what the server writes, and the JSON Schema of every message — derived from the Rust types that implement it, so a client validating against this is validating against the implementation. OpenAPI cannot describe a socket; this is where that contract lives.

query majordomus_execution_protocol GET /api/v1/executions/protocol majordomus executions protocol behaviorally_verified required disabled
executions.report

What `majordomus run` posts while it runs a capability in its own process and a server already serves the checkout: the execution's description and its events after the last sequence this server took. The server holds it as an execution started by the command line, with the pid, in the same store, listing, Cockpit pages and live channel as its own; applies each event once and in order, answering where the next report starts; tells the reporter when somebody asked it to stop; and fails it with `unavailable` once the reporter has been silent for 30 s. Nothing runs here. Changes this process's memory only.

command — POST /api/v1/executions/report — behaviorally_verified waived (transient_state) disabled
executions.start

Run any executable capability of this registry as an execution: the input is checked against that capability's own input schema, the work is queued, and this answers at once with the execution's id and the links to follow it. Nothing waits for the handler. The capability runs through the same executor every other interface calls, so there is no second implementation of anything. On the command line (`majordomus run`) it runs in that process and is reported to the server serving the checkout, when one is, through executions.report; a run never starts a server.

command majordomus_execution_start POST /api/v1/executions/start majordomus run behaviorally_verified required disabled
gates.completion

The active task's own change set — from the commit it started at to the working tree, uncommitted files included — put through the CI model: which gates it selects and why, what each one last reported and over which files, which verdicts have gone stale because the tree moved underneath them, which required gates have never reported at all, and which obligations the change implies whether or not the task declared them. `finishable` is false only when a required gate is known to be failing, stale or blocked by one that is; absence of a verdict is reported as unverified rather than silently accepted. The done invariant is the questions of share/completion.yaml, in its order, each answered from the source it names; `stage` is the stage of the work those answers fold to, and `complete` is true only when every question passes or is exempt — finishable and complete are two different words.

query majordomus_completion GET /api/v1/gates/completion — behaviorally_verified required disabled
gates.model

Every validation gate this repository declares — the job that runs it, the command it runs, what it proves, whether every plan selects it and whether its runner can be had on demand at all — with the path classes that decide which change selects which gate, and, derived from those classes, the pathspecs each gate's evidence is taken over.

query majordomus_gates GET /api/v1/gates — behaviorally_verified required process
gates.policy

The one definition of done: the stages of the work in order, every question a task must answer before it may be called finished, the stage each question belongs to and the source its answer is taken from — an obligation of share/obligations.yaml, a gate of the CI model, the change set, the repository's convergence or the closing readings. Read from share/completion.yaml, the file `gates.completion` takes its questions from. A token the policy names and the vocabulary lacks is reported as a problem, and a gate question this repository's CI model never answers is listed by name.

query majordomus_completion_policy GET /api/v1/gates/policy — behaviorally_verified required process
gates.state

Every gate the CI model declares with the standing of its last recorded run in this checkout, whichever task recorded it: `pass` or `fail` over the files as they stand now, `stale` when those files have changed since the run, `queued` when no run has ever reported — listed again under `never_reported`, because a missing verdict is the case an absent reader renders green — and `unknown` when a run exists and cannot be checked against this tree. Each run carries the commit it was taken at and whether that is the commit checked out now. Read offline from this checkout's own record; what it did not consult, the forge's CI runs, is named under `unreached` rather than left out.

query majordomus_gate_state GET /api/v1/gates/state — behaviorally_verified required disabled
graph.get

One graph by id: its nodes and edges with the vocabularies that say what each kind means, the file every node was derived from, and whether the result is acyclic. Deterministic for a given tree and executable.

query majordomus_graph GET /api/v1/graph — behaviorally_verified required process
graph.list

Every graph this executable derives: its id, what it shows, and what it is derived from.

query majordomus_graphs GET /api/v1/graphs — behaviorally_verified required disabled
guard.edit

Whether the given session may write the given path now: allowed when the policy's session.edits_require_claim is off, the path is outside the checkout or its local state, the repository declares no enabled mesh, the active task's scope covers it, or a live mesh claim of the session covers it; refused as unclaimed otherwise, with the remedy. What cannot be read — the policy, the mesh — is let through and named, never refused.

query majordomus_guard_edit GET /api/v1/guard/edit — experimental required disabled
health.live

Is this process alive: the cheapest true statement this executable can make about itself, with the version that answered. No filesystem traversal, no index build, no network — this is what a hosting platform polls, and it must cost nothing to say.

query — GET /api/v1/live — behaviorally_verified required disabled
health.ready

Can this process serve traffic: the registry and the index it built at start-up, already resident, and how the layer read. Only local initialisation — never an external provider, a database or another service, because a readiness check that probes a dependency fails a deployment for something that is not this process.

query — GET /api/v1/ready — behaviorally_verified required disabled
health.report

Every dimension of what this process serves — the layer as it was read, the registry, the scope, version control, benchmark coverage, the committed registry manifest, the shared server of this checkout and the attached peers — each decided by the engine that owns it, with the command that reproduces the verdict.

query majordomus_health GET /api/v1/health — behaviorally_verified required process
integration.cleanup

The cleanup plan, decided offline from the recorded observation: every open pull request cleanup would close — redundant (its work is on master already) or superseded (by a declared successor that landed) — and every one it leaves for a person — possibly redundant (weak evidence) or obsolete (a person marked it, owner decision D3) — each with its disposition and the reasons that decided it, in rank order; beside it, the branches merged pull requests left on origin as `majordomus prs cleanup` last read them, with when and how long ago. A read: it closes, deletes and asks the forge for nothing — `majordomus prs cleanup` reads the forge and `--apply` closes. `observed: false` with the reason when this checkout has recorded no observation.

query majordomus_pull_requests_cleanup GET /api/v1/pull-requests/cleanup — experimental required disabled
integration.events

Every action the repository's executors recorded, from any of its worktrees, oldest first: the lease taken and given back, observations, selections, stale decisions, each act's attempt before it and its outcome after — merges with the master before and after, refusals, refreshes, verification failures and closures — each with a typed action, its actor, the pull request, the head, the decision's reasons and, on an act, the evidence it was decided on. The trail is one file under the common git directory, so every worktree reads the same one.

query majordomus_integration_events GET /api/v1/pull-requests/events majordomus prs events experimental required disabled
integration.explain

One pull request's assessment — disposition, lane, reasons, every gate of the policy with whether it passed, next action, the master and head it was decided against and when the forge was observed, required checks, review, relation to master, dependencies, overlaps, risk with its factors, and every piece of evidence — with its rank in the queue. `found: false` with the reason when it is not open or nothing is observed.

query majordomus_pull_request_explain GET /api/v1/pull-requests/explain majordomus prs explain experimental required disabled
integration.prove_dry_run

Runs the executor's non-mutating cycle — refresh, plan, drain --dry-run and cleanup without --apply — between two snapshots of everything it could move if it were wrong: every ref origin serves, every open pull request's number, head, state and labels, the integration audit trail, the executor's lease, and every local ref outside the two namespaces the refresh mirrors. `ok` is true exactly when the snapshots are equal and refs/remotes/origin/<base> and every refs/majordomus/prs/<n> equal what origin serves. A read that reaches the network: the refresh asks the forge through the GitHub CLI and fetches the base and the pull-request heads, and like every read it rewrites the observation, relation and summary caches. It merges, closes and pushes nothing, and takes no input that could make it.

query majordomus_pull_requests_prove_dry_run GET /api/v1/pull-requests/prove-dry-run majordomus prs prove-dry-run experimental waived (external_dependency) disabled
integration.queue

The ranked queue: the repository, the base and the master commit every assessment was decided against, when the forge was observed, the policy in force (the branch protection's required checks and reviews, the label policy, the merge method: a merge commit, or none when the repository allows none), every open pull request's assessment in rank order — an actionable one with how long it has waited for the executor and how often another was chosen instead — the next merge, the pull requests that need master brought in, the starving ones, the tallies by disposition and lane, and the diagnostics, a stale observation first; beside it, who holds the base branch's integration lease and the last merge the executor recorded. `observed: false` with the reason when this checkout has recorded no observation.

query majordomus_pull_requests GET /api/v1/pull-requests majordomus prs status experimental required disabled
integration.timings

How long CI takes on the open pull requests, measured from the recorded forge observation: for every check, how many of its runs started and completed, how many passed and failed, and its median, 90th percentile (nearest rank) and longest duration in seconds, the slowest median first; for every open head with a measured check, the wall time from its first check's start to its last check's completion and the check that took longest, the longest wait first; and how many runs could not be measured (still running, queued, or recorded before starts were read), which are counted and never measured as zero. A read: it asks the forge for nothing; `majordomus prs refresh` records the observation. `observed: false` with the reason when this checkout has recorded none.

query majordomus_ci_timings GET /api/v1/pull-requests/timings — experimental required disabled
integration.trains

Every train of open pull requests — a group joined by confirmed dependencies: a base branch that is another open pull request's head, or a `Stacked on #N` / `Depends on #N` line in the body — in landing order. Per link: number, title, author, head and base branch, head commit, the forge's page and checks, disposition, lane, reasons, next action, required-check state and every check on the head, relation to master with how far behind it is and whether it carries master, the prepared head under refs/prep/<n> with whether it is the head the forge serves (pushed) or not yet (pending), its position and depth, whether its turn has come, what it stands on and what it carries, its queue rank and whether a cycle catches it. Per train: roots, tops, the next link the order allows, the edges (STACKED_ON or DEPENDS_ON, satisfied when the link below landed), and the pull requests beneath it that are no longer open. Beside them the prepared heads no train holds, the tallies and the queue's diagnostics. Read from the recorded observation, the queue `majordomus prs status` prints and the local refs: it fetches, pushes and moves nothing. `observed: false` with the reason when this checkout has recorded no observation.

query majordomus_pull_request_trains GET /api/v1/pull-requests/trains majordomus prs trains experimental required disabled
intent_realization.explain

One intent explained from the derivations alone: a sentence for its stage naming each milestone's derived status, a sentence per criterion naming its evidence state, the plan's coverage of it and the command that reproduces it, a sentence for the work and providers realising it, and each drift finding; beside them the derived intent, the coverage of its criteria, its realization and the work linked to it.

query majordomus_intent_explain GET /api/v1/intents/explain majordomus intent explain behaviorally_verified required disabled
intent_realization.work

Every unit of work this checkout can see — ledger tasks with their episodes, providers and handovers, closed session records, peer claims — with every intent it realises through issue, milestone and criterion, each link's provenance (declared: the work cites the issue; observed: its episode moved the issue; derived: its branch names the issue; inferred: only an open issue's scope overlaps) or the first missing link; every intent with its unmet criteria and the issues serving each, the work and providers realising it, and its drift: closed_work_contradicted when every milestone is DONE and a criterion's evidence is stale or failing, closed_work_unproven when it never existed, criterion_closed_unmet when every serving issue is DONE and the criterion is not met; and where the stage and the verdict disagree (ADR 0107), evidence_ahead_of_plan when the verdict is satisfied while the stage is planned or executing, closed_work_not_satisfied when every milestone is DONE and the verdict is unsatisfied or unknown. Live work serving no intent is a warning.

query majordomus_intent_realization GET /api/v1/intents/realization majordomus intent realization behaviorally_verified required disabled
intents.binding

What a task asks before it starts (ADR 0111): given the issue the work executes, the intent it serves, the paths it will touch, or an exemption class with its reason, one standing — `bound` when the work serves a criterion of a live intent through links the preflight accepts, `maintenance` when its issues sit under milestones no live intent names, `exempt` when the class is one the policy declares under `intent.exemptions` and a reason was given, `refused` otherwise, each refusal with a cause: the preflight's own seven, and nothing_named, unknown_intent, intent_retired, intent_has_no_open_work, issue_outside_intent, ambiguous_intent (paths alone reached more than one intent), unknown_exemption, exemption_without_reason, exemption_names_work. The answer carries what was named, the issues and intents resolved with what each intent asks of the worker, a note when the paths lie outside the named issue's scope, and two pins a later reader compares: `plan_revision`, which moves when the intent, a link or the critique is edited, and `evidence_standing`, which moves when a served criterion's evidence changes state. Nothing is stored.

query majordomus_intent_binding GET /api/v1/intents/binding majordomus intent binding behaviorally_verified required disabled
intents.coverage

The plan read against the intents (ADR 0073): every criterion of every live intent with the live issues that serve it, the milestones they belong to, and its strength — covered, weakly covered when no serving issue requires evidence, observed when the recorded gap saw it already true, or uncovered when nothing in the plan will make it true — and every issue with the reason it exists: the criteria it serves, maintenance under a milestone no intent names, or unexplained under one that realises an intent.

query majordomus_intent_coverage GET /api/v1/intents/coverage majordomus intent coverage behaviorally_verified required disabled
intents.list

Every intent the project model declares, each with the status the plan derives for its milestones, the state of the evidence behind each satisfaction criterion, the stage those two derive — declared, planned, executing, verifying or satisfied, or cancelled or superseded when the record says so — and the verdict the criteria alone derive (ADR 0107): satisfied when every criterion is met, unsatisfied when a test or claim criterion is not, unknown when only command or deployment criteria are unmet or none is declared, with the criteria holding it back.

query majordomus_intents GET /api/v1/intents majordomus intent list behaviorally_verified required checkout
intents.preflight

Given the issue a piece of work executes, or the paths it will touch, one verdict: `serves` when no issue is refused and at least one serves a criterion of a live intent through a link that holds, the plan of each such intent critiqued with no blocking finding open (issues judged maintenance beside it do not change the verdict); `maintenance` when the issues sit under milestones no live intent names and serve nothing, as `intent validate` allows; `refused` otherwise, each refusal with its issue, a cause — unknown_issue, no_issue_covers_paths, issue_serves_nothing, serves_another_intent, serves_unknown_criterion, intent_not_critiqued, open_blocking_finding — in path mode every issue judged and the worst verdict answered. The answer carries, for the intents reached and no others, the statement, the served criteria with the live state of their evidence, the invariants, non-goals and governance, the critique with its open blocking findings, and the recorded gap bounded to those criteria.

query majordomus_intent_preflight GET /api/v1/intents/preflight majordomus intent preflight behaviorally_verified required disabled
intents.propose

Write a new intent record under `.ai/repo/project/intents/` from a statement of what must become true, with an optional title (the statement's first line when absent) and id (the title's slug when absent). The record names no milestone, criterion or invariant: its stage derives as `declared`, `intent validate` reports the two absences as warnings rather than failures, and no work can serve it until it is planned (ADR 0144). Nothing about its standing is stored. An existing record is refused, never overwritten, and the file appears whole or not at all. The answer names the identity and the file; `intents.record` answers the derived stage once the index holds it.

command majordomus_intent_propose POST /api/v1/intents/propose majordomus intent propose experimental waived (destructive) disabled
intents.record

One intent in full: its statement and invariants as authored, each milestone with the status the plan derives, each satisfaction criterion with the state of its evidence and the command that reproduces it, the stage, and the verdict the criteria alone derive with the criteria holding it back. The record's own file stays at `majordomus://intent/<id>`.

query majordomus_intent_record GET /api/v1/intents/record majordomus intent show behaviorally_verified required disabled
intents.validate

Every finding over the intents: an intent naming no milestone or no criterion, a milestone that does not resolve, a criterion with no evidence reference or one that names nothing this repository holds, governance that does not resolve, a successor that is not an intent, a file name that disagrees with its id — each a failure — and a milestone no intent serves, a warning.

query majordomus_intent_validate GET /api/v1/intents/validate majordomus intent validate behaviorally_verified required disabled
knowledge_base.candidates

Every knowledge record with status candidate under the candidates source class: its class, its assertion, the episode it came from and that episode's branch, and how long it has waited — measured from the derivation that wrote it, then the commit that added it, then its own date — judged against session.freshness; against the policy's cap. A candidate whose episode this checkout does not know is reported with no branch rather than hidden. Ordered by id.

query majordomus_knowledge_candidates GET /api/v1/knowledge/candidates majordomus knowledge candidates behaviorally_verified required disabled
knowledge_base.record

One knowledge record by id — candidate or curated — with every reference it names resolved: a session against the tracked session records and the ledger, a task or decision against the ledger and the task store, a commit against git, a file or test against the index and the tree, a rule, an ADR, an issue or another record against the index. Which references dangle is the question a reviewer asks before promoting, and the one the integrity validator asks of every record. A `task:none` or `decision:none` reference is refused by name.

query majordomus_knowledge_record GET /api/v1/knowledge/record majordomus knowledge record behaviorally_verified required disabled
knowledge_base.status

The freshness half of the stopped-writer judgement (ADR 0052, applied to the knowledge deriver by ADR 0091): the newest knowledge.derived line, the newest session.closed line, how many closed episodes no derivation names, the candidate counts, and — once a derivation has run in this checkout and the switch is on — whether the newest closed episode went underived past session.freshness.stale_minutes. Episode ids are compared, never line order. Whether the close path still calls the deriver is read from the source by the shell validator, not here.

query majordomus_knowledge_status GET /api/v1/knowledge/status majordomus knowledge status behaviorally_verified required process
layout.check

Every path a declared layout excludes, named with the contract it violates: a tracked file under the tracked half that git's ignore rules match (state that does not travel, under a contract that excludes cache or runtime), and a file under the local half that is a byte copy of a tracked canonical file or declares the schema of a kind share/kinds.yaml calls canonical (under the manifest's `local.excludes: [canonical]`). Only what a contract declares is judged. Reads git and the local half's files; no build and no network.

query majordomus_layout_check GET /api/v1/layout/check majordomus layout check behaviorally_verified required disabled
lifecycle.closed

The tracked, durable projection of closed episodes: how many there are, how many closed on this branch, and the newest twenty. This is the only half of the subsystem that survives a clone; everything under .ai/local/ names this machine and travels nowhere.

query majordomus_lifecycle_closed GET /api/v1/lifecycle/closed — behaviorally_verified required process
lifecycle.episodes

Every open episode in this checkout's store, with the provider session that owns it, the worktree and branch it opened on, where it stands, and what the ledger last saw it do. `continuity.state` reports the one episode the pointer resolves to, which is right for a briefing and blind to every other window open on the same worktree.

query majordomus_lifecycle_episodes GET /api/v1/lifecycle/episodes — behaviorally_verified required process
lifecycle.providers

Per provider: the lifecycle events its adapter declares in the provider's own vocabulary, whether it can archive prompts, the official seams through which it reports what a session consumed (usage, with the citation), and which of this repository's enforcement entries name its hook. Declared in share/providers.yaml and in the policy; never inferred from whether a shim happens to be on disk.

query majordomus_lifecycle_providers GET /api/v1/lifecycle/providers — behaviorally_verified required process
lifecycle.recovery

Open records that can no longer close themselves, temporary files a killed close left in the tracked sessions section, whether the pointer has been migrated to the per-provider layout, and the arithmetic that says whether every episode the ledger has seen start is accounted for. Every finding carries the command that clears it.

query majordomus_lifecycle_recovery GET /api/v1/lifecycle/recovery — behaviorally_verified required process
lifecycle.runtime

The commit the served index was built at, against the commit the repository is on, read on this call. A server that froze its index at start-up answers every question about a commit from hours ago with nothing in the answer saying so; this is the reading that can tell.

query majordomus_lifecycle_runtime GET /api/v1/lifecycle/runtime — behaviorally_verified required process
mcp.projection

Who answers `initialize` and with which protocol versions; the transports and the sessions attached over each; the methods served, and that prompts and notifications are not; every tool (or only those with one effect) with its capability, effect and the hints its annotations are derived from; the tools that write the repository; the resources; and whether each client the distribution declares has a configuration here that starts this repository's server. Reads the registry and one file per declared client; writes nothing.

query majordomus_mcp GET /api/v1/mcp — experimental required disabled
mesh.build_cache.ensure

For one lockfile the repository tracks (npm node_modules, mix deps, or the cargo build directory), skip an install whose key is already in place; otherwise restore it from this machine's local archive level (~/.cache/majordomus/build-cache) and then from the store this node declares when its own probe finds it healthy and a credential file is present, each only after the archive's SHA-256 matches the digest recorded when it was saved and every entry is judged safe (no absolute name, no `..`, no link leaving the target). On a miss the command runs, and when it succeeds what it left is archived to the local level and the store. A failure of any level is a miss: the command runs exactly as without the cache. npm's command is not run on a hit; mix's is; a cargo build directory is restored only when cold, under cargo's own lock, without incremental state, and never saved above one PUT. A restore and a save respect the build's free-space floor (MAJORDOMUS_MIN_FREE_MB); the local level is held under the policy's build_cache.local_max_gib, oldest first. MAJORDOMUS_BUILD_CACHE=off bypasses every level. Offered on the command line only: it runs a command (ADR 0157, I3952).

command — — majordomus mesh build-cache ensure experimental waived (destructive) disabled
mesh.build_cache.env

What the process that starts the sccache server should have in its environment on this machine, derived and never typed: the local disk as the first level and the selected store as the second (SCCACHE_MULTILEVEL_CHAIN=disk,s3, the bucket, the endpoint, the region, whether TLS is used, a key prefix of rustc's host triple, the credential FILE path and its profile) only when sccache has the multi-level chain (measured on a throwaway server, not assumed), a credential file of mode 0600 holding the profile exists, and the store answered its readiness route now; otherwise no variable at all, with the one condition that did not hold. sccache fixes its chain at server start and fails the compile when a level is down then, so a store is added only to a server that is starting. No key is ever in the answer, only the credential file's path (ADR 0157, I2673).

query majordomus_mesh_build_cache_env GET /api/v1/mesh/build-cache/env majordomus mesh build-cache env experimental waived (external_dependency) disabled
mesh.build_cache.key

Every lockfile the repository tracks — Cargo.lock, mix.lock, package-lock.json — as the thing it makes cacheable (a cargo build directory, mix dependencies, npm node_modules), each with its key: a schema version, the platform (the toolchain's own host triple, or `any` for platform-independent source), the toolchain as its executables state it, and the digest of every input and environment variable that changes what the install leaves. Where the entry is restored to is a separate field, so two checkouts with one lockfile share one entry. A kind whose toolchain is absent says why and has no key (ADR 0157, I3950).

query majordomus_mesh_build_cache_key GET /api/v1/mesh/build-cache/key majordomus mesh build-cache key experimental waived (external_dependency) disabled
mesh.build_cache.provision

The host layer of a cache provider as one declared policy: a disk guard on a timer, services that restart always and are last for the OOM killer, a bounded journal and container log, a private bucket with expiry and a hard quota beside the CI cache's own bound, one least-privilege identity per node whose credential is generated on the host into a mode 0600 file outside any repository, and the rustc wrapper that makes the node's own builds use the cache. Without `apply` it plans only: every file, edit and command still owed, from what the host holds, with no secret named. With `apply` it writes what is missing or drifted and runs the commands, as root, refusing without it before touching anything; a second apply changes nothing. A `root` other than `/` is a staging directory: files only, no privilege, no command. Offered on the command line only: it installs services and writes credentials, which nothing reachable over HTTP or MCP may do.

command — — majordomus mesh build-cache provision experimental waived (destructive) disabled
mesh.claim

Claim repository paths for a session. An exclusive claim that meets a live exclusive claim of another session — on this runtime or any runtime this one has heard — is refused as `claim_conflict` with the claims it meets; an advisory claim is recorded and its overlaps reported. A claim lives while its session is open and its runtime beats: a crashed holder's claim expires everywhere on its own. Writes this runtime's journal only.

command majordomus_mesh_claim POST /api/v1/mesh/claims — experimental waived (transient_state) disabled
mesh.cooperation

Whether this runtime cooperates and why not when it does not: its runtime and stream, the repository identity links are matched on, the link protocol and features, the heartbeat and expiry, every linked peer with its link state, last exchange, round trip and failures, every refused candidate with the rule that refused it, and the counters of handshakes, syncs, reconnects, expiries, replicated and refused events.

query majordomus_mesh_cooperation GET /api/v1/mesh/cooperation — experimental required disabled
mesh.doctor

Every prerequisite proved on this machine alone — the declaration parses, the identity loads and, under an allowlist, is on it, the repository has a mesh identity, a UDP socket binds, the multicast group joins, broadcast enables, and the discovery and link protocols sign and verify end to end in memory — and then the server's own verdict: in a shared server, whether an enabled declaration actually activated the mesh and, when it did not, the server's reason, which fails the report. Each failed check names its impact and its remedy. Deterministic, no second node required.

query majordomus_mesh_doctor GET /api/v1/mesh/doctor majordomus mesh doctor experimental required disabled
mesh.enrol

Add this machine's public key to trust.allow of the repository's mesh declaration, under a comment naming the machine, creating the node identity first when there is none. Idempotent: a listed key changes nothing. The comments and every other line of the declaration stay as they were, and an edit that would not parse back as a declaration is refused before anything is written. Under deny_unknown a machine opens its mesh only once its key is listed, so this is the one step that joins a machine; commit the file and restart the server.

command majordomus_mesh_enrol POST /api/v1/mesh/enrol majordomus mesh enrol experimental waived (destructive) disabled
mesh.events

The journal's events a page at a time, in Lamport order: each with its stream, sequence, stamp, repository, signing key, kind and body. The answer's cursor is the next page's `cursor`, and a walk resumed from each one returns every event exactly once, a partitioned runtime's late event included; `after` still walks by Lamport stamp.

query majordomus_mesh_events GET /api/v1/mesh/events — experimental required disabled
mesh.firewall

What inbound traffic the declaration implies this machine must admit — the multicast group's port, the broadcast port when it is a permitted fallback, every declared hub port whose address is this machine's, and the server's own port when it listens beyond loopback — from the private networks the declaration names; which firewall front this host runs (ufw, nftables, the macOS application firewall); the commands that admit the plan there; what the firewall itself says about the plan now (present, missing, inactive, or unobservable without root); and what the kernel logged it dropping toward those ports in the last five minutes. Fails when a rule is observed missing or a drop was logged. Reads the host; changes nothing.

query majordomus_mesh_firewall GET /api/v1/mesh/firewall majordomus mesh firewall experimental waived (external_dependency) disabled
mesh.firewall.apply

Run the commands mesh.firewall renders, on this host, as root: one allow per rule and source network on ufw or nftables, the executable admitted on the macOS application firewall; nothing else is touched, and every rule written carries the comment `majordomus mesh` so it can be told from an operator's own. Refuses, running nothing, without root or without a backend; records every command with its exit and output; and asks the firewall again afterwards, so the verdict is the firewall's. Offered on the command line only: it runs a privileged host tool, which nothing reachable over HTTP or MCP may do.

command — — majordomus mesh firewall apply experimental waived (destructive) disabled
mesh.handover.consume

Take a handover another runtime published: record the consumption on the mesh, and write it into this checkout's handovers directory as a record `majordomus handover --resolve` finds on the same branch — once, however often it is consumed.

command majordomus_mesh_handover_consume POST /api/v1/mesh/handovers/consume — experimental waived (transient_state) disabled
mesh.handover.publish

Publish a handover record of this checkout — the newest, or the one named under .ai/local/state/handovers/ — to every linked runtime: its task, branch, head and time from its front matter, the issue and milestone given, and its Markdown body, bounded and identified by the body's digest. No path of this machine travels, and no file outside the handovers directory is ever read.

command majordomus_mesh_handover_publish POST /api/v1/mesh/handovers — experimental waived (transient_state) disabled
mesh.identity

The node identity kept under the user's state directory, public half only: node id, public key, display name. The signing key appears in no projection. Absent is an answer, not an error — the identity is created when a mesh first activates.

query majordomus_mesh_identity GET /api/v1/mesh/identity majordomus mesh identity experimental required disabled
mesh.link.hello

The link handshake another runtime posts: a signed hello carrying its runtime card, a fresh nonce and its protocol range. Refused, typed, when malformed, oversized, mis-signed, stale, replayed, of an unsupported protocol, of another repository, untrusted, or this runtime itself; otherwise answered with a signed welcome: this runtime's card, a link id, its marks and the echoed nonce. Changes this process's link table only.

command — POST /api/v1/mesh/link/hello — experimental required disabled
mesh.link.sync

The replication round a linked runtime posts every heartbeat, signed under its link id with a rising counter: its marks and the events this runtime lacks. Ingested — verified end to end, deduplicated, applied in stream order — and answered, signed, with this runtime's marks and the events the peer lacks. An unknown link or a restarted peer is told to say hello again.

command — POST /api/v1/mesh/link/sync — experimental required disabled
mesh.nodes

Every runtime this process has observed, one record per node and runtime slot, deduplicated across every discovery source, in node-id order: identity, trust, presence, endpoints, capabilities, repositories, provenance and versions. In memory, gone with the process.

query majordomus_mesh_nodes GET /api/v1/mesh/nodes — experimental required disabled
mesh.peer

One runtime by its key (`<node>-<runtime>`, or a node id for its first runtime): the machine it runs on, its liveness, its link from here, its sessions and claims, and any refusal recorded against it. Not found is an answer with the reason.

query majordomus_mesh_peer GET /api/v1/mesh/peer — experimental required disabled
mesh.peers

Machine → runtime → session → claim: every runtime this one is linked to or has heard through the journal, grouped by machine, local first; each runtime with its liveness, the milliseconds since its beat rose, its link and its newest live claim. The default `summary` view lists only the active sessions, each with its live claims counted and its intent cut; `view=full` lists every session with every claim. `session` and `runtime` narrow either. Remote and local runtimes share one shape, and the whole fold's digest closes the answer: equal digests, equal state.

query majordomus_mesh_peers GET /api/v1/mesh/peers — experimental required disabled
mesh.register

Present one signed envelope; it is verified exactly as a datagram — bounds, staleness, signature, trust policy — and recorded as a rendezvous observation when it holds. The answer carries this node's own envelope and the candidates its registry holds, each verifiable end to end on its own signature. Registration grants nothing: the caller becomes a record, never an authorization. Changes this process's memory only.

command majordomus_mesh_register POST /api/v1/mesh/register — experimental required disabled
mesh.release

Release a claim this runtime's current run holds, by its key. A claim written elsewhere is refused as `not_own`: only its holder releases it, and a dead holder's claim expires instead. Writes this runtime's journal only.

command majordomus_mesh_release POST /api/v1/mesh/claims/release — experimental waived (transient_state) disabled
mesh.review.answer

Answer a review request from any runtime with approved, changes_requested or commented, and a note. Replicated to every linked runtime. Writes this runtime's journal only.

command majordomus_mesh_review_answer POST /api/v1/mesh/reviews/answer — experimental waived (transient_state) disabled
mesh.review.request

Ask for a review of a branch, commit or pull request, optionally of one named runtime — which must be linked and carry the `reviews` feature, or the request is refused as `feature_unsupported`. Replicated to every linked runtime. Writes this runtime's journal only.

command majordomus_mesh_review_request POST /api/v1/mesh/reviews — experimental waived (transient_state) disabled
mesh.review.withdraw

End a review request this runtime asked for — done, void or superseded — with an optional result note the request then carries. Any session of the asking runtime may (a reconnected asker is another session of it); no other runtime may, and it is never counted as an answer. An unanswered request also reads expired while its runtime has stopped beating. Replicated to every linked runtime. Writes this runtime's journal only.

command majordomus_mesh_review_withdraw POST /api/v1/mesh/reviews/withdraw — experimental waived (transient_state) disabled
mesh.session.close

End a session of this runtime; every claim it holds ends with it, on every linked runtime. Writes this runtime's journal only.

command majordomus_mesh_session_close POST /api/v1/mesh/sessions/close — experimental waived (transient_state) disabled
mesh.session.open

Say what a session of this runtime is: its client, worker, intent, task, issue, milestone, branch, head, dirtiness and context revision. Replicated to every linked runtime; a later word replaces an earlier one. Writes this runtime's journal only.

command majordomus_mesh_session_open POST /api/v1/mesh/sessions — experimental waived (transient_state) disabled
mesh.state

The journal folded. The default `summary` view is bounded whatever the history: sessions and claims counted by standing, each runtime with its liveness, its counts and its newest live claim, the open review requests and the handovers nobody has taken, and the digest two runtimes compare. `view=full` is every session, every claim with its standing (held, released, expired, conflicted with its winner), the advisory overlaps, every handover with who consumed it, every review request with its answers, and every stream's liveness on this runtime's clock. `claims=live`, `after` (a Lamport stamp), `session` and `runtime` narrow either view; the digest is always the whole fold's.

query majordomus_mesh_state GET /api/v1/mesh/state — experimental required disabled
mesh.status

Whether the mesh runs in this process and why not when it does not; this node's public identity; every discovery provider with its state and counters; the registry's tallies; and the refused datagrams by reason. The one status every surface shows.

query majordomus_mesh GET /api/v1/mesh — experimental required disabled
mesh.verify

Run a live verification: cooperation is active, the repository identity resolves, the endpoints are reachable beyond loopback, the heartbeat beats, the journal holds no stuck gap; then one sync round with every peer this runtime dials, timed, and whether both sides now hold the same high-water marks. Each failed check names its impact and remedy. Changes nothing but the journal's replication.

command majordomus_mesh_verify POST /api/v1/mesh/verify — experimental waived (external_dependency) disabled
models.list

Every declared vendor and model, optionally narrowed by vendor, capability word, or one id or alias. Vendors carry whether their named credential variable is set — presence only, never a value. The order is the declaration's, which is also routing's preference order; the catalogue's own findings (a duplicate alias, an undeclared vendor) ride along.

query majordomus_models GET /api/v1/models majordomus models list experimental required process
models.route

Decide which declared model a stated need selects: the first in declaration order satisfying every requirement, the qualifying rest as the fallback chain, and every excluded model with the first check it failed. Pure over the catalogue and the input — the same question gets the same answer, and 'why' is in the answer itself.

query majordomus_models_route GET /api/v1/models/route majordomus models route experimental required disabled
monitor.stream

A page of signals after a cursor, oldest first, or without one the newest of the last `since` seconds: each with its time, source, kind, severity, machine, session, actor, pull request, branch, issue, paths, a one-line summary and whether it is for the reader. Re-projections and undecided steps are counted as `suppressed`; a source that cannot be read is listed with its reason, never answered as empty. The page's `cursor` is the next page's `after`, and nothing on this page comes back. Reads only.

query majordomus_monitor GET /api/v1/monitor — experimental required disabled
objects.get

One object by URI (majordomus://<kind>/<identity>): metadata, provenance and content; a URI a query projects (majordomus://repository) answers that query as a JSON document. The same resolution serves the MCP resource read.

query majordomus_get GET /api/v1/object — behaviorally_verified required disabled
objects.list

List the declarative objects of the repository's AI layer, optionally by kind or tag.

query majordomus_list GET /api/v1/objects — behaviorally_verified required disabled
objects.search

Case-insensitive substring search over identities, titles, descriptions and content.

query majordomus_search GET /api/v1/search — behaviorally_verified required process
objects.verify

Read every file the layer was built from and compare it with what this process is serving. The index is built once at start-up and kept, which is what makes every other request cost nothing and what makes a file edited afterwards be served as it was; this is how a running server says whether that has happened, without being restarted to find out. A file that is one object is compared byte for byte; a collection file, whose objects the index keeps as members rather than as text, is compared by size, and every finding says which comparison was made. It reads every file of the layer, so it reports its progress file by file and stops when it is asked to.

query majordomus_verify_objects GET /api/v1/objects/verify — behaviorally_verified required disabled
obligations.closure

Every obligation the active task declared, joined with what the vocabulary says about it and with the evidence that does or does not discharge it: what is owed, what is discharged, and what has gone stale — with the recorded input hash and the tree's current one, or the recorded commit and its label, so a reader can see against what. The judgement is the one `finish` applies, reproduced rather than re-decided, and the staleness words are the repository's only four. A checkout with no task reports that, rather than reporting nothing owed.

query majordomus_obligation_closure GET /api/v1/obligations/closure — behaviorally_verified required process
obligations.vocabulary

The tokens a task may declare in `requires`: what each one asks of a worker, the command that discharges it, the pathspecs its evidence is hashed over, and whether its fact is remote and therefore bound to a commit rather than to a tree. Shipped data, identical in every clone, so this answers in a checkout that has never run the lifecycle.

query majordomus_obligations GET /api/v1/obligations — behaviorally_verified required process
observatory.capture

The mesh scenes of the Observatory as this process has them live, fit for publication: machines, runtimes, sessions and events by ordinal, an event by its kind, logical clock and time only. Writes nothing; committing the answer to .ai/repo/observatory/recording.json is what publishes it.

query majordomus_observatory_capture GET /api/v1/observatory/capture — behaviorally_verified required disabled
observatory.events

The events of the mesh journal above a cursor, as the Observatory's activity scene draws them: identity, kind, node, logical clock and time, newest first, at most a page. The answer's cursor is the next request's `after`; a cursor this journal never reached is expired, and the reader takes a fresh projection. Without a cursor, the newest page.

query majordomus_observatory_events GET /api/v1/observatory/events — behaviorally_verified required disabled
observatory.replay

The recording of the mesh scenes the repository carries at .ai/repo/observatory/recording.json, which the Observatory draws, labelled as a replay, where no mesh runs. Absent is present: false; a file that cannot be read is an error.

query majordomus_observatory_replay GET /api/v1/observatory/replay — behaviorally_verified required disabled
pack.plan

What a profile of share/archive.yaml would pack: the files carried and their bytes and o200k_base tokens, every file left out by reason (worktree, link, artifact, binary, derived, excluded; derived counted, the rest listed), the shards it is cut into within the profile's token budget and file count, and every finding that refuses the build — a file over the budget, too many shards, a machine path or credential in a selected file, an empty selection, a profile without limits. Reads git's index and blobs only; writes nothing.

query majordomus_pack_plan GET /api/v1/pack/plan majordomus pack plan behaviorally_verified required disabled
pack.verify

Read a pack directory inside the repository against its pack.json: every file it names is present with its digest and nothing else is, every carried file's content has the digest its marker records, no carried path is a binary, an artifact, a link or a gitlink under the profile the manifest names, no file is over the profile's token budget or holds a NUL byte or a leak, and there are no more files than the profile allows. An unreadable manifest is unmeasured, never a pass.

query majordomus_pack_verify GET /api/v1/pack/verify majordomus pack verify behaviorally_verified required disabled
peers.announce

Tell the other peers of this shared server what the calling session is doing and which paths it expects to touch. A peer may hold several claims at once: name one with 'claim' and it stands beside the others, announce under that name again and it is updated, leave it out and this is the peer's one unnamed claim. Name your claims when one session is doing several things at once — subagents share their parent's session, so an unnamed announcement from each of them would replace the last rather than adding to it. Changes this process's memory only; the repository is never written. Needs an MCP session: over plain HTTP there is no caller.

command majordomus_announce POST /api/v1/peers/announce — behaviorally_verified required disabled
peers.list

Every worker of this repository: id, the client's own name and version from its initialize, transport, when it attached, when it was last seen, what it announced, and which checkout it is attached to. A server serves one checkout, so the board of a repository worked on through linked worktrees is gathered: this checkout's board out of memory, every other checkout's from the server its lease names, asked for its own board alone. 'covered' says how many checkouts were covered, 'boards' lists each one with a server, a worker or a board that could not be read (the rest counted in 'omitted'; 'view: full' lists every one), and 'complete' whether every board could be read, so a short board is never mistaken for an empty repository. 'checkouts: this' reads one board and enumerates, probes and asks nothing else. In-memory on every server; gone with the processes.

query majordomus_peers GET /api/v1/peers — behaviorally_verified required disabled
perf.counters

The counters of this process: repository scans, index and registry builds, schema generations, projection builds, executions, handler invocations, cache hits, misses and evictions, and the phase timings, as they stand now.

query majordomus_perf GET /api/v1/perf — behaviorally_verified required disabled
plan.delivery

For every issue (or one), the furthest delivery stage proved — none, branch, pr_open, merged, released, deployed — each with the object that proved it and when it was observed: the branch that names the issue (by id, the I1405 rule, or by its slug), the open pull request in the recorded forge observation, the newest commit in the trunk's history that names it (a merge by its pull-request title or branch, any other commit by its subject, never by its body), the first release record (`.ai/repo/releases/v*.yaml`) whose commit contains that merge, and the published `latest.json` that names that release or a later one. Beside it, the issue's declared status, so a contradiction between the stamps and the work is one comparison away. Live by default: the trunk this clone knows, every branch, the forge observation `majordomus prs refresh` recorded, the release records, and the `latest.json` of the commit the last Pages deployment published. With `at`, the merges of that commit's history and the tree's release records and nothing live — every branch, forge and deployment source is reported unread — so only merged and released can be proved and the answer is a function of the commit alone. A source that was not read is reported unread with its reason, never as none: an issue it could have moved further is not settled and names it. Inferred on every call and stored nowhere; it never writes a stamp.

query majordomus_plan_delivery GET /api/v1/plan/delivery majordomus plan delivery experimental required disabled
plan.drift

Every contradiction between an issue's declared status and its delivery (plan.delivery), each with the objects that prove it: `merged_not_recorded` — READY, BLOCKED or ACTIVE, with a merge on the trunk naming it (pull request, merge commit, release) and no open pull request naming it; `active_without_work` — ACTIVE since before the window, with no branch, pull request, merge or live mesh claim naming it; `done_without_trace` — DONE with no merge naming it, advisory because record-only issues exist. Each finding carries its age, whether it is past the window `.ai/repo/ci/plan.yaml` declares (`drift.window`, seconds), the sources that were not read and could have dissolved it, and the command that settles it (`majordomus plan verify|done <id>`). With `gate`, judged as a gate: on a `head` every merged_not_recorded is pending; on the `trunk` one merged longer than the window ago is refused and a younger one pending; the other classes never refuse; a missing or unreadable window refuses (exit 12); refusals fail the gate (exit 10) only under `drift.enforcement: blocking`, and are reported with exit 0 under `advisory`. Observed live, or `at` a commit as plan.delivery is. Inferred on every call; it never writes a stamp.

query majordomus_plan_drift GET /api/v1/plan/drift majordomus plan drift experimental required disabled
plan.flight

The milestones with work in flight, the one the graph allows next, and the latest release as the releases themselves say it, read live on every call (ADR 0166, decision 4). Now is every open milestone holding an open issue with an open pull request that names it (`plan.delivery`'s `pr_open`), a live mesh claim made for it, or a declared ACTIVE status, each with those issues, why they are in flight, their declared status beside their inferred stage, and the objects that prove it (branch, pull request, merge commit, release tag, published `latest.json`, claim), linked on the forge where the forge has them. Next is the first open milestone in the plan's order that is not now and whose unfinished prerequisites are all now. The latest release is the highest stable version among the release records, the `v*` tags of this clone and the `latest.json` the last successful Pages deployment published, so a release whose record merged after its tag is not shown older than it is; `executable_tagged` says whether the answering executable's own version is tagged. `milestone` adds that milestone with every one of its issues. A source that was not read (the forge, the publication, the mesh outside a server) is named with its reason, never treated as empty.

query majordomus_plan_flight GET /api/v1/plan/flight — experimental required disabled
plan.issues

One record per issue with its derived status, its wave, the dependencies it declares, the ones that are not DONE (plus `milestone:<id>` when the gate holds the whole outcome back), the issues that depend on it, the paths it touches and its evidence tally. Filtering by `status: READY` is the ready set and by `status: BLOCKED` the blocked set; nothing here is a separate derivation.

query majordomus_plan_issues GET /api/v1/plan/issues — behaviorally_verified required generation
plan.model

Every milestone and issue with its derived status, wave, rank, both directions of its graph and its counts; the execution waves; both dependency graphs as edges; every validation finding; and the plan's header with the active milestone derived. The one value every other capability of this module answers out of. Derived on every call: a transition writes a lifecycle marker into a record between two calls, and a plan answered from a snapshot would send two workers to one issue.

query majordomus_plan GET /api/v1/plan — behaviorally_verified required disabled
plan.next

The lowest-wave READY issue of the active milestone, highest priority first, then id. The active milestone can have nothing ready while another one does — one waiting on its own acceptance evidence, for instance — so the search widens to the whole plan rather than answering `none` and sending a worker away from work that is genuinely executable. This is what an agent asks before it starts.

query majordomus_plan_next GET /api/v1/plan/next — behaviorally_verified required generation
plan.record

A milestone with its issues in full, or an issue with the issues it waits on in full. The record's own prose stays where it has always been — `majordomus://issue/<id>` returns the file — and this answers what the file cannot say about itself: what its status is, where it sits in the graph, and what is between it and being executable.

query majordomus_plan_record GET /api/v1/plan/record — behaviorally_verified required disabled
plan.roadmap

The milestone graph laid out by rank, with `order` breaking ties inside a rank only, and the first unblocked unfinished milestone as `now` and the one after it as `next`. Nothing in the sequence is authored: a milestone whose prerequisites are not real cannot be nominated, which is what makes `each step is gated by the previous one being real` an invariant rather than a sentence.

query majordomus_plan_roadmap GET /api/v1/plan/roadmap — behaviorally_verified required generation
plan.status

Every milestone with its derived status and its issues counted by status, the milestone a worker is executing now, the next ready issue in full, and the plan's own totals. The counts are keyed by the declared vocabulary, which travels with the answer, so a status added to the engine appears here without anything being edited.

query majordomus_plan_status GET /api/v1/plan/status — behaviorally_verified required generation
plan.transition

Record that execution of an issue began (`start`), that implementation is complete with evidence outstanding (`verify`), or that it is finished (`done`). One field of the issue's own record is stamped, the seal of its event is written beside it, and the event is appended to the ledger; a stamp without that seal moves no status. The move is refused when the model says it is illegal — an issue that is not READY cannot start, one that was never ACTIVE cannot be verified, and one that was never started, whose dependencies are unfinished or whose required evidence is absent cannot be done — and the refusal names what is in the way. The status that comes back is derived from the record afterwards, not announced by the move: a `done` whose evidence is missing leaves the issue in VERIFY and says so.

command majordomus_plan_transition POST /api/v1/plan/transition — behaviorally_verified required_when disabled
plan.validate

Every finding the derivation produced, in the order it produced them: a dependency on something that is not an issue, a cycle, an issue executing ahead of its dependencies or of its milestone's gate, an issue with no acceptance criteria, evidence missing under a completion date, a lifecycle stamp its transition did not write (no seal of its plan_* event beside it), a milestone whose graph contradicts itself, two issues of one wave sharing a path. A failure means the model is invalid; a warning means it is legal and worth reading.

query majordomus_plan_validate GET /api/v1/plan/validate — behaviorally_verified required disabled
plan.waves

The topological layering of the issue graph: an issue enters a wave only once every dependency has left it, so its wave is one past the longest path to it. Sharing a wave is a necessary condition for running two issues at once, not a sufficient one — overlapping scope serialises them, and every such overlap is reported beside the waves rather than left for two workers to discover in a merge conflict.

query majordomus_plan_waves GET /api/v1/plan/waves — behaviorally_verified required disabled
product.domains

The few things the product controls, each declared once under the layer's features section with its promise and the failure it answers, and each holding the stable features that name it: their interfaces, the distinct claims, use cases, rules and capabilities behind them, and the operational moments they answer, all derived. A domain lists no features; a feature names its domain. The default is the stable set; pass status=any for every domain.

query majordomus_product_domains GET /api/v1/product/domains majordomus product domains behaviorally_verified required process
product.feature

One product feature in full: the record as its file declares it, and everything derived from what it names — the capabilities of its modules with their tools, routes and command-line paths, the commands with their summaries, the objects of its kinds counted, the rules with their class and whether the tool enforces them, the documents, the decisions, the claims with their status, the use cases, the Cockpit areas and web surfaces with their routes, the moments it answers, and the interfaces all of that adds up to.

query majordomus_feature GET /api/v1/product/feature majordomus product show behaviorally_verified required process
product.features

Every product feature this repository declares, narrowed by any of the facets the model derives — featured, area, domain, module, command, surface, text — with the interfaces each is exposed through, the counts behind it and what is guaranteed about it, none of which its file states. The default is the stable set; pass status=any for the drafts too.

query majordomus_features GET /api/v1/product/features majordomus product list behaviorally_verified required process
product.matrix

Every feature against the command line, the HTTP API, MCP, the Cockpit and the documentation, each mark derived from what the feature names; then every builtin module of the executable, every public command of the shell tool and every kind of the layer with the stable features that name it. A row with no feature is reported as a gap rather than hidden.

query majordomus_product_matrix GET /api/v1/product/matrix majordomus product matrix behaviorally_verified required process
product.providers

Every provider the tool has an adapter for — one per template the distribution ships — with the bootstraps this repository's policy renders through it, the client configuration it carries for the shared MCP server, and the hooks the policy wires. The set is the templates; nothing here is a list of vendors.

query majordomus_providers GET /api/v1/product/providers majordomus product providers behaviorally_verified required process
product.validate

Every finding over the product model: a reference that resolves to nothing, with the nearest candidate; a duplicate identity; a file name that disagrees with its id; a draft that is featured; a stable feature under its floors; and every module, command or kind that no stable feature names. Errors make the model invalid; warnings do not.

query majordomus_product_validate GET /api/v1/product/validate majordomus product validate behaviorally_verified required process
quality.report

The crate's exported surface measured against the repository's rules: how many items are documented and exampled, how many modules are documented, exampled and behaviourally tested, how the canonical operations stand against the command line, HTTP, OpenAPI and MCP, and one finding per violation carrying a stable code, the rule that requires it, its file and line, why it matters and what to do about it.

query majordomus_quality GET /api/v1/quality majordomus quality report behaviorally_verified required process
quality.rustdoc

The crate's rustdoc tree — the rustdoc surface's artifact, as the web topology resolves it — judged against the crate's own inventory of exported items: every item that owns a page has it at the route rustdoc gives it, no item page is left without an item, the tree declares it was built from HEAD, the library's index is present and names the crate, its assets are present, every relative link resolves, and no file names the machine it was built on or carries a credential. Answers the verdict (clean, findings, or no_tree when there is nothing to judge), the counts it joined, every exported module with its page, and one typed finding per defect with the file and what to do.

query majordomus_quality_rustdoc GET /api/v1/quality/rustdoc majordomus quality rustdoc behaviorally_verified required process
reasoning.advisors

Every declared advisor — then every linked mesh peer carrying the review feature — with its status (available, unavailable, not_configured, disabled, temporarily_failed, rate_limited) and why, from presence alone (an executable on PATH, a credential variable set; never a value), the reasoning mode and the recorded outcomes of earlier consultations. Plus the capacity per advisory capability. No advisor is an ordinary answer: reasoning is operational either way.

query majordomus_reasoning_advisors GET /api/v1/reasoning/advisors majordomus reasoning advisors experimental required disabled
reasoning.check

The executable half of the rules advisors-are-optional and review-is-recorded-not-claimed: the advisor catalogue resolves against the provider table and the model catalogue; every adapter it names has its transport module; no provider-independent source names an advisor; no CI workflow or gate names a model credential; no document asserts a refused claim; every stored consultation names an advisor its plan selected, and every conclusion's review matches what it cites. The CI and claims checks judge what this repository's own workflows and documents say, so they apply only where the rule advisors-are-optional is declared; an adopter is held to what it adopted.

query majordomus_reasoning_check GET /api/v1/reasoning/check majordomus reasoning check experimental required disabled
reasoning.explain

One reasoning record with the whole chain of its assessment: the uncertainty and its evidence, the plan and who it selected or why nobody, each consultation, each disagreement and the experiment that settled it, the conclusion and its validation — the provenance of a decision without the conversation that produced it.

query majordomus_reasoning_explain GET /api/v1/reasoning/explain majordomus reasoning explain experimental waived (transient_state) disabled
reasoning.plan

Decide, without recording anything, whether a stated uncertainty warrants independent review, how much the mode allows, and which available advisors a capability-driven selection would ask — with every advisor left out and why. Trivial and low uncertainty is decided locally; material uncertainty with no suitable advisor gets the structured local review instead. Pure over the catalogue, the availability and the input.

query majordomus_reasoning_plan GET /api/v1/reasoning/plan majordomus reasoning plan experimental required disabled
reasoning.record

Write one typed reasoning record of the open task under .ai/local/state/reasoning/: an assessment (with its evidence), a plan (computed here from the availability of this moment, never supplied), a consultation (only of an advisor its plan selected), a disagreement, a resolution (evidence, never a count), a conclusion (its review count computed from the consultations it cites; refused while a disagreement on its assessment is unsettled), a validation or a failed attempt. Secret shapes are redacted before anything is written.

command majordomus_reasoning_record POST /api/v1/reasoning/records majordomus reasoning record experimental required disabled
reasoning.status

The reasoning state of the open task (or of a named one, or of all): assessments and where each stands, consultations and how each ended, disagreements and what settled them, conclusions with their computed review and validation, the timeline, token totals the adapters reported, and the Markdown report a handover carries. Derived from the records alone, deterministically.

query majordomus_reasoning GET /api/v1/reasoning majordomus reasoning status experimental required disabled
recover.orphans

Walk the publish temps of every record store, the rename temps under the layer's local half and the tracked sessions section, and the site generator's staging directories at the repository root; give each a verdict by reading its age and then its content; and, unless the call is a check, remove the ones the verdict says nothing is holding. Nothing is deleted for being unrecognised: a temp holding the only copy of a record is reported as `incomplete` and left for the caller to publish, content this version cannot classify is `foreign` and left exactly where it is, a candidate whose age this platform cannot read is `unmeasurable` and never a candidate, and no directory is ever removed. The threshold is required and has no default, because a sweep measuring against an absent threshold would find every file stale.

command majordomus_recover_orphans POST /api/v1/recover/orphans — behaviorally_verified required disabled
release.analysis

The public capability surface of this tree against the one the last release published, every movement of it named with the reason it counts for what it does, and the smallest version this tree may therefore declare. The compatibility level is measured from the contract rather than read off the commit subjects: a capability, route, MCP tool, command, or a required field of either schema that a caller could hold and cannot any more is breaking whatever the commit that removed it called itself. What the commits said about themselves is carried beside the verdict as evidence, and the answer says when the two disagree.

query majordomus_release_analysis GET /api/v1/release/analysis — implemented waived (published_history) disabled
release.changelog

Every release the layer records, newest first, with the work that has not been released leading. A section's decisions are the ADRs dated inside that release's window, its changes the conventional commits in its range, its artifacts the record's own evidence. Nothing in it is authored, and a section that could not be read says so rather than appearing empty.

query majordomus_changelog GET /api/v1/changelog — implemented required disabled
release.currency

How much landed work the trunk holds past the last release, since when, and at which version, measured when asked (I3070). The last release is the newer of the release the layer records and the newest version tag the trunk contains: a tag is pushed before its record lands. Landed work is every commit of the trunk past it except merges and release commits. A landing is a commit of the trunk's first-parent history, and the work has waited since the oldest landing that brought anything but release commits. The stance is current when nothing has landed past the release, owed when work has, and overdue once it has waited longer than six hours. The version the public contract requires is decided by the version selection release.version makes, but only from a recorded release and only in a checkout at the trunk; otherwise the answer says which it is not. Ask with next false to leave the version out, as the brief and doctor do. It reads git and the clock, so it is never committed into derived data.

query majordomus_release_currency GET /api/v1/release/currency — implemented waived (published_history) disabled
release.next

What the integration executor raises the trunk's version to when it lands a head (ADR 0134): the version the trunk declares, how far the head moves the public contract measured against the trunk's committed registry, what that movement requires under the version's mode, the repository's floor from `release.floor` in the policy, the exemption class that lowered the floor if every changed path falls in one, the larger of the requirement and the floor, and the trunk's version raised by it — with one sentence per step. Everything is read from git at the two refs, so the answer does not depend on which executable runs or on the branch's own version, which is why a retried landing cannot raise twice. It decides and writes nothing; an input that cannot be read is refused rather than guessed.

query majordomus_release_next GET /api/v1/release/next — implemented waived (published_history) disabled
release.version

The version the crate manifest declares — the one place it is authored — the version the shell tool prints from its projection `share/version.txt`, and whether that projection is current — the question `generate --check` refuses and `scripts/release-version --check` gates on. Then the next version, which is the public contract's answer: the version `release analyze` requires against the last release — the declared version when it already satisfies the contract, otherwise the smallest one it allows, and the smallest release above the last when the contract requires none over it — with `decided_by` naming who answered. It is the one release selection `release bump` also raises to when no target is named, so the report and the writer cannot disagree. When the contract cannot be measured — no published baseline, a version that is not three numbers, or any other error that makes the plan unsound, the plan `release bump` refuses to write from — the baseline is refused, not guessed: `next` is absent, `decided_by` is `undecided` and `contract_unreadable` carries every error, one per line. The bump the conventional commits since the last release imply, the version it would produce and the commits themselves are carried beside it as evidence, and never answer `next` in the contract's place.

query majordomus_release_version GET /api/v1/release/version — implemented required checkout
repository.info

The repository root, layer sections, git state, discovery mode, kinds present, every diagnostic, and the capability registry counted.

query majordomus_repository GET /api/v1/repository — behaviorally_verified required generation
repository.scope

The scope declaration as read, where it came from (the repository's own or the distribution's default), and every tracked file tallied against it: how many are in, how many are out for each reason, and which.

query majordomus_scope GET /api/v1/scope majordomus scope behaviorally_verified required disabled
repository.scope_classify

Whether a repository-relative path is in or out of the scope, the reason when it is out, and the pattern or limit that decided; an existing file is judged by name, then size, then content.

query majordomus_scope_classify GET /api/v1/scope/classify — behaviorally_verified required disabled
rules.proves

One test — by identity or by the path a rule names it with — with every rule that names it and the rules that would be left with no proof at all if it were deleted. This is the reverse of rules.show and reads the same derivation, so the two directions cannot disagree. It is the question that could not be asked while the relation ran one way only: before deleting or renaming a case, what stops being enforced.

query majordomus_rule_proves GET /api/v1/rules/proves majordomus rules proves behaviorally_verified required disabled
rules.report

The whole rule corpus joined to the tree and the ledger: per rule, its class, its enforcement mode, the validator and the cases it names, whether each is in the tree, the execution behind each, the CI gates that run them, and the sentence explaining how the state was derived. The tallies count the whole corpus even when the answer is filtered, and the findings name every rule whose declared class the proof does not support. Kept per checkout state, never longer: the ledger is a file that changes outside this process, and an edit of it, of a validator or of any tracked file, a new untracked file, a commit or a new ref is a new answer.

query majordomus_rules GET /api/v1/rules majordomus rules report behaviorally_verified required checkout
rules.show

One rule with its full proof: the validator and the cases it names, the execution behind each, the gates that run them, the rules it depends on and the rules that depend on it — each with the state it is in, because a rule is proven only as far as its dependencies are — and, when it is not proven, the one sentence saying what would have to be true for it to be. A rule this repository does not declare is a not-found rather than an empty answer, because a typo that read as 'this rule has no proof' is the one answer this capability must never give.

query majordomus_rule GET /api/v1/rules/rule majordomus rules show behaviorally_verified required checkout
served.forge

Asks the forge, through its own command-line tool and with the caller's credential, for the newest deployments to every environment and the newest releases, in one query, and records the answer in the checkout-local state `deploy.observed` reads. Exit 0 when the forge answered and the answer was recorded, 12 when it could not be asked (no tool, no credential, no network, a repository the forge does not know): what was recorded before then stands, with its age.

command — — majordomus served forge behaviorally_verified waived (external_dependency) disabled
served.observe

Fetches the build identity a deployment serves (one bounded probe, no shell): for a `deployment` naming an object with a provider, its liveness route at the provider's URL; otherwise `build.json` under the configured base URL. It judges it against the expected commit (HEAD unless named) by containment and appends the observation to the checkout-local record. Exit 0 when the deployment serves a build containing the commit, 10 when it measurably does not (behind, or built dirty), 12 when the question could not be answered (unreachable, unreadable, or a served commit this clone lacks).

command — — majordomus served observe behaviorally_verified waived (external_dependency) disabled
served.show

The newest recorded observation of each deployment, re-judged against a commit (HEAD unless named), and for a deployment the layer declares as an object its status derived from that: `active` only while it serves the commit. A record keeps proving every commit its served build contains and stops proving the moment the commit asked about is not among them; a record that received nothing proves nothing. Asks no network and writes nothing.

query majordomus_served GET /api/v1/served majordomus served show behaviorally_verified required disabled
server.status

Where this checkout's server stands — absent, starting, ready, outdated or stale — measured against what this executable would serve; how far the tree it serves is from the remote trunk (`trunk`: current, lagging, stale, unjudged or unmeasured against the policy's `checkout.trunk_distance`, as of the last fetch); the lease this process holds when it is the server; and, unless `checkouts` narrows it to this one, every checkout git registers for the repository, the primary first, each with its lease, its standing and the reason, and the peers its server reports. `checkouts: this` reads one lease and probes one server and enumerates no other checkout, which is what a caller asking only about the checkout it is in should pay. Read from the lease files and the servers on every call; nothing is cached, because the leases are written by other processes.

query majordomus_server GET /api/v1/server majordomus serve status behaviorally_verified required disabled
session_domain.identity

The repository, the checkout, the open episode and the provider session, each with the canonical value this executable computes and each store's own spelling beside it. The stores record the repository sometimes as an absolute .git path and sometimes as a remote URL, the worktree as a path and as a digest, and the session as both an episode id and a provider UUID; this is the surface that says so, so that a reader never compares two spellings of different things and concludes they disagree.

query majordomus_session_identity GET /api/v1/session/identity — behaviorally_verified required process
session_domain.machine

Every state an episode can be in, whether it is terminal and what it may move to; every transition — open, resume, checkpoint, detach, close, recover — with the states it runs between and whether it moves the state at all. Derived from the types, so a diagram that disagrees with the code cannot exist. What the machine deliberately does not depend on is stated rather than left to be inferred: task state, which is ADR 0052.

query majordomus_session_machine GET /api/v1/session/machine — behaviorally_verified required process
shell.check

Every shell unit under bin/, lib/, scripts/, share/, apps/majordomus-cli/assets/, .githooks/ and .claude/hooks/ — by interpreter line or by a .sh name, as git would commit it, links not followed — against .ai/repo/automation/inventory.jsonl: an undeclared unit, a record whose unit is gone, an exemption missing its reason or its removal condition, a disposition outside A-F, a duplicate and a record out of canonical order are each a finding that names the file and the remedy. Reads the tree and git's index only; no build and no network.

query majordomus_shell_check GET /api/v1/shell/check majordomus shell check behaviorally_verified required disabled
skills.explain

One skill in full: its authored identity, status and provenance marker, each test that names it with the state of its latest recorded run and the command that reproduces it, its page, its doctrine and gates, every invocation by path and line, its standing and the findings about it. The file itself stays at `majordomus://skill/<id>`.

query majordomus_skill_explain GET /api/v1/skills/explain majordomus skills explain behaviorally_verified required disabled
skills.status

Every skill the index holds, each with the tests that name it and the evidence state of their latest runs, its page projection, the doctrine and gates that hold it, every invocation that references it, and the standing those derive: proven, partial, orphan, invalid, or not_required for a draft or deprecated skill.

query majordomus_skills GET /api/v1/skills majordomus skills status behaviorally_verified required disabled
skills.verify

Every finding over the skills: a file that breaks the skill contract, an active skill no test names or nothing invokes, a test whose latest run failed, a test or an invocation naming a skill that does not exist — each a failure — and evidence that is not current, a missing page or a missing gate, each a warning.

query majordomus_skills_verify GET /api/v1/skills/verify majordomus skills verify behaviorally_verified required disabled
trace.commit

One commit with the issue and milestone it served, or the fact that none can be found. Attributed when exactly one issue's branches hold it, ambiguous when branches naming two issues do, and unattributed when no branch naming an issue holds it at all — which is either work committed without an execution contract or a branch deleted after its merge, and the answer says so rather than guessing between them.

query majordomus_trace_commit GET /api/v1/trace/commit — behaviorally_verified required disabled
trace.issue

One issue with the branches that name it — local, and remote-tracking where only the remote still has the branch — and, for each, the commits it holds that the trunk did not: measured against the trunk while the branch is open, and against the first parent of the merge commit that brought it in once it is merged. A branch that reached the trunk without a merge commit of its own says so and claims nothing, because its commits cannot be told from the trunk's. The milestone comes from the canonical issue record, which is the one edge here that git does not hold, and `declared` says whether the project model has this id at all — a repository with no plan still gets the branches, and a typo still cannot read as work nobody did.

query majordomus_trace_issue GET /api/v1/trace/issue — behaviorally_verified required disabled
trace.report

Every issue at least one branch names with its branches and commits, every declared issue no branch names, and the newest stretch of the trunk with each commit attributed to the issue whose branches hold it or reported as unattributed. The tallies count both sides, so the proportion of the trunk that no execution contract accounts for is a number rather than an impression. Read from git on every call: the history changes outside this process.

query majordomus_traceability GET /api/v1/trace — behaviorally_verified required disabled
web.surfaces

The web topology in route-precedence order, with each surface's mount, category, visibility, kind, producer, artifact, runtime feature and the provenance of every value a reader could be surprised by; and which ids are served, published and offered to a person. Answered from the resolution this process serves from, so it cannot disagree with what the router routes or what the home page lists.

query majordomus_web_surfaces GET /api/v1/web/surfaces — behaviorally_verified required process
why.areas

Every operational area the catalogue declares, each with the public moments that fall under it. Membership is derived from the moments and is never listed in an area's own file.

query majordomus_why_areas GET /api/v1/why/areas majordomus why areas behaviorally_verified required process
why.audiences

Every audience the catalogue declares, each with the public moments that name it. Membership is derived from the moments and is never listed in an audience's own file.

query majordomus_why_audiences GET /api/v1/why/audiences majordomus why audiences behaviorally_verified required process
why.diagnose

What a reader's own symptoms imply: the moments the selection resolves to, the operational areas and audiences they weigh towards, and the capabilities, commands, claims, rules and use cases that answer them — each carrying the moments that produced it. Counting, not inference: there is no weighting and no percentage.

query majordomus_why_diagnose GET /api/v1/why/diagnose majordomus why diagnose behaviorally_verified required process
why.list

Every operational moment this repository holds, narrowed by any of the facets the catalogue itself reports, with the audiences, the areas, the derived filters and the counts. The default is the public catalogue; pass status=any for the drafts too.

query majordomus_why GET /api/v1/why majordomus why list behaviorally_verified required process
why.moment

One operational moment in full: what it looks like, why it happens, what it costs, what this tool does about it, and every relation derived from its metadata — the responsibilities its claims belong to, the moments that name it, and the moments nearest it by shared area, audience and tag.

query majordomus_why_moment GET /api/v1/why/moment majordomus why show behaviorally_verified required process
why.validate

Every finding over the catalogue: a reference that resolves to nothing, with the nearest candidate; a duplicate identity; a file name that disagrees with its id; and a public record that does not meet the floor its status promises. Errors make the catalogue invalid; warnings do not.

query majordomus_why_validate GET /api/v1/why/validate majordomus why validate behaviorally_verified required process
worktree.inspect

The canonical path of a branch, derived from its name alone, whether the branch exists, whether something occupies that path, the worktree holding the branch when one does, and what stands in the way of creating or migrating it. The answer for a branch that does not exist yet is the path `worktree create` would use.

query majordomus_worktree_inspect GET /api/v1/worktrees/inspect majordomus worktree inspect behaviorally_verified required disabled
worktree.migration_plan

One step per misplaced worktree with a branch: where it is, where it belongs, how it would move, the uncommitted work that moves with it, and what blocks it; plus the exceptions the migration cannot address by design — detached worktrees, stale registrations, the primary checkout off the trunk — each with what a person does about it. Planning changes nothing; `majordomus worktree migrate` applies it with a fingerprint taken before and after every move.

query majordomus_worktree_migration_plan GET /api/v1/worktrees/migration majordomus worktree migrate behaviorally_verified required disabled
worktree.status

One worktree — the repository's own, or the one holding the directory the caller names — with its standing, its branch, its canonical path, its uncommitted work counted, whether it is where it belongs, and how many errors the whole topology carries. What an agent reads before it starts, and what the guard decides on.

query majordomus_worktree_status GET /api/v1/worktrees/status majordomus worktree status behaviorally_verified required disabled
worktree.topology

The repository, the container, the trunk and how it was decided, every registered worktree with its standing (primary, canonical, misplaced, detached, missing), its uncommitted work, its upstream distance and the issue its branch provably names, every local branch with or without a worktree and whether it is eligible for cleanup, every diagnostic with its code and remedy, and the tallies. Read from git on every call: the topology changes outside this process.

query majordomus_worktrees GET /api/v1/worktrees majordomus worktree topology behaviorally_verified required disabled
worktree.trunk

The checkout's `HEAD` and the local trunk branch, each counted against the remote-tracking trunk — commits behind and ahead, a merge in progress counting what it brings in — as of the last fetch, whose time is part of the answer; judged against the policy's `checkout.trunk_distance` as `current`, `lagging`, `stale`, `unjudged` (no threshold declared) or `unmeasured` (no remote trunk), with the commands that bring it current. What doctor renders and what `server.status` and the MCP instructions say about the tree a server serves (`project.a-checkout-serves-the-current-trunk`). Fetches nothing and writes nothing.

query majordomus_worktree_trunk GET /api/v1/worktrees/trunk majordomus worktree trunk behaviorally_verified required disabled
worktree.uncommitted

Every linked worktree whose index or working tree holds changes no commit carries: how many paths (staged, unstaged, untracked, conflicted), when the oldest change was made (the earliest modification time among the changed paths, the index file's standing in for a deleted one), and what holds the work — an active task record, an open episode that is not stranded, or a process whose working directory is inside. Work nothing holds and older than the threshold is `abandoned`, with the command that would put it on a remote `rescue/` ref; it is suggested, never run. The threshold is the policy's `session.stranded_after` unless `older_than` names another. Reads every worktree and writes none: every status runs without optional locks, so no index is refreshed.

query majordomus_worktree_uncommitted GET /api/v1/worktrees/uncommitted majordomus worktree uncommitted behaviorally_verified required disabled

Kinds

What the executable reads, from share/kinds.yaml and the repository's own additions: how a file of the kind is read, the JSON Schema its metadata must satisfy, and how many objects of it the index holds.

kindformatfront matterschemaidentityobjects
adrmarkdownrequiredmajordomus.adr/v1.schema.jsonid166
applicationmarkdownrequiredmajordomus.application/v1.schema.jsonid5
areamarkdownrequiredmajordomus.area/v1.schema.jsonid9
audiencemarkdownrequiredmajordomus.audience/v1.schema.jsonid8
claimyamlnonemajordomus.claim/v1.schema.jsonid250
commandyamlnonemajordomus.command/v1.schema.jsonid31
contextmarkdownrequiredmajordomus.context/v1.schema.jsonid39
critiqueyamlnonemajordomus.critique/v1.schema.jsonintent37
deploymentyamlnonemajordomus.deployment/v1.schema.jsonid1
derive-offloadyamlnonemajordomus.derive-offload/v1.schema.jsonid1
distribution-modelyamlnonemajordomus.distribution/v1.schema.jsonpath1
documentmarkdownoptionalmajordomus.document/v1.schema.jsonpath353
domainmarkdownrequiredmajordomus.domain/v1.schema.jsonid6
featuremarkdownrequiredmajordomus.feature/v1.schema.jsonid29
gapyamlnonemajordomus.gap/v1.schema.jsonintent5
implementationtextnone—path52
intentyamlnonemajordomus.intent/v1.schema.jsonid43
issueyamlnonemajordomus.issue/v1.schema.jsonid1027
knowledgemarkdownrequiredmajordomus.knowledge/v1.schema.jsonid58
mesh-declarationyamlnonemajordomus.mesh-declaration/v1.schema.jsonid1
milestoneyamlnonemajordomus.milestone/v1.schema.jsonid111
momentmarkdownrequiredmajordomus.moment/v1.schema.jsonid38
policyyamlnonemajordomus.policy/v1.schema.jsonpath1
profileyamlnonemajordomus.profile/v1.schema.jsonname4
projectyamlnonemajordomus.project/v1.schema.jsonpath0
promptmarkdownrequiredmajordomus.prompt/v1.schema.jsonname5
release-recordyamlnonemajordomus.release/v1.schema.jsontag36
rulemarkdownrequiredmajordomus.rule/v1.schema.jsonid@version190
scopeyamlnonemajordomus.scope/v1.schema.jsonpath1
sessionmarkdownrequiredmajordomus.session-record/v1.schema.jsonsession_id91
session-contextmarkdownrequiredmajordomus.session-context/v1.schema.jsonsession_id0
skillmarkdownrequiredmajordomus.skill/v1.schema.jsonid8
taxonomyyamlnonemajordomus.taxonomy/v1.schema.jsonid10
telemetryyamlnonemajordomus.telemetry/v1.schema.jsontask_id0
testtextnone—path652
use-casemarkdownrequiredmajordomus.use-case/v1.schema.jsonid49
workspaceyamlnonemajordomus.workspace/v1.schema.jsonid1

Provider projections

The bootstraps the policy declares, rendered by majordomus generate providers and checked in CI. None of them is a source.

Objects of the layer

3319 objects, each an MCP resource. Grouped by kind; the path is where the object lives in the repository.

adr 166
  • adr-0001A Rust executable with a data-driven, read-only MCP surface over stdio.ai/repo/adrs/0001-rust-cli-and-stdio-mcp.md
  • adr-0002A canonical capability registry, with MCP, HTTP, OpenAPI, Swagger UI, the CLI and the reference as projections.ai/repo/adrs/0002-canonical-capability-registry.md
  • adr-0003One shared MCP server per repository, peers, and clients that start it themselves.ai/repo/adrs/0003-shared-mcp-server-peers-and-client-autostart.md
  • adr-0004One canonical declaration, composed modules, derived projections, and performance as evidence.ai/repo/adrs/0004-canonical-architecture-and-performance-truth.md
  • adr-0005One projection plan over the canonical inputs, named owners for every truth, and the site as a view of the registry.ai/repo/adrs/0005-one-projection-plan-canonical-owners-and-the-site-as-registry-view.md
  • adr-0006CI planned from one model of what affects what, gates as repository-owned scripts, and the site deployed from the run that verified it.ai/repo/adrs/0006-ci-planned-from-one-model-and-the-site-deployed-from-its-verified-run.md
  • adr-0007Skills are data under the layer's skills section, and every surface that shows one is a projection.ai/repo/adrs/0007-skills-are-data-not-registrations.md
  • adr-0008Use cases are executable canonical objects of the layer.ai/repo/adrs/0008-executable-use-cases.md
  • adr-0009Prompt capture happens below the model, or is reported as unavailable.ai/repo/adrs/0009-prompt-capture-happens-below-the-model.md
  • adr-0010Curated knowledge is one kind with a class, not a second store.ai/repo/adrs/0010-curated-knowledge-is-one-kind-with-a-class-not-a-second-stor.md
  • adr-0011Every directory in the layer carries a contract.ai/repo/adrs/0011-every-directory-in-the-layer-carries-a-contract.md
  • adr-0012The Cockpit is a sixth projection of the registry, not an application over it.ai/repo/adrs/0012-the-cockpit-is-a-projection-not-an-application.md
  • adr-0013Every web surface is discovered from its producer, resolved once, and projected.ai/repo/adrs/0013-every-web-surface-is-discovered-from-its-producer-resolved-o.md
  • adr-0014A closed session is a shared object of the layer, not a local note.ai/repo/adrs/0014-a-closed-session-is-a-shared-object-of-the-layer-not-a-local.md
  • adr-0015The episode boundary is drawn by the provider, not by the model.ai/repo/adrs/0015-the-episode-boundary-is-drawn-by-the-provider-not-by-the-mod.md
  • adr-0016The scenario is a body section, not a header field.ai/repo/adrs/0016-the-scenario-is-a-body-section-not-a-header-field.md
  • adr-0017An episode that opens is handed what the last one left.ai/repo/adrs/0017-an-episode-that-opens-is-handed-what-the-last-one-left.md
  • adr-0018Operational moments are objects of the layer, not pages of the site.ai/repo/adrs/0018-operational-moments-are-objects-of-the-layer-not-pages-of-th.md
  • adr-0019Distribution is one model, and every surface that ships the tool is a projection of it.ai/repo/adrs/0019-distribution-is-one-model-and-every-surface-that-ships-the-t.md
  • adr-0020The capability graph is composed, not centralised, and projected twice.ai/repo/adrs/0020-the-capability-graph-is-composed-not-centralised-and-projecte.md
  • adr-0021The branch-to-worktree topology is derived from git identity and enforced everywhere.ai/repo/adrs/0021-the-branch-to-worktree-topology-is-derived-from-git-identity-and-enfor.md
  • adr-0022The UI standard is an audit over a discovered page set, and its failures are fixed at their shared source.ai/repo/adrs/0022-the-ui-standard-is-an-audit-over-a-discovered-page-set.md
  • adr-0023Product features are objects of the layer, and the landing page is a projection of them.ai/repo/adrs/0023-product-features-are-objects-of-the-layer-and-the-landing-page-is-a-projection.md
  • adr-0024An orchestrator is a provider only at the bootstrap level, and its worktrees are scratch checkouts.ai/repo/adrs/0024-an-orchestrator-is-a-provider-only-at-the-bootstrap-level-an.md
  • adr-0025Presentation order is one total order owned by the crate, not a decision each surface makes.ai/repo/adrs/0025-presentation-order-is-one-total-order-owned-by-the-crate-not-a-decision-each-surface-makes.md
  • adr-0026A capability module's area is derived from the features that name it, not declared beside it.ai/repo/adrs/0026-a-capability-modules-area-is-derived-from-the-features-that-name-it.md
  • adr-0027A command is declared once and every surface is a projection of the command graph.ai/repo/adrs/0027-a-command-is-declared-once-and-every-surface-is-a-projection.md
  • adr-0028The crate's public surface is measured by the crate, and absence from the API is a decision.ai/repo/adrs/0028-the-crates-public-surface-is-measured-by-the-crate-and-absence.md
  • adr-0029The changelog is a projection of what the repository already records, and the version has one writer rather than one source.ai/repo/adrs/0029-the-changelog-is-a-projection-and-the-version-has-one-writer.md
  • adr-0030A task owes obligations, and the evidence that discharges them goes stale.ai/repo/adrs/0030-a-task-owes-obligations-and-evidence-goes-stale.md
  • adr-0031The design is one declaration and every surface is a projection of it.ai/repo/adrs/0031-the-design-is-one-declaration-and-every-surface-is-a-project.md
  • adr-0032An external workspace is not a provider: the term, the dependency posture, and where synced content lives.ai/repo/adrs/0032-an-external-workspace-is-not-a-provider-the-term-the-depende.md
  • adr-0033An execution is a watched capability call, not a second registry.ai/repo/adrs/0033-an-execution-is-a-watched-capability-call-not-a-second-registry.md
  • adr-0035A checkout's server is one of the repository's, and its state is served like every other fact.ai/repo/adrs/0035-a-checkout-s-server-is-one-of-the-repository-s-and-its-state.md
  • adr-0036The design system is a typed declaration in the crate and every first-party surface consumes its projections.ai/repo/adrs/0036-the-design-system-is-a-typed-declaration-and-every-first-party-surface-consumes-its-projections.md
  • adr-0037A gate whose runner the repository cannot get on demand is planned on demand, so that the verdict arrives.ai/repo/adrs/0037-a-gate-whose-runner-is-scarce-is-planned-on-demand-so-that-the-verdict-arrives.md
  • adr-0038A scenario declares where it runs, and an obligation is a step.ai/repo/adrs/0038-a-scenario-declares-where-it-runs-and-an-obligation-is-a-ste.md
  • adr-0039Liveness is four rules, advisory until a scan can decide them.ai/repo/adrs/0039-liveness-is-four-rules-advisory-until-a-scan-can-decide-them.md
  • adr-0040Development semantics are capabilities of one runtime; every surface is a consumer.ai/repo/adrs/0040-development-semantics-are-capabilities-of-one-runtime.md
  • adr-0041Proof is a recorded execution, and inputs unchanged is not proven.ai/repo/adrs/0041-proof-is-a-recorded-execution-and-inputs-unchanged-is-not-proven.md
  • adr-0043Entering the repository brings its runtime up, through one bootstrap command the entry file calls.ai/repo/adrs/0043-entering-the-repository-brings-its-runtime-up.md
  • adr-0044Cooperation is repository-wide because the board is gathered, not because the server is shared.ai/repo/adrs/0044-cooperation-is-repository-wide-the-board-is-gathered-not-shared.md
  • adr-0046A working context is derived and a closed record is composed; neither is a document somebody must remember to write.ai/repo/adrs/0046-a-working-context-is-derived-and-a-closed-record-is-composed.md
  • adr-0047The session domain is typed, its identities are not interchangeable, and closing is exactly once.ai/repo/adrs/0047-the-session-domain-is-typed-and-its-identities-are-not-interchangeable.md
  • adr-0048A rule declares how it is enforced, and review is one of the three ways.ai/repo/adrs/0048-a-rule-declares-how-it-is-enforced-and-review-is-one-of-the-three.md
  • adr-0049The model catalogue is declarative data, and routing is an explainable projection of it.ai/repo/adrs/0049-the-model-catalogue-is-declarative-data-and-routing-is-an-ex.md
  • adr-0050Mesh peer discovery is provider-based observation with authenticated node identity.ai/repo/adrs/0050-mesh-peer-discovery-is-provider-based-observation-with-authe.md
  • adr-0051The minimum release version is measured from the public contract, and conventional commits are demoted to evidence.ai/repo/adrs/0051-the-minimum-release-version-is-measured-from-the-public-contract.md
  • adr-0052The session lifecycle is the episode's, not the task's.ai/repo/adrs/0052-the-session-lifecycle-is-the-episodes-not-the-tasks.md
  • adr-0053An identity is allocated above the high-water mark, and a collision is refused on the branch.ai/repo/adrs/0053-an-identity-is-allocated-above-the-high-water-mark-and-a-collision-is-refused-on-the-branch.md
  • adr-0054A commit message is a judged value, not a convention and not a prompt.ai/repo/adrs/0054-a-commit-message-is-a-judged-value-not-a-convention-and-not-a-prompt.md
  • adr-0055Disk is the fifth self-accumulating quantity — build output is reclaimed by predicate and a build is bounded before it starts.ai/repo/adrs/0055-disk-is-the-fifth-quantity-reclaimed-by-predicate-and-bounded-before-a-build.md
  • adr-0056Every object of the layer has a derived address, both directions of every relation, and a declared place of publication.ai/repo/adrs/0056-every-object-of-the-layer-has-a-derived-address-both-directi.md
  • adr-0059The mesh is on for this repository, and every session start holds it.ai/repo/adrs/0059-the-mesh-is-on-for-this-repository-and-every-session-start-h.md
  • adr-0061A gate's verdict is evidence, and a rule the repository enforces itself is proven by it.ai/repo/adrs/0061-a-gate-s-verdict-is-evidence-and-a-rule-the-repository-enfor.md
  • adr-0062A verification is proved against a commit, and two attempts that disagree are not proof.ai/repo/adrs/0062-a-verification-is-proved-against-a-commit-and-two-attempts-t.md
  • adr-0063A peer's uncommitted work is part of its claim, and a commit that carries it is refused.ai/repo/adrs/0063-a-peer-s-uncommitted-work-is-part-of-its-claim-and-a-commit-.md
  • adr-0064A declared tool has a version, and a mismatch is a finding.ai/repo/adrs/0064-a-declared-tool-has-a-version-and-a-mismatch-is-a-finding.md
  • adr-0066Entry reports a verdict per claim and the evidence behind it, from one preflight value.ai/repo/adrs/0066-entry-reports-a-verdict-per-claim-and-the-evidence-behind-it.md
  • adr-0067Mesh cooperation is authenticated links between runtimes and one replicated journal folded the same way everywhere.ai/repo/adrs/0067-mesh-cooperation-is-authenticated-links-and-one-replicated-journal.md
  • adr-0068CI evidence is kept where the run happened, and published with the commit it proves.ai/repo/adrs/0068-ci-evidence-is-kept-where-the-run-happened-and-published-with-the-commit-it-proves.md
  • adr-0069A capability may be scripted, and repository automation is scripted capabilities rather than shell.ai/repo/adrs/0069-a-capability-may-be-scripted.md
  • adr-0070An intent is a typed record, and its stage and satisfaction are derived from the plan and the evidence.ai/repo/adrs/0070-intent-is-a-typed-record-and-satisfaction-is-derived-from-evidence.md
  • adr-0071A feature exists only when its delivery is computed and every dimension passes.ai/repo/adrs/0071-a-feature-exists-only-when-delivery-is-computed-and-every-dimension-passes.md
  • adr-0073An issue names the intent criterion it serves, and the coverage of every criterion is derived from the plan.ai/repo/adrs/0073-an-issue-names-the-intent-criterion-it-serves-and-coverage-is-derived.md
  • adr-0075Which work realises an intent is a join over the records the lifecycle already keeps, and closed work does not outrank evidence.ai/repo/adrs/0075-intent-realization-is-a-join-and-closed-work-does-not-outrank-evidence.md
  • adr-0076A skill is a capability only when something proves it — tested, documented, enforced and used are derived, never authored.ai/repo/adrs/0076-a-skill-is-a-capability-only-when-something-proves-it.md
  • adr-0077Published content may be written in the reader's language; the repository's own artifacts may not.ai/repo/adrs/0077-published-content-may-be-written-in-the-readers-language.md
  • adr-0080A CI run reaches the tracked ledger through a recording branch, never through the run that produced it.ai/repo/adrs/0080-a-recorded-run-reaches-the-tracked-ledger-through-a-recording-branch.md
  • adr-0082Token economics are measured from matched runs and published only past a declared rule.ai/repo/adrs/0082-token-economics-are-measured-from-matched-runs-and-published-only-past-a-declared-rule.md
  • adr-0085The version is authored once, in the crate manifest, and shipped to the shell tool as a generated projection.ai/repo/adrs/0085-the-version-is-authored-once-and-shipped-as-a-projection.md
  • adr-0086The crate's rustdoc is a published web surface at /rustdoc, produced by the invocation its gate proves and verified at the public URL.ai/repo/adrs/0086-the-crates-rustdoc-is-a-published-surface-produced-by-its-gate-and-verified-live.md
  • adr-0087Evidence is indexed by subject and judged at the presented revision.ai/repo/adrs/0087-evidence-is-indexed-by-subject-and-judged-at-the-presented-revision.md
  • adr-0088A dashboard is a projection of capabilities, and every card names the answer it was read from.ai/repo/adrs/0088-a-dashboard-is-a-projection-of-capabilities-and-every-card-names-its-source.md
  • adr-0089An interface shows only what is derived, and unknown is never drawn as healthy.ai/repo/adrs/0089-an-interface-shows-only-what-is-derived-and-unknown-is-never-healthy.md
  • adr-0091Knowledge is derived at the episode boundary, from the ledger and git, and a person promotes it.ai/repo/adrs/0091-knowledge-is-derived-at-the-episode-boundary-and-a-person-promotes-it.md
  • adr-0097A plan stamp carries the seal of its event, because the ledger never leaves the checkout.ai/repo/adrs/0097-a-plan-stamp-carries-the-seal-of-its-event.md
  • adr-0098Reasoning is provider-independent, advisors are optional, and review is a recorded fact rather than a claim.ai/repo/adrs/0098-reasoning-is-provider-independent-advisors-are-optional-and-review-is-recorded.md
  • adr-0101Pull requests are integrated one at a time, each against a master observed a moment before.ai/repo/adrs/0101-pull-requests-are-integrated-one-at-a-time-against-the-current-master.md
  • adr-0103Every client gets an episode, and every provider capability cites its evidence.ai/repo/adrs/0103-every-client-gets-an-episode-and-every-provider-capability-cites-its-evidence.md
  • adr-0104The product is filed under a few domains, and a feature names its one.ai/repo/adrs/0104-the-product-is-filed-under-a-few-domains-and-a-feature-names-its-one.md
  • adr-0105A handover moves between machines as a signed record in a ref of its own, and is resumed only on a plan.ai/repo/adrs/0105-a-handover-moves-between-machines-as-a-signed-record-in-a-ref-of-its-own.md
  • adr-0107Completion discharges obligations and never decides whether an intent is satisfied.ai/repo/adrs/0107-completion-discharges-obligations-and-never-decides-whether-an-intent-is-satisfied.md
  • adr-0110MCP says nothing its capability does not.ai/repo/adrs/0110-mcp-says-nothing-its-capability-does-not.md
  • adr-0111A task names what it serves, and the binding is derived, pinned and never stored.ai/repo/adrs/0111-a-task-names-what-it-serves-and-the-binding-is-derived.md
  • adr-0118A session leaves what it observed, and the boundary keeps one routed candidate per defect.ai/repo/adrs/0118-a-session-leaves-what-it-observed-and-one-candidate-per-defect-is-routed.md
  • adr-0123The worker is asked for a handover before the context window fills, by a provider mod the policy switches.ai/repo/adrs/0123-the-worker-is-asked-for-a-handover-before-the-window-fills.md
  • adr-0124An uploaded prompt pack is a provenance-tracked input artifact, not a second intent model.ai/repo/adrs/0124-an-uploaded-prompt-pack-is-a-provenance-tracked-input-artifa.md
  • adr-0126A caller beyond loopback reads, and changes nothing it cannot authenticate.ai/repo/adrs/0126-a-caller-beyond-loopback-reads-and-changes-nothing-it-cannot-authenticate.md
  • adr-0129A train of stacked pull requests lands in one run of the required check, each link on the verdict its head already has.ai/repo/adrs/0129-a-train-of-pull-requests-lands-in-one-run-of-the-required-check.md
  • adr-0131A release publishes its metadata to the site before its record lands, and the site never goes back a release.ai/repo/adrs/0131-a-release-publishes-its-metadata-before-its-record-lands.md
  • adr-0133Everything that happens in the repository is followed in one stream, folded and addressed.ai/repo/adrs/0133-everything-is-followed-in-one-stream.md
  • adr-0134The next version is allocated at landing, by the integration executor, from the trunk's version and the change's measured impact under a typed policy floor.ai/repo/adrs/0134-the-version-is-allocated-at-landing.md
  • adr-0135`majordomus ui` is the primary surface, and the Cockpit is the technical layer beneath it.ai/repo/adrs/0135-majordomus-ui-is-the-primary-surface.md
  • adr-0136Every session briefs itself on an interval, from one capability a provider mod the policy switches keeps in front of it.ai/repo/adrs/0136-every-session-briefs-itself-on-an-interval.md
  • adr-0138A train of pull requests is a typed object that can be seen.ai/repo/adrs/0138-a-train-of-pull-requests-is-a-typed-object-that-can-be-seen.md
  • adr-0139Worktrees share what cargo compiles on the way, and keep their own finished artifacts.ai/repo/adrs/0139-worktrees-share-what-cargo-compiles-on-the-way-and-keep-thei.md
  • adr-0140Editors and agents read projections of the layer, and cargo embeds none of it.ai/repo/adrs/0140-editors-and-agents-read-projections-of-the-layer-and-cargo-e.md
  • adr-0141The UI is published as a snapshot read at one commit, and a publication never pretends to be a process.ai/repo/adrs/0141-the-ui-is-published-as-a-snapshot-read-at-one-commit.md
  • adr-0142No screen waits for a source: a page shows the latest reading with its age, and the reading catches up behind it.ai/repo/adrs/0142-no-screen-waits-for-a-source.md
  • adr-0144An intent is proposed by a capability, and its stage stays derived.ai/repo/adrs/0144-an-intent-is-proposed-by-a-capability-and-its-stage-stays-derived.md
  • adr-0145A personal layer changes nothing shared: it is covered by git's own exclude file, checked where it is claimed, and handed to the team by one command.ai/repo/adrs/0145-a-personal-layer-changes-nothing-shared.md
  • adr-0146A capability is invoked by name through a generated skill.ai/repo/adrs/0146-a-capability-is-invoked-by-name-through-a-generated-skill.md
  • adr-0147The Cockpit is published as a snapshot by the exporter that reads the UI, and two snapshots link only the pages each holds.ai/repo/adrs/0147-the-cockpit-is-published-as-a-snapshot-by-the-exporter-that-reads-the-ui.md
  • adr-0149A handbook edition is a declared locale tree, built from the tree it describes.ai/repo/adrs/0149-a-handbook-edition-is-a-declared-locale-tree-built-from-the-tree-it-describes.md
  • adr-0152A diagram and a chart on the site are one viewer each, over what the build derived: interactive, linkable, and linked by inference.ai/repo/adrs/0152-a-diagram-and-a-chart-on-the-site-are-one-viewer-each-over-w.md
  • adr-0155An expedited landing is the owner's word, judged on the merged tree, and never reaches a tag.ai/repo/adrs/0155-an-expedited-landing-is-the-owners-word.md
  • adr-0157A mesh node may offer a shared build cache, peers discover and select it, and compilation never depends on it.ai/repo/adrs/0157-the-mesh-offers-a-shared-build-cache.md
  • adr-0158The Observatory is one screen of the UI, and it draws only what was observed.ai/repo/adrs/0158-the-observatory-draws-only-what-was-observed.md
  • adr-0160The kiosk draws what the repository proves, from the sources that already answer it, and draws it with p5 only where the build has it.ai/repo/adrs/0160-the-kiosk-draws-what-the-repository-proves.md
  • adr-0161A mesh node follows the published release, through the one installer, forward only.ai/repo/adrs/0161-a-mesh-node-follows-the-published-release.md
  • adr-0163A server serves only a share of its own version, with the surfaces it offers.ai/repo/adrs/0163-a-server-serves-only-a-share-of-its-own-version.md
  • adr-0164A durable record names the session that wrote it, and relates a task only when the task is that session's.ai/repo/adrs/0164-a-record-names-the-session-that-wrote-it.md
  • adr-0165A skill is derived for every domain of the registry and shown wherever skills are.ai/repo/adrs/0165-a-skill-is-derived-for-every-domain-of-the-registry.md
  • adr-0166The plan's surfaces are inferred from delivery, and nothing the plan shows is typed beside it.ai/repo/adrs/0166-the-plan-surfaces-are-inferred-from-delivery.md
  • adr-0167Work moves through seats on the mesh, lands in combined tops, and every checkout is kept current.ai/repo/adrs/0167-work-moves-through-seats-on-the-mesh-and-lands-in-combined-tops.md
  • adr-0169What an adoption leaves behind is measured, not remembered.ai/repo/adrs/0169-what-an-adoption-leaves-behind-is-measured-not-remembered.md
  • adr-0170A browser computes with the portable core, and the server verifies by recomputing.ai/repo/adrs/0170-a-browser-computes-and-the-server-verifies-by-recomputing.md
  • adr-0172A client always gets a server, and a session that is opened starts by joining the cluster.ai/repo/adrs/0172-a-client-always-gets-a-server-and-a-session-starts-by-joining.md
  • adr-0175v1.0.0-alpha.1 declares what it can do and its limits, and every line of the declaration names its proof.ai/repo/adrs/0175-v1-0-0-alpha-1-declares-what-it-can-do-and-its-limits.md
  • adr-0176The peer blackboard is one projection of the board, the journal and the monitor, pushed over one socket.ai/repo/adrs/0176-the-blackboard-is-one-projection-pushed-over-one-socket.md
  • adr-0180A prompt pack is a campaign: kept as received, indexed as a kind, and cited by the records it drove.ai/repo/adrs/0180-a-prompt-pack-is-a-campaign-kept-as-received-indexed-as-a-kind-a.md
  • adr-0181An episode records the governance and the briefing it was handed, each by one digest.ai/repo/adrs/0181-an-episode-records-the-governance-and-the-briefing-it-was-handed.md
  • adr-0182A closed session record is judged by what it can attribute, not only by its schema.ai/repo/adrs/0182-a-closed-session-record-is-judged-by-what-it-can-attribute-not-o.md
  • adr-0183Evolution is scheduled at the episode boundary and carried out by a session; nothing promotes itself.ai/repo/adrs/0183-evolution-is-scheduled-at-the-episode-boundary-and-carried-out-b.md
  • adr-0184Every command name is implemented by exactly one executable, and the other only delegates.ai/repo/adrs/0184-every-command-name-is-implemented-by-exactly-one-executable-and.md
  • adr-0185A derivation is a typed graph of the generators the executable already plans, keyed by the content of what each node reads, and the full derive stays its oracle.ai/repo/adrs/0185-a-derivation-is-a-typed-graph-of-the-generators-the-executable-a.md
  • adr-0186A pull request's required verdict is the feedback lane, a gate whose inputs did not change is reused as inputs_unchanged, and the proof lane judges the combined top before it lands.ai/repo/adrs/0186-a-pull-request-s-required-verdict-is-the-feedback-lane-a-gate-wh.md
  • adr-0187Tests are selected by the impact of a change, derived from what each case declares it reads, and a change of unknown impact runs every case.ai/repo/adrs/0187-tests-are-selected-by-the-impact-of-a-change-derived-from-what-e.md
  • adr-0188A rule's proof of effect is a recorded refusal of its violation, not the presence of its wiring.ai/repo/adrs/0188-a-rule-s-proof-of-effect-is-a-recorded-refusal-of-its-violation.md
  • adr-0189JUnit and Cobertura are formats evidence is imported from and exported to; the tracked ledger stays the only store.ai/repo/adrs/0189-junit-and-cobertura-are-formats-evidence-is-imported-from-and-ex.md
  • adr-0190Mutation testing is scheduled evidence over declared critical predicates, never a gate on every change.ai/repo/adrs/0190-mutation-testing-is-scheduled-evidence-over-declared-critical-pr.md
  • adr-0191A plan drafted from an intent is a proposal, checked by the plan's own validators before any record is written.ai/repo/adrs/0191-a-plan-drafted-from-an-intent-is-a-proposal-checked-by-the-plan.md
  • adr-0192Replanning is bounded, idempotent and never weakens its intent.ai/repo/adrs/0192-replanning-is-bounded-idempotent-and-never-weakens-its-intent.md
  • adr-0193Conflicting evidence keeps the verdict vocabulary: the criterion reads unknown and cites both sides.ai/repo/adrs/0193-conflicting-evidence-keeps-the-verdict-vocabulary-the-criterion.md
  • adr-0194An ingested brief is an intake revision, and its requirements are reconciled into the existing plan.ai/repo/adrs/0194-an-ingested-brief-is-an-intake-revision-and-its-requirements-are.md
  • adr-0195What accepting an issue unblocks is answered by one counterfactual evaluator over the plan graph.ai/repo/adrs/0195-what-accepting-an-issue-unblocks-is-answered-by-one-counterfactu.md
  • adr-0196Delivery latency targets are budgets of benchmark policy, measured per phase, and never a correctness gate on runners the repository does not own.ai/repo/adrs/0196-delivery-latency-targets-are-budgets-of-benchmark-policy-measure.md
  • adr-0197The backlog is bounded by a declared bound that every session reads at start, and the bound reports rather than refuses.ai/repo/adrs/0197-the-backlog-is-bounded-by-a-declared-bound-that-every-session-re.md
  • adr-0198Delivery is judged by verified outcomes landed per day, with lead time p95 as its control, never by commits, pull requests or sessions.ai/repo/adrs/0198-delivery-is-judged-by-verified-outcomes-landed-per-day-with-lead.md
  • adr-0199A hub is a declared host service; a working checkout's server stays a client's child.ai/repo/adrs/0199-a-hub-is-a-declared-host-service-a-working-checkout-s-server-sta.md
  • adr-0200Supervision repairs only what is idempotent, owned and verified, and never restarts blindly.ai/repo/adrs/0200-supervision-repairs-only-what-is-idempotent-owned-and-verified-a.md
  • adr-0201The persistent runtime is the authority; every operator surface, Lumen included, is a client of it.ai/repo/adrs/0201-the-persistent-runtime-is-the-authority-every-operator-surface-l.md
  • adr-0202The mesh routes work to an identity, never an address, and selects among proven transports instead of implementing NAT traversal.ai/repo/adrs/0202-the-mesh-routes-work-to-an-identity-never-an-address-and-selects.md
  • adr-0203GitHub Pages is a signed bootstrap anchor for the mesh, never its signalling channel.ai/repo/adrs/0203-github-pages-is-a-signed-bootstrap-anchor-for-the-mesh-never-its.md
  • adr-0204The hub is reached privately over the tailnet first; a public ingress is a deployment target, never an application change.ai/repo/adrs/0204-the-hub-is-reached-privately-over-the-tailnet-first-a-public-ing.md
  • adr-0205What a runtime can do is a set of separately evidenced facts, and detection never authorises.ai/repo/adrs/0205-what-a-runtime-can-do-is-a-set-of-separately-evidenced-facts-and.md
  • adr-0206Public outreach begins only after a stranger has finished a first task unaided.ai/repo/adrs/0206-public-outreach-begins-only-after-a-stranger-has-finished-a-firs.md
  • adr-0207A new mechanism is admitted only with the measured problem it removes.ai/repo/adrs/0207-a-new-mechanism-is-admitted-only-with-the-measured-problem-it-re.md
  • adr-0208The product's value is stated as the false dones its finish caught, beside the friction it cost.ai/repo/adrs/0208-the-product-s-value-is-stated-as-the-false-dones-its-finish-caug.md
  • adr-0209Prismatic Lumen names the owner's mesh-wide view, and it owns no scheduler, event bus, store or API.ai/repo/adrs/0209-prismatic-lumen-names-the-owner-s-mesh-wide-view-and-it-owns-no.md
  • adr-0210The sentence that says what Majordomus is has one declaration, and every surface reads it.ai/repo/adrs/0210-the-sentence-that-says-what-majordomus-is-has-one-declaration-an.md
  • adr-0211A record promoted from a workspace cites the message it came from by a typed reference that validates in every checkout and resolves only where the store is held.ai/repo/adrs/0211-a-record-promoted-from-a-workspace-cites-the-message-it-came-fro.md
  • adr-0212A workspace is read in the operator's own signed-in browser or from the vendor's export, never through a launched automation profile or another tool's credential.ai/repo/adrs/0212-a-workspace-is-read-in-the-operator-s-own-signed-in-browser-or-f.md
  • adr-0213Usage is observed through each provider's official telemetry into one provider-neutral record, and reported, estimated and billed amounts are never merged.ai/repo/adrs/0213-usage-is-observed-through-each-provider-s-official-telemetry-int.md
  • adr-0214A provider's native extension points carry the contract as generated projections; Majordomus neither embeds nor patches the worker's runtime.ai/repo/adrs/0214-a-provider-s-native-extension-points-carry-the-contract-as-gener.md
  • adr-0215A phone is the baseline width of every first-party surface, and the primary flow is accepted there before a surface grows.ai/repo/adrs/0215-a-phone-is-the-baseline-width-of-every-first-party-surface-and-t.md
  • adr-0216Every live surface follows one channel with named follow streams, and nothing polls where a stream exists.ai/repo/adrs/0216-every-live-surface-follows-one-channel-with-named-follow-streams.md
  • adr-0217A change is reconciled by the modules that own its state: hooks only sense, reconciliation is derived on read and says how each join is known, a private read stays on its machine, and verified is answered only by proof.ai/repo/adrs/0217-a-change-is-reconciled-by-the-modules-that-own-its-state-hooks-o.md
  • adr-0218Every language of the site is derived from the English build and a translation memory.ai/repo/adrs/0218-every-language-of-the-site-is-derived-from-the-english-build-and-a-translation-memory.md
  • adr-0219A deployment names the provider that hosts it, and every provider file is derived from it.ai/repo/adrs/0219-a-deployment-names-its-provider-and-every-provider-file-is-derived.md
  • adr-0220A hosted server is a rendezvous only over TLS, with its key held as a secret and the mesh read only by those it trusts.ai/repo/adrs/0220-a-hosted-server-is-a-rendezvous-only-over-tls-with-its-key-held-as-a-secret.md
  • adr-0221Init declares the mesh, closed until a machine is enrolled.ai/repo/adrs/0221-init-declares-the-mesh-closed-until-a-machine-is-enrolled.md
  • adr-0223A deployment carries the site built at its own commit, and the hosted server serves it at /docs.ai/repo/adrs/0223-a-deployment-carries-the-site-built-at-its-own-commit.md
  • adr-0224No ordinary command builds; a missing or stale executable fails fast or answers through a release of the same generation, and only an explicit build builds.ai/repo/adrs/0224-no-ordinary-command-builds.md
  • adr-0226A session joins the cluster before it works — current, announced and useful — and the repository says when it has not.ai/repo/adrs/0226-a-session-joins-the-cluster-before-it-works.md
application 5
  • ci-gated-projectA project where CI decides what is acceptable.ai/repo/applications/ci-gated-project.md
  • long-running-workWork that outlives the session doing it.ai/repo/applications/long-running-work.md
  • repository-opened-in-ai-clientsA repository opened in AI clients, not only by people.ai/repo/applications/repository-opened-in-ai-clients.md
  • repository-with-authored-governanceA repository whose rules were written by people.ai/repo/applications/repository-with-authored-governance.md
  • several-agents-one-repositorySeveral workers in one repository at once.ai/repo/applications/several-agents-one-repository.md
area 9
  • contextContext and continuity.ai/repo/why/areas/context.md
  • coordinationCoordination and ownership.ai/repo/why/areas/coordination.md
  • costModel, effort and cost.ai/repo/why/areas/cost.md
  • decisionsDecisions.ai/repo/why/areas/decisions.md
  • documentationDocumentation and drift.ai/repo/why/areas/documentation.md
  • governanceRules and governance.ai/repo/why/areas/governance.md
  • observabilityObservability.ai/repo/why/areas/observability.md
  • verificationVerification and evidence.ai/repo/why/areas/verification.md
  • work-trackingWork and its state.ai/repo/why/areas/work-tracking.md
audience 8
  • agencyAgency or consultancy.ai/repo/why/audiences/agency.md
  • ai-native-teamAI-native development team.ai/repo/why/audiences/ai-native-team.md
  • engineering-leadEngineering lead.ai/repo/why/audiences/engineering-lead.md
  • enterpriseEnterprise engineering.ai/repo/why/audiences/enterprise.md
  • open-source-maintainerOpen-source maintainer.ai/repo/why/audiences/open-source-maintainer.md
  • platform-teamPlatform and developer productivity team.ai/repo/why/audiences/platform-team.md
  • research-teamResearch and experimental engineering.ai/repo/why/audiences/research-team.md
  • solo-builderSolo builder.ai/repo/why/audiences/solo-builder.md
claim 250
  • a-candidate-is-routed-by-what-it-is-aboutEvery candidate derived from an observation carries a route — platform, enforcement, generator, documentation or project — derived from its subject's structure and never from its wording, and in a repository that adopted the tool its own share/ routes projectdocs/CLAIMS.yaml
  • a-diagram-is-named-linked-and-addressableEvery Mermaid diagram of the built site gets an id (diagram-<name>), the list of its nodes, the viewer's controls and a link for each node that is the identity of an object the site has a page for, all derived at build; a link todocs/CLAIMS.yaml
  • a-finding-names-how-to-see-it-againEvery finding a command reports names the command that reproduces itdocs/CLAIMS.yaml
  • a-session-records-what-it-observedknowledge observe records one observation.recorded ledger line with its kind, subject, statement and typed evidence references, inside an open episode, inside a task or outside one, and refuses any other shape, or the absence of an episode, without writingdocs/CLAIMS.yaml
  • a-skipped-case-is-not-a-proofA test case that declines to run is reported as a skip and recorded as one, so the evidence ledger can never read a case that asserted nothing as the proof of the claim it namesdocs/CLAIMS.yaml
  • adr-catalogueAn architecture decision is one file under the layer's adrs section, validated against the decision contract, with an identity nothing else claims, reciprocal supersession, and every reference it makes resolvingdocs/CLAIMS.yaml
  • adr-proposemajordomus adr propose writes a decision with status proposed and refuses to write any other status, allocates its identity under a lock so concurrent workers never collide, and records what the decision was derived fromdocs/CLAIMS.yaml
  • adr-traceabilityA decision states what it put in force as typed references, each one validated, and the reverse direction — what a rule, a document, an implementation or a case was decided by — is read from the knowledge graph rather than written down a second timedocs/CLAIMS.yaml
  • advertised-install-command-worksThe install command this project advertises is fetched and run from the published site every night and on request, and the run that asked for it is red while it does not install a working tooldocs/CLAIMS.yaml
  • advice-is-weighed-not-countedAdvisors that disagree never decide by count: a conclusion is refused while a disagreement on its assessment is unsettled, a resolution needs evidence, and every answer received must be weigheddocs/CLAIMS.yaml
  • advisor-failure-is-recorded-and-recoversAn advisor that times out, is rate limited, refuses its credential or answers malformed is recorded as exactly that, never blocks the work, opens a circuit that closes again after its cooldown, and never fails the sessiondocs/CLAIMS.yaml
  • advisor-transports-share-one-contractEvery advisor transport is held to one contract — typed failures, deadlines, cancellation, normalised answers, reported usage, redacted secrets — proven against fakes with no network, model or credentialdocs/CLAIMS.yaml
  • advisors-are-declared-onceAdvisors are declared once, in share/advisors.yaml, by reference to the provider table and the model catalogue; a new advisor reaches the command line, the policy, HTTP, OpenAPI, MCP and the Cockpit with no consumer editeddocs/CLAIMS.yaml
  • ai-layer-manifestThe repository's AI layer is one directory whose manifest names every section, readable without the tooldocs/CLAIMS.yaml
  • an-observation-becomes-a-grouped-candidateEach observation an episode recorded becomes, at that episode's end and with no model, a candidate of its own that says what it is about, and knowledge candidates groups the records about one subject with the episodes behind them; an episode that observed nothing records that it found nothingdocs/CLAIMS.yaml
  • archive-fidelityAn archive that lost the file modes fails rather than travellingdocs/CLAIMS.yaml
  • authored-files-are-englishEvery authored file in this repository is spelled in English, and a proper noun, a test fixture or a published translation that is not carries its reason beside the checkdocs/CLAIMS.yaml
  • benchmark-coverage-derivedEvery externally callable operation of the Rust executable is a benchmark target with a denominator generated from the registry, and a missing case fails the structural checkdocs/CLAIMS.yaml
  • blocker-storeAn entry in the questions store that does not parse blocks acceptance exactly as an unresolved question doesdocs/CLAIMS.yaml
  • blocker-survives-handoverA blocking question keeps blocking after the work is handed to a new taskdocs/CLAIMS.yaml
  • bootstrap-chainProvider instruction files are thin bootstraps that point at the AI layer and carry no rule of their owndocs/CLAIMS.yaml
  • briefing-names-candidatesThe start briefing names the candidates awaiting review on this branch, count and ids, bounded and within the briefing budget, and prints their absence rather than omitting itdocs/CLAIMS.yaml
  • candidates-reviewed-not-accumulatedMore candidates than the policy cap, or a candidate older than the policy age, is an advisory doctor finding that names them; both numbers are declared once in the policydocs/CLAIMS.yaml
  • capability-classA profile names a capability class rather than a vendor modeldocs/CLAIMS.yaml
  • capability-modulesA capability of the Rust executable is declared once and composed into its module, the root composes modules, and the registry refuses a capability outside its module's namespacedocs/CLAIMS.yaml
  • capability-registryEvery capability of the Rust executable is defined once, and the registry refuses a duplicate id or a colliding projection name, naming both partiesdocs/CLAIMS.yaml
  • catalogue-resolvesA use case or application cannot name a command, doctrine or claim that does not exist, and the two catalogues cannot disagree about which applies to whichdocs/CLAIMS.yaml
  • checkpoint-intervalA profile sets how often a worker should checkpoint, and a stale task is reporteddocs/CLAIMS.yaml
  • checkpoint-recordA checkpoint is a capped progress record with computed identity, and a body over the cap is refused rather than truncateddocs/CLAIMS.yaml
  • ci-planned-gatesA change runs the gates its paths can affect, decided by one model of what affects what, and a change to the pipeline itself or a path the model does not know runs every gatedocs/CLAIMS.yaml
  • ci-verdictThe verdict status is green only when planning succeeded and every gate the plan selected ran in a job that succeeded; a failed or cancelled job, a selected gate whose job was skipped, or a plan that selected nothing is reddocs/CLAIMS.yaml
  • ci-verdict-is-requiredNo pull request can be merged into the default branch while the verdict status is red, because a branch rule requires itdocs/CLAIMS.yaml
  • cli-documentation-executableEvery command of the Rust executable's command line carries a summary, help on every argument and, where it runs, at least one example, the root carries a long description, and every example shown to a reader is executed against the built executabledocs/CLAIMS.yaml
  • cockpit-is-a-projection-of-the-registryA capability added to the registry appears in the Cockpit's listing, navigation and search and on a page of its own with a form generated from its schema, without one line of the Cockpit being editeddocs/CLAIMS.yaml
  • command-coverageEvery public command has a behavioural test and a negative test, computed rather than remembereddocs/CLAIMS.yaml
  • command-surfaceThe public command surface is declared, and reconciled against the dispatcherdocs/CLAIMS.yaml
  • commit-message-is-judgedA commit message that does not satisfy the repository's declared commit policy is refused at the moment it is written, and the history's existing debt is recorded and may not growdocs/CLAIMS.yaml
  • commit-plan-is-refusableA commit plan carries a fingerprint of the repository, the worktree, HEAD and the exact change set it was derived from, so a plan acted on after the tree moved is refused with the reason rather than applieddocs/CLAIMS.yaml
  • commit-scopes-are-learnedThe scope vocabulary a commit is judged against is learned from this repository's own history rather than kept in a table, so a subsystem committed today is in the vocabulary today and a scope outside it is a warning rather than a refusaldocs/CLAIMS.yaml
  • connection-episodeA client with no provider hooks gets an execution episode from the MCP connection, resumes its own after a crash, and never has its prompt claimed to be captureddocs/CLAIMS.yaml
  • consistency-checkcheck reports whether state, scope, blockers and checkpoint age are consistent right nowdocs/CLAIMS.yaml
  • context-assemblyThe context a worker is given is assembled from durable state in authority order, and what a profile excludes is excludeddocs/CLAIMS.yaml
  • context-budgetThe always-loaded instruction file has a line budget with a failing checkdocs/CLAIMS.yaml
  • context-coverageEvery directory of the layer carries a context document, the exemption is declared by the contract that governs the subtree, and a descendant may narrow that requirement but never weaken itdocs/CLAIMS.yaml
  • context-documentsThe context that applies to a path is composed from the layer's scoped documents, root to target, in one deterministic order with provenance, and a tree that does not validate resolves nothingdocs/CLAIMS.yaml
  • context-impactThe impact of a change set on the scoped context is reported from git — the documents, the scopes below them, moves with their ancestry, tracked sources to review, and stale projections — and an unrelated change reports nothingdocs/CLAIMS.yaml
  • context-selection-budgetThe assembled context obeys a line budget, and every section it drops is named with its reasondocs/CLAIMS.yaml
  • context-selection-countedWhat the context compiler selects, out of what it judged relevant, is counted in tokens of a named tokenizer and recorded, never estimateddocs/CLAIMS.yaml
  • continuity-reachableEvery continuity store is proven reachable through its own command, not merely present on diskdocs/CLAIMS.yaml
  • cost-per-outcomeCost per accepted outcome will be reported from measured data onlydocs/CLAIMS.yaml
  • dag-validationA cycle, a self-dependency and a dependency on an issue that does not exist are each refused by namedocs/CLAIMS.yaml
  • decision-attributionA decision record without a task, a head and a reason is reported, and does not blockdocs/CLAIMS.yaml
  • decision-recordA decision is recorded with its reason and its task, and is superseded by a later entry rather than editeddocs/CLAIMS.yaml
  • deployment-contract-refuses-by-nameA deployment object that breaks its closed contract, whether by a key the contract does not have, another schema version, a missing field, an interface, port, machine count or health route that could not work, a provider the contract does not know or a provider address that is not https, a value that reads as a credential or an identity two files claim, is refused by doctor with the reason nameddocs/CLAIMS.yaml
  • derivation-one-graphEvery committed derived artifact of the repository is regenerated by one command in dependency order and checked by one read-only command that names every stale artifact, a second regeneration on a clean tree changes nothing, and no derived file records the commit it lands indocs/CLAIMS.yaml
  • derived-data-currentA commit whose derived data is behind its canonical inputs is refused before it exists, and a repository that unwires that gate is a doctor failuredocs/CLAIMS.yaml
  • derived-not-declaredWhat the tool knows about itself is written once and derived everywhere else, and a second copy is a test failuredocs/CLAIMS.yaml
  • dispatcher-wiringWiring is found in a hook or in any subhook of the directory that hook dispatches todocs/CLAIMS.yaml
  • distribution-canonical-modelEvery platform, artifact name and installation URL is derived from one model, and a projection that disagrees with it is refuseddocs/CLAIMS.yaml
  • divergence-labelState read back is labelled exact, advanced, diverged or different_context against gitdocs/CLAIMS.yaml
  • doctrine-class-decidesA doctrine's class is what decides whether a violation stops the command, not a label beside itdocs/CLAIMS.yaml
  • doctrine-registryEvery rule the tool enforces is declared once, as a rule object in the repository's effective set, and doctor proves each one is reached by the command that claims to run itdocs/CLAIMS.yaml
  • drift-watchwatch reports policy, projection, state, scope, handover, verification, staleness and retention driftdocs/CLAIMS.yaml
  • economics-claims-gatedA quantity about tokens, context or cost typed into hand-written prose is refused, and a claim bound to a metric cannot be guaranteed while its evidence does not standdocs/CLAIMS.yaml
  • effort-escalationEscalating reasoning effort after repeated blocked attempts is recorded rather than assumeddocs/CLAIMS.yaml
  • event-vocabularyThe ledger's event vocabulary is closed, on the way in and on the way outdocs/CLAIMS.yaml
  • evidence-a-crate-binary-that-ran-nothing-is-not-a-passA crate test binary that ran no test or only a filtered subset is recorded as a skip, one with a failed test as a failure and one that printed no result as an error, whatever colour codes its output carries, and what no claim can name yet is listed as droppeddocs/CLAIMS.yaml
  • evidence-a-failure-outranks-an-absenceA rule with a failing test reads failing whatever its other tests say, so a blocking rule whose tests are one failing and one not run is still a findingdocs/CLAIMS.yaml
  • evidence-a-recording-is-a-typed-runEvery recording yields a run record naming its commit, the tree each report's run measured, its totals and what was absent, dropped or unknown, and a coverage summary joins it only bound to the commit and tree it was measured ondocs/CLAIMS.yaml
  • evidence-a-skip-is-not-runA test that declined to run reads not_run with a detail saying it declined, never proven and never failing, and a test that errored or timed out reads failingdocs/CLAIMS.yaml
  • evidence-currency-is-not-collapsedA run recorded against this commit and a run whose inputs merely have not changed since are reported as different states, never as onedocs/CLAIMS.yaml
  • evidence-gates-doneAn issue cannot be completed while a required piece of evidence is missingdocs/CLAIMS.yaml
  • evidence-judged-at-the-presented-revisionA claim reads proven only when its passing run was recorded on a commit the presented revision contains, nothing but the evidence ledger changed between the two, and neither the recorded tree nor the presented tree was dirty; a run on a commit the presented revision does not contain reads stale; a named revision is judged by the ledger committed in it, and a clean failing run of the same test that the checkout holds uncommitted, recorded between the two, caps it at staledocs/CLAIMS.yaml
  • evidence-local-recording-stays-localA recording made with --ledger local writes only the ignored local ledger, changes no tracked file and moves no verdictdocs/CLAIMS.yaml
  • evidence-navigates-both-waysEvery claim names the test meant to settle it and every test names the claims it is meant to settle, from one derivationdocs/CLAIMS.yaml
  • evidence-partial-run-preserves-the-restRecording one test's result never erases the evidence recorded for any other testdocs/CLAIMS.yaml
  • evidence-proof-is-an-executionA claim's proof is an execution that was recorded with the commit it ran against, not a test path that resolvesdocs/CLAIMS.yaml
  • evidence-recorded-in-ciCI records every test it ran with the commit and the run it happened in, and the site publishes the tracked ledger's verdict at that commit as current only when CI's run of the published commit measured clean trees and nothing was absent, refused or failed; otherwise as stale with its distance or its failures, as unknown with its reasons, or as unavailable with the reasondocs/CLAIMS.yaml
  • evidence-subject-commands-agree-with-the-command-pagesThe behavioural and negative tests the subject index names for a command are exactly the ones its command page lists, both read from the first coverage and negative header of each casedocs/CLAIMS.yaml
  • evidence-subjects-are-derivedEvery claim, rule, feature, command, capability, MCP tool and use case the repository declares is an evidence subject whose members and tests are derived from declarations that already exist, and a committed subject index that differs from that derivation is refuseddocs/CLAIMS.yaml
  • evidence-tree-is-measured-by-the-runA recorded execution carries the commit and the tree that its run's own measurement stated, a measurement that names the report it belongs to and never hides a tracked change; a measurement of another commit or another report is refused, a local measurement that names no report is refused, a CI report without a measurement is refused, and a report recorded without one carries an unknown tree, which never reads provendocs/CLAIMS.yaml
  • evidence-unsupported-guarantee-is-reportedA claim that declares a guarantee no recorded run supports is named by a gate rather than displayed as guaranteeddocs/CLAIMS.yaml
  • executable-reference-derivedThe site's pages about the Rust executable (one per module, one per capability, the command line, the MCP surface, the benchmarks, the executable's own narrative) are derived from the registry manifest and the registry dataset the executable generates, nothing names a capability by hand, and a capability that joins or leaves the registry gains or loses its page, its index entries and its links from the generators alonedocs/CLAIMS.yaml
  • execution-cache-equivalenceA cached capability of the Rust executable answers the same value uncached, cold and warm, a hit runs no handler, errors and commands are never cached, and the key carries the registry fingerprintdocs/CLAIMS.yaml
  • execution-wavesExecution waves are computed from the graph, and issues in one wave that touch the same paths are reported as serialiseddocs/CLAIMS.yaml
  • exit-code-contractExit codes are a contract, and no code means "warn and continue"docs/CLAIMS.yaml
  • finish-contractfinish evaluates the finish contract line by line and refuses when any line is unmetdocs/CLAIMS.yaml
  • finish-refusal-is-recordedevery refused finish appends a task.refused event naming the outcome claimed, the unmet count and the doctrines that refused, and finish --check writes nonedocs/CLAIMS.yaml
  • generated-artifacts-typedEvery generated artifact declares the document it projects, the encoding it is written in, the schema its content satisfies and its source, and a structured document is written in every encoding it is committed in from one valuedocs/CLAIMS.yaml
  • generated-projections-checkedThe committed projections, the OpenAPI document, the capability reference and the allow-lists, are regenerated from the registry and the schemas, and generate --check refuses a stale onedocs/CLAIMS.yaml
  • git-identityIdentity fields on every state record are computed from git and never authoreddocs/CLAIMS.yaml
  • github-projectionGitHub milestones and issues are generated from the canonical model, and a hand-edited generated region is reported rather than overwrittendocs/CLAIMS.yaml
  • github-projection-gatedA projection that stops being applied turns a build red, and a gate that cannot reach GitHub reports that it cannot rather than passingdocs/CLAIMS.yaml
  • handover-recordhandover writes an append-only record with computed front matter and required sectionsdocs/CLAIMS.yaml
  • history-ledger-readThe ledger is readable back as operational history, filtered by task, event and timedocs/CLAIMS.yaml
  • hot-path-no-rebuildAfter startup, no MCP or HTTP request of the Rust executable scans the repository, builds the index or the registry, derives a schema or builds a projection, and perf.counters proves itdocs/CLAIMS.yaml
  • init-refusesInstalling into a repository that already has an installation is refuseddocs/CLAIMS.yaml
  • install-command-is-derivedThe documented one-line install command is composed from the model's parts, and a document that states a different one fails the suitedocs/CLAIMS.yaml
  • installer-verifies-before-installingThe installer verifies an artifact's digest and inspects its archive before anything is unpacked, and any failure leaves the previous installation workingdocs/CLAIMS.yaml
  • intent-closes-github-milestonesA milestone will be closed on GitHub only once the intents it realises are satisfieddocs/CLAIMS.yaml
  • intent-cockpit-pagesThe Cockpit shows every intent with its derived stage at /cockpit/intents, and one intent's criteria, evidence, serving issues and realising work at /cockpit/intents/<id>docs/CLAIMS.yaml
  • intent-command-deployment-evidenceA criterion settled by a command or by a deployment will be met by recorded evidencedocs/CLAIMS.yaml
  • intent-criteria-coveredOnce work exists under an intent, a criterion no issue serves, an issue under its milestones that serves nothing and a link to a criterion that does not exist are each refused by namedocs/CLAIMS.yaml
  • intent-in-session-contextA task that names the issue or the intent it serves is briefed with what that intent asks of the work, and a handover tells the next worker when the intent moveddocs/CLAIMS.yaml
  • intent-links-resolveAn intent whose criterion names evidence that resolves to nothing is refused by namedocs/CLAIMS.yaml
  • intent-plan-reviewedA gap that leaves a criterion unanswered is refused, and an issue serving an intent that started without a critique or while a blocking finding is open fails intent validationdocs/CLAIMS.yaml
  • intent-preflight-names-the-intentAsked before work on an issue, `intent preflight` names the intents the issue serves with the governance that applies, or refuses naming the causedocs/CLAIMS.yaml
  • intent-realization-held-to-evidenceThe work realising an intent is joined across sessions, providers and handovers, and an intent whose milestones are all closed while a criterion's evidence fails is refused naming that criteriondocs/CLAIMS.yaml
  • intent-refused-at-plan-startWhere the policy requires binding, starting an issue or a task that serves an intent with no critique, or with a blocking finding open, is refused when it is started rather than reported afterwardsdocs/CLAIMS.yaml
  • intent-stage-derivedAn intent's stage is derived from the milestones that realise it and each criterion from the evidence ledger, and it is satisfied only while every criterion has a current passing rundocs/CLAIMS.yaml
  • interfaces-are-projectionsMCP, HTTP, OpenAPI, Swagger UI, the capabilities commands and the generated reference are derived from the registry, and a change to one definition reaches every one of themdocs/CLAIMS.yaml
  • knowledge-derivation-is-idempotentA second derivation over the same evidence writes nothing, says so, and leaves the working tree unchanged; the record id is derived from the episode and a digest of the evidence so the same fact always lands in the same filedocs/CLAIMS.yaml
  • knowledge-derived-at-the-boundaryA provider's end event and its compaction event derive the knowledge the episode produced into candidate records under the tracked tree, from the ledger and git and never from a conversation, whether or not a task is active, and record that they did so in the ledgerdocs/CLAIMS.yaml
  • knowledge-failure-is-recordedA policy switch that is off derives nothing and says so; a derivation that fails inside a provider hook is recorded as provider.event.failed and the hook still exits 0docs/CLAIMS.yaml
  • knowledge-integrityEvery knowledge record is schema-valid with no unknown key, uniquely identified, evidenced when verified, resolves every reference it names, and carries no conversation; check, doctor and `majordomus knowledge check` refuse a record that is notdocs/CLAIMS.yaml
  • knowledge-promotion-is-an-actverified is written only by promote with evidence on stdin or by a person editing the file, never by the deriver; promotion moves the record to curated/ and rejection supersedes it with a reason, each leaving a ledger linedocs/CLAIMS.yaml
  • knowledge-served-on-every-surfaceThe candidates awaiting review, one record by id with its references resolved, and the derivation status of the checkout are one declaration each and answer with the same content over the command line, HTTP and MCPdocs/CLAIMS.yaml
  • knowledge-writer-observedA repository in which episodes close and no knowledge derivation follows within the stale threshold is reported as a stopped writer by doctor and watch, and the finding clears when a derivation is writtendocs/CLAIMS.yaml
  • landing-page-is-a-projectionThe website's homepage and feature pages name no feature, module, command, provider or count of their own, and a stale product dataset is refused by the pre-commit hook and by the rust gate before it can be mergeddocs/CLAIMS.yaml
  • ledger-integrityEvery line of the append-only ledger is a well-formed event, and a malformed line is a failure rather than a skipped recorddocs/CLAIMS.yaml
  • legacy-migrationA repository on the pre-.ai layout is migrated once, explicitly, with a previewed plan and a verified backup of its local state, and the command is idempotent afterwardsdocs/CLAIMS.yaml
  • live-scenario-evidence-is-localA live scenario is not selected by a bare usecase run, its evidence is written under the ignored local half, and it never raises a command to covered; an undischarged obligation is reported unmet, never faileddocs/CLAIMS.yaml
  • live-scenario-is-read-onlyA live scenario may only run commands share/commands.yaml declares read-only, names no setup, and asserts an obligation only where something owes one; every other shape is refused by usecase validate with exit 10docs/CLAIMS.yaml
  • local-state-ignoredCheckout-local state lives under .ai/local/, is ignored by git, and is absent on a fresh clone or worktreedocs/CLAIMS.yaml
  • mcp-client-always-servedA client that starts the MCP server from a checkout whose executable is missing or stale is served by the installed release when it is of this tree's generation and told so, and is otherwise refused with exit 12 naming the explicit build; nothing is builtdocs/CLAIMS.yaml
  • mcp-client-autostartAn MCP client opened in the repository starts the server itself, through the client configurations at the root and bin/majordomus-mcp, without ever building the executabledocs/CLAIMS.yaml
  • mcp-data-drivenWhat the MCP server serves is decided by the manifest, the declared source classes and each file's front matter, so an object added to the layer is served with no change to the executabledocs/CLAIMS.yaml
  • mcp-degraded-not-silentA file of the layer the MCP server cannot read is excluded with a diagnostic naming its path and the index says it is degraded, never silently smallerdocs/CLAIMS.yaml
  • mcp-lease-lostA server whose lease was taken over says so on the endpoint every reader probes, refuses to take on a new client, and reports that what its health describes is another process; the sessions it already had continue and it ends with themdocs/CLAIMS.yaml
  • mcp-lease-resilienceNothing a client leaves behind locks another client out of the shared server; a corrupt, empty, stale or abandoned lease is taken over and named, a client that cannot share is served alone with the reason logged, and a signal removes the lease before the server diesdocs/CLAIMS.yaml
  • mcp-peersEvery client attached to a checkout's server is a peer named by its own initialize, and majordomus_peers lists every worker of the repository - its own board and the board of every other checkout, each peer stamped with the worktree it is working in - while majordomus_announce tells the others what it is working on and which paths it expects to touchdocs/CLAIMS.yaml
  • mcp-shared-serverOne shared server serves a checkout: the first majordomus mcp binds loopback HTTP with Swagger UI and MCP over HTTP beside its stdio session and logs the URL, every later client of that checkout attaches to it, and it ends when the last client leavesdocs/CLAIMS.yaml
  • mcp-stdio-surfaceThe Rust executable serves the repository's AI layer to an MCP client over stdio, with protocol frames alone on stdoutdocs/CLAIMS.yaml
  • mcp-uri-resolutionA majordomus:// URI resolves the same way through the MCP resource read, the majordomus_get tool and the HTTP object route, and majordomus://repository answers repository.info as a JSON document tagged builtindocs/CLAIMS.yaml
  • mesh-claims-cross-runtimeAn exclusive claim made on one runtime excludes an overlapping claim on every linked runtime, and concurrent claims resolve to one named winner everywheredocs/CLAIMS.yaml
  • mesh-compaction-keeps-what-is-liveCompacting the cooperation journal changes nothing live — a handover nobody has taken keeps its stream for a bounded retention, who took a handover and who answered a review stay with them, and a compacted runtime that beats again is fetched again wholedocs/CLAIMS.yaml
  • mesh-cooperation-linksTwo runtimes of one repository link only through a signed, replay-protected handshake that checks protocol, repository identity and trust, and every refusal is typed and visibledocs/CLAIMS.yaml
  • mesh-declared-is-heldAn enabled mesh declaration whose shared server did not activate the mesh is a failed `runtime` check of `mesh doctor` (exit 10) carrying the server's reason, and a `Mesh: DECLARED ENABLED BUT NOT ACTIVE` line in the session-start briefing — never a quiet off; and this repository's committed declaration is tracked, enabled, allowlists the fleet and names a hubdocs/CLAIMS.yaml
  • mesh-firewall-is-derivedThe inbound admissions a mesh declaration implies on a machine — the multicast group's port, the declared hub ports whose address is the machine's, the server's port beyond loopback — are derived from the declaration by `majordomus mesh firewall`, which names the host's firewall backend, the commands that admit them and the firewall's own verdict, exits 10 when a rule is observed missing or the kernel logged a drop toward those ports, and whose `apply` runs the commands only as root and never over HTTP or MCP; `mesh doctor` carries the same verdict as its `firewall` checkdocs/CLAIMS.yaml
  • mesh-liveness-expiryA runtime that stops beating — crashed, killed or partitioned — expires on its peers within the declared expiry, its claims stop excluding, and its restart reconnects as the same runtime without a duplicatedocs/CLAIMS.yaml
  • mesh-network-acceptanceSeparate Linux nodes on a real network discover each other by multicast, link, share claims and handovers, and recover from a partition and a crash, in a lab CI runsdocs/CLAIMS.yaml
  • mesh-observation-not-authorityA discovered node gains no execution and no authorization from being heard; only signed traffic from a linked node may change mesh state, and trust labels records under an explicit policy that defaults to deny_unknowndocs/CLAIMS.yaml
  • mesh-off-by-defaultNo mesh discovery socket opens until the repository commits an enabled mesh declaration, and a disabled or absent declaration is reported as the reason, not an errordocs/CLAIMS.yaml
  • mesh-one-registryEvery discovery observation converges into one bounded registry, deduplicated by node and runtime identity across sources, replay-protected per instance, and every surface projects that registry and holds no peers of its owndocs/CLAIMS.yaml
  • mesh-repository-isolationRuntimes serving different repositories never form a cooperative link, even when they discover each otherdocs/CLAIMS.yaml
  • mesh-three-runtime-convergenceRuntimes linked only through a relay converge on one state digest, each event held once, with no replication loopdocs/CLAIMS.yaml
  • minimum-contextA profile declares which context a worker should load and no moredocs/CLAIMS.yaml
  • models-no-secret-fieldsThe model catalogue reports whether a vendor's named credential variable is set and can carry no secret value — the schema has no field one could hide indocs/CLAIMS.yaml
  • models-one-declarationVendors and models are declared once in share/models.yaml, and the CLI, HTTP, OpenAPI, MCP and Cockpit render that one declaration with no model name of their owndocs/CLAIMS.yaml
  • models-routing-explains-itselfA routing decision names why the selected model was selected and, for every excluded model, the first check it failed — the same answer for the same question, with no hidden statedocs/CLAIMS.yaml
  • new-code-is-coveredEvery executable line, function and region a change adds or touches in the Rust crate must be covered by a test; a change that leaves new code uncovered is refused, and untouched legacy debt is left alonedocs/CLAIMS.yaml
  • no-counts-in-contextA hardcoded count in the always-loaded file is a failuredocs/CLAIMS.yaml
  • no-networkThe shell tool performs no network call, evaluates no generated text and deletes nothing recursively; its one declared request is the loopback peer probedocs/CLAIMS.yaml
  • no-silent-overwriteA hand-edited instruction file is never silently overwrittendocs/CLAIMS.yaml
  • no-transcriptsA handover is a state record, not a transcript - its required sections must be present and non-empty, a placeholder body is refused, and its identity is computed and refused when written into the body; a transcript pasted into a section is not detecteddocs/CLAIMS.yaml
  • obligation-closureA task that declares obligations reaches the outcome completed only when each one has evidence recorded against it, and evidence taken over files that have since changed, or at a commit the branch has since left, no longer discharges anythingdocs/CLAIMS.yaml
  • obligation-establishmentAn obligation whose fact the tool can hold is established live rather than recorded — a clean tree, a remote-tracking ref that reaches the head, a trunk that reaches it, a published site that serves it — and a hand-recorded line neither discharges it nor rescues itdocs/CLAIMS.yaml
  • observatory-draws-nothing-it-did-not-readThe Observatory at /ui/observatory and /ui/kiosk shows a scene only when the capabilities it requires answered with something to draw, or, for a scene of the mesh where no mesh runs, when the repository carries a recording of it, which it labels a replay; a scene without either carries no model and states the source's reason, on a server and in the published snapshot alikedocs/CLAIMS.yaml
  • open-question-gateAn unresolved question blocks acceptance, and an entry the gate cannot parse is a failure rather than a silent passdocs/CLAIMS.yaml
  • openapi-inferredThe OpenAPI document is inferred, the tags are the modules, the examples are the benchmark cases, the responses are the router's statuses by kind, the prose is the one text every projection shares, and the site's API reference is rendered from the committed documentdocs/CLAIMS.yaml
  • overlap-reportOverlap between parallel workers is computed on claimed paths in both containment directionsdocs/CLAIMS.yaml
  • personal-layer-changes-nothing-sharedA layer installed with --personal is one person's own in a shared repository: it changes no tracked file, no .gitignore line and nothing git status shows, and the command that makes the claim verifies itdocs/CLAIMS.yaml
  • pointer-integrityEvery repository-relative reference in the always-loaded file is proven to resolvedocs/CLAIMS.yaml
  • policy-parseThe canonical policy is parsed and rejected if it contains an unknown keydocs/CLAIMS.yaml
  • product-domains-derivedThe product is filed under a few domains declared once as files of the layer; a feature names exactly one, and every domain's members, interfaces, guarantees and use cases are derived from the features that name it, so a stable feature cannot be left out of the product map without the model refusing itdocs/CLAIMS.yaml
  • product-features-discoveredA product feature is one file under the layer, discovered rather than registered, and answered by the command line, the HTTP API, the OpenAPI document, MCP, the derived graph, the capability matrix and the website's homepage and feature pages with nothing else changeddocs/CLAIMS.yaml
  • product-projection-public-safeThe dataset the website is rendered from carries only fields an allow-list names, so a feature's prose, a machine path or a field nobody allowed cannot reach a published pagedocs/CLAIMS.yaml
  • product-references-resolveEvery reference a feature makes resolves against the registry that owns it, and one that does not is an error naming the file, the key and the nearest candidate rather than a page linking to nothingdocs/CLAIMS.yaml
  • product-surfaces-derivedWhich interfaces a feature is exposed through, what stands behind it and what it answers are derived from the registries that own those facts, never authored, and a source file that writes one down is refused by its schemadocs/CLAIMS.yaml
  • profile-axesCapability class, reasoning effort, output verbosity, context and verification are five independent axesdocs/CLAIMS.yaml
  • profile-validateEvery profile is parsed, its unknown keys rejected, and the default profile proven to existdocs/CLAIMS.yaml
  • project-schemaMilestones and issues are canonical repository files, and a key nobody reads is an errordocs/CLAIMS.yaml
  • project-status-derivedIssue and milestone status is derived from recorded facts and is stored nowheredocs/CLAIMS.yaml
  • projected-record-edit-is-landableA pull request that edits a projected plan record is not refused because GitHub does not show the edit yet, and the trunk is refused for it once a declared window has passeddocs/CLAIMS.yaml
  • projection-fingerprintEvery generated instruction file carries its own stamp, and a hand edit is detecteddocs/CLAIMS.yaml
  • projection-generationProvider instruction files are generated from the one policy, deterministicallydocs/CLAIMS.yaml
  • prompt-assetA repository-local prompt renders against a closed set of state tokens, and an unknown token is an errordocs/CLAIMS.yaml
  • prompt-assetsEvery repository-local prompt asset renders, and an unknown token is a failuredocs/CLAIMS.yaml
  • prompt-captureA declared provider hook captures the person's raw prompts below the model, and doctor proves it by running itdocs/CLAIMS.yaml
  • prompt-continuityA captured prompt names the episode it belongs to or records that none could be resolved; the archive is private, bounded and free of credential materialdocs/CLAIMS.yaml
  • provider-capability-evidenceWhat each provider can do about the session lifecycle, prompt capture, driving a browser beside this server and reporting what a session consumed is one declaration with a citation per cell, every surface projects it, and no provider the declaration names goes unreporteddocs/CLAIMS.yaml
  • provider-projections-one-rendererThe provider bootstraps the policy declares (AGENTS.md, CLAUDE.md, GEMINI.md, ...) are a target of majordomus generate, rendered from the policy and the provider templates byte for byte as the shell tool renders them, and generate --check refuses a hand-edited or stale one in CIdocs/CLAIMS.yaml
  • published-translation-is-declaredA page of the published site written in a reader's language is declared with that language and a reason, and is refused unless the page declares the same language itselfdocs/CLAIMS.yaml
  • reasoning-survives-the-sessionA decision and its provenance survive the session: the next session finds them in its context and handover, reuses a standing conclusion instead of consulting again, and reopens it only on new evidencedocs/CLAIMS.yaml
  • reasoning-works-with-no-advisorMajordomus reasons, decides, implements and validates with no advisor at all: absent advisors are reported as ordinary state, material uncertainty gets a structured local review, and the conclusion claims no independent reviewdocs/CLAIMS.yaml
  • record-resolutionThe right prior record is resolved by worktree and branch, and an unrelated one is never offereddocs/CLAIMS.yaml
  • record-retentionRotating the ledger archives the oldest lines and never deletes themdocs/CLAIMS.yaml
  • record-searchDurable records are searchable literally, across kinds, without an indexdocs/CLAIMS.yaml
  • region-projectionA projection can own only the region between its markers, leaving the rest of the file untoucheddocs/CLAIMS.yaml
  • release-archive-shapeA release archive carries every path once and carries nothing but files and directoriesdocs/CLAIMS.yaml
  • release-is-complete-or-absentA release publishes an artifact for every supported target or it is not publisheddocs/CLAIMS.yaml
  • release-prerelease-channelA tag with a pre-release part is published as a prerelease, recorded on the prerelease channel, and never resolved as the stable release, so an unpinned installer and a node that follows stable keep the highest stable versiondocs/CLAIMS.yaml
  • reproduce-commandEvery finding carries the command that reproduces itdocs/CLAIMS.yaml
  • retention-capsThe append-only ledger and handover store have retention caps that are checkeddocs/CLAIMS.yaml
  • review-is-never-fabricatedA session cannot claim review it did not get: a consultation must name an advisor its recorded plan selected, a conclusion's review is computed, and reasoning check and doctor refuse a forged record, provider coupling, a model credential in CI and a refused claim in a documentdocs/CLAIMS.yaml
  • roadmap-derivedThe roadmap is derived from milestone state, and no document may be a second authority for itdocs/CLAIMS.yaml
  • routingRouting recommendations will be derived from measured cost and outcome datadocs/CLAIMS.yaml
  • rule-exemption-carries-its-reasonA rule that no program can express says so in its own front matter, with the reason, and is counted apart from every rule that has a gatedocs/CLAIMS.yaml
  • rule-proof-is-named-and-resolvesEvery rule names what proves it, and every path it names is in the treedocs/CLAIMS.yaml
  • rule-resolutionThe effective rule set is resolved as a dependency graph in a deterministic order, and a set that does not resolve is applied by nothingdocs/CLAIMS.yaml
  • rule-state-is-derived-from-what-ranA rule's proof state is derived from the tree and the ledger together, and a mechanism that refuses violations is never reported as a run that passeddocs/CLAIMS.yaml
  • runtime-adaptersOpt-in runtime adapters will clamp read size, output size and fan-out from profile-derived limitsdocs/CLAIMS.yaml
  • rust-binary-artifactThe Rust executable the rust gate built is published as an artifact with its provenance, and every Rust case drives the executable MAJORDOMUS_BIN names instead of building onedocs/CLAIMS.yaml
  • rust-coverage-floorCoverage of the Rust crate is measured with test code out of the denominator, on every change that can affect the crate and on every push to master, and the build fails under the floor in scripts/rust-coverage-threshold or under the session/continuity domain's own floor in scripts/session-coverage-thresholddocs/CLAIMS.yaml
  • rust-evidence-gatesEvery gate the Rust executable must pass is one script, scripts/rust-check, and CI runs that script on every change that can reach the cratedocs/CLAIMS.yaml
  • rust-hot-path-benchmarksThe paths of the Rust executable that scale with the repository carry criterion benchmarks that build on every push, and every executable capability declares its benchmark policy, required or waived for a typed reasondocs/CLAIMS.yaml
  • rustdoc-completeEvery item the crate exports has its rustdoc page at the route derived from its path and kind, no item page exists without its item, and a module added to the crate becomes a required page with no list editeddocs/CLAIMS.yaml
  • rustdoc-composed-from-the-topologyThe site build composes every published static surface into its output at that surface's mount, read from the committed topology with no surface named by hand, and refuses, naming the producer, when a published surface's artifact is absentdocs/CLAIMS.yaml
  • rustdoc-discoverableThe crate's rustdoc is a web surface at /rustdoc declared by discovery from the crate, present in the topology, its committed projection and the home page whether or not its producer has run, and a running server answers /rustdoc/ from the tree its producer wrotedocs/CLAIMS.yaml
  • rustdoc-publishedThe crate's rustdoc is published at /rustdoc with the site, built from the commit the site names, and is never committeddocs/CLAIMS.yaml
  • rustdoc-referencedEvery builtin module's page on the site links the page the crate's reference documents that module on, from the one module-to-page mapping the rustdoc check holds the published tree to, and only in a build that composed the referencedocs/CLAIMS.yaml
  • rustdoc-verified-liveA rustdoc tree built from another commit than the one it is checked or deployed as is refused, by the integrity check before publication and by the public verification after itdocs/CLAIMS.yaml
  • schema-driven-kindsHow each declarative kind is read and which keys it may carry is data read at run time, and a repository adds a kind with its JSON Schema without a code changedocs/CLAIMS.yaml
  • scope-declaredWhat a worker reads of the repository is declared once in .ai/repo/scope.yaml, out wins over in, and the Rust executable discovers, indexes and serves nothing outside itdocs/CLAIMS.yaml
  • scope-enforcementA touched file outside the claimed scope is a failure, not a warningdocs/CLAIMS.yaml
  • scoped-taskA task is started with a declared file scope and a profile, and only one task is active per checkoutdocs/CLAIMS.yaml
  • semantic-retrievalRanked or semantic retrieval over durable records is deliberately not implementeddocs/CLAIMS.yaml
  • session-lifecycleA provider hook opens the episode below the model and hands the worker what the last one left, records what a compaction is about to discard, and closes the episode with a continuation record beside its envelopedocs/CLAIMS.yaml
  • session-observabilityThe session subsystem has a reading of itself — every open episode of the store and not only the one the pointer follows, the episodes that can no longer close themselves, the commit the serving process is answering about, and what each provider's adapter declaresdocs/CLAIMS.yaml
  • session-recordsA closed execution episode is a shared object of the layer, written by the tool from git and the ledger, valid against a contract that admits no conversation and no absolute path, and discovered rather than registereddocs/CLAIMS.yaml
  • session-start-promptA bare claude in a supervised repository starts with the repository's session-start prompt as its first message, and a run with an argument, outside such a repository, with the opt-out, or with a prompt that cannot be rendered is left exactly as it wasdocs/CLAIMS.yaml
  • shared-policyOne policy will be shared across repositories and workersdocs/CLAIMS.yaml
  • site-deploy-one-pathThe site is deployed by one script, scripts/site-deploy, from a terminal or from the publication workflow; it refuses a dirty tree, a commit master does not contain and a build that is not HEAD's, pushes site/public to gh-pages with the source commit named, and pushes nothing when the output is unchangeddocs/CLAIMS.yaml
  • site-deploys-from-verified-runPublication is gated on everything that can make the published site wrong and waits for nothing else; the checks that decide whether a change may merge run beside it on the same commit, not in front of itdocs/CLAIMS.yaml
  • site-registry-datasetThe site's Registry page is rendered from site/data/registry/registry.json, a dataset majordomus generate site derives from the registry and the index with their fingerprints, and generate --check refuses a stale one in CIdocs/CLAIMS.yaml
  • skill-catalogueA skill is one directory under the layer's skills section holding SKILL.md, discovered by the source class `skill` the shell tool and the Rust executable both read, so that adding the file is the whole registration and the catalogue, the command, doctor, MCP and the site all derive from itdocs/CLAIMS.yaml
  • skill-checkEvery skill is validated against the allow-list generated from its schema, its directory, its sections and its references, a violation names the file and every reason, and a repository with no skills is reported rather than passeddocs/CLAIMS.yaml
  • skill-site-projectionThe website's skills section is rendered from the skills catalogue, one page per skill carrying the skill's own body and examples, and a removed or renamed skill leaves no page, entry or link behinddocs/CLAIMS.yaml
  • suite-parallelThe behavioural suite runs a bounded number of cases at a time with the serial runner's semantics, a case that writes into the checkout declares itself exclusive and runs alone, and the parallel phase fails naming the paths when the checkout changed under itdocs/CLAIMS.yaml
  • task-commit-attributionA task will know which commits it produced, rather than inferring them from a rangedocs/CLAIMS.yaml
  • task-dependenciesA task record has no dependencies; sequencing between sessions is not representeddocs/CLAIMS.yaml
  • telemetryExecution telemetry will be recorded once a provider exposes it honestlydocs/CLAIMS.yaml
  • the-closing-question-is-measuredWhether a task added debt, left a branch or a worktree behind, or grew the backlog is answered by the done invariant from git, the debt baselines and the recorded forge observation, measured from where the task started; a reading that was not taken is unknown, never a passdocs/CLAIMS.yaml
  • token-savings-measuredMajordomus will state a total-token change only from matched, verified runs that meet the methodology's publication ruledocs/CLAIMS.yaml
  • tool-location-independentThe tool runs read-only from any location, and two locations of one version agree about one repositorydocs/CLAIMS.yaml
  • typed-outcomeAn outcome is a value from a closed vocabulary, not free textdocs/CLAIMS.yaml
  • ui-dashboard-cites-its-sourcesThe UI's dashboard at /ui links every capability it read to that capability's page, serves under the Cockpit's security policy, and never waits for the pull-request queue, which is a page and a fragment of its owndocs/CLAIMS.yaml
  • use-case-coverageEvery public command is named and run by an active use case, a guaranteed claim or an MCP tool without one is a named gap, and the policy says which gaps fail doctor, check and finishdocs/CLAIMS.yaml
  • use-case-evidenceA use case's scenario executes against the real tool in a disposable repository, every step's exit code and output are asserted, and the normalised evidence is what the site showsdocs/CLAIMS.yaml
  • use-case-impactFrom the files a change touched, the tool names the commands, rules, use cases, scenarios and behavioural cases affected, and scaffolds a draft for a capability no use case coversdocs/CLAIMS.yaml
  • vendored-rule-packageThe rule baseline is vendored into the repository with a manifest naming every file and its hash, and a hand edit is detected and refuseddocs/CLAIMS.yaml
  • web-namespaces-reserved/docs serves this repository's documentation and /swagger serves the Swagger UI, and neither may take the other's mountdocs/CLAIMS.yaml
  • web-surface-declared-onceEvery web surface is declared once at its producer and resolved into one topology, from which the router, the landing page and the machine-readable index are each projecteddocs/CLAIMS.yaml
  • why-catalogue-discoveredAn operational moment is one file under the layer, discovered rather than registered, and answered by the command line, the HTTP API, the OpenAPI document, MCP, the derived graph and the website with nothing else changeddocs/CLAIMS.yaml
  • why-diagnosis-explainableA diagnosis of a reader's own symptoms is deterministic counting over the catalogue's metadata, and every recommendation names the moments that produced itdocs/CLAIMS.yaml
  • why-references-resolveEvery reference a moment makes resolves against the thing it names, and one that does not is an error carrying the nearest candidatedocs/CLAIMS.yaml
  • wiring-reconciliationEvery enforcement the policy declares is reconciled against what actually runsdocs/CLAIMS.yaml
  • worktree-migration-losslessA misplaced worktree is brought to its canonical path with its modified, staged, unstaged and untracked work intact, verified by a fingerprint taken before and after the move, and a step is reported as moved only when the two are equaldocs/CLAIMS.yaml
  • worktree-ownershipA task record names the checkout it belongs to, and another checkout is never held to its scopedocs/CLAIMS.yaml
  • worktree-topology-derivedA branch's worktree path is derived from git identity and the branch name alone — the primary checkout's sibling named with -wt, then the branch with its hierarchy kept — and is the same answer from every directory of every worktree, with nothing registered or configureddocs/CLAIMS.yaml
command 31
  • adradrshare/commands.yaml
  • archivearchiveshare/commands.yaml
  • benchbenchshare/commands.yaml
  • capturecaptureshare/commands.yaml
  • checkcheckshare/commands.yaml
  • checkpointcheckpointshare/commands.yaml
  • contextcontextshare/commands.yaml
  • decisiondecisionshare/commands.yaml
  • doctordoctorshare/commands.yaml
  • doctrinedoctrineshare/commands.yaml
  • evidenceevidenceshare/commands.yaml
  • finishfinishshare/commands.yaml
  • handoverhandovershare/commands.yaml
  • helphelpshare/commands.yaml
  • historyhistoryshare/commands.yaml
  • initinitshare/commands.yaml
  • knowledgeknowledgeshare/commands.yaml
  • migratemigrateshare/commands.yaml
  • planplanshare/commands.yaml
  • promptpromptshare/commands.yaml
  • questionquestionshare/commands.yaml
  • recoverrecovershare/commands.yaml
  • rulesrulesshare/commands.yaml
  • searchsearchshare/commands.yaml
  • sessionsessionshare/commands.yaml
  • skillsskillsshare/commands.yaml
  • startstartshare/commands.yaml
  • updateupdateshare/commands.yaml
  • usecaseusecaseshare/commands.yaml
  • versionversionshare/commands.yaml
  • watchwatchshare/commands.yaml
context 39
  • ai.layerRepository AI context.ai/README.md
  • ai.repoTracked repository context.ai/repo/README.md
  • ai.repo.adrsArchitecture decisions.ai/repo/adrs/README.md
  • ai.repo.applicationsApplications.ai/repo/applications/README.md
  • ai.repo.automationAutomation inventory.ai/repo/automation/README.md
  • ai.repo.benchmarksBenchmarks.ai/repo/benchmarks/README.md
  • ai.repo.benchmarks.economicsToken economics benchmark.ai/repo/benchmarks/economics/README.md
  • ai.repo.benchmarks.observatoryObservatory evidence.ai/repo/benchmarks/observatory/README.md
  • ai.repo.benchmarks.pagesPublication baselines.ai/repo/benchmarks/pages/README.md
  • ai.repo.benchmarks.rustExecutable baselines.ai/repo/benchmarks/rust/README.md
  • ai.repo.ciContinuous integration.ai/repo/ci/README.md
  • ai.repo.deploymentsDeployments.ai/repo/deployments/README.md
  • ai.repo.evidenceEvidence.ai/repo/evidence/README.md
  • ai.repo.featuresProduct features.ai/repo/features/README.md
  • ai.repo.features.domainsProduct domains.ai/repo/features/domains/README.md
  • ai.repo.knowledgeKnowledge.ai/repo/knowledge/README.md
  • ai.repo.knowledge.candidatesCandidate records.ai/repo/knowledge/candidates/README.md
  • ai.repo.knowledge.curatedCurated notes.ai/repo/knowledge/curated/README.md
  • ai.repo.meshMesh.ai/repo/mesh/README.md
  • ai.repo.observatoryObservatory recording.ai/repo/observatory/README.md
  • ai.repo.offloadDerive offload.ai/repo/offload/README.md
  • ai.repo.profilesProfiles.ai/repo/profiles/README.md
  • ai.repo.projectProject model.ai/repo/project/README.md
  • ai.repo.project.critiquesPlan critiques.ai/repo/project/critiques/README.md
  • ai.repo.project.gapsGap analyses.ai/repo/project/gaps/README.md
  • ai.repo.project.intentsIntents.ai/repo/project/intents/README.md
  • ai.repo.project.issuesIssues.ai/repo/project/issues/README.md
  • ai.repo.project.milestonesMilestones.ai/repo/project/milestones/README.md
  • ai.repo.promptsPrompt assets.ai/repo/prompts/README.md
  • ai.repo.providersProvider templates.ai/repo/providers/README.md
  • ai.repo.releasesPublished releases.ai/repo/releases/README.md
  • ai.repo.rulesRepository rules.ai/repo/rules/README.md
  • ai.repo.rules.projectProject rules.ai/repo/rules/project/README.md
  • ai.repo.sessionsSession records.ai/repo/sessions/README.md
  • ai.repo.skillsSkills.ai/repo/skills/README.md
  • ai.repo.use-casesUse cases.ai/repo/use-cases/README.md
  • ai.repo.whyWhy this tool exists.ai/repo/why/README.md
  • ai.repo.workflowsWorkflows.ai/repo/workflows/README.md
  • ai.repo.workspacesExternal workspaces.ai/repo/workspaces/README.md
critique 37
  • a-brief-is-reconciled-into-the-plana-brief-is-reconciled-into-the-plan.ai/repo/project/critiques/a-brief-is-reconciled-into-the-plan.yaml
  • a-browser-computes-what-the-server-verifiesa-browser-computes-what-the-server-verifies.ai/repo/project/critiques/a-browser-computes-what-the-server-verifies.yaml
  • a-build-reuses-what-the-mesh-already-builta-build-reuses-what-the-mesh-already-built.ai/repo/project/critiques/a-build-reuses-what-the-mesh-already-built.yaml
  • a-change-is-judged-in-minutesa-change-is-judged-in-minutes.ai/repo/project/critiques/a-change-is-judged-in-minutes.yaml
  • a-change-reconciles-what-it-affectsa-change-reconciles-what-it-affects.ai/repo/project/critiques/a-change-reconciles-what-it-affects.yaml
  • a-claim-stands-only-on-its-evidencea-claim-stands-only-on-its-evidence.ai/repo/project/critiques/a-claim-stands-only-on-its-evidence.yaml
  • a-person-runs-majordomus-from-a-phonea-person-runs-majordomus-from-a-phone.ai/repo/project/critiques/a-person-runs-majordomus-from-a-phone.yaml
  • a-provider-carries-the-contract-nativelya-provider-carries-the-contract-natively.ai/repo/project/critiques/a-provider-carries-the-contract-natively.yaml
  • a-session-leaves-what-it-observeda-session-leaves-what-it-observed.ai/repo/project/critiques/a-session-leaves-what-it-observed.yaml
  • a-session-record-says-what-it-serveda-session-record-says-what-it-served.ai/repo/project/critiques/a-session-record-says-what-it-served.yaml
  • a-stranger-adopts-it-unaideda-stranger-adopts-it-unaided.ai/repo/project/critiques/a-stranger-adopts-it-unaided.yaml
  • a-version-follows-every-sessiona-version-follows-every-session.ai/repo/project/critiques/a-version-follows-every-session.yaml
  • a-visitor-understands-and-checks-majordomusa-visitor-understands-and-checks-majordomus.ai/repo/project/critiques/a-visitor-understands-and-checks-majordomus.yaml
  • an-authorised-node-connects-from-anywherean-authorised-node-connects-from-anywhere.ai/repo/project/critiques/an-authorised-node-connects-from-anywhere.yaml
  • campaigns-are-provenance-the-plan-readscampaigns-are-provenance-the-plan-reads.ai/repo/project/critiques/campaigns-are-provenance-the-plan-reads.yaml
  • entry-proves-what-it-handedentry-proves-what-it-handed.ai/repo/project/critiques/entry-proves-what-it-handed.yaml
  • every-capability-has-one-owner-and-the-cli-never-buildsevery-capability-has-one-owner-and-the-cli-never-builds.ai/repo/project/critiques/every-capability-has-one-owner-and-the-cli-never-builds.yaml
  • every-model-call-is-paid-from-a-declared-sourceevery-model-call-is-paid-from-a-declared-source.ai/repo/project/critiques/every-model-call-is-paid-from-a-declared-source.yaml
  • every-sessions-usage-is-observedevery-sessions-usage-is-observed.ai/repo/project/critiques/every-sessions-usage-is-observed.yaml
  • every-surface-follows-what-changedevery-surface-follows-what-changed.ai/repo/project/critiques/every-surface-follows-what-changed.yaml
  • finished-work-reaches-a-verified-releasefinished-work-reaches-a-verified-release.ai/repo/project/critiques/finished-work-reaches-a-verified-release.yaml
  • intent-bound-workintent-bound-work.ai/repo/project/critiques/intent-bound-work.yaml
  • intent-planningintent-planning.ai/repo/project/critiques/intent-planning.yaml
  • landing-survives-any-sessionlanding-survives-any-session.ai/repo/project/critiques/landing-survives-any-session.yaml
  • merging-and-referencing-are-enforcedmerging-and-referencing-are-enforced.ai/repo/project/critiques/merging-and-referencing-are-enforced.yaml
  • nothing-in-the-mesh-waits-on-something-deadnothing-in-the-mesh-waits-on-something-dead.ai/repo/project/critiques/nothing-in-the-mesh-waits-on-something-dead.yaml
  • operation-convergenceoperation-convergence.ai/repo/project/critiques/operation-convergence.yaml
  • repository-automation-is-typedrepository-automation-is-typed.ai/repo/project/critiques/repository-automation-is-typed.yaml
  • the-layer-evolves-when-it-is-duethe-layer-evolves-when-it-is-due.ai/repo/project/critiques/the-layer-evolves-when-it-is-due.yaml
  • the-mesh-is-operated-from-any-devicethe-mesh-is-operated-from-any-device.ai/repo/project/critiques/the-mesh-is-operated-from-any-device.yaml
  • the-owner-directs-work-from-the-uithe-owner-directs-work-from-the-ui.ai/repo/project/critiques/the-owner-directs-work-from-the-ui.yaml
  • the-owner-oversees-the-mesh-from-one-pagethe-owner-oversees-the-mesh-from-one-page.ai/repo/project/critiques/the-owner-oversees-the-mesh-from-one-page.yaml
  • the-peer-blackboard-is-one-realitythe-peer-blackboard-is-one-reality.ai/repo/project/critiques/the-peer-blackboard-is-one-reality.yaml
  • the-product-proves-it-paysthe-product-proves-it-pays.ai/repo/project/critiques/the-product-proves-it-pays.yaml
  • the-product-shows-what-it-caughtthe-product-shows-what-it-caught.ai/repo/project/critiques/the-product-shows-what-it-caught.yaml
  • the-ui-runs-and-explains-the-workthe-ui-runs-and-explains-the-work.ai/repo/project/critiques/the-ui-runs-and-explains-the-work.yaml
  • what-a-workspace-decides-reaches-the-repository-with-its-sourcewhat-a-workspace-decides-reaches-the-repository-with-its-source.ai/repo/project/critiques/what-a-workspace-decides-reaches-the-repository-with-its-source.yaml
deployment 1
  • majordomusThe Majordomus layer, served from its container image.ai/repo/deployments/majordomus.yaml
derive-offload 1
  • derive.ai/repo/offload/derive.yaml
distribution-model 1
  • share/distribution.yamlshare/distribution.yaml
document 353
  • .ai/repo/skills/assess-before-deleting/examples/remove-stale-worktrees.mdRemove worktrees that look finished.ai/repo/skills/assess-before-deleting/examples/remove-stale-worktrees.md
  • .ai/repo/skills/evolve/examples/after-an-incident.mdAfter an incident.ai/repo/skills/evolve/examples/after-an-incident.md
  • .ai/repo/skills/implement/examples/add-a-catalogue-item.mdAdd a declarative catalogue item.ai/repo/skills/implement/examples/add-a-catalogue-item.md
  • .ai/repo/skills/implement/examples/fix-a-defect.mdFix a defect.ai/repo/skills/implement/examples/fix-a-defect.md
  • .ai/repo/skills/implement/examples/implement-a-feature.mdImplement a feature from an issue.ai/repo/skills/implement/examples/implement-a-feature.md
  • .ai/repo/skills/implement/examples/make-an-operation-faster.mdMake an operation faster.ai/repo/skills/implement/examples/make-an-operation-faster.md
  • .ai/repo/skills/implement/examples/refactor-without-behaviour-change.mdRefactor a subsystem without changing its behaviour.ai/repo/skills/implement/examples/refactor-without-behaviour-change.md
  • .ai/repo/skills/pack-for-chatgpt/examples/upload-sources-to-a-project.mdUpload the sources to a ChatGPT project.ai/repo/skills/pack-for-chatgpt/examples/upload-sources-to-a-project.md
  • .ai/repo/skills/pack-for-review/examples/second-opinion-from-another-model.mdA second opinion from a model without the checkout.ai/repo/skills/pack-for-review/examples/second-opinion-from-another-model.md
  • .ai/repo/skills/repo-review/examples/review-a-subsystem.mdReview a subsystem.ai/repo/skills/repo-review/examples/review-a-subsystem.md
  • .ai/repo/skills/repo-review/examples/review-against-an-issue.mdReview an implementation against its issue.ai/repo/skills/repo-review/examples/review-against-an-issue.md
  • .ai/repo/skills/repo-review/examples/review-current-diff.mdReview the current diff.ai/repo/skills/repo-review/examples/review-current-diff.md
  • .ai/repo/skills/repo-review/examples/review-generated-synchronisation.mdReview generated files and documents for drift.ai/repo/skills/repo-review/examples/review-generated-synchronisation.md
  • .ai/repo/skills/repo-review/examples/review-repository-architecture.mdReview the whole repository's architecture.ai/repo/skills/repo-review/examples/review-repository-architecture.md
  • .ai/repo/skills/report-verification-state/examples/final-report-of-a-task.mdFinal report of a task.ai/repo/skills/report-verification-state/examples/final-report-of-a-task.md
  • .ai/repo/workflows/continuity.mdContinuity.ai/repo/workflows/continuity.md
  • .ai/repo/workflows/foreign-repository-adoption.mdForeign repository adoption.ai/repo/workflows/foreign-repository-adoption.md
  • .ai/repo/workflows/plan.mdTaking work from the plan.ai/repo/workflows/plan.md
  • .ai/repo/workflows/task-lifecycle.mdThe task lifecycle.ai/repo/workflows/task-lifecycle.md
  • .ai/repo/workflows/use-cases.mdUse cases.ai/repo/workflows/use-cases.md
  • AGENTS.mdAGENTS.mdAGENTS.md
  • CLAUDE.mdCLAUDE.mdCLAUDE.md
  • CONTRIBUTING.mdContributingCONTRIBUTING.md
  • GEMINI.mdGEMINI.mdGEMINI.md
  • README.mdPrismatic MajordomusREADME.md
  • SECURITY.mdSecuritySECURITY.md
  • docs/ADOPTION.mdAdoptiondocs/ADOPTION.md
  • docs/ADOPTION_FIRST_RUN.mdFirst run in a foreign repository — forensic findingdocs/ADOPTION_FIRST_RUN.md
  • docs/ARCHIVE.mdArchiving the repositorydocs/ARCHIVE.md
  • docs/BACKLOG.mdBacklogdocs/BACKLOG.md
  • docs/BLACKBOARD.mdThe peer blackboarddocs/BLACKBOARD.md
  • docs/BRIEF.mdThe session brief — `majordomus brief`docs/BRIEF.md
  • docs/BUILD_CACHE.mdThe build cache, as a person sees itdocs/BUILD_CACHE.md
  • docs/CAPABILITIES.mdCapabilities — one definition, every interface deriveddocs/CAPABILITIES.md
  • docs/CATALOGUE.mdThe cataloguedocs/CATALOGUE.md
  • docs/CI.mdContinuous integrationdocs/CI.md
  • docs/CLI.mdCLI specification — `majordomus`docs/CLI.md
  • docs/COCKPIT.mdThe Cockpit — the registry, rendered for a persondocs/COCKPIT.md
  • docs/COCKPIT_IDE_AUDIT.mdThe Cockpit as a development surface: baseline, archaeology and gap matrixdocs/COCKPIT_IDE_AUDIT.md
  • docs/COMMANDS.mdThe command graphdocs/COMMANDS.md
  • docs/COMMIT.mdThe commitdocs/COMMIT.md
  • docs/CONCEPTS.mdConceptsdocs/CONCEPTS.md
  • docs/CONTEXT.mdScoped contextdocs/CONTEXT.md
  • docs/CONTINUITY.mdContinuity — how work survives the session that was doing itdocs/CONTINUITY.md
  • docs/COVERAGE.mdCoverage: one measurement, two questionsdocs/COVERAGE.md
  • docs/DELIVERY.mdDeliverydocs/DELIVERY.md
  • docs/DESIGN.mdPrismatic Majordomusdocs/DESIGN.md
  • docs/DESIGN_SYSTEM.mdThe design system — one declaration, every surfacedocs/DESIGN_SYSTEM.md
  • docs/DEVELOPMENT_RUNTIME.mdThe development runtimedocs/DEVELOPMENT_RUNTIME.md
  • docs/DIAGRAMS.mdDiagrams and chartsdocs/DIAGRAMS.md
  • docs/DISTRIBUTION.mdDistributiondocs/DISTRIBUTION.md
  • docs/DOCTRINE.mdDoctrinedocs/DOCTRINE.md
  • docs/DOGFOODING.mdDogfoodingdocs/DOGFOODING.md
  • docs/DYNAMICITY.mdCanonical ownership and derivationdocs/DYNAMICITY.md
  • docs/ECONOMICS.mdEconomicsdocs/ECONOMICS.md
  • docs/EDITORS.mdEditors and agentsdocs/EDITORS.md
  • docs/ENTRY.mdEntering the repositorydocs/ENTRY.md
  • docs/ENTRY_AUDIT.mdRepository entry: what is automatic, what is decorative, and where it breaksdocs/ENTRY_AUDIT.md
  • docs/ENVIRONMENT.mdThe repository environment — one snapshot, every surface a renderingdocs/ENVIRONMENT.md
  • docs/EVIDENCE.mdEvidence — what ran, against which commit, and whether it still proves anythingdocs/EVIDENCE.md
  • docs/EXECUTIONS.mdExecutions — watching a capability call happendocs/EXECUTIONS.md
  • docs/EXTRACTION_REPORT.mdExtraction Report — Prismatic Majordomus v0.1 design phasedocs/EXTRACTION_REPORT.md
  • docs/GITHUB_PAGES_ARCHITECTURE.mdGitHub Pages architecturedocs/GITHUB_PAGES_ARCHITECTURE.md
  • docs/GITHUB_PAGES_PERFORMANCE.mdGitHub Pages performancedocs/GITHUB_PAGES_PERFORMANCE.md
  • docs/GUIDE.mdGuide — what Majordomus does for a team, how each part works, and the tests that prove itdocs/GUIDE.md
  • docs/HANDBOOK.mdThe handbookdocs/HANDBOOK.md
  • docs/HOW_IT_WORKS.mdHow Majordomus works — one repository model, many projectionsdocs/HOW_IT_WORKS.md
  • docs/INSTALL.mdInstalling Majordomusdocs/INSTALL.md
  • docs/INTEGRATION.mdPull-request integrationdocs/INTEGRATION.md
  • docs/INTEGRATION_ROLLOUT.mdIntegration rollout recorddocs/INTEGRATION_ROLLOUT.md
  • docs/KNOWLEDGE.mdKnowledge — what an episode learned, derived at its boundary and promoted by a persondocs/KNOWLEDGE.md
  • docs/LAUNCH.mdLaunch kitdocs/LAUNCH.md
  • docs/MAJORDOMUS_UI.md`majordomus ui` — the productdocs/MAJORDOMUS_UI.md
  • docs/MCP.mdMCP surface — `majordomus mcp`docs/MCP.md
  • docs/MESH.mdMajordomus Meshdocs/MESH.md
  • docs/MODELS.mdThe model cataloguedocs/MODELS.md
  • docs/MONITOR.mdThe monitordocs/MONITOR.md
  • docs/OFFLOAD.mdThe derive offloaddocs/OFFLOAD.md
  • docs/PAGES_STATUS.mdGitHub Pages performance statusdocs/PAGES_STATUS.md
  • docs/PERFORMANCE.mdPerformance truthdocs/PERFORMANCE.md
  • docs/PERSONAL_MODE.mdPersonal mode: Majordomus as one person's instrumentdocs/PERSONAL_MODE.md
  • docs/PLANNING.mdPlanning — milestones, issues, and the graph between themdocs/PLANNING.md
  • docs/PLAN_STATUS.mdPlan statusdocs/PLAN_STATUS.md
  • docs/PREFLIGHT.mdThe preflight — what is in force here, and what proves itdocs/PREFLIGHT.md
  • docs/PRODUCT.mdProduct — the features, and the landing page as a projection of themdocs/PRODUCT.md
  • docs/QUALITY.mdPublic API qualitydocs/QUALITY.md
  • docs/README.mdDocumentation indexdocs/README.md
  • docs/REASONING.mdReasoningdocs/REASONING.md
  • docs/RELEASE.mdThe release — a changelog nobody writes, and one writer for the versiondocs/RELEASE.md
  • docs/ROADMAP.mdThe roadmap — milestones as a graphdocs/ROADMAP.md
  • docs/RUSTDOC.mdThe crate's reference — rustdoc, published at `/rustdoc`docs/RUSTDOC.md
  • docs/SCHEMAS.mdFile schemas — every file Majordomus reads or writesdocs/SCHEMAS.md
  • docs/SCOPE.mdThe repository scopedocs/SCOPE.md
  • docs/SHELL.mdShell automationdocs/SHELL.md
  • docs/SITE_CLAIMS.mdSite claimsdocs/SITE_CLAIMS.md
  • docs/SITE_REVIEW.mdSite review — route audit, ownership, validationdocs/SITE_REVIEW.md
  • docs/SURFACES.mdHow Majordomus derives its surfaces — one typed reality, many projectionsdocs/SURFACES.md
  • docs/TWO_FOLDER_CONSOLIDATION.mdTwo-folder consolidation — the adoption footprint, and the plan it justifiesdocs/TWO_FOLDER_CONSOLIDATION.md
  • docs/UI.mdUI conformance — `scripts/ui`docs/UI.md
  • docs/USE_CASES.mdExecutable use casesdocs/USE_CASES.md
  • docs/WEB.mdThe web surface — discovered from its producer, projected oncedocs/WEB.md
  • docs/WHY.mdWhy — the operational moments, as datadocs/WHY.md
  • docs/WORKTREES.mdWorktreesdocs/WORKTREES.md
  • docs/claims/a-candidate-is-routed-by-what-it-is-about.mdEvery observation candidate is routed by the structure of what it is aboutdocs/claims/a-candidate-is-routed-by-what-it-is-about.md
  • docs/claims/a-diagram-is-named-linked-and-addressable.mdEvery Mermaid diagram of the built site gets an id (diagram-<name>), the list of its nodes, the viewer's controls and a link for each node that is the identity of an object the site has a page for, all derived at build; a link to #diagram-<name>:<node> fails the build when the diagram does not declare the nodedocs/claims/a-diagram-is-named-linked-and-addressable.md
  • docs/claims/a-finding-names-how-to-see-it-again.mdEvery finding a command reports names the command that reproduces itdocs/claims/a-finding-names-how-to-see-it-again.md
  • docs/claims/a-session-records-what-it-observed.mdknowledge observe records one observation.recorded line of a fixed shape, and refuses any otherdocs/claims/a-session-records-what-it-observed.md
  • docs/claims/a-skipped-case-is-not-a-proof.mdA test case that declines to run is reported as a skip and recorded as one, so the evidence ledger can never read a case that asserted nothing as the proof of the claim it namesdocs/claims/a-skipped-case-is-not-a-proof.md
  • docs/claims/adr-catalogue.mdAn architecture decision is one file under the layer's adrs section, validated against the decision contract, with an identity nothing else claims, reciprocal supersession, and every reference it makes resolvingdocs/claims/adr-catalogue.md
  • docs/claims/adr-propose.md`majordomus adr propose` writes a decision with status proposed and refuses to write any other status, allocates its identity under a lock so concurrent workers never collide, and records what the decision was derived fromdocs/claims/adr-propose.md
  • docs/claims/adr-traceability.mdA decision states what it put in force as typed references, each one validated, and the reverse direction is read from the knowledge graph rather than written down a second timedocs/claims/adr-traceability.md
  • docs/claims/advertised-install-command-works.mdThe install command this project advertises is run, from the published site, and proved to workdocs/claims/advertised-install-command-works.md
  • docs/claims/advice-is-weighed-not-counted.mdAdvisors that disagree never decide by count: a conclusion is refused while a disagreement on its assessment is unsettled, a resolution needs evidence, and every answer received must be weigheddocs/claims/advice-is-weighed-not-counted.md
  • docs/claims/advisor-failure-is-recorded-and-recovers.mdAn advisor that times out, is rate limited, refuses its credential or answers malformed is recorded as exactly that, never blocks the work, opens a circuit that closes again after its cooldown, and never fails the sessiondocs/claims/advisor-failure-is-recorded-and-recovers.md
  • docs/claims/advisor-transports-share-one-contract.mdEvery advisor transport is held to one contract — typed failures, deadlines, cancellation, normalised answers, reported usage, redacted secrets — proven against fakes with no network, model or credentialdocs/claims/advisor-transports-share-one-contract.md
  • docs/claims/advisors-are-declared-once.mdAdvisors are declared once, in share/advisors.yaml, by reference to the provider table and the model catalogue; a new advisor reaches the command line, the policy, HTTP, OpenAPI, MCP and the Cockpit with no consumer editeddocs/claims/advisors-are-declared-once.md
  • docs/claims/ai-layer-manifest.mdThe repository's AI layer is one directory whose manifest names every section, readable without the tooldocs/claims/ai-layer-manifest.md
  • docs/claims/an-observation-becomes-a-grouped-candidate.mdEach observation becomes a candidate of its own at its episode's end, and reading groups them by subjectdocs/claims/an-observation-becomes-a-grouped-candidate.md
  • docs/claims/archive-fidelity.mdAn archive that lost the file modes fails rather than travellingdocs/claims/archive-fidelity.md
  • docs/claims/authored-files-are-english.mdEvery authored file in this repository is spelled in Englishdocs/claims/authored-files-are-english.md
  • docs/claims/benchmark-coverage-derived.mdEvery externally callable operation of the Rust executable is a benchmark target with a denominator generated from the registry, and a missing case fails the structural checkdocs/claims/benchmark-coverage-derived.md
  • docs/claims/blocker-store.mdAn unparseable question blocks acceptance exactly as an unresolved one doesdocs/claims/blocker-store.md
  • docs/claims/blocker-survives-handover.mdA blocking question keeps blocking after the work is handed to a new taskdocs/claims/blocker-survives-handover.md
  • docs/claims/bootstrap-chain.mdProvider instruction files are thin bootstraps that point at the AI layer and carry no rule of their owndocs/claims/bootstrap-chain.md
  • docs/claims/briefing-names-candidates.mdThe start briefing names the candidates awaiting review on this branch, count and ids, bounded and within the briefing budget, and prints their absence rather than omitting itdocs/claims/briefing-names-candidates.md
  • docs/claims/candidates-reviewed-not-accumulated.mdMore candidates than the policy cap, or a candidate older than the policy age, is an advisory doctor finding that names themdocs/claims/candidates-reviewed-not-accumulated.md
  • docs/claims/capability-class.mdA profile names a capability class rather than a vendor modeldocs/claims/capability-class.md
  • docs/claims/capability-modules.mdA capability of the Rust executable is declared once and composed into its module, the root composes modules, and the registry refuses a capability outside its module's namespacedocs/claims/capability-modules.md
  • docs/claims/capability-registry.mdEvery capability of the Rust executable is defined once, and the registry refuses a duplicate id or a colliding projection name, naming both partiesdocs/claims/capability-registry.md
  • docs/claims/catalogue-resolves.mdA use case cannot name something the tool does not havedocs/claims/catalogue-resolves.md
  • docs/claims/checkpoint-interval.mdA profile sets how often a worker should checkpoint, and a stale task is reporteddocs/claims/checkpoint-interval.md
  • docs/claims/checkpoint-record.mdA checkpoint is a capped progress record, and a body over the cap is refuseddocs/claims/checkpoint-record.md
  • docs/claims/ci-planned-gates.mdA change runs the gates its paths can affect, decided by one model of what affects what, and a change to the pipeline itself or a path the model does not know runs every gatedocs/claims/ci-planned-gates.md
  • docs/claims/ci-verdict-is-required.mdNo pull request can be merged into the default branch while the verdict status is red, because a branch rule requires itdocs/claims/ci-verdict-is-required.md
  • docs/claims/ci-verdict.mdThe verdict status is green only when planning succeeded and every gate the plan selected ran in a job that succeeded; a failed or cancelled job, a selected gate whose job was skipped, or a plan that selected nothing is reddocs/claims/ci-verdict.md
  • docs/claims/cli-documentation-executable.mdEvery command of the Rust executable's command line carries a summary, help on every argument and, where it runs, at least one example, the root carries a long description, and every example shown to a reader is executed against the built executabledocs/claims/cli-documentation-executable.md
  • docs/claims/cockpit-is-a-projection-of-the-registry.mdA capability added to the registry reaches every Cockpit surface without one line of the Cockpit being editeddocs/claims/cockpit-is-a-projection-of-the-registry.md
  • docs/claims/command-coverage.mdEvery public command has a behavioural test and a negative test, computed rather than remembereddocs/claims/command-coverage.md
  • docs/claims/command-surface.mdThe public command surface is declared, and reconciled against the dispatcherdocs/claims/command-surface.md
  • docs/claims/commit-message-is-judged.mdA commit message that does not satisfy the policy is refused while it is being writtendocs/claims/commit-message-is-judged.md
  • docs/claims/commit-plan-is-refusable.mdA commit plan carries what it was derived from, so a stale one is refused rather than applieddocs/claims/commit-plan-is-refusable.md
  • docs/claims/commit-scopes-are-learned.mdThe scope vocabulary is learned from the history, not kept in a tabledocs/claims/commit-scopes-are-learned.md
  • docs/claims/connection-episode.mdA client with no provider hooks gets an execution episode from the MCP connection, resumes its own after a crash, and never has its prompt claimed to be captureddocs/claims/connection-episode.md
  • docs/claims/consistency-check.mdcheck reports whether state, scope, blockers and checkpoint age are consistent right nowdocs/claims/consistency-check.md
  • docs/claims/context-assembly.mdThe context a worker is given is assembled from durable state in authority orderdocs/claims/context-assembly.md
  • docs/claims/context-budget.mdThe always-loaded instruction file has a line budget with a failing checkdocs/claims/context-budget.md
  • docs/claims/context-coverage.mdEvery directory of the layer carries a context document, the exemption is declared by the contract that governs the subtree, and a descendant may narrow that requirement but never weaken itdocs/claims/context-coverage.md
  • docs/claims/context-documents.mdThe context that applies to a path is composed from the layer's scoped documents, root to target, in one deterministic order with provenance, and a tree that does not validate resolves nothingdocs/claims/context-documents.md
  • docs/claims/context-impact.mdThe impact of a change set on the scoped context is reported from git — the documents, the scopes below them, moves with their ancestry, tracked sources to review, and stale projections — and an unrelated change reports nothingdocs/claims/context-impact.md
  • docs/claims/context-selection-budget.mdThe assembled context obeys a line budget, and every section it drops is nameddocs/claims/context-selection-budget.md
  • docs/claims/context-selection-counted.mdWhat the context compiler selects is counted, not estimateddocs/claims/context-selection-counted.md
  • docs/claims/continuity-reachable.mdEvery continuity store is proven reachable through its own commanddocs/claims/continuity-reachable.md
  • docs/claims/cost-per-outcome.mdCost per accepted outcome will be reported from measured data onlydocs/claims/cost-per-outcome.md
  • docs/claims/dag-validation.mdA cycle, a self-dependency and a dependency on an issue that does not exist are each refused by namedocs/claims/dag-validation.md
  • docs/claims/decision-attribution.mdA decision record without a task, a head and a reason is reporteddocs/claims/decision-attribution.md
  • docs/claims/decision-record.mdA decision is recorded with its reason, and superseded rather than editeddocs/claims/decision-record.md
  • docs/claims/deployment-contract-refuses-by-name.mdA deployment that breaks its closed contract is refused by doctor with the reason nameddocs/claims/deployment-contract-refuses-by-name.md
  • docs/claims/derivation-one-graph.mdEvery committed derived artifact is regenerated by one command in dependency order and checked by one read-only commanddocs/claims/derivation-one-graph.md
  • docs/claims/derived-data-current.mdA commit whose derived data is behind its canonical inputs is refused before it existsdocs/claims/derived-data-current.md
  • docs/claims/derived-not-declared.mdWhat the tool knows about itself is written once and derived everywhere elsedocs/claims/derived-not-declared.md
  • docs/claims/dispatcher-wiring.mdWiring is found in a hook or in any subhook of the directory it dispatches todocs/claims/dispatcher-wiring.md
  • docs/claims/distribution-canonical-model.mdEvery platform, artifact name and installation URL is derived from one model, and a projection that disagrees with it is refuseddocs/claims/distribution-canonical-model.md
  • docs/claims/divergence-label.mdState read back is labelled exact, advanced, diverged or different_context against gitdocs/claims/divergence-label.md
  • docs/claims/doctrine-class-decides.mdA doctrine's class decides whether a violation stops the commanddocs/claims/doctrine-class-decides.md
  • docs/claims/doctrine-registry.mdEvery enforced rule is declared once, and doctor proves it is reacheddocs/claims/doctrine-registry.md
  • docs/claims/drift-watch.mdwatch reports policy, projection, state, scope, handover, verification, staleness and retention driftdocs/claims/drift-watch.md
  • docs/claims/economics-claims-gated.mdAn unsupported savings claim is refuseddocs/claims/economics-claims-gated.md
  • docs/claims/effort-escalation.mdEscalating reasoning effort after repeated blocked attempts is recorded rather than assumeddocs/claims/effort-escalation.md
  • docs/claims/event-vocabulary.mdThe ledger's event vocabulary is closed, on the way in and on the way outdocs/claims/event-vocabulary.md
  • docs/claims/evidence-a-crate-binary-that-ran-nothing-is-not-a-pass.mdA crate test binary that ran no test or only a filtered subset is recorded as a skip, one with a failed test as a failure and one that printed no result as an error, whatever colour codes its output carries, and what no claim can name yet is listed as droppeddocs/claims/evidence-a-crate-binary-that-ran-nothing-is-not-a-pass.md
  • docs/claims/evidence-a-failure-outranks-an-absence.mdA rule with a failing test reads failing whatever its other tests saydocs/claims/evidence-a-failure-outranks-an-absence.md
  • docs/claims/evidence-a-recording-is-a-typed-run.mdEvery recording yields a run record naming its commit, the tree each report's run measured, its totals and what was absent, dropped or unknown, and a coverage summary joins it only bound to the commit and tree it was measured ondocs/claims/evidence-a-recording-is-a-typed-run.md
  • docs/claims/evidence-a-skip-is-not-run.mdA test that declined to run reads not run with a detail saying it declined, and a test that errored or timed out reads failingdocs/claims/evidence-a-skip-is-not-run.md
  • docs/claims/evidence-currency-is-not-collapsed.mdA run recorded against this commit and a run whose inputs merely have not changed since are reported as different states, never as onedocs/claims/evidence-currency-is-not-collapsed.md
  • docs/claims/evidence-gates-done.mdAn issue cannot be completed while a required piece of evidence is missingdocs/claims/evidence-gates-done.md
  • docs/claims/evidence-judged-at-the-presented-revision.mdA claim reads proven only when its run is contained in the presented revision, nothing but the ledger changed since, and both trees were their commitsdocs/claims/evidence-judged-at-the-presented-revision.md
  • docs/claims/evidence-local-recording-stays-local.mdA recording made with --ledger local writes only the ignored local ledger, changes no tracked file and moves no verdictdocs/claims/evidence-local-recording-stays-local.md
  • docs/claims/evidence-navigates-both-ways.mdEvery claim names the test meant to settle it and every test names the claims it is meant to settle, from one derivationdocs/claims/evidence-navigates-both-ways.md
  • docs/claims/evidence-partial-run-preserves-the-rest.mdRecording one test's result never erases the evidence recorded for any other testdocs/claims/evidence-partial-run-preserves-the-rest.md
  • docs/claims/evidence-proof-is-an-execution.mdA claim's proof is an execution that was recorded with the commit it ran against, not a test path that resolvesdocs/claims/evidence-proof-is-an-execution.md
  • docs/claims/evidence-recorded-in-ci.mdCI records what it ran, with the run it happened in, and the site publishes it with the commit it provesdocs/claims/evidence-recorded-in-ci.md
  • docs/claims/evidence-subject-commands-agree-with-the-command-pages.mdThe behavioural and negative tests the subject index names for a command are exactly the ones its command page lists, both read from the first coverage and negative header of each casedocs/claims/evidence-subject-commands-agree-with-the-command-pages.md
  • docs/claims/evidence-subjects-are-derived.mdEvery claim, rule, feature, command, capability, MCP tool and use case the repository declares is an evidence subject whose members and tests are derived from declarations that already exist, and a committed subject index that differs from that derivation is refuseddocs/claims/evidence-subjects-are-derived.md
  • docs/claims/evidence-tree-is-measured-by-the-run.mdA recorded execution carries the commit and the tree that its run's own measurement stated, a measurement that names the report it belongs to and never hides a tracked change; a measurement of another commit or another report is refused, a local measurement that names no report is refused, a CI report without a measurement is refused, and a report recorded without one carries an unknown tree, which never reads provendocs/claims/evidence-tree-is-measured-by-the-run.md
  • docs/claims/evidence-unsupported-guarantee-is-reported.mdA claim that declares a guarantee no recorded run supports is named by a gate rather than displayed as guaranteeddocs/claims/evidence-unsupported-guarantee-is-reported.md
  • docs/claims/executable-reference-derived.mdThe site's pages about the Rust executable are derived from the registry, and a capability that joins or leaves it gains or loses its page from the generators alonedocs/claims/executable-reference-derived.md
  • docs/claims/execution-cache-equivalence.mdA cached capability of the Rust executable answers the same value uncached, cold and warm, a hit runs no handler, errors and commands are never cached, and the key carries the registry fingerprintdocs/claims/execution-cache-equivalence.md
  • docs/claims/execution-waves.mdExecution waves are computed from the graph, and issues in one wave that touch the same paths are reported as serialiseddocs/claims/execution-waves.md
  • docs/claims/exit-code-contract.mdExit codes are a contract, and no code means "warn and continue"docs/claims/exit-code-contract.md
  • docs/claims/finish-contract.mdfinish evaluates the finish contract line by line and refuses when any line is unmetdocs/claims/finish-contract.md
  • docs/claims/finish-refusal-is-recorded.mdevery refused finish appends a task.refused event naming the outcome claimed, the unmet count and the doctrines that refused, and finish --check writes nonedocs/claims/finish-refusal-is-recorded.md
  • docs/claims/generated-artifacts-typed.mdEvery generated artifact declares the document it projects, the encoding it is written in, the schema its content satisfies and its source, and a structured document is written in every encoding it is committed in from one valuedocs/claims/generated-artifacts-typed.md
  • docs/claims/generated-projections-checked.mdThe committed projections, the OpenAPI document, the capability reference and the allow-lists, are regenerated from the registry and the schemas, and generate --check refuses a stale onedocs/claims/generated-projections-checked.md
  • docs/claims/git-identity.mdIdentity fields on every state record are computed from git and never authoreddocs/claims/git-identity.md
  • docs/claims/github-projection-gated.mdA projection that stops being applied turns a build red, and a gate that cannot reach GitHub reports that it cannot rather than passingdocs/claims/github-projection-gated.md
  • docs/claims/github-projection.mdGitHub milestones and issues are generated from the canonical model, and a hand-edited generated region is reported rather than overwrittendocs/claims/github-projection.md
  • docs/claims/handover-record.mdhandover writes an append-only record with computed front matter and required sectionsdocs/claims/handover-record.md
  • docs/claims/history-ledger-read.mdThe ledger is readable back as operational historydocs/claims/history-ledger-read.md
  • docs/claims/hot-path-no-rebuild.mdAfter startup, no MCP or HTTP request of the Rust executable scans the repository, builds the index or the registry, derives a schema or builds a projection, and perf.counters proves itdocs/claims/hot-path-no-rebuild.md
  • docs/claims/init-refuses.mdInstalling into a repository that already has an installation is refuseddocs/claims/init-refuses.md
  • docs/claims/install-command-is-derived.mdThe documented one-line install command is composed from the model's parts, and a document that states a different one fails the suitedocs/claims/install-command-is-derived.md
  • docs/claims/installer-verifies-before-installing.mdThe installer verifies an artifact's digest and inspects its archive before anything is unpacked, and any failure leaves the previous installation workingdocs/claims/installer-verifies-before-installing.md
  • docs/claims/intent-closes-github-milestones.mdA milestone will be closed on GitHub only once the intents it realises are satisfieddocs/claims/intent-closes-github-milestones.md
  • docs/claims/intent-cockpit-pages.mdThe Cockpit shows every intent with its derived stage at /cockpit/intents, and one intent's criteria, evidence, serving issues and realising work at /cockpit/intents/<id>docs/claims/intent-cockpit-pages.md
  • docs/claims/intent-command-deployment-evidence.mdA criterion settled by a command or by a deployment will be met by recorded evidencedocs/claims/intent-command-deployment-evidence.md
  • docs/claims/intent-criteria-covered.mdOnce work exists under an intent, a criterion no issue serves, an issue under its milestones that serves nothing and a link to a criterion that does not exist are each refused by namedocs/claims/intent-criteria-covered.md
  • docs/claims/intent-in-session-context.mdA task that names the issue or the intent it serves is briefed with what that intent asks of the work, and a handover tells the next worker when the intent moveddocs/claims/intent-in-session-context.md
  • docs/claims/intent-links-resolve.mdAn intent whose criterion names evidence that resolves to nothing is refused by namedocs/claims/intent-links-resolve.md
  • docs/claims/intent-plan-reviewed.mdA gap that leaves a criterion unanswered is refused, and an issue serving an intent that started without a critique or while a blocking finding is open fails intent validationdocs/claims/intent-plan-reviewed.md
  • docs/claims/intent-preflight-names-the-intent.mdAsked before work on an issue, `intent preflight` names the intents the issue serves with the governance that applies, or refuses naming the causedocs/claims/intent-preflight-names-the-intent.md
  • docs/claims/intent-realization-held-to-evidence.mdThe work realising an intent is joined across sessions, providers and handovers, and an intent whose milestones are all closed while a criterion's evidence fails is refused naming that criteriondocs/claims/intent-realization-held-to-evidence.md
  • docs/claims/intent-refused-at-plan-start.mdWhere the policy requires binding, starting an issue or a task that serves an intent with no critique, or with a blocking finding open, is refused when it is started rather than reported afterwardsdocs/claims/intent-refused-at-plan-start.md
  • docs/claims/intent-stage-derived.mdAn intent's stage is derived from the milestones that realise it and each criterion from the evidence ledger, and it is satisfied only while every criterion has a current passing rundocs/claims/intent-stage-derived.md
  • docs/claims/interfaces-are-projections.mdMCP, HTTP, OpenAPI, Swagger UI, the capabilities commands and the generated reference are derived from the registry, and a change to one definition reaches every one of themdocs/claims/interfaces-are-projections.md
  • docs/claims/knowledge-derivation-is-idempotent.mdA second derivation over the same evidence writes nothing, says so, and leaves the working tree unchangeddocs/claims/knowledge-derivation-is-idempotent.md
  • docs/claims/knowledge-derived-at-the-boundary.mdA provider's end event and its compaction event derive the knowledge the episode produced into candidate records, from the ledger and git and never from a conversationdocs/claims/knowledge-derived-at-the-boundary.md
  • docs/claims/knowledge-failure-is-recorded.mdA policy switch that is off derives nothing and says so; a derivation that fails inside a provider hook is recorded as a failed event and the hook still exits 0docs/claims/knowledge-failure-is-recorded.md
  • docs/claims/knowledge-integrity.mdEvery knowledge record is schema-valid, uniquely identified, evidenced when verified, resolves every reference it names, and carries no conversationdocs/claims/knowledge-integrity.md
  • docs/claims/knowledge-promotion-is-an-act.mdverified is written only by promote with evidence on stdin or by a person editing the file, never by the deriverdocs/claims/knowledge-promotion-is-an-act.md
  • docs/claims/knowledge-served-on-every-surface.mdThe candidates awaiting review, one record by id with its references resolved, and the derivation status of the checkout answer with the same content over the command line, HTTP and MCPdocs/claims/knowledge-served-on-every-surface.md
  • docs/claims/knowledge-writer-observed.mdA repository in which episodes close and no knowledge derivation follows within the stale threshold is reported as a stopped writerdocs/claims/knowledge-writer-observed.md
  • docs/claims/landing-page-is-a-projection.mdThe homepage names nothing of its owndocs/claims/landing-page-is-a-projection.md
  • docs/claims/ledger-integrity.mdEvery line of the ledger is a well-formed eventdocs/claims/ledger-integrity.md
  • docs/claims/legacy-migration.mdA repository on the pre-.ai layout is migrated once, explicitly, with a previewed plan and a verified backup of its local state, and the command is idempotent afterwardsdocs/claims/legacy-migration.md
  • docs/claims/live-scenario-evidence-is-local.mdA live scenario is not selected by a bare usecase run, its evidence is written under the ignored local half, and it never raises a command to covereddocs/claims/live-scenario-evidence-is-local.md
  • docs/claims/live-scenario-is-read-only.mdA live scenario may only run commands share/commands.yaml declares read-only, names no setup, and asserts an obligation only where something owes onedocs/claims/live-scenario-is-read-only.md
  • docs/claims/local-state-ignored.mdCheckout-local state lives under .ai/local/, is ignored by git, and is absent on a fresh clone or worktreedocs/claims/local-state-ignored.md
  • docs/claims/mcp-client-always-served.mdA client that starts the MCP server from a checkout whose executable is missing or stale is served by the installed release when it is of this tree's generation and told so, and is otherwise refused with exit 12 naming the explicit build; nothing is builtdocs/claims/mcp-client-always-served.md
  • docs/claims/mcp-client-autostart.mdAn MCP client opened in the repository starts the server itself, through the client configurations at the root and bin/majordomus-mcp, without ever building the executabledocs/claims/mcp-client-autostart.md
  • docs/claims/mcp-data-driven.mdWhat the MCP server serves is decided by the manifest, the declared source classes and each file's front matter, so an object added to the layer is served with no change to the executabledocs/claims/mcp-data-driven.md
  • docs/claims/mcp-degraded-not-silent.mdA file of the layer the MCP server cannot read is excluded with a diagnostic naming its path and the index says it is degraded, never silently smallerdocs/claims/mcp-degraded-not-silent.md
  • docs/claims/mcp-lease-lost.mdA server whose lease was taken over says so on the endpoint every reader probes, refuses to take on a new client, and reports that what its health describes is another process; the sessions it already had continue and it ends with themdocs/claims/mcp-lease-lost.md
  • docs/claims/mcp-lease-resilience.mdNothing a client leaves behind locks another client out of the shared server; a corrupt, empty, stale or abandoned lease is taken over and named, a client that cannot share is served alone with the reason logged, and a signal removes the lease before the server diesdocs/claims/mcp-lease-resilience.md
  • docs/claims/mcp-peers.mdEvery client attached to the shared server is a peer named by its own initialize, listed by majordomus_peers, and majordomus_announce tells the others what it is working on and which paths it expects to touchdocs/claims/mcp-peers.md
  • docs/claims/mcp-shared-server.mdOne shared server serves a repository: the first majordomus mcp binds loopback HTTP with Swagger UI and MCP over HTTP beside its stdio session and logs the URL, every later one attaches to it, and it ends when the last client leavesdocs/claims/mcp-shared-server.md
  • docs/claims/mcp-stdio-surface.mdThe Rust executable serves the repository's AI layer to an MCP client over stdio, with protocol frames alone on stdoutdocs/claims/mcp-stdio-surface.md
  • docs/claims/mcp-uri-resolution.mdA majordomus:// URI resolves the same way through the MCP resource read, the majordomus_get tool and the HTTP object route, and majordomus://repository answers repository.info as a JSON document tagged builtindocs/claims/mcp-uri-resolution.md
  • docs/claims/mesh-claims-cross-runtime.mdAn exclusive claim made on one runtime excludes an overlapping claim on every linked runtime, and concurrent claims resolve to one named winner everywheredocs/claims/mesh-claims-cross-runtime.md
  • docs/claims/mesh-compaction-keeps-what-is-live.mdCompacting the cooperation journal changes nothing live — a handover nobody has taken keeps its stream for a bounded retention, who took a handover and who answered a review stay with them, and a compacted runtime that beats again is fetched again wholedocs/claims/mesh-compaction-keeps-what-is-live.md
  • docs/claims/mesh-cooperation-links.mdTwo runtimes of one repository link only through a signed, replay-protected handshake that checks protocol, repository identity and trust, and every refusal is typed and visibledocs/claims/mesh-cooperation-links.md
  • docs/claims/mesh-declared-is-held.mdAn enabled mesh declaration whose shared server did not activate the mesh is a failed `runtime` check of `mesh doctor` (exit 10) carrying the server's reason, and a `Mesh: DECLARED ENABLED BUT NOT ACTIVE` line in the session-start briefing — never a quiet off; and this repository's committed declaration is tracked, enabled, allowlists the fleet and names a hubdocs/claims/mesh-declared-is-held.md
  • docs/claims/mesh-firewall-is-derived.mdThe inbound admissions a mesh declaration implies on a machine — the multicast group's port, the declared hub ports whose address is the machine's, the server's port beyond loopback — are derived from the declaration by `majordomus mesh firewall`, which names the host's firewall backend, the commands that admit them and the firewall's own verdict, exits 10 when a rule is observed missing or the kernel logged a drop toward those ports, and whose `apply` runs the commands only as root and never over HTTP or MCP; `mesh doctor` carries the same verdict as its `firewall` checkdocs/claims/mesh-firewall-is-derived.md
  • docs/claims/mesh-liveness-expiry.mdA runtime that stops beating — crashed, killed or partitioned — expires on its peers within the declared expiry, its claims stop excluding, and its restart reconnects as the same runtime without a duplicatedocs/claims/mesh-liveness-expiry.md
  • docs/claims/mesh-network-acceptance.mdSeparate Linux nodes on a real network discover each other by multicast, link, share claims and handovers, and recover from a partition and a crash, in a lab CI runsdocs/claims/mesh-network-acceptance.md
  • docs/claims/mesh-observation-not-authority.mdA discovered node gains no execution and no authorization from being heard; only signed traffic from a linked node may change mesh state, and trust labels records under an explicit policy that defaults to deny_unknowndocs/claims/mesh-observation-not-authority.md
  • docs/claims/mesh-off-by-default.mdNo mesh discovery socket opens until the repository commits an enabled mesh declaration, and a disabled or absent declaration is reported as the reason, not an errordocs/claims/mesh-off-by-default.md
  • docs/claims/mesh-one-registry.mdEvery discovery observation converges into one bounded registry, deduplicated by node and runtime identity across sources, replay-protected per instance, and every surface projects that registry and holds no peers of its owndocs/claims/mesh-one-registry.md
  • docs/claims/mesh-repository-isolation.mdRuntimes serving different repositories never form a cooperative link, even when they discover each otherdocs/claims/mesh-repository-isolation.md
  • docs/claims/mesh-three-runtime-convergence.mdRuntimes linked only through a relay converge on one state digest, each event held once, with no replication loopdocs/claims/mesh-three-runtime-convergence.md
  • docs/claims/minimum-context.mdA profile declares which context a worker should load and no moredocs/claims/minimum-context.md
  • docs/claims/models-no-secret-fields.mdThe model catalogue reports whether a vendor's named credential variable is set and can carry no secret value — the schema has no field one could hide indocs/claims/models-no-secret-fields.md
  • docs/claims/models-one-declaration.mdVendors and models are declared once in share/models.yaml, and the CLI, HTTP, OpenAPI, MCP and Cockpit render that one declaration with no model name of their owndocs/claims/models-one-declaration.md
  • docs/claims/models-routing-explains-itself.mdA routing decision names why the selected model was selected and, for every excluded model, the first check it failed — the same answer for the same question, with no hidden statedocs/claims/models-routing-explains-itself.md
  • docs/claims/new-code-is-covered.mdEvery executable line, function and region a change adds or touches in the Rust crate is covered by a test; new debt is refused and untouched legacy debt is left alonedocs/claims/new-code-is-covered.md
  • docs/claims/no-counts-in-context.mdA hardcoded count in the always-loaded file is a failuredocs/claims/no-counts-in-context.md
  • docs/claims/no-network.mdThe shell tool performs no network call, evaluates no generated text and deletes nothing recursively; its one declared request is the loopback peer probedocs/claims/no-network.md
  • docs/claims/no-silent-overwrite.mdA hand-edited instruction file is never silently overwrittendocs/claims/no-silent-overwrite.md
  • docs/claims/no-transcripts.mdA handover is a state record, not a transcriptdocs/claims/no-transcripts.md
  • docs/claims/obligation-closure.mdA task that declares obligations reaches the outcome completed only when each one has evidence, and evidence taken over files that have since changed no longer discharges anythingdocs/claims/obligation-closure.md
  • docs/claims/obligation-establishment.mdAn obligation whose fact the tool can hold is established live rather than recorded, and a hand-recorded line neither discharges it nor rescues itdocs/claims/obligation-establishment.md
  • docs/claims/observatory-draws-nothing-it-did-not-read.mdThe Observatory draws nothing it did not readdocs/claims/observatory-draws-nothing-it-did-not-read.md
  • docs/claims/open-question-gate.mdAn unresolved question blocks acceptance, and an unparseable entry is a failuredocs/claims/open-question-gate.md
  • docs/claims/openapi-inferred.mdThe OpenAPI document is inferred: the tags are the modules, the examples are the benchmark cases, the responses are the router's statuses by kind, the prose is the one text every projection shares, and the site's API reference is rendered from the committed documentdocs/claims/openapi-inferred.md
  • docs/claims/overlap-report.mdOverlap between parallel workers is computed on claimed paths in both containment directionsdocs/claims/overlap-report.md
  • docs/claims/personal-layer-changes-nothing-shared.mdA layer installed with --personal is one person's own in a shared repository: it changes no tracked file, no .gitignore line and nothing git status shows, and the command that makes the claim verifies itdocs/claims/personal-layer-changes-nothing-shared.md
  • docs/claims/pointer-integrity.mdEvery repository-relative reference in the always-loaded file is proven to resolvedocs/claims/pointer-integrity.md
  • docs/claims/policy-parse.mdThe canonical policy is parsed and rejected if it contains an unknown keydocs/claims/policy-parse.md
  • docs/claims/product-domains-derived.mdThe product is filed under domains, and the domain lists nothingdocs/claims/product-domains-derived.md
  • docs/claims/product-features-discovered.mdA product feature is discovered, never registereddocs/claims/product-features-discovered.md
  • docs/claims/product-projection-public-safe.mdThe public dataset carries only fields somebody alloweddocs/claims/product-projection-public-safe.md
  • docs/claims/product-references-resolve.mdA reference that resolves to nothing is an error, not a broken linkdocs/claims/product-references-resolve.md
  • docs/claims/product-surfaces-derived.mdWhat a feature is on is derived; what it is for is writtendocs/claims/product-surfaces-derived.md
  • docs/claims/profile-axes.mdCapability class, reasoning effort, output verbosity, context and verification are five independent axesdocs/claims/profile-axes.md
  • docs/claims/profile-validate.mdEvery profile is parsed, its unknown keys rejected, and the default profile proven to existdocs/claims/profile-validate.md
  • docs/claims/project-schema.mdMilestones and issues are canonical repository files, and a key nobody reads is an errordocs/claims/project-schema.md
  • docs/claims/project-status-derived.mdIssue and milestone status is derived from recorded facts and is stored nowheredocs/claims/project-status-derived.md
  • docs/claims/projected-record-edit-is-landable.mdA pull request that edits a projected plan record is not refused because GitHub does not show the edit yet, and the trunk is refused for it once a declared window has passeddocs/claims/projected-record-edit-is-landable.md
  • docs/claims/projection-fingerprint.mdEvery generated instruction file carries its own stamp, and a hand edit is detecteddocs/claims/projection-fingerprint.md
  • docs/claims/projection-generation.mdProvider instruction files are generated from the one policy, deterministicallydocs/claims/projection-generation.md
  • docs/claims/prompt-asset.mdA prompt renders against a closed set of tokens, and an unknown token is an errordocs/claims/prompt-asset.md
  • docs/claims/prompt-assets.mdEvery prompt asset renders, and an unknown token is a failuredocs/claims/prompt-assets.md
  • docs/claims/prompt-capture.mdA provider hook captures the person's raw prompts below the model, as a record and a rendering, and doctor proves it by running itdocs/claims/prompt-capture.md
  • docs/claims/prompt-continuity.mdA captured prompt names the episode it belongs to or records that none could be resolved; the archive is private, bounded and free of credential materialdocs/claims/prompt-continuity.md
  • docs/claims/provider-capability-evidence.mdWhat each provider can do about the session lifecycle and prompt capture is one declaration with a citation per cell, every surface projects it, and no provider the declaration names goes unreporteddocs/claims/provider-capability-evidence.md
  • docs/claims/provider-projections-one-renderer.mdThe provider bootstraps are a target of `majordomus generate`, rendered by one renderer, and `generate --check` refuses a stale one in CIdocs/claims/provider-projections-one-renderer.md
  • docs/claims/published-translation-is-declared.mdA published page in another language is declared, and declares itselfdocs/claims/published-translation-is-declared.md
  • docs/claims/reasoning-survives-the-session.mdA decision and its provenance survive the session: the next session finds them in its context and handover, reuses a standing conclusion instead of consulting again, and reopens it only on new evidencedocs/claims/reasoning-survives-the-session.md
  • docs/claims/reasoning-works-with-no-advisor.mdMajordomus reasons, decides, implements and validates with no advisor at all: absent advisors are reported as ordinary state, material uncertainty gets a structured local review, and the conclusion claims no independent reviewdocs/claims/reasoning-works-with-no-advisor.md
  • docs/claims/record-resolution.mdThe right prior record is resolved by worktree and branch, and an unrelated one is never offereddocs/claims/record-resolution.md
  • docs/claims/record-retention.mdRotating the ledger archives the oldest lines and never deletes themdocs/claims/record-retention.md
  • docs/claims/record-search.mdDurable records are searchable literally, across kinds, without an indexdocs/claims/record-search.md
  • docs/claims/region-projection.mdA projection can own only the region between its markersdocs/claims/region-projection.md
  • docs/claims/release-archive-shape.mdA release archive carries every path once and carries nothing but files and directoriesdocs/claims/release-archive-shape.md
  • docs/claims/release-is-complete-or-absent.mdA release publishes an artifact for every supported target or it is not publisheddocs/claims/release-is-complete-or-absent.md
  • docs/claims/release-prerelease-channel.mdA tag with a pre-release part is published as a prerelease, recorded on the prerelease channel, and never resolved as the stable release, so an unpinned installer and a node that follows stable keep the highest stable versiondocs/claims/release-prerelease-channel.md
  • docs/claims/reproduce-command.mdEvery finding carries the command that reproduces itdocs/claims/reproduce-command.md
  • docs/claims/retention-caps.mdThe append-only ledger and handover store have retention caps that are checkeddocs/claims/retention-caps.md
  • docs/claims/review-is-never-fabricated.mdA session cannot claim review it did not get: a consultation must name an advisor its recorded plan selected, a conclusion's review is computed, and reasoning check and doctor refuse a forged record, provider coupling, a model credential in CI and a refused claim in a documentdocs/claims/review-is-never-fabricated.md
  • docs/claims/roadmap-derived.mdThe roadmap is derived from milestone state, and no document may be a second authority for itdocs/claims/roadmap-derived.md
  • docs/claims/routing.mdRouting recommendations will be derived from measured cost and outcome datadocs/claims/routing.md
  • docs/claims/rule-exemption-carries-its-reason.mdA rule that no program can express says so, with the reason, and is counted apartdocs/claims/rule-exemption-carries-its-reason.md
  • docs/claims/rule-proof-is-named-and-resolves.mdEvery rule names what proves it, and every path it names is in the treedocs/claims/rule-proof-is-named-and-resolves.md
  • docs/claims/rule-resolution.mdThe effective rule set is resolved as a dependency graph in a deterministic order, and a set that does not resolve is applied by nothingdocs/claims/rule-resolution.md
  • docs/claims/rule-state-is-derived-from-what-ran.mdA rule's proof state is derived from the tree and the ledger togetherdocs/claims/rule-state-is-derived-from-what-ran.md
  • docs/claims/runtime-adapters.mdOpt-in runtime adapters will clamp read size, output size and fan-out from profile-derived limitsdocs/claims/runtime-adapters.md
  • docs/claims/rust-binary-artifact.mdThe Rust executable the rust gate built is published as an artifact with its provenance, and every Rust case drives the executable MAJORDOMUS_BIN names instead of building onedocs/claims/rust-binary-artifact.md
  • docs/claims/rust-coverage-floor.mdCoverage of the Rust crate is measured with test code out of the denominator, on every change that can affect the crate and on every push to master, and the build fails under the floor in scripts/rust-coverage-threshold or under the session/continuity domain's own floor in scripts/session-coverage-thresholddocs/claims/rust-coverage-floor.md
  • docs/claims/rust-evidence-gates.mdEvery gate the Rust executable must pass is one script, scripts/rust-check, and CI runs that script on every change that can reach the cratedocs/claims/rust-evidence-gates.md
  • docs/claims/rust-hot-path-benchmarks.mdThe paths of the Rust executable that scale with the repository carry criterion benchmarks that build on every push, and every executable capability declares its benchmark policy, required or waived for a typed reasondocs/claims/rust-hot-path-benchmarks.md
  • docs/claims/rustdoc-complete.mdEvery exported item has its rustdoc page at its derived route, and no page is an orphandocs/claims/rustdoc-complete.md
  • docs/claims/rustdoc-composed-from-the-topology.mdThe site build composes every published static surface from the committed topology, and refuses one whose artifact is absentdocs/claims/rustdoc-composed-from-the-topology.md
  • docs/claims/rustdoc-discoverable.mdThe crate's rustdoc is a web surface at /rustdoc, declared from the crate and served from the tree its producer wrotedocs/claims/rustdoc-discoverable.md
  • docs/claims/rustdoc-published.mdThe crate's rustdoc is published at /rustdoc with the site, built from the commit the site namesdocs/claims/rustdoc-published.md
  • docs/claims/rustdoc-referenced.mdEvery builtin module's page links its page in the crate's referencedocs/claims/rustdoc-referenced.md
  • docs/claims/rustdoc-verified-live.mdA rustdoc tree built from another commit is refused, before publication and at the public URLdocs/claims/rustdoc-verified-live.md
  • docs/claims/schema-driven-kinds.mdHow each declarative kind is read and which keys it may carry is data read at run time, and a repository adds a kind with its JSON Schema without a code changedocs/claims/schema-driven-kinds.md
  • docs/claims/scope-declared.mdWhat a worker reads of the repository is declared once in .ai/repo/scope.yaml, out wins over in, and the Rust executable discovers, indexes and serves nothing outside itdocs/claims/scope-declared.md
  • docs/claims/scope-enforcement.mdA touched file outside the claimed scope is a failure, not a warningdocs/claims/scope-enforcement.md
  • docs/claims/scoped-task.mdA task is started with a declared file scope and a profile, and only one task is active per checkoutdocs/claims/scoped-task.md
  • docs/claims/semantic-retrieval.mdRanked or semantic retrieval over durable records is deliberately not implementeddocs/claims/semantic-retrieval.md
  • docs/claims/session-lifecycle.mdA provider hook opens and closes the execution episode, and the context it was given at the open is frozen beside itdocs/claims/session-lifecycle.md
  • docs/claims/session-observability.mdThe session subsystem can be watched, not only used: every open episode, what cannot close itself, and which commit the process is answering aboutdocs/claims/session-observability.md
  • docs/claims/session-records.mdA closed execution episode is a shared object of the layer, written by the tool from git and the ledger, valid against a contract that admits no conversation and no absolute path, and discovered rather than registereddocs/claims/session-records.md
  • docs/claims/session-start-prompt.mdA bare claude in a supervised repository starts with the repository's session-start prompt as its first message, and a run with an argument, outside such a repository, with the opt-out, or with a prompt that cannot be rendered is left exactly as it wasdocs/claims/session-start-prompt.md
  • docs/claims/shared-policy.mdOne policy will be shared across repositories and workersdocs/claims/shared-policy.md
  • docs/claims/site-deploy-one-path.mdThe site is deployed by one script, from a terminal or from the Pages workflow, and the deploy names its sourcedocs/claims/site-deploy-one-path.md
  • docs/claims/site-deploys-from-verified-run.mdPublication is gated on everything that can make the published site wrong and waits for nothing else; the checks that decide whether a change may merge run beside it on the same commit, not in front of itdocs/claims/site-deploys-from-verified-run.md
  • docs/claims/site-registry-dataset.mdThe site's Registry page is rendered from a dataset `majordomus generate site` derives from the registry, and `generate --check` refuses a stale onedocs/claims/site-registry-dataset.md
  • docs/claims/skill-catalogue.mdA skill is one directory under the skills section, discovered by the source class both readers share, so that adding the file is the whole registrationdocs/claims/skill-catalogue.md
  • docs/claims/skill-check.mdEvery skill is validated against the allow-list generated from its schema, its directory, its sections and its references, and a repository with no skills is reported rather than passeddocs/claims/skill-check.md
  • docs/claims/skill-site-projection.mdThe website's skills section is rendered from the skills catalogue, one page per skill carrying its own body and examples, and a removed or renamed skill leaves nothing behinddocs/claims/skill-site-projection.md
  • docs/claims/suite-parallel.mdThe behavioural suite runs a bounded number of cases at a time with the serial runner's semantics, a case that writes into the checkout declares itself exclusive and runs alone, and the parallel phase fails naming the paths when the checkout changed under itdocs/claims/suite-parallel.md
  • docs/claims/task-commit-attribution.mdA task will know which commits it produced, rather than inferring them from a rangedocs/claims/task-commit-attribution.md
  • docs/claims/task-dependencies.mdA task record has no dependencies; sequencing between sessions is not representeddocs/claims/task-dependencies.md
  • docs/claims/telemetry.mdExecution telemetry will be recorded once a provider exposes it honestlydocs/claims/telemetry.md
  • docs/claims/the-closing-question-is-measured.mdWhether a task added debt, left a branch or a worktree behind, or grew the backlog is answered by the done invariant from git, the debt baselines and the recorded forge observation, measured from where the task started; a reading that was not taken is unknown, never a passdocs/claims/the-closing-question-is-measured.md
  • docs/claims/token-savings-measured.mdA total-token change is stated only from verified, matched runsdocs/claims/token-savings-measured.md
  • docs/claims/tool-location-independent.mdThe tool runs read-only from any location, and two locations of one version agree about one repositorydocs/claims/tool-location-independent.md
  • docs/claims/typed-outcome.mdAn outcome is a value from a closed vocabulary, not free textdocs/claims/typed-outcome.md
  • docs/claims/ui-dashboard-cites-its-sources.mdThe UI's dashboard names the capability behind every value it shows, and never waits for the queuedocs/claims/ui-dashboard-cites-its-sources.md
  • docs/claims/use-case-coverage.mdEvery public command is named and run by an active use case, a guaranteed claim or an MCP tool without one is a named gap, and the policy says which gaps fail doctor, check and finishdocs/claims/use-case-coverage.md
  • docs/claims/use-case-evidence.mdA use case's scenario executes against the real tool in a disposable repository, every step's exit code and output are asserted, and the normalised evidence is what the site showsdocs/claims/use-case-evidence.md
  • docs/claims/use-case-impact.mdFrom the files a change touched, the tool names the commands, rules, use cases, scenarios and behavioural cases affected, and scaffolds a draft for a capability no use case coversdocs/claims/use-case-impact.md
  • docs/claims/vendored-rule-package.mdThe rule baseline is vendored into the repository with a manifest naming every file and its hash, and a hand edit is detected and refuseddocs/claims/vendored-rule-package.md
  • docs/claims/web-namespaces-reserved.md/docs serves this repository's documentation and /swagger serves the Swagger UI, and neither may take the other's mountdocs/claims/web-namespaces-reserved.md
  • docs/claims/web-surface-declared-once.mdEvery web surface is declared once at its producer and resolved into one topology, from which the router, the landing page and the machine-readable index are each projecteddocs/claims/web-surface-declared-once.md
  • docs/claims/why-catalogue-discovered.mdAn operational moment is discovered, never registereddocs/claims/why-catalogue-discovered.md
  • docs/claims/why-diagnosis-explainable.mdA diagnosis is counting, and it says what it counteddocs/claims/why-diagnosis-explainable.md
  • docs/claims/why-references-resolve.mdEvery reference a moment makes resolvesdocs/claims/why-references-resolve.md
  • docs/claims/wiring-reconciliation.mdEvery enforcement the policy declares is reconciled against what actually runsdocs/claims/wiring-reconciliation.md
  • docs/claims/worktree-migration-lossless.mdA misplaced worktree migrates with its work intact, and proves itdocs/claims/worktree-migration-lossless.md
  • docs/claims/worktree-ownership.mdA task record names its checkout, and another checkout is never held to its scopedocs/claims/worktree-ownership.md
  • docs/claims/worktree-topology-derived.mdA branch's worktree path is derived, never registereddocs/claims/worktree-topology-derived.md
domain 6
  • completionCompletion.ai/repo/features/domains/completion.md
  • contextContext.ai/repo/features/domains/context.md
  • coordinationCoordination.ai/repo/features/domains/coordination.md
  • evidenceEvidence.ai/repo/features/domains/evidence.md
  • governanceGovernance.ai/repo/features/domains/governance.md
  • surfacesSurfaces.ai/repo/features/domains/surfaces.md
feature 29
  • benchmarksEvery claim about speed is a recorded measurement.ai/repo/features/benchmarks.md
  • ciCI planned from one model, the site deployed from its verified run.ai/repo/features/ci.md
  • cockpitThe Cockpit: the registry rendered for a person.ai/repo/features/cockpit.md
  • commitA commit message is a value this repository judges, not a convention it hopes for.ai/repo/features/commit.md
  • contextEvery directory of the layer carries its contract, and a worker reads what applies.ai/repo/features/context.md
  • continuitySessions, prompts and handovers that outlive the conversation.ai/repo/features/continuity.md
  • coordinationSeveral agents on one repository, without stepping on each other.ai/repo/features/coordination.md
  • coverageNew code is covered, measured once and asked two questions.ai/repo/features/coverage.md
  • declare-onceDeclare once, derive every interface.ai/repo/features/declare-once.md
  • deploymentsA deployment is one canonical object, and every artifact built from it is generated from it.ai/repo/features/deployments.md
  • doctrineRules a machine decides, wired, tested and CI-blocking.ai/repo/features/doctrine.md
  • economicsToken economics, measured from matched runs and never typed.ai/repo/features/economics.md
  • evidenceA claim is proven by a run that happened, not by a file that exists.ai/repo/features/evidence.md
  • finish-contractDone is a contract, evaluated line by line and refused when unmet.ai/repo/features/finish-contract.md
  • installOne command to install, one to initialise, nothing else to trust.ai/repo/features/install.md
  • interfacesOne registry over the command line, HTTP, OpenAPI, Swagger UI and MCP.ai/repo/features/interfaces.md
  • knowledgeDecisions and knowledge that compound instead of evaporating.ai/repo/features/knowledge.md
  • meshSessions on several machines work one repository without colliding.ai/repo/features/mesh.md
  • modelsThe models the world offers, declared once and routed with reasons.ai/repo/features/models.md
  • observatoryThe Observatory: the repository and its mesh, drawn for a wall.ai/repo/features/observatory.md
  • planningMilestones and issues as data; status derived, never stored.ai/repo/features/planning.md
  • policyOne policy, projected into every tool's instruction file.ai/repo/features/policy.md
  • provenanceEvery record names the commit, the branch and the episode that made it.ai/repo/features/provenance.md
  • reasoningReasoning that works with or without advisors, and review that is recorded rather than claimed.ai/repo/features/reasoning.md
  • skillsSkills are procedures as data, discovered and checked, never registered.ai/repo/features/skills.md
  • uimajordomus ui: the delivery, for a person.ai/repo/features/ui.md
  • use-casesEvery use case is executed against the tool, not described.ai/repo/features/use-cases.md
  • whyThe failure modes it answers are objects, not marketing pages.ai/repo/features/why.md
  • worktreesOne branch, one worktree, at a path derived from git.ai/repo/features/worktrees.md
gap 5
  • a-browser-computes-what-the-server-verifiesa-browser-computes-what-the-server-verifies.ai/repo/project/gaps/a-browser-computes-what-the-server-verifies.yaml
  • a-session-leaves-what-it-observeda-session-leaves-what-it-observed.ai/repo/project/gaps/a-session-leaves-what-it-observed.yaml
  • intent-bound-workintent-bound-work.ai/repo/project/gaps/intent-bound-work.yaml
  • intent-planningintent-planning.ai/repo/project/gaps/intent-planning.yaml
  • the-owner-directs-work-from-the-uithe-owner-directs-work-from-the-ui.ai/repo/project/gaps/the-owner-directs-work-from-the-ui.yaml
implementation 52
  • bin/majordomusbin/majordomus
  • bin/majordomus-clibin/majordomus-cli
  • bin/majordomus-envbin/majordomus-env
  • bin/majordomus-mcpbin/majordomus-mcp
  • lib/adr.shlib/adr.sh
  • lib/archive.shlib/archive.sh
  • lib/bench.shlib/bench.sh
  • lib/capture.shlib/capture.sh
  • lib/changed.shlib/changed.sh
  • lib/check.shlib/check.sh
  • lib/checkpoint.shlib/checkpoint.sh
  • lib/commands.shlib/commands.sh
  • lib/common.shlib/common.sh
  • lib/context.shlib/context.sh
  • lib/context_docs.shlib/context_docs.sh
  • lib/decision.shlib/decision.sh
  • lib/deployment.shlib/deployment.sh
  • lib/derive.shlib/derive.sh
  • lib/doctor.shlib/doctor.sh
  • lib/doctrine.shlib/doctrine.sh
  • lib/evidence.shlib/evidence.sh
  • lib/finish.shlib/finish.sh
  • lib/gates.shlib/gates.sh
  • lib/handover.shlib/handover.sh
  • lib/history.shlib/history.sh
  • lib/init.shlib/init.sh
  • lib/intent_binding.shlib/intent_binding.sh
  • lib/json_scan.awklib/json_scan.awk
  • lib/json_unesc.awklib/json_unesc.awk
  • lib/knowledge.awklib/knowledge.awk
  • lib/knowledge.shlib/knowledge.sh
  • lib/machine_lock.shlib/machine_lock.sh
  • lib/mermaid.awklib/mermaid.awk
  • lib/migrate.shlib/migrate.sh
  • lib/plan.shlib/plan.sh
  • lib/plan_json.awklib/plan_json.awk
  • lib/project.awklib/project.awk
  • lib/project.shlib/project.sh
  • lib/prompt.shlib/prompt.sh
  • lib/question.shlib/question.sh
  • lib/recover.shlib/recover.sh
  • lib/rules.shlib/rules.sh
  • lib/rust_bin.shlib/rust_bin.sh
  • lib/search.shlib/search.sh
  • lib/session.shlib/session.sh
  • lib/session_context.shlib/session_context.sh
  • lib/sha256.shlib/sha256.sh
  • lib/skills.shlib/skills.sh
  • lib/start.shlib/start.sh
  • lib/update.shlib/update.sh
  • lib/usecase.shlib/usecase.sh
  • lib/watch.shlib/watch.sh
intent 43
  • a-brief-is-reconciled-into-the-planAn external brief enters as a revision with provenance, and its requirements are reconciled into the one plan.ai/repo/project/intents/a-brief-is-reconciled-into-the-plan.yaml
  • a-browser-computes-what-the-server-verifiesA browser computes for a project with the same code the server runs, and nothing it returns is trusted until the server has recomputed it.ai/repo/project/intents/a-browser-computes-what-the-server-verifies.yaml
  • a-build-reuses-what-the-mesh-already-builtA build reuses what any node of its platform already built or fetched, and is exactly as correct when nothing can be reused.ai/repo/project/intents/a-build-reuses-what-the-mesh-already-built.yaml
  • a-change-is-judged-in-minutesA change is derived in under a second and judged in minutes, and nothing that could have changed is skipped.ai/repo/project/intents/a-change-is-judged-in-minutes.yaml
  • a-change-reconciles-what-it-affectsA prompt, a change or an inference is reconciled with the intents, issues, knowledge and evidence it affects, deterministically, under one identity on every surface.ai/repo/project/intents/a-change-reconciles-what-it-affects.yaml
  • a-claim-stands-only-on-its-evidenceA claim that something is enforced, tested or delivered stands only on recorded evidence that would have caught it being false.ai/repo/project/intents/a-claim-stands-only-on-its-evidence.yaml
  • a-person-runs-majordomus-from-a-phoneA person runs Majordomus from a phone with nothing missing that the desktop offers.ai/repo/project/intents/a-person-runs-majordomus-from-a-phone.yaml
  • a-provider-carries-the-contract-nativelyEach agent client enforces and observes the repository's contract through its own extension points, generated from the registry.ai/repo/project/intents/a-provider-carries-the-contract-natively.yaml
  • a-session-leaves-what-it-observedEvery managed session leaves what it observed, and the repository groups and routes it without being asked.ai/repo/project/intents/a-session-leaves-what-it-observed.yaml
  • a-session-proceeds-through-the-meshEvery supervised session realises intents by proceeding through the mesh, unasked, resumably and watched.ai/repo/project/intents/a-session-proceeds-through-the-mesh.yaml
  • a-session-record-says-what-it-servedA session's lifecycle has one writer, and its record says what it served and whether it is complete.ai/repo/project/intents/a-session-record-says-what-it-served.yaml
  • a-stranger-adopts-it-unaidedA developer who has never met the maintainer adopts Majordomus and is stopped from a false done within ten minutes.ai/repo/project/intents/a-stranger-adopts-it-unaided.yaml
  • a-version-follows-every-sessionEvery session's and every milestone's landed work reaches a measured, released version.ai/repo/project/intents/a-version-follows-every-session.yaml
  • a-visitor-understands-and-checks-majordomusA first-time visitor of majordomus.dev understands what Majordomus does and can check every claim it makes.ai/repo/project/intents/a-visitor-understands-and-checks-majordomus.yaml
  • an-authorised-node-connects-from-anywhereAn authorised node reaches another across LAN, tailnet or NAT, and says how.ai/repo/project/intents/an-authorised-node-connects-from-anywhere.yaml
  • campaigns-are-provenance-the-plan-readsA prompt pack the owner hands over is a campaign every record it drove can cite.ai/repo/project/intents/campaigns-are-provenance-the-plan-reads.yaml
  • entry-proves-what-it-handedEvery session knows the governance and context it started under, and is told when either moves.ai/repo/project/intents/entry-proves-what-it-handed.yaml
  • every-capability-has-one-owner-and-the-cli-never-buildsNo ordinary command does undeclared expensive work: no entry path builds implicitly, and every caller declares what a missing or stale executable means.ai/repo/project/intents/every-capability-has-one-owner-and-the-cli-never-builds.yaml
  • every-card-unfolds-into-what-it-summarisesEvery card of the site unfolds into what it summarises, recursively.ai/repo/project/intents/every-card-unfolds-into-what-it-summarises.yaml
  • every-model-call-is-paid-from-a-declared-sourceHow a model call Majordomus starts can be paid is declared by the vendor with evidence, and each call names the source it was declared to draw on.ai/repo/project/intents/every-model-call-is-paid-from-a-declared-source.yaml
  • every-sessions-usage-is-observedWhat every AI session consumed is observed from the provider, attributed to the work it served, and never estimated into a fact.ai/repo/project/intents/every-sessions-usage-is-observed.yaml
  • every-surface-follows-what-changedEvery surface follows what changed in the repository by push, and a surface that does not says so.ai/repo/project/intents/every-surface-follows-what-changed.yaml
  • finished-work-reaches-a-verified-releaseFinished work reaches a verified release at the pace it is finished.ai/repo/project/intents/finished-work-reaches-a-verified-release.yaml
  • intent-bound-workWork starts bound to the intent it serves, and a worker resumes knowing whether that intent moved.ai/repo/project/intents/intent-bound-work.yaml
  • intent-lifecycleEvery change can be traced to the intent it serves, and an intent reads satisfied only when evidence says so.ai/repo/project/intents/intent-lifecycle.yaml
  • intent-planningThe plan of an intent is checked against it before execution, from a recorded gap and a recorded critique.ai/repo/project/intents/intent-planning.yaml
  • landing-survives-any-sessionLanding green work survives any session, any restart and any machine.ai/repo/project/intents/landing-survives-any-session.yaml
  • merging-and-referencing-are-enforcedMerging and referencing are enforced: every pull request carries its metadata, every reference resolves, every number is taken once.ai/repo/project/intents/merging-and-referencing-are-enforced.yaml
  • mission-global-skill-availability-and-autonomous-lifecycle# MISSION: Global Skill Availability and Autonomous Lifecycle Convergence.ai/repo/project/intents/mission-global-skill-availability-and-autonomous-lifecycle.yaml
  • nothing-in-the-mesh-waits-on-something-deadNothing in the mesh waits on something dead, and nothing alive is killed.ai/repo/project/intents/nothing-in-the-mesh-waits-on-something-dead.yaml
  • one-bar-and-one-language-on-every-surfaceOne bar, and the reader's language, on every surface of the product.ai/repo/project/intents/one-bar-and-one-language-on-every-surface.yaml
  • operation-convergencev1.0.0-alpha.1 ships only what is proved on the commit it is cut from.ai/repo/project/intents/operation-convergence.yaml
  • repository-automation-is-typedRepository automation is typed capabilities that Rhai orchestrates, and domain-logic shell only shrinks.ai/repo/project/intents/repository-automation-is-typed.yaml
  • the-layer-evolves-when-it-is-dueThe repository decides when its layer should evolve, and a session carries it out.ai/repo/project/intents/the-layer-evolves-when-it-is-due.yaml
  • the-mesh-is-operated-from-any-deviceThe owner understands and operates the whole mesh from one page, on any device.ai/repo/project/intents/the-mesh-is-operated-from-any-device.yaml
  • the-owner-directs-work-from-the-uiThe owner directs the repository's development from the UI, from an intent to the move that starts its next issue.ai/repo/project/intents/the-owner-directs-work-from-the-ui.yaml
  • the-owner-oversees-the-mesh-from-one-pageThe owner oversees and moves the whole mesh from one page that reads the runtime and owns nothing.ai/repo/project/intents/the-owner-oversees-the-mesh-from-one-page.yaml
  • the-peer-blackboard-is-one-realityWho works on what, holding which claim and talking to whom, is one projection every surface follows live.ai/repo/project/intents/the-peer-blackboard-is-one-reality.yaml
  • the-product-proves-it-paysMajordomus proves, by measured runs, that it delivers accepted work with less cost, risk and human effort than the same agents without it.ai/repo/project/intents/the-product-proves-it-pays.yaml
  • the-product-shows-what-it-caughtMajordomus shows from its own records what it caught that would otherwise have passed, and what being caught cost.ai/repo/project/intents/the-product-shows-what-it-caught.yaml
  • the-site-is-always-fully-multilingualThe published site is always fully multilingual, every language derived from the English build.ai/repo/project/intents/the-site-is-always-fully-multilingual.yaml
  • the-ui-runs-and-explains-the-workFrom the UI the owner runs any capability, reads first what needs them, finds any entity, and sees whose version and where a page's time went.ai/repo/project/intents/the-ui-runs-and-explains-the-work.yaml
  • what-a-workspace-decides-reaches-the-repository-with-its-sourceWhat the owner decides in a vendor workspace reaches the repository, and every promoted record opens the message it came from.ai/repo/project/intents/what-a-workspace-decides-reaches-the-repository-with-its-source.yaml
issue 1027
  • I0001Audit what actually plans work in this repository.ai/repo/project/issues/I0001.yaml
  • I0002Define the canonical milestone and issue schema.ai/repo/project/issues/I0002.yaml
  • I0003Implement the model loader and the status derivation engine.ai/repo/project/issues/I0003.yaml
  • I0004Implement DAG validation and execution waves.ai/repo/project/issues/I0004.yaml
  • I0005Implement the plan command surface.ai/repo/project/issues/I0005.yaml
  • I0006Generate the Mermaid DAG from the graph.ai/repo/project/issues/I0006.yaml
  • I0007Enforce the canonical model as doctrine.ai/repo/project/issues/I0007.yaml
  • I0008Project the model to GitHub milestones and issues.ai/repo/project/issues/I0008.yaml
  • I0009Project the model into the website.ai/repo/project/issues/I0009.yaml
  • I0010Behavioural tests for schema, status, graph and command.ai/repo/project/issues/I0010.yaml
  • I0011Cross-surface consistency and mutation tests.ai/repo/project/issues/I0011.yaml
  • I0012Make CI refuse an invalid model or a stale projection.ai/repo/project/issues/I0012.yaml
  • I0013Document the semantics and the dogfooding rule.ai/repo/project/issues/I0013.yaml
  • I0014Make the worker instructions require the model.ai/repo/project/issues/I0014.yaml
  • I0015Open the first real milestone and execute one issue through it.ai/repo/project/issues/I0015.yaml
  • I0101Reproduce the escaped blocker as an executable case.ai/repo/project/issues/I0101.yaml
  • I0102Decide whether a question transfers or the gate widens.ai/repo/project/issues/I0102.yaml
  • I0103Implement the decision and prove it holds.ai/repo/project/issues/I0103.yaml
  • I0104Move the claim from planned to guaranteed.ai/repo/project/issues/I0104.yaml
  • I0201Declare which profile axis may become which runtime limit.ai/repo/project/issues/I0201.yaml
  • I0202Resolve a task's effective limits and print them as data.ai/repo/project/issues/I0202.yaml
  • I0203Make enforcement opt-in, and prove a repository that declines is unaffected.ai/repo/project/issues/I0203.yaml
  • I0204Apply one derived limit for real and prove it changes what happens.ai/repo/project/issues/I0204.yaml
  • I0205Declare the clamp as a doctrine so the mapping and the adapter cannot drift.ai/repo/project/issues/I0205.yaml
  • I0206Publish the runtime-adapters claim with the test that proves it and the limits it does not cover.ai/repo/project/issues/I0206.yaml
  • I0301Define the execution record, including what an absence looks like.ai/repo/project/issues/I0301.yaml
  • I0302Record telemetry a provider reports, and refuse anything it did not.ai/repo/project/issues/I0302.yaml
  • I0303Prove a silent provider produces an explicit absence, never a guess.ai/repo/project/issues/I0303.yaml
  • I0304Read the measurements back through the history surface, under a bound.ai/repo/project/issues/I0304.yaml
  • I0305Publish the telemetry claim and record what remains unmeasured.ai/repo/project/issues/I0305.yaml
  • I0401Define an accepted outcome, and join it to its measurements without storing the join.ai/repo/project/issues/I0401.yaml
  • I0402Report cost only where measurement and acceptance both exist.ai/repo/project/issues/I0402.yaml
  • I0403Make a thin denominator say so rather than average it away.ai/repo/project/issues/I0403.yaml
  • I0404Publish the cost-per-outcome claim with its unit defined beside it.ai/repo/project/issues/I0404.yaml
  • I0501Group comparable work from what the records already carry.ai/repo/project/issues/I0501.yaml
  • I0502Recommend a profile from measured cost, naming the measurements.ai/repo/project/issues/I0502.yaml
  • I0503Return no recommendation where the data is too thin, and say why.ai/repo/project/issues/I0503.yaml
  • I0504Prove the recommendation is advisory and publish it as such.ai/repo/project/issues/I0504.yaml
  • I0601Let a policy name a shared source it does not copy.ai/repo/project/issues/I0601.yaml
  • I0602Make a local override explicit and prove it survives an update of the shared source.ai/repo/project/issues/I0602.yaml
  • I0603Report drift from the shared policy in one command.ai/repo/project/issues/I0603.yaml
  • I0604Prove the offline guarantee survives sharing.ai/repo/project/issues/I0604.yaml
  • I0605Publish the shared-policy claim and what sharing still cannot do.ai/repo/project/issues/I0605.yaml
  • I0701Reproduce the misattribution as an executable case.ai/repo/project/issues/I0701.yaml
  • I0702Decide how a record is attributed, between named alternatives.ai/repo/project/issues/I0702.yaml
  • I0703Implement the decision and prove it holds.ai/repo/project/issues/I0703.yaml
  • I0704Publish what attribution guarantees, and what it still cannot.ai/repo/project/issues/I0704.yaml
  • I0801Narrow the Clean Extraction Boundary and record what was adopted.ai/repo/project/issues/I0801.yaml
  • I0802Specify the session record before writing one.ai/repo/project/issues/I0802.yaml
  • I0803Open a session and report its status.ai/repo/project/issues/I0803.yaml
  • I0804Close a session into an envelope derived from the ledger.ai/repo/project/issues/I0804.yaml
  • I0805Read sessions back with a divergence label.ai/repo/project/issues/I0805.yaml
  • I0806Make the session rules doctrines, with retention and archiving.ai/repo/project/issues/I0806.yaml
  • I0807Discover knowledge sources from git, not from the filesystem.ai/repo/project/issues/I0807.yaml
  • I0808Extract nodes with identities that survive a rebuild.ai/repo/project/issues/I0808.yaml
  • I0809Record only edges that a file states, each with where it was observed.ai/repo/project/issues/I0809.yaml
  • I0810A content-hash manifest that makes a second sync cheap.ai/repo/project/issues/I0810.yaml
  • I0811Read-only knowledge lookup with an ordering that can be explained.ai/repo/project/issues/I0811.yaml
  • I0812Validate the graph, and let doctor and watch ask the same validator.ai/repo/project/issues/I0812.yaml
  • I0813A closed session becomes a node that points at its episode.ai/repo/project/issues/I0813.yaml
  • I0814Give the worker a bounded slice of knowledge, not the knowledge base.ai/repo/project/issues/I0814.yaml
  • I0815Say what is now true in the claims, the documentation and the worker instructions.ai/repo/project/issues/I0815.yaml
  • I0816Prove the loop on a real issue, without a transcript.ai/repo/project/issues/I0816.yaml
  • I0817Phase timing and work counters behind MJ_TIMING.ai/repo/project/issues/I0817.yaml
  • I0818The command registry is read in one pass.ai/repo/project/issues/I0818.yaml
  • I0819The project model is loaded with one flatten per file and no per-file lookups.ai/repo/project/issues/I0819.yaml
  • I0820Catalogue, DAG, context and command-surface validators read their inputs once.ai/repo/project/issues/I0820.yaml
  • I0821Flattened YAML is cached under .ai/local/cache by content hash.ai/repo/project/issues/I0821.yaml
  • I0822Every canonical file is flattened at most once per command.ai/repo/project/issues/I0822.yaml
  • I0823majordomus bench: targets derived from the command registry.ai/repo/project/issues/I0823.yaml
  • I0824Bench persists local runs and keeps a latest projection.ai/repo/project/issues/I0824.yaml
  • I0825An explicit committed baseline.ai/repo/project/issues/I0825.yaml
  • I0826bench --check refuses a regression by policy.ai/repo/project/issues/I0826.yaml
  • I0827The benchmark policy block.ai/repo/project/issues/I0827.yaml
  • I0828doctor under a declared budget, and the hook inherits it.ai/repo/project/issues/I0828.yaml
  • I0829Performance doctrine as project rules.ai/repo/project/issues/I0829.yaml
  • I0830docs/PERFORMANCE.md, README, CONTRIBUTING and CLI reference.ai/repo/project/issues/I0830.yaml
  • I0831Performance claims at their proven status.ai/repo/project/issues/I0831.yaml
  • I0832generate-site-data instrumented and its hot spots removed.ai/repo/project/issues/I0832.yaml
  • I0833knowledge nodes and edges read each source once.ai/repo/project/issues/I0833.yaml
  • I0834The test runner reports per-case time and the suite budget.ai/repo/project/issues/I0834.yaml
  • I0835CI runs the structural performance checks.ai/repo/project/issues/I0835.yaml
  • I0836A synthetic repository generator for scaling cases.ai/repo/project/issues/I0836.yaml
  • I0837Timing report as JSON.ai/repo/project/issues/I0837.yaml
  • I0838bench compare and the top regressions report.ai/repo/project/issues/I0838.yaml
  • I0839watch inherits every doctor fix and its own budget.ai/repo/project/issues/I0839.yaml
  • I0840context and its subcommands under a second.ai/repo/project/issues/I0840.yaml
  • I0841Cache equivalence proved by property-shaped cases.ai/repo/project/issues/I0841.yaml
  • I0842Before and after evidence for every optimisation.ai/repo/project/issues/I0842.yaml
  • I0843The performance workflow is discoverable and complete.ai/repo/project/issues/I0843.yaml
  • I0901The deployment description is a kind of the layer, not a provider file.ai/repo/project/issues/I0901.yaml
  • I0902The deployment object becomes typed Rust that refuses nonsense.ai/repo/project/issues/I0902.yaml
  • I0903Deployment reads are declared once and projected everywhere.ai/repo/project/issues/I0903.yaml
  • I0904The listen address is one fact with two projections.ai/repo/project/issues/I0904.yaml
  • I0905Liveness and readiness are registered capabilities, not router hacks.ai/repo/project/issues/I0905.yaml
  • I0906Termination is graceful and proved against the real container.ai/repo/project/issues/I0906.yaml
  • I0907The running process says what it is, from an allowlist.ai/repo/project/issues/I0907.yaml
  • I0908A hosted process has no repository, and says so instead of failing.ai/repo/project/issues/I0908.yaml
  • I0909The production image is a generated projection of the build specification.ai/repo/project/issues/I0909.yaml
  • I0910The release profile is chosen by measurement, not by folklore.ai/repo/project/issues/I0910.yaml
  • I0911A source change does not rebuild the world, and the context stays small.ai/repo/project/issues/I0911.yaml
  • I0912The image serves the site the canonical pipeline produced.ai/repo/project/issues/I0912.yaml
  • I0913The provider configuration is generated, and the cheap profile is declared.ai/repo/project/issues/I0913.yaml
  • I0914One deployment core, one command, and a dry run that mutates nothing.ai/repo/project/issues/I0914.yaml
  • I0915Deployment joins the diagnostics that already exist.ai/repo/project/issues/I0915.yaml
  • I0916The smoke suite is derived from the route registry, never written twice.ai/repo/project/issues/I0916.yaml
  • I0917A bad deployment can be undone deterministically.ai/repo/project/issues/I0917.yaml
  • I0918The bootstrap credential is used once and belongs to nothing.ai/repo/project/issues/I0918.yaml
  • I0919Nothing secret and nothing local leaves in the image.ai/repo/project/issues/I0919.yaml
  • I0920The image's dependencies are known and its advisories are policy.ai/repo/project/issues/I0920.yaml
  • I0921Size is measured first and budgeted second.ai/repo/project/issues/I0921.yaml
  • I0922The memory hypothesis is tested, not asserted.ai/repo/project/issues/I0922.yaml
  • I0923Cold start and endpoint cost are benchmark targets like everything else.ai/repo/project/issues/I0923.yaml
  • I0924The decision is recorded where architecture decisions are recorded.ai/repo/project/issues/I0924.yaml
  • I0925Every deployment rule is a check that runs.ai/repo/project/issues/I0925.yaml
  • I0926The deployment documentation is generated and reachable.ai/repo/project/issues/I0926.yaml
  • I0927The cockpit shows the deployment from the same data.ai/repo/project/issues/I0927.yaml
  • I0928A pull request cannot merge a deployment that would not work.ai/repo/project/issues/I0928.yaml
  • I0929Production deploys from CI with a token scoped to one application.ai/repo/project/issues/I0929.yaml
  • I0930The real image runs under the real limits before anything is deployed.ai/repo/project/issues/I0930.yaml
  • I0931The application exists, one machine runs it, and the URL answers.ai/repo/project/issues/I0931.yaml
  • I0932The milestone is accepted on its evidence.ai/repo/project/issues/I0932.yaml
  • I1001One typed graph composes the registries that already own their facts.ai/repo/project/issues/I1001.yaml
  • I1002Relations are typed, inferred from stable identities, and never dangle.ai/repo/project/issues/I1002.yaml
  • I1003Skills, rules, decisions, documents, use cases and benchmarks enter the graph as themselves.ai/repo/project/issues/I1003.yaml
  • I1004Availability and visibility are metadata, not conditions in a template.ai/repo/project/issues/I1004.yaml
  • I1005The graph is a generated artifact with a schema and no unsafe field.ai/repo/project/issues/I1005.yaml
  • I1006The runtime reads the graph through the registry, like every other read.ai/repo/project/issues/I1006.yaml
  • I1007The site renders the same graph, generated once.ai/repo/project/issues/I1007.yaml
  • I1008The two projections are proved to be the same model.ai/repo/project/issues/I1008.yaml
  • I1009Every menu in this repository comes from one derivation.ai/repo/project/issues/I1009.yaml
  • I1010The overview is what exists, counted rather than claimed.ai/repo/project/issues/I1010.yaml
  • I1011The coverage matrix reports evidence, and never a green cell without one.ai/repo/project/issues/I1011.yaml
  • I1012One detail view, assembled from what a node actually has.ai/repo/project/issues/I1012.yaml
  • I1013Search over the graph, generated, with nothing to run.ai/repo/project/issues/I1013.yaml
  • I1014The relation view reads the graph and holds no data of its own.ai/repo/project/issues/I1014.yaml
  • I1015A surface with no server behind it is not offered as if it had one.ai/repo/project/issues/I1015.yaml
  • I1016The Cockpit works on a phone and before JavaScript runs.ai/repo/project/issues/I1016.yaml
  • I1017Live state is an overlay that degrades to nothing.ai/repo/project/issues/I1017.yaml
  • I1018The surface rules exist as checks, proved by making them fail.ai/repo/project/issues/I1018.yaml
  • I1019One skill runs the whole loop, and is itself in the graph.ai/repo/project/issues/I1019.yaml
  • I1020The graph's health is answered by the doctor that already answers everything else.ai/repo/project/issues/I1020.yaml
  • I1021A browser proves the interface, at the widths people use.ai/repo/project/issues/I1021.yaml
  • I1022Drift in any derived surface fails the build.ai/repo/project/issues/I1022.yaml
  • I1023Nothing private reaches a published page.ai/repo/project/issues/I1023.yaml
  • I1024The interface has a weight, and it is measured.ai/repo/project/issues/I1024.yaml
  • I1025The federated model and its two projections are an architecture decision.ai/repo/project/issues/I1025.yaml
  • I1026The architecture explains itself, from inside itself.ai/repo/project/issues/I1026.yaml
  • I1027A synthetic capability proves the architecture instead of describing it.ai/repo/project/issues/I1027.yaml
  • I1028The inventories this replaces are removed, not left running beside it.ai/repo/project/issues/I1028.yaml
  • I1029The gate refuses what would silently break the interface.ai/repo/project/issues/I1029.yaml
  • I1030The milestone is accepted on its evidence.ai/repo/project/issues/I1030.yaml
  • I1031A served surface says which checkout it is serving.ai/repo/project/issues/I1031.yaml
  • I1101What this tool leaves behind, established by inspection rather than by memory.ai/repo/project/issues/I1101.yaml
  • I1102The two namespaces are a typed contract, not a habit.ai/repo/project/issues/I1102.yaml
  • I1103Whether a file is authored or derived is a field, not a naming convention.ai/repo/project/issues/I1103.yaml
  • I1104Both namespaces carry their contracts, all the way down.ai/repo/project/issues/I1104.yaml
  • I1105The repository is discovered once, into one model.ai/repo/project/issues/I1105.yaml
  • I1106The registries are views of the model, not separate discoveries.ai/repo/project/issues/I1106.yaml
  • I1107Discovery is deterministic, cached, and its cost is known.ai/repo/project/issues/I1107.yaml
  • I1108The desired integration is a value, and the plan is a diff.ai/repo/project/issues/I1108.yaml
  • I1109Everything placed outside the two namespaces is recorded, with what it was.ai/repo/project/issues/I1109.yaml
  • I1110The second run changes nothing, and a test says so.ai/repo/project/issues/I1110.yaml
  • I1111Uninstall gives back exactly what was taken.ai/repo/project/issues/I1111.yaml
  • I1112What touches the root is two small blocks, and they never change again.ai/repo/project/issues/I1112.yaml
  • I1113Entering a directory is local, bounded and silent about the network.ai/repo/project/issues/I1113.yaml
  • I1114A provider is an adapter over the model, and adding one is an implementation.ai/repo/project/issues/I1114.yaml
  • I1115Completion comes from the command model, not from a second list.ai/repo/project/issues/I1115.yaml
  • I1116This repository's own footprint moves, through the reconciler.ai/repo/project/issues/I1116.yaml
  • I1117The hand-maintained lists are removed, not left running beside the derivation.ai/repo/project/issues/I1117.yaml
  • I1118Every invariant of this milestone is a rule with a check that runs.ai/repo/project/issues/I1118.yaml
  • I1119The budgets are measured, and a regression fails rather than being noticed.ai/repo/project/issues/I1119.yaml
  • I1120A refusal says what to do about it.ai/repo/project/issues/I1120.yaml
  • I1121Every surface shows the integration from the one model.ai/repo/project/issues/I1121.yaml
  • I1122A foreign repository, adopted, upgraded and given back.ai/repo/project/issues/I1122.yaml
  • I1123The milestone is accepted on its evidence.ai/repo/project/issues/I1123.yaml
  • I1201An identity provider is a declarative object, and Google and Facebook are two of them.ai/repo/project/issues/I1201.yaml
  • I1202One typed provider model reads the objects, and no code names a provider.ai/repo/project/issues/I1202.yaml
  • I1203One flow serves every provider, and it refuses everything it did not start.ai/repo/project/issues/I1203.yaml
  • I1204The session is signed, short, and revocable from the server.ai/repo/project/issues/I1204.yaml
  • I1205Identity is resolved once, in the router, and every surface reads it from there.ai/repo/project/issues/I1205.yaml
  • I1206What an anonymous reader may do is derived from the effect classification, not from a list.ai/repo/project/issues/I1206.yaml
  • I1207No credential reaches any output, and hostile provider metadata renders safely.ai/repo/project/issues/I1207.yaml
  • I1208Adding a provider is one file, removing one is one deletion, and both are executed rather than described.ai/repo/project/issues/I1208.yaml
  • I1301A workspace is a declared object of the layer; only its content is local.ai/repo/project/issues/I1301.yaml
  • I1302Identity, provenance and support level are typed fields, not prose.ai/repo/project/issues/I1302.yaml
  • I1303The store is bounded, measured and invisible to every published projection.ai/repo/project/issues/I1303.yaml
  • I1304The browser transport is the one this repository already drives.ai/repo/project/issues/I1304.yaml
  • I1305An observed contract has a fingerprint, a compatibility state and a fixture.ai/repo/project/issues/I1305.yaml
  • I1306A sync resumes, repeats itself without harm, and says how fresh it is.ai/repo/project/issues/I1306.yaml
  • I1307The ChatGPT shape is mapped from evidence and never becomes the canonical model.ai/repo/project/issues/I1307.yaml
  • I1308The executable's share is one capability, shaped like continuity.ai/repo/project/issues/I1308.yaml
  • I1309The boundaries this milestone asserts are gates, not sentences.ai/repo/project/issues/I1309.yaml
  • I1310The subsystem is documented where a person looks, and the plan is closed against the repository.ai/repo/project/issues/I1310.yaml
  • I1401The identity of a projected record is what the record carries, not what its title says.ai/repo/project/issues/I1401.yaml
  • I1402A finding says which of six states it found, and the state that could hide a person's edit is no longer one of them.ai/repo/project/issues/I1402.yaml
  • I1403Backfill the projection once, deliberately, and record what it created.ai/repo/project/issues/I1403.yaml
  • I1404The drift check is a gate, so a projection that stops being applied cannot stay silent.ai/repo/project/issues/I1404.yaml
  • I1405A pull request names the issue it realises, and the edge is derived rather than remembered.ai/repo/project/issues/I1405.yaml
  • I1406The plan's derivations are capabilities, so every surface reads the readiness the terminal reads.ai/repo/project/issues/I1406.yaml
  • I1407One issue travels the whole path and back, as an executable case.ai/repo/project/issues/I1407.yaml
  • I1408The documents stop claiming a projection nobody runs.ai/repo/project/issues/I1408.yaml
  • I1409Derived data stops hashing inputs it cannot control.ai/repo/project/issues/I1409.yaml
  • I1501An execution a person starts is an execution the server can see.ai/repo/project/issues/I1501.yaml
  • I1502A server serving code that no longer exists stops calling itself ready.ai/repo/project/issues/I1502.yaml
  • I1503A closed session is not closed a second time under the same identity.ai/repo/project/issues/I1503.yaml
  • I1504One development transition is a capability, end to end.ai/repo/project/issues/I1504.yaml
  • I1505A mutating capability leaves a durable event, and the ledger can be read back.ai/repo/project/issues/I1505.yaml
  • I1506The lifecycle commands become non-interactive capabilities.ai/repo/project/issues/I1506.yaml
  • I1507Issues, milestones, sessions and peers reach the Cockpit as projections.ai/repo/project/issues/I1507.yaml
  • I1508The navigation is derived from the dispatcher, not kept beside it.ai/repo/project/issues/I1508.yaml
  • I1509A detail page that pages nothing has outgrown the reason it pages nothing.ai/repo/project/issues/I1509.yaml
  • I1510A gap the audit calls planned names a plan object that exists.ai/repo/project/issues/I1510.yaml
  • I1511The documentation surface answers in a checkout that has not built the site.ai/repo/project/issues/I1511.yaml
  • I1512Gate state is something the runtime can answer.ai/repo/project/issues/I1512.yaml
  • I1516The adapter composes a projected body in one place.ai/repo/project/issues/I1516.yaml
  • I1520A step that runs out of time says so itself.ai/repo/project/issues/I1520.yaml
  • I1600The challenge is one recorded run, and every public surface replays it.ai/repo/project/issues/I1600.yaml
  • I1800The sandboxed engine a scripted capability runs in.ai/repo/project/issues/I1800.yaml
  • I1801A scripted capability is a kind, discovered and registered, runnable and projected like any capability.ai/repo/project/issues/I1801.yaml
  • I1802Nothing runs Perl.ai/repo/project/issues/I1802.yaml
  • I1803New shell is refused without a declared exemption, and the migration inventory is tracked.ai/repo/project/issues/I1803.yaml
  • I1804The first shell scripts become scripted capabilities over typed Rust.ai/repo/project/issues/I1804.yaml
  • I1900An intent is a typed record whose stage and satisfaction are derived.ai/repo/project/issues/I1900.yaml
  • I1901An issue names the intent criterion it serves, and coverage is derived.ai/repo/project/issues/I1901.yaml
  • I1902The gap and the critique of an intent are typed records the plan is held to.ai/repo/project/issues/I1902.yaml
  • I1903The work realising an intent is joined across episodes, providers and handovers.ai/repo/project/issues/I1903.yaml
  • I1945The test-evidence decision and its plan are recorded.ai/repo/project/issues/I1945.yaml
  • I1946The verdict words are status words of the design system.ai/repo/project/issues/I1946.yaml
  • I1947Every feature reaches a test, and every use case has a feature.ai/repo/project/issues/I1947.yaml
  • I1948Evidence is judged at the presented revision, by one freshness function.ai/repo/project/issues/I1948.yaml
  • I1949CI evidence is recorded clean, and its report is the tracked ledger's verdict.ai/repo/project/issues/I1949.yaml
  • I1950Text a run printed is redacted by one rule set.ai/repo/project/issues/I1950.yaml
  • I1951Evidence runs are typed, and a recording carries what its run measured.ai/repo/project/issues/I1951.yaml
  • I1952Evidence subjects are derived once, in Rust.ai/repo/project/issues/I1952.yaml
  • I1953Evidence answers by subject, on every surface.ai/repo/project/issues/I1953.yaml
  • I1954Every runner reaches the ledger, through the recording branch.ai/repo/project/issues/I1954.yaml
  • I1955The evidence publication is an allow-listed projection.ai/repo/project/issues/I1955.yaml
  • I1956The Cockpit shows evidence by subject.ai/repo/project/issues/I1956.yaml
  • I1957Every test line is read, and a local run stays local.ai/repo/project/issues/I1957.yaml
  • I1958Evidence has one route per subject, and every panel is joined to its subject.ai/repo/project/issues/I1958.yaml
  • I1959The evidence publication is typed, bound to its build, and kept on gh-pages.ai/repo/project/issues/I1959.yaml
  • I1960Every widget names its proof.ai/repo/project/issues/I1960.yaml
  • I1961A deploy verifies the evidence routes it publishes.ai/repo/project/issues/I1961.yaml
  • I1962The evidence gates read subject findings and widgets.ai/repo/project/issues/I1962.yaml
  • I1963Evidence is tested end to end.ai/repo/project/issues/I1963.yaml
  • I1964The evidence reference is documented and held to the tree.ai/repo/project/issues/I1964.yaml
  • I1965The entry preflight reads the one verdict.ai/repo/project/issues/I1965.yaml
  • I1966The composed graph is whole or its generation refuses.ai/repo/project/issues/I1966.yaml
  • I1967A reporter that sets a flag is a reporter.ai/repo/project/issues/I1967.yaml
  • I1980A layer names the tool version it was written for, and doctor tells version skew from defects.ai/repo/project/issues/I1980.yaml
  • I1981A command's effect class is declared per subcommand and flag, and live scenarios judge the whole argv.ai/repo/project/issues/I1981.yaml
  • I1982Plan stamps written before seals existed are re-sealed by a command that keeps their original times.ai/repo/project/issues/I1982.yaml
  • I1983Upgrading the vendored rules reports or applies the policy and source keys those rules depend on.ai/repo/project/issues/I1983.yaml
  • I1984Knowledge candidates never leave untracked files on a trunk that only pull requests change.ai/repo/project/issues/I1984.yaml
  • I1985A knowledge candidate relates to its own decision and commit, not to the whole episode.ai/repo/project/issues/I1985.yaml
  • I1986The vendored rule package says nothing that is only true of this repository.ai/repo/project/issues/I1986.yaml
  • I1987A knowledge record's file provenance survives the file's deletion.ai/repo/project/issues/I1987.yaml
  • I1988A use case's setup scripts live where the adopter declares, and its scenarios may run the adopter's own commands.ai/repo/project/issues/I1988.yaml
  • I1989init seeds a scope for the stack it finds, not for this repository's.ai/repo/project/issues/I1989.yaml
  • I1990The pre-push check judges the refs being pushed, or says why the checkout's task binds them.ai/repo/project/issues/I1990.yaml
  • I1991A comment-only edit of the policy regenerates no bootstrap.ai/repo/project/issues/I1991.yaml
  • I1992A rebuild that fails consumes no change: the next request retries it.ai/repo/project/issues/I1992.yaml
  • I1995Work a session left uncommitted in a worktree is named, not found by luck.ai/repo/project/issues/I1995.yaml
  • I1996doctor does not fail an adopter on a check written for this repository.ai/repo/project/issues/I1996.yaml
  • I1997The peer board can be read from the command line.ai/repo/project/issues/I1997.yaml
  • I1998A health command in an unsupervised repository does not exit 0.ai/repo/project/issues/I1998.yaml
  • I1999A tracked file a hook regenerates does not refuse a task that never touched it.ai/repo/project/issues/I1999.yaml
  • I2000What a piece of work serves is one derivation, with a revision.ai/repo/project/issues/I2000.yaml
  • I2001start asks what the task serves and refuses a refused binding where the policy requires it.ai/repo/project/issues/I2001.yaml
  • I2002The context of a bound task says what the intent asks of this work.ai/repo/project/issues/I2002.yaml
  • I2003A handover pins the binding it was written under, and resolving it reports drift.ai/repo/project/issues/I2003.yaml
  • I2004plan start refuses an issue whose binding is refused, in both engines.ai/repo/project/issues/I2004.yaml
  • I2054A tag does not turn every other pull request red until its record lands.ai/repo/project/issues/I2054.yaml
  • I2059A rebuild never replaces the executable a live lease names.ai/repo/project/issues/I2059.yaml
  • I2068A verdict that depends on the runner says so, and one cold sample is not a regression.ai/repo/project/issues/I2068.yaml
  • I2073A worker records an observation in one command.ai/repo/project/issues/I2073.yaml
  • I2074An observation becomes a candidate that says what it is about, and reading groups recurrence.ai/repo/project/issues/I2074.yaml
  • I2075A candidate is routed by what it is about.ai/repo/project/issues/I2075.yaml
  • I2114A task's scope admits what its derive writes.ai/repo/project/issues/I2114.yaml
  • I2115The slowest case costs a fraction of its budget, and its budget is never raised to follow runner load again.ai/repo/project/issues/I2115.yaml
  • I2123A caller beyond loopback reads, and changes nothing it cannot authenticate.ai/repo/project/issues/I2123.yaml
  • I2124An event reloaded from disk meets the trust policy in force, and no stamp outruns the clock.ai/repo/project/issues/I2124.yaml
  • I2126A server busy with tool calls is never taken over as if it were dead.ai/repo/project/issues/I2126.yaml
  • I2127A server that lost its lease hands its sessions on and ends.ai/repo/project/issues/I2127.yaml
  • I2128A lease is removed only by the process that holds it, and serve stop stops the server in order.ai/repo/project/issues/I2128.yaml
  • I2129The lease timings the policy declares are the ones the mcp and serve elections use.ai/repo/project/issues/I2129.yaml
  • I2131A server in use through the Cockpit or HTTP is not stopped as idle, and a checkout keeps one address.ai/repo/project/issues/I2131.yaml
  • I2132A hello names the runtime it is meant for, and no other runtime accepts it.ai/repo/project/issues/I2132.yaml
  • I2133Every mesh input and answer has a bound, and a refused registration learns nothing.ai/repo/project/issues/I2133.yaml
  • I2134A key removed from the trust list loses its links without a restart, and a node key can be rotated.ai/repo/project/issues/I2134.yaml
  • I2135The trust root is read from the default branch, not from whatever the checkout holds.ai/repo/project/issues/I2135.yaml
  • I2137An accepted mesh event is on disk before it counts, and a damaged journal line is reported, never fused or dropped silently.ai/repo/project/issues/I2137.yaml
  • I2139A sync message stays under the link bound whatever the marks weigh.ai/repo/project/issues/I2139.yaml
  • I2140Paging mesh.events returns every event exactly once.ai/repo/project/issues/I2140.yaml
  • I2145A tool call that may have run is never sent a second time.ai/repo/project/issues/I2145.yaml
  • I2147The MCP transports bound what they read and follow the Streamable HTTP rules they claim.ai/repo/project/issues/I2147.yaml
  • I2148Every provider's MCP launch configuration is a projection of one declaration, and a drifted one fails a gate.ai/repo/project/issues/I2148.yaml
  • I2151A page served beside the write routes runs only script it shipped, and a rebinding host reads nothing.ai/repo/project/issues/I2151.yaml
  • I2156A slow or silent HTTP client cannot hold a server worker.ai/repo/project/issues/I2156.yaml
  • I2157Ready means ready: a lost lease, a degraded layer or a failing mesh is not reported ready.ai/repo/project/issues/I2157.yaml
  • I2161No answer, log line or mesh frame carries a credential the redactor knows.ai/repo/project/issues/I2161.yaml
  • I2162A released archive, installed, serves a foreign repository over the shared server in CI.ai/repo/project/issues/I2162.yaml
  • I2163A client never attaches to a server of another version without saying so, and a newer client replaces an older server.ai/repo/project/issues/I2163.yaml
  • I2165A released archive carries a provenance attestation the installer can check.ai/repo/project/issues/I2165.yaml
  • I2282The record pull request's dispatched verdict does not satisfy branch protection.ai/repo/project/issues/I2282.yaml
  • I2288A task is on the mesh while it works.ai/repo/project/issues/I2288.yaml
  • I2289A task built off the mesh is refused.ai/repo/project/issues/I2289.yaml
  • I2296The executor reopens a record pull request no run was started for.ai/repo/project/issues/I2296.yaml
  • I2298A pull request stacked on one that landed merges on the verdict its head already has.ai/repo/project/issues/I2298.yaml
  • I2300A head is judged against what it changes, not against GitHub's live state.ai/repo/project/issues/I2300.yaml
  • I2301Whether the work is done is answered by measurement: the done invariant asks about debt, what was left behind and the backlog.ai/repo/project/issues/I2301.yaml
  • I2303A release publishes its metadata to the site before its record lands, and the site never goes back a release.ai/repo/project/issues/I2303.yaml
  • I2348A gate's result is reused only for the exact inputs it judged, and a skipped gate carries the proof that nothing it reads changed.ai/repo/project/issues/I2348.yaml
  • I2350One gate model names what a local check, a pull request, an integration and a release must run, and no second inventory exists.ai/repo/project/issues/I2350.yaml
  • I2396The CI critical path of 2026-10-10 is measured, recorded, and explained before anything is changed.ai/repo/project/issues/I2396.yaml
  • I2398A derive offloaded to another machine waits its turn in a declared queue.ai/repo/project/issues/I2398.yaml
  • I2399Every session briefs itself on an interval, without being asked.ai/repo/project/issues/I2399.yaml
  • I2400A signal model and a fold join every source the server already records.ai/repo/project/issues/I2400.yaml
  • I2401monitor is one read capability with three projections.ai/repo/project/issues/I2401.yaml
  • I2402majordomus monitor follows the stream from a terminal and a script.ai/repo/project/issues/I2402.yaml
  • I2403Pull requests, checks and deploys reach the stream when GitHub is reachable.ai/repo/project/issues/I2403.yaml
  • I2404The Cockpit shows the stream live.ai/repo/project/issues/I2404.yaml
  • I2405Every session is told what happened since its last look.ai/repo/project/issues/I2405.yaml
  • I2406The stream is documented where a reader looks.ai/repo/project/issues/I2406.yaml
  • I2407The monitor is released and deployed.ai/repo/project/issues/I2407.yaml
  • I2410A trusted machine on the tailnet is found through Tailscale, with no address written by hand.ai/repo/project/issues/I2410.yaml
  • I2411A server whose mesh is enabled is reachable on the tailnet and the LAN, and only by a trusted peer.ai/repo/project/issues/I2411.yaml
  • I2412`majordomus init` declares the mesh and enrols this machine's key, so a fresh repository cooperates.ai/repo/project/issues/I2412.yaml
  • I2413A linked worktree cooperates through its repository's running server, and a start that cannot ensure one says why.ai/repo/project/issues/I2413.yaml
  • I2414mesh.state and mesh.peers answer a filtered summary that fits one tool answer.ai/repo/project/issues/I2414.yaml
  • I2415A mesh review request carries a body, can be withdrawn, and expires.ai/repo/project/issues/I2415.yaml
  • I2416The ci verdict asks every selected gate for a receipt, and a gate whose step never ran is red.ai/repo/project/issues/I2416.yaml
  • I2417The landing page is a click-through story: an editorial hero and an evidence chain a visitor steps through.ai/repo/project/issues/I2417.yaml
  • I2460The overview asks its sources at once, so it costs its slowest source and not their sum.ai/repo/project/issues/I2460.yaml
  • I2461majordomus ui is served at /ui as its own product, with screens composed from capabilities.ai/repo/project/issues/I2461.yaml
  • I2462The UI has every screen, and its mesh is a graph whose nodes open an inspector.ai/repo/project/issues/I2462.yaml
  • I2463A train of stacked pull requests is a typed object, served everywhere and drawn as a graph.ai/repo/project/issues/I2463.yaml
  • I2464A path that holds a space is one path to the scope doctrine.ai/repo/project/issues/I2464.yaml
  • I2470The pull requests drain in the UI: a queue a reader narrows, inspects and follows to what each depends on.ai/repo/project/issues/I2470.yaml
  • I2471The roadmap opens a milestone: what it holds, what can start, its critical path, and what it waits for.ai/repo/project/issues/I2471.yaml
  • I2472How long CI takes is measured, from when each run started to when it completed, and the CI/CD screen draws it.ai/repo/project/issues/I2472.yaml
  • I2473A pull request shows its trail: what the executor did to it, and the drain what the lane did lately.ai/repo/project/issues/I2473.yaml
  • I2474The drain draws its merge throughput: each day's merges over the fortnight its trail ends on.ai/repo/project/issues/I2474.yaml
  • I2475The issues are browsed: every issue of the plan by status, milestone, priority or text, each a link onward.ai/repo/project/issues/I2475.yaml
  • I2476An intent opens what serves it: its statement, its criteria and their evidence, and the milestones and issues that serve it.ai/repo/project/issues/I2476.yaml
  • I2477A claim opens its proof: what settles it, its last run, what changed since, how to see it again.ai/repo/project/issues/I2477.yaml
  • I2478A rule opens its proof: what it states, the tests that prove it, what is missing, and the rules around it.ai/repo/project/issues/I2478.yaml
  • I2481The UI links every entity it names, and says none where a source has no value.ai/repo/project/issues/I2481.yaml
  • I2482Every screen of the UI has a case, and no link on the UI is dead.ai/repo/project/issues/I2482.yaml
  • I2483The UI is published as a snapshot: read once at the published commit and carried by the site at /ui.ai/repo/project/issues/I2483.yaml
  • I2484majordomus ui ensures the shared server and opens the UI's dashboard.ai/repo/project/issues/I2484.yaml
  • I2485The bench measures the first request after the repository moved, and a budget bounds it.ai/repo/project/issues/I2485.yaml
  • I2486No screen waits for a source: a page shows the latest reading with its age, read again behind the reader.ai/repo/project/issues/I2486.yaml
  • I2487A screen is streamed, and one stream tells an open page which readings changed.ai/repo/project/issues/I2487.yaml
  • I2488The HTTP stack is chosen by measurement: the same routes and several hundred open streams on tiny_http and on axum.ai/repo/project/issues/I2488.yaml
  • I2489A screen over its budget fails the build: the UI's latency budgets are benchmark policy, and bench --check holds them.ai/repo/project/issues/I2489.yaml
  • I2491A personal layer changes nothing shared: init --personal and install.sh --personal keep the layer one person's own, verify it, and --shared hands it to the team.ai/repo/project/issues/I2491.yaml
  • I2495The Cockpit is published as a snapshot at /cockpit, and the UI's evidence links lead to it.ai/repo/project/issues/I2495.yaml
  • I2521What a derive costs is measured per stage and per kind of change, and every file a stage reads is listed.ai/repo/project/issues/I2521.yaml
  • I2522The derivation is a typed graph in the crate: every producer is a node with declared inputs and outputs, answered by one capability.ai/repo/project/issues/I2522.yaml
  • I2523A node's key is computed from the bytes its producer reads, the index membership it enumerates and the generation of the executable.ai/repo/project/issues/I2523.yaml
  • I2524majordomus derive plan and derive explain say, without writing, which nodes would run and which input moved each one.ai/repo/project/issues/I2524.yaml
  • I2525An incremental derive runs only the nodes its plan marks, a no-op derive runs no generator, and the full derive stays as it is.ai/repo/project/issues/I2525.yaml
  • I2526The site generator's sections are nodes with inputs of their own, and the use-case scenarios run only when what they exercise changed.ai/repo/project/issues/I2526.yaml
  • I2527An incremental derive equals a full derive byte for byte, and an omitted dependency turns a gate red.ai/repo/project/issues/I2527.yaml
  • I2528The UI shows the derivation graph and its last plan, and one documentation page explains the model.ai/repo/project/issues/I2528.yaml
  • I2529A node's outputs are kept under its key and restored only after every digest is verified.ai/repo/project/issues/I2529.yaml
  • I2530The derivation store is bounded and measured: its size and hit rate are read by a capability, and only an explicit command removes entries.ai/repo/project/issues/I2530.yaml
  • I2531Two worktrees deriving the same key compute it once, and the machine lock covers the write into a tree, not the computation.ai/repo/project/issues/I2531.yaml
  • I2532CI reuses derivation entries keyed by the graph, and still fails on a stale committed file whether or not the cache was restored.ai/repo/project/issues/I2532.yaml
  • I2533The incremental derive becomes the default after a shadow period proves it equal, and one flag returns to the full derive.ai/repo/project/issues/I2533.yaml
  • I2588A region projection's host document is not judged as a bootstrap.ai/repo/project/issues/I2588.yaml
  • I2601majordomus evidence reaches record, stamp and show.ai/repo/project/issues/I2601.yaml
  • I2652The UI shows what the knowledge base holds: the candidates awaiting review and whether the deriver still writes, read and never acted on.ai/repo/project/issues/I2652.yaml
  • I2653Every diagram on the site is one interactive, linkable viewer whose node links are inferred, and a derived table can be drawn as a chart.ai/repo/project/issues/I2653.yaml
  • I2654A chart is held to its table by a gate, and the tables that are measured series are drawn.ai/repo/project/issues/I2654.yaml
  • I2655The homepage decides whether it carries a derived figure, within its declared story and budget.ai/repo/project/issues/I2655.yaml
  • I2656The diagram viewer serves the Cockpit and majordomus ui, and a node that is a repository file links to its source.ai/repo/project/issues/I2656.yaml
  • I2660The site is published as an artifact by the job that built it, so a ready site waits for no second workflow.ai/repo/project/issues/I2660.yaml
  • I2661A publication that did not arrive is a finding the next reader meets, never a green step.ai/repo/project/issues/I2661.yaml
  • I2662Validation leaves the deployment a runner: a branch's checks never hold the pool a publication or a release record needs.ai/repo/project/issues/I2662.yaml
  • I2663The published UI is not read from nothing on every deployment.ai/repo/project/issues/I2663.yaml
  • I2664A run that has already failed is cancelled by itself, and a red on the trunk is fixed before anything else is prepared.ai/repo/project/issues/I2664.yaml
  • I2670A build-cache offer is a typed model and its selection is a pure, explained function.ai/repo/project/issues/I2670.yaml
  • I2671A provider offers its cache as a signed, expiring mesh record, and a stopped provider goes stale.ai/repo/project/issues/I2671.yaml
  • I2672The offers and the selection are one read, projected to CLI, MCP, HTTP and OpenAPI.ai/repo/project/issues/I2672.yaml
  • I2673The sccache client configuration is derived from the selected offer, local disk first.ai/repo/project/issues/I2673.yaml
  • I2674A node is provisioned as an S3 cache provider, idempotently, with no secret in the repository.ai/repo/project/issues/I2674.yaml
  • I2675Build-cache health, headroom and hit statistics are visible where the mesh is.ai/repo/project/issues/I2675.yaml
  • I2676The build cache is verified and validated: failure paths, security and a real second-node hit.ai/repo/project/issues/I2676.yaml
  • I2677The build cache is documented, governed by a rule and described on the site and the Pages.ai/repo/project/issues/I2677.yaml
  • I2678The public Observatory replays events that were recorded, and says it is a replay.ai/repo/project/issues/I2678.yaml
  • I2679The Observatory follows a stream with a cursor instead of asking for its page again.ai/repo/project/issues/I2679.yaml
  • I2680The Observatory's gates are closed with evidence: screenshots, measured frame rates, a soak, the recovery drills.ai/repo/project/issues/I2680.yaml
  • I2690A session reads whether it is current, attached, announced and useful, from one capability.ai/repo/project/issues/I2690.yaml
  • I2691start, check, finish and the commit and push hooks refuse a change from a session that has not joined.ai/repo/project/issues/I2691.yaml
  • I2692The join state is projected to the briefing, the Cockpit, the UI, the handbook, the site and GitHub Pages.ai/repo/project/issues/I2692.yaml
  • I2693A session whose MCP server did not connect says so on the board, and a worker with nothing to do takes an open ask.ai/repo/project/issues/I2693.yaml
  • I2694A promoted note resolves in every checkout, not only where it was promoted.ai/repo/project/issues/I2694.yaml
  • I2695The Observatory draws the proof, claim, surface, wave and release scenes from the capabilities that already answer them.ai/repo/project/issues/I2695.yaml
  • I2696p5 is a built, optional asset of the UI and the page says where it is.ai/repo/project/issues/I2696.yaml
  • I2697The public snapshot carries the p5 library, or says which scenes it cannot draw.ai/repo/project/issues/I2697.yaml
  • I2698The new scenes have screenshot evidence at 1080p and 4K on a named revision.ai/repo/project/issues/I2698.yaml
  • I2700A lease probe asks a cheap liveness route, and a server holding another lease token is not taken for the leaseholder.ai/repo/project/issues/I2700.yaml
  • I2701The idle timeout is declared beside the other server timings, and serve --idle overrides the declaration.ai/repo/project/issues/I2701.yaml
  • I2702A checkout keeps one address across restarts, because its server binds a port derived from the checkout.ai/repo/project/issues/I2702.yaml
  • I2703The mesh cooperation rule lists the hello checks in the order the code runs them, and a test names that order.ai/repo/project/issues/I2703.yaml
  • I2704A dialer reads no reply beyond the link bound and no more candidates than the bound, and a refusing peer is retried at a measured, jittered rate.ai/repo/project/issues/I2704.yaml
  • I2705A node key can be rotated, peers follow the new key, and the old key is refused.ai/repo/project/issues/I2705.yaml
  • I2706An own event whose append failed is never acknowledged as durable, and a journal reload is bounded in size.ai/repo/project/issues/I2706.yaml
  • I2707majordomus doctor reports a stale server, or says plainly that it checks governance only.ai/repo/project/issues/I2707.yaml
  • I2708A mesh event field nobody listed fails the mesh check, and no log field or review body carries a credential the redactor knows.ai/repo/project/issues/I2708.yaml
  • I2709A red on the trunk has one named carrier, and nobody else may land until it is paid.ai/repo/project/issues/I2709.yaml
  • I2710A release run never waits behind pull-request validates for a job slot.ai/repo/project/issues/I2710.yaml
  • I2711The pages job judges production only after the deployment of its own commit has arrived.ai/repo/project/issues/I2711.yaml
  • I2712release-check treats a tag whose release run is still going as pending, not as a missing record.ai/repo/project/issues/I2712.yaml
  • I2713A build never lets idle incremental sessions fill the disk.ai/repo/project/issues/I2713.yaml
  • I2714One build directory never serves two worktrees' jobs at once.ai/repo/project/issues/I2714.yaml
  • I2715New public Rust code meets rust-quality before the structure job does.ai/repo/project/issues/I2715.yaml
  • I2716A case derives its budgets and lists from what it tests, never pins them.ai/repo/project/issues/I2716.yaml
  • I2717A release record pull request gets a verdict that can pass.ai/repo/project/issues/I2717.yaml
  • I2718A linked worktree runs its own hooks, never the primary checkout's.ai/repo/project/issues/I2718.yaml
  • I2720majordomus self update re-runs the published installer, and never reimplements it.ai/repo/project/issues/I2720.yaml
  • I2721An enrolled mesh node follows the stable pointer by itself.ai/repo/project/issues/I2721.yaml
  • I2722A hub activates a new version under its service manager, checks its health and rolls back by itself.ai/repo/project/issues/I2722.yaml
  • I2723The mesh shows each node's version and how far a release has rolled out.ai/repo/project/issues/I2723.yaml
  • I2724A node without a route to the site takes the archive from a peer and still verifies it itself.ai/repo/project/issues/I2724.yaml
  • I2731Every failure class in the published failure table names its test or its stated limitation.ai/repo/project/issues/I2731.yaml
  • I2732The MCP reference repeats no registry entry: no hand-written document lists tools.ai/repo/project/issues/I2732.yaml
  • I2733A resumed mesh.events walk returns every event exactly once, across partitions.ai/repo/project/issues/I2733.yaml
  • I2734A session joins the mesh at its start and leaves it at its end.ai/repo/project/issues/I2734.yaml
  • I2735An edit no claim covers is refused.ai/repo/project/issues/I2735.yaml
  • I2740An issue's delivery is inferred from branches, pull requests, merges, tags and the published site.ai/repo/project/issues/I2740.yaml
  • I2741Merged work the plan has not recorded is drift, and on the trunk past a window it is red.ai/repo/project/issues/I2741.yaml
  • I2742A milestone's version is inferred from the release that carried it, never typed.ai/repo/project/issues/I2742.yaml
  • I2743The public roadmap draws every milestone in the graph's order, each issue with its inferred delivery.ai/repo/project/issues/I2743.yaml
  • I2744The UI roadmap reads delivery and the releases themselves, and its now is where work is.ai/repo/project/issues/I2744.yaml
  • I2745The landing page states no present it does not read.ai/repo/project/issues/I2745.yaml
  • I2746Every published tree draws its diagrams, and every diagram is the interactive viewer.ai/repo/project/issues/I2746.yaml
  • I2747Every code block on every surface is highlighted by one engine with one palette.ai/repo/project/issues/I2747.yaml
  • I2748The drift already on the trunk is settled before the gate is made blocking.ai/repo/project/issues/I2748.yaml
  • I2749A commit that only plans an issue is not its delivery.ai/repo/project/issues/I2749.yaml
  • I2750The trunk's drift gate reads the forge before it judges.ai/repo/project/issues/I2750.yaml
  • I2760A scope entry is one path, and a path context would refuse is refused at start.ai/repo/project/issues/I2760.yaml
  • I2761A branch that renumbered its decision away claims nothing at the old number.ai/repo/project/issues/I2761.yaml
  • I2770majordomus ui and the Cockpit wear the site's navbar: one renderer, the same styles and scripts, and a browser comparison that refuses a difference.ai/repo/project/issues/I2770.yaml
  • I2780The UI has an intent workspace: an intent, its milestones, issues, waves and graph on one screen.ai/repo/project/issues/I2780.yaml
  • I2781An issue is started, verified and finished from the intent workspace.ai/repo/project/issues/I2781.yaml
  • I2783The intent workspace reads itself again when a move ends on its server.ai/repo/project/issues/I2783.yaml
  • I2784One portable core runs on the host and as wasm32, and one executed fixture holds both.ai/repo/project/issues/I2784.yaml
  • I2786The published UI reads the evidence CI recorded, and a publication that would show tests as not run is refused.ai/repo/project/issues/I2786.yaml
  • I2787A build never lets the shared build directory's crate artifacts fill the disk.ai/repo/project/issues/I2787.yaml
  • I2789The intent workspace shows why an intent stands where it stands and every move made on its issues.ai/repo/project/issues/I2789.yaml
  • I2795The trunk's recorded run reaches the tracked evidence ledger, and the baseline is tightened to it.ai/repo/project/issues/I2795.yaml
  • I2812The IDD loop is accepted end to end in a real browser on one commit.ai/repo/project/issues/I2812.yaml
  • I2813A published page that answers 503, or does not answer, is asked again before it is called missing.ai/repo/project/issues/I2813.yaml
  • I2825A claim released on one runtime is released on every runtime that holds it, and a link to a restarted peer recovers.ai/repo/project/issues/I2825.yaml
  • I2826A GitHub release carries the tool's own changelog for its tag, never GitHub's generated notes.ai/repo/project/issues/I2826.yaml
  • I2827A tool written a moment ago is run once its writer lets go.ai/repo/project/issues/I2827.yaml
  • I2829An alpha is published as a pre-release end to end, and never becomes the latest release anywhere.ai/repo/project/issues/I2829.yaml
  • I2840A cancelled MCP call stops, and the client is told it stopped.ai/repo/project/issues/I2840.yaml
  • I2841The site's browser probe is split, so the site job runs well inside its timeout.ai/repo/project/issues/I2841.yaml
  • I2842The live site is verified on a schedule, and its last verification is evidence.ai/repo/project/issues/I2842.yaml
  • I2844plan validate refuses a milestone whose GitHub title would be over 255 characters.ai/repo/project/issues/I2844.yaml
  • I2845a run cancelled midway is not the publication's evidence while a complete one is near.ai/repo/project/issues/I2845.yaml
  • I2846A hand-pinned budget in a case is reported unless it states its margin.ai/repo/project/issues/I2846.yaml
  • I2847every file the site generator reads by a literal path is one of its declared inputs.ai/repo/project/issues/I2847.yaml
  • I2848A pre-push gate that runs the executable does not wait on another worktree's build.ai/repo/project/issues/I2848.yaml
  • I2849release next raises from the trunk the repository names, never from a branch name written in the tool.ai/repo/project/issues/I2849.yaml
  • I2850the published PR Drain carries its pull requests, and counts pull requests rather than plan issues.ai/repo/project/issues/I2850.yaml
  • I2851the homepage's product view counts the delivery the history proves beside the statuses the records declare, each count a link.ai/repo/project/issues/I2851.yaml
  • I2852every class a UI screen gives an element is one the UI's stylesheet defines.ai/repo/project/issues/I2852.yaml
  • I2853a Pages deploy on a fresh master is not refused for claims newer than the ledger it reads.ai/repo/project/issues/I2853.yaml
  • I2863A derive does not run while a merge is uncommitted.ai/repo/project/issues/I2863.yaml
  • I2864The site generator reads no output of a later derive stage.ai/repo/project/issues/I2864.yaml
  • I2865The eight kinds of derive are measured cold on a host of their own, each with its sample count.ai/repo/project/issues/I2865.yaml
  • I2866Each node of a measured derive reports its fingerprint, cache status and times, and each run its critical path and peak memory.ai/repo/project/issues/I2866.yaml
  • I2867A passing scenario's evidence is reused by every checkout of the repository whose tool is the same.ai/repo/project/issues/I2867.yaml
  • I2870The layer's layout is declared as typed data: what each half holds, excludes, and the lifecycle of its contents.ai/repo/project/issues/I2870.yaml
  • I2871A file in the half whose contract excludes it is refused, naming the path and the contract.ai/repo/project/issues/I2871.yaml
  • I2872The skeleton a new repository receives is derived from the layout declaration.ai/repo/project/issues/I2872.yaml
  • I2873The manifest schema is generated from typed sections.ai/repo/project/issues/I2873.yaml
  • I2874A replicated mesh notice carries what a seat did, so a removal or a prune is seen on every machine.ai/repo/project/issues/I2874.yaml
  • I2882A remote derive builds only inside its own run directory.ai/repo/project/issues/I2882.yaml
  • I2900Every issue id on the intent workspace is a link, the shared-scope pairs are one folded line, and no missing library is asked for.ai/repo/project/issues/I2900.yaml
  • I2901One grammar names an issue id, and every surface reads it.ai/repo/project/issues/I2901.yaml
  • I2902A status names the moves it admits, and every surface reads that.ai/repo/project/issues/I2902.yaml
  • I2903The workspace prefers stages by IntentStage, not by strings.ai/repo/project/issues/I2903.yaml
  • I2904An intent whose criteria are met while its milestones hold open issues says so.ai/repo/project/issues/I2904.yaml
  • I2906Every id and chip on the workspace leads to its record.ai/repo/project/issues/I2906.yaml
  • I2907The workspace's headline numbers are the chosen intent's.ai/repo/project/issues/I2907.yaml
  • I2908Stage and verdict wear the kit's one badge.ai/repo/project/issues/I2908.yaml
  • I2909A panel with nothing to show is one sentence.ai/repo/project/issues/I2909.yaml
  • I2910A move on the published workspace reads \"live only\".ai/repo/project/issues/I2910.yaml
  • I2911The workspace is a list and its chosen intent side by side.ai/repo/project/issues/I2911.yaml
  • I2912A screen's sources are one disclosure, not a footer per panel.ai/repo/project/issues/I2912.yaml
  • I2913Each intent in the list shows its progress.ai/repo/project/issues/I2913.yaml
  • I2914No /ui page shows an issue id that leads nowhere.ai/repo/project/issues/I2914.yaml
  • I2915The workspace speaks in plain words.ai/repo/project/issues/I2915.yaml
  • I2916The workspace reads in the order a person asks.ai/repo/project/issues/I2916.yaml
  • I2917Each intent has one primary action.ai/repo/project/issues/I2917.yaml
  • I2918The issue list filters by status.ai/repo/project/issues/I2918.yaml
  • I2919The graph and the intent list respond to a hand and a keyboard.ai/repo/project/issues/I2919.yaml
  • I2941A fresh init leaves doctor clean: a README that does not name AGENTS.md gains one paragraph that does.ai/repo/project/issues/I2941.yaml
  • I2942An installer dry run changes nothing, and the install guide says only what is true.ai/repo/project/issues/I2942.yaml
  • I2943A mesh this process is not on is said as not observed, never as zero or no.ai/repo/project/issues/I2943.yaml
  • I2962What the served surfaces change is said as the registry says it.ai/repo/project/issues/I2962.yaml
  • I2963The README's exit codes are the commands' contract.ai/repo/project/issues/I2963.yaml
  • I2964Every step that reads a surface into the published snapshot can ask the forge.ai/repo/project/issues/I2964.yaml
  • I2965The site says a test proves a guarantee only as far as recorded evidence supports it.ai/repo/project/issues/I2965.yaml
  • I2966A forge setting that could not be read is unknown, never \"allows nothing\".ai/repo/project/issues/I2966.yaml
  • I2967The site's own pages name the layout in force.ai/repo/project/issues/I2967.yaml
  • I2980The blackboard is one projection answered on every interface.ai/repo/project/issues/I2980.yaml
  • I2981A board or journal change is pushed over one WebSocket.ai/repo/project/issues/I2981.yaml
  • I2982The monitor page is pushed over the live channel, and says when it polls.ai/repo/project/issues/I2982.yaml
  • I2983/ui/peers shows the blackboard and is read again when it changes.ai/repo/project/issues/I2983.yaml
  • I2984The published site shows a public-safe blackboard, labelled as the snapshot it is.ai/repo/project/issues/I2984.yaml
  • I2985The Observatory's cooperation scene draws the blackboard, not a second join of the journal.ai/repo/project/issues/I2985.yaml
  • I2987server.status and peers.list ask every checkout at once, a bounded number at a time.ai/repo/project/issues/I2987.yaml
  • I2993doctor counts the work no remote holds in one walk, whatever the number of branches.ai/repo/project/issues/I2993.yaml
  • I2995doctor does no work whose answer cannot change a finding: the roadmap lookups and the board's wide status.ai/repo/project/issues/I2995.yaml
  • I2998/cockpit/peers renders the blackboard and follows it live.ai/repo/project/issues/I2998.yaml
  • I2999From /ui/peers an operator answers a review, takes a handover or releases a claim, through its capability.ai/repo/project/issues/I2999.yaml
  • I3000The workspace's record texts are drawn as prose.ai/repo/project/issues/I3000.yaml
  • I3001The intent is the page's title, and panels ask questions.ai/repo/project/issues/I3001.yaml
  • I3002A command to reproduce is a code block a reader can copy.ai/repo/project/issues/I3002.yaml
  • I3003The workspace's prose is set for reading.ai/repo/project/issues/I3003.yaml
  • I3004No raw markdown reaches a /ui page.ai/repo/project/issues/I3004.yaml
  • I3005Code on the UI has one highlighter.ai/repo/project/issues/I3005.yaml
  • I3007A commit that a record or the site's data names is a commit the history holds.ai/repo/project/issues/I3007.yaml
  • I3008A homepage link with a fragment resolves to an element its page carries.ai/repo/project/issues/I3008.yaml
  • I3009No record's prose and no board announcement holds a template delimiter.ai/repo/project/issues/I3009.yaml
  • I3010The mesh manual says the edit guard is not wired, and how to wire it by hand.ai/repo/project/issues/I3010.yaml
  • I3013The evidence job runs only when a planned lane ran tests, so a records-only pull request is not red.ai/repo/project/issues/I3013.yaml
  • I3014The repository is found once per process, and a counter proves it.ai/repo/project/issues/I3014.yaml
  • I3015serve and mcp discover the repository once, through the shared model.ai/repo/project/issues/I3015.yaml
  • I3016A capability reads the repository from its context, never by opening it again.ai/repo/project/issues/I3016.yaml
  • I3017Discovering the repository outside the model is refused.ai/repo/project/issues/I3017.yaml
  • I3018The intent workspace borrows the plan instead of copying it on every request.ai/repo/project/issues/I3018.yaml
  • I3020The Knowledge screen states nothing about the repository that its checkout could not observe.ai/repo/project/issues/I3020.yaml
  • I3021The Knowledge screen shows each review command as code with what it does as a sentence.ai/repo/project/issues/I3021.yaml
  • I3022An empty knowledge queue is one sentence that says how a record arrives, not two empty tables.ai/repo/project/issues/I3022.yaml
  • I3023The Knowledge screen reads in review order, in plain labels, and leads to the knowledge manual.ai/repo/project/issues/I3023.yaml
  • I3024The Knowledge screen's manual link names a page the site has, on the server and on Pages.ai/repo/project/issues/I3024.yaml
  • I3025Every Knowledge tile reads whole at a phone's width.ai/repo/project/issues/I3025.yaml
  • I3060A provider hook declares its timeout, and the session end closes its episode inside the budget.ai/repo/project/issues/I3060.yaml
  • I3061A headless or nested provider session is not the worker: its end never hands over the task or writes a tracked record.ai/repo/project/issues/I3061.yaml
  • I3070release.currency measures the landed work past the last release, and the brief and doctor say when it waits.ai/repo/project/issues/I3070.yaml
  • I3071/ui/delivery shows how much landed work waits for a release, and since when.ai/repo/project/issues/I3071.yaml
  • I3072A task holding the release seat does not finish completed while landed work has waited past the threshold.ai/repo/project/issues/I3072.yaml
  • I3073The home page and the docs explain the peer blackboard: live on a runtime, a labelled snapshot on the published site.ai/repo/project/issues/I3073.yaml
  • I3074Every article ends with the articles related to it, in its reader's language, and each answers it back.ai/repo/project/issues/I3074.yaml
  • I3075An article explains the cooperation model in both languages: seats are claims, tops are judged once, stale work is brought current.ai/repo/project/issues/I3075.yaml
  • I3076The landing clock's first source is measured, a fresh clone's wait is a labelled bound, and case 3470 shows a decided version.ai/repo/project/issues/I3076.yaml
  • I3077An article explains the plan critique in both languages: a plan is attacked before it is built.ai/repo/project/issues/I3077.yaml
  • I3078An article explains derivation in both languages: written once, derived everywhere.ai/repo/project/issues/I3078.yaml
  • I3079The links of the Deployments table on /ui/delivery meet the target size at every audited width.ai/repo/project/issues/I3079.yaml
  • I3080An article explains claiming in both languages: claimed before it is built.ai/repo/project/issues/I3080.yaml
  • I3081An article explains continuity in both languages: a session ends, the work does not.ai/repo/project/issues/I3081.yaml
  • I3082An article explains the worktree topology in both languages: one branch, one place.ai/repo/project/issues/I3082.yaml
  • I3083Six records say something the code or another record no longer says.ai/repo/project/issues/I3083.yaml
  • I3084An article explains the mesh in both languages: many machines, one journal.ai/repo/project/issues/I3084.yaml
  • I3085An article explains how a doubt is settled in both languages: by an experiment, not a count.ai/repo/project/issues/I3085.yaml
  • I3086An article explains in both languages why silence is not a verdict.ai/repo/project/issues/I3086.yaml
  • I3087Seven statements about silence disagree with the record they cite, or name what does not exist.ai/repo/project/issues/I3087.yaml
  • I3088An article explains in both languages why automation is a capability, not a shell script.ai/repo/project/issues/I3088.yaml
  • I3089Five statements about the shell migration disagree with the code, the plan or the proof they name.ai/repo/project/issues/I3089.yaml
  • I3090The UI audit warms every surface and gives an unreachable page a second load.ai/repo/project/issues/I3090.yaml
  • I3091A translated bar keeps the headroom of its English bar, whatever fonts the machine has.ai/repo/project/issues/I3091.yaml
  • I3092A translation-memory edit says which pages each changed key reaches, and refuses one that reaches none.ai/repo/project/issues/I3092.yaml
  • I3094The Pages build and check hold a site built in every language.ai/repo/project/issues/I3094.yaml
  • I3095A count inside a translated sentence is a slot, so a changed number never drops the translation.ai/repo/project/issues/I3095.yaml
  • I3097An older executable never takes the shared-server lease from a newer one because the newer one's file was rebuilt.ai/repo/project/issues/I3097.yaml
  • I3098Waiting derives take the machine's derive lock in the order they arrived.ai/repo/project/issues/I3098.yaml
  • I3099The serve-lifecycle test tells a stopped server from another server answering its freed port.ai/repo/project/issues/I3099.yaml
  • I3100What the ChatGPT project decided is promoted into the layer, each record naming the conversation and message it came from.ai/repo/project/issues/I3100.yaml
  • I3110A blocking rule reads proven only when one of its cases shows its violation refused.ai/repo/project/issues/I3110.yaml
  • I3111Every dispatched blocking validator is run against a declared violation, and one that accepts it fails the case.ai/repo/project/issues/I3111.yaml
  • I3112rule-proof-check prints the blocking rules no recorded run proves, and that count only falls.ai/repo/project/issues/I3112.yaml
  • I3113github-check refuses when master's protection no longer requires the verdict check gates.yaml names.ai/repo/project/issues/I3113.yaml
  • I3114A merge past the required check is observed from the forge and matched to the owner's recorded authorisation.ai/repo/project/issues/I3114.yaml
  • I3115A rule or guarantee that cites a proposed decision as its authority is listed, and the owner's acceptance queue is derived from it.ai/repo/project/issues/I3115.yaml
  • I3116The debt every ratchet baseline holds is one derived table, with its rule and its trend.ai/repo/project/issues/I3116.yaml
  • I3117The README and the launch page say only what master does about model invocation, doctrine dispatch and overrides.ai/repo/project/issues/I3117.yaml
  • I3118The edit guard's contract names every case it lets through, and each row has a test.ai/repo/project/issues/I3118.yaml
  • I3119The delivery report computes required_tests_current, test_evidence_published and ui_linked instead of citing a merged pull request.ai/repo/project/issues/I3119.yaml
  • I3120A scheduled mutation run over the declared critical predicates records its survivors as evidence.ai/repo/project/issues/I3120.yaml
  • I3121The release compatibility analyzer's invariants hold under property tests.ai/repo/project/issues/I3121.yaml
  • I3122A coverage figure on every surface names its dimension, its commit and what it does not measure.ai/repo/project/issues/I3122.yaml
  • I3123finish refuses a verify command the profile does not admit for the change, and keeps its output.ai/repo/project/issues/I3123.yaml
  • I3124A JUnit XML report a repository already produces is imported into the evidence ledger, and nothing in that repository changes.ai/repo/project/issues/I3124.yaml
  • I3125Coverage from LCOV or Cobertura is linked line by line to the source at the measured revision.ai/repo/project/issues/I3125.yaml
  • I3126check and finish count the refusals later overridden and the completions later reverted, per rule and per release.ai/repo/project/issues/I3126.yaml
  • I3127A clean installation reaches its first refused finish in a foreign repository, and the time and the manual steps are recorded.ai/repo/project/issues/I3127.yaml
  • I3128init ends with what it found in the repository it adopted, each finding naming its file.ai/repo/project/issues/I3128.yaml
  • I3129An outside developer's first run is recorded as it happened, and each friction it met becomes an issue with a failing case.ai/repo/project/issues/I3129.yaml
  • I3130The ledger answers how many false dones finish caught, by doctrine, with the tasks it counted.ai/repo/project/issues/I3130.yaml
  • I3131A refusal answered by no change to the tree is not counted as a caught false done.ai/repo/project/issues/I3131.yaml
  • I3132/ui shows what finish caught beside what being caught cost, and says not observed where there is no ledger.ai/repo/project/issues/I3132.yaml
  • I3133The economics benchmark measures acceptance: how many sessions declared done while the task's hidden tests fail, with and without the finish contract.ai/repo/project/issues/I3133.yaml
  • I3134The product sentence is declared once, and the homepage, README, page titles, Open Graph and launch kit read it.ai/repo/project/issues/I3134.yaml
  • I3135The launch kit is held by the same promise check as the homepage, and the tool publishes none of it.ai/repo/project/issues/I3135.yaml
  • I3136The copy refuses hype words that no recorded comparison permits.ai/repo/project/issues/I3136.yaml
  • I3137Lumen is a declared term of the vocabulary, defined by the capabilities it composes.ai/repo/project/issues/I3137.yaml
  • I3138One page shows the whole mesh from the blackboard, peers and monitor with each figure's freshness, and recovers after a reconnect.ai/repo/project/issues/I3138.yaml
  • I3139The mesh page offers one authorised action through an existing capability, and shows its result from the journal.ai/repo/project/issues/I3139.yaml
  • I3140The mesh page's latency is measured against a recorded baseline before any target is claimed.ai/repo/project/issues/I3140.yaml
  • I3141majordomus session close writes its record through the typed domain's closer, and the shell closer is deleted.ai/repo/project/issues/I3141.yaml
  • I3142An episode opens through the typed domain and records the task and issue it began on.ai/repo/project/issues/I3142.yaml
  • I3143Each provider lifecycle event leaves a typed receipt written by the domain before any guard can return early.ai/repo/project/issues/I3143.yaml
  • I3144Checkpoints and handovers are recorded against the episode, and the shell only parses and renders them.ai/repo/project/issues/I3144.yaml
  • I3145Continuity is resolved and judged fresh by one function, and the shell's copies are deleted.ai/repo/project/issues/I3145.yaml
  • I3146A closed session record says whether it is complete, and one that changed the tree without saying what it served is not.ai/repo/project/issues/I3146.yaml
  • I3147The effective governance has one digest, computed by one function and shown by the preflight.ai/repo/project/issues/I3147.yaml
  • I3148An episode records the governance digest and the briefing digest it was handed at start.ai/repo/project/issues/I3148.yaml
  • I3149A governance change during a session is told at the session's next brief or check.ai/repo/project/issues/I3149.yaml
  • I3150A handover carries the governance digest it was written under, and resolving it says when governance moved.ai/repo/project/issues/I3150.yaml
  • I3151Every entry surface reports the same governance digest for one checkout.ai/repo/project/issues/I3151.yaml
  • I3152Every known route around the preflight and the edit guard is a case or a stated limit.ai/repo/project/issues/I3152.yaml
  • I3153Task start says how far its base is behind the remote's master as last fetched, and stops only on a diverged local master, with the next step.ai/repo/project/issues/I3153.yaml
  • I3154Every just recipe is generated from the command graph or names the exemption that keeps it hand-written.ai/repo/project/issues/I3154.yaml
  • I3155The shell check reports shell by disposition, and the count of domain-logic shell never rises against the merge base.ai/repo/project/issues/I3155.yaml
  • I3156Every command path is implemented by one executable, and the other only delegates.ai/repo/project/issues/I3156.yaml
  • I3157A scripted capability declared in an adopting repository's layer reaches its surfaces with no change to the tool, and says where it came from and what it may do.ai/repo/project/issues/I3157.yaml
  • I3159A shell unit is deleted only after a parity case shows its replacement gives the same verdict on the same fixture.ai/repo/project/issues/I3159.yaml
  • I3160A behavioural case can be written as a Rust integration test over a disposable repository, and the continuity cases are the first ported.ai/repo/project/issues/I3160.yaml
  • I3161The commit hook is one call of the executable that runs the commit subset of doctor, the worktree guard and pages current under a declared budget.ai/repo/project/issues/I3161.yaml
  • I3162Which task.refused lines are friction is measured across every checkout, and then each repeated refused rule becomes one observation candidate.ai/repo/project/issues/I3162.yaml
  • I3163Each episode boundary derives whether evolve is due — skip, defer or run — and the next session is told why.ai/repo/project/issues/I3163.yaml
  • I3164A change an evolve run makes yields no candidate about itself, and a rejected subject is not proposed again without new evidence.ai/repo/project/issues/I3164.yaml
  • I3165What evolution changed is measured: recurrence of a subject after its lesson landed, per window, with its denominator.ai/repo/project/issues/I3165.yaml
  • I3166A curated note whose cited file changed since its last review is reported for review, not served as current.ai/repo/project/issues/I3166.yaml
  • I3167A campaign is a kind of the index: every pack under campaigns/ is an object with its manifest digest, served read-only.ai/repo/project/issues/I3167.yaml
  • I3168An intent, milestone or issue cites the campaign that drove it, and a campaign answers which records cite it.ai/repo/project/issues/I3168.yaml
  • I3169A new pack enters campaigns/ through one command that checks the archive before writing a byte.ai/repo/project/issues/I3169.yaml
  • I3170An execution of a record that cites a campaign pins the revision it ran, and a later revision changes nothing about it.ai/repo/project/issues/I3170.yaml
  • I3171The compiled context names source ranges with their reason and confidence, not only whole objects of the layer.ai/repo/project/issues/I3171.yaml
  • I3172The compiled context names the small set of capabilities the work needs.ai/repo/project/issues/I3172.yaml
  • I3173A synced workspace conversation proposes candidate records that cite their conversation and message, and nothing becomes canonical without an act.ai/repo/project/issues/I3173.yaml
  • I3174An exclusive claim carries a fencing epoch, and a holder returning under an old epoch is refused.ai/repo/project/issues/I3174.yaml
  • I3175Two hosts presenting one node key are named as a duplicate, never folded into one flapping node.ai/repo/project/issues/I3175.yaml
  • I3176The committed mesh declaration names its hubs by node, and no private address is tracked or published.ai/repo/project/issues/I3176.yaml
  • I3177Two nodes one release apart keep linking, and what the older cannot answer is shown unavailable.ai/repo/project/issues/I3177.yaml
  • I3178A self update killed at any stage leaves a usable installation.ai/repo/project/issues/I3178.yaml
  • I3179The runtime reports one typed state, with how it got there, and every surface shows it.ai/repo/project/issues/I3179.yaml
  • I3180Entering a checkout whose executable is missing or stale starts one background build and says building.ai/repo/project/issues/I3180.yaml
  • I3181A change made on another node reaches every open page by push, and a gap is refetched.ai/repo/project/issues/I3181.yaml
  • I3182One read says which work is progressing, waiting, stalled, failed or orphaned, and on what evidence.ai/repo/project/issues/I3182.yaml
  • I3183A safe repair runs once per cause through ensure, recovery, leases and the reaper, and a repeated failure escalates.ai/repo/project/issues/I3183.yaml
  • I3184One command lists every Majordomus runtime of this user on this host, with no checkout open.ai/repo/project/issues/I3184.yaml
  • I3185A request on a host with two Majordomus versions reaches the one whose protocol satisfies it, or is refused with a reason.ai/repo/project/issues/I3185.yaml
  • I3187A link names the endpoint candidates it tried, the one it chose and why.ai/repo/project/issues/I3187.yaml
  • I3188A cold node finds the mesh from a signed manifest on Pages, and refuses a stale, rolled-back or unsigned one.ai/repo/project/issues/I3188.yaml
  • I3189Two nodes with no direct path cooperate through a trusted hub that relays their authenticated frames.ai/repo/project/issues/I3189.yaml
  • I3190The mesh lab proves links behind NAT, with the relay, a hub outage and an address change.ai/repo/project/issues/I3190.yaml
  • I3191The UI reads any linked runtime the mesh names, and says which runtime every reading came from.ai/repo/project/issues/I3191.yaml
  • I3192An operation started from /ui/mesh is authorised, executed, audited and its result streamed back.ai/repo/project/issues/I3192.yaml
  • I3195The lundra hub is a declared deployment target served over its tailnet name, and a second device reaches it.ai/repo/project/issues/I3195.yaml
  • I3196A deployment's external URL, trusted hosts and forwarded headers are one typed fact read by every surface.ai/repo/project/issues/I3196.yaml
  • I3198A peer is offered an assignment by capability under a fenced lease, and accepts or refuses it with a reason.ai/repo/project/issues/I3198.yaml
  • I3199An assignment names the execution profile it needs, and a peer whose envelope does not satisfy it is refused.ai/repo/project/issues/I3199.yaml
  • I3200The trunk's protection is compared with the CI model, and a drift is a finding that names the change.ai/repo/project/issues/I3200.yaml
  • I3201A publication never replaces the site with a build of an older commit than the one gh-pages serves.ai/repo/project/issues/I3201.yaml
  • I3202CI timings measure the wait before a run starts beside the run, and count what cancelled runs spent.ai/repo/project/issues/I3202.yaml
  • I3203Delivery lead time is measured per phase, from a pull request's opening to its verified publication.ai/repo/project/issues/I3203.yaml
  • I3204The backlog's bound is declared once in policy, and every session brief says when the landable backlog is past it.ai/repo/project/issues/I3204.yaml
  • I3205A pull request's change is split into canonical, derived and incidental paths, and the drain shows each.ai/repo/project/issues/I3205.yaml
  • I3206The delivery phases have budgets in benchmark policy, and a phase over its budget is a finding with its trend.ai/repo/project/issues/I3206.yaml
  • I3207A finished task names the pull request that carries its branch and that pull request's disposition.ai/repo/project/issues/I3207.yaml
  • I3208Whether a commit may be released is one read that names each condition and the evidence that settles it.ai/repo/project/issues/I3208.yaml
  • I3212Two open pull requests that realise the same issue are reported as duplicates, with the survivor named.ai/repo/project/issues/I3212.yaml
  • I3213One case walks a fresh clone from init to published evidence on the release candidate.ai/repo/project/issues/I3213.yaml
  • I3214The narrow-screen menu of /ui and /cockpit closes on Escape, on a choice and on its backdrop, and returns focus to its toggle.ai/repo/project/issues/I3214.yaml
  • I3215The ui audit refuses a control a thumb cannot hit at the floor width.ai/repo/project/issues/I3215.yaml
  • I3216The IDD loop is accepted at a phone's width as it is at a desktop's.ai/repo/project/issues/I3216.yaml
  • I3217A wide table on a UI screen is a stacked list below the narrow width, from the same rows.ai/repo/project/issues/I3217.yaml
  • I3218The execution ledger is a source of the monitor, so a run started anywhere is followed everywhere.ai/repo/project/issues/I3218.yaml
  • I3219The Observatory is told what happened over the live channel, and asks only when it cannot be told.ai/repo/project/issues/I3219.yaml
  • I3220An intent proposed or an issue moved by any client reaches an open intent workspace without a reload.ai/repo/project/issues/I3220.yaml
  • I3221Every live surface says in ADR 0158's words whether it is live, reconnecting, stale, polling, a snapshot or a replay.ai/repo/project/issues/I3221.yaml
  • I3222A follower whose frames are lost, delayed or reordered, or whose peer is partitioned, ends equal to a fresh snapshot.ai/repo/project/issues/I3222.yaml
  • I3223The homepage hero lets a visitor switch between recorded scenarios, each ending in the refusal it proves.ai/repo/project/issues/I3223.yaml
  • I3224Every problem and every step on the homepage leads to the feature and evidence behind it, with the maturity the product model derives.ai/repo/project/issues/I3224.yaml
  • I3225A capability is run from /ui through the form its input schema generates, confirmed when its effect writes, and followed as an execution.ai/repo/project/issues/I3225.yaml
  • I3226Every UI and Cockpit response says where its time went.ai/repo/project/issues/I3226.yaml
  • I3227A UI link a reader is about to follow is fetched ahead when the route is cheap and the connection allows it.ai/repo/project/issues/I3227.yaml
  • I3228The UI's search finds any entity the registry addresses and offers the moves its status admits.ai/repo/project/issues/I3228.yaml
  • I3229Every version badge says whose version it is and how it stands to the latest release.ai/repo/project/issues/I3229.yaml
  • I3230The Dashboard opens on what needs the owner: what runs, what is blocked and why, what was verified, and the next safe move.ai/repo/project/issues/I3230.yaml
  • I3231The Observatory shows its own stream health: lag, dropped frames, resyncs and frame rate.ai/repo/project/issues/I3231.yaml
  • I3232A kiosk left running for days shifts its marks against burn-in and recovers from a lost drawing context.ai/repo/project/issues/I3232.yaml
  • I3233Stage C renders only the targets that read the index, and the manifest no longer renders every code-only artifact a second time.ai/repo/project/issues/I3233.yaml
  • I3234A derive whose executable is current and whose inputs did not move answers before it waits for the machine's lock.ai/repo/project/issues/I3234.yaml
  • I3235The site generator reads the use-case catalogue once per run.ai/repo/project/issues/I3235.yaml
  • I3236Independent derive nodes run in bounded parallel against one snapshot, and the bytes do not depend on the order.ai/repo/project/issues/I3236.yaml
  • I3237A derive publishes its whole output set at once after validating it, and a killed derive leaves the previous set.ai/repo/project/issues/I3237.yaml
  • I3238A pull request runs the cases its change can affect, chosen from what each case declares it reads, and a change of unknown impact runs them all.ai/repo/project/issues/I3238.yaml
  • I3239One job builds a run's executable and every other job of that run uses it.ai/repo/project/issues/I3239.yaml
  • I3240A pull request's browser audit visits the pages its change can reach, and a shared-layout change sweeps them all.ai/repo/project/issues/I3240.yaml
  • I3241Only a job that reads history fetches all of it.ai/repo/project/issues/I3241.yaml
  • I3242The pull-request critical path has a committed GitHub baseline and a budget per required job, and a run's summary names its critical path and every cache state.ai/repo/project/issues/I3242.yaml
  • I3244The generated Dockerfile copies every path crate cargo metadata names, so a new workspace crate needs no edit of the image.ai/repo/project/issues/I3244.yaml
  • I3245The image build's cold and warm durations and its context size are read from docker-image runs, and the deployment records say what is built today.ai/repo/project/issues/I3245.yaml
  • I3246The evidence half of a gap is drafted from the ledger, and a second draft at one commit is the same.ai/repo/project/issues/I3246.yaml
  • I3247Work is drafted for each criterion nothing serves, under a key derived from the intent, the criterion and the gap, so a second draft drafts the same work.ai/repo/project/issues/I3247.yaml
  • I3248A draft that drops or weakens a criterion of its intent is refused unless a recorded decision names the change.ai/repo/project/issues/I3248.yaml
  • I3249A replan is bounded: past a declared budget of drafts without measurable progress it ends in a named state a person resolves.ai/repo/project/issues/I3249.yaml
  • I3250Before drafting work the planner says whether a criterion is met, met but unproven, or unmet, and drafts proof-only work where only proof is missing.ai/repo/project/issues/I3250.yaml
  • I3251A desired outcome is briefed with what the repository already holds about it.ai/repo/project/issues/I3251.yaml
  • I3252A draft plan is judged as if it were written, and only a checked draft is written, through one capability.ai/repo/project/issues/I3252.yaml
  • I3253A proposal lists the values it left unresolved, and a draft that carries an invented threshold is refused.ai/repo/project/issues/I3253.yaml
  • I3254A proposal names the existing intents and issues it duplicates or overlaps, and is merged into one rather than added beside it.ai/repo/project/issues/I3254.yaml
  • I3255A command criterion is met only by a recorded passing run of exactly that command at the presented revision.ai/repo/project/issues/I3255.yaml
  • I3256A deployment criterion is met only by a recorded observation of that deployment serving a build that contains the criterion's newest change.ai/repo/project/issues/I3256.yaml
  • I3257intent explain follows each served issue past its merge to the release and the observed deployment that carry it.ai/repo/project/issues/I3257.yaml
  • I3258Evidence for and against one criterion is kept and named, and the criterion reads unknown until it is settled.ai/repo/project/issues/I3258.yaml
  • I3259Where the policy says completed means complete, finish refuses completed while a criterion the task serves is unmet, and writes no intent state.ai/repo/project/issues/I3259.yaml
  • I3260One intent is carried in a disposable repository from a sentence through a failing criterion to a satisfied verdict, across two providers and a handover.ai/repo/project/issues/I3260.yaml
  • I3261Every bypass of the intent loop is tried by a test and is refused or exempted by policy, never passed.ai/repo/project/issues/I3261.yaml
  • I3267One read-only evaluator says what accepting an issue would unblock, from plan.next's own readiness rules.ai/repo/project/issues/I3267.yaml
  • I3268The published plan has an impact page whose graph and sortable table agree and name the commit they were read at.ai/repo/project/issues/I3268.yaml
  • I3269Accepting several issues at once is previewed on the original graph, with shared unlocks counted once.ai/repo/project/issues/I3269.yaml
  • I3270A blocked issue says which kind of block holds it: a dependency, contention, or a stale record.ai/repo/project/issues/I3270.yaml
  • I3271plan.drift reports a source it could not observe as unknown, never as a drift finding.ai/repo/project/issues/I3271.yaml
  • I3272A received brief is a campaign revision pinned by its manifest digest, and the same bytes again are the same revision.ai/repo/project/issues/I3272.yaml
  • I3273Each requirement of a campaign revision has a content-derived identity and is reconciled into the existing intents and issues.ai/repo/project/issues/I3273.yaml
  • I3274A new campaign revision reports only the criteria whose source requirement changed.ai/repo/project/issues/I3274.yaml
  • I3275An intent's inspector shows the campaign segments it was derived from.ai/repo/project/issues/I3275.yaml
  • I3276The time from an intent's proposal to its verified satisfaction is derived from the records, with the interventions on the way.ai/repo/project/issues/I3276.yaml
  • I3278The 2026-10-18 import is the workspace store's first sync, not a scratchpad.ai/repo/project/issues/I3278.yaml
  • I3279The vendor's own data export is a transport, and it carries the message identities an in-page read did not keep.ai/repo/project/issues/I3279.yaml
  • I3280An intent, a milestone and an issue carry provenance the way an ADR and a knowledge record do.ai/repo/project/issues/I3280.yaml
  • I3281A workspace message is a typed provenance reference that validates in every checkout without the store.ai/repo/project/issues/I3281.yaml
  • I3282A workspace reference resolves to its message where the store holds it, and says 'not held here' where it does not.ai/repo/project/issues/I3282.yaml
  • I3283The UI opens the message a record cites, and the published snapshot shows only the reference.ai/repo/project/issues/I3283.yaml
  • I3284Every reference the 2026-10-18 import wrote is pinned to the upstream message it meant.ai/repo/project/issues/I3284.yaml
  • I3285A vendor workspace reads the plan through the authenticated remote MCP surface, and a tunnel never makes it look local.ai/repo/project/issues/I3285.yaml
  • I3286A proposal from a workspace arrives as intent.propose carrying the workspace reference it came from.ai/repo/project/issues/I3286.yaml
  • I3287A provider declares how it reports usage, with the evidence, beside its lifecycle.ai/repo/project/issues/I3287.yaml
  • I3288The shared server receives Claude Code's OpenTelemetry usage events over loopback and records them as reported.ai/repo/project/issues/I3288.yaml
  • I3289Turning usage collection on is a dry-run plan the person consents to, never a committed repository setting.ai/repo/project/issues/I3289.yaml
  • I3290Codex usage is read from app-server increments, and a cumulative total is never summed.ai/repo/project/issues/I3290.yaml
  • I3291Gemini CLI usage events map onto the same record, thought tokens included.ai/repo/project/issues/I3291.yaml
  • I3292Reported tokens, a price-list estimate and a billed amount are three fields, and the billing mode says which account paid.ai/repo/project/issues/I3292.yaml
  • I3293Usage is attributed to the session, task and issue it was spent on, from records the repository already keeps.ai/repo/project/issues/I3293.yaml
  • I3294/ui shows usage by provider, model, session, task and issue, and every figure opens its reported events.ai/repo/project/issues/I3294.yaml
  • I3295A task declared over its token budget is told so, and refused only where policy says refuse.ai/repo/project/issues/I3295.yaml
  • I3296Each compaction is measured: the context before and after, from the provider's report.ai/repo/project/issues/I3296.yaml
  • I3297A waste finding names its evidence and confidence and is never presented as a saving.ai/repo/project/issues/I3297.yaml
  • I3298The benchmark declares one arm per mechanism and per agent topology, and a short-task hypothesis beside the long-work one.ai/repo/project/issues/I3298.yaml
  • I3299Majordomus's own overhead in an adopting repository is measured per operation against declared budgets.ai/repo/project/issues/I3299.yaml
  • I3300Majordomus installs into Claude Code as one generated plugin carrying its skills, hooks, mods and MCP server.ai/repo/project/issues/I3300.yaml
  • I3301A Claude Code session that stops with an active task is told what the task still owes.ai/repo/project/issues/I3301.yaml
  • I3302An installed plugin or mod that differs from what the repository generated is a doctor finding.ai/repo/project/issues/I3302.yaml
  • I3303Codex's hooks draw its episodes and refuse an edit no claim covers, as Claude Code's do.ai/repo/project/issues/I3303.yaml
  • I3304A prompt reaches the model within a declared capture budget, and no captured record is lost.ai/repo/project/issues/I3304.yaml
  • I3305A scripted capability installed from outside the repository registers like one inside it.ai/repo/project/issues/I3305.yaml
  • I3306An external scripted capability runs under default-deny grants, bounded, and leaves an audit record.ai/repo/project/issues/I3306.yaml
  • I3307The default MCP tools/list stays within a declared byte budget, and a full schema is fetched per tool.ai/repo/project/issues/I3307.yaml
  • I3308Zed validates and completes .ai files against the repository's own schemas.ai/repo/project/issues/I3308.yaml
  • I3309A fix finishes completed only with a named regression case that fails on the task's base and passes on its head.ai/repo/project/issues/I3309.yaml
  • I3310majordomus start refuses a task, owner or reason that the task record cannot hold, and writes nothing.ai/repo/project/issues/I3310.yaml
  • I3311Generated sequences of episode events never move an episode in a way its transition table forbids.ai/repo/project/issues/I3311.yaml
  • I3312An ADR may name the paths it governs, and the compiled context for those paths includes it.ai/repo/project/issues/I3312.yaml
  • I3313A failing verification in a closed session record says whether the ledger already held it failing at the task's base.ai/repo/project/issues/I3313.yaml
  • I3314An object's read names the commit that last changed its file, and its page lists the commits that changed it.ai/repo/project/issues/I3314.yaml
  • I3315The image smoke completes an MCP initialize on /mcp and a WebSocket upgrade on /events, not only a ready probe.ai/repo/project/issues/I3315.yaml
  • I3316The rescue command a stranded worktree is offered is proved by a drill that restores its work byte-identical.ai/repo/project/issues/I3316.yaml
  • I3317An execution records the commit it started at, and a writing execution the paths it changed.ai/repo/project/issues/I3317.yaml
  • I3318Every decision and curated note is read on /ui, with the records it names and the records that name it.ai/repo/project/issues/I3318.yaml
  • I3319No record names a repository a design was studied in.ai/repo/project/issues/I3319.yaml
  • I3320A lifecycle command run against an absent or stale executable fails loudly and never falls back to a shell writer.ai/repo/project/issues/I3320.yaml
  • I3321In a foreign repository, the wired pre-push hook of the claude-code projection refuses what finish would refuse, through the installed release.ai/repo/project/issues/I3321.yaml
  • I3322capture install wires the edit guard into Claude Code's PreToolUse, first in an advisory mode, and doctor reports it unwired.ai/repo/project/issues/I3322.yaml
  • I3323An unclaimed edit is refused in Claude Code once no live peer edits without a claim.ai/repo/project/issues/I3323.yaml
  • I3324After every deploy the published homepage's hero choices are probed and found reachable.ai/repo/project/issues/I3324.yaml
  • I3350The homepage copy may not use a word of delivered value until a claim permits it.ai/repo/project/issues/I3350.yaml
  • I3351A proof plan is a validated record in which each protocol is frozen by its own digest, so registering one test never stales another's records.ai/repo/project/issues/I3351.yaml
  • I3352The six proof tests are registered, each with the claim it settles and its instrument, and none carries a protocol yet.ai/repo/project/issues/I3352.yaml
  • I3353A trial is a typed record that carries its protocol's digest, refuses what the protocol does not declare, and redacts what its publication basis does not permit.ai/repo/project/issues/I3353.yaml
  • I3354A pure scorecard function computes each proof test's status, counted sample, effect and losses from committed records, and withholds a verdict until the registered sample is complete.ai/repo/project/issues/I3354.yaml
  • I3355majordomus economics proof serves the scorecard on the command line, HTTP and MCP from one capability declaration.ai/repo/project/issues/I3355.yaml
  • I3356The site's economics page publishes the scorecard from the generated summary, failed and inconclusive tests and every loss in the same rows as passed ones, each linking its records.ai/repo/project/issues/I3356.yaml
  • I3357/ui/evidence shows the proof scorecard beside the claims it settles, read from economics.proof, with each row linking its records.ai/repo/project/issues/I3357.yaml
  • I3358economics check refuses a guaranteed claim of value that no passed proof test backs, in the claims matrix only.ai/repo/project/issues/I3358.yaml
  • I3359A workflow states which repository may be adopted as foreign, what each adoption records and publishes, and with whose consent.ai/repo/project/issues/I3359.yaml
  • I3360The T1 protocol and its selection floors are registered before any candidate is measured, and a record without an admitted candidate is refused.ai/repo/project/issues/I3360.yaml
  • I3361install-check's first-run stage runs against a clone of an existing repository named on the command line and writes a T1 trial record.ai/repo/project/issues/I3361.yaml
  • I3362Candidate repositories are measured against the registered floors and admitted or refused before any of them is installed into.ai/repo/project/issues/I3362.yaml
  • I3363One admitted foreign repository is adopted from the published installer to an accepted finish by a real coding agent, and its record is committed whatever its outcome.ai/repo/project/issues/I3363.yaml
  • I3364The adoption-overhead bench takes a target repository, and Majordomus's overhead and footprint are measured in the adopted foreign repository.ai/repo/project/issues/I3364.yaml
  • I3365Every intervention, undocumented command and refused step of a foreign adoption carries a friction id or a reason, and every friction id is cited by an issue or a cancellation.ai/repo/project/issues/I3365.yaml
  • I3366The economics calculator decides a binary paired outcome by an exact task-level test, intervals a continuous paired difference by task-clustered bootstrap, and turns either into one verdict.ai/repo/project/issues/I3366.yaml
  • I3367A suite can be registered: strata, outcomes, acceptance rule, analysis, MDE, a seeded interleaved run order and the stopping rule are declared data the load validates and the runner honours.ai/repo/project/issues/I3367.yaml
  • I3368Six large tasks join the economics corpus, each failing on its start, passing on its reference and reviewed by someone other than its author.ai/repo/project/issues/I3368.yaml
  • I3369Four medium and three small tasks join the economics corpus, each failing on its start, passing on its reference and reviewed by someone other than its author.ai/repo/project/issues/I3369.yaml
  • I3370The corpus suite is registered and committed before its first run, and the T2 protocol names its registration digest.ai/repo/project/issues/I3370.yaml
  • I3371Economics summary decides a registered suite's primary outcome by its registered test, reports secondary differences without a verdict word, and refuses typed figures about them.ai/repo/project/issues/I3371.yaml
  • I3372The registered corpus is run in both arms, its records are committed, and its verdict is published with its losses and its origin.ai/repo/project/issues/I3372.yaml
  • I3373The program's blocked dependencies are cut or re-scoped by recorded owner decisions, or recorded as refused with the criteria they leave outside the window.ai/repo/project/issues/I3373.yaml
  • I3374Task difficulty is a proxy measured from each task's reference, and the stratum cut-offs are registered before any new task is written.ai/repo/project/issues/I3374.yaml
  • I3375A registered suite pins its treatment to one released version, so landings on master during the runs leave them current.ai/repo/project/issues/I3375.yaml
  • I3376One capability states each task's wall time and episodes from every checkout's ledger, and names every field it cannot yet fill as not observed.ai/repo/project/issues/I3376.yaml
  • I3377A task's prompt records, restarts and manual changes are counted by type from the records that already hold them, each with the ids behind it.ai/repo/project/issues/I3377.yaml
  • I3378A permission request the provider reports leaves a receipt with its own elapsed time, and economics.tasks counts it as an approval.ai/repo/project/issues/I3378.yaml
  • I3379Each issue's CI reruns and rounds are counted from the Actions run record, attributed through plan.delivery.ai/repo/project/issues/I3379.yaml
  • I3380A task's spend is the usage attributed to it, as reported tokens with their class, and money stays not observed until it is a separate field.ai/repo/project/issues/I3380.yaml
  • I3381A task counts as accepted only by the written definition of an accepted outcome, with the issue's furthest delivery stage shown beside it.ai/repo/project/issues/I3381.yaml
  • I3382Every recorded benchmark run answers the same delivery-economics shape as a task.ai/repo/project/issues/I3382.yaml
  • I3383The T3 delivery window is registered before it opens: its period, the work it admits, the definition of accepted and a bound on each field's not-observed share.ai/repo/project/issues/I3383.yaml
  • I3384The first delivery window is measured at its close and published with its denominators, the work not accepted and the checkouts it could not read.ai/repo/project/issues/I3384.yaml
  • I3385A registered suite's primary verdict can be held to a non-inferiority guard, so a speed-up counts only when accepted share is not worse by more than a registered margin.ai/repo/project/issues/I3385.yaml
  • I3386The economics runner runs one job as several concurrent workers in worktrees of one workspace sharing the treatment's server, and records the job's wall time to an integrated, accepted tree.ai/repo/project/issues/I3386.yaml
  • I3387Batch tasks compose existing corpus tasks into sets of issues several workers can share, with their dependencies and the union of their hidden tests.ai/repo/project/issues/I3387.yaml
  • I3388The mesh suite is registered before its first run, and the T4 protocol names its registration digest.ai/repo/project/issues/I3388.yaml
  • I3389The mesh suite is run in both arms and its guarded verdict is published with its losses.ai/repo/project/issues/I3389.yaml
  • I3390One conservation reading counts completions per issue, unreachable task commits, stranded claims and multiply-consumed handovers, each violation with its records.ai/repo/project/issues/I3390.yaml
  • I3391The T5 protocol registers three fault kinds, the trials each needs and what a trial must show, before any fault is injected.ai/repo/project/issues/I3391.yaml
  • I3392The mesh lab injects the three faults into work in progress, and its evidence holds the conservation reading of each scenario.ai/repo/project/issues/I3392.yaml
  • I3393Each fault is injected into real coding-agent sessions on one host, and each trial's recovery and conservation reading are committed.ai/repo/project/issues/I3393.yaml
  • I3394The mesh lab's work-fault evidence from CI is committed as T5 trials and the T5 verdict is published with every failed trial.ai/repo/project/issues/I3394.yaml
  • I3395An intent criterion can cite a verification the repository's profile declares, and a recorded passing run of it at the current tree makes the criterion current.ai/repo/project/issues/I3395.yaml
  • I3396A documented command adds a criterion to a proposed intent, and the getting-started page shows the path from a proposal to a satisfied verdict.ai/repo/project/issues/I3396.yaml
  • I3397install-check's first-intent stage reaches a satisfied verdict in a named repository with only the getting-started commands, and counts the doctrine its output exposes.ai/repo/project/issues/I3397.yaml
  • I3398The T6 protocol says who counts as a newcomer, what each trial records and how many must reach a satisfied verdict unaided, before any trial runs.ai/repo/project/issues/I3398.yaml
  • I3399Newcomer trials are run as the protocol declares, recorded as they happened, and the T6 verdict is published with every trial.ai/repo/project/issues/I3399.yaml
  • I3400The decompose-a-brief skill exists, is invoked by the plan workflow, and is named by both skill tests, so skills verify holds it as a capability.ai/repo/project/issues/I3400.yaml
  • I3401intents.propose writes no record for a multi-paragraph, Markdown or over-length statement and answers invalid_input, naming the canonical digest and the skill that decomposes it.ai/repo/project/issues/I3401.yaml
  • I3402The /intent alias follows the skill an unsuccessful answer names instead of stopping at it or retrying with altered text.ai/repo/project/issues/I3402.yaml
  • I3403The Cockpit runner, the execution form and the intent workspace show an answer that names a skill as one link to that skill, proven in the existing browser case.ai/repo/project/issues/I3403.yaml
  • I3404A decomposition of a synthetic brief in the skill's output shape is held valid by a test, its digest agrees with the refusal, and an unserved criterion in it is caught.ai/repo/project/issues/I3404.yaml
  • I3405Every generated model-invocable domain skill follows the skill an unsuccessful answer names, so the MCP path does not end at a refused paste.ai/repo/project/issues/I3405.yaml
  • I3406A prompt delivered again, concurrently, on the next day or after a resumed session is still one record, and capture status counts every identity that more than one record holds.ai/repo/project/issues/I3406.yaml
  • I3407What a set of paths affects in the plan is derived from the index: the issues whose scope covers them, what those issues serve and their incoming edges, each with its relation, and nothing is rescanned.ai/repo/project/issues/I3407.yaml
  • I3408A captured prompt is answered, on this machine only, with the existing intents and issues it matches or with no match, and the answer carries identities and never the prompt's text.ai/repo/project/issues/I3408.yaml
  • I3409An episode answers, for each prompt it captured, the intent it matched, the task that recorded it, that task's outcome and the evidence of the criterion it serves, with the same identities on every surface and after any replay.ai/repo/project/issues/I3409.yaml
  • I3410A Codex prompt is captured through Codex's own UserPromptSubmit hook, and capture status stops calling Codex prompts unadapted.ai/repo/project/issues/I3410.yaml
  • I3411A task records the captured prompt it followed, so the join from prompt to task is a recorded fact rather than a time adjacency.ai/repo/project/issues/I3411.yaml
  • I3412entity.affected also answers the rules, claims and knowledge records whose declared references name an affected path or issue, and takes a revision range.ai/repo/project/issues/I3412.yaml
  • I3413A decision, resolved question or verified task fact already curated or pending from another episode of this checkout is not proposed again, and derive names the record it matched.ai/repo/project/issues/I3413.yaml
  • I3414Every candidate group names the curated notes and the rule that already speak about its subject, read from entity.affected, so a possible duplicate or contradiction is in front of the reviewer with both sources.ai/repo/project/issues/I3414.yaml
  • I3415knowledge promote refuses evidence that names no reference existing in this checkout, and knowledge.promoted records the references it stood on.ai/repo/project/issues/I3415.yaml
  • I3416The episode boundary is proven to give one candidate for an observation recorded twice, none for a partial task, and one file per episode when two episodes close at once.ai/repo/project/issues/I3416.yaml
  • I3417An observation can cite the mesh review that found what it records, and the reference stays in the candidate's body, never in its provenance.ai/repo/project/issues/I3417.yaml
  • I3418Every advisor consultation records the model that answered, the source it came through and the session that asked.ai/repo/project/issues/I3418.yaml
  • I3419A conclusion's independent review count counts distinct sources, defined as adapter plus recorded model, so two answers from one source are one review.ai/repo/project/issues/I3419.yaml
  • I3420A mesh peer asked for critique receives the question and its evidence, and its answer is recorded with the session that gave it.ai/repo/project/issues/I3420.yaml
  • I3421A reasoning plan over the task's declared token or time budget consults nobody and says that the budget decided.ai/repo/project/issues/I3421.yaml
  • I3422Advisor consultations are economics usage with their measurement class, and a consultation over its plan's budget is a finding.ai/repo/project/issues/I3422.yaml
  • I3423docs/REASONING.md maps the pack's routing levels onto the existing plan outcomes and modes, and a test fails when an outcome is missing from that mapping.ai/repo/project/issues/I3423.yaml
  • I3424No inference transport is reachable from the shell closure of any declared hook command, and reasoning check refuses one that is.ai/repo/project/issues/I3424.yaml
  • I3425A standing conclusion is reused only while the files it cites are unchanged since it was recorded.ai/repo/project/issues/I3425.yaml
  • I3426An advisor answer carrying instructions or record-shaped fields is kept as bounded text and changes no record.ai/repo/project/issues/I3426.yaml
  • I3427Every entity read names how its record says it is known, and never answers verified itself: proof stays the pointer it is.ai/repo/project/issues/I3427.yaml
  • I3428An entity read carries the observation envelope repository.info already answers, plus the blob of its file, and a change to that file moves both.ai/repo/project/issues/I3428.yaml
  • I3429One entity reads the same on the command line, REST, MCP and the Cockpit: identity, kind, class, evidence, observation envelope and edge order.ai/repo/project/issues/I3429.yaml
  • I3430The IDD standing panel and the Cockpit intent page show, under each criterion, the knowledge that bears on it, each with how it is known.ai/repo/project/issues/I3430.yaml
  • I3431A record a process outside the server writes (a knowledge record reaching the index, a ledger line or a captured prompt) reaches an open view within one heartbeat, without a reload.ai/repo/project/issues/I3431.yaml
  • I3432The UI and Cockpit snapshots pass both privacy gates after they are placed and before anything is published, on CI and from a terminal.ai/repo/project/issues/I3432.yaml
  • I3433A UI snapshot page renders only the readings its subject declares publishable, and a page that reads any other reading, or a capability that refuses remote callers, is withheld with a link to the live page.ai/repo/project/issues/I3433.yaml
  • I3434A capability declared as reading checkout-private records answers only this machine: a caller beyond loopback is refused on HTTP and MCP, and the refusal logs no input value.ai/repo/project/issues/I3434.yaml
  • I3435A Cockpit snapshot withholds every page that reads a capability refusing remote callers, not only the continuity page it names.ai/repo/project/issues/I3435.yaml
  • I3436Every article reads in every language the site declares, and its counterparts are reciprocal.ai/repo/project/issues/I3436.yaml
  • I3437An article names every language version in one translations table, and every member names the same group.ai/repo/project/issues/I3437.yaml
  • I3438A translation records the digest of its source, and site-check refuses one its source has moved past.ai/repo/project/issues/I3438.yaml
  • I3439Now and next are derived once, and every plan surface names the same two.ai/repo/project/issues/I3439.yaml
  • I3440A milestone's meter counts the issues it requires, and a milestone with none says so.ai/repo/project/issues/I3440.yaml
  • I3441The roadmap's tables show the order they are in, say none for nothing, and link every milestone.ai/repo/project/issues/I3441.yaml
  • I3442Where the work is is cached by what it reads, and a warm roadmap does not walk the trunk.ai/repo/project/issues/I3442.yaml
  • I3443Each roadmap milestone names the product features its issues deliver, derived from the feature declarations.ai/repo/project/issues/I3443.yaml
  • I3444A claim released on a runtime that is not replicating reaches every linked runtime, or the release is refused.ai/repo/project/issues/I3444.yaml
  • I3447No two published paths differ only in case, and a publication that holds two is refused before it is built.ai/repo/project/issues/I3447.yaml
  • I3448A deploy of master keeps every pre-release's metadata the site already serves.ai/repo/project/issues/I3448.yaml
  • I3449Every surface names its versions from one derived release model, says which version each one is, and a gate refuses a version that disagrees or is written by hand.ai/repo/project/issues/I3449.yaml
  • I3602The interaction probe is split, so every control of every page is driven inside its bound.ai/repo/project/issues/I3602.yaml
  • I3606Two live instances of one runtime slot keep their links, and the mesh names them instead of flapping.ai/repo/project/issues/I3606.yaml
  • I3607mesh state answers in JSON on the command line, and its view is chosen the same way on every surface.ai/repo/project/issues/I3607.yaml
  • I3608An open review says how old it is, and lapses when nobody can answer it any more.ai/repo/project/issues/I3608.yaml
  • I3609A claim replayed after a re-attach keeps the time it was made, and an announce answers with the claim it made.ai/repo/project/issues/I3609.yaml
  • I3660A vendor declares its funding sources in the model catalogue, each with dated, quoted vendor evidence.ai/repo/project/issues/I3660.yaml
  • I3661Which funding sources the owner holds, and their caps, are the owner's local declaration and never projected.ai/repo/project/issues/I3661.yaml
  • I3662models.route names the funding source a route would draw on, as an inference with its basis, in the declared source order.ai/repo/project/issues/I3662.yaml
  • I3663An Anthropic API advisor is declared, so a held Anthropic credit grant can pay for review.ai/repo/project/issues/I3663.yaml
  • I3664doctor and the brief tell the owner a held funding source no credential reaches, with the vendor's claim link.ai/repo/project/issues/I3664.yaml
  • I3665A benchmark run and an advisor consultation carry the funding kind the owner declared for them, or unknown.ai/repo/project/issues/I3665.yaml
  • I3666Spend against a funding source is observed from a named vendor seam or recorded absent, and no balance is derived from a price.ai/repo/project/issues/I3666.yaml
  • I3667A run that would fall through to metered billing while a grant is held, or cross a declared cap, is told before it starts.ai/repo/project/issues/I3667.yaml
  • I3750The milestone graph reads each edge in the direction it means, in its text and in its detail panel.ai/repo/project/issues/I3750.yaml
  • I3751The roadmap says only what the plan holds, with a bar and a date on every milestone.ai/repo/project/issues/I3751.yaml
  • I3752The UI is one of the product's surfaces, so every count of the interfaces agrees.ai/repo/project/issues/I3752.yaml
  • I3753The Czech copy says what the English says, in one vocabulary, with no segment of the homepage or the roadmap left in English.ai/repo/project/issues/I3753.yaml
  • I3754plan.next never names an issue whose delivery is merged or released, and plan.roadmap names that issue with its drift.ai/repo/project/issues/I3754.yaml
  • I3755/roadmap/ opens with now, next and a status summary, shows each milestone's priority, and keeps its issue groups collapsed.ai/repo/project/issues/I3755.yaml
  • I3756A published UI snapshot says once why it reads no mesh and no deployed commit, and shows no unread notice for either.ai/repo/project/issues/I3756.yaml
  • I3757A BLOCKED milestone names what holds it: the milestones it waits on, or the issues outside it that hold every open issue inside it.ai/repo/project/issues/I3757.yaml
  • I3758A number in a segment is a placeholder, so a changed count keeps its translation, and site-check reports each copy's untranslated share.ai/repo/project/issues/I3758.yaml
  • I3759Every language's homepage is held to the declared weight budget, and the capability list is fetched rather than inlined.ai/repo/project/issues/I3759.yaml
  • I3760Each evidence-chain node says its own thing, and every homepage figure links to a page that counts the same number.ai/repo/project/issues/I3760.yaml
  • I3761The Pages run of a release head publishes with fresh evidence, or publishes the site with the evidence lag stated, and never fails on a missing snapshot artifact.ai/repo/project/issues/I3761.yaml
  • I3762plan validate warns on an open issue that declares no parallel_safe.ai/repo/project/issues/I3762.yaml
  • I3763A cancelled dependency that names its replacement is satisfied by that replacement, and one that names none is reported.ai/repo/project/issues/I3763.yaml
  • I3764The homepage's plan card says what each status means, links each to its issues, draws progress, and invites the roadmap.ai/repo/project/issues/I3764.yaml
  • I3765The homepage's provider figure says what it counts, and every provider it names is a name a visitor can recognise.ai/repo/project/issues/I3765.yaml
  • I3766The install section links each page once, and the recorded refusals are grouped by the use case they prove.ai/repo/project/issues/I3766.yaml
  • I3767The language switch of a UI or Cockpit page keeps the reader on that page, and says so when the surface has no copy in the language chosen.ai/repo/project/issues/I3767.yaml
  • I3768Every plan surface answers 'when' from the records: a release's date beside its version, and the last delivery date of each open milestone.ai/repo/project/issues/I3768.yaml
  • I3769A published page reads delivery at the commit it was built from, and names one commit.ai/repo/project/issues/I3769.yaml
  • I3770A server that lost its checkout lease answers every mesh read by naming the server that holds it, never with an empty mesh.ai/repo/project/issues/I3770.yaml
  • I3771A claim scope that is not a repository path is refused, or mapped to the record file it names, so a milestone claim excludes what it says.ai/repo/project/issues/I3771.yaml
  • I3772Every mesh link counts its failed sync rounds, and a link whose rounds fail does not read plainly connected.ai/repo/project/issues/I3772.yaml
  • I3773Every plan surface draws a milestone's progress as a bar of the issues it requires, a blocked milestone's bar says the gate is closed, and the roadmap no longer says a bar would be a lie.ai/repo/project/issues/I3773.yaml
  • I3774Every completed step of a session is announced on the mesh by the step itself, and the board, the monitor and the UI show it.ai/repo/project/issues/I3774.yaml
  • I3775A page written by hand is never resolved as derived: the merge=derived globs name only what a generator writes.ai/repo/project/issues/I3775.yaml
  • I3777site-check refuses a translation-memory entry the build can no longer reach because it is keyed the old way.ai/repo/project/issues/I3777.yaml
  • I3790The design book declares one mechanism, its tokens and its gate for code, charts, controls, embeds and shell blocks.ai/repo/project/issues/I3790.yaml
  • I3791A code block on /ui and the Cockpit carries the one highlighter's classes, and the audit refuses one that does not.ai/repo/project/issues/I3791.yaml
  • I3792Every chart on every surface is drawn from a table on its page.ai/repo/project/issues/I3792.yaml
  • I3793One copy control and one tab control ship to every surface.ai/repo/project/issues/I3793.yaml
  • I3794The interaction probe drives the controls of /ui and the Cockpit as it drives the site's.ai/repo/project/issues/I3794.yaml
  • I3795A surface links to another surface and never embeds it.ai/repo/project/issues/I3795.yaml
  • I3796Every command and its output is one shell block, on every surface.ai/repo/project/issues/I3796.yaml
  • I3797A command shown outside the shell block is refused by the audit.ai/repo/project/issues/I3797.yaml
  • I3798A session's mesh claims outlive a lease takeover of the server it made them on.ai/repo/project/issues/I3798.yaml
  • I3799The Pages publication budgets are re-derived from the runs that publish the language copies.ai/repo/project/issues/I3799.yaml
  • I3810A mesh session whose client process has ended is closed by the runtime that holds it.ai/repo/project/issues/I3810.yaml
  • I3820A deployment names the provider that hosts it, and the provider's files are generated from it.ai/repo/project/issues/I3820.yaml
  • I3821The tree a provider receives is assembled from the deployment object, and master publishes it after green ci.ai/repo/project/issues/I3821.yaml
  • I3822A deployment that names a provider is observed at its own URL, and is active only while it serves master.ai/repo/project/issues/I3822.yaml
  • I3823The mesh client reaches an https endpoint over TLS and refuses cleartext to a public address.ai/repo/project/issues/I3823.yaml
  • I3824The cooperation rule says a worker lands its own green head, and every bootstrap says the same.ai/repo/project/issues/I3824.yaml
  • I3825A build refuses to start beside five others or below 35 GiB free.ai/repo/project/issues/I3825.yaml
  • I3826A hosted hub keeps one key from a secret, advertises its URL, and shows the mesh only to those it trusts.ai/repo/project/issues/I3826.yaml
  • I3827The hosted hub is this repository's default rendezvous, and every node shows it as the path from anywhere.ai/repo/project/issues/I3827.yaml
  • I3829A provider declares whether its client drives a browser beside the server, and preflight says when this machine's bridge is missing.ai/repo/project/issues/I3829.yaml
  • I3830A local gate reports and CI decides: pre-commit and pre-push refuse only on integrity.ai/repo/project/issues/I3830.yaml
  • I3831A hook never starts a cold cargo build: a stale executable is the installed release, or the check is skipped and says so.ai/repo/project/issues/I3831.yaml
  • I3832majordomus worktree sweep removes merged, clean, idle worktrees, never with force, and announces each on the mesh.ai/repo/project/issues/I3832.yaml
  • I3833majordomus disk prune reclaims by name what nobody is using: idle build directories under their cargo locks, and the container runtime's cache.ai/repo/project/issues/I3833.yaml
  • I3834A case run removes its own scratch dir however it ends: passed, failed, timed out or interrupted.ai/repo/project/issues/I3834.yaml
  • I3835A node the mesh lists as trusted and present but cannot link is said so, with why, on every surface that names it.ai/repo/project/issues/I3835.yaml
  • I3836An offload derive observes the bundle's base commit, not its throwaway snapshot, so what it derives passes CI's check.ai/repo/project/issues/I3836.yaml
  • I3837A case that enables the mesh declares its tailnet provider off, so it stays hermetic on a machine that runs Tailscale.ai/repo/project/issues/I3837.yaml
  • I3838The plan page renders within the audit budget at every width, because a finding is counted rather than printed once per pair.ai/repo/project/issues/I3838.yaml
  • I3839A build that cannot take its build directory's lock never falls back to a cold private directory below the free-disk bound: it waits, bounded, or refuses naming the bound and the holder.ai/repo/project/issues/I3839.yaml
  • I3840The intent workspace answers within its 100 ms budget: its shared-scope fold holds the first pairs, not every pair.ai/repo/project/issues/I3840.yaml
  • I3841The plan's graph is drawn by milestone, so /plan/dag/ answers the site probe within its budget however large the backlog grows.ai/repo/project/issues/I3841.yaml
  • I3842A caller on another host never sees this process's executions, live or recorded.ai/repo/project/issues/I3842.yaml
  • I3843The homepage title says the product sentence as declared, and in Czech on the Czech homepage.ai/repo/project/issues/I3843.yaml
  • I3860An article explains in both languages why a saving is measured, not claimed.ai/repo/project/issues/I3860.yaml
  • I3861The economics methodology names an interval the calculator does not compute, and ADR 0082 reads a finding it has no run for.ai/repo/project/issues/I3861.yaml
  • I3862The shell floor is held by a case that reads what the rule forbids.ai/repo/project/issues/I3862.yaml
  • I3902A hung Pages build is replaced by a declared bound, and the right tree is rebuilt, never redeployed.ai/repo/project/issues/I3902.yaml
  • I3903A stuck or superseded CI run is found and stopped by a declared bound, by a typed capability on a schedule.ai/repo/project/issues/I3903.yaml
  • I3910The integration executor fast-forwards master to every green head, a combined top included, and nothing else lands.ai/repo/project/issues/I3910.yaml
  • I3911The executor reads its audit trail, its halt and its lease from origin, so any clone continues it and a stale holder is refused.ai/repo/project/issues/I3911.yaml
  • I3912A seat whose holder stopped beating is reported vacant and offered to live sessions by capability.ai/repo/project/issues/I3912.yaml
  • I3913The executor runs as a user service outside every agent session, restarted after a crash and never after a halt.ai/repo/project/issues/I3913.yaml
  • I3914A standing approval is one owner-attributed record in the repository, each machine reports whether it carries it, and only the owner writes it.ai/repo/project/issues/I3914.yaml
  • I3915A combined top is composed by a typed command from members declared in a tracked train manifest.ai/repo/project/issues/I3915.yaml
  • I3916The homepage counts supported claims from the run the evidence page reads, and names the revision it was recorded at.ai/repo/project/issues/I3916.yaml
  • I3917The plan's status counts leave the homepage hero and stay on the roadmap.ai/repo/project/issues/I3917.yaml
  • I3918README, CONTRIBUTING and the homepage say truthfully how big the tool is and what its registry counts are.ai/repo/project/issues/I3918.yaml
  • I3919The coverage gate finds the end of a test module across multi-line and raw string literals.ai/repo/project/issues/I3919.yaml
  • I3920The GitHub projection reads every issue, and a listing shorter than the repository refuses rather than reads as missing.ai/repo/project/issues/I3920.yaml
  • I3930The suite is dealt from the seconds it costs now, and the record that deals it says when it falls behind.ai/repo/project/issues/I3930.yaml
  • I3931A stale UI bar is told in a minute, before the browser audit, and a branch does not spend the audit to learn it.ai/repo/project/issues/I3931.yaml
  • I3932Coverage is exported as LCOV and Cobertura from its one measurement, and uploaded to Coveralls and Codecov when their secrets exist.ai/repo/project/issues/I3932.yaml
  • I3933Every master run's coverage and CI cost join a derived series that the site and the Cockpit draw.ai/repo/project/issues/I3933.yaml
  • I3934A CI run is emitted as an OpenTelemetry trace when an endpoint is configured, and nothing is sent when none is.ai/repo/project/issues/I3934.yaml
  • I3935An agent session's telemetry reaches the same OpenTelemetry endpoint, configured once and projected to every provider.ai/repo/project/issues/I3935.yaml
  • I3936The pages gate judges master's deploy after the run's heavy jobs, not on a clock that expires while the deploy queues behind them.ai/repo/project/issues/I3936.yaml
  • I3937A gate whose cases the planned suite runs is not planned beside it.ai/repo/project/issues/I3937.yaml
  • I3938The rustdoc composition case proves its composition on a small site, not on the whole one.ai/repo/project/issues/I3938.yaml
  • I3939The executable and the rustdoc surface are built once per run and downloaded by the jobs that drive them.ai/repo/project/issues/I3939.yaml
  • I3940The UI audit runs as four shards side by side, and the long pole of a full run is a quarter as long.ai/repo/project/issues/I3940.yaml
  • I3941The UI draws the trends the pages publication records: coverage and CI time per run, and the slowest jobs.ai/repo/project/issues/I3941.yaml
  • I3942Linux's per-argument cap is measured on every host, so an oversized jq argument fails where it is written.ai/repo/project/issues/I3942.yaml
  • I3943A second list of gates outside the model is found when it is put back.ai/repo/project/issues/I3943.yaml
  • I3944The two readers of the CI model give every gate, and the plan, the same reason in the same words.ai/repo/project/issues/I3944.yaml
  • I3945The site generator's input list reaches jq through a file, not as one command-line argument.ai/repo/project/issues/I3945.yaml
  • I3946Every gate of the CI model declares its lane, and both readers refuse a lane they cannot read.ai/repo/project/issues/I3946.yaml
  • I3947A plan asked at a tier selects only the lanes that tier runs, and both readers of the CI model agree on it.ai/repo/project/issues/I3947.yaml
  • I3949A printf piped into grep -q under pipefail is refused, and a here-string replaces it.ai/repo/project/issues/I3949.yaml
  • I3950A cache key is a versioned triplet of platform, toolchain and inputs, derived from the host and the repository.ai/repo/project/issues/I3950.yaml
  • I3951The mesh store is spoken natively: signed S3 requests, bounded in time, with the credential read from a private file and never answered.ai/repo/project/issues/I3951.yaml
  • I3952A dependency install is restored before and saved after, verified by its digest, local level first and a trusted store second.ai/repo/project/issues/I3952.yaml
  • I3953Every local build path of the repository goes through the cache, and a gate refuses a new bypass.ai/repo/project/issues/I3953.yaml
  • I3955Whether an archived cargo build directory is reused on a second node is measured before anything restores one.ai/repo/project/issues/I3955.yaml
  • I3956Every worker, and every process it starts on any machine, is traced to its session, and the board names the address that reaches it.ai/repo/project/issues/I3956.yaml
  • I3957No entry path or gate builds: the launcher, the gates, the test harness and the just bridge call the tree's executable and fail fast or use a release of the same generation.ai/repo/project/issues/I3957.yaml
  • I3959The shared build directory stays under its bound while builds run: between builds, under cargo's lock, its stale units are evicted oldest first until it is under the bound.ai/repo/project/issues/I3959.yaml
  • I3960The initialize instructions tell the caller about itself before the board, and the board line is bounded.ai/repo/project/issues/I3960.yaml
  • I3961peers.list answers a summary by default: checkouts that hold no board are counted, not listed.ai/repo/project/issues/I3961.yaml
  • I3962The codex advisor's final message is held to the answer schema and read from its file alone.ai/repo/project/issues/I3962.yaml
  • I3963A merge of master derives in one go: scripts/derive derives the staged merge with both parents as history.ai/repo/project/issues/I3963.yaml
  • I3970Every pull request carries its metadata, projected from the trunk's records: labels, milestone, assignee and Refs links, never a closing keyword.ai/repo/project/issues/I3970.yaml
  • I3971Work in an open pull request or under a live branch claim is reported taken and is never the next issue.ai/repo/project/issues/I3971.yaml
  • I3972plan validate names every issue held only by its milestone gate, and an issue may declare it needs nothing from the milestone's dependencies.ai/repo/project/issues/I3972.yaml
  • I3973A record is referenced only once it is on master: a pull request naming an unlanded id is refused, and convergence reports stranded records.ai/repo/project/issues/I3973.yaml
  • I3974One allocator surveys every number (issue ids, ADR numbers, case numbers), and two branches adding one number under different names are refused.ai/repo/project/issues/I3974.yaml
  • I3975GitHub issues are created only by github-sync: an agent's raw create is refused, an issue nobody projected is reported on GitHub, and an unmarked issue is never adopted.ai/repo/project/issues/I3975.yaml
  • I3976Every commit names the issue it serves, outside narrow machine-verifiable exemptions, with the earlier history as a baseline.ai/repo/project/issues/I3976.yaml
  • I3977Every page a deployment serves names only versions of the release model, checked after the deploy.ai/repo/project/issues/I3977.yaml
  • I3978Each train member is judged on its merged tree, and a fix member joins only with a test and its changed-code coverage.ai/repo/project/issues/I3978.yaml
  • I3979Every label, branch prefix and commit type is declared once, projected to GitHub, described in CONTRIBUTING and checked.ai/repo/project/issues/I3979.yaml
  • I3995A task started before the first commit finishes: an unborn recorded head is an ancestor of every commit.ai/repo/project/issues/I3995.yaml
  • I3999A fixture holds the skills the site generator reads.ai/repo/project/issues/I3999.yaml
  • I4000A repeated executions.start with the same key answers one execution.ai/repo/project/issues/I4000.yaml
  • I4001The execution state machine has Authorizing, Claimed, Verifying, Refused and UnknownOutcome.ai/repo/project/issues/I4001.yaml
  • I4002Worktree.create is a typed writing capability.ai/repo/project/issues/I4002.yaml
  • I4003Devtask.implement runs readiness, preflight, claim, worktree and one execution.ai/repo/project/issues/I4003.yaml
  • I4004The executor takes the issue's mesh claim in the handler and releases it when the run ends.ai/repo/project/issues/I4004.yaml
  • I4005Proceed.step answers one idempotent work order.ai/repo/project/issues/I4005.yaml
  • I4006Machine.slot is a counting machine-wide slot for heavy work.ai/repo/project/issues/I4006.yaml
  • I4007An idle serve exits by itself after a bound.ai/repo/project/issues/I4007.yaml
  • I4008A push that only deletes refs runs no plan in the pre-push hook.ai/repo/project/issues/I4008.yaml
  • I4009/watchdog reads liveness and runs wake, handover, reap.ai/repo/project/issues/I4009.yaml
  • I4012A remote node's loopback runtimes are not dialed, so its hub is.ai/repo/project/issues/I4012.yaml
  • I4013A server bound to every interface advertises the addresses it has now.ai/repo/project/issues/I4013.yaml
  • I4154The follow backlog test waits on the follower's cursor, not on fifty milliseconds.ai/repo/project/issues/I4154.yaml
  • I4155The follower's shared board and page caches are keyed by the repository they read.ai/repo/project/issues/I4155.yaml
  • I4199A case that compiles the crate runs alone or caps cargo, so the cases beside it are never starved past their bounds.ai/repo/project/issues/I4199.yaml
  • I4200A warm UI screen borrows what its sources answered and writes its page once, so a plan of any size is not copied per request.ai/repo/project/issues/I4200.yaml
  • I4220A run that /trends/ draws is a link the site check decides by provenance.ai/repo/project/issues/I4220.yaml
  • I4222A forge reply cut off on its way is asked again.ai/repo/project/issues/I4222.yaml
  • I4223The pre-commit generation gate answers inside its bound, and a failed case's reason reaches an artifact.ai/repo/project/issues/I4223.yaml
knowledge 58
  • a-brief-is-reconciled-not-transcribedA brief or an audit becomes outcome-shaped records after discovery, never one issue per bullet.ai/repo/knowledge/curated/a-brief-is-reconciled-not-transcribed.md
  • a-claim-is-not-a-lockMesh claims converge but are not strongly consistent, so no orchestrator may use them as a global lock.ai/repo/knowledge/curated/a-claim-is-not-a-lock.md
  • a-commit-stood-behind-a-build-lockA commit stood fourteen minutes behind another worktree's build lock, in silence.ai/repo/knowledge/curated/a-commit-stood-behind-a-build-lock.md
  • a-dashboard-is-cheap-continuity-is-notGenerating a dashboard is commoditised; consistency, continuity and evidence over a long-lived project are not.ai/repo/knowledge/curated/a-dashboard-is-cheap-continuity-is-not.md
  • a-generator-that-can-list-everything-shows-everythingA system that can generate every list tends to put every list on its first screen.ai/repo/knowledge/curated/a-generator-that-can-list-everything-shows-everything.md
  • a-merge-reached-production-an-hour-laterA merge reached production an hour later, and the workflow that published it was green.ai/repo/knowledge/curated/a-merge-reached-production-an-hour-later.md
  • a-metadata-fingerprint-is-not-content-identityA fingerprint of mtime and size detects possible change; it is not content identity and does not prove outputs intact.ai/repo/knowledge/curated/a-metadata-fingerprint-is-not-content-identity.md
  • a-partial-green-is-not-the-verdictA green light workflow, a green release workflow or a merge is not the trunk's verdict and not delivery.ai/repo/knowledge/curated/a-partial-green-is-not-the-verdict.md
  • a-plan-on-an-unlanded-branch-is-planned-againA plan that lives only on an unlanded branch or a rescue ref is invisible to master-reading planners, and gets planned again.ai/repo/knowledge/curated/a-plan-on-an-unlanded-branch-is-planned-again.md
  • a-prompt-pack-in-the-owners-wordA prompt pack is a ZIP with shared instructions and independent prompts that each rebuild the maximum context.ai/repo/knowledge/curated/a-prompt-pack-in-the-owners-word.md
  • a-render-is-an-experience-target-not-dataA mockup or render is an experience target, never a specification of data.ai/repo/knowledge/curated/a-render-is-an-experience-target-not-data.md
  • a-second-implementation-driftsTwo implementations of one verdict drift; delete one or test their parity.ai/repo/knowledge/curated/a-second-implementation-drifts.md
  • a-speed-up-that-hides-a-check-is-not-oneA CI speed-up that removes, defers, hides or skips a required check without impact proof is not an optimisation.ai/repo/knowledge/curated/a-speed-up-that-hides-a-check-is-not-one.md
  • a-system-that-measures-itself-looks-worse-firstA system that starts measuring itself looks worse before it looks better.ai/repo/knowledge/curated/a-system-that-measures-itself-looks-worse-first.md
  • a-test-consistent-with-the-code-is-not-a-test-of-the-contractA test derived from current behaviour proves the code agrees with itself, not that it meets its contract.ai/repo/knowledge/curated/a-test-consistent-with-the-code-is-not-a-test-of-the-contract.md
  • a-wiring-check-proves-a-string-not-an-effectA wiring verifier that greps for a dispatch string proves the string exists, not that the rule refuses anything.ai/repo/knowledge/curated/a-wiring-check-proves-a-string-not-an-effect.md
  • a-worktree-is-not-a-security-boundaryA git worktree is not a security boundary, so permission bypass belongs only inside hard isolation.ai/repo/knowledge/curated/a-worktree-is-not-a-security-boundary.md
  • an-adopters-work-never-waits-for-majordomusWork in an adopting repository discovers what the installed Majordomus offers and never waits for a missing feature.ai/repo/knowledge/curated/an-adopters-work-never-waits-for-majordomus.md
  • an-expedited-landingHow a pull request is landed past the required check, and what that never reaches.ai/repo/knowledge/curated/an-expedited-landing.md
  • chatgpt-prompts-assumed-phoenixEarly ChatGPT prompts assumed an Elixir/Phoenix Cockpit; translate them to the Rust server.ai/repo/knowledge/curated/chatgpt-prompts-assumed-phoenix.md
  • claude-code-mods-are-unsandboxed-hooks-in-pluginsA Claude Code mod is a TypeScript hook shipped inside a plugin, and it runs unsandboxed.ai/repo/knowledge/curated/claude-code-mods-are-unsandboxed-hooks-in-plugins.md
  • claude-code-reports-usage-through-opentelemetryEach declared agent provider reports per-request usage through an official seam.ai/repo/knowledge/curated/claude-code-reports-usage-through-opentelemetry.md
  • criteria-prove-the-declared-outcome-not-its-valueSatisfied criteria prove the declared outcome, not its business value.ai/repo/knowledge/curated/criteria-prove-the-declared-outcome-not-its-value.md
  • declared-is-not-enforcedDeclaring, linking or repeatedly re-requesting an invariant does not enforce it; only a gate that refuses its violation does.ai/repo/knowledge/curated/declared-is-not-enforced.md
  • derive-lock-wait-exceeds-derive-workOn 2026-10-17 derives on the shared machine waited on the derive lock longer than they worked.ai/repo/knowledge/curated/derive-lock-wait-exceeds-derive-work.md
  • do-less-work-before-doing-it-fasterRunners, timeouts and shards hide a structural cost; removing repeated work is what has made this repository faster.ai/repo/knowledge/curated/do-less-work-before-doing-it-faster.md
  • enforcement-lands-before-the-repairEnforcement lands before the repair, because a peer running yesterday's instructions overwrites today's.ai/repo/knowledge/curated/enforcement-lands-before-the-repair.md
  • evidence-machinery-must-end-in-a-shipped-resultEvidence machinery not tied to a shipped, publicly verified result proves only that the proving machine exists.ai/repo/knowledge/curated/evidence-machinery-must-end-in-a-shipped-result.md
  • features-are-category-hygieneRules, skills, memory, MCP, a cockpit and multi-agent runs are what the category converges on; only the combination is defensible.ai/repo/knowledge/curated/features-are-category-hygiene.md
  • integration-capacity-bounds-the-backlogThe backlog grows whenever finished work arrives faster than it can be integrated, however fast it is written.ai/repo/knowledge/curated/integration-capacity-bounds-the-backlog.md
  • lay-audiences-and-the-target-userThe product is for engineers today; a non-technical listener is told in their own trade, with the target architecture marked as such.ai/repo/knowledge/curated/lay-audiences-and-the-target-user.md
  • liveness-differs-by-surfaceOn master 707a04c7 each surface is live by a different mechanism, and executions are not a monitor source.ai/repo/knowledge/curated/liveness-differs-by-surface.md
  • lundra-is-the-always-on-hublundra is the owner's always-on machine behind NAT, already a trusted mesh node and hub.ai/repo/knowledge/curated/lundra-is-the-always-on-hub.md
  • naive-fan-out-burns-tokensFan-out without narrow briefs turns an optimisation into a token burner.ai/repo/knowledge/curated/naive-fan-out-burns-tokens.md
  • no-vendor-api-reads-a-chatgpt-projectNo vendor API reads a person's ChatGPT Project; only the person's own session and the vendor's export reach it.ai/repo/knowledge/curated/no-vendor-api-reads-a-chatgpt-project.md
  • not-run-on-master-means-the-ledger-lacks-ci-runs\"Not run\" on master means the tracked ledger lacks CI's executions, not that the tests never ran.ai/repo/knowledge/curated/not-run-on-master-means-the-ledger-lacks-ci-runs.md
  • overview-first-evidence-one-click-awayEvery surface leads with the overview, then relationships, then detail on demand, with evidence one click away.ai/repo/knowledge/curated/overview-first-evidence-one-click-away.md
  • positioning-leads-with-the-outcomeMajordomus is explained by the outcome it decides, never by its architecture or as a coding agent.ai/repo/knowledge/curated/positioning-leads-with-the-outcome.md
  • public-writing-is-evidence-ledA public article about Majordomus takes every figure from the page that computes it, and each language edition is its own article.ai/repo/knowledge/curated/public-writing-is-evidence-led.md
  • read-the-ui-rules-before-proposing-a-uiA UI proposed before reading the repository's UI rules, tokens and gates violates blocking gates.ai/repo/knowledge/curated/read-the-ui-rules-before-proposing-a-ui.md
  • rhai-is-not-an-os-sandboxRhai is not an operating-system sandbox, and native Rust plugins have no stable ABI.ai/repo/knowledge/curated/rhai-is-not-an-os-sandbox.md
  • rhai-limits-are-not-a-clockRhai's operation limits are not a wall-clock timeout; the capability enforces deadlines.ai/repo/knowledge/curated/rhai-limits-are-not-a-clock.md
  • s-20261019205653-344d-308c41e4af9athe glossary maps task to úloha and names no issue, while 1887 of 80743 memory entries say úkol, mostly for issue; and a stem test cannot decide adherence, because Czech declension (pravidla, pravidel) and verb senses (check, zkontrolovat) miss 10-30% of correct translations.ai/repo/knowledge/candidates/s-20261019205653-344d-308c41e4af9a.md
  • s-20261019205653-344d-4964a30cf00crewording a refusal message of scripts/ci/english-only-check broke case 2984, which greps the old sentence, and nothing local ran it; a changed message owes a grep of test/cases for the old text before the push.ai/repo/knowledge/curated/s-20261019205653-344d-4964a30cf00c.md
  • s-20261019205653-344d-8a56a0a79628a translated copy doubled the pages a browser sweep drives (2545 to 5090), and interaction-probe hit its 3300 s bound at page 2250 on run 39285861377; a copy shares its English page's template and controls, so it is driven only when its set of (spec, control signature) differs from every copy of its language driven before it (57 of 2136 copies).ai/repo/knowledge/candidates/s-20261019205653-344d-8a56a0a79628.md
  • s-20261019205653-344d-cce510139fd8the site-languages gate was declared in .ai/repo/ci/gates.yaml with no step of validate.yml running it, so its browser probe never ran in CI until case 26_ci_wiring refused the alpha.1 top.ai/repo/knowledge/candidates/s-20261019205653-344d-cce510139fd8.md
  • s-20261020233257-5779-25bfef781fceon 2026-10-20 a remote branch was deleted on the belief that a rescue ref held its commit; git rev-parse found no such ref locally or on the remote, so the only copy left was the local branch, which the collision gate later asked to remove; the reversible step was taken in words and never proved.ai/repo/knowledge/curated/s-20261020233257-5779-25bfef781fce.md
  • s-20261020233257-5779-6b073d83896eon 2026-10-20T22:16Z the primary checkout was fast-forwarded under a running pre-push because the check listed pre-push processes through head -3 and the one in the primary was the fourth; the process that matters is the one whose cwd is the checkout (lsof -a -p PID -d cwd).ai/repo/knowledge/curated/s-20261020233257-5779-6b073d83896e.md
  • s-20261020233257-5779-6f14ea6e5a51a derive started as nohup ... & from a non-interactive shell ignores SIGINT (bash sets it ignored for asynchronous children), so kill -INT left it and its cargo child running on 2026-10-20; SIGTERM ran its trap and took the tree down.ai/repo/knowledge/curated/s-20261020233257-5779-6f14ea6e5a51.md
  • s-20261020233257-5779-e6add8c93c8aan older executable (0.30.2) took the shared-server lease from a newer one (1.0.0-alpha.1) at 2026-10-20T22:27:58Z because the file at the lease's executable path had been rebuilt: superseded() runs before the version verdict and never compares versions.ai/repo/knowledge/curated/s-20261020233257-5779-e6add8c93c8a.md
  • start-hereThe documents that explain this repository are read in a fixed order.ai/repo/knowledge/curated/start-here.md
  • the-chatgpt-project-was-promotedThe owner's ChatGPT project was read once in full on 2026-10-18, and every record it became names the messages it came from.ai/repo/knowledge/curated/the-chatgpt-project-was-promoted.md
  • the-cognitive-fabric-reuse-mapEvery requirement of the Cognitive Fabric pack already has an owner in the repository; what is missing is reconciliation between owners, and the gaps are listed here.ai/repo/knowledge/curated/the-cognitive-fabric-reuse-map.md
  • the-intent-loop-was-built-on-branches-that-never-landedMost of the intent loop's 2026-10-07..10-10 implementation and two owner-pack plans exist only on unmerged branches.ai/repo/knowledge/curated/the-intent-loop-was-built-on-branches-that-never-landed.md
  • the-owners-shorthand-names-contractsThe owner's shorthand ('the MJ way', 'derived, inferred', 'proven done') names contracts of the layer.ai/repo/knowledge/curated/the-owners-shorthand-names-contracts.md
  • the-supervision-primitivesSupervision primitives already exist: heartbeats, lease takeover, idle exit, reaper and recovery.ai/repo/knowledge/curated/the-supervision-primitives.md
  • what-idd-is-notIntent-driven development is not prompt engineering, issue generation, agent orchestration, a workflow engine or TDD with an LLM.ai/repo/knowledge/curated/what-idd-is-not.md
  • who-when-how-are-separate-axesThe mesh decides who, the wave decides when, the profile decides how.ai/repo/knowledge/curated/who-when-how-are-separate-axes.md
mesh-declaration 1
  • majordomus.ai/repo/mesh/majordomus.yaml
milestone 111
  • M000Milestone and DAG driven development.ai/repo/project/milestones/M000.yaml
  • M001A blocking question survives a handover.ai/repo/project/milestones/M001.yaml
  • M002A durable record names the worker that wrote it.ai/repo/project/milestones/M002.yaml
  • M003A session is a durable envelope, and knowledge is compiled from what is already canonical.ai/repo/project/milestones/M003.yaml
  • M004Performance is executable evidence, and the hot path does no canonical work twice.ai/repo/project/milestones/M004.yaml
  • a-change-is-judged-in-minutesA change is derived in under a second and judged in minutes, and nothing that could have changed is skipped.ai/repo/project/milestones/a-change-is-judged-in-minutes.yaml
  • a-claim-stands-only-on-its-evidenceA claim that something is enforced, tested or delivered stands only on recorded evidence that would have caught it being false.ai/repo/project/milestones/a-claim-stands-only-on-its-evidence.yaml
  • a-derivation-computed-once-is-reusedA derivation computed once is reused by every worktree and by CI, and the incremental path becomes the default on evidence.ai/repo/project/milestones/a-derivation-computed-once-is-reused.yaml
  • a-derive-answers-within-a-secondAn ordinary derive answers in under a second, runs independent nodes in parallel, and a budget gate holds it.ai/repo/project/milestones/a-derive-answers-within-a-second.yaml
  • a-derive-does-only-the-work-its-inputs-changedA derive does only the work its inputs changed, and can say why.ai/repo/project/milestones/a-derive-does-only-the-work-its-inputs-changed.yaml
  • a-finish-reads-the-criteria-its-work-servesA finish reads what its work serves.ai/repo/project/milestones/a-finish-reads-the-criteria-its-work-serves.yaml
  • a-foreign-repository-is-adopted-and-measuredA repository not built around Majordomus is adopted from the published installer to an accepted finish, and its overhead and friction are recorded without exposing what its basis does not permit.ai/repo/project/milestones/a-foreign-repository-is-adopted-and-measured.yaml
  • a-newcomer-reaches-a-first-verified-intentA newcomer reaches an intent whose verdict is satisfied, in a repository of their own, using only what the getting-started page shows.ai/repo/project/milestones/a-newcomer-reaches-a-first-verified-intent.yaml
  • a-paste-is-decomposed-by-a-skillA pasted brief is decomposed into the plan by a skill, and never kept verbatim as an intent statement.ai/repo/project/milestones/a-paste-is-decomposed-by-a-skill.yaml
  • a-promoted-record-opens-its-messageEvery record promoted from a workspace cites the message it came from, and the UI opens it for the operator who holds it.ai/repo/project/milestones/a-promoted-record-opens-its-message.yaml
  • a-prompt-reaches-the-work-it-servesA captured prompt is matched to its existing intent and recorded on the task that follows, joined to its outcome and evidence, shown on /ui and the Cockpit, read only on its own machine and never published.ai/repo/project/milestones/a-prompt-reaches-the-work-it-serves.yaml
  • a-provider-carries-the-contract-nativelyEach agent client carries the contract through its own extension points, generated once and checked for drift.ai/repo/project/milestones/a-provider-carries-the-contract-natively.yaml
  • a-registered-corpus-judges-majordomusThe registered corpus judges the same agent with and without Majordomus, by an exact task-level test on accepted results, and the verdict is published with its losses.ai/repo/project/milestones/a-registered-corpus-judges-majordomus.yaml
  • a-release-is-proven-end-to-endWhether a commit may be released, and whether its release arrived, is proved by one read and one case.ai/repo/project/milestones/a-release-is-proven-end-to-end.yaml
  • a-second-adopter-is-servedA second adopter is served: what a foreign repository met on its first day is fixed in the tool.ai/repo/project/milestones/a-second-adopter-is-served.yaml
  • a-session-leaves-what-it-observedA session leaves what it observed, and the repository routes it.ai/repo/project/milestones/a-session-leaves-what-it-observed.yaml
  • a-session-proceeds-through-the-meshA session proceeds through the mesh: it finds the work, claims it once, runs it watched and stops when the intent is met.ai/repo/project/milestones/a-session-proceeds-through-the-mesh.yaml
  • a-stranger-adopts-it-unaidedA stranger installs Majordomus and is stopped from a false done in ten minutes, and every outside first run teaches the tool.ai/repo/project/milestones/a-stranger-adopts-it-unaided.yaml
  • a-test-fails-when-the-code-is-wrongThe suites that guard critical predicates are shown to fail when those predicates are wrong.ai/repo/project/milestones/a-test-fails-when-the-code-is-wrong.yaml
  • a-version-follows-the-workLanded work is released as a measured version, and how long it has waited is a finding.ai/repo/project/milestones/a-version-follows-the-work.yaml
  • a-visitor-understands-and-checks-majordomusA first-time visitor of majordomus.dev understands what Majordomus does and can check every claim it makes.ai/repo/project/milestones/a-visitor-understands-and-checks-majordomus.yaml
  • a-workspace-reaches-the-repositoryA vendor workspace reads the repository, and proposes to it only where the owner has decided it may.ai/repo/project/milestones/a-workspace-reaches-the-repository.yaml
  • adopter-upgradesAn adopting repository survives a Majordomus upgrade, and what the tool vendors into it is adopter-neutral.ai/repo/project/milestones/adopter-upgrades.yaml
  • an-authorised-node-connects-from-anywhereAn authorised node reaches another across LAN, tailnet or NAT, and says how.ai/repo/project/milestones/an-authorised-node-connects-from-anywhere.yaml
  • an-entity-says-how-it-is-known-and-what-it-affectsOne entity read names how its record says it is known and when it was observed, identically on every surface, and what a change affects is derived from the same index.ai/repo/project/milestones/an-entity-says-how-it-is-known-and-what-it-affects.yaml
  • an-inference-names-its-source-and-budgetEvery inference a decision rests on names its model and source, stays inside a declared budget, counts independent sources rather than answers, and is never reached from a hook path.ai/repo/project/milestones/an-inference-names-its-source-and-budget.yaml
  • an-outcome-becomes-a-reviewed-planA desired outcome becomes a draft plan that is checked before a record is written.ai/repo/project/milestones/an-outcome-becomes-a-reviewed-plan.yaml
  • an-unmet-criterion-is-drafted-into-workAn unmet criterion is drafted into work from the evidence, and the draft is the same on every run.ai/repo/project/milestones/an-unmet-criterion-is-drafted-into-work.yaml
  • architecture-is-enforcedA violated invariant fails a gate, and green means every required check ran.ai/repo/project/milestones/architecture-is-enforced.yaml
  • automationRepository automation is scripted capabilities over typed Rust, not shell.ai/repo/project/milestones/automation.yaml
  • browser-computeA browser computes for the project with the server's own code, and the server verifies every result.ai/repo/project/milestones/browser-compute.yaml
  • builds-reuse-the-mesh-cacheBuilds reuse the mesh cache: compiled Rust, the cargo build directory, mix deps and npm packages, keyed by platform, toolchain and inputs.ai/repo/project/milestones/builds-reuse-the-mesh-cache.yaml
  • campaigns-are-read-as-provenanceA prompt pack is a campaign the index serves and the plan cites.ai/repo/project/milestones/campaigns-are-read-as-provenance.yaml
  • capability-graphOne capability graph, two projections, and no second inventory of what this repository can do.ai/repo/project/milestones/capability-graph.yaml
  • ci-critical-pathThe critical path from a change to its verdict, and from a merge to its verified deploy, runs under a minute warm.ai/repo/project/milestones/ci-critical-path.yaml
  • command-and-deployment-criteria-are-judgedA command or deployment criterion is met by a recorded run of exactly that command, or an observation of exactly that deployment, current at the presented revision.ai/repo/project/milestones/command-and-deployment-criteria-are-judged.yaml
  • cost-per-accepted-outcomeCost per accepted outcome, only on measured data.ai/repo/project/milestones/cost-per-accepted-outcome.yaml
  • delivery-economics-are-measured-over-declared-windowsDelivery economics are measured on corpus runs and on real work over a window registered before it opens, and published with their denominators and losses.ai/repo/project/milestones/delivery-economics-are-measured-over-declared-windows.yaml
  • delivery-flow-is-measuredThe way from a pull request to a verified publication is measured per phase, and its bounds are read where work starts.ai/repo/project/milestones/delivery-flow-is-measured.yaml
  • derived-data-integrityA committed derivation describes something it can be a projection of.ai/repo/project/milestones/derived-data-integrity.yaml
  • development-runtimeThe runtime has a development surface.ai/repo/project/milestones/development-runtime.yaml
  • entry-proves-what-it-handedAn episode records the governance and briefing it was handed, and a change is told.ai/repo/project/milestones/entry-proves-what-it-handed.yaml
  • every-model-call-is-paid-from-a-declared-sourceHow a model call Majordomus starts can be paid is declared by the vendor with evidence, and each call names the source it was declared to draw on.ai/repo/project/milestones/every-model-call-is-paid-from-a-declared-source.yaml
  • every-session-joins-the-meshEvery LLM session joins the Majordomus mesh at start, told the mesh as work.ai/repo/project/milestones/every-session-joins-the-mesh.yaml
  • every-sessions-usage-is-observedWhat every AI session consumed is observed from the provider, attributed to the work it served, and never estimated into a fact.ai/repo/project/milestones/every-sessions-usage-is-observed.yaml
  • every-surface-follows-what-changedEvery surface follows what changed in the repository by push, and a surface that does not says so.ai/repo/project/milestones/every-surface-follows-what-changed.yaml
  • every-task-states-its-delivery-economicsEvery task states its delivery economics: wall time, typed human interventions, CI reruns, spend and acceptance, each from a named record or said not observed.ai/repo/project/milestones/every-task-states-its-delivery-economics.yaml
  • everything-is-followed-in-one-streamEverything that happens in the repository is followed in one stream.ai/repo/project/milestones/everything-is-followed-in-one-stream.yaml
  • execution-telemetryExecution telemetry, only from providers that expose it honestly.ai/repo/project/milestones/execution-telemetry.yaml
  • external-workspacesAn external workspace is read the way this repository reads anything else, and its content never becomes public by accident.ai/repo/project/milestones/external-workspaces.yaml
  • failure-is-visibleEvery failure the runtime can suffer is bounded, tested or stated, and changes the health it reports.ai/repo/project/milestones/failure-is-visible.yaml
  • finished-work-reaches-a-verified-releaseFinished work reaches a verified release at the pace it is finished.ai/repo/project/milestones/finished-work-reaches-a-verified-release.yaml
  • fly-deploymentThe container image is a projection of the repository model, and its smoke is its evidence.ai/repo/project/milestones/fly-deployment.yaml
  • foundationA supervisory control layer that is real rather than described.ai/repo/project/milestones/foundation.yaml
  • idd-reads-at-a-glanceThe intent workspace reads at a glance and leads everywhere it names.ai/repo/project/milestones/idd-reads-at-a-glance.yaml
  • idd-workspaceThe UI is where the owner directs the work, from an intent to its next move.ai/repo/project/milestones/idd-workspace.yaml
  • intent-bound-workA task is bound to the intent it serves.ai/repo/project/milestones/intent-bound-work.yaml
  • intent-intakeA received brief is a campaign revision whose requirements are reconciled into the one plan.ai/repo/project/milestones/intent-intake.yaml
  • intent-lifecycleWork is traceable to the intent it serves, and an intent is satisfied only by evidence.ai/repo/project/milestones/intent-lifecycle.yaml
  • intent-planningThe plan of an intent is held to it before execution.ai/repo/project/milestones/intent-planning.yaml
  • knowledge-acts-on-what-it-learnsThe repository decides when to evolve its layer, and a session carries it out.ai/repo/project/milestones/knowledge-acts-on-what-it-learns.yaml
  • knowledge-is-reconciled-before-it-is-reviewedWhat a session proposes as knowledge is reconciled with what the repository already knows before a person reviews it, and a promotion stands on evidence that resolves.ai/repo/project/milestones/knowledge-is-reconciled-before-it-is-reviewed.yaml
  • landing-survives-any-sessionLanding green work survives any session, any restart and any machine.ai/repo/project/milestones/landing-survives-any-session.yaml
  • mcp-transports-are-reliableEvery MCP transport delivers each request at most once, bounds what it carries, and honours cancellation.ai/repo/project/milestones/mcp-transports-are-reliable.yaml
  • measurements-are-tracked-over-timeCoverage and CI cost are kept, exported and drawn over time, from the one measurement each has.ai/repo/project/milestones/measurements-are-tracked-over-time.yaml
  • merging-and-referencing-are-enforcedMerging and referencing are enforced: every pull request carries its metadata, every reference resolves, every number is taken once.ai/repo/project/milestones/merging-and-referencing-are-enforced.yaml
  • mesh-connectivityTrusted nodes connect across NAT through proven transports, and every surface says which path.ai/repo/project/milestones/mesh-connectivity.yaml
  • mesh-journal-convergesThe cooperation journal is durable, converges under any delivery order, and never lets a stale claim win.ai/repo/project/milestones/mesh-journal-converges.yaml
  • mesh-peers-execute-assigned-workWork is offered to a peer by capability under a fenced lease, and runs there as an execution.ai/repo/project/milestones/mesh-peers-execute-assigned-work.yaml
  • one-kit-on-every-surfaceCode, charts, controls, embeds and shell blocks are one kit on every surface, declared in the design book and held there by a gate.ai/repo/project/milestones/one-kit-on-every-surface.yaml
  • operation-convergenceAfter the alpha, the time from an intent to its verified satisfaction is measured from the records.ai/repo/project/milestones/operation-convergence.yaml
  • ordinary-commands-never-buildNo ordinary command builds: every entry path fails fast or answers through a release of the same generation.ai/repo/project/milestones/ordinary-commands-never-build.yaml
  • peer-blackboardThe peer blackboard is one projection, pushed live to every surface.ai/repo/project/milestones/peer-blackboard.yaml
  • prismatic-lumenPrismatic Lumen: the owner oversees and moves the whole mesh from one page, which owns nothing.ai/repo/project/milestones/prismatic-lumen.yaml
  • public-proofA visitor sees the product prove itself, and can check every claim it makes.ai/repo/project/milestones/public-proof.yaml
  • recovery-from-injected-faults-is-provenA killed worker, a cut connection and a conflict are injected on purpose, and recovery is proven without lost work or duplicate completion.ai/repo/project/milestones/recovery-from-injected-faults-is-proven.yaml
  • repository-automation-is-typedRepository automation is typed capabilities that Rhai orchestrates, and domain-logic shell only shrinks.ai/repo/project/milestones/repository-automation-is-typed.yaml
  • routing-recommendationsRouting recommendations derived from measured cost.ai/repo/project/milestones/routing-recommendations.yaml
  • runtime-adaptersProfiles become runtime constraints rather than advice.ai/repo/project/milestones/runtime-adapters.yaml
  • runtime-lifecycleOne usable server per checkout starts, attaches, stops and reports its state without races or hidden kills.ai/repo/project/milestones/runtime-lifecycle.yaml
  • runtime-trustA runtime is safe to reach from another machine, and joining the mesh trusts nobody by accident.ai/repo/project/milestones/runtime-trust.yaml
  • safe-self-updateEvery mesh node follows the published release by itself, versions meet safely, and a release's provenance can be checked.ai/repo/project/milestones/safe-self-update.yaml
  • shared-policyShared policy across repositories and workers.ai/repo/project/milestones/shared-policy.yaml
  • surfaces-never-disagreeEvery surface projects the same state, says when it was observed, and keeps no list of its own.ai/repo/project/milestones/surfaces-never-disagree.yaml
  • test-evidenceEvery verifiable claim and widget resolves to revision-bound test evidence, on every surface.ai/repo/project/milestones/test-evidence.yaml
  • the-corpus-is-registered-before-it-runsA corpus of 20 tasks, stratified by a difficulty proxy measured and registered before the new tasks are written, is registered with its analysis, run order, stopping rule and a pinned release.ai/repo/project/milestones/the-corpus-is-registered-before-it-runs.yaml
  • the-host-knows-its-runtimesA host knows every Majordomus runtime it runs, with no project open.ai/repo/project/milestones/the-host-knows-its-runtimes.yaml
  • the-hub-is-reached-from-any-deviceThe hub is reached privately from any of the owner's devices, and a public ingress is configuration.ai/repo/project/milestones/the-hub-is-reached-from-any-device.yaml
  • the-intent-loop-is-proved-end-to-endThe intent loop is proved end to end, and the plan and the documents say what it does.ai/repo/project/milestones/the-intent-loop-is-proved-end-to-end.yaml
  • the-mesh-is-measured-against-one-agentCoordinated workers on the mesh are compared with a single agent on the same batch tasks, at quality held by a registered non-inferiority guard.ai/repo/project/milestones/the-mesh-is-measured-against-one-agent.yaml
  • the-mesh-is-operated-from-any-deviceThe owner understands and operates the whole mesh from one page, on any device.ai/repo/project/milestones/the-mesh-is-operated-from-any-device.yaml
  • the-mesh-is-operated-from-one-pageThe owner operates the mesh from one page: every runtime readable, one action authorised end to end.ai/repo/project/milestones/the-mesh-is-operated-from-one-page.yaml
  • the-mesh-works-out-of-the-boxThe mesh works out of the box: trusted machines find each other by every means and their sessions cooperate from the first turn.ai/repo/project/milestones/the-mesh-works-out-of-the-box.yaml
  • the-plan-says-what-a-fix-unblocksThe plan says what finishing an issue unblocks, and why each blocked issue is blocked.ai/repo/project/milestones/the-plan-says-what-a-fix-unblocks.yaml
  • the-product-shows-what-it-caughtWhat finish caught is counted from the ledger and compared on the benchmark, never asserted.ai/repo/project/milestones/the-product-shows-what-it-caught.yaml
  • the-proof-scorecard-is-publishedOne derived scorecard publishes every proof test's computed status, losses included, on every surface, and no value claim stands without a passed test.ai/repo/project/milestones/the-proof-scorecard-is-published.yaml
  • the-proof-tests-are-registered-before-they-runThe six proof tests are registered as validated protocols, each frozen by its own digest, and every trial is a typed record that publishes only what its basis permits.ai/repo/project/milestones/the-proof-tests-are-registered-before-they-run.yaml
  • the-runtime-supervises-itselfThe runtime says what is progressing, waiting or stalled, and repairs only what is safe.ai/repo/project/milestones/the-runtime-supervises-itself.yaml
  • the-session-domain-is-written-onceThe session lifecycle is written by the typed domain, and the shell only parses and renders.ai/repo/project/milestones/the-session-domain-is-written-once.yaml
  • the-ui-runs-and-explainsThe UI runs any capability and explains what needs the owner, whose version it shows and where its time went.ai/repo/project/milestones/the-ui-runs-and-explains.yaml
  • the-ui-works-on-a-phoneEvery first-party surface works on a phone, and the primary flow is accepted there.ai/repo/project/milestones/the-ui-works-on-a-phone.yaml
  • truthful-plan-surfacesThe plan's surfaces are inferred from delivery, and nothing they show is typed beside the repository.ai/repo/project/milestones/truthful-plan-surfaces.yaml
  • two-folder-integrationA repository that adopts Majordomus gains two directories and two lines, and can give them back.ai/repo/project/milestones/two-folder-integration.yaml
  • web-sign-inThe deployed surfaces know who is asking, and the identity providers are data.ai/repo/project/milestones/web-sign-in.yaml
  • what-a-workspace-decides-reaches-the-repository-with-its-sourceWhat the owner decides in a vendor workspace reaches the repository, and every promoted record opens the message it came from.ai/repo/project/milestones/what-a-workspace-decides-reaches-the-repository-with-its-source.yaml
  • work-graph-githubThe projection to GitHub is gated, identified and traversable, and a merged pull request leads back to the outcome it served.ai/repo/project/milestones/work-graph-github.yaml
moment 38
  • abandoned-worktreeA worktree nobody can decide to delete.ai/repo/why/moments/abandoned-worktree.md
  • api-changed-contract-did-notThe interface changed and its contract document did not.ai/repo/why/moments/api-changed-contract-did-not.md
  • code-without-an-issueA change that no plan ever asked for.ai/repo/why/moments/code-without-an-issue.md
  • context-budget-blownThe instruction file that grew into a rulebook.ai/repo/why/moments/context-budget-blown.md
  • contribution-that-could-not-have-knownA fluent contribution that could not have known the rules.ai/repo/why/moments/contribution-that-could-not-have-known.md
  • decision-only-in-a-transcriptThe decision exists, in a conversation nobody can find.ai/repo/why/moments/decision-only-in-a-transcript.md
  • discovery-never-becomes-knowledgeA hard-won discovery that never became knowledge.ai/repo/why/moments/discovery-never-becomes-knowledge.md
  • documented-command-no-longer-worksThe documented command that no longer works.ai/repo/why/moments/documented-command-no-longer-works.md
  • done-because-the-model-said-soAccepting "done" because the model said so.ai/repo/why/moments/done-because-the-model-said-so.md
  • enforcement-nothing-invokesA rule enforced by a hook that never runs.ai/repo/why/moments/enforcement-nothing-invokes.md
  • failure-disappears-between-sessionsA failure that was seen once and never again.ai/repo/why/moments/failure-disappears-between-sessions.md
  • feature-without-a-testA capability the documentation promises and nothing proves.ai/repo/why/moments/feature-without-a-test.md
  • first-hour-in-an-unfamiliar-repositoryThe first hour in a repository nobody can explain quickly.ai/repo/why/moments/first-hour-in-an-unfamiliar-repository.md
  • generated-artifacts-staleGreen tests over stale generated files.ai/repo/why/moments/generated-artifacts-stale.md
  • implementation-contradicts-the-decisionCode that quietly contradicts a written decision.ai/repo/why/moments/implementation-contradicts-the-decision.md
  • issue-says-done-tests-disagreeThe issue says done and the repository disagrees.ai/repo/why/moments/issue-says-done-tests-disagree.md
  • milestone-status-unreconstructableNobody can reconstruct where the milestone actually is.ai/repo/why/moments/milestone-status-unreconstructable.md
  • no-record-why-this-modelNobody can say why that worker was chosen.ai/repo/why/moments/no-record-why-this-model.md
  • one-agent-undoes-anotherOne worker undoing another worker's change.ai/repo/why/moments/one-agent-undoes-another.md
  • policy-changed-projection-staleThe policy changed and its four copies did not.ai/repo/why/moments/policy-changed-projection-stale.md
  • re-arguing-a-settled-decisionRe-arguing a decision that was settled last week.ai/repo/why/moments/re-arguing-a-settled-decision.md
  • re-explaining-contextRe-explaining the same context to a brand-new session.ai/repo/why/moments/re-explaining-context.md
  • result-cannot-be-reproducedA result nobody can reproduce, including its author.ai/repo/why/moments/result-cannot-be-reproduced.md
  • rule-in-a-readme-nobody-loadedThe rule for that directory, in a README no session ever loaded.ai/repo/why/moments/rule-in-a-readme-nobody-loaded.md
  • same-dead-end-explored-twiceThe same dead end, explored twice.ai/repo/why/moments/same-dead-end-explored-twice.md
  • second-session-same-checkoutTwo sessions in one checkout, standing on each other.ai/repo/why/moments/second-session-same-checkout.md
  • site-claims-nothing-provesA public page promising something nothing tests.ai/repo/why/moments/site-claims-nothing-proves.md
  • spend-not-tied-to-outcomesSpend that cannot be tied to anything accepted.ai/repo/why/moments/spend-not-tied-to-outcomes.md
  • strongest-model-renames-a-variableThe strongest model, at maximum effort, renaming a variable.ai/repo/why/moments/strongest-model-renames-a-variable.md
  • task-in-progress-for-three-weeksA task "in progress" that nobody has touched for three weeks.ai/repo/why/moments/task-in-progress-for-three-weeks.md
  • three-copies-of-one-explanationThree copies of one explanation, and no way to tell which is current.ai/repo/why/moments/three-copies-of-one-explanation.md
  • three-roadmaps-none-of-them-trueThree roadmaps, and none of them true.ai/repo/why/moments/three-roadmaps-none-of-them-true.md
  • two-agents-one-bugTwo agents fixing the same bug in two branches.ai/repo/why/moments/two-agents-one-bug.md
  • two-rulebooks-one-repositoryTwo different rulebooks for one repository.ai/repo/why/moments/two-rulebooks-one-repository.md
  • weak-model-on-architectureA cheap worker deciding something expensive.ai/repo/why/moments/weak-model-on-architecture.md
  • what-the-workers-did-last-nightAsking what the workers did last night, and getting a transcript.ai/repo/why/moments/what-the-workers-did-last-night.md
  • who-did-this-and-under-what-policyA change whose provenance cannot be reconstructed.ai/repo/why/moments/who-did-this-and-under-what-policy.md
  • worker-output-never-integratedFinished work that never reached the trunk.ai/repo/why/moments/worker-output-never-integrated.md
policy 1
  • .ai/repo/policy.yaml.ai/repo/policy.yaml
profile 4
  • debuggingdebugging.ai/repo/profiles/debugging.yaml
  • deep-workdeep-work.ai/repo/profiles/deep-work.yaml
  • implementationimplementation.ai/repo/profiles/implementation.yaml
  • routineroutine.ai/repo/profiles/routine.yaml
prompt 5
  • continuecontinue.ai/repo/prompts/continue.md
  • debugdebug.ai/repo/prompts/debug.md
  • handoverhandover.ai/repo/prompts/handover.md
  • reviewreview.ai/repo/prompts/review.md
  • session-startsession-start.ai/repo/prompts/session-start.md
release-record 36
  • v0.10.0v0.10.0.ai/repo/releases/v0.10.0.yaml
  • v0.11.0v0.11.0.ai/repo/releases/v0.11.0.yaml
  • v0.12.0v0.12.0.ai/repo/releases/v0.12.0.yaml
  • v0.13.0v0.13.0.ai/repo/releases/v0.13.0.yaml
  • v0.13.1v0.13.1.ai/repo/releases/v0.13.1.yaml
  • v0.13.2v0.13.2.ai/repo/releases/v0.13.2.yaml
  • v0.14.0v0.14.0.ai/repo/releases/v0.14.0.yaml
  • v0.15.0v0.15.0.ai/repo/releases/v0.15.0.yaml
  • v0.16.0v0.16.0.ai/repo/releases/v0.16.0.yaml
  • v0.17.0v0.17.0.ai/repo/releases/v0.17.0.yaml
  • v0.18.0v0.18.0.ai/repo/releases/v0.18.0.yaml
  • v0.19.0v0.19.0.ai/repo/releases/v0.19.0.yaml
  • v0.19.1v0.19.1.ai/repo/releases/v0.19.1.yaml
  • v0.20.0v0.20.0.ai/repo/releases/v0.20.0.yaml
  • v0.21.0v0.21.0.ai/repo/releases/v0.21.0.yaml
  • v0.22.0v0.22.0.ai/repo/releases/v0.22.0.yaml
  • v0.23.0v0.23.0.ai/repo/releases/v0.23.0.yaml
  • v0.24.1v0.24.1.ai/repo/releases/v0.24.1.yaml
  • v0.25.0v0.25.0.ai/repo/releases/v0.25.0.yaml
  • v0.26.0v0.26.0.ai/repo/releases/v0.26.0.yaml
  • v0.27.0v0.27.0.ai/repo/releases/v0.27.0.yaml
  • v0.28.0v0.28.0.ai/repo/releases/v0.28.0.yaml
  • v0.29.0v0.29.0.ai/repo/releases/v0.29.0.yaml
  • v0.3.1v0.3.1.ai/repo/releases/v0.3.1.yaml
  • v0.30.0v0.30.0.ai/repo/releases/v0.30.0.yaml
  • v0.30.1v0.30.1.ai/repo/releases/v0.30.1.yaml
  • v0.30.2v0.30.2.ai/repo/releases/v0.30.2.yaml
  • v0.5.0v0.5.0.ai/repo/releases/v0.5.0.yaml
  • v0.6.0v0.6.0.ai/repo/releases/v0.6.0.yaml
  • v0.7.0v0.7.0.ai/repo/releases/v0.7.0.yaml
  • v0.8.0v0.8.0.ai/repo/releases/v0.8.0.yaml
  • v0.9.0v0.9.0.ai/repo/releases/v0.9.0.yaml
  • v1.0.0-alpha.1v1.0.0-alpha.1.ai/repo/releases/v1.0.0-alpha.1.yaml
  • v1.0.0-alpha.2v1.0.0-alpha.2.ai/repo/releases/v1.0.0-alpha.2.yaml
  • v1.0.0-alpha.4v1.0.0-alpha.4.ai/repo/releases/v1.0.0-alpha.4.yaml
  • v1.0.0-alpha.5v1.0.0-alpha.5.ai/repo/releases/v1.0.0-alpha.5.yaml
rule 190
  • majordomus.adr-integrity@1Architecture decision integrity.ai/repo/rules/vendor/majordomus/rules/adr-integrity.v1.md
  • majordomus.ai-layout-integrity@1AI layer integrity.ai/repo/rules/vendor/majordomus/rules/ai-layout-integrity.v1.md
  • majordomus.blocker-resolution@1Blocker resolution.ai/repo/rules/vendor/majordomus/rules/blocker-resolution.v1.md
  • majordomus.bootstrap-integrity@1Bootstrap integrity.ai/repo/rules/vendor/majordomus/rules/bootstrap-integrity.v1.md
  • majordomus.candidates-reviewed@1Candidates are reviewed.ai/repo/rules/vendor/majordomus/rules/candidates-reviewed.v1.md
  • majordomus.catalogue-integrity@1Catalogue integrity.ai/repo/rules/vendor/majordomus/rules/catalogue-integrity.v1.md
  • majordomus.checkpoint-freshness@1Checkpoint freshness.ai/repo/rules/vendor/majordomus/rules/checkpoint-freshness.v1.md
  • majordomus.command-coverage@1Every public command is exercised and refuted.ai/repo/rules/vendor/majordomus/rules/command-coverage.v1.md
  • majordomus.command-surface@1The command surface is declared and reconciled.ai/repo/rules/vendor/majordomus/rules/command-surface.v1.md
  • majordomus.completion-gates@1Completion is gated.ai/repo/rules/vendor/majordomus/rules/completion-gates.v1.md
  • majordomus.context-budget@1Context budget.ai/repo/rules/vendor/majordomus/rules/context-budget.v1.md
  • majordomus.context-integrity@1Context integrity.ai/repo/rules/vendor/majordomus/rules/context-integrity.v1.md
  • majordomus.dag-integrity@1Dependency graph integrity.ai/repo/rules/vendor/majordomus/rules/dag-integrity.v1.md
  • majordomus.decision-records@1Decision records.ai/repo/rules/vendor/majordomus/rules/decision-records.v1.md
  • majordomus.decision-threshold@1The decision threshold.ai/repo/rules/vendor/majordomus/rules/decision-threshold.v1.md
  • majordomus.define-done-first@1Define done before executing.ai/repo/rules/vendor/majordomus/rules/principle-07-define-done-first.v1.md
  • majordomus.deployment-contract@2A deployment is described once, and every artifact built from it is generated from it.ai/repo/rules/vendor/majordomus/rules/deployment-contract.v2.md
  • majordomus.depth-is-not-verbosity@1Execution depth is not output verbosity.ai/repo/rules/vendor/majordomus/rules/principle-06-depth-is-not-verbosity.v1.md
  • majordomus.doctrine-wiring-integrity@1Doctrine wiring integrity.ai/repo/rules/vendor/majordomus/rules/doctrine-wiring-integrity.v1.md
  • majordomus.enforcement-wiring@1Enforcement wiring.ai/repo/rules/vendor/majordomus/rules/enforcement-wiring.v1.md
  • majordomus.externalise-decisions@1Externalise decisions and durable state.ai/repo/rules/vendor/majordomus/rules/principle-03-externalise-decisions.v1.md
  • majordomus.handover-integrity@1Handover integrity.ai/repo/rules/vendor/majordomus/rules/handover-integrity.v1.md
  • majordomus.handovers-carry-state@1Handovers transfer state, not transcripts.ai/repo/rules/vendor/majordomus/rules/principle-10-handovers-carry-state.v1.md
  • majordomus.isolated-parallelism@1Parallel work requires isolation.ai/repo/rules/vendor/majordomus/rules/principle-09-isolated-parallelism.v1.md
  • majordomus.justified-escalation@1Escalate capability and effort only when justified.ai/repo/rules/vendor/majordomus/rules/principle-05-justified-escalation.v1.md
  • majordomus.knowledge-graph@1Knowledge graph integrity.ai/repo/rules/vendor/majordomus/rules/knowledge-graph.v1.md
  • majordomus.knowledge-integrity@1Knowledge integrity.ai/repo/rules/vendor/majordomus/rules/knowledge-integrity.v1.md
  • majordomus.knowledge-observed@1Knowledge observation.ai/repo/rules/vendor/majordomus/rules/knowledge-observed.v1.md
  • majordomus.layout-integrity@1Layout integrity.ai/repo/rules/vendor/majordomus/rules/layout-integrity.v1.md
  • majordomus.ledger-integrity@1Ledger integrity.ai/repo/rules/vendor/majordomus/rules/ledger-integrity.v1.md
  • majordomus.lifecycle-observed@1Lifecycle observation.ai/repo/rules/vendor/majordomus/rules/lifecycle-observed.v1.md
  • majordomus.minimum-sufficient-context@1Load minimum sufficient context.ai/repo/rules/vendor/majordomus/rules/principle-02-minimum-sufficient-context.v1.md
  • majordomus.note-integrity@1Note integrity.ai/repo/rules/vendor/majordomus/rules/note-integrity.v1.md
  • majordomus.obligation-closure@1Obligation closure.ai/repo/rules/vendor/majordomus/rules/obligation-closure.v1.md
  • majordomus.one-worker-one-scope@1One worker, one clear scope.ai/repo/rules/vendor/majordomus/rules/principle-04-one-worker-one-scope.v1.md
  • majordomus.policy-completeness@1Policy completeness.ai/repo/rules/vendor/majordomus/rules/policy-completeness.v1.md
  • majordomus.policy-integrity@1Policy integrity.ai/repo/rules/vendor/majordomus/rules/policy-integrity.v1.md
  • majordomus.profile-requirements@1Profile requirements.ai/repo/rules/vendor/majordomus/rules/profile-requirements.v1.md
  • majordomus.project-integrity@1Project model integrity.ai/repo/rules/vendor/majordomus/rules/project-integrity.v1.md
  • majordomus.projection-integrity@1Projection integrity.ai/repo/rules/vendor/majordomus/rules/projection-integrity.v1.md
  • majordomus.prompt-capture@1Prompt capture is proven, or reported unavailable.ai/repo/rules/vendor/majordomus/rules/prompt-capture.v1.md
  • majordomus.prompt-continuity@1A prompt record carries its own identity, is bounded, and is private.ai/repo/rules/vendor/majordomus/rules/prompt-continuity.v1.md
  • majordomus.prompt-integrity@1Prompt integrity.ai/repo/rules/vendor/majordomus/rules/prompt-integrity.v1.md
  • majordomus.publication-currency@1A session does not finish behind its own published site.ai/repo/rules/vendor/majordomus/rules/publication-currency.v1.md
  • majordomus.questions-store-integrity@1Questions store integrity.ai/repo/rules/vendor/majordomus/rules/questions-store-integrity.v1.md
  • majordomus.record-changed-files@1A record's changed_files names the work, not the tool's exhaust.ai/repo/rules/vendor/majordomus/rules/record-changed-files.v1.md
  • majordomus.retention-caps@1Retention caps.ai/repo/rules/vendor/majordomus/rules/retention-caps.v1.md
  • majordomus.roadmap-integrity@1The roadmap is a projection, never a document.ai/repo/rules/vendor/majordomus/rules/roadmap-integrity.v1.md
  • majordomus.rule-package-integrity@1Rule package integrity.ai/repo/rules/vendor/majordomus/rules/rule-package-integrity.v1.md
  • majordomus.schema-integrity@1Every object has a schema, and the rules resolve in one stated order.ai/repo/rules/vendor/majordomus/rules/schema-integrity.v1.md
  • majordomus.scope-integrity@1Scope integrity.ai/repo/rules/vendor/majordomus/rules/scope-integrity.v1.md
  • majordomus.session-lifecycle@1The episode boundary is drawn below the model, and its working context is local.ai/repo/rules/vendor/majordomus/rules/session-lifecycle.v1.md
  • majordomus.session-records@1Session records are shared objects with a closed field set.ai/repo/rules/vendor/majordomus/rules/session-records.v1.md
  • majordomus.sessions-are-workers@1Sessions are workers, not memory.ai/repo/rules/vendor/majordomus/rules/principle-01-sessions-are-workers.v1.md
  • majordomus.skill-integrity@1Skill integrity.ai/repo/rules/vendor/majordomus/rules/skill-integrity.v1.md
  • majordomus.state-consistency@1State consistency.ai/repo/rules/vendor/majordomus/rules/state-consistency.v1.md
  • majordomus.task-continuity@1Task continuity.ai/repo/rules/vendor/majordomus/rules/task-continuity.v1.md
  • majordomus.task-on-the-mesh@1A task on a repository whose mesh is enabled works on the mesh.ai/repo/rules/vendor/majordomus/rules/task-on-the-mesh.v1.md
  • majordomus.use-case-coverage@1Use-case coverage.ai/repo/rules/vendor/majordomus/rules/use-case-coverage.v1.md
  • majordomus.verification-integrity@1Verification integrity.ai/repo/rules/vendor/majordomus/rules/verification-integrity.v1.md
  • majordomus.verify-outcomes@1Verify outcomes, not activity.ai/repo/rules/vendor/majordomus/rules/principle-08-verify-outcomes.v1.md
  • project.a-brief-is-kept-as-received@1A campaign brief this repository keeps is the one it was handed.ai/repo/rules/project/a-brief-is-kept-as-received.v1.md
  • project.a-build-never-waits-in-silence-on-anothers-lock@1A build never waits in silence behind another build's lock.ai/repo/rules/project/a-build-never-waits-in-silence-on-anothers-lock.v1.md
  • project.a-checkout-serves-the-current-trunk@1A checkout serves the current trunk, and says how far it is from it.ai/repo/rules/project/a-checkout-serves-the-current-trunk.v1.md
  • project.a-closing-question-is-answered-by-measurement@1Whether the work is done is answered by measurement, never by the worker's recollection.ai/repo/rules/project/a-closing-question-is-answered-by-measurement.v1.md
  • project.a-derive-offload-waits-its-turn@1A derive offloaded to another machine goes through the declared hosts and waits its turn in their queue.ai/repo/rules/project/a-derive-offload-waits-its-turn.v1.md
  • project.a-derive-sees-what-the-commit-will@1A derive sees what the commit will.ai/repo/rules/project/a-derive-sees-what-the-commit-will.v1.md
  • project.a-diagram-is-drawn-not-typed@2An architectural relationship in a published document is drawn, never typed in box art.ai/repo/rules/project/a-diagram-is-drawn-not-typed.v2.md
  • project.a-failed-read-is-not-an-empty-answer@1A source that did not answer is not a source with nothing in it.ai/repo/rules/project/a-failed-read-is-not-an-empty-answer.v1.md
  • project.a-number-names-one-case@1A case number names one case.ai/repo/rules/project/a-number-names-one-case.v1.md
  • project.a-personal-layer-changes-nothing-shared@1A personal layer changes nothing shared.ai/repo/rules/project/a-personal-layer-changes-nothing-shared.v1.md
  • project.a-plan-carries-the-intent-it-serves@1A plan carries the intent it serves, and is reviewed before it is executed.ai/repo/rules/project/a-plan-carries-the-intent-it-serves.v1.md
  • project.a-producer-declares-what-it-writes@1The program that writes into the checkout says what it wrote, and whoever measures the tree reads that.ai/repo/rules/project/a-producer-declares-what-it-writes.v1.md
  • project.a-provider-capability-cites-its-evidence@3A provider capability is declared once, with the citation it was verified from.ai/repo/rules/project/a-provider-capability-cites-its-evidence.v3.md
  • project.a-push-runs-what-ci-would-find-first@2A push runs what CI would find first, and CI decides.ai/repo/rules/project/a-push-runs-what-ci-would-find-first.v2.md
  • project.a-session-joins-the-cluster-before-it-works@1A session is current, attached, announced and useful before it changes anything.ai/repo/rules/project/a-session-joins-the-cluster-before-it-works.v1.md
  • project.a-standing-approval-is-written-where-permissions-are-read@1A standing approval is written where the permission layer reads it.ai/repo/rules/project/a-standing-approval-is-written-where-permissions-are-read.v1.md
  • project.a-tool-that-cannot-match-the-tree-refuses@1A generator that cannot match the tree refuses rather than rewriting it.ai/repo/rules/project/a-tool-that-cannot-match-the-tree-refuses.v1.md
  • project.a-verdict-states-its-subject@1A verdict states what it is a verdict about.ai/repo/rules/project/a-verdict-states-its-subject.v1.md
  • project.a-worker-that-stops-leaves-its-work-behind@2A worker that stops leaves its work where somebody else can find it.ai/repo/rules/project/a-worker-that-stops-leaves-its-work-behind.v2.md
  • project.accumulation-is-measured@2Everything that accumulates is measured, bounded and reaped by a committed command.ai/repo/rules/project/accumulation-is-measured.v2.md
  • project.advisors-are-optional@1Advisors are optional; reasoning, governance and CI never depend on one.ai/repo/rules/project/advisors-are-optional.v1.md
  • project.an-expedited-landing-is-the-owners-word@1An expedited landing is the owner's word, judged on the merged tree, and never reaches a tag.ai/repo/rules/project/an-expedited-landing-is-the-owners-word.v1.md
  • project.an-intent-outlives-its-sessions@3An intent outlives the sessions and providers that realise it, and closed work does not outrank evidence.ai/repo/rules/project/an-intent-outlives-its-sessions.v3.md
  • project.benchmarkable-commands@1Every public command is benchmarkable from the registry.ai/repo/rules/project/benchmarkable-commands.v1.md
  • project.blocking-checks-cheap@1Blocking checks are deterministic and cheap.ai/repo/rules/project/blocking-checks-cheap.v1.md
  • project.cache-is-invisible@2A cache never changes what a command observes.ai/repo/rules/project/cache-is-invisible.v2.md
  • project.canonical-order@1A collection has one order, owned by one place, and it does not depend on who ran the command.ai/repo/rules/project/canonical-order.v1.md
  • project.clean-room@1Clean room.ai/repo/rules/project/clean-room.v1.md
  • project.commands-are-projections@1A command is declared once, and every surface that shows it is a projection.ai/repo/rules/project/commands-are-projections.v1.md
  • project.commands-run-non-interactively@2A command runs with nobody at the keyboard.ai/repo/rules/project/commands-run-non-interactively.v2.md
  • project.completion-never-decides-satisfaction@2Completion discharges obligations and never decides whether an intent is satisfied.ai/repo/rules/project/completion-never-decides-satisfaction.v2.md
  • project.context-locality@1Context locality.ai/repo/rules/project/context-locality.v1.md
  • project.conventional-commits@2A commit message is a value this repository judges, not a convention it hopes for.ai/repo/rules/project/conventional-commits.v2.md
  • project.derived-files-regenerated@1Derived files are regenerated, never edited.ai/repo/rules/project/derived-files-regenerated.v1.md
  • project.derived-once@1Derived state is computed once per state version.ai/repo/rules/project/derived-once.v1.md
  • project.design-tokens-declared-once@2The design is one typed declaration and every first-party surface consumes its projections.ai/repo/rules/project/design-tokens-declared-once.v2.md
  • project.destructive-sweeps-fail-closed@1A sweep that deletes fails closed on what it could not read.ai/repo/rules/project/destructive-sweeps-fail-closed.v1.md
  • project.development-semantics-are-canonical@1Development semantics live in the canonical runtime; a surface only consumes them.ai/repo/rules/project/development-semantics-are-canonical.v1.md
  • project.diagnostics-decide-the-exit@1A return code is not the diagnostic channel.ai/repo/rules/project/a-return-code-is-not-the-diagnostic-channel.v1.md
  • project.distribution-canonical@1Distribution has one canonical model.ai/repo/rules/project/distribution-canonical.v1.md
  • project.empty-is-not-failure@1An empty result and a failed command must not look alike.ai/repo/rules/project/empty-is-not-failure.v1.md
  • project.english-only@4English only.ai/repo/rules/project/english-only.v4.md
  • project.entities-are-routable@1Every object of the layer has an address of its own, and every kind says where it is published.ai/repo/rules/project/entities-are-routable.v1.md
  • project.entry-converges@2Entering the repository converges on a server, by either door, without anything to remember.ai/repo/rules/project/entry-converges.v2.md
  • project.entry-reports-only-evidence@1Entering the repository reports only what evidence proves.ai/repo/rules/project/entry-reports-only-evidence.v1.md
  • project.envrc-is-an-adapter@2The shell entry point is an adapter, and it makes one call.ai/repo/rules/project/envrc-is-an-adapter.v2.md
  • project.episode-record-carries-its-episode@1An episode record carries its episode.ai/repo/rules/project/an-episode-record-carries-its-episode.v1.md
  • project.every-domain-is-a-skill@1Every domain of the registry is a skill, derived and shown wherever skills are.ai/repo/rules/project/every-domain-is-a-skill.v1.md
  • project.every-link-and-control-is-tested@1Every link the site publishes resolves, and every control on it does what a spec says.ai/repo/rules/project/every-link-and-control-is-tested.v1.md
  • project.every-wait-is-bounded@2Every wait is bounded.ai/repo/rules/project/every-wait-is-bounded.v2.md
  • project.execution-events-are-typed@1A long operation reports typed events, and a transport only renders them.ai/repo/rules/project/execution-events-are-typed.v1.md
  • project.execution-state-is-authoritative@1Execution state is authoritative and the terminal is not.ai/repo/rules/project/execution-state-is-authoritative.v1.md
  • project.executions-carry-no-secret@1A sensitive value never enters an execution.ai/repo/rules/project/executions-carry-no-secret.v1.md
  • project.finding-carries-reproduce@1Every finding carries a reproduce command.ai/repo/rules/project/finding-carries-reproduce.v1.md
  • project.generated-artifacts-are-typed@1A generated artifact declares its document, its encoding, its contract and its source.ai/repo/rules/project/generated-artifacts-are-typed.v1.md
  • project.github-projection-gated@1The GitHub projection is checked by a gate, not by somebody remembering to run it.ai/repo/rules/project/github-projection-gated.v1.md
  • project.homepage-tells-a-declared-story@2The homepage tells the story its declaration names, in that order, and the site is indexed by one declared policy.ai/repo/rules/project/homepage-tells-a-declared-story.v2.md
  • project.hot-path-reads-once@1A command reads each canonical file at most once.ai/repo/rules/project/hot-path-reads-once.v1.md
  • project.independent-of-prismatic@1Independent of Prismatic.ai/repo/rules/project/independent-of-prismatic.v1.md
  • project.integration-follows-the-current-master@3Pull requests are integrated one at a time, each decided against the current master, never around the branch protection.ai/repo/rules/project/integration-follows-the-current-master.v3.md
  • project.interfaces-are-projections@1External interfaces are projections of one capability definition.ai/repo/rules/project/interfaces-are-projections.v1.md
  • project.land-and-publish@1Work lands often and small, and what is published is master and only master.ai/repo/rules/project/land-and-publish.v1.md
  • project.mesh-cooperation-is-authenticated@1Mesh cooperation is admitted per link, replicated through one journal, and projected by every surface alike.ai/repo/rules/project/mesh-cooperation-is-authenticated.v1.md
  • project.mesh-is-observation-not-authority@1The mesh observes nodes; it authorizes nothing and holds one registry.ai/repo/rules/project/mesh-is-observation-not-authority.v1.md
  • project.native-cli-documented@1A native command line command exists only with its documentation and its executable examples.ai/repo/rules/project/native-cli-documented.v1.md
  • project.navigation-is-declared-once@1The site's navigation is declared once, and every projection derives from that declaration.ai/repo/rules/project/navigation-is-declared-once.v1.md
  • project.never-author-identity@1Never author identity fields.ai/repo/rules/project/never-author-identity.v1.md
  • project.never-reported-is-not-green@1A verdict that never arrived is not a verdict.ai/repo/rules/project/never-reported-is-not-green.v1.md
  • project.never-store-transcripts@1Never store or summarise transcripts.ai/repo/rules/project/never-store-transcripts.v1.md
  • project.new-code-is-covered@1New and changed executable code is covered by a test; legacy debt may only shrink.ai/repo/rules/project/new-code-is-covered.v1.md
  • project.no-claim-without-test@1No claim without a test.ai/repo/rules/project/no-claim-without-test.v1.md
  • project.no-counts-in-prose@1No counts in prose.ai/repo/rules/project/no-counts-in-prose.v1.md
  • project.no-machine-paths@1Nothing this repository commits names a path of the machine it was written on.ai/repo/rules/project/no-machine-paths.v1.md
  • project.no-network-no-eval@1No network, no telemetry, no eval, no silent overwrite, no recursive deletion.ai/repo/rules/project/no-network-no-eval.v1.md
  • project.no-new-nouns@1No new nouns.ai/repo/rules/project/no-new-nouns.v1.md
  • project.no-plan-stamp-without-its-event@1No plan stamp without its event.ai/repo/rules/project/no-plan-stamp-without-its-event.v1.md
  • project.no-screen-waits-for-a-source@1A screen shows the latest reading of its sources at once, and never waits for a handler.ai/repo/rules/project/no-screen-waits-for-a-source.v1.md
  • project.one-derive-at-a-time@1One derive at a time per machine, and a stopped derive leaves no orphans.ai/repo/rules/project/one-derive-at-a-time.v1.md
  • project.operation-transport-parity@1A command is the projection of a capability, or it says why it is not, and the reason is checked.ai/repo/rules/project/operation-transport-parity.v1.md
  • project.optional-complexity@1Complexity is optional, not ambient.ai/repo/rules/project/optional-complexity.v1.md
  • project.packs-carry-only-sources@1A pack that leaves the machine carries only committed sources.ai/repo/rules/project/packs-carry-only-sources.v1.md
  • project.performance-evidence@1A performance claim carries its measurement.ai/repo/rules/project/performance-evidence.v1.md
  • project.portable-shell@1Portable shell.ai/repo/rules/project/portable-shell.v1.md
  • project.product-surface-derived@1What the product does is a catalogue object, and every public surface of it is derived.ai/repo/rules/project/product-surface-derived.v1.md
  • project.prose-states-no-version@1Prose describes the tool as it stands, without a version label.ai/repo/rules/project/prose-states-no-version.v1.md
  • project.provider-support-is-declared@1What a provider's adapter can do is declared, never observed from the filesystem.ai/repo/rules/project/provider-support-is-declared.v1.md
  • project.providers-are-data@1What the tool knows about a provider is declared once and projected everywhere.ai/repo/rules/project/providers-are-data.v1.md
  • project.published-evidence-is-what-ci-recorded@1A published UI shows the evidence CI recorded, never "not run" for what CI ran.ai/repo/rules/project/published-evidence-is-what-ci-recorded.v1.md
  • project.reclaim-only-what-you-own@1A worker reclaims only what it owns.ai/repo/rules/project/reclaim-only-what-you-own.v1.md
  • project.recovery-is-idempotent@1Recovery looks before it repeats.ai/repo/rules/project/recovery-is-idempotent.v1.md
  • project.release-is-a-projection@2The changelog is composed, and the version is authored once.ai/repo/rules/project/release-is-a-projection.v2.md
  • project.review-is-recorded-not-claimed@1Independent review is a recorded fact, weighed by evidence, never claimed and never counted.ai/repo/rules/project/review-is-recorded-not-claimed.v1.md
  • project.rule-is-a-doctrine@1A new enforced rule is a doctrine, not an inline check.ai/repo/rules/project/rule-is-a-doctrine.v1.md
  • project.rust-benchmark-coverage@1No endpoint of the Rust executable without a benchmark, and no number without evidence.ai/repo/rules/project/rust-benchmark-coverage.v1.md
  • project.rust-canonical-declaration@1One canonical declaration; modules compose capabilities; the root composes modules.ai/repo/rules/project/rust-canonical-declaration.v1.md
  • project.rust-cli-evidence@1The Rust executable carries its evidence with it.ai/repo/rules/project/rust-cli-evidence.v1.md
  • project.rust-command-tested-in-file@1A command asserts in the file that declares it that it is what it claims, and is composed rather than registered.ai/repo/rules/project/rust-command-tested-in-file.v1.md
  • project.rust-hot-path@1A request never rebuilds canonical state, and a cache is never trusted without an equivalence test.ai/repo/rules/project/rust-hot-path.v1.md
  • project.rust-public-api-quality@1Every exported Rust item explains itself, shows itself running, and is exercised by something.ai/repo/rules/project/rust-public-api-quality.v1.md
  • project.scope-is-declared@1What a worker reads is declared once, and nothing outside it is read or served.ai/repo/rules/project/scope-is-declared.v1.md
  • project.session-continuity-is-portable@1Session continuity is portable, and what is portable is checked.ai/repo/rules/project/session-continuity-is-portable.v1.md
  • project.shared-server-resilience@1Nothing a client leaves behind locks another client out.ai/repo/rules/project/shared-server-resilience.v1.md
  • project.skills-are-proven-capabilities@1A skill is a capability only when something proves it.ai/repo/rules/project/skills-are-proven-capabilities.v1.md
  • project.ssh-key-access-is-preauthorized@1Owner-authorized SSH access persists across clients.ai/repo/rules/project/ssh-key-access-is-preauthorized.v1.md
  • project.tests-run-in-disposable-repos@1Tests run in disposable repositories.ai/repo/rules/project/tests-run-in-disposable-repos.v1.md
  • project.the-briefing-is-checked-against-git@1The briefing an episode opened with is compared against git before it is believed.ai/repo/rules/project/the-briefing-is-checked-against-git.v1.md
  • project.the-cooperation-model-is-the-owners-word@2Work moves through seats held as mesh claims, a worker lands its own green head, and every checkout is kept current.ai/repo/rules/project/the-cooperation-model-is-the-owners-word.v2.md
  • project.the-crate-reference-is-published@1Generated reference documentation is part of documentation closure, from its source to its public URL.ai/repo/rules/project/the-crate-reference-is-published.v1.md
  • project.the-handbook-is-built-from-the-tree@1The handbook is built from the tree it describes, and a chapter names what it rests on.ai/repo/rules/project/the-handbook-is-built-from-the-tree.v1.md
  • project.the-lease-is-read-once@1The shared server's lease has one reader.ai/repo/rules/project/the-lease-is-read-once.v1.md
  • project.the-projection-is-applied-at-landing@2A landing that changes what GitHub shows applies the change itself.ai/repo/rules/project/the-projection-is-applied-at-landing.v2.md
  • project.the-published-ui-is-the-trunks@1The UI the site publishes is the trunk's, and a UI that is missing, older or cut short without saying so is a failed publication.ai/repo/rules/project/the-published-ui-is-the-trunks.v1.md
  • project.the-server-sees-the-current-tree@1A long-lived process serves the repository as it is, never as it was when it started.ai/repo/rules/project/the-server-sees-the-current-tree.v1.md
  • project.the-session-context-is-derived@1A working context is derived, not stored.ai/repo/rules/project/the-session-context-is-derived.v1.md
  • project.the-site-is-offered-in-every-language@1Every page of the site is offered in every declared language, derived from the English and held to it in a browser.ai/repo/rules/project/the-site-is-offered-in-every-language.v1.md
  • project.the-site-offers-the-release-it-published@1The site offers the release that was published, on every surface at once.ai/repo/rules/project/the-site-offers-the-release-it-published.v1.md
  • project.the-ui-wears-the-sites-navbar@1majordomus.dev is the reference for how the product looks, and every page of the UI and the Cockpit wears the site's own navbar.ai/repo/rules/project/the-ui-wears-the-sites-navbar.v1.md
  • project.the-version-is-measured@2The version is measured against the public surface, not claimed.ai/repo/rules/project/the-version-is-measured.v2.md
  • project.ui-conformance@1Every page of every web surface is audited, and the audit names no page.ai/repo/rules/project/ui-conformance.v1.md
  • project.ui-derived-state@1An interface shows only what is derived, and unknown is never drawn as healthy.ai/repo/rules/project/ui-derived-state.v1.md
  • project.unknown-keys-are-errors@1Unknown configuration keys are errors.ai/repo/rules/project/unknown-keys-are-errors.v1.md
  • project.use-case-evidence@1A use case is proved by execution, and a capability is covered by a use case.ai/repo/rules/project/use-case-evidence.v1.md
  • project.web-surface-declared-once@1A web surface is declared once and every web projection is derived from it.ai/repo/rules/project/web-surface-declared-once.v1.md
  • project.web-surface-topology@1A web surface is discovered from its producer, never registered twice.ai/repo/rules/project/web-surface-topology.v1.md
  • project.why-catalogue-is-canonical@1An operational failure mode is a catalogue object, never a page.ai/repo/rules/project/why-catalogue-is-canonical.v1.md
  • project.work-is-claimed-before-it-is-built@1What already claims a path is checked before that path is built.ai/repo/rules/project/work-is-claimed-before-it-is-built.v1.md
  • project.work-serves-a-declared-intent@1Work serves a declared intent, and an intent is satisfied only by evidence.ai/repo/rules/project/work-serves-a-declared-intent.v1.md
  • project.worktree-topology@1A branch's worktree is at <repo>-wt/<branch>, derived from git, never registered.ai/repo/rules/project/worktree-topology.v1.md
  • project.worktrees-share-build-intermediates@1Worktrees share what cargo compiles on the way, and never the finished artifact.ai/repo/rules/project/worktrees-share-build-intermediates.v1.md
scope 1
  • .ai/repo/scope.yaml.ai/repo/scope.yaml
session 91
  • s-20260906035523-7b6cSession s-20260906035523-7b6c on feature/session-records.ai/repo/sessions/20260906T035524Z--s-20260906035523-7b6c--feature-session-records--4658856--95eae054a18c3e3e.md
  • s-20260906053339-ec22Session s-20260906053339-ec22 on feature/session-lifecycle.ai/repo/sessions/20260906T054911Z--s-20260906053339-ec22--feature-session-lifecycle--9389dc8--52c8bef0528b4ac0.md
  • s-20260906054911-cbb8Session s-20260906054911-cbb8 on feature/session-lifecycle.ai/repo/sessions/20260906T055116Z--s-20260906054911-cbb8--feature-session-lifecycle--9389dc8--a7177bd3b864df81.md
  • s-20260906055206-8eceSession s-20260906055206-8ece on feature/session-lifecycle.ai/repo/sessions/20260906T055252Z--s-20260906055206-8ece--feature-session-lifecycle--9389dc8--5c0542c2eace7947.md
  • s-20260906055253-ba53Session s-20260906055253-ba53 on feature/session-lifecycle.ai/repo/sessions/20260906T085153Z--s-20260906055253-ba53--feature-session-lifecycle--9770f3b--e0aa4600ed94e52f.md
  • s-20260906085201-3c11Session s-20260906085201-3c11 on feature/session-lifecycle.ai/repo/sessions/20260906T085505Z--s-20260906085201-3c11--feature-session-lifecycle--9770f3b--b23dce1fa13c9c25.md
  • s-20260906100402-1b4eSession s-20260906100402-1b4e on feature/ai-artifacts.ai/repo/sessions/20260906T104136Z--s-20260906100402-1b4e--feature-ai-artifacts--2b42014--217c31a51008928f.md
  • s-20260906104842-c7cfSession s-20260906104842-c7cf on feature/ai-artifacts.ai/repo/sessions/20260906T110558Z--s-20260906104842-c7cf--feature-ai-artifacts--2b42014--159467df2ddcde14.md
  • s-20260906214710-1a63Session s-20260906214710-1a63 on master.ai/repo/sessions/20260908T003655Z--s-20260906214710-1a63--master--d3a36fd--89c252efadb41a31.md
  • s-20260908003954-b327Session s-20260908003954-b327 on master.ai/repo/sessions/20260908T193329Z--s-20260908003954-b327--master--ebec65f--19701e4316a32b7b.md
  • s-20260908193341-cdf1Session s-20260908193341-cdf1 on master.ai/repo/sessions/20260909T150832Z--s-20260908193341-cdf1--master--867f3a9--38e50db8741a3b60.md
  • s-20260909152316-024fSession s-20260909152316-024f on master.ai/repo/sessions/20260910T103933Z--s-20260909152316-024f--master--38f056b--5b5b1acf70e75670.md
  • s-20260910194205-72eaRecovered episode s-20260910194205-72ea.ai/repo/sessions/20261007T132839Z--s-20260910194205-72ea--master--b4a781c--f07b958acf1de32e.md
  • s-20260910200453-afbbRecovered episode s-20260910200453-afbb.ai/repo/sessions/20261007T132840Z--s-20260910200453-afbb--master--b4a781c--57c01150ce645c9c.md
  • s-20260910205542-e2a6Session s-20260910205542-e2a6 on master.ai/repo/sessions/20260910T210426Z--s-20260910205542-e2a6--master--9f3a2a0--691dfe3d1cd1b3be.md
  • s-20260910210510-8f20Session s-20260910210510-8f20 on master.ai/repo/sessions/20260910T211503Z--s-20260910210510-8f20--master--9f3a2a0--d3eff159759e1cfd.md
  • s-20260910211505-3dbeSession s-20260910211505-3dbe on master.ai/repo/sessions/20260911T072724Z--s-20260910211505-3dbe--master--06fa258--60fd7c775ffd6e0b.md
  • s-20260910211853-8a3eSession s-20260910211853-8a3e on master.ai/repo/sessions/20260911T072724Z--s-20260910211853-8a3e--master--06fa258--d44fd8943c9f6917.md
  • s-20260910212104-f50dSession s-20260910212104-f50d on master.ai/repo/sessions/20260911T072724Z--s-20260910212104-f50d--master--06fa258--af6e403dc4126fd5.md
  • s-20260910214152-71cbSession s-20260910214152-71cb on master.ai/repo/sessions/20260911T072724Z--s-20260910214152-71cb--master--06fa258--a9b5e2c526832ce2.md
  • s-20260910214250-e597Session s-20260910214250-e597 on master.ai/repo/sessions/20260911T072719Z--s-20260910214250-e597--master--06fa258--4ecadd3cb116eca9.md
  • s-20260910222723-14ceSession s-20260910222723-14ce on master.ai/repo/sessions/20260911T072719Z--s-20260910222723-14ce--master--06fa258--8783a5771fe49116.md
  • s-20260911054710-3523Session s-20260911054710-3523 on master.ai/repo/sessions/20260911T063812Z--s-20260911054710-3523--master--06fa258--b2a73dd26a124107.md
  • s-20260911060123-e0d4Session s-20260911060123-e0d4 on master.ai/repo/sessions/20260911T063531Z--s-20260911060123-e0d4--master--06fa258--42c1bfb3b397e4c9.md
  • s-20260911063532-b41bRecovered episode s-20260911063532-b41b.ai/repo/sessions/20261007T132848Z--s-20260911063532-b41b--master--b4a781c--bfd61cce70f60944.md
  • s-20260911071522-1779Recovered episode s-20260911071522-1779.ai/repo/sessions/20261007T132839Z--s-20260911071522-1779--master--b4a781c--21e02a467d68aa6d.md
  • s-20260911080815-8fa4Recovered episode s-20260911080815-8fa4.ai/repo/sessions/20261007T132849Z--s-20260911080815-8fa4--master--b4a781c--4b601de4b12566c6.md
  • s-20260911084942-cc41Recovered episode s-20260911084942-cc41.ai/repo/sessions/20261007T132841Z--s-20260911084942-cc41--master--b4a781c--8b0209e72612ee3d.md
  • s-20260911091724-cb7cRecovered episode s-20260911091724-cb7c.ai/repo/sessions/20261007T132845Z--s-20260911091724-cb7c--master--b4a781c--624832469e19ece2.md
  • s-20260911101024-420aSession s-20260911101024-420a on master.ai/repo/sessions/20261008T201707Z--s-20260911101024-420a--master--dba5422--7db7bd00ad419a31.md
  • s-20260911111124-edd8Recovered episode s-20260911111124-edd8.ai/repo/sessions/20261007T132842Z--s-20260911111124-edd8--master--b4a781c--0e6fd12692c0f649.md
  • s-20260911111626-a947Recovered episode s-20260911111626-a947.ai/repo/sessions/20261007T132841Z--s-20260911111626-a947--master--b4a781c--79ecf30c55bd73ef.md
  • s-20260911120135-c46fRecovered episode s-20260911120135-c46f.ai/repo/sessions/20261007T132849Z--s-20260911120135-c46f--master--b4a781c--ba19f270623b4cd3.md
  • s-20260911121108-4457Recovered episode s-20260911121108-4457.ai/repo/sessions/20261007T132839Z--s-20260911121108-4457--master--b4a781c--4f4d705f21505296.md
  • s-20260911121531-e471Recovered episode s-20260911121531-e471.ai/repo/sessions/20261007T132842Z--s-20260911121531-e471--master--b4a781c--de707513544c4d89.md
  • s-20260911122020-b01dRecovered episode s-20260911122020-b01d.ai/repo/sessions/20261007T132843Z--s-20260911122020-b01d--master--b4a781c--c8d2baddf2e17622.md
  • s-20260911220934-09c7Recovered episode s-20260911220934-09c7.ai/repo/sessions/20261007T132844Z--s-20260911220934-09c7--master--b4a781c--7cd3659171baf297.md
  • s-20260911222939-5814Recovered episode s-20260911222939-5814.ai/repo/sessions/20261007T132849Z--s-20260911222939-5814--master--b4a781c--efcaa1d1c93e6ca6.md
  • s-20260912063801-209bRecovered episode s-20260912063801-209b.ai/repo/sessions/20261007T132848Z--s-20260912063801-209b--master--b4a781c--8b78a9e4196887d5.md
  • s-20260912075636-c542Recovered episode s-20260912075636-c542.ai/repo/sessions/20261007T132843Z--s-20260912075636-c542--master--b4a781c--9902ce79a17edb93.md
  • s-20260912100926-89ecRecovered episode s-20260912100926-89ec.ai/repo/sessions/20260914T044725Z--s-20260912100926-89ec--master--b3791fc--7ca5b976a3574fd5.md
  • s-20260912110906-d10eRecovered episode s-20260912110906-d10e.ai/repo/sessions/20260914T044725Z--s-20260912110906-d10e--master--b3791fc--5ec09e977a4bd7f5.md
  • s-20260912111802-54acRecovered episode s-20260912111802-54ac.ai/repo/sessions/20260914T044725Z--s-20260912111802-54ac--master--b3791fc--08fbf9c1c197ab11.md
  • s-20260912184450-bec7Recovered episode s-20260912184450-bec7.ai/repo/sessions/20261007T132842Z--s-20260912184450-bec7--master--b4a781c--4035a989ad5159ae.md
  • s-20260912185145-bc8cRecovered episode s-20260912185145-bc8c.ai/repo/sessions/20261007T132842Z--s-20260912185145-bc8c--master--b4a781c--1e0e2641cb2ff331.md
  • s-20260913055646-d956Recovered episode s-20260913055646-d956.ai/repo/sessions/20261007T132846Z--s-20260913055646-d956--master--b4a781c--59ff3c059ff2cec8.md
  • s-20260915152859-4c3dRecovered episode s-20260915152859-4c3d.ai/repo/sessions/20261007T132845Z--s-20260915152859-4c3d--master--b4a781c--4ac302b4f0a969fe.md
  • s-20260915171454-b161Recovered episode s-20260915171454-b161.ai/repo/sessions/20261007T132843Z--s-20260915171454-b161--master--b4a781c--426166267290d2ac.md
  • s-20260915175504-3486Recovered episode s-20260915175504-3486.ai/repo/sessions/20261007T132843Z--s-20260915175504-3486--master--b4a781c--65bf9a7d136dd8f4.md
  • s-20260915180057-1a99Recovered episode s-20260915180057-1a99.ai/repo/sessions/20261007T132847Z--s-20260915180057-1a99--master--b4a781c--9fe18d4cabd77e12.md
  • s-20260915191627-2136Recovered episode s-20260915191627-2136.ai/repo/sessions/20261007T132840Z--s-20260915191627-2136--master--b4a781c--79c5180095088f8f.md
  • s-20260915200727-30d3Recovered episode s-20260915200727-30d3.ai/repo/sessions/20261007T132839Z--s-20260915200727-30d3--master--b4a781c--fa62e561a08dc612.md
  • s-20260915202711-27f1Recovered episode s-20260915202711-27f1.ai/repo/sessions/20261007T132845Z--s-20260915202711-27f1--master--b4a781c--6a54dcbe1e6d9a7c.md
  • s-20260915214421-d1adRecovered episode s-20260915214421-d1ad.ai/repo/sessions/20261007T132844Z--s-20260915214421-d1ad--master--b4a781c--024c0e659706c6ed.md
  • s-20260916090000-6d58Recovered episode s-20260916090000-6d58.ai/repo/sessions/20261007T132840Z--s-20260916090000-6d58--master--b4a781c--6dd888f6da15ff43.md
  • s-20260916195820-cee6Recovered episode s-20260916195820-cee6.ai/repo/sessions/20261007T132840Z--s-20260916195820-cee6--master--b4a781c--bd907581969122d3.md
  • s-20260916200058-9170Recovered episode s-20260916200058-9170.ai/repo/sessions/20261007T132849Z--s-20260916200058-9170--master--b4a781c--6f87e8737fe98371.md
  • s-20260916202947-fc7fRecovered episode s-20260916202947-fc7f.ai/repo/sessions/20261007T132847Z--s-20260916202947-fc7f--master--b4a781c--2323c6dc9403abe6.md
  • s-20260916203829-9000Recovered episode s-20260916203829-9000.ai/repo/sessions/20261007T132843Z--s-20260916203829-9000--master--b4a781c--a3123b28212a4681.md
  • s-20260916211754-94e5Recovered episode s-20260916211754-94e5.ai/repo/sessions/20261007T132848Z--s-20260916211754-94e5--master--b4a781c--6cd30e4030f4ed8a.md
  • s-20260916221803-e4d0Recovered episode s-20260916221803-e4d0.ai/repo/sessions/20261007T132841Z--s-20260916221803-e4d0--master--b4a781c--a7b57f4728e95374.md
  • s-20260916231308-07c9Recovered episode s-20260916231308-07c9.ai/repo/sessions/20261007T132848Z--s-20260916231308-07c9--master--b4a781c--37c003f3db3237cd.md
  • s-20260916231308-892aRecovered episode s-20260916231308-892a.ai/repo/sessions/20261007T132850Z--s-20260916231308-892a--master--b4a781c--e0d5818c15fe3c47.md
  • s-20260916231405-69f3Recovered episode s-20260916231405-69f3.ai/repo/sessions/20261007T132845Z--s-20260916231405-69f3--master--b4a781c--c96d916a3cb976b1.md
  • s-20260916231448-3ff7Recovered episode s-20260916231448-3ff7.ai/repo/sessions/20261007T132846Z--s-20260916231448-3ff7--master--b4a781c--42e2c73a52b41c26.md
  • s-20260916231519-1549Recovered episode s-20260916231519-1549.ai/repo/sessions/20261007T132847Z--s-20260916231519-1549--master--b4a781c--a88c8d8cb3691f09.md
  • s-20260916231712-c4a4Recovered episode s-20260916231712-c4a4.ai/repo/sessions/20261007T132844Z--s-20260916231712-c4a4--master--b4a781c--4360c3b5fc1a053a.md
  • s-20260916232208-856fRecovered episode s-20260916232208-856f.ai/repo/sessions/20261007T132842Z--s-20260916232208-856f--master--b4a781c--3e0bd7bd87be3efc.md
  • s-20260916232227-ce9fRecovered episode s-20260916232227-ce9f.ai/repo/sessions/20261007T132839Z--s-20260916232227-ce9f--master--b4a781c--c8cfba456ad11b1f.md
  • s-20260916232659-7ce6Recovered episode s-20260916232659-7ce6.ai/repo/sessions/20261007T132844Z--s-20260916232659-7ce6--master--b4a781c--ab3fcf49dc6063c1.md
  • s-20260916233109-d69eRecovered episode s-20260916233109-d69e.ai/repo/sessions/20261007T132847Z--s-20260916233109-d69e--master--b4a781c--6669b608ed0b8c11.md
  • s-20260916233157-4418Recovered episode s-20260916233157-4418.ai/repo/sessions/20261007T132846Z--s-20260916233157-4418--master--b4a781c--3f1633c8b2dc4784.md
  • s-20260923083805-2e37Recovered episode s-20260923083805-2e37.ai/repo/sessions/20261007T132841Z--s-20260923083805-2e37--master--b4a781c--4286e2eadf670c48.md
  • s-20260924102525-7640Recovered episode s-20260924102525-7640.ai/repo/sessions/20261007T132845Z--s-20260924102525-7640--master--b4a781c--658e75c00d35b731.md
  • s-20260924131409-94a9Recovered episode s-20260924131409-94a9.ai/repo/sessions/20261007T132845Z--s-20260924131409-94a9--master--b4a781c--9184c764c5256a9a.md
  • s-20260924172337-a434Recovered episode s-20260924172337-a434.ai/repo/sessions/20261007T132840Z--s-20260924172337-a434--master--b4a781c--b0a731b18978d7d5.md
  • s-20260924174955-5df1Recovered episode s-20260924174955-5df1.ai/repo/sessions/20261007T132841Z--s-20260924174955-5df1--master--b4a781c--1e7bff10fc375f9c.md
  • s-20260929175851-de4cRecovered episode s-20260929175851-de4c.ai/repo/sessions/20261007T132843Z--s-20260929175851-de4c--master--b4a781c--428ba02390e1ff30.md
  • s-20260930135207-a642Recovered episode s-20260930135207-a642.ai/repo/sessions/20261007T132839Z--s-20260930135207-a642--master--b4a781c--840eb479b80269d3.md
  • s-20260930220421-5917Recovered episode s-20260930220421-5917.ai/repo/sessions/20261007T132845Z--s-20260930220421-5917--master--b4a781c--8288566b814e5d03.md
  • s-20260930225014-060cRecovered episode s-20260930225014-060c.ai/repo/sessions/20261007T132842Z--s-20260930225014-060c--master--b4a781c--0048a92d9455e9a1.md
  • s-20260930225436-b03aRecovered episode s-20260930225436-b03a.ai/repo/sessions/20261007T132844Z--s-20260930225436-b03a--master--b4a781c--9bd0d8d62d816d68.md
  • s-20261003114003-b2ecRecovered episode s-20261003114003-b2ec.ai/repo/sessions/20261007T132850Z--s-20261003114003-b2ec--master--b4a781c--79397f79d4eb7abe.md
  • s-20261003194255-3541Recovered episode s-20261003194255-3541.ai/repo/sessions/20261007T132846Z--s-20261003194255-3541--master--b4a781c--089a8bcdd55df6a0.md
  • s-20261003212917-9079Recovered episode s-20261003212917-9079.ai/repo/sessions/20261007T132841Z--s-20261003212917-9079--master--b4a781c--1e19dee417c6ea2a.md
  • s-20261003222101-0ddcRecovered episode s-20261003222101-0ddc.ai/repo/sessions/20261007T132850Z--s-20261003222101-0ddc--master--b4a781c--54c0cf630e000bfe.md
  • s-20261003234111-d01dRecovered episode s-20261003234111-d01d.ai/repo/sessions/20261007T132846Z--s-20261003234111-d01d--master--b4a781c--2ae7079b5a188cb7.md
  • s-20261004104409-31efRecovered episode s-20261004104409-31ef.ai/repo/sessions/20261007T132840Z--s-20261004104409-31ef--master--b4a781c--645baec699097a57.md
  • s-20261009091659-3ee5Session s-20261009091659-3ee5 on feature/the-worker-is-asked-before-compaction.ai/repo/sessions/20261009T091803Z--s-20261009091659-3ee5--feature-the-worker-is-asked-before-compaction--eb0609b--73ea739f7d4ff750.md
  • s-20261014003330-fef4Session s-20261014003330-fef4 on master.ai/repo/sessions/20261014T003753Z--s-20261014003330-fef4--master--2ee40c5--0a336fbce0da4d62.md
  • s-20261020233257-5779Session s-20261020233257-5779 on chore/the-merged-issues-of-open-milestones-are-recorded.ai/repo/sessions/20261020T234221Z--s-20261020233257-5779--chore-the-merged-issues-of-open-milestones-are-recorded--573df96--bffea4b5af7ff7b4.md
skill 8
  • assess-before-deletingAssess before deleting.ai/repo/skills/assess-before-deleting/SKILL.md
  • deploy-siteDeploy the site by hand.ai/repo/skills/deploy-site/SKILL.md
  • evolveEvolve the repository's know-how.ai/repo/skills/evolve/SKILL.md
  • implementImplement a change.ai/repo/skills/implement/SKILL.md
  • pack-for-chatgptPack the sources for a ChatGPT project.ai/repo/skills/pack-for-chatgpt/SKILL.md
  • pack-for-reviewPack the repository for an outside reviewer.ai/repo/skills/pack-for-review/SKILL.md
  • repo-reviewRepository review.ai/repo/skills/repo-review/SKILL.md
  • report-verification-stateReport by verification state.ai/repo/skills/report-verification-state/SKILL.md
taxonomy 10
  • adoptionGetting started and adoption.ai/repo/use-cases/taxonomy.yaml
  • completionCompletion and quality gates.ai/repo/use-cases/taxonomy.yaml
  • continuitySessions and handover.ai/repo/use-cases/taxonomy.yaml
  • driftDrift and reconciliation.ai/repo/use-cases/taxonomy.yaml
  • extensionExtension.ai/repo/use-cases/taxonomy.yaml
  • knowledgeRepository knowledge.ai/repo/use-cases/taxonomy.yaml
  • mcpServing the layer to AI clients.ai/repo/use-cases/taxonomy.yaml
  • performancePerformance.ai/repo/use-cases/taxonomy.yaml
  • policyPolicy and enforcement.ai/repo/use-cases/taxonomy.yaml
  • workersParallel workers.ai/repo/use-cases/taxonomy.yaml
test 652
  • test/cases/00_yaml_flatten.shtest/cases/00_yaml_flatten.sh
  • test/cases/01_init.shtest/cases/01_init.sh
  • test/cases/02_doctor_basic.shtest/cases/02_doctor_basic.sh
  • test/cases/03_update.shtest/cases/03_update.sh
  • test/cases/04_start_check.shtest/cases/04_start_check.sh
  • test/cases/05_handover.shtest/cases/05_handover.sh
  • test/cases/06_finish.shtest/cases/06_finish.sh
  • test/cases/07_watch.shtest/cases/07_watch.sh
  • test/cases/08_no_forbidden_constructs.shtest/cases/08_no_forbidden_constructs.sh
  • test/cases/09_site_mobile_first.shtest/cases/09_site_mobile_first.sh
  • test/cases/100_environment.shtest/cases/100_environment.sh
  • test/cases/100_execution_plane.shtest/cases/100_execution_plane.sh
  • test/cases/1015_one_malformed_rule_is_one_finding.shtest/cases/1015_one_malformed_rule_is_one_finding.sh
  • test/cases/1016_the_worker_is_asked_before_compaction.shtest/cases/1016_the_worker_is_asked_before_compaction.sh
  • test/cases/1018_one_derive_at_a_time_and_no_orphans.shtest/cases/1018_one_derive_at_a_time_and_no_orphans.sh
  • test/cases/101_command_graph.shtest/cases/101_command_graph.sh
  • test/cases/1020_a_derive_sees_what_the_commit_will.shtest/cases/1020_a_derive_sees_what_the_commit_will.sh
  • test/cases/1021_a_push_runs_what_ci_would_find_first.shtest/cases/1021_a_push_runs_what_ci_would_find_first.sh
  • test/cases/1022_worktrees_share_build_intermediates.shtest/cases/1022_worktrees_share_build_intermediates.sh
  • test/cases/1023_a_branch_cannot_widen_the_mesh_trust.shtest/cases/1023_a_branch_cannot_widen_the_mesh_trust.sh
  • test/cases/1024_an_installed_release_serves_a_foreign_repository.shtest/cases/1024_an_installed_release_serves_a_foreign_repository.sh
  • test/cases/102_completion_shell.shtest/cases/102_completion_shell.sh
  • test/cases/1030_a_derive_machine_has_the_pinned_toolchain.shtest/cases/1030_a_derive_machine_has_the_pinned_toolchain.sh
  • test/cases/1036_the_executor_reopens_a_record_pull_request.shtest/cases/1036_the_executor_reopens_a_record_pull_request.sh
  • test/cases/1037_the_closing_question_is_measured.shtest/cases/1037_the_closing_question_is_measured.sh
  • test/cases/1038_a_head_is_judged_against_what_it_changes.shtest/cases/1038_a_head_is_judged_against_what_it_changes.sh
  • test/cases/103_obligations.shtest/cases/103_obligations.sh
  • test/cases/103_release_projection.shtest/cases/103_release_projection.sh
  • test/cases/1040_a_stacked_head_lands_on_the_verdict_it_has.shtest/cases/1040_a_stacked_head_lands_on_the_verdict_it_has.sh
  • test/cases/1041_a_release_publishes_its_metadata.shtest/cases/1041_a_release_publishes_its_metadata.sh
  • test/cases/104_published_site.shtest/cases/104_published_site.sh
  • test/cases/104_strict_derivation.shtest/cases/104_strict_derivation.sh
  • test/cases/1050_the_monitor_folds_the_noise.shtest/cases/1050_the_monitor_folds_the_noise.sh
  • test/cases/1051_a_followed_stream_can_be_waited_on.shtest/cases/1051_a_followed_stream_can_be_waited_on.sh
  • test/cases/1052_an_absent_source_is_reported.shtest/cases/1052_an_absent_source_is_reported.sh
  • test/cases/1053_the_cockpit_follows_the_stream.shtest/cases/1053_the_cockpit_follows_the_stream.sh
  • test/cases/1054_every_session_is_told_the_stream.shtest/cases/1054_every_session_is_told_the_stream.sh
  • test/cases/1060_the_version_is_allocated_at_landing.shtest/cases/1060_the_version_is_allocated_at_landing.sh
  • test/cases/1061_the_executor_allocates_the_version_at_landing.shtest/cases/1061_the_executor_allocates_the_version_at_landing.sh
  • test/cases/1065_a_session_briefs_itself.shtest/cases/1065_a_session_briefs_itself.sh
  • test/cases/106_context_peers.shtest/cases/106_context_peers.sh
  • test/cases/1070_a_number_in_prose_is_a_number_the_repository_states.shtest/cases/1070_a_number_in_prose_is_a_number_the_repository_states.sh
  • test/cases/1071_the_site_searches_from_everywhere.shtest/cases/1071_the_site_searches_from_everywhere.sh
  • test/cases/1072_the_train_is_seen.shtest/cases/1072_the_train_is_seen.sh
  • test/cases/1073_a_path_with_a_space_is_one_path.shtest/cases/1073_a_path_with_a_space_is_one_path.sh
  • test/cases/1074_a_script_that_sources_the_library_leaves_no_temp_files.shtest/cases/1074_a_script_that_sources_the_library_leaves_no_temp_files.sh
  • test/cases/1075_the_pull_requests_drain_in_the_ui.shtest/cases/1075_the_pull_requests_drain_in_the_ui.sh
  • test/cases/1076_the_roadmap_opens_a_milestone.shtest/cases/1076_the_roadmap_opens_a_milestone.sh
  • test/cases/1077_ci_timings_are_measured.shtest/cases/1077_ci_timings_are_measured.sh
  • test/cases/1078_a_pull_request_shows_its_trail.shtest/cases/1078_a_pull_request_shows_its_trail.sh
  • test/cases/1079_the_drain_draws_its_throughput.shtest/cases/1079_the_drain_draws_its_throughput.sh
  • test/cases/107_design_tokens.shtest/cases/107_design_tokens.sh
  • test/cases/107_runtime_staleness_is_loud.shtest/cases/107_runtime_staleness_is_loud.sh
  • test/cases/1080_the_issues_are_browsed.shtest/cases/1080_the_issues_are_browsed.sh
  • test/cases/1081_an_intent_opens_what_serves_it.shtest/cases/1081_an_intent_opens_what_serves_it.sh
  • test/cases/1082_a_claim_opens_its_proof.shtest/cases/1082_a_claim_opens_its_proof.sh
  • test/cases/1083_a_rule_opens_its_proof.shtest/cases/1083_a_rule_opens_its_proof.sh
  • test/cases/1086_a_remote_caller_cannot_write.shtest/cases/1086_a_remote_caller_cannot_write.sh
  • test/cases/1087_the_site_offers_the_release_it_published.shtest/cases/1087_the_site_offers_the_release_it_published.sh
  • test/cases/1088_the_command_and_capability_screens_answer.shtest/cases/1088_the_command_and_capability_screens_answer.sh
  • test/cases/1089_the_work_and_mesh_screens_answer.shtest/cases/1089_the_work_and_mesh_screens_answer.sh
  • test/cases/108_entry_converges_on_a_server.shtest/cases/108_entry_converges_on_a_server.sh
  • test/cases/108_scope_after_trunk_merge.shtest/cases/108_scope_after_trunk_merge.sh
  • test/cases/108b_scope_after_trunk_fast_forward.shtest/cases/108b_scope_after_trunk_fast_forward.sh
  • test/cases/1090_the_deployments_and_docs_screens_answer.shtest/cases/1090_the_deployments_and_docs_screens_answer.sh
  • test/cases/1091_no_link_on_the_ui_is_dead.shtest/cases/1091_no_link_on_the_ui_is_dead.sh
  • test/cases/1092_the_ui_snapshot_holds_every_screen.shtest/cases/1092_the_ui_snapshot_holds_every_screen.sh
  • test/cases/1093_the_ui_snapshot_links_nothing_absent.shtest/cases/1093_the_ui_snapshot_links_nothing_absent.sh
  • test/cases/1096_no_screen_waits_for_a_source.shtest/cases/1096_no_screen_waits_for_a_source.sh
  • test/cases/1097_the_projection_is_applied_at_landing.shtest/cases/1097_the_projection_is_applied_at_landing.sh
  • test/cases/1099_a_screen_over_its_budget_fails.shtest/cases/1099_a_screen_over_its_budget_fails.sh
  • test/cases/109_design_system.shtest/cases/109_design_system.sh
  • test/cases/10_site_data.shtest/cases/10_site_data.sh
  • test/cases/110_lease_reader.shtest/cases/110_lease_reader.sh
  • test/cases/111_session_per_provider.shtest/cases/111_session_per_provider.sh
  • test/cases/112_version_matches_surface.shtest/cases/112_version_matches_surface.sh
  • test/cases/113_clean_owns_its_target.shtest/cases/113_clean_owns_its_target.sh
  • test/cases/113_shared_server_survives_a_crash.shtest/cases/113_shared_server_survives_a_crash.sh
  • test/cases/114_two_worktrees_one_repository.shtest/cases/114_two_worktrees_one_repository.sh
  • test/cases/115_server_state_drift.shtest/cases/115_server_state_drift.sh
  • test/cases/118_entry_converges_by_rule.shtest/cases/118_entry_converges_by_rule.sh
  • test/cases/11_site_derivation.shtest/cases/11_site_derivation.sh
  • test/cases/120_design_contrast.shtest/cases/120_design_contrast.sh
  • test/cases/121_liveness_doctrine.shtest/cases/121_liveness_doctrine.sh
  • test/cases/122_liveness_gate.shtest/cases/122_liveness_gate.sh
  • test/cases/123_case_bound.shtest/cases/123_case_bound.sh
  • test/cases/124_evidence.shtest/cases/124_evidence.sh
  • test/cases/125_rule_proof.shtest/cases/125_rule_proof.sh
  • test/cases/127_briefing_freshness.shtest/cases/127_briefing_freshness.sh
  • test/cases/128_the_subset_is_a_subset.shtest/cases/128_the_subset_is_a_subset.sh
  • test/cases/129_executable_issues.shtest/cases/129_executable_issues.sh
  • test/cases/12_site_build.shtest/cases/12_site_build.sh
  • test/cases/12b_site_data_transactional.shtest/cases/12b_site_data_transactional.sh
  • test/cases/12c_graph_data.shtest/cases/12c_graph_data.sh
  • test/cases/130_archive.shtest/cases/130_archive.sh
  • test/cases/130_context_compiler.shtest/cases/130_context_compiler.sh
  • test/cases/130_lifecycle_survives_a_stale_task.shtest/cases/130_lifecycle_survives_a_stale_task.sh
  • test/cases/130_mesh.shtest/cases/130_mesh.sh
  • test/cases/131_backlog_hygiene.shtest/cases/131_backlog_hygiene.sh
  • test/cases/131_completion_gates.shtest/cases/131_completion_gates.sh
  • test/cases/131_freshness_has_an_age.shtest/cases/131_freshness_has_an_age.sh
  • test/cases/131_models.shtest/cases/131_models.sh
  • test/cases/132_coverage_differential.shtest/cases/132_coverage_differential.sh
  • test/cases/132_health_sees_a_stopped_writer.shtest/cases/132_health_sees_a_stopped_writer.sh
  • test/cases/132b_a_new_branch_owes_no_records_yet.shtest/cases/132b_a_new_branch_owes_no_records_yet.sh
  • test/cases/133_plan_transition.shtest/cases/133_plan_transition.sh
  • test/cases/133_rule_graph.shtest/cases/133_rule_graph.sh
  • test/cases/135_session_store_recovery.shtest/cases/135_session_store_recovery.sh
  • test/cases/136_changed_files_classifier.shtest/cases/136_changed_files_classifier.sh
  • test/cases/138_governance_gates.shtest/cases/138_governance_gates.sh
  • test/cases/139_release_record_schema.shtest/cases/139_release_record_schema.sh
  • test/cases/13_region_projection.shtest/cases/13_region_projection.sh
  • test/cases/140_prompt_continuity.shtest/cases/140_prompt_continuity.sh
  • test/cases/14_wiring_dispatcher.shtest/cases/14_wiring_dispatcher.sh
  • test/cases/14c_wiring_from_a_linked_worktree.shtest/cases/14c_wiring_from_a_linked_worktree.sh
  • test/cases/150_server_sees_the_current_tree.shtest/cases/150_server_sees_the_current_tree.sh
  • test/cases/15_command_surface.shtest/cases/15_command_surface.sh
  • test/cases/15b_an_installed_tool_runs_what_its_bootstrap_names.shtest/cases/15b_an_installed_tool_runs_what_its_bootstrap_names.sh
  • test/cases/16_profiles.shtest/cases/16_profiles.sh
  • test/cases/170_provider_lifecycle_declared.shtest/cases/170_provider_lifecycle_declared.sh
  • test/cases/171_session_observability.shtest/cases/171_session_observability.sh
  • test/cases/17_doctrine_enforcement.shtest/cases/17_doctrine_enforcement.sh
  • test/cases/180_publication_is_observed.shtest/cases/180_publication_is_observed.sh
  • test/cases/181_local_is_never_published.shtest/cases/181_local_is_never_published.sh
  • test/cases/182_sessions_published_are_the_records.shtest/cases/182_sessions_published_are_the_records.sh
  • test/cases/18_doctrine_wiring.shtest/cases/18_doctrine_wiring.sh
  • test/cases/190_entry_is_automatic.shtest/cases/190_entry_is_automatic.sh
  • test/cases/190_graph_drawing.shtest/cases/190_graph_drawing.sh
  • test/cases/191_entry_races.shtest/cases/191_entry_races.sh
  • test/cases/192_entry_across_checkouts_and_clients.shtest/cases/192_entry_across_checkouts_and_clients.sh
  • test/cases/194_audit_rows_are_planned.shtest/cases/194_audit_rows_are_planned.sh
  • test/cases/19_end_to_end.shtest/cases/19_end_to_end.sh
  • test/cases/200_generic_mcp_episode.shtest/cases/200_generic_mcp_episode.sh
  • test/cases/20_checkpoint.shtest/cases/20_checkpoint.sh
  • test/cases/210_session_context_is_derived.shtest/cases/210_session_context_is_derived.sh
  • test/cases/21_decision_question.shtest/cases/21_decision_question.sh
  • test/cases/220_exactly_once_close.shtest/cases/220_exactly_once_close.sh
  • test/cases/221_the_lifecycle_under_concurrency.shtest/cases/221_the_lifecycle_under_concurrency.sh
  • test/cases/222_an_episode_nobody_ended.shtest/cases/222_an_episode_nobody_ended.sh
  • test/cases/223_an_unsupported_schema_is_a_finding.shtest/cases/223_an_unsupported_schema_is_a_finding.sh
  • test/cases/224_continuity_crosses_machines.shtest/cases/224_continuity_crosses_machines.sh
  • test/cases/22_history.shtest/cases/22_history.sh
  • test/cases/230_verdict_states_its_subject.shtest/cases/230_verdict_states_its_subject.sh
  • test/cases/23_context.shtest/cases/23_context.sh
  • test/cases/240_the_session_domain_is_typed.shtest/cases/240_the_session_domain_is_typed.sh
  • test/cases/241_merge_policy_claims_only_generator_output.shtest/cases/241_merge_policy_claims_only_generator_output.sh
  • test/cases/24_prompt_search.shtest/cases/24_prompt_search.sh
  • test/cases/250_the_board_is_repository_wide.shtest/cases/250_the_board_is_repository_wide.sh
  • test/cases/25_continuity_lifecycle.shtest/cases/25_continuity_lifecycle.sh
  • test/cases/26_ci_wiring.shtest/cases/26_ci_wiring.sh
  • test/cases/271_adr_allocation.shtest/cases/271_adr_allocation.sh
  • test/cases/272_diagrams_are_drawn.shtest/cases/272_diagrams_are_drawn.sh
  • test/cases/273_navigation_is_declared_once.shtest/cases/273_navigation_is_declared_once.sh
  • test/cases/274_commit_policy.shtest/cases/274_commit_policy.sh
  • test/cases/275_publication_is_current.shtest/cases/275_publication_is_current.sh
  • test/cases/276_disk_is_bounded.shtest/cases/276_disk_is_bounded.sh
  • test/cases/277_entities_are_routable.shtest/cases/277_entities_are_routable.sh
  • test/cases/278_the_gate_runner_clears_the_share.shtest/cases/278_the_gate_runner_clears_the_share.sh
  • test/cases/279_the_publication_age_is_the_oldest_debt.shtest/cases/279_the_publication_age_is_the_oldest_debt.sh
  • test/cases/27_foreign_task.shtest/cases/27_foreign_task.sh
  • test/cases/280_capture_status_states_its_denominator.shtest/cases/280_capture_status_states_its_denominator.sh
  • test/cases/281_published_order_is_tracked.shtest/cases/281_published_order_is_tracked.sh
  • test/cases/282_the_ledger_envelope_is_reserved.shtest/cases/282_the_ledger_envelope_is_reserved.sh
  • test/cases/284_a_record_reads_the_whole_declaration.shtest/cases/284_a_record_reads_the_whole_declaration.sh
  • test/cases/28_catalogue.shtest/cases/28_catalogue.sh
  • test/cases/28_no_hardcoded_values.shtest/cases/28_no_hardcoded_values.sh
  • test/cases/2978_an_intent_is_proposed_by_a_capability.shtest/cases/2978_an_intent_is_proposed_by_a_capability.sh
  • test/cases/2979_a_personal_layer_changes_nothing_shared.shtest/cases/2979_a_personal_layer_changes_nothing_shared.sh
  • test/cases/2980_a_capability_is_invoked_by_name_from_claude_code.shtest/cases/2980_a_capability_is_invoked_by_name_from_claude_code.sh
  • test/cases/2981_the_cockpit_snapshot_holds_its_routes.shtest/cases/2981_the_cockpit_snapshot_holds_its_routes.sh
  • test/cases/2982_two_snapshots_link_what_the_other_holds.shtest/cases/2982_two_snapshots_link_what_the_other_holds.sh
  • test/cases/2983_the_published_ui_is_the_trunks.shtest/cases/2983_the_published_ui_is_the_trunks.sh
  • test/cases/2984_a_handbook_edition_is_built_from_the_tree.shtest/cases/2984_a_handbook_edition_is_built_from_the_tree.sh
  • test/cases/2985_session_records_are_capped_and_archived.shtest/cases/2985_session_records_are_capped_and_archived.sh
  • test/cases/2988_a_scope_admits_what_its_derive_wrote.shtest/cases/2988_a_scope_admits_what_its_derive_wrote.sh
  • test/cases/2998_evidence_reaches_the_subcommands_the_executable_owns.shtest/cases/2998_evidence_reaches_the_subcommands_the_executable_owns.sh
  • test/cases/2999_delivery_is_expedited_only_where_the_rule_says.shtest/cases/2999_delivery_is_expedited_only_where_the_rule_says.sh
  • test/cases/29_prompt_capture.shtest/cases/29_prompt_capture.sh
  • test/cases/3002_a_build_never_waits_in_silence.shtest/cases/3002_a_build_never_waits_in_silence.sh
  • test/cases/3003_the_knowledge_screen_answers.shtest/cases/3003_the_knowledge_screen_answers.sh
  • test/cases/3004_evolve_is_a_procedure_of_existing_commands.shtest/cases/3004_evolve_is_a_procedure_of_existing_commands.sh
  • test/cases/3006_diagrams_are_interactive_and_linkable.shtest/cases/3006_diagrams_are_interactive_and_linkable.sh
  • test/cases/300_a_pipeline_cannot_hide_a_failure.shtest/cases/300_a_pipeline_cannot_hide_a_failure.sh
  • test/cases/3011_the_observatory_draws_nothing_it_did_not_read.shtest/cases/3011_the_observatory_draws_nothing_it_did_not_read.sh
  • test/cases/3014_the_kiosk_draws_what_the_repository_proves.shtest/cases/3014_the_kiosk_draws_what_the_repository_proves.sh
  • test/cases/3015_an_unsupervised_repository_exits_12_from_both_tools.shtest/cases/3015_an_unsupervised_repository_exits_12_from_both_tools.sh
  • test/cases/3016_init_seeds_the_scope_of_the_stack_it_finds.shtest/cases/3016_init_seeds_the_scope_of_the_stack_it_finds.sh
  • test/cases/3017_doctor_holds_an_adopter_to_what_it_adopted.shtest/cases/3017_doctor_holds_an_adopter_to_what_it_adopted.sh
  • test/cases/3018_a_comment_in_the_policy_moves_no_bootstrap.shtest/cases/3018_a_comment_in_the_policy_moves_no_bootstrap.sh
  • test/cases/3019_a_failed_branch_run_cancels_itself.shtest/cases/3019_a_failed_branch_run_cancels_itself.sh
  • test/cases/301_the_mesh_stays_one_subsystem.shtest/cases/301_the_mesh_stays_one_subsystem.sh
  • test/cases/3020_an_active_skill_is_named_where_the_crate_test_demands.shtest/cases/3020_an_active_skill_is_named_where_the_crate_test_demands.sh
  • test/cases/3021_a_tag_does_not_freeze_the_queue.shtest/cases/3021_a_tag_does_not_freeze_the_queue.sh
  • test/cases/3022_the_rule_package_is_stamped_and_adopter_neutral.shtest/cases/3022_the_rule_package_is_stamped_and_adopter_neutral.sh
  • test/cases/3023_a_knowledge_record_outlives_the_file_it_cites.shtest/cases/3023_a_knowledge_record_outlives_the_file_it_cites.sh
  • test/cases/3024_a_run_is_seen_by_the_server.shtest/cases/3024_a_run_is_seen_by_the_server.sh
  • test/cases/3025_abandoned_work_in_a_worktree_is_named.shtest/cases/3025_abandoned_work_in_a_worktree_is_named.sh
  • test/cases/3027_the_release_path_goes_first.shtest/cases/3027_the_release_path_goes_first.sh
  • test/cases/3028_the_pages_job_waits_for_its_deployment.shtest/cases/3028_the_pages_job_waits_for_its_deployment.sh
  • test/cases/3029_a_tag_in_flight_is_pending.shtest/cases/3029_a_tag_in_flight_is_pending.sh
  • test/cases/302_the_topology_rule_has_one_source.shtest/cases/302_the_topology_rule_has_one_source.sh
  • test/cases/3030_a_kiosk_keeps_the_screen_awake.shtest/cases/3030_a_kiosk_keeps_the_screen_awake.sh
  • test/cases/3032_the_quality_verdict_comes_first.shtest/cases/3032_the_quality_verdict_comes_first.sh
  • test/cases/3033_a_release_record_case_is_listed_by_a_structure_gate.shtest/cases/3033_a_release_record_case_is_listed_by_a_structure_gate.sh
  • test/cases/3035_a_release_names_its_archive_from_the_matrix.shtest/cases/3035_a_release_names_its_archive_from_the_matrix.sh
  • test/cases/3036_a_worktree_runs_its_own_hooks.shtest/cases/3036_a_worktree_runs_its_own_hooks.sh
  • test/cases/3037_a_knowledge_lookup_explains_its_order.shtest/cases/3037_a_knowledge_lookup_explains_its_order.sh
  • test/cases/303_one_source_serves_two_mounts.shtest/cases/303_one_source_serves_two_mounts.sh
  • test/cases/3042_the_observatory_asks_again_when_it_is_seen.shtest/cases/3042_the_observatory_asks_again_when_it_is_seen.sh
  • test/cases/3043_site_json_cannot_close_its_script.shtest/cases/3043_site_json_cannot_close_its_script.sh
  • test/cases/3047_a_leak_finding_names_where_it_is.shtest/cases/3047_a_leak_finding_names_where_it_is.sh
  • test/cases/3048_a_derivation_survives_an_unrelated_merge.shtest/cases/3048_a_derivation_survives_an_unrelated_merge.sh
  • test/cases/3049_a_second_workers_record_lands_on_the_first_workers_task.shtest/cases/3049_a_second_workers_record_lands_on_the_first_workers_task.sh
  • test/cases/304_a_provider_is_declared_once.shtest/cases/304_a_provider_is_declared_once.sh
  • test/cases/3050_doctor_says_it_checks_governance_only.shtest/cases/3050_doctor_says_it_checks_governance_only.sh
  • test/cases/3051_an_unlisted_event_field_fails_the_mesh_check.shtest/cases/3051_an_unlisted_event_field_fails_the_mesh_check.sh
  • test/cases/3052_a_lost_append_is_said_end_to_end.shtest/cases/3052_a_lost_append_is_said_end_to_end.sh
  • test/cases/3053_a_repository_of_n_records_costs_n.shtest/cases/3053_a_repository_of_n_records_costs_n.sh
  • test/cases/3055_a_derivation_needs_no_history.shtest/cases/3055_a_derivation_needs_no_history.sh
  • test/cases/3056_every_failure_class_names_its_proof.shtest/cases/3056_every_failure_class_names_its_proof.sh
  • test/cases/3057_unlinked_work_is_classed_end_to_end.shtest/cases/3057_unlinked_work_is_classed_end_to_end.sh
  • test/cases/3059_gate_state_is_answerable.shtest/cases/3059_gate_state_is_answerable.sh
  • test/cases/305_a_command_is_claimed_or_classified.shtest/cases/305_a_command_is_claimed_or_classified.sh
  • test/cases/3060_trunk_stays_clean.shtest/cases/3060_trunk_stays_clean.sh
  • test/cases/3061_a_rebuild_leaves_its_server_ready.shtest/cases/3061_a_rebuild_leaves_its_server_ready.sh
  • test/cases/3062_the_mcp_reference_repeats_no_registry_entry.shtest/cases/3062_the_mcp_reference_repeats_no_registry_entry.sh
  • test/cases/3063_a_branch_episode_drains_the_outbox.shtest/cases/3063_a_branch_episode_drains_the_outbox.sh
  • test/cases/3066_a_session_joins_the_mesh_at_start.shtest/cases/3066_a_session_joins_the_mesh_at_start.sh
  • test/cases/3067_a_task_is_claimed_on_the_mesh.shtest/cases/3067_a_task_is_claimed_on_the_mesh.sh
  • test/cases/3068_a_task_off_the_mesh_is_refused.shtest/cases/3068_a_task_off_the_mesh_is_refused.sh
  • test/cases/3069_an_edit_no_claim_covers_is_refused.shtest/cases/3069_an_edit_no_claim_covers_is_refused.sh
  • test/cases/3073_context_knowledge_slice.shtest/cases/3073_context_knowledge_slice.sh
  • test/cases/3075_knowledge_validate_judges_the_graph.shtest/cases/3075_knowledge_validate_judges_the_graph.sh
  • test/cases/3080_idle_incremental_sessions_are_pruned.shtest/cases/3080_idle_incremental_sessions_are_pruned.sh
  • test/cases/3084_a_case_near_its_budget_is_named.shtest/cases/3084_a_case_near_its_budget_is_named.sh
  • test/cases/3090_a_flatten_is_cached_by_its_content.shtest/cases/3090_a_flatten_is_cached_by_its_content.sh
  • test/cases/30_command_registry.shtest/cases/30_command_registry.sh
  • test/cases/3100_an_issue_delivery_is_inferred.shtest/cases/3100_an_issue_delivery_is_inferred.sh
  • test/cases/3101_merged_work_unrecorded_is_drift.shtest/cases/3101_merged_work_unrecorded_is_drift.sh
  • test/cases/3102_a_milestone_version_is_inferred.shtest/cases/3102_a_milestone_version_is_inferred.sh
  • test/cases/3103_the_roadmap_draws_every_milestone.shtest/cases/3103_the_roadmap_draws_every_milestone.sh
  • test/cases/3104_the_ui_roadmap_reads_delivery.shtest/cases/3104_the_ui_roadmap_reads_delivery.sh
  • test/cases/3105_the_homepage_states_no_present_it_does_not_read.shtest/cases/3105_the_homepage_states_no_present_it_does_not_read.sh
  • test/cases/3106_every_published_tree_draws_its_diagrams.shtest/cases/3106_every_published_tree_draws_its_diagrams.sh
  • test/cases/310_rustdoc_projection.shtest/cases/310_rustdoc_projection.sh
  • test/cases/3110_a_served_surface_names_its_checkout.shtest/cases/3110_a_served_surface_names_its_checkout.sh
  • test/cases/3112_a_publication_that_did_not_arrive_is_a_finding.shtest/cases/3112_a_publication_that_did_not_arrive_is_a_finding.sh
  • test/cases/3113_the_adoption_footprint_is_inventoried.shtest/cases/3113_the_adoption_footprint_is_inventoried.sh
  • test/cases/3125_the_reaper_asks_cargo_for_the_build_dir.shtest/cases/3125_the_reaper_asks_cargo_for_the_build_dir.sh
  • test/cases/3131_a_new_worktree_starts_from_the_remote_trunk.shtest/cases/3131_a_new_worktree_starts_from_the_remote_trunk.sh
  • test/cases/3150_the_cooperation_model_is_one_record.shtest/cases/3150_the_cooperation_model_is_one_record.sh
  • test/cases/3151_a_task_is_claimed_when_it_starts.shtest/cases/3151_a_task_is_claimed_when_it_starts.sh
  • test/cases/3160_a_scope_entry_is_one_path.shtest/cases/3160_a_scope_entry_is_one_path.sh
  • test/cases/3176_a_checkout_serves_the_current_trunk.shtest/cases/3176_a_checkout_serves_the_current_trunk.sh
  • test/cases/3177_a_client_always_gets_a_server.shtest/cases/3177_a_client_always_gets_a_server.sh
  • test/cases/3178_the_published_ui_reads_the_evidence_ci_recorded.shtest/cases/3178_the_published_ui_reads_the_evidence_ci_recorded.sh
  • test/cases/3179_a_prerelease_is_never_published_as_stable.shtest/cases/3179_a_prerelease_is_never_published_as_stable.sh
  • test/cases/318_a_partial_sweep_says_so.shtest/cases/318_a_partial_sweep_says_so.sh
  • test/cases/3190_a_scope_of_dot_is_the_repository.shtest/cases/3190_a_scope_of_dot_is_the_repository.sh
  • test/cases/3196_stale_crate_artifacts_are_pruned_under_cargos_lock.shtest/cases/3196_stale_crate_artifacts_are_pruned_under_cargos_lock.sh
  • test/cases/3197_idle_private_build_dirs_are_reclaimed.shtest/cases/3197_idle_private_build_dirs_are_reclaimed.sh
  • test/cases/31_command_coverage.shtest/cases/31_command_coverage.sh
  • test/cases/3210_a_candidate_cites_its_own_commit.shtest/cases/3210_a_candidate_cites_its_own_commit.sh
  • test/cases/3212_a_prerelease_version_is_bumped_and_ordered.shtest/cases/3212_a_prerelease_version_is_bumped_and_ordered.sh
  • test/cases/3220_the_idd_loop_is_walked_in_a_browser.shtest/cases/3220_the_idd_loop_is_walked_in_a_browser.sh
  • test/cases/3221_a_bare_session_start_joins_the_cluster.shtest/cases/3221_a_bare_session_start_joins_the_cluster.sh
  • test/cases/3222_an_alpha_publishes_beside_the_latest_release.shtest/cases/3222_an_alpha_publishes_beside_the_latest_release.sh
  • test/cases/3223_the_release_smoke_installs_an_alpha_pinned.shtest/cases/3223_the_release_smoke_installs_an_alpha_pinned.sh
  • test/cases/3224_a_published_alpha_owes_its_record.shtest/cases/3224_a_published_alpha_owes_its_record.sh
  • test/cases/3225_the_installer_takes_an_alpha_only_by_name.shtest/cases/3225_the_installer_takes_an_alpha_only_by_name.sh
  • test/cases/3226_a_pages_503_is_retried_before_a_page_is_called_missing.shtest/cases/3226_a_pages_503_is_retried_before_a_page_is_called_missing.sh
  • test/cases/3240_the_published_screens_carry_their_slow_panels.shtest/cases/3240_the_published_screens_carry_their_slow_panels.sh
  • test/cases/3242_a_claim_newer_than_the_ledger_is_not_yet_recorded.shtest/cases/3242_a_claim_newer_than_the_ledger_is_not_yet_recorded.sh
  • test/cases/3244_a_milestone_title_fits_on_github.shtest/cases/3244_a_milestone_title_fits_on_github.sh
  • test/cases/3245_an_incomplete_run_is_not_the_publications_evidence.shtest/cases/3245_an_incomplete_run_is_not_the_publications_evidence.sh
  • test/cases/3246_every_file_the_site_generator_reads_is_an_input.shtest/cases/3246_every_file_the_site_generator_reads_is_an_input.sh
  • test/cases/3247_a_derive_records_what_each_stage_cost.shtest/cases/3247_a_derive_records_what_each_stage_cost.sh
  • test/cases/3248_a_pre_push_gate_does_not_wait_on_another_build.shtest/cases/3248_a_pre_push_gate_does_not_wait_on_another_build.sh
  • test/cases/3287_a_provider_declares_its_usage_seam.shtest/cases/3287_a_provider_declares_its_usage_seam.sh
  • test/cases/32_refusal_lifecycle.shtest/cases/32_refusal_lifecycle.sh
  • test/cases/32_schema_integrity.shtest/cases/32_schema_integrity.sh
  • test/cases/330_a_contract_is_the_kind_it_declares.shtest/cases/330_a_contract_is_the_kind_it_declares.sh
  • test/cases/331_knowledge_nodes_is_gated.shtest/cases/331_knowledge_nodes_is_gated.sh
  • test/cases/333_homepage_narrative.shtest/cases/333_homepage_narrative.sh
  • test/cases/3340_a_fresh_init_leaves_doctor_clean.shtest/cases/3340_a_fresh_init_leaves_doctor_clean.sh
  • test/cases/3342_a_dry_run_initialises_nothing.shtest/cases/3342_a_dry_run_initialises_nothing.sh
  • test/cases/3343_an_unobserved_mesh_is_never_zero.shtest/cases/3343_an_unobserved_mesh_is_never_zero.sh
  • test/cases/334_ui_audit_hears_uncaught_errors.shtest/cases/334_ui_audit_hears_uncaught_errors.sh
  • test/cases/335_every_link_resolves.shtest/cases/335_every_link_resolves.sh
  • test/cases/3362_every_snapshot_read_can_ask_the_forge.shtest/cases/3362_every_snapshot_read_can_ask_the_forge.sh
  • test/cases/3363_what_mutates_is_said_as_it_is.shtest/cases/3363_what_mutates_is_said_as_it_is.sh
  • test/cases/3364_a_page_names_the_layout_in_force.shtest/cases/3364_a_page_names_the_layout_in_force.sh
  • test/cases/3365_the_readme_exit_codes_are_the_contracts.shtest/cases/3365_the_readme_exit_codes_are_the_contracts.sh
  • test/cases/3366_a_proof_word_is_earned.shtest/cases/3366_a_proof_word_is_earned.sh
  • test/cases/336_every_control_is_claimed.shtest/cases/336_every_control_is_claimed.sh
  • test/cases/337_every_control_does_what_it_says.shtest/cases/337_every_control_does_what_it_says.sh
  • test/cases/3380_the_blackboard_is_one_projection.shtest/cases/3380_the_blackboard_is_one_projection.sh
  • test/cases/3381_the_blackboard_is_pushed.shtest/cases/3381_the_blackboard_is_pushed.sh
  • test/cases/3382_the_monitor_is_pushed.shtest/cases/3382_the_monitor_is_pushed.sh
  • test/cases/3383_the_peers_screen_follows_the_blackboard.shtest/cases/3383_the_peers_screen_follows_the_blackboard.sh
  • test/cases/3384_doctor_reads_unpushed_in_one_pass.shtest/cases/3384_doctor_reads_unpushed_in_one_pass.sh
  • test/cases/3385_doctor_fits_its_budget_in_the_commit_hook.shtest/cases/3385_doctor_fits_its_budget_in_the_commit_hook.sh
  • test/cases/3386_the_cockpit_peers_page_follows_the_blackboard.shtest/cases/3386_the_cockpit_peers_page_follows_the_blackboard.sh
  • test/cases/3387_the_home_page_explains_the_blackboard.shtest/cases/3387_the_home_page_explains_the_blackboard.sh
  • test/cases/3388_the_peers_screen_is_live_in_a_browser.shtest/cases/3388_the_peers_screen_is_live_in_a_browser.sh
  • test/cases/3389_related_articles_answer_each_other_in_every_language.shtest/cases/3389_related_articles_answer_each_other_in_every_language.sh
  • test/cases/33_event_registry.shtest/cases/33_event_registry.sh
  • test/cases/33_stale_executable.shtest/cases/33_stale_executable.sh
  • test/cases/3400_a_recorded_commit_link_names_the_history.shtest/cases/3400_a_recorded_commit_link_names_the_history.sh
  • test/cases/3401_a_hero_link_with_a_fragment_resolves_to_its_id.shtest/cases/3401_a_hero_link_with_a_fragment_resolves_to_its_id.sh
  • test/cases/3402_a_records_only_plan_skips_the_evidence_job.shtest/cases/3402_a_records_only_plan_skips_the_evidence_job.sh
  • test/cases/3405_a_misplaced_artifact_is_refused.shtest/cases/3405_a_misplaced_artifact_is_refused.sh
  • test/cases/3407_a_snapshot_page_carries_no_machine_path.shtest/cases/3407_a_snapshot_page_carries_no_machine_path.sh
  • test/cases/3408_a_reproduce_command_is_copied_exactly.shtest/cases/3408_a_reproduce_command_is_copied_exactly.sh
  • test/cases/3409_the_cockpit_reconnects_within_a_bound.shtest/cases/3409_the_cockpit_reconnects_within_a_bound.sh
  • test/cases/340_a_brief_is_kept_as_received.shtest/cases/340_a_brief_is_kept_as_received.sh
  • test/cases/341_a_claim_shows_the_test_that_settles_it.shtest/cases/341_a_claim_shows_the_test_that_settles_it.sh
  • test/cases/343_the_cockpit_shows_who_else_is_here.shtest/cases/343_the_cockpit_shows_who_else_is_here.sh
  • test/cases/3460_a_session_end_hook_fits_its_budget.shtest/cases/3460_a_session_end_hook_fits_its_budget.sh
  • test/cases/3470_the_release_follows_the_work.shtest/cases/3470_the_release_follows_the_work.sh
  • test/cases/3471_the_delivery_screen_shows_what_waits_for_a_release.shtest/cases/3471_the_delivery_screen_shows_what_waits_for_a_release.sh
  • test/cases/3480_the_shell_floor_is_bash_3_2_and_bsd_userland.shtest/cases/3480_the_shell_floor_is_bash_3_2_and_bsd_userland.sh
  • test/cases/349_a_step_reports_its_own_time.shtest/cases/349_a_step_reports_its_own_time.sh
  • test/cases/34_command_fixtures.shtest/cases/34_command_fixtures.sh
  • test/cases/3502_every_article_reads_in_every_language.shtest/cases/3502_every_article_reads_in_every_language.sh
  • test/cases/3503_a_translation_group_agrees_and_keeps_up_with_its_source.shtest/cases/3503_a_translation_group_agrees_and_keeps_up_with_its_source.sh
  • test/cases/350_the_queue_measures_itself.shtest/cases/350_the_queue_measures_itself.sh
  • test/cases/352_the_version_the_site_shows_is_one_you_can_get.shtest/cases/352_the_version_the_site_shows_is_one_you_can_get.sh
  • test/cases/353_the_version_bump_has_an_actor.shtest/cases/353_the_version_bump_has_an_actor.sh
  • test/cases/354_a_lease_contest_is_judged_by_a_declaration.shtest/cases/354_a_lease_contest_is_judged_by_a_declaration.sh
  • test/cases/357_ci_records_evidence.shtest/cases/357_ci_records_evidence.sh
  • test/cases/358_entry_reports_only_evidence.shtest/cases/358_entry_reports_only_evidence.sh
  • test/cases/3590_the_site_is_derived_in_every_language.shtest/cases/3590_the_site_is_derived_in_every_language.sh
  • test/cases/359_live_scenarios.shtest/cases/359_live_scenarios.sh
  • test/cases/35_future_command.shtest/cases/35_future_command.sh
  • test/cases/3602_every_route_is_probed_by_exactly_one_shard.shtest/cases/3602_every_route_is_probed_by_exactly_one_shard.sh
  • test/cases/3603_every_page_is_exercised_by_exactly_one_shard.shtest/cases/3603_every_page_is_exercised_by_exactly_one_shard.sh
  • test/cases/360_the_crate_boundary_is_measured.shtest/cases/360_the_crate_boundary_is_measured.sh
  • test/cases/362_a_release_follows_the_ci_verdict.shtest/cases/362_a_release_follows_the_ci_verdict.sh
  • test/cases/365_new_shell_is_refused.shtest/cases/365_new_shell_is_refused.sh
  • test/cases/366_automation_inventory_agrees_with_the_tree.shtest/cases/366_automation_inventory_agrees_with_the_tree.sh
  • test/cases/367_an_intent_is_satisfied_only_by_evidence.shtest/cases/367_an_intent_is_satisfied_only_by_evidence.sh
  • test/cases/368_mesh_handover_resolves.shtest/cases/368_mesh_handover_resolves.sh
  • test/cases/36_command_doctrines.shtest/cases/36_command_doctrines.sh
  • test/cases/3720_no_two_published_paths_differ_only_in_case.shtest/cases/3720_no_two_published_paths_differ_only_in_case.sh
  • test/cases/3723_the_graph_text_reads_each_edge_its_way.shtest/cases/3723_the_graph_text_reads_each_edge_its_way.sh
  • test/cases/3724_the_roadmap_says_what_the_plan_holds.shtest/cases/3724_the_roadmap_says_what_the_plan_holds.sh
  • test/cases/3726_a_record_holds_no_template_delimiter.shtest/cases/3726_a_record_holds_no_template_delimiter.sh
  • test/cases/3727_the_pages_name_the_pre_release_beside_the_stable_one.shtest/cases/3727_the_pages_name_the_pre_release_beside_the_stable_one.sh
  • test/cases/3728_an_unkeyed_memory_entry_is_refused.shtest/cases/3728_an_unkeyed_memory_entry_is_refused.sh
  • test/cases/3731_a_number_in_a_segment_is_a_placeholder.shtest/cases/3731_a_number_in_a_segment_is_a_placeholder.sh
  • test/cases/3732_every_languages_homepage_is_held_to_its_budget.shtest/cases/3732_every_languages_homepage_is_held_to_its_budget.sh
  • test/cases/373_delivery_is_computed.shtest/cases/373_delivery_is_computed.sh
  • test/cases/3747_a_gated_step_leaves_its_receipt.shtest/cases/3747_a_gated_step_leaves_its_receipt.sh
  • test/cases/3748_a_pages_step_bound_follows_its_budget.shtest/cases/3748_a_pages_step_bound_follows_its_budget.sh
  • test/cases/3749_a_full_history_checkout_is_bounded.shtest/cases/3749_a_full_history_checkout_is_bounded.sh
  • test/cases/374_delivery_unknown_is_not_delivered.shtest/cases/374_delivery_unknown_is_not_delivered.sh
  • test/cases/37_responsibility_surface.shtest/cases/37_responsibility_surface.sh
  • test/cases/3820_a_deployment_renders_its_providers_files.shtest/cases/3820_a_deployment_renders_its_providers_files.sh
  • test/cases/3821_a_providers_tree_is_assembled_from_the_object.shtest/cases/3821_a_providers_tree_is_assembled_from_the_object.sh
  • test/cases/3822_a_provider_deployment_is_observed_at_its_url.shtest/cases/3822_a_provider_deployment_is_observed_at_its_url.sh
  • test/cases/3823_the_mesh_client_speaks_tls.shtest/cases/3823_the_mesh_client_speaks_tls.sh
  • test/cases/3824_the_bootstrap_says_what_the_cooperation_rule_says.shtest/cases/3824_the_bootstrap_says_what_the_cooperation_rule_says.sh
  • test/cases/3826_a_hosted_hub_is_trusted_and_closed_to_strangers.shtest/cases/3826_a_hosted_hub_is_trusted_and_closed_to_strangers.sh
  • test/cases/3829_a_provider_declares_its_browser_bridge.shtest/cases/3829_a_provider_declares_its_browser_bridge.sh
  • test/cases/3831_a_hook_never_starts_a_cold_build.shtest/cases/3831_a_hook_never_starts_a_cold_build.sh
  • test/cases/3834_a_case_run_removes_its_own_dir.shtest/cases/3834_a_case_run_removes_its_own_dir.sh
  • test/cases/3836_a_repeated_scenario_is_read_from_its_cache.shtest/cases/3836_a_repeated_scenario_is_read_from_its_cache.sh
  • test/cases/3837_a_derive_does_not_run_mid_merge.shtest/cases/3837_a_derive_does_not_run_mid_merge.sh
  • test/cases/383_convergence_is_enforced.shtest/cases/383_convergence_is_enforced.sh
  • test/cases/3846_an_offload_derive_observes_its_base_commit.shtest/cases/3846_an_offload_derive_observes_its_base_commit.sh
  • test/cases/3847_a_case_that_enables_the_mesh_declares_its_tailnet_off.shtest/cases/3847_a_case_that_enables_the_mesh_declares_its_tailnet_off.sh
  • test/cases/3848_the_plan_page_fits_the_audit_budget.shtest/cases/3848_the_plan_page_fits_the_audit_budget.sh
  • test/cases/3849_a_locked_build_never_goes_private_below_the_disk_bound.shtest/cases/3849_a_locked_build_never_goes_private_below_the_disk_bound.sh
  • test/cases/384_a_deployment_is_evidence.shtest/cases/384_a_deployment_is_evidence.sh
  • test/cases/3860_the_plan_graph_is_drawn_by_milestone.shtest/cases/3860_the_plan_graph_is_drawn_by_milestone.sh
  • test/cases/3861_a_remote_caller_never_sees_the_executions.shtest/cases/3861_a_remote_caller_never_sees_the_executions.sh
  • test/cases/386_a_plan_is_held_to_its_intent.shtest/cases/386_a_plan_is_held_to_its_intent.sh
  • test/cases/387_no_payload_is_passed_through_argv.shtest/cases/387_no_payload_is_passed_through_argv.sh
  • test/cases/388_an_intent_is_realised_across_providers_and_held_to_reality.shtest/cases/388_an_intent_is_realised_across_providers_and_held_to_reality.sh
  • test/cases/389_cockpit_projection.shtest/cases/389_cockpit_projection.sh
  • test/cases/390_unresolved_relation_refuses_generation.shtest/cases/390_unresolved_relation_refuses_generation.sh
  • test/cases/391_skills_are_proven_capabilities.shtest/cases/391_skills_are_proven_capabilities.sh
  • test/cases/3932_the_coverage_export_is_its_one_measurement.shtest/cases/3932_the_coverage_export_is_its_one_measurement.sh
  • test/cases/3933_the_trends_are_read_from_the_runs_themselves.shtest/cases/3933_the_trends_are_read_from_the_runs_themselves.sh
  • test/cases/3939_the_executable_is_built_once_per_run.shtest/cases/3939_the_executable_is_built_once_per_run.sh
  • test/cases/3940_every_ui_visit_is_driven_by_exactly_one_shard.shtest/cases/3940_every_ui_visit_is_driven_by_exactly_one_shard.sh
  • test/cases/3943_a_second_gate_list_is_found.shtest/cases/3943_a_second_gate_list_is_found.sh
  • test/cases/3946_every_gate_declares_its_lane.shtest/cases/3946_every_gate_declares_its_lane.sh
  • test/cases/3947_a_tier_selects_its_lanes.shtest/cases/3947_a_tier_selects_its_lanes.sh
  • test/cases/3948_a_local_gate_reports_and_ci_decides.shtest/cases/3948_a_local_gate_reports_and_ci_decides.sh
  • test/cases/3950_a_cache_key_is_a_derived_triplet.shtest/cases/3950_a_cache_key_is_a_derived_triplet.sh
  • test/cases/3952_a_dependency_install_is_restored_and_saved.shtest/cases/3952_a_dependency_install_is_restored_and_saved.sh
  • test/cases/3953_every_build_path_goes_through_the_cache.shtest/cases/3953_every_build_path_goes_through_the_cache.sh
  • test/cases/3954_a_store_is_offered_in_a_signed_record.shtest/cases/3954_a_store_is_offered_in_a_signed_record.sh
  • test/cases/3955_the_sccache_client_is_derived_from_the_selected_store.shtest/cases/3955_the_sccache_client_is_derived_from_the_selected_store.sh
  • test/cases/3956_a_node_is_provisioned_as_a_cache_provider.shtest/cases/3956_a_node_is_provisioned_as_a_cache_provider.sh
  • test/cases/3957_every_process_is_traced_to_its_session.shtest/cases/3957_every_process_is_traced_to_its_session.sh
  • test/cases/3958_no_entry_path_or_gate_builds.shtest/cases/3958_no_entry_path_or_gate_builds.sh
  • test/cases/3959_the_shared_build_dir_stays_under_its_bound.shtest/cases/3959_the_shared_build_dir_stays_under_its_bound.sh
  • test/cases/3963_a_merge_of_master_derives_in_one_go.shtest/cases/3963_a_merge_of_master_derives_in_one_go.sh
  • test/cases/3970_a_pull_request_carries_its_metadata.shtest/cases/3970_a_pull_request_carries_its_metadata.sh
  • test/cases/3995_a_task_started_before_the_first_commit_finishes.shtest/cases/3995_a_task_started_before_the_first_commit_finishes.sh
  • test/cases/3999_a_fixture_holds_the_skills_the_generator_reads.shtest/cases/3999_a_fixture_holds_the_skills_the_generator_reads.sh
  • test/cases/4007_an_idle_server_leaves_by_itself.shtest/cases/4007_an_idle_server_leaves_by_itself.sh
  • test/cases/4008_a_push_that_only_deletes_plans_nothing.shtest/cases/4008_a_push_that_only_deletes_plans_nothing.sh
  • test/cases/400_derivation_is_one_graph.shtest/cases/400_derivation_is_one_graph.sh
  • test/cases/401_the_rust_artifact_carries_its_provenance.shtest/cases/401_the_rust_artifact_carries_its_provenance.sh
  • test/cases/402_argv_limit.shtest/cases/402_argv_limit.sh
  • test/cases/403_published_translation.shtest/cases/403_published_translation.sh
  • test/cases/404_refused_files_are_named.shtest/cases/404_refused_files_are_named.sh
  • test/cases/405_the_knowledge_reader_honours_the_schema.shtest/cases/405_the_knowledge_reader_honours_the_schema.sh
  • test/cases/406_one_declaration_every_surface.shtest/cases/406_one_declaration_every_surface.sh
  • test/cases/408_a_receipt_is_provider_neutral.shtest/cases/408_a_receipt_is_provider_neutral.sh
  • test/cases/409_every_tile_names_its_proof.shtest/cases/409_every_tile_names_its_proof.sh
  • test/cases/40_project_model.shtest/cases/40_project_model.sh
  • test/cases/413_a_skipped_case_is_not_a_proof.shtest/cases/413_a_skipped_case_is_not_a_proof.sh
  • test/cases/414_mesh_lab_evidence.shtest/cases/414_mesh_lab_evidence.sh
  • test/cases/417_the_suite_finishes_inside_its_bound.shtest/cases/417_the_suite_finishes_inside_its_bound.sh
  • test/cases/4199_a_case_that_compiles_never_starves_its_neighbours.shtest/cases/4199_a_case_that_compiles_never_starves_its_neighbours.sh
  • test/cases/41_project_status.shtest/cases/41_project_status.sh
  • test/cases/4223_a_failed_cases_reason_reaches_the_artifact.shtest/cases/4223_a_failed_cases_reason_reaches_the_artifact.sh
  • test/cases/42_dag_waves.shtest/cases/42_dag_waves.sh
  • test/cases/430_economics.shtest/cases/430_economics.sh
  • test/cases/431_economics_claims_gated.shtest/cases/431_economics_claims_gated.sh
  • test/cases/43_plan_command.shtest/cases/43_plan_command.sh
  • test/cases/44_model_doctrine.shtest/cases/44_model_doctrine.sh
  • test/cases/45_github_projection.shtest/cases/45_github_projection.sh
  • test/cases/46_cross_surface.shtest/cases/46_cross_surface.sh
  • test/cases/47_mutation.shtest/cases/47_mutation.sh
  • test/cases/484_the_version_is_authored_once.shtest/cases/484_the_version_is_authored_once.sh
  • test/cases/486_rustdoc_composition.shtest/cases/486_rustdoc_composition.sh
  • test/cases/487_rustdoc_staleness.shtest/cases/487_rustdoc_staleness.sh
  • test/cases/488_rustdoc_discoverable.shtest/cases/488_rustdoc_discoverable.sh
  • test/cases/489_rustdoc_deploy.shtest/cases/489_rustdoc_deploy.sh
  • test/cases/48_roadmap_graph.shtest/cases/48_roadmap_graph.sh
  • test/cases/490_rustdoc_new_module.shtest/cases/490_rustdoc_new_module.sh
  • test/cases/491_the_mesh_is_on_here.shtest/cases/491_the_mesh_is_on_here.sh
  • test/cases/492_rustdoc_module_links.shtest/cases/492_rustdoc_module_links.sh
  • test/cases/493_mesh_compaction_keeps_what_is_live.shtest/cases/493_mesh_compaction_keeps_what_is_live.sh
  • test/cases/494_the_mesh_is_declared_and_held.shtest/cases/494_the_mesh_is_declared_and_held.sh
  • test/cases/495_the_firewall_admits_the_mesh.shtest/cases/495_the_firewall_admits_the_mesh.sh
  • test/cases/49_roadmap_doctrine.shtest/cases/49_roadmap_doctrine.sh
  • test/cases/500_docs_index.shtest/cases/500_docs_index.sh
  • test/cases/501_verdict_words_are_status_words.shtest/cases/501_verdict_words_are_status_words.sh
  • test/cases/502_evidence_is_judged_at_the_presented_revision.shtest/cases/502_evidence_is_judged_at_the_presented_revision.sh
  • test/cases/503_every_use_case_has_a_feature.shtest/cases/503_every_use_case_has_a_feature.sh
  • test/cases/504_public_text_is_redacted_once.shtest/cases/504_public_text_is_redacted_once.sh
  • test/cases/505_a_recording_carries_what_its_run_measured.shtest/cases/505_a_recording_carries_what_its_run_measured.sh
  • test/cases/506_a_crate_binary_that_ran_nothing_is_not_a_pass.shtest/cases/506_a_crate_binary_that_ran_nothing_is_not_a_pass.sh
  • test/cases/507_evidence_subjects_are_derived.shtest/cases/507_evidence_subjects_are_derived.sh
  • test/cases/50_blocker_across_handover.shtest/cases/50_blocker_across_handover.sh
  • test/cases/51_derived_artifacts_committed.shtest/cases/51_derived_artifacts_committed.sh
  • test/cases/529_the_preflight_reads_the_one_verdict.shtest/cases/529_the_preflight_reads_the_one_verdict.sh
  • test/cases/52_generated_artifact_typing.shtest/cases/52_generated_artifact_typing.sh
  • test/cases/531_an_entity_names_its_public_page.shtest/cases/531_an_entity_names_its_public_page.sh
  • test/cases/532_the_mcp_reference_links_its_capabilities.shtest/cases/532_the_mcp_reference_links_its_capabilities.sh
  • test/cases/533_source_links_name_the_built_commit.shtest/cases/533_source_links_name_the_built_commit.sh
  • test/cases/534_the_overview_answers_four_questions.shtest/cases/534_the_overview_answers_four_questions.sh
  • test/cases/535_content_links_name_the_built_commit.shtest/cases/535_content_links_name_the_built_commit.sh
  • test/cases/536_the_coverage_gate_names_the_failing_test.shtest/cases/536_the_coverage_gate_names_the_failing_test.sh
  • test/cases/53_status_vocabulary.shtest/cases/53_status_vocabulary.sh
  • test/cases/540_the_cockpit_says_only_what_it_knows.shtest/cases/540_the_cockpit_says_only_what_it_knows.sh
  • test/cases/543_a_declared_guarantee_is_not_coloured_as_proven.shtest/cases/543_a_declared_guarantee_is_not_coloured_as_proven.sh
  • test/cases/544_the_homepage_counts_declared_apart_from_supported.shtest/cases/544_the_homepage_counts_declared_apart_from_supported.sh
  • test/cases/545_every_answer_says_when_it_was_observed.shtest/cases/545_every_answer_says_when_it_was_observed.sh
  • test/cases/546_a_statistic_names_the_capability_it_asked.shtest/cases/546_a_statistic_names_the_capability_it_asked.sh
  • test/cases/547_the_ui_says_only_what_is_derived.shtest/cases/547_the_ui_says_only_what_is_derived.sh
  • test/cases/54_session_lifecycle_hooks.shtest/cases/54_session_lifecycle_hooks.sh
  • test/cases/552_coverage_is_recorded_for_the_preflight.shtest/cases/552_coverage_is_recorded_for_the_preflight.sh
  • test/cases/55_session_context.shtest/cases/55_session_context.sh
  • test/cases/560_a_case_number_names_one_case.shtest/cases/560_a_case_number_names_one_case.sh
  • test/cases/563_knowledge_is_derived_at_the_boundary.shtest/cases/563_knowledge_is_derived_at_the_boundary.sh
  • test/cases/564_knowledge_derivation_is_idempotent.shtest/cases/564_knowledge_derivation_is_idempotent.sh
  • test/cases/565_knowledge_switch_and_failure_leave_evidence.shtest/cases/565_knowledge_switch_and_failure_leave_evidence.sh
  • test/cases/566_the_collision_guard_has_a_caller.shtest/cases/566_the_collision_guard_has_a_caller.sh
  • test/cases/569_independent_of_prismatic.shtest/cases/569_independent_of_prismatic.sh
  • test/cases/56_derived_current_gate.shtest/cases/56_derived_current_gate.sh
  • test/cases/572_verification_records_the_tree_it_proved.shtest/cases/572_verification_records_the_tree_it_proved.sh
  • test/cases/575_nothing_runs_perl.shtest/cases/575_nothing_runs_perl.sh
  • test/cases/578_an_unknown_gate_refuses_completed.shtest/cases/578_an_unknown_gate_refuses_completed.sh
  • test/cases/57_derived_merge_driver.shtest/cases/57_derived_merge_driver.sh
  • test/cases/581_no_plan_stamp_without_its_event.shtest/cases/581_no_plan_stamp_without_its_event.sh
  • test/cases/582_the_done_guard_holds_in_both_engines.shtest/cases/582_the_done_guard_holds_in_both_engines.sh
  • test/cases/58_home_path_gate.shtest/cases/58_home_path_gate.sh
  • test/cases/593_generation_states_its_subject.shtest/cases/593_generation_states_its_subject.sh
  • test/cases/599_a_silent_check_is_not_a_pass.shtest/cases/599_a_silent_check_is_not_a_pass.sh
  • test/cases/59_reference_integrity.shtest/cases/59_reference_integrity.sh
  • test/cases/602_a_spliced_body_is_recognised_as_its_own.shtest/cases/602_a_spliced_body_is_recognised_as_its_own.sh
  • test/cases/608_deletion_is_accounted_for.shtest/cases/608_deletion_is_accounted_for.sh
  • test/cases/60_session_lifecycle.shtest/cases/60_session_lifecycle.sh
  • test/cases/611_the_reclaim_refuses_what_it_cannot_prove.shtest/cases/611_the_reclaim_refuses_what_it_cannot_prove.sh
  • test/cases/617_a_case_can_name_what_it_covers.shtest/cases/617_a_case_can_name_what_it_covers.sh
  • test/cases/61_session_envelope.shtest/cases/61_session_envelope.sh
  • test/cases/620_mcp_tools_are_invoked_and_answer.shtest/cases/620_mcp_tools_are_invoked_and_answer.sh
  • test/cases/623_a_ref_verdict_needs_the_refs.shtest/cases/623_a_ref_verdict_needs_the_refs.sh
  • test/cases/624_a_slow_publication_is_not_a_failed_one.shtest/cases/624_a_slow_publication_is_not_a_failed_one.sh
  • test/cases/625_a_rebuild_is_asked_only_when_it_helps.shtest/cases/625_a_rebuild_is_asked_only_when_it_helps.sh
  • test/cases/62_session_divergence.shtest/cases/62_session_divergence.sh
  • test/cases/632_a_scenario_shows_the_worker_it_judges.shtest/cases/632_a_scenario_shows_the_worker_it_judges.sh
  • test/cases/635_the_runtime_names_its_commit.shtest/cases/635_the_runtime_names_its_commit.sh
  • test/cases/638_a_documented_command_is_run.shtest/cases/638_a_documented_command_is_run.sh
  • test/cases/63_session_records.shtest/cases/63_session_records.sh
  • test/cases/64_knowledge_discovery.shtest/cases/64_knowledge_discovery.sh
  • test/cases/65_tool_root_independence.shtest/cases/65_tool_root_independence.sh
  • test/cases/66_migrate_legacy.shtest/cases/66_migrate_legacy.sh
  • test/cases/67_rule_dag.shtest/cases/67_rule_dag.sh
  • test/cases/68_ai_discovery.shtest/cases/68_ai_discovery.sh
  • test/cases/69_context_documents.shtest/cases/69_context_documents.sh
  • test/cases/707_knowledge_check_refuses_malformed_records.shtest/cases/707_knowledge_check_refuses_malformed_records.sh
  • test/cases/708_health_sees_a_stopped_knowledge_writer.shtest/cases/708_health_sees_a_stopped_knowledge_writer.sh
  • test/cases/709_knowledge_promotion_is_an_act.shtest/cases/709_knowledge_promotion_is_an_act.sh
  • test/cases/70_context_impact.shtest/cases/70_context_impact.sh
  • test/cases/710_briefing_names_the_candidates.shtest/cases/710_briefing_names_the_candidates.sh
  • test/cases/711_candidates_are_reviewed_not_accumulated.shtest/cases/711_candidates_are_reviewed_not_accumulated.sh
  • test/cases/71_context_sync.shtest/cases/71_context_sync.sh
  • test/cases/720_integration_follows_the_current_master.shtest/cases/720_integration_follows_the_current_master.sh
  • test/cases/721_the_suite_shards_are_the_whole_suite.shtest/cases/721_the_suite_shards_are_the_whole_suite.sh
  • test/cases/72_rust_mcp.shtest/cases/72_rust_mcp.sh
  • test/cases/730_reasoning_works_with_no_advisor.shtest/cases/730_reasoning_works_with_no_advisor.sh
  • test/cases/731_advisor_transport_contract.shtest/cases/731_advisor_transport_contract.sh
  • test/cases/732_disagreement_is_settled_by_evidence.shtest/cases/732_disagreement_is_settled_by_evidence.sh
  • test/cases/733_advisor_failure_and_recovery.shtest/cases/733_advisor_failure_and_recovery.sh
  • test/cases/734_reasoning_survives_the_session.shtest/cases/734_reasoning_survives_the_session.sh
  • test/cases/735_a_new_advisor_needs_no_consumer_edit.shtest/cases/735_a_new_advisor_needs_no_consumer_edit.sh
  • test/cases/736_reasoning_check_refuses_drift.shtest/cases/736_reasoning_check_refuses_drift.sh
  • test/cases/73_knowledge_nodes.shtest/cases/73_knowledge_nodes.sh
  • test/cases/740_integration_is_visible_where_a_person_looks.shtest/cases/740_integration_is_visible_where_a_person_looks.sh
  • test/cases/741_a_continuous_drain_stops_cleanly_and_alone.shtest/cases/741_a_continuous_drain_stops_cleanly_and_alone.sh
  • test/cases/742_only_an_outage_is_asked_again.shtest/cases/742_only_an_outage_is_asked_again.sh
  • test/cases/743_release_version_answers_with_the_contract.shtest/cases/743_release_version_answers_with_the_contract.sh
  • test/cases/744_an_installed_tool_finds_its_own_executable.shtest/cases/744_an_installed_tool_finds_its_own_executable.sh
  • test/cases/74_knowledge_edges.shtest/cases/74_knowledge_edges.sh
  • test/cases/75_knowledge_mutation.shtest/cases/75_knowledge_mutation.sh
  • test/cases/760_the_cockpit_route_table_is_what_it_serves.shtest/cases/760_the_cockpit_route_table_is_what_it_serves.sh
  • test/cases/763_a_tag_older_than_the_record_practice_is_a_note.shtest/cases/763_a_tag_older_than_the_record_practice_is_a_note.sh
  • test/cases/76_capabilities_projections.shtest/cases/76_capabilities_projections.sh
  • test/cases/777_a_recorded_scenario_does_not_depend_on_the_recorder.shtest/cases/777_a_recorded_scenario_does_not_depend_on_the_recorder.sh
  • test/cases/77_rust_evidence.shtest/cases/77_rust_evidence.sh
  • test/cases/790_the_kit_is_one_vocabulary_and_its_page_renders_all_of_it.shtest/cases/790_the_kit_is_one_vocabulary_and_its_page_renders_all_of_it.sh
  • test/cases/791_a_screen_is_composed_of_the_kit_and_of_real_data.shtest/cases/791_a_screen_is_composed_of_the_kit_and_of_real_data.sh
  • test/cases/79_bench_command.shtest/cases/79_bench_command.sh
  • test/cases/800_product_domains.shtest/cases/800_product_domains.sh
  • test/cases/805_a_status_speaks_the_vocabulary_of_its_kind.shtest/cases/805_a_status_speaks_the_vocabulary_of_its_kind.sh
  • test/cases/80_bench_persistence.shtest/cases/80_bench_persistence.sh
  • test/cases/810_a_feature_is_explored_under_its_domain.shtest/cases/810_a_feature_is_explored_under_its_domain.sh
  • test/cases/81_bench_baseline.shtest/cases/81_bench_baseline.sh
  • test/cases/820_a_prose_heading_reads_as_a_heading.shtest/cases/820_a_prose_heading_reads_as_a_heading.sh
  • test/cases/821_a_session_moves_between_machines.shtest/cases/821_a_session_moves_between_machines.sh
  • test/cases/822_a_dirty_handover_restores_context_not_source.shtest/cases/822_a_dirty_handover_restores_context_not_source.sh
  • test/cases/823_the_same_work_continued_twice_is_a_conflict.shtest/cases/823_the_same_work_continued_twice_is_a_conflict.sh
  • test/cases/824_separate_work_on_two_machines_is_not_a_conflict.shtest/cases/824_separate_work_on_two_machines_is_not_a_conflict.sh
  • test/cases/825_a_handover_published_offline_waits_for_its_remote.shtest/cases/825_a_handover_published_offline_waits_for_its_remote.sh
  • test/cases/826_a_handover_carrying_a_secret_is_not_published.shtest/cases/826_a_handover_carrying_a_secret_is_not_published.sh
  • test/cases/827_a_record_is_admitted_before_it_is_read.shtest/cases/827_a_record_is_admitted_before_it_is_read.sh
  • test/cases/828_a_server_holding_its_lease_is_not_reaped.shtest/cases/828_a_server_holding_its_lease_is_not_reaped.sh
  • test/cases/829_ci_fails_on_a_skip.shtest/cases/829_ci_fails_on_a_skip.sh
  • test/cases/82_bench_check.shtest/cases/82_bench_check.sh
  • test/cases/83_doctor_budget.shtest/cases/83_doctor_budget.sh
  • test/cases/84_deployment_contract.shtest/cases/84_deployment_contract.sh
  • test/cases/84_distribution_model.shtest/cases/84_distribution_model.sh
  • test/cases/84_web_surfaces.shtest/cases/84_web_surfaces.sh
  • test/cases/850_integration_drains_cycle_by_cycle.shtest/cases/850_integration_drains_cycle_by_cycle.sh
  • test/cases/852_a_dry_run_moves_nothing.shtest/cases/852_a_dry_run_moves_nothing.sh
  • test/cases/855_racing_executors_merge_once.shtest/cases/855_racing_executors_merge_once.sh
  • test/cases/856_racing_worktrees_share_one_lease.shtest/cases/856_racing_worktrees_share_one_lease.sh
  • test/cases/857_required_checks_are_authoritative.shtest/cases/857_required_checks_are_authoritative.sh
  • test/cases/858_reviews_are_authoritative.shtest/cases/858_reviews_are_authoritative.sh
  • test/cases/85_deployment_bind.shtest/cases/85_deployment_bind.sh
  • test/cases/85_installer.shtest/cases/85_installer.sh
  • test/cases/85_ui_conformance.shtest/cases/85_ui_conformance.sh
  • test/cases/861_a_successor_that_landed_supersedes.shtest/cases/861_a_successor_that_landed_supersedes.sh
  • test/cases/86_deployment_projections.shtest/cases/86_deployment_projections.sh
  • test/cases/86_installer_platform.shtest/cases/86_installer_platform.sh
  • test/cases/870_a_flag_setting_reporter_is_a_reporter.shtest/cases/870_a_flag_setting_reporter_is_a_reporter.sh
  • test/cases/871_pack_for_chatgpt.shtest/cases/871_pack_for_chatgpt.sh
  • test/cases/87_release_pipeline.shtest/cases/87_release_pipeline.sh
  • test/cases/87b_release_archive_shape.shtest/cases/87b_release_archive_shape.sh
  • test/cases/884_a_declared_kind_is_a_kind_the_graph_knows.shtest/cases/884_a_declared_kind_is_a_kind_the_graph_knows.sh
  • test/cases/885_a_replaced_server_stops_calling_itself_ready.shtest/cases/885_a_replaced_server_stops_calling_itself_ready.sh
  • test/cases/886_the_timing_report_is_json.shtest/cases/886_the_timing_report_is_json.sh
  • test/cases/88_rust_command_tested.shtest/cases/88_rust_command_tested.sh
  • test/cases/890_an_intent_criterion_is_met_only_by_current_evidence.shtest/cases/890_an_intent_criterion_is_met_only_by_current_evidence.sh
  • test/cases/892_what_is_said_of_intents_is_what_the_claims_matrix_says.shtest/cases/892_what_is_said_of_intents_is_what_the_claims_matrix_says.sh
  • test/cases/893_preflight_follows_what_an_issue_serves.shtest/cases/893_preflight_follows_what_an_issue_serves.sh
  • test/cases/894_github_sync_applies_only_the_trunk.shtest/cases/894_github_sync_applies_only_the_trunk.sh
  • test/cases/895_a_finished_task_does_not_satisfy_an_intent.shtest/cases/895_a_finished_task_does_not_satisfy_an_intent.sh
  • test/cases/899_a_bootstrap_names_only_rules_in_force.shtest/cases/899_a_bootstrap_names_only_rules_in_force.sh
  • test/cases/89_web_surface.shtest/cases/89_web_surface.sh
  • test/cases/900_prose_states_no_version.shtest/cases/900_prose_states_no_version.sh
  • test/cases/90_mcp_shared_server.shtest/cases/90_mcp_shared_server.sh
  • test/cases/910_nothing_merges_around_the_integrator.shtest/cases/910_nothing_merges_around_the_integrator.sh
  • test/cases/911_repair_decides_and_moves_nothing.shtest/cases/911_repair_decides_and_moves_nothing.sh
  • test/cases/912_repair_acts_under_the_lease_and_the_trail.shtest/cases/912_repair_acts_under_the_lease_and_the_trail.sh
  • test/cases/91_canonical_architecture.shtest/cases/91_canonical_architecture.sh
  • test/cases/924_one_executor_across_machines.shtest/cases/924_one_executor_across_machines.sh
  • test/cases/925_a_bound_check_is_only_its_apps_run.shtest/cases/925_a_bound_check_is_only_its_apps_run.sh
  • test/cases/926_an_unread_writer_is_never_a_pass.shtest/cases/926_an_unread_writer_is_never_a_pass.sh
  • test/cases/927_an_unbound_base_asks_for_no_writer.shtest/cases/927_an_unbound_base_asks_for_no_writer.sh
  • test/cases/928_an_authorised_supersedes_holds_then_closes.shtest/cases/928_an_authorised_supersedes_holds_then_closes.sh
  • test/cases/929_a_forks_declaration_decides_nothing.shtest/cases/929_a_forks_declaration_decides_nothing.sh
  • test/cases/92_openapi_reference.shtest/cases/92_openapi_reference.sh
  • test/cases/930_an_own_body_is_tested_on_its_author.shtest/cases/930_an_own_body_is_tested_on_its_author.sh
  • test/cases/931_a_closed_successor_releases_the_hold.shtest/cases/931_a_closed_successor_releases_the_hold.sh
  • test/cases/932_a_squashed_successor_lands_by_its_merge_commit.shtest/cases/932_a_squashed_successor_lands_by_its_merge_commit.sh
  • test/cases/933_every_page_of_cross_references_is_read.shtest/cases/933_every_page_of_cross_references_is_read.sh
  • test/cases/934_a_failed_declarations_read_decides_nothing.shtest/cases/934_a_failed_declarations_read_decides_nothing.sh
  • test/cases/935_an_older_observation_is_refused.shtest/cases/935_an_older_observation_is_refused.sh
  • test/cases/936_the_rule_names_every_closure_ground.shtest/cases/936_the_rule_names_every_closure_ground.sh
  • test/cases/937_an_unauthorised_declaration_neither_holds_nor_closes.shtest/cases/937_an_unauthorised_declaration_neither_holds_nor_closes.sh
  • test/cases/938_a_truncated_cross_reference_read_holds.shtest/cases/938_a_truncated_cross_reference_read_holds.sh
  • test/cases/939_a_batch_landed_successor_supersedes.shtest/cases/939_a_batch_landed_successor_supersedes.sh
  • test/cases/93_rust_provider_projections.shtest/cases/93_rust_provider_projections.sh
  • test/cases/93_schema_integrity.shtest/cases/93_schema_integrity.sh
  • test/cases/93_scope_policy.shtest/cases/93_scope_policy.sh
  • test/cases/93_workspace_kind.shtest/cases/93_workspace_kind.sh
  • test/cases/940_mcp_says_nothing_its_capability_does_not.shtest/cases/940_mcp_says_nothing_its_capability_does_not.sh
  • test/cases/941_a_remote_url_is_published_without_its_credential.shtest/cases/941_a_remote_url_is_published_without_its_credential.sh
  • test/cases/94_ci_plan.shtest/cases/94_ci_plan.sh
  • test/cases/94_use_cases.shtest/cases/94_use_cases.sh
  • test/cases/95_executable_reference.shtest/cases/95_executable_reference.sh
  • test/cases/95_skills.shtest/cases/95_skills.sh
  • test/cases/960_a_task_starts_bound_to_what_it_serves.shtest/cases/960_a_task_starts_bound_to_what_it_serves.sh
  • test/cases/961_a_resumed_task_is_told_its_intent_moved.shtest/cases/961_a_resumed_task_is_told_its_intent_moved.sh
  • test/cases/962_plan_start_asks_the_binding_in_both_engines.shtest/cases/962_plan_start_asks_the_binding_in_both_engines.sh
  • test/cases/96_rust_public_api_quality.shtest/cases/96_rust_public_api_quality.sh
  • test/cases/96_site_deploy.shtest/cases/96_site_deploy.sh
  • test/cases/96_worktree_topology.shtest/cases/96_worktree_topology.sh
  • test/cases/97_development_semantics_gate.shtest/cases/97_development_semantics_gate.sh
  • test/cases/97_github_gate.shtest/cases/97_github_gate.sh
  • test/cases/97_install_gate.shtest/cases/97_install_gate.sh
  • test/cases/97_pages_fast_path.shtest/cases/97_pages_fast_path.sh
  • test/cases/97_product_features.shtest/cases/97_product_features.sh
  • test/cases/97_site_probe_attribution.shtest/cases/97_site_probe_attribution.sh
  • test/cases/97_vendor_evidence.shtest/cases/97_vendor_evidence.sh
  • test/cases/980_a_session_records_what_it_observed.shtest/cases/980_a_session_records_what_it_observed.sh
  • test/cases/981_an_observation_becomes_a_grouped_candidate.shtest/cases/981_an_observation_becomes_a_grouped_candidate.sh
  • test/cases/982_a_candidate_is_routed_by_what_it_is_about.shtest/cases/982_a_candidate_is_routed_by_what_it_is_about.sh
  • test/cases/98_cli_reference.shtest/cases/98_cli_reference.sh
  • test/cases/98_traceability.shtest/cases/98_traceability.sh
  • test/cases/98_why_catalogue.shtest/cases/98_why_catalogue.sh
  • test/cases/991_a_command_leaves_nothing_in_tmpdir.shtest/cases/991_a_command_leaves_nothing_in_tmpdir.sh
  • test/cases/992_the_local_bind_is_the_machines_to_name.shtest/cases/992_the_local_bind_is_the_machines_to_name.sh
  • test/cases/993_the_continuity_tools_answer_over_mcp.shtest/cases/993_the_continuity_tools_answer_over_mcp.sh
  • test/cases/994_a_panel_that_did_not_appear_is_not_a_hidden_region.shtest/cases/994_a_panel_that_did_not_appear_is_not_a_hidden_region.sh
  • test/cases/995_a_case_leaves_no_git_housekeeping_behind.shtest/cases/995_a_case_leaves_no_git_housekeeping_behind.sh
  • test/cases/996_the_record_pull_request_gets_its_verdict.shtest/cases/996_the_record_pull_request_gets_its_verdict.sh
  • test/cases/999_a_parser_that_cannot_run_is_not_a_verdict.shtest/cases/999_a_parser_that_cannot_run_is_not_a_verdict.sh
  • test/cases/99_adr.shtest/cases/99_adr.sh
  • test/cases/99_canonical_order.shtest/cases/99_canonical_order.sh
  • test/cases/99_plan_capabilities.shtest/cases/99_plan_capabilities.sh
  • test/cases/99_work_graph_chain.shtest/cases/99_work_graph_chain.sh
use-case 49
  • accept-or-refuse-finished-workDecide whether finished work is actually finished.ai/repo/use-cases/accept-or-refuse-finished-work.md
  • add-a-use-case-and-prove-itAdd a use case and let the tool prove it.ai/repo/use-cases/add-a-use-case-and-prove-it.md
  • adopt-an-existing-repositoryAdopt a repository that already has its own rules.ai/repo/use-cases/adopt-an-existing-repository.md
  • block-acceptance-on-an-open-questionBlock acceptance on a question nobody has answered.ai/repo/use-cases/block-acceptance-on-an-open-question.md
  • capture-the-prompts-that-started-the-workKeep the prompts that started the work, below the model rather than around it.ai/repo/use-cases/capture-the-prompts-that-started-the-work.md
  • carry-a-blocker-across-a-handoverHand work over with a question still open, and keep it blocking.ai/repo/use-cases/carry-a-blocker-across-a-handover.md
  • catch-an-agent-that-says-it-is-doneCatch an agent that says it is done when it is not.ai/repo/use-cases/catch-an-agent-that-says-it-is-done.md
  • checkpoint-long-workCheckpoint long work so a stop costs minutes, not the day.ai/repo/use-cases/checkpoint-long-work.md
  • classify-what-belongs-in-the-contextDecide what belongs in the AI context, as data.ai/repo/use-cases/classify-what-belongs-in-the-context.md
  • complete-an-issue-only-with-its-evidenceComplete an issue only when its evidence exists.ai/repo/use-cases/complete-an-issue-only-with-its-evidence.md
  • deliver-issues-in-wavesDeliver issues in waves the graph computes, and take the next one.ai/repo/use-cases/deliver-issues-in-waves.md
  • document-every-directory-of-the-layerRefuse a directory of the layer that documents nothing.ai/repo/use-cases/document-every-directory-of-the-layer.md
  • extend-what-the-executable-servesExtend what the executable serves by adding a file, never by rebuilding it.ai/repo/use-cases/extend-what-the-executable-serves.md
  • find-an-object-without-reading-everythingFind an object of the layer without reading everything.ai/repo/use-cases/find-an-object-without-reading-everything.md
  • find-out-what-driftedFind out what has drifted since anyone last looked.ai/repo/use-cases/find-out-what-drifted.md
  • follow-a-skill-the-repository-definesFollow a procedure the repository defines, and add another one.ai/repo/use-cases/follow-a-skill-the-repository-defines.md
  • gate-ci-on-the-tool-itselfGate CI on the tool itself, with an exit code that is a contract.ai/repo/use-cases/gate-ci-on-the-tool-itself.md
  • hand-the-repository-to-a-readerHand the repository to someone who cannot clone it.ai/repo/use-cases/hand-the-repository-to-a-reader.md
  • hand-work-between-sessionsHand unfinished work to the next session.ai/repo/use-cases/hand-work-between-sessions.md
  • install-the-tool-in-one-commandInstall the tool in one command, on a machine with no toolchain.ai/repo/use-cases/install-the-tool-in-one-command.md
  • keep-decisions-out-of-the-transcriptRecord a decision so the next worker can find it.ai/repo/use-cases/keep-decisions-out-of-the-transcript.md
  • keep-the-bootstrap-thin-and-within-budgetKeep every provider bootstrap thin, generated and within budget.ai/repo/use-cases/keep-the-bootstrap-thin-and-within-budget.md
  • keep-what-an-episode-learnedKeep what an episode learned, without a model and without a conversation.ai/repo/use-cases/keep-what-an-episode-learned.md
  • know-whether-this-work-is-finishedKnow whether the work in this checkout is finished.ai/repo/use-cases/know-whether-this-work-is-finished.md
  • know-which-tool-is-runningCheck the version before trusting a diagnosis.ai/repo/use-cases/know-which-tool-is-running.md
  • let-the-provider-draw-the-episode-boundaryHave the session opened and closed without anybody remembering to.ai/repo/use-cases/let-the-provider-draw-the-episode-boundary.md
  • migrate-from-the-old-layoutMove a repository from the pre-.ai layout to the layer.ai/repo/use-cases/migrate-from-the-old-layout.md
  • open-and-close-a-sessionRecord what one worker did in one sitting.ai/repo/use-cases/open-and-close-a-session.md
  • plan-a-commit-and-judge-its-messageDivide a working tree into commits, and hold every message to a policy.ai/repo/use-cases/plan-a-commit-and-judge-its-message.md
  • plan-the-work-as-dataKeep the plan as milestones and issues the tool can validate.ai/repo/use-cases/plan-the-work-as-data.md
  • prove-a-rule-is-enforcedProve a rule is actually enforced, not merely written down.ai/repo/use-cases/prove-a-rule-is-enforced.md
  • prove-performance-with-benchmarksProve the tool is fast, not assume it, and refuse a regression.ai/repo/use-cases/prove-performance-with-benchmarks.md
  • prove-what-a-task-owed-before-calling-it-doneProve what a task owed before calling it done.ai/repo/use-cases/prove-what-a-task-owed-before-calling-it-done.md
  • read-back-what-happenedRead back what happened, and keep the ledger within its cap.ai/repo/use-cases/read-back-what-happened.md
  • read-only-the-context-that-fitsRead only the context that fits the budget, and know what was dropped.ai/repo/use-cases/read-only-the-context-that-fits.md
  • read-the-rules-the-tool-appliesSee which rules apply here and what enforces them.ai/repo/use-cases/read-the-rules-the-tool-applies.md
  • record-a-decision-before-it-is-forgottenRecord a decision as data, and prove the tool cannot accept it for you.ai/repo/use-cases/record-a-decision-before-it-is-forgotten.md
  • recover-an-episode-nobody-closedClose an episode whose client never came back.ai/repo/use-cases/recover-an-episode-nobody-closed.md
  • resume-from-a-prompt-assetStart a session from a rendered framing, not a pasted transcript.ai/repo/use-cases/resume-from-a-prompt-asset.md
  • resume-in-the-right-worktreeResume in the right worktree, never against somebody else’s task.ai/repo/use-cases/resume-in-the-right-worktree.md
  • run-several-workers-at-onceRun several workers in one repository without them colliding.ai/repo/use-cases/run-several-workers-at-once.md
  • say-what-reached-the-remote-and-what-did-notSay what reached the remote and what did not.ai/repo/use-cases/say-what-reached-the-remote-and-what-did-not.md
  • say-what-the-tool-is-forSay what your work is for, once, and have every surface say it.ai/repo/use-cases/say-what-the-tool-is-for.md
  • see-what-the-repository-holds-without-reading-itSee what the repository holds, and run one of its capabilities, without reading a file.ai/repo/use-cases/see-what-the-repository-holds-without-reading-it.md
  • serve-the-layer-to-ai-clientsServe the repository's AI layer to every AI client through one shared server.ai/repo/use-cases/serve-the-layer-to-ai-clients.md
  • trace-a-change-to-the-context-it-affectsTrace a change to the context documents it affects.ai/repo/use-cases/trace-a-change-to-the-context-it-affects.md
  • trust-the-policy-before-reading-itTrust the policy and the profiles only after they are validated.ai/repo/use-cases/trust-the-policy-before-reading-it.md
  • use-the-tool-as-your-own-in-a-shared-repositoryUse the tool as your own in a shared repository, and propose it to the team when it has made its case.ai/repo/use-cases/use-the-tool-as-your-own-in-a-shared-repository.md
  • work-on-a-branch-in-its-canonical-worktreeWork on a branch in the one worktree it belongs to.ai/repo/use-cases/work-on-a-branch-in-its-canonical-worktree.md
workspace 1
  • chatgpt-majordomusThe Majordomus project in ChatGPT.ai/repo/workspaces/chatgpt-majordomus.yaml

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