Skip to content

docs(regex): replace Phase 36 with forward-only plan - #1071

Merged
fglock merged 30 commits into
chore/perl5-sync-35694276from
docs/phase36-forward-plan-v2
Aug 19, 2026
Merged

docs(regex): replace Phase 36 with forward-only plan#1071
fglock merged 30 commits into
chore/perl5-sync-35694276from
docs/phase36-forward-plan-v2

Conversation

@fglock

@fglock fglock commented Aug 18, 2026

Copy link
Copy Markdown
Owner

Summary

  • keep Phase 36 as one forward-only execution plan rather than a historical transcript
  • define the final architecture: vendored Joni as the sole matcher, with Perl source policy retained only in the frontend
  • specify ordinary-pattern, Unicode/case-fold, runtime-source, preprocessing-removal, import-sync, documentation, performance, platform, and final parity gates
  • record the current validated successor position and exact remaining acceptance work
  • add a separate, explicitly post-Phase-36 RFC for exposing the completed engine as an embeddable Perl-compatible JVM regex library

RFC boundary

dev/design/perl-regex-library-rfc.md is proposal-only and does not authorize
implementation or expand Phase 36. It defines a data-only public API, separate
host-callout and Perl-execution tiers, compatibility evidence, resource/security
controls, namespace and attribution requirements, and prerequisites that block
productization until temporary Java routing and preprocessing are gone.

Validation

  • full make at exact head a2c272456: all 17 tasks green in 2m57s (/tmp/make-phase36-plan-a2c272456.log)
  • earlier RFC-only head 0b360cfc4: all 17 tasks green in 4m28s (/tmp/make-phase36-rfc-0b360cfc4.log)
  • the branch changes documentation only
  • the Phase 36 plan contains no dated implementation history or PR transcript
  • every phase has an explicit exit condition and the final PR 958 comparison remains mandatory

Plan policy

Implementation history belongs in commit messages. The plan records only the
target architecture, current validated state, ordered remaining work, parallel
ownership, and acceptance criteria.

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

fglock and others added 16 commits August 18, 2026 23:32
Keep the Phase 36 critical path focused on lookbehind, branch reset, and
alphabetic assertions as the next native Joni routing slices.

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

Co-Authored-By: Codex <codex@openai.com>
Make the forward migration dependency explicit: ceiling diagnostics, valid
folded and nested forms, and ACCEPT-aware widths must be native before Java
lookbehind routing and analysis are removed.

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

Co-Authored-By: Codex <codex@openai.com>
Make the native-Joni branch-reset gate explicitly cover relative calls whose
physical target differs across alternatives sharing one logical capture number.

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

Co-Authored-By: Codex <codex@openai.com>
Keep the forward-only Phase 36 plan explicit about temporary Java-routing
assertions that cannot coexist with the final Joni-only architecture under the
current no-existing-test-edit rule.

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

Co-Authored-By: Codex <codex@openai.com>
Add the remaining horizontal-whitespace, leading-loose alias, and ASCII-strict
fold gates to the forward-only Phase 36 critical path.

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

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

Co-Authored-By: Codex <codex@openai.com>
Keep the forward-only plan anchored to the current 80-file differential and
prioritize the two native fixes that unlock the truncated pat suites.

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

Co-Authored-By: OpenAI Codex <codex@openai.com>
Update the forward-only critical path with the current forced-Joni pat gate
after the native Unicode alias stack removes the fatal property lookup.

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

Co-Authored-By: OpenAI Codex <codex@openai.com>
Keep the execution tracker and critical path aligned with the current native
Joni acceptance gates, remaining diagnostics, `/aa` residuals, and explicit
test-policy blockers without adding implementation history to the plan.

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

Co-Authored-By: OpenAI Codex <codex@openai.com>
Refresh the forward-only critical path with the completed `/aa` acceptance
envelope and latest native diagnostic count. Implementation history remains in
commits rather than the design plan.

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

Co-Authored-By: OpenAI Codex <codex@openai.com>
Record the completed native /aa routing and Unicode alias slices, and make
lexical named-character sequences plus the pinned Unicode residual the next
forward implementation targets.

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

Co-Authored-By: OpenAI Codex <codex@openai.com>
Replace the stale combined count with the exact complete 1,687-test
pre-named-character differential baseline and keep the next gate forward-looking.

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

Co-Authored-By: OpenAI Codex <codex@openai.com>
Advance the forward critical path to the complete 1,625/1,687 dual-backend
gate after native named-character and alternation-boundary repairs.

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

Co-Authored-By: OpenAI Codex <codex@openai.com>
Record the current complete pat_advanced gate after native unbraced relative
subpattern calls, with identical JVM/interpreter residuals and no introduced
failures.

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

Co-Authored-By: OpenAI Codex <codex@openai.com>
Record the closed bare binary-property alias family and the current identical
JVM/interpreter Unicode residual gate.

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

Co-Authored-By: OpenAI Codex <codex@openai.com>
Record the current forward-looking forced-Joni pat_advanced gate after recursive callout capture visibility reached parity.

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

Co-Authored-By: OpenAI Codex <codex@openai.com>
Replace repeated implementation detail with a forward-only current position, final architecture, ordered next steps, parallel ownership model, and complete acceptance gates.

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

Co-Authored-By: OpenAI Codex <codex@openai.com>
@fglock
fglock force-pushed the docs/phase36-forward-plan-v2 branch from d969d6a to 1965a96 Compare August 19, 2026 08:22
fglock and others added 13 commits August 19, 2026 11:17
Record the combined native-Joni gates and replace completed work with the
current Unicode, case-fold, and extended-class implementation sequence.

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

Co-Authored-By: OpenAI Codex <codex@openai.com>
Advance the forward-only plan to the 332-row Unicode residual and make native
Joni wildcard wiring the next cleanup step.

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

Co-Authored-By: OpenAI Codex <codex@openai.com>
Keep the plan forward-only while recording the current validated integration
head, Unicode residual, active native case-fold slices, and exact next gates.

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

Co-Authored-By: Codex <codex@openai.com>
Keep the forward plan aligned with the integrated Block and analyser work,
the binary residual, native extended-class gates, wildcard migration, and
generated named-sequence follow-up.

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

Co-Authored-By: Codex <codex@openai.com>
Add a forward-looking subphase tracker so completed Unicode and case-fold
milestones are visible while the broader phases remain correctly open.

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

Co-Authored-By: Codex <codex@openai.com>
Record completed Joni wildcard execution and named-sequence resolution while
keeping native property parsing and diagnostic cleanup as explicit next steps.

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

Co-Authored-By: Codex <codex@openai.com>
Mark the Hyphen diagnostic slice complete after both forced-Joni backends
reached 83,648/83,648 with zero introduced identities.

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

Co-Authored-By: Codex <codex@openai.com>
Record native extended classes, nested property-wildcard lexing, and canonical
named-sequence diagnostics after their zero-introduction gates.

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

Co-Authored-By: Codex <codex@openai.com>
Compress completed implementation state into the current validated position
and keep only the remaining ordered migration work in next steps.

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

Co-Authored-By: Codex <codex@openai.com>
Record the green ordinary named-character Joni route, PR 1078 review boundary,
and the isolated successor integration branch.

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

Co-Authored-By: Codex <codex@openai.com>
Replace completed DEFINE, lookbehind, branch-reset, named-diagnostic, and plain
non-newline work with the current PR gates and the remaining provenance,
dynamic-pattern, differential, adapter-retirement, and release sequence.

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

Co-Authored-By: Codex <codex@openai.com>
Describe a post-Phase-36 standalone JVM API, compatibility contract,
execution tiers, packaging, security boundaries, and release prerequisites.
The RFC is explicitly non-implementing and does not expand Phase 36 scope.

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

Co-Authored-By: OpenAI Codex <codex@openai.com>
Record PR 1078's cross-platform merge and make PR 1079's rebased Ubuntu and
Windows checks the current integration gate. Keep the ordered plan forward-only.

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

Co-Authored-By: OpenAI Codex <codex@openai.com>
Record the cross-platform merged native-syntax state and make the successor
fold, provenance, ordinary-default, dynamic, diagnostic, and import batch the
current forward-only gate.

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

Co-Authored-By: OpenAI Codex <codex@openai.com>
@fglock
fglock merged commit 269e9a6 into chore/perl5-sync-35694276 Aug 19, 2026
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