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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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