Skip to content

Kind.outcome has no shape a host can read generically #282

Description

@The-Running-Dev

Kind.outcome has no shape a host can read generically

Deriving a terminal identity to index — "which ending did this finished session reach" —
means calling kind.outcome() and then guessing at the returned object's fields. Adventures
recognises { endingId } and reports nothing for any other kind, degrading rather than
guessing. Terminal identity is supposed to be the cross-version-stable vocabulary
(07-replay.md §3); it is stable per kind but not legible across them.

Found by the first downstream host — see design/90-decisions.md, Found by the first
downstream host — SubZeroDev.Adventures
.

Done when

  • Either Kind.outcome gains some minimal cross-kind-legible field (or a documented
    common shape) a host can read without per-kind knowledge, or the contract states
    explicitly that outcome legibility is deliberately per-kind and a host must degrade
    gracefully per kind, the way Adventures already does.

Agent instructions
  • Authority: this issue, since the bullet no longer lives in design/90-decisions.md's
    open register (Found by the first downstream host).
  • Stop if: widening Kind.outcome's shape turns out to require changing every existing
    kind's implementation rather than adding an optional common field.

Metadata

Metadata

Assignees

No one assigned

    Labels

    openOpen work tracked from the canonical design register

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions