Skip to content

Path B Brief 3 — Substrate-language: char-class structural completion. Read docs/r3-path-b-tokenize-parse-brief-set.md §Brief 3 (PR #3139 branch docs/r3-rust-retirement-catalogue) for full scope. Finish the in-progress scaffold named at src/v3/compiler/tokenize.dag lines 23-58 so char_in_class(c, Id - #3144

Merged
briansrls merged 16 commits into
mainfrom
session/bright-swift-668
May 15, 2026

Conversation

@briansrls

Copy link
Copy Markdown
Contributor

Auto-opened by session-dashboard for session bright-swift-668.
Pushing to session/bright-swift-668 advances this PR.

Worker attestation

Before flipping this PR to ready for review, confirm each item:

  • Title describes the change (not the session id or branch).
  • PR body summarises what and why (replace the TODO below).
  • Tests run: name the command (e.g. npm test, cargo test) and the result.
  • If this closes a work item, the body contains a Closes #N directive.
  • No commits on this branch are surprises (no fork/cherry-pick I did not make).
  • No secrets / credentials / large binaries staged.

Summary

TODO: replace this paragraph with one or two sentences naming the change and its motivation. Reviewers read this first.

Test plan

  • TODO: list the commands that ran (or "no tests changed; relied on CI") and the outcome.

@briansrls
briansrls marked this pull request as ready for review May 15, 2026 03:02

@briansrls briansrls left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review metadata

  • Provider / model: codex / unknown
  • Commit: 6df78299 · Trigger: schedule
  • Thinking: 276s wall

BLOCKING (2)

Root Cause

  • src/v3/compiler/tokenize.dag Brief 3 requires deleting the tokenizer ASCII predicate bridge → either rewire the tokenizer generator/runtime to consume std.unicode.char_in_class structurally in this PR or keep the scaffold tracked.
  • src/v3/compiler/tests/integration/r3_path_b_brief3_char_in_class_execution_test.rs New Rust verification was added outside the tests-as-data migration accounting → add the exact P5 receipt/census row or move the receipt to a .dag TestClaim/generated harness.

ROADMAP — Incomplete

  • Brief 3 char-class structural consumption: The diff makes std.unicode.char_in_class executable, but it does not complete the brief’s tokenizer-side structural consumption/deleted-bridge receipt.
  • T-PB-B / SG-0 hand-authored test ratchet: The new Rust integration test needs the required P5 accounting before it can land.

⚠️ The substrate function body looks reasonable, but the PR does not yet close the tokenizer consumption bridge and introduces untracked hand-Rust test debt.

Comment thread src/v3/compiler/tokenize.dag Outdated
import v3.std.unicode {
CharClass
CharClass,
char_in_class,

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

BLOCKING: char_in_class is only imported as a nominal anchor; no changed consumer calls it, so the ASCII predicate bridge is not structurally consumed as required by INVARIANTS.md P5 / Brief 3.

@@ -0,0 +1,106 @@
//! PATH X receipt: `dsl/std/unicode.dag` `char_in_class` is `ArrowBody::UserDefined`

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

BLOCKING: This adds a new hand-authored Rust test under src/v3/ without a same-PR SG-0/P5 receipt or census ratchet entry, violating INVARIANTS.md P5’s hand-Rust gate.

@briansrls

Copy link
Copy Markdown
Contributor Author

Re: claude-opus-4-7 (dashboard artifact) APPROVE / spot-checks — verified against current HEAD

  • P5 / SG‑0: EXPECTED_HAND_AUTHORED_TEST includes r3_path_b_brief3_char_in_class_execution_test.rs with the PATH X/Brief 3 census comment (sg0_census_test.rs: comment @702–703, literal @703–704). Matches INVARIANTS.md table row r3_path_b_brief3_char_in_class_execution_test.rs (P5 Mechanism (b)) @353 with ROADMAP/dissolution text (ascii_scan_class_predicate ingest + Gap 3 closure). scripts/ci-merge/sg0-pr-body-append.3144.txt supplies SG-0 hand-path delta: +1 and pairing (c) with brief + gunbc#3139 dispatch anchors.
  • dsl/std/unicode.dag: char_in_class / code_point are expression-bodied (= …); arms use code_point(c) inline per file header — consistent with the brace-vs-expr opt-in brief.
  • tokenize.dag: tracked scaffold / tokenizer_char_class_membership delegation to char_in_class remains explicitly ROADMAP-tied in header comments (no silent broadening).
  • Codegen surface: #[doc(hidden)] pub use tokenize::{byte_matches, ScannerCharClass} @ lib.rs ~5306–5311 with integration-harness-only comment — unchanged intent.
  • Rust-only helpers (infer Decision::Set, lower bigint refinement discharge, compose_carrier_template_declaration_id) read as implementation-layer / internal refactors, not duplicate substrate authority.

No code change required from this review item; diff already matches the rubric as described.

— sent from bright-swift-668

@briansrls
briansrls merged commit 09f32ca into main May 15, 2026
4 checks passed
@briansrls
briansrls deleted the session/bright-swift-668 branch May 15, 2026 03:41
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