Skip to content

fix(regex): generalize Perl ASCII-strict fold crossings - #1067

Draft
fglock wants to merge 1 commit into
fix/phase36-joni-lookbehind-acceptance-v3from
fix/phase36-joni-multifold-ascii-strict
Draft

fix(regex): generalize Perl ASCII-strict fold crossings#1067
fglock wants to merge 1 commit into
fix/phase36-joni-lookbehind-acceptance-v3from
fix/phase36-joni-multifold-ascii-strict

Conversation

@fglock

@fglock fglock commented Aug 18, 2026

Copy link
Copy Markdown
Owner

Summary

  • generalize Perl /aa source-crossing protection to every non-ASCII source fold that enters ASCII
  • preserve all-non-ASCII multi-character folds
  • add direct-Joni and product matrices for sharp-s, ligatures, long-s, Kelvin sign, and non-ASCII folds
  • retain the required incident note for the recovered wrong-worktree cherry-pick

Validation

  • canonical Perl focused matrix: 33/33
  • forced candidate JVM/interpreter: 33/33 each
  • direct Joni fold suites: green
  • full make: warning-free in 3m50, 17 tasks, exit 0
  • reg_fold.t: unchanged at 7,106/7,111; broad fold_grind_aa.t remains a classified routing gate

Stack

This draft is stacked on fix/phase36-joni-lookbehind-acceptance-v3 at exact
parent 6dc8f49f88d45f2c940baabdbedae6a4568309dc. The broader /aa owner family
remains under focused classification before Java fold routing is removed.

References dev/design/phase36-regex-parity.md.

Protect non-ASCII literal source code points under Perl /aa whenever an
unrestricted fold alternative crosses into ASCII. Keep all-non-ASCII
multi-character folds enabled.

Add system-Perl-first and direct Joni matrices for forward and reverse full
folds, scoping, character classes, set composition, and ASCII restrictions.
Record the recovered wrong-worktree snapshot incident required by AGENTS.md.

Generated with [OpenAI Codex](https://openai.com/codex)

Co-Authored-By: OpenAI Codex <codex@openai.com>
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