Skip to content

docs(constitution): widen the Language clause - #36

Merged
MatejGomboc merged 4 commits into
mainfrom
claude/constitution-c1-language
Nov 6, 2026
Merged

MatejGomboc merged 4 commits into
mainfrom
claude/constitution-c1-language

Conversation

@MatejGomboc

Copy link
Copy Markdown
Member

Summary

A constitution amendment: merging this is yours to do, and is the amendment. It widens the Language clause so the assembly the kernel holds and the RFCs plan is allowed in terms. Drafted on your instruction of 2026-11-06.

Explanation for the maintainer

The clause allowed assembly only for "boot and context switching". That never covered vectors.s or the existing wfe, brk, ud2 and hlt, and RFC-0005 and RFC-0007 both asked whether it would cover what they plan.

It now reads:

Language: Rust. No exceptions beyond the minimal assembly required for boot, process and thread entry, kernel entry and exit, context switching, and single instructions or indivisible pairs stable Rust cannot express.

"Indivisible pairs" is there for sti; hlt, which RFC-0006 needs adjacent. "Stable" matters because wfe and others exist in core::arch only as unstable, so where a stable intrinsic exists, such as _rdtsc, it must be used instead.

The §3 change is withdrawn, for your attention. You agreed to reword priority inheritance (C1), but three drafts failed review, the last on two high findings. Each draft tried to state as law how priority works in a design RFC-0006 only proposes. Donation alone does not prevent inversion, and the bound also needs a correctly set ceiling and funding. C1 stays open for RFC-0006's verdict, the right place for it.

Which pillar does this serve?

Toil: it aligns project law with the tree. No pillar is affected.

If this changes a document or the constitution

  • Supersedes: the old wording of the Language clause only.

  • Invalidates: no code and no decision.

  • Follows through: STYLE.md and boot.s, which restated the old clause, now point at it. RFC-0005 §17.7 and RFC-0007 open question 4 are marked answered.

  • 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 (CONSTITUTION.md §4) for this subsystem
  • The verdict for this subsystem is: n/a
  • Vendored code retains its original licence notices; new files carry an SPDX header: no new files

unsafe register

  • New unsafe blocks: None
  • Every new unsafe block carries a // SAFETY: comment
  • Every unsafe block is inside a module CLAUDE.md designates for it
  • I have listed them in the session summary / PR description above

Checklist

  • The pre-push checks pass: not run in the devcontainer, because Docker is not running here. markdownlint 0.23.1, spelling and code spans passed on the host, and the kernel built after the first boot.s comment edit; later wording changes to that comment were not rebuilt locally
  • Boots in QEMU where applicable: CI's boot job covers the boot.s comment change
  • CHANGELOG.md updated under [Unreleased]: docs/CHANGELOG.md, which records constitutional amendments
  • Commit messages follow Conventional Commits (see CONTRIBUTING.md)

Reviews

Three reviewers, Opus at medium, across two rounds. All high findings concerned §3, now withdrawn. Of the findings on the Language clause, entry stubs and vectors.s were fixed in round 1, thread entry and the sti; hlt pair after round 2. Those last two have not been reviewed again.

🤖 Generated with Claude Code

MatejGomboc and others added 4 commits November 6, 2026 16:58
Drafted on the maintainer's instruction of 2026-11-06. Merging this pull
request is his amendment; constitution text is his alone.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Donation never prevented inversion, so section 3 now says what a call
lends and that a ceiling bounds the rest. The Language clause covers
process and kernel entry. STYLE.md, boot.s and the RFCs follow.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… clause

Three drafts of section 3 failed review, because it tried to state as
law what RFC-0006 only proposes. It waits for that verdict. The Language
clause stands, now covering thread entry and indivisible pairs.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@MatejGomboc
MatejGomboc merged commit f2461cf into main Nov 6, 2026
6 checks passed
@MatejGomboc
MatejGomboc deleted the claude/constitution-c1-language branch November 6, 2026 16:22
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.

1 participant