Skip to content

Commit bcee2bf

Browse files
hyperpolymathclaude
andcommitted
docs: add RSR-PHILOSOPHY.adoc — canonical 'solutions at source' doctrine
Canonical prose home for the estate operating doctrine. States 'solutions at source' (fix the canonical/upstream origin, never the downstream symptom; mind every up/downstream) alongside 'holes before goals' and 'fail loudly'. The arrival-pack projects the terse Doctrine summary into every CLAUDE.md; this is the source of truth rsr-template-repo operationalises and manifesto voices. Left un-armed for owner ratification (Doctrine is DRAFT-unratified). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1 parent 8dc2bf0 commit bcee2bf

1 file changed

Lines changed: 78 additions & 0 deletions

File tree

RSR-PHILOSOPHY.adoc

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
// SPDX-License-Identifier: CC-BY-SA-4.0
2+
// SPDX-FileCopyrightText: 2026 Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
3+
= RSR Philosophy — The Estate's Operating Doctrine (canonical)
4+
:toc: preamble
5+
:icons: font
6+
7+
[.lead]
8+
This is the *canonical* statement of the operating principles every hyperpolymath
9+
repository is worked under. It is the source that `rsr-template-repo` operationalises
10+
and that the estate arrival-pack projects, in summary form, into the top of every
11+
`CLAUDE.md`. The owner's `manifesto` states the same doctrine in its own voice;
12+
where wording must be reconciled, the manifesto prevails.
13+
14+
The principles are deliberately few and blunt. They describe not only *what* good
15+
work is but the *order* and *manner* in which it is undertaken.
16+
17+
== Solutions at source
18+
19+
*Fix the canonical, upstream origin of a problem — never patch the downstream
20+
symptom.*
21+
22+
When a defect, a drift, or a wrong setting appears in many places, it is almost
23+
never many problems: it is one problem at a source, expressed many times.
24+
Remediating the copies while leaving the source untouched guarantees the problem
25+
returns — and worse, makes it look solved. The estate's own shape makes the source
26+
explicit: `standards → rsr-template-repo → (every repo)`. A fix that belongs at the
27+
template does not belong, hand-applied, in hundreds of leaves.
28+
29+
Two obligations follow, and neither is optional:
30+
31+
. *Find the source.* Before acting, trace the thing back to where it is actually
32+
defined — the template, the generator, the canon, the single point everything
33+
else inherits from — and fix it there.
34+
. *Be mindful of every up- and down-stream.* A change at a source propagates.
35+
Before making it, know what feeds the thing you are changing (upstream) and what
36+
depends on it (downstream), and ensure the change is safe across all of them. A
37+
correct fix that breaks a downstream consumer is not yet a fix.
38+
39+
Where the source genuinely cannot be reached in one pass — an upstream you do not
40+
own, a change gated on owner ratification — remediate the downstream *and* record
41+
the source fix as the real work still owed. Silently patching the symptom as if it
42+
were the cure is itself a soundness hole (see _fail loudly_).
43+
44+
This principle stands beside its two siblings: *holes before goals* and *always
45+
fail loudly*. Together they govern the order of work (holes first), the manner of
46+
work (loudly, never silently green), and the locus of work (at the source, never
47+
the symptom).
48+
49+
== Holes before goals
50+
51+
Fix soundness holes before features, optimisation, or documentation. A hole is
52+
anywhere the system can be wrong without saying so. Goals are everything one would
53+
rather be doing. Let the holes set the agenda — a goal reached on top of a hole is
54+
not reached.
55+
56+
== Always fail loudly
57+
58+
No silent green. A check that cannot fail is not a check; a fallback that hides a
59+
broken precondition is a forged result. Seams (ABI / FFI) are sealed and proven,
60+
not assumed. Prefer a build that breaks to a build that lies.
61+
62+
== The full Doctrine
63+
64+
The complete, always-current operating Doctrine is maintained as estate-common
65+
content in the arrival-pack and projected into every repository's `CLAUDE.md`. In
66+
addition to the three principles above it holds: ground-truth by running the tool,
67+
not trusting status docs; distrust the neural for exactness (licences, invariants,
68+
equivalence belong to PLASMA, not an LLM); squabble, don't bypass (reach green by
69+
satisfying the gate, never by admin-override); no automated licence edits; no
70+
deletion by access-recency; wire first; always sign; report faithfully (no
71+
overclaim); stop-first on costly or outward-facing actions; boundaries are real;
72+
and equivalence as identity.
73+
74+
== See also
75+
76+
* `hyperpolymath/manifesto` — the doctrine in the owner's voice.
77+
* `hyperpolymath/rsr-template-repo` — `RSR-PHILOSOPHY.adoc` and the arrival-pack
78+
that projects the Doctrine summary into every `CLAUDE.md`.

0 commit comments

Comments
 (0)