Skip to content

Define dialogue, quest, achievement, journal, and structured-document contracts #8

Description

@zoeyrose

Outcome

Transport native Go gameplay models as bounded structured data suitable for accessible Rust UI, without executing scripts or parsing classic markup/prose.

Scope and normative requirements

  • Dialogue conversation/session/topic/response IDs, speaker, authored/localized text blocks, semantic emphasis, choice visibility/enabled state, typed input prompts, action selection, revisions, and close/error.
  • Quest catalog/state/objectives/issuer/location, progress, hidden/disclosure policy, accept/abandon/repeat/success/failure, revisions, and typed actions.
  • Achievement and hunting-journal catalog/state/categories/criteria/progress/completion/discovery with privacy and paging.
  • Common renderer-neutral structured text/document primitives with explicit allowed nodes, links/actions, escaping, nesting/text/list bounds, and unknown behavior.
  • Request IDs/preconditions for selected response, quest action, page/query, and reconnect resync.

Acceptance criteria

  • Go/Rust fixtures cover branching/stale choices, hidden fields, long/paged catalogs, reconnect, content revisions, unknown nodes/enums, malformed nesting, and all lifecycle transitions.
  • Client never parses Python-generated markup/HTML or server English to recover identity/actions.
  • Server never sends arbitrary executable UI/script/shader content.
  • Issuer/owner/discovery metadata supports preserved client issues with typed privacy rules.
  • Schemas remain domain-specific enough to validate; no unbounded generic object/value tree.

Dependencies and parallelization

Depends on common types and server native engines. Client UI/editor previews can proceed against golden models.

Licensing and scope boundary

Protocol schemas, specifications, fixtures, and generators are MIT. Verified original past work by an approved MIT provenance grantor may be migrated under the recorded provenance grant. Compiled content artifacts are specified by content-toolkit; this repository owns network contracts only.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Fields

    Priority

    None yet

    Effort

    None yet

    Projects

    Status
    Backlog

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions