Skip to content

[v0.2 workshop-rs] Define Workshop catalog, locale, extension, and version boundaries #96

Description

@Teakowa

Parent release work: #135
Roadmap: #134
Implementation/extraction: #138

Goal

Define the durable data/version boundary for the canonical Workshop core now that Workshop content, localization, and provider interoperability are first-class product requirements.

This work is no longer deferred: the provider architecture and workshop-rs extraction require an explicit contract for what is semantic code, what is catalog/content data, how locale coverage is represented, and how versions/provenance are pinned.

Scope

  • Define the conceptual boundary between Workshop language semantics and Workshop content/catalog data.
  • Define canonical, locale-independent semantic identities for actions, values, events, enums, heroes, maps, game modes, settings, and other supported Workshop-defined content.
  • Define locale tables as mappings from canonical identities to client spellings rather than separate language semantics.
  • Define a strict catalog/allowlist model: supported definitions are explicit; unknown definitions are diagnosed rather than silently guessed.
  • Define independent version identities for:
    • Wright implementation;
    • Language Provider Protocol;
    • each source-language provider;
    • workshop-rs implementation;
    • Workshop catalog/content dataset;
    • target Overwatch/Workshop runtime where evidence exists.
  • Define provenance requirements and a reproducible catalog-update pipeline suitable for permissive workshop-rs ownership.
  • Define supported extension categories:
    • safe catalog/content overlays where justified;
    • controlled transformations that re-enter validation;
    • forbidden source-language compatibility forks.
  • Define locale completeness/status reporting and behavior for missing target-locale spellings.
  • Ensure CI/tooling can pin the effective catalog/content identity used for reproducible results.

Initial product gate

The first workshop-rs release under #138 should use this contract to support a complete declared en-US <-> zh-CN raw Workshop conversion surface, then expand locale coverage through evidence-backed catalog updates.

Non-goals

  • Runtime downloading of unreviewed/latest catalog data by default.
  • Automatically treating unknown future Workshop tokens as valid semantics.
  • A generic plugin ABI.
  • Dynamic grammar modules.
  • Wright-only OPY/OSTW syntax.
  • Copying third-party catalog/source data into workshop-rs without provenance/license review.

Acceptance criteria

  • Workshop semantic implementation and content/localization data have an explicit documented boundary.
  • Canonical semantic identities do not depend on any client locale or source-language provider naming scheme.
  • Catalog/content and implementation versions can evolve independently and are machine-identifiable.
  • Locale coverage and missing mappings are explicit and testable.
  • The update/provenance process supports adding new Workshop content without requiring compiler logic changes when the change is genuinely data-only.
  • [v0.2 workshop-rs] Establish the canonical multi-locale Workshop core #138 can implement multi-locale raw Workshop parsing/emission/conversion against this contract without duplicating locale/catalog knowledge in OPY/OSTW providers.

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

    duplicateThis issue or pull request already exists

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions