Epic: Ogex v0.1.2 — Bug Fixes + API Parity + TDD #37

Open
opened 2026-03-24 22:25:17 +03:00 by NiXTheDev · 0 comments
NiXTheDev commented 2026-03-24 22:25:17 +03:00 (Migrated from github.com)

Epic: Ogex v0.1.2 Release

Goal: Fix critical bugs, implement true atomic/conditional group semantics, achieve full API parity across WASM, Python, and CLI bindings with strict TDD methodology.

Branch: 0.1.2 (from release)

Scope: Bug fixes + API parity (no new regex features like \p{}, POSIX classes)
TDD: Strict RED-GREEN-REFACTOR for every task

Critical Bugs (Wave 1)

  • #T1: Fix escape sequences — \n, \t, \r produce actual characters; add \xNN, \uNNNN
  • #T2: Fix \g{1} semantics — numbered backreference, not named
  • #T3: Populate named_groups in Match results
  • #T4: Fix Python sub() named groups + add named_group() to PyMatch

Core Engine Improvements (Wave 2)

  • #T5: Implement true AtomicGroup semantics (prevent backtracking)
  • #T6: Implement true ConditionalGroup semantics
  • #T7: Implement scoped mode flags (not global merge)
  • #T8: Add Regex::replace() / replace_all() API
  • #T9: Add Regex::split() API
  • #T10: Add Regex::fullmatch() API

Python Full re Compatibility (Wave 3)

  • #T11: Python flags (IGNORECASE, MULTILINE, DOTALL)
  • #T12: Python split() method
  • #T13: Python fullmatch() method
  • #T14: Python match_() returns PyMatch directly (re-compatible)
  • #T15: Python version attribute

WASM API Parity (Wave 4)

  • #T16: WASM sub()/replace functionality
  • #T17: WASM match() for start-of-string
  • #T18: WASM TypeScript .d.ts generation
  • #T19: WASM /pattern/flags syntax (gimsuy)

CLI Full Features (Wave 5)

  • #T20: CLI replace command
  • #T21: CLI stdin support
  • #T22: CLI --file flag
  • #T23: CLI --json output
  • #T24: CLI flags (--ignore-case, --multiline, --dotall)

Anchors + Cleanup (Wave 6)

  • #T25: Add \A, \z, \Z anchors
  • #T26: Add ?? lazy optional quantifier
  • #T27: Remove dead code (is_greedy, peek, read_number)

Polish (Wave 7)

  • #T28: Update pyproject.toml to 0.1.2
  • #T29: Update Cargo.toml to 0.1.2 + fix FFI version
  • #T30: Update README with new features
  • #T31: Integration tests across all bindings

Final Verification

  • #F1: Plan Compliance Audit
  • #F2: Code Quality Review
  • #F3: Real Manual QA
  • #F4: Scope Fidelity Check

Plan: .sisyphus/plans/v0.1.2-release.md

## Epic: Ogex v0.1.2 Release **Goal**: Fix critical bugs, implement true atomic/conditional group semantics, achieve full API parity across WASM, Python, and CLI bindings with strict TDD methodology. **Branch**: `0.1.2` (from `release`) **Scope**: Bug fixes + API parity (no new regex features like \p{}, POSIX classes) **TDD**: Strict RED-GREEN-REFACTOR for every task ### Critical Bugs (Wave 1) - [ ] #T1: Fix escape sequences — \n, \t, \r produce actual characters; add \xNN, \uNNNN - [ ] #T2: Fix \g{1} semantics — numbered backreference, not named - [ ] #T3: Populate named_groups in Match results - [ ] #T4: Fix Python sub() named groups + add named_group() to PyMatch ### Core Engine Improvements (Wave 2) - [ ] #T5: Implement true AtomicGroup semantics (prevent backtracking) - [ ] #T6: Implement true ConditionalGroup semantics - [ ] #T7: Implement scoped mode flags (not global merge) - [ ] #T8: Add Regex::replace() / replace_all() API - [ ] #T9: Add Regex::split() API - [ ] #T10: Add Regex::fullmatch() API ### Python Full re Compatibility (Wave 3) - [ ] #T11: Python flags (IGNORECASE, MULTILINE, DOTALL) - [ ] #T12: Python split() method - [ ] #T13: Python fullmatch() method - [ ] #T14: Python match_() returns PyMatch directly (re-compatible) - [ ] #T15: Python __version__ attribute ### WASM API Parity (Wave 4) - [ ] #T16: WASM sub()/replace functionality - [ ] #T17: WASM match() for start-of-string - [ ] #T18: WASM TypeScript .d.ts generation - [ ] #T19: WASM /pattern/flags syntax (gimsuy) ### CLI Full Features (Wave 5) - [ ] #T20: CLI replace command - [ ] #T21: CLI stdin support - [ ] #T22: CLI --file flag - [ ] #T23: CLI --json output - [ ] #T24: CLI flags (--ignore-case, --multiline, --dotall) ### Anchors + Cleanup (Wave 6) - [ ] #T25: Add \A, \z, \Z anchors - [ ] #T26: Add \?? lazy optional quantifier - [ ] #T27: Remove dead code (is_greedy, peek, read_number) ### Polish (Wave 7) - [ ] #T28: Update pyproject.toml to 0.1.2 - [ ] #T29: Update Cargo.toml to 0.1.2 + fix FFI version - [ ] #T30: Update README with new features - [ ] #T31: Integration tests across all bindings ### Final Verification - [ ] #F1: Plan Compliance Audit - [ ] #F2: Code Quality Review - [ ] #F3: Real Manual QA - [ ] #F4: Scope Fidelity Check --- **Plan**: .sisyphus/plans/v0.1.2-release.md
Sign in to join this conversation.
No description provided.