Skip to content

Commit 88a0715

Browse files
Add intent-is-the-source-of-truth principle; align README-Driven Context
1 parent 72f8720 commit 88a0715

2 files changed

Lines changed: 7 additions & 1 deletion

File tree

src/docs/Ways-of-Working/Principles/Engineering-Practices.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,12 @@ Documentation describes the system as it **is**, in the present tense — not th
4747

4848
This governs this site, every README, and every specification — and it is why a pull request description states what the change *contributes*, not the steps taken to produce it.
4949

50+
## Intent is the source of truth
51+
52+
The documented intent that lives in the default branch — the specs, the docs, the issue descriptions — is the source of truth for what the system is meant to be. The implementation is a *representation* of that intent: the running code is what the system currently is, not necessarily what it should be.
53+
54+
Either can be wrong. The intent may be mistaken, stale, or unclear; the implementation may have drifted from a correct intent. So when the two disagree, do not assume which is at fault — **diagnose it**: is the intent wrong (fix the doc, spec, or issue), or is the implementation wrong (fix the code)? Update whichever is wrong so the two converge again. A mismatch is a signal to reconcile, not a reason to silently trust the code or blindly rewrite the doc.
55+
5056
## Test-driven development
5157

5258
Define the tests when you define the behavior. Update them when behavior changes. Tests are the executable specification.

src/docs/Ways-of-Working/Readme-Driven-Context.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ The README is the **evergreen context document** for every repository in the MSX
1212
- **The README is the front door.** Anyone — human or agent — encountering the repository for the first time should understand the purpose, scope, and current capabilities from the README without reading source code.
1313
- **The README is evergreen.** It is a living document that always reflects the current state of the repository. When functionality is added, changed, or removed, the README is updated in the same unit of work.
1414
- **Documentation is not optional.** A feature that is not documented in the README is effectively invisible. Updating the README is part of completing the work, not a follow-up task.
15-
- **The README is authoritative.** If the README and the code disagree, the README is out of date and must be corrected — but it remains the intended source of truth.
15+
- **The README is authoritative, but not automatically right.** It is the intended source of truth, yet a README can be wrong just as code can. When the README and the code disagree, [diagnose which is wrong](Principles/Engineering-Practices.md#intent-is-the-source-of-truth) — correct the README if the intent drifted, or fix the code if it diverged — so the two converge.
1616

1717
## What belongs in the README
1818

0 commit comments

Comments
 (0)