Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
# Binaries must never be normalised.
*.png binary
*.jpg binary
*.pdf binary
*.ico binary
*.img binary
*.iso binary
Expand Down
29 changes: 23 additions & 6 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,9 @@
## Explanation for the maintainer

<!--
CLAUDE.md §5.2: nothing merges un-understood. §11.4: every non-trivial change
ships with an explanation the maintainer can verify their understanding against.
CONSTITUTION.md §5.2: nothing merges un-understood. §11.4: every non-trivial
change ships with an explanation the maintainer can verify their understanding
against.

Explain the change as you would to someone who will have to debug it at 2am
without you. Name the invariants it relies on and the ones it establishes.
Expand All @@ -17,27 +18,43 @@ without you. Name the invariants it relies on and the ones it establishes.
## Which pillar does this serve?

<!--
CLAUDE.md §1: every addition must justify itself as a consequence of the
CONSTITUTION.md §1: every addition must justify itself as a consequence of the
primitive. If it cannot, it does not go in — however attractive it is.
State the pillar, or state plainly that this is toil (tooling, tests, docs).
-->

## If this changes a document or the constitution

<!--
Delete this section for a pure code change. Keep it for anything touching
CONSTITUTION.md, docs/rfcs/, docs/threat-model.md, or the contributor docs.

Constitution amendments are the maintainer's alone (§4, §11.1). When one lands
it must leave no stale clause behind: an amendment that contradicts another
clause is worse than no amendment, because it makes every future reader guess.
State what it supersedes and what code or decisions it invalidates.
-->

- [ ] Cross-references still resolve; no clause is left contradicting another (`/check-coherence`)
- [ ] If this is a constitution amendment, it is the maintainer's, and `docs/CHANGELOG.md` records it
- [ ] No section other documents cite has been renumbered

## Borrow Ledger

- [ ] I checked the Borrow Ledger (CLAUDE.md §4) for this subsystem
- [ ] I checked the Borrow Ledger (CONSTITUTION.md §4) for this subsystem
- [ ] The verdict for this subsystem is: <!-- write ourselves / port code / n/a -->
- [ ] Vendored code retains its original licence notices; new files carry an SPDX header

## `unsafe` register

<!--
CLAUDE.md §11.3. Leave "None" if there are no new `unsafe` blocks — do not
CONSTITUTION.md §11.3. Leave "None" if there are no new `unsafe` blocks — do not
delete this section, its emptiness is itself the useful signal.
-->

- New `unsafe` blocks: <!-- None, or a list of file:line with the invariant each relies on -->
- [ ] Every new `unsafe` block carries a `// SAFETY:` comment
- [ ] Every `unsafe` block is inside a module CLAUDE.md designates for it
- [ ] Every `unsafe` block is inside a module CONSTITUTION.md designates for it
- [ ] I have listed them in the session summary / PR description above

## Checklist
Expand Down
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,13 @@
/gdb-history
perf.data*

# Rendered documentation. RFC-0002 commits to publishing docs/ in place with
# mdBook at Phase 4; its default output is book/, and _site/ covers the Pages
# alternative. Ignored now so a first local render cannot be committed by
# accident.
/book/
/_site/

# Local Claude Code state. The committed parts of .claude/ (CLAUDE.md, commands/)
# are shared project configuration; settings.local.json is per-machine.
/.claude/settings.local.json
Expand Down
8 changes: 7 additions & 1 deletion STYLE.md
Original file line number Diff line number Diff line change
Expand Up @@ -241,6 +241,12 @@ See `CONTRIBUTING.md` § British Spelling for the rule, and
use American spelling where it matches a Rust or hardware-API convention — a register field named in
a datasheet is quoted, not corrected.

**Exceptions, matching what the checker actually excludes:** quoted external text and proper nouns;
API, environment-variable and hardware identifiers where American spelling is the convention (each
recorded in the script's `ALLOWED_PATTERNS` with the convention it honours); and `LICENCE` and
`CODE_OF_CONDUCT.md`, excluded as legal and upstream text. Noongar words are spelled as the language
custodians spell them — see § Prose.

---

*Last updated: 2026-07-26*
*Last updated: 2026-07-30*
16 changes: 16 additions & 0 deletions docs/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,22 @@ recorded is indistinguishable from law that was never agreed.

### Added

- **The last of the retired docs repository, recovered by an exhaustive re-audit** (file-by-file and
git-history, not just prose shingles). The provenance check confirmed all eleven docs commits are
ancestry of `main` bar the retirement-banner commit, which correctly stays only in the retired repo;
the content check found three genuine omissions, now closed:
- The pull-request template gains an **"If this changes a document or the constitution"** section —
the constitution-amendment guidance the docs repository's own template carried and the code-first
kernel template lacked: state what an amendment supersedes and invalidates, leave no stale clause,
renumber no cited section. Its `CLAUDE.md` section references, stale since the rename, are
corrected to `CONSTITUTION.md` in the same pass.
- `.gitignore` ignores `book/` and `_site/`, the rendered-documentation output RFC-0002 commits to
at Phase 4, so a first local mdBook render cannot be committed by accident.
- `.gitattributes` marks `*.pdf` binary.
Everything else the audit surfaced was reworded-in-place, superseded by a newer kernel version, or
docs-repo-specific framing that correctly does not belong. The retired repository now holds nothing of
substance absent here.

- **`docs/threat-model.md` — the last Phase 0 deliverable.** Expands the constitution's §9 seed into
the authoritative statement of what Setonix defends: five assets, five adversaries, six trust
boundaries, and twenty numbered obligations (`O-1` … `O-20`) the design must discharge. The
Expand Down