Skip to content

Render human details from the structured result contract #35

Description

@HsiangNianian

Parent

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:cli-tuiCommand-line and Textual interfacesarea:engineEvaluation, randomness, safety, and result corearea:pythonPython API, bindings, typing, and packagingblockedCannot proceed until a listed dependency is completepriority:p1Required for the current production milestonetype:choreMaintenance, tooling, or release workworkflow:afkReady for independent implementation

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions