|
| 1 | +// SPDX-License-Identifier: CC-BY-SA-4.0 |
| 2 | +// Copyright (c) 2026 Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk> |
| 3 | += Operating Doctrine — Solutions at Source (and its siblings) |
| 4 | +:icons: font |
| 5 | + |
| 6 | +[NOTE] |
| 7 | +==== |
| 8 | +*Status: proposed for owner ratification.* This is a draft companion to the |
| 9 | +manifesto, contributed for the owner to adopt, reword into their own voice, or |
| 10 | +reject. It is not yet canon. The canonical machine-facing summary lives in the |
| 11 | +estate arrival-pack (projected into every `CLAUDE.md`); the canonical prose home |
| 12 | +is `hyperpolymath/standards` (`RSR-PHILOSOPHY.adoc`). This file is where the |
| 13 | +manifesto would state the same doctrine in the owner's register. |
| 14 | +==== |
| 15 | + |
| 16 | +The manifesto's three pillars — machine-readable governance, neurosymbolic |
| 17 | +verification, post-disciplinary praxis — describe *what the estate is for*. The |
| 18 | +operating doctrine describes *how work is actually undertaken* within it. Three |
| 19 | +principles carry most of that weight, because each names a trap that fluent, |
| 20 | +plausible work falls into. |
| 21 | + |
| 22 | +== Solutions at source |
| 23 | + |
| 24 | +Fix the canonical, upstream origin of a problem — never patch the downstream |
| 25 | +symptom. A defect that appears in many places is almost never many problems; it |
| 26 | +is one problem at a source, expressed many times. Patching the copies while |
| 27 | +leaving the source untouched guarantees the problem returns, and makes it look |
| 28 | +solved. |
| 29 | + |
| 30 | +This is the same instinct the manifesto applies to value itself: do not assert |
| 31 | +the surface, structure the thing that produces it. A symptom patched in isolation |
| 32 | +is a value backed by authority — _it looks fixed, trust me_ — where a source fixed |
| 33 | +with its up- and down-streams accounted for is a value justified by the |
| 34 | +construction that produced it. So the principle carries two obligations: |
| 35 | + |
| 36 | +* *Find the source* — trace the problem to where it is actually defined (the |
| 37 | + template, the generator, the canon) and fix it there. The estate's shape, |
| 38 | + `standards → rsr-template-repo → (every repo)`, makes that locus explicit. |
| 39 | +* *Mind every up- and down-stream* — a change at a source propagates; know what |
| 40 | + feeds it and what depends on it, and make the change safe across all of them. A |
| 41 | + fix that breaks a downstream consumer is not yet a fix. |
| 42 | + |
| 43 | +Where a source cannot be reached in one pass, remediate the downstream _and_ |
| 44 | +record the source fix as work still owed — never let the patch masquerade as the |
| 45 | +cure. |
| 46 | + |
| 47 | +== Holes before goals |
| 48 | + |
| 49 | +Fix soundness holes before features, optimisation, or documentation. A hole is |
| 50 | +anywhere the system can be wrong without saying so. Let the holes set the agenda; |
| 51 | +a goal reached on top of a hole is not reached. |
| 52 | + |
| 53 | +== Always fail loudly |
| 54 | + |
| 55 | +No silent green. A check that cannot fail is not a check; a fallback that hides a |
| 56 | +broken precondition is a forged result — the exact category error the second |
| 57 | +pillar rejects, fluency mistaken for proof. Prefer a build that breaks to a build |
| 58 | +that lies. |
| 59 | + |
| 60 | +== Relation to the canon |
| 61 | + |
| 62 | +* `hyperpolymath/standards` — `RSR-PHILOSOPHY.adoc`, the canonical prose source. |
| 63 | +* `hyperpolymath/rsr-template-repo` — `RSR-PHILOSOPHY.adoc` plus the arrival-pack |
| 64 | + that projects the Doctrine summary into every repository's `CLAUDE.md`. |
0 commit comments