Skip to content

Roadmap: the service-family row instructed retiring evidence, which 4b(4) forbids - #11933

Merged
briansrls merged 1 commit into
mainfrom
roadmap-service-family-row-repair
Sep 21, 2026
Merged

briansrls merged 1 commit into
mainfrom
roadmap-service-family-row-repair

Conversation

@gunbai-bot

@gunbai-bot gunbai-bot Bot commented Sep 21, 2026

Copy link
Copy Markdown
Contributor

Repairs two rows landed in #11853, on a reading from the side-chat ruling that I verified against source before acting on it.

The defect

self-host-service-family-on-literal-terminal's first_slice told the worker to "retire the name-usability claim as a climb rather than a loss". DESIGN §4b(4) forbids that: a climb deletes the lower-rung production machinery it obsoletes, and the discriminating RED and positive control remain enrolled.

The prepared branch session/calm-eagle-42-service-on-literal acted on the instruction. Its annotation claims the RED "is no longer authorable even against a hostile fixture". That is false, and §4b decides it the other way in as many words — a state unrepresentable in the accepted corpus may still be representable as source handed to the compiler by a fixture. The retired claim's fixture is exactly that, and it is still sitting on the sibling branch:

data keyword_as_name_source: String =
  "module m\nfn f(from: Int, input: Int) -> Int { let transport = from\n transport + input }\n"

Deleting the twelve keyword lex rules removes the mechanism that could break name usability today. It is not evidence that a later lexer or grammar change cannot introduce one — which is the whole point of keeping the control.

Also repaired

  • red_control now requires each named parse-door refusal to assert its own typed diagnostic and the stage that raised it. Verified in source: the branch's refuses is literally !parses, and parse_src folds a tokenize rejection and a parse rejection into one Rejected — so a refusal claim can pass for a reason the claim is not about.
  • whole-service-witness-costs-more-than-its-budget led with re-measurement. Its first slice is now to establish the witness's unique obligation first: sibling claims in the same module already execute the real tokenizer and parser on source, so this is not the only execution of the service parse path in general — only of this particular composition of constructs. Different subjects.
  • That row now refuses two arguments in advance: that the specimen is "real" and therefore cannot shrink (an exemption from the one-interface rule, not an application of it), and that linear cost is therefore justified (linear work can still be work no admitted consumer demands).

What this does not change

The architectural direction stands: the literal-terminal implementation supersedes #11622's keyword-token one. This corrects the instructions that ride with it.

ROADMAP.md is regenerated via generated_artifact_gate main_wet; both rows are hidden under the current focus, so the projection's bytes do not move.

🤖 Generated with Claude Code

…b(4) forbids

The row as first authored told the worker to "retire the name-usability claim as
a climb rather than a loss". That is wrong on DESIGN 4b(4), which dissolves the
lower-rung PRODUCTION machinery a climb obsoletes and never the evidence: the
discriminating RED and its positive control stay enrolled as the executing proof
that the higher rung is still real.

The prepared branch acted on the instruction and argues the claim's RED is no
longer authorable even against a hostile fixture. That is false, and DESIGN 4b
decides it in the opposite direction in as many words -- a state unrepresentable
in the ACCEPTED corpus may still be representable as SOURCE HANDED TO THE
COMPILER BY A FIXTURE. This claim's fixture is exactly that: one module using
`from`, `input` and `transport` as a parameter and a let binding. Deleting the
twelve keyword lex rules removes the mechanism that could break name usability
TODAY; it is not evidence that a later lexer or grammar change cannot add one.

Also repaired, from the same reading:

- red_control now requires each named parse-door refusal to assert its own typed
  diagnostic and the stage that raised it. The prepared branch's `refuses` is the
  negation of `parses`, and `parse_src` folds a tokenize rejection and a parse
  rejection into one `Rejected`, so a refusal claim can pass for a reason it is
  not about.
- the whole-service cost row led with re-measurement. Its first slice is now to
  establish the witness's UNIQUE obligation: sibling claims in the same module
  already run the real tokenizer and parser on source, so this is not the only
  execution of the service parse path, only of this composition of constructs.
- that row now refuses two arguments in advance: that the specimen is real and
  therefore cannot shrink (an exemption from the one-interface rule, not an
  application of it), and that linear cost is therefore justified.

ROADMAP.md is regenerated; these rows are hidden under the current focus, so the
projection's bytes do not move.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@gunbai-bot gunbai-bot Bot mentioned this pull request Sep 21, 2026
6 tasks
@briansrls
briansrls added this pull request to the merge queue Sep 21, 2026
Merged via the queue into main with commit dc8418a Sep 21, 2026
4 checks passed
@briansrls
briansrls deleted the roadmap-service-family-row-repair branch September 21, 2026 10:17
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