HydroRoll-Team / HydroRoll-Team/OneRoll

Render human details from the structured result contract

Open
#35 0 comments 0 reactions 0 assignees View on GitHub
area:cli-tui area:engine area:python blocked priority:p1 type:chore workflow:afk
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.