Governance
Rules that are proven, not only declared.
Every rule of the repository, what proves it — a validator, a test, a gate — and whether that proof ran and passed.
- Verdictunprovenrules.report /verdict
- Rules187rules.report /coverage/rules
- Blocking159rules.report /coverage/blocking
- Gated165rules.report /coverage/gated
- Findings0rules.report /findings
Rule
One rule of the repository, with what proves it and what is still missing.
The Prismatic name is the only thing carried from anywhere else: no internal paths, hostnames, component names, doctrine vocabulary or quotations.
This rule declares that nothing executable can express it and gives its reason. A reader enforces it. That is a weaker guarantee than any gate, and it is counted apart from every rule that has one.
- Enforced
- reviewed · no validator
- Gates
- none
- Depends on
- none
- Required by
- none
- Declared in
- .ai/repo/rules/project/clean-room.v1.md
What proves it
It names no test.
To prove it
Nothing here is broken: this rule declares that no program can express it and says why. If that ever stops being true, name the case and the declaration falls away on its own.rules.show898 msAPI/api/v1/rules/ruleCLImajordomus rules showMCPmajordomus_ruletechnical view
Proof states
How far each rule's proof reaches, counted by the report.
- gated37
- proven128
- reviewed12
- unproven10
rules.report149 msAPI/api/v1/rulesCLImajordomus rules reportMCPmajordomus_rulestechnical view
Coverage
The rules by class and by what proves them; the classes overlap, so they are listed, not summed.
- rules
- 187
- blocking
- 159
- advisory
- 28
- named proof
- 165
- artifacts present
- 165
- runnable
- 160
- recorded
- 123
- passing
- 128
- gated
- 165
- mechanism only
- 37
- review only
- 12
- satisfied
- 187
rules.report149 msAPI/api/v1/rulesCLImajordomus rules reportMCPmajordomus_rulestechnical view
Rules
Every rule with the state of its proof.
| Rule | Proof | What that means |
|---|---|---|
| majordomus.adr-integrityArchitecture decision integrity | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| majordomus.ai-layout-integrityAI layer integrity | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| majordomus.blocker-resolutionBlocker resolution | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| majordomus.bootstrap-integrityBootstrap integrity | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| majordomus.candidates-reviewedCandidates are reviewed | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| majordomus.catalogue-integrityCatalogue integrity | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| majordomus.checkpoint-freshnessCheckpoint freshness | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| majordomus.command-coverageEvery public command is exercised and refuted | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| majordomus.command-surfaceThe command surface is declared and reconciled | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| majordomus.completion-gatesCompletion is gated | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| majordomus.context-budgetContext budget | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| majordomus.context-integrityContext integrity | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| majordomus.dag-integrityDependency graph integrity | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| majordomus.decision-recordsDecision records | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| majordomus.decision-thresholdThe decision threshold | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| majordomus.define-done-firstDefine done before executing | unproven | This rule names neither a validator nor a test. |
| majordomus.deployment-contractA deployment is described once, and every artifact built from it is generated from it | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| majordomus.depth-is-not-verbosityExecution depth is not output verbosity | unproven | This rule names neither a validator nor a test. |
| majordomus.doctrine-wiring-integrityDoctrine wiring integrity | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| majordomus.enforcement-wiringEnforcement wiring | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| majordomus.externalise-decisionsExternalise decisions and durable state | unproven | This rule names neither a validator nor a test. |
| majordomus.handover-integrityHandover integrity | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| majordomus.handovers-carry-stateHandovers transfer state, not transcripts | unproven | This rule names neither a validator nor a test. |
| majordomus.isolated-parallelismParallel work requires isolation | unproven | This rule names neither a validator nor a test. |
| majordomus.justified-escalationEscalate capability and effort only when justified | unproven | This rule names neither a validator nor a test. |
| majordomus.knowledge-graphKnowledge graph integrity | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| majordomus.knowledge-integrityKnowledge integrity | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| majordomus.knowledge-observedKnowledge observation | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| majordomus.layout-integrityLayout integrity | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| majordomus.ledger-integrityLedger integrity | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| majordomus.lifecycle-observedLifecycle observation | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| majordomus.minimum-sufficient-contextLoad minimum sufficient context | unproven | This rule names neither a validator nor a test. |
| majordomus.note-integrityNote integrity | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| majordomus.obligation-closureObligation closure | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| majordomus.one-worker-one-scopeOne worker, one clear scope | unproven | This rule names neither a validator nor a test. |
| majordomus.policy-completenessPolicy completeness | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| majordomus.policy-integrityPolicy integrity | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| majordomus.profile-requirementsProfile requirements | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| majordomus.project-integrityProject model integrity | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| majordomus.projection-integrityProjection integrity | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| majordomus.prompt-capturePrompt capture is proven, or reported unavailable | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| majordomus.prompt-continuityA prompt record carries its own identity, is bounded, and is private | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| majordomus.prompt-integrityPrompt integrity | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| majordomus.publication-currencyA session does not finish behind its own published site | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| majordomus.questions-store-integrityQuestions store integrity | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| majordomus.record-changed-filesA record's changed_files names the work, not the tool's exhaust | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| majordomus.retention-capsRetention caps | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| majordomus.roadmap-integrityThe roadmap is a projection, never a document | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| majordomus.rule-package-integrityRule package integrity | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| majordomus.schema-integrityEvery object has a schema, and the rules resolve in one stated order | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| majordomus.scope-integrityScope integrity | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| majordomus.session-lifecycleThe episode boundary is drawn below the model, and its working context is local | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| majordomus.session-recordsSession records are shared objects with a closed field set | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| majordomus.sessions-are-workersSessions are workers, not memory | unproven | This rule names neither a validator nor a test. |
| majordomus.skill-integritySkill integrity | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| majordomus.state-consistencyState consistency | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| majordomus.task-continuityTask continuity | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| majordomus.task-on-the-meshA task on a repository whose mesh is enabled works on the mesh | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| majordomus.use-case-coverageUse-case coverage | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| majordomus.verification-integrityVerification integrity | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| majordomus.verify-outcomesVerify outcomes, not activity | unproven | This rule names neither a validator nor a test. |
| project.a-brief-is-kept-as-receivedA campaign brief this repository keeps is the one it was handed | gated | An executable check refuses violations of this rule, and a CI gate runs it. That is the mechanism; this repository records no verdict for a gate, so what can be shown is that violations are refused and not that the last run passed. |
| project.a-build-never-waits-in-silence-on-anothers-lockA build never waits in silence behind another build's lock | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.a-closing-question-is-answered-by-measurementWhether the work is done is answered by measurement, never by the worker's recollection | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.a-derive-offload-waits-its-turnA derive offloaded to another machine goes through the declared hosts and waits its turn in their queue | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.a-derive-sees-what-the-commit-willA derive sees what the commit will | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.a-diagram-is-drawn-not-typedAn architectural relationship in a published document is drawn, never typed in box art | gated | An executable check refuses violations of this rule, and a CI gate runs it. That is the mechanism; this repository records no verdict for a gate, so what can be shown is that violations are refused and not that the last run passed. |
| project.a-failed-read-is-not-an-empty-answerA source that did not answer is not a source with nothing in it | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.a-number-names-one-caseA case number names one case | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.a-personal-layer-changes-nothing-sharedA personal layer changes nothing shared | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.a-plan-carries-the-intent-it-servesA plan carries the intent it serves, and is reviewed before it is executed | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.a-producer-declares-what-it-writesThe program that writes into the checkout says what it wrote, and whoever measures the tree reads that | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.a-provider-capability-cites-its-evidenceA provider capability is declared once, with the citation it was verified from | gated | An executable check refuses violations of this rule, and a CI gate runs it. That is the mechanism; this repository records no verdict for a gate, so what can be shown is that violations are refused and not that the last run passed. |
| project.a-push-runs-what-ci-would-find-firstA push runs what CI would find first | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.a-standing-approval-is-written-where-permissions-are-readA standing approval is written where the permission layer reads it | reviewed | This rule declares that nothing executable can express it and gives its reason. A reader enforces it. That is a weaker guarantee than any gate, and it is counted apart from every rule that has one. |
| project.a-tool-that-cannot-match-the-tree-refusesA generator that cannot match the tree refuses rather than rewriting it | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.a-verdict-states-its-subjectA verdict states what it is a verdict about | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.a-worker-that-stops-leaves-its-work-behindA worker that stops leaves its work where somebody else can find it | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.accumulation-is-measuredEverything that accumulates is measured, bounded and reaped by a committed command | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.advisors-are-optionalAdvisors are optional; reasoning, governance and CI never depend on one | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.an-expedited-landing-is-the-owners-wordAn expedited landing is the owner's word, judged on the merged tree, and never reaches a tag | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.an-intent-outlives-its-sessionsAn intent outlives the sessions and providers that realise it, and closed work does not outrank evidence | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.benchmarkable-commandsEvery public command is benchmarkable from the registry | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.blocking-checks-cheapBlocking checks are deterministic and cheap | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.cache-is-invisibleA cache never changes what a command observes | reviewed | This rule declares that nothing executable can express it and gives its reason. A reader enforces it. That is a weaker guarantee than any gate, and it is counted apart from every rule that has one. |
| project.canonical-orderA collection has one order, owned by one place, and it does not depend on who ran the command | gated | An executable check refuses violations of this rule, and a CI gate runs it. That is the mechanism; this repository records no verdict for a gate, so what can be shown is that violations are refused and not that the last run passed. |
| project.clean-roomClean room | reviewed | This rule declares that nothing executable can express it and gives its reason. A reader enforces it. That is a weaker guarantee than any gate, and it is counted apart from every rule that has one. |
| project.commands-are-projectionsA command is declared once, and every surface that shows it is a projection | gated | An executable check refuses violations of this rule, and a CI gate runs it. That is the mechanism; this repository records no verdict for a gate, so what can be shown is that violations are refused and not that the last run passed. |
| project.commands-run-non-interactivelyA command runs with nobody at the keyboard | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.completion-never-decides-satisfactionCompletion discharges obligations and never decides whether an intent is satisfied | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.context-localityContext locality | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.conventional-commitsA commit message is a value this repository judges, not a convention it hopes for | gated | An executable check refuses violations of this rule, and a CI gate runs it. That is the mechanism; this repository records no verdict for a gate, so what can be shown is that violations are refused and not that the last run passed. |
| project.derived-files-regeneratedDerived files are regenerated, never edited | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.derived-onceDerived state is computed once per state version | reviewed | This rule declares that nothing executable can express it and gives its reason. A reader enforces it. That is a weaker guarantee than any gate, and it is counted apart from every rule that has one. |
| project.design-tokens-declared-onceThe design is one typed declaration and every first-party surface consumes its projections | gated | An executable check refuses violations of this rule, and a CI gate runs it. That is the mechanism; this repository records no verdict for a gate, so what can be shown is that violations are refused and not that the last run passed. |
| project.destructive-sweeps-fail-closedA sweep that deletes fails closed on what it could not read | reviewed | This rule declares that nothing executable can express it and gives its reason. A reader enforces it. That is a weaker guarantee than any gate, and it is counted apart from every rule that has one. |
| project.development-semantics-are-canonicalDevelopment semantics live in the canonical runtime; a surface only consumes them | gated | An executable check refuses violations of this rule, and a CI gate runs it. That is the mechanism; this repository records no verdict for a gate, so what can be shown is that violations are refused and not that the last run passed. |
| project.diagnostics-decide-the-exitA return code is not the diagnostic channel | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.distribution-canonicalDistribution has one canonical model | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.empty-is-not-failureAn empty result and a failed command must not look alike | reviewed | This rule declares that nothing executable can express it and gives its reason. A reader enforces it. That is a weaker guarantee than any gate, and it is counted apart from every rule that has one. |
| project.english-onlyEnglish only | gated | An executable check refuses violations of this rule, and a CI gate runs it. That is the mechanism; this repository records no verdict for a gate, so what can be shown is that violations are refused and not that the last run passed. |
| project.entities-are-routableEvery object of the layer has an address of its own, and every kind says where it is published | gated | An executable check refuses violations of this rule, and a CI gate runs it. That is the mechanism; this repository records no verdict for a gate, so what can be shown is that violations are refused and not that the last run passed. |
| project.entry-convergesEntering the repository converges on a server, by either door, without anything to remember | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.entry-reports-only-evidenceEntering the repository reports only what evidence proves | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.envrc-is-an-adapterThe shell entry point is an adapter, and it makes one call | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.episode-record-carries-its-episodeAn episode record carries its episode | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.every-domain-is-a-skillEvery domain of the registry is a skill, derived and shown wherever skills are | gated | An executable check refuses violations of this rule, and a CI gate runs it. That is the mechanism; this repository records no verdict for a gate, so what can be shown is that violations are refused and not that the last run passed. |
| project.every-link-and-control-is-testedEvery link the site publishes resolves, and every control on it does what a spec says | gated | An executable check refuses violations of this rule, and a CI gate runs it. That is the mechanism; this repository records no verdict for a gate, so what can be shown is that violations are refused and not that the last run passed. |
| project.every-wait-is-boundedEvery wait is bounded | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.execution-events-are-typedA long operation reports typed events, and a transport only renders them | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.execution-state-is-authoritativeExecution state is authoritative and the terminal is not | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.executions-carry-no-secretA sensitive value never enters an execution | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.finding-carries-reproduceEvery finding carries a reproduce command | gated | An executable check refuses violations of this rule, and a CI gate runs it. That is the mechanism; this repository records no verdict for a gate, so what can be shown is that violations are refused and not that the last run passed. |
| project.generated-artifacts-are-typedA generated artifact declares its document, its encoding, its contract and its source | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.github-projection-gatedThe GitHub projection is checked by a gate, not by somebody remembering to run it | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.homepage-tells-a-declared-storyThe homepage tells the story its declaration names, in that order, and the site is indexed by one declared policy | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.hot-path-reads-onceA command reads each canonical file at most once | reviewed | This rule declares that nothing executable can express it and gives its reason. A reader enforces it. That is a weaker guarantee than any gate, and it is counted apart from every rule that has one. |
| project.independent-of-prismaticIndependent of Prismatic | gated | An executable check refuses violations of this rule, and a CI gate runs it. That is the mechanism; this repository records no verdict for a gate, so what can be shown is that violations are refused and not that the last run passed. |
| project.integration-follows-the-current-masterPull requests are integrated one at a time, each decided against the current master, never around the branch protection | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.interfaces-are-projectionsExternal interfaces are projections of one capability definition | gated | An executable check refuses violations of this rule, and a CI gate runs it. That is the mechanism; this repository records no verdict for a gate, so what can be shown is that violations are refused and not that the last run passed. |
| project.land-and-publishWork lands often and small, and what is published is master and only master | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.mesh-cooperation-is-authenticatedMesh cooperation is admitted per link, replicated through one journal, and projected by every surface alike | gated | An executable check refuses violations of this rule, and a CI gate runs it. That is the mechanism; this repository records no verdict for a gate, so what can be shown is that violations are refused and not that the last run passed. |
| project.mesh-is-observation-not-authorityThe mesh observes nodes; it authorizes nothing and holds one registry | gated | An executable check refuses violations of this rule, and a CI gate runs it. That is the mechanism; this repository records no verdict for a gate, so what can be shown is that violations are refused and not that the last run passed. |
| project.native-cli-documentedA native command line command exists only with its documentation and its executable examples | gated | An executable check refuses violations of this rule, and a CI gate runs it. That is the mechanism; this repository records no verdict for a gate, so what can be shown is that violations are refused and not that the last run passed. |
| project.navigation-is-declared-onceThe site's navigation is declared once, and every projection derives from that declaration | gated | An executable check refuses violations of this rule, and a CI gate runs it. That is the mechanism; this repository records no verdict for a gate, so what can be shown is that violations are refused and not that the last run passed. |
| project.never-author-identityNever author identity fields | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.never-reported-is-not-greenA verdict that never arrived is not a verdict | reviewed | This rule declares that nothing executable can express it and gives its reason. A reader enforces it. That is a weaker guarantee than any gate, and it is counted apart from every rule that has one. |
| project.never-store-transcriptsNever store or summarise transcripts | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.new-code-is-coveredNew and changed executable code is covered by a test; legacy debt may only shrink | gated | An executable check refuses violations of this rule, and a CI gate runs it. That is the mechanism; this repository records no verdict for a gate, so what can be shown is that violations are refused and not that the last run passed. |
| project.no-claim-without-testNo claim without a test | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.no-counts-in-proseNo counts in prose | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.no-machine-pathsNothing this repository commits names a path of the machine it was written on | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.no-network-no-evalNo network, no telemetry, no eval, no silent overwrite, no recursive deletion | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.no-new-nounsNo new nouns | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.no-plan-stamp-without-its-eventNo plan stamp without its event | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.no-screen-waits-for-a-sourceA screen shows the latest reading of its sources at once, and never waits for a handler | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.one-derive-at-a-timeOne derive at a time per machine, and a stopped derive leaves no orphans | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.operation-transport-parityA command is the projection of a capability, or it says why it is not, and the reason is checked | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.optional-complexityComplexity is optional, not ambient | reviewed | This rule declares that nothing executable can express it and gives its reason. A reader enforces it. That is a weaker guarantee than any gate, and it is counted apart from every rule that has one. |
| project.packs-carry-only-sourcesA pack that leaves the machine carries only committed sources | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.performance-evidenceA performance claim carries its measurement | reviewed | This rule declares that nothing executable can express it and gives its reason. A reader enforces it. That is a weaker guarantee than any gate, and it is counted apart from every rule that has one. |
| project.portable-shellPortable shell | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.product-surface-derivedWhat the product does is a catalogue object, and every public surface of it is derived | gated | An executable check refuses violations of this rule, and a CI gate runs it. That is the mechanism; this repository records no verdict for a gate, so what can be shown is that violations are refused and not that the last run passed. |
| project.prose-states-no-versionProse describes the tool as it stands, without a version label | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.provider-support-is-declaredWhat a provider's adapter can do is declared, never observed from the filesystem | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.providers-are-dataWhat the tool knows about a provider is declared once and projected everywhere | gated | An executable check refuses violations of this rule, and a CI gate runs it. That is the mechanism; this repository records no verdict for a gate, so what can be shown is that violations are refused and not that the last run passed. |
| project.published-evidence-is-what-ci-recordedA published UI shows the evidence CI recorded, never "not run" for what CI ran | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.reclaim-only-what-you-ownA worker reclaims only what it owns | reviewed | This rule declares that nothing executable can express it and gives its reason. A reader enforces it. That is a weaker guarantee than any gate, and it is counted apart from every rule that has one. |
| project.recovery-is-idempotentRecovery looks before it repeats | reviewed | This rule declares that nothing executable can express it and gives its reason. A reader enforces it. That is a weaker guarantee than any gate, and it is counted apart from every rule that has one. |
| project.release-is-a-projectionThe changelog is composed, and the version is authored once | gated | An executable check refuses violations of this rule, and a CI gate runs it. That is the mechanism; this repository records no verdict for a gate, so what can be shown is that violations are refused and not that the last run passed. |
| project.review-is-recorded-not-claimedIndependent review is a recorded fact, weighed by evidence, never claimed and never counted | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.rule-is-a-doctrineA new enforced rule is a doctrine, not an inline check | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.rust-benchmark-coverageNo endpoint of the Rust executable without a benchmark, and no number without evidence | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.rust-canonical-declarationOne canonical declaration; modules compose capabilities; the root composes modules | gated | An executable check refuses violations of this rule, and a CI gate runs it. That is the mechanism; this repository records no verdict for a gate, so what can be shown is that violations are refused and not that the last run passed. |
| project.rust-cli-evidenceThe Rust executable carries its evidence with it | gated | An executable check refuses violations of this rule, and a CI gate runs it. That is the mechanism; this repository records no verdict for a gate, so what can be shown is that violations are refused and not that the last run passed. |
| project.rust-command-tested-in-fileA command asserts in the file that declares it that it is what it claims, and is composed rather than registered | gated | An executable check refuses violations of this rule, and a CI gate runs it. That is the mechanism; this repository records no verdict for a gate, so what can be shown is that violations are refused and not that the last run passed. |
| project.rust-hot-pathA request never rebuilds canonical state, and a cache is never trusted without an equivalence test | gated | An executable check refuses violations of this rule, and a CI gate runs it. That is the mechanism; this repository records no verdict for a gate, so what can be shown is that violations are refused and not that the last run passed. |
| project.rust-public-api-qualityEvery exported Rust item explains itself, shows itself running, and is exercised by something | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.scope-is-declaredWhat a worker reads is declared once, and nothing outside it is read or served | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.session-continuity-is-portableSession continuity is portable, and what is portable is checked | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.shared-server-resilienceNothing a client leaves behind locks another client out | gated | An executable check refuses violations of this rule, and a CI gate runs it. That is the mechanism; this repository records no verdict for a gate, so what can be shown is that violations are refused and not that the last run passed. |
| project.skills-are-proven-capabilitiesA skill is a capability only when something proves it | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.ssh-key-access-is-preauthorizedOwner-authorized SSH access persists across clients | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.tests-run-in-disposable-reposTests run in disposable repositories | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.the-briefing-is-checked-against-gitThe briefing an episode opened with is compared against git before it is believed | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.the-cooperation-model-is-the-owners-wordWork moves through seats held as mesh claims, lands in combined tops, and every checkout is kept current | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.the-crate-reference-is-publishedGenerated reference documentation is part of documentation closure, from its source to its public URL | gated | An executable check refuses violations of this rule, and a CI gate runs it. That is the mechanism; this repository records no verdict for a gate, so what can be shown is that violations are refused and not that the last run passed. |
| project.the-handbook-is-built-from-the-treeThe handbook is built from the tree it describes, and a chapter names what it rests on | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.the-lease-is-read-onceThe shared server's lease has one reader | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.the-projection-is-applied-at-landingA landing that changes what GitHub shows applies the change itself | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.the-published-ui-is-the-trunksThe 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 | gated | An executable check refuses violations of this rule, and a CI gate runs it. That is the mechanism; this repository records no verdict for a gate, so what can be shown is that violations are refused and not that the last run passed. |
| project.the-server-sees-the-current-treeA long-lived process serves the repository as it is, never as it was when it started | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.the-session-context-is-derivedA working context is derived, not stored | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.the-site-offers-the-release-it-publishedThe site offers the release that was published, on every surface at once | gated | An executable check refuses violations of this rule, and a CI gate runs it. That is the mechanism; this repository records no verdict for a gate, so what can be shown is that violations are refused and not that the last run passed. |
| project.the-ui-wears-the-sites-navbarmajordomus.dev is the reference for how the product looks, and every page of the UI and the Cockpit wears the site's own navbar | gated | An executable check refuses violations of this rule, and a CI gate runs it. That is the mechanism; this repository records no verdict for a gate, so what can be shown is that violations are refused and not that the last run passed. |
| project.the-version-is-measuredThe version is measured against the public surface, not claimed | gated | An executable check refuses violations of this rule, and a CI gate runs it. That is the mechanism; this repository records no verdict for a gate, so what can be shown is that violations are refused and not that the last run passed. |
| project.ui-conformanceEvery page of every web surface is audited, and the audit names no page | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.ui-derived-stateAn interface shows only what is derived, and unknown is never drawn as healthy | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.unknown-keys-are-errorsUnknown configuration keys are errors | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.use-case-evidenceA use case is proved by execution, and a capability is covered by a use case | gated | An executable check refuses violations of this rule, and a CI gate runs it. That is the mechanism; this repository records no verdict for a gate, so what can be shown is that violations are refused and not that the last run passed. |
| project.web-surface-declared-onceA web surface is declared once and every web projection is derived from it | gated | An executable check refuses violations of this rule, and a CI gate runs it. That is the mechanism; this repository records no verdict for a gate, so what can be shown is that violations are refused and not that the last run passed. |
| project.web-surface-topologyA web surface is discovered from its producer, never registered twice | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.why-catalogue-is-canonicalAn operational failure mode is a catalogue object, never a page | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.work-is-claimed-before-it-is-builtWhat already claims a path is checked before that path is built | gated | An executable check refuses violations of this rule, and a CI gate runs it. That is the mechanism; this repository records no verdict for a gate, so what can be shown is that violations are refused and not that the last run passed. |
| project.work-serves-a-declared-intentWork serves a declared intent, and an intent is satisfied only by evidence | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
| project.worktree-topologyA branch's worktree is at <repo>-wt/<branch>, derived from git, never registered | gated | An executable check refuses violations of this rule, and a CI gate runs it. That is the mechanism; this repository records no verdict for a gate, so what can be shown is that violations are refused and not that the last run passed. |
| project.worktrees-share-build-intermediatesWorktrees share what cargo compiles on the way, and never the finished artifact | proven | Everything this rule names is in the tree, and every test it names has a passing run that nothing in the repository has changed since. |
rules.report149 msAPI/api/v1/rulesCLImajordomus rules reportMCPmajordomus_rulestechnical view