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.
Every directory of the layer carries a context document unless the contract governing it exempts its children, every document carries the contract with a unique identity, every reference resolves within its ancestor chain, no final document is superseded, no descendant weakens what an ancestor requires, and the effective context for any path is computed from the tree root down in one deterministic order.
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.
- Enforced
- dispatched · context
- Depends on
- none
- Required by
- none
What proves it
| Test | State | What that means |
|---|---|---|
| test/cases/69_context_documents.sh | proven | A passing run, and nothing in the repository has changed since it — the tree in front of you is the tree the run measured. |
rules.show901 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.report315 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.report315 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.report315 msAPI/api/v1/rulesCLImajordomus rules reportMCPmajordomus_rulestechnical view