HydroRoll-Team / HydroRoll-Team/OneRoll
Render human details from the structured result contract
- Dominant language
- Python
- Stars
- 3
- Forks
- 1
- Avg merge
- 3d 4h
- Merged PRs (30d)
- 2
Description
## Parent
- #4
## What to build
Move human-readable explanations out of the stable data contract and render them from RFC-0003 typed values and trace graphs.
## Frozen contract
- `details` is a v1 compatibility rendering, never a semantic field in schema `2.0`.
- Renderers consume InstructionResult, RollNode, and TraceNode fields; they never parse an earlier display string.
- Localization changes wording only. Canonical expressions, codes, values, IDs, and provenance remain unchanged.
- Unknown future negotiated trace kinds receive a safe generic rendering instead of data loss or failure.
## Acceptance criteria
- [ ] No consumer parses `details` to recover roll behavior.
- [ ] Python helpers, CLI, and TUI render from the same structured graph.
- [ ] English and Chinese rendering boundaries are explicit and testable.
- [ ] Kept, dropped, rerolled, exploded, counted, grouped, bound, and painted provenance is visible when requested.
- [ ] Display changes cannot change serialized result equality or output semantics.
- [ ] V1 `details` remains available through the compatibility adapter.
## Blocked by
- #21
- #27
- #26
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reviewing the structured InstructionResult, RollNode, and TraceNode contract and the Python helpers, CLI, TUI, and compatibility adapter mentioned in the issue. Check blocked issues #21, #27, and #26 first. Done means all renderers use the shared graph, English and Chinese boundaries are tested, provenance remains visible, and v1 details still works without changing serialized results.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python, rust
- Domain
- cli, localization, tooling
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100