Skip to content

Commit 46cad74

Browse files
docs: propose operating-doctrine companion (solutions at source) (#49)
**Proposed for owner ratification — not yet canon.** Owner-gated manifesto; this PR is a clearly-marked *proposal* to adopt, reword, or reject. Adds `docs/RSR-PHILOSOPHY.adoc`: the operating doctrine vs the three pillars — **'solutions at source'** (fix the canonical origin, never the downstream symptom; mind every up/downstream), with *holes before goals* and *fail loudly*. Companions: standards#444 (canonical) + rsr-template-repo#130 (template + arrival-pack source). Landing it required fixing the repo's local pre-commit hook (it demanded MPL-2.0 on `.adoc`, rejecting CC-BY-SA-4.0 docs — inconsistent with the repo's own ROADMAP/EXPLAINME). Fixed to the file-type SPDX split `standards` uses; the gate was *satisfied, not bypassed*. The durable fix is the pending standards hook rollout. ⚠️ **Un-armed** — owner ratification only. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
1 parent f1773ed commit 46cad74

1 file changed

Lines changed: 64 additions & 0 deletions

File tree

docs/RSR-PHILOSOPHY.adoc

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
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

Comments
 (0)