Skip to content

docs(guarantees): rewrite as design principles - #192

Merged
willkg merged 6 commits into
mainfrom
design-principles
Sep 23, 2026
Merged

willkg merged 6 commits into
mainfrom
design-principles

Conversation

@willkg

@willkg willkg commented Sep 23, 2026 •

Copy link
Copy Markdown
Member

Fixes #191. Implements _plans/048.

docs/guarantees.md becomes docs/design-principles.md, titled "Design principles". The rename reverses the plan's D6; every live reference is updated, and plans keep the old name as history. Each entry is a statement with Why, Rules out, and, only for a deliberate trade-off, Accepts. There are no statuses, enforcement notes, or history, so the file changes only when a principle changes. Gaps between a principle and the code are issues (#184, #185, #186). Ids and labels are unchanged.

  • The no-markfluence.yaml trade-off is an Accepts under S8 and L4.
  • L5 is reworded to what it always meant: the page keeps its meaning, and the Markdown is a fixed point. The byte-level measurement behind that moves to docs/confluence/storage-format.md.
  • The symlink measurements move into code comments beside project.Root.FS and linkindex.Build.
  • CLAUDE.md, the README, and a few code and test comments stop citing statuses. CLAUDE.md's id ranges were also stale.

Commits: the rewrite, the reference updates, fixes from a review pass that found several statements reading wider than intended once their enforcement notes were gone (S1, S3, S7, L2), and the rename.

Replaces the status-tracking shape with principles, per _plans/048. Each
entry is a statement with Why, Rules out, and (only for a deliberate
trade-off) Accepts. There are no statuses, enforcement notes, or history,
so the file changes only when a principle changes. Gaps between a
principle and the code are issues: #184, #185, #186.

Ids and labels are unchanged. The no-markfluence.yaml trade-off is now an
Accepts under S8 and L4. L5 is reworded to what it always meant: the page
keeps its meaning, and the Markdown is a fixed point. The byte-level
measurement behind that moves to docs/confluence/storage-format.md. The
"how each kind is verified" table is dropped, since it describes test
practice rather than a principle.

Refs #191
docs/guarantees.md no longer carries a status, so references to Holds and
Partial in CLAUDE.md, the README, and three code comments now point at
nothing. CLAUDE.md's description of the file also had stale id ranges
(S1-S7, L1-L8, C1).

Refs #191
Without enforcement notes beside them, several statements read wider than
meant:

- S1 names its destination: --dest for export and attachment-download,
  the documentation root otherwise.
- S3 is scoped to files written from a page. create's metadata write-back
  and the append-only action log are not overwrites.
- S7 Accepts now covers a pages: entry holding the id, --no-persist
  leaving no record on disk, and page_status resolved after the page
  exists.
- L2 rules out page metadata from flags in update only, and a cache that
  changes the published bytes. Its Accepts says the log decides whether a
  body is sent.

Also:

- Two test comments cited wording the rewrite removed.
- CLAUDE.md said S8 is decided by content; it is decided by the logged
  version.
- The 2026-08-28 symlink measurements move beside the code that relies
  on them (project.Root.FS, linkindex.Build).

Refs #191
The file now holds design principles, so its name should say so. This
reverses _plans/048's D6, which kept the old name to avoid breaking
references; every live reference is updated here, and plans are history
and keep the old name.

Refs #191
The ids now name design principles, so comments that said "guarantee L2"
say "principle L2". The paragraphs are rewrapped, since the rename left
them ragged.

Refs #191
docs/guarantees.md is now docs/design-principles.md, and the rewrite
removed every plan citation from it, so the bullet was false as well as
its link. docs/root-model.md's count was also stale: 5, not 10.

Refs #191
@willkg
willkg merged commit 2873aa6 into main Sep 23, 2026
1 check passed
@willkg
willkg deleted the design-principles branch September 23, 2026 14:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Turn docs/guarantees.md into design principles

1 participant