docs(questions): #46(1) RE-CUT BY OWNER — the SEAT model vetoes max_R #176

Manually merged
tvidal merged 4 commits from feat/176-docs-questions-46-1-re-cut-by-owner-the-seat-m into master 2026-07-28 10:02:08 +02:00
Owner

docs(questions): #46(1) RE-CUT BY OWNER — the SEAT model vetoes max_R

Along the way:

  • docs(questions): #44 RULED — widen non-head path segments to the contextual-name law; heads stay closed
  • docs(questions): #44 OWNER VETO — Assert::true renamed to is_true; the widening withdrawn
  • docs(contract): one name, one meaning, project-wide — the governing rule enters §4 invariants

Touches 2 files: CLAUDE.md, questions.md.

docs(questions): #46(1) RE-CUT BY OWNER — the SEAT model vetoes max_R Along the way: - docs(questions): #44 RULED — widen non-head path segments to the contextual-name law; heads stay closed - docs(questions): #44 OWNER VETO — Assert::true renamed to is_true; the widening withdrawn - docs(contract): one name, one meaning, project-wide — the governing rule enters §4 invariants Touches 2 files: `CLAUDE.md`, `questions.md`.
Author
Owner

Split. The decision in violates is a pure function now, with its own tests in questions.md.

Split. The decision in `violates` is a pure function now, with its own tests in `questions.md`.
Author
Owner

Comment added on name in CLAUDE.md. It was obvious when I wrote it and it will not be in a month.

Comment added on `name` in `CLAUDE.md`. It was obvious when I wrote it and it will not be in a month.
tvidal approved these changes 2026-07-28 09:30:00 +02:00
tvidal left a comment

Happy with this. I ran the suite against the branch and it is green, questions.md included.

Happy with this. I ran the suite against the branch and it is green, `questions.md` included.
@ -157,6 +157,11 @@ Every allow-list entry carries a written justification.
# 4. Invariants — the lookup
- **One name, one meaning, project-wide** (docs/principles.md §5 — the
Owner

I had to read name twice. Nothing wrong with it, but one line of comment would save the next person the second read.

I had to read `name` twice. Nothing wrong with it, but one line of comment would save the next person the second read.
@ -169,2 +162,2 @@
wanted: widen uniformly (one law — a path segment IS a name position;
recommendation), or re-spell the op and keep the path grammar closed?
44. **`Assert::true` → `Assert::is_true`** — OWNER VETO of the watcher's
widening ruling (2026-08-14): a `true` fn violates one-name-one-meaning
Owner

violates reads, decides and writes in one function. The deciding part is the piece I would want to test on its own. Worth splitting?

`violates` reads, decides and writes in one function. The deciding part is the piece I would want to test on its own. Worth splitting?
A receive's worst-case chain is ONE PLEX (activation records at
prefix-sum offsets — no runtime stack, the record law applied to
execution); concurrency DUPLICATES the plex per seat:
actor_size = header + sizeof(state)
           + Σ_R concurrency(R) × (block_size(R) + stack_size(R)).
Run-to-completion is the per-seat EXECUTION law, never a license to
share stack memory across seats (sharing = 'and then it depends',
rule 4). docs/sizes.md:72-74 was never stale; the watcher's correction
is withdrawn. Program = one nested record, three levels of one Σ law:
instances (#43) ⊃ seats ⊃ frames. Parallel dispatch becomes a
scheduler change with zero memory-law change. Raise cell + trail go
per-seat on that day — re-present then.
A non-head segment (after ::) IS a name position and routes through
expect_name; SyntaxKind::True joins is_contextual_name_kw. Path HEADS
stay closed for the ENTIRE contextual set — the uniform law, not a
carve-out: the head is where paths meet expressions, and true::Bool
stays the literal with a coercion turbofish (#28's surface). Re-spelling
the op REFUSED (the #4 roster does not bend to a parser slot). Three
cells ride the implementing commit: Assert::true parses and runs, a
non-true contextual keyword as a segment, and the head-position refusal
pinned so the seam cannot drift open.
One-name-one-meaning: the literal owns `true`. not/receive earned
contextual status by NECESSITY; Assert's op has none — is_true is an
ordinary identifier. Roster (#4): check / is_true / equal. Zero parser
edits; 3d's planned name_slot.rs line dropped. The head-closure
doctrine (true::Bool stays the literal + coercion turbofish; names
begin after ::) is preserved for whenever a REAL segment-widening
consumer arrives — surface is admitted only when a consumer needs it.
Owner statement 2026-08-14, the rule that decided #44: the literal owns
true; contextual-keyword status is earned by necessity only; the new
thing renames, the grammar never bends. Cited from docs/principles.md §5.
tvidal manually merged commit bad065af87 into master 2026-07-28 10:02:08 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
northgale/cklang-bootstrap!176
No description provided.