HydroRoll-Team / HydroRoll-Team/OneRoll

Ship v1-to-v2 language compatibility diagnostics and migration guidance

Open
#29 0 comments 0 reactions 0 assignees View on GitHub
area:docs area:language blocked breaking-change priority:p1 type:feature workflow:afk
Dominant language
Python
Stars
3
Forks
1
Avg merge
3d 4h
Merged PRs (30d)
2

Description

## Parent

- #7

## What to build

Ship the accepted v1-to-v2 language, result, error, and Python API contracts as executable diagnostics and migration documentation.

## Frozen migration families

- `^` to `**` and flat precedence to explicit v2 precedence/parentheses.
- `!`/bare `e` to `e[=max]`.
- Numeric `r`, `ro`, `R`, `a`, and `c` shorthand to Validator forms.
- `kh` to `k`, `dh` to `d`, and observed ascending `s` to `sl`.
- Incomplete v1 `K` versus corrected atomic v2 semantics.
- V1 dictionary `roll`/`run` to typed `Engine.roll`/`Engine.run`/`Engine.run_batch`.
- Deprecated `OneRoll` and convenience batch/statistics helpers to Engine plus typed results.
- `OneRollError(ValueError)` field/code handling and optional `[cli]`/`[tui]` installation.
- Reserved `@` and CLI-only `help`/`la`.

## Acceptance criteria

- [ ] Every compatibility-sensitive or known-defect v1 corpus case maps to an RFC-0001 migration entry.
- [ ] V1 mode and dictionary adapters remain available throughout 2.x; removal is a 3.0-or-later decision.
- [ ] Diagnostics include phase, span, construct, stable code, and canonical replacement.
- [ ] Strict v2 never silently reinterprets a v1-only form.
- [ ] Rust/Python/CLI before-and-after examples are executable.
- [ ] The guide maps every RFC-0004 deprecated class/function to a typed Engine replacement.
- [ ] Package-extra and structured-exception migration examples run in isolated environments.

## Blocked by

- #15
- #16
- #19
- #24
- #38
- #39
- #40
- #41
- #42
- #43

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with parent issue #7 and the RFC-0001 and RFC-0004 references, then review the blocked issues #15, #16, #19, and #24 plus #38–#43. Validate the Rust, Python, and CLI before-and-after examples, migration entries, diagnostics, adapters, typed replacements, and isolated package-extra examples against the acceptance criteria.

Written by the indexing model from the issue text.

Assessment

Tech stack
python, rust
Domain
api, cli, compilers, documentation
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.