Skip to content

Align public settings and gameplay source metadata with the tests-first contract #254

Description

@Teakowa

Parent: #252

Goal

Align the public settings/gameplay Rust API with the current tests-first contract by replacing superseded generic evidence/provenance vocabulary with the concrete source, attribution, dataset, licensing, and source-mapping concepts consumers actually need.

Context

ADR-0012 replaced the earlier generic verification/evidence architecture with ordinary tests, expected/reference comparisons, source attribution, pinned revisions, licensing, reproducibility metadata, and client/runtime records where applicable.

Current public settings/gameplay types still expose names such as SettingEvidenceKind, SettingProvenance, EvidenceRef, and source-provenance-oriented errors. These names may encode useful facts, but the generic evidence/provenance vocabulary no longer represents the current architecture contract and should not become an accidental 1.x API commitment.

This is a terminology and contract-boundary cleanup, not a request to discard useful source attribution or dataset identity.

Scope

  • Inventory public settings/gameplay types and methods whose contract is expressed as generic evidence/provenance.
  • Identify the concrete fact each surface actually represents: source attribution, source kind, source location/mapping, dataset identity/version, license, reviewed source status, or editable source availability.
  • Rename or reshape public types only where the current name encodes the superseded generic architecture rather than a durable domain fact.
  • Preserve source attribution, pinned identity, licensing, reproducibility, and source-preserving edit behavior where they are required by real consumers/tests.
  • Keep fixture/test-only metadata out of the runtime public API unless a concrete consumer contract requires it.
  • Update documentation and tests to use direct terminology rather than introducing a replacement generic taxonomy.

Non-goals

  • Removing source attribution, licensing, dataset identity, or reproducibility metadata that has a concrete purpose.
  • Reintroducing a generic evidence hierarchy under different names.
  • Changing Workshop semantics or settings/gameplay behavior unrelated to the public contract cleanup.
  • Broad data-pipeline refactoring.
  • Treating implementation output as expected/reference data.

Acceptance criteria

  • Public settings/gameplay APIs no longer expose a generic evidence/provenance model that conflicts with ADR-0012 and the current architecture contract.
  • Every retained metadata type has a concrete meaning such as source attribution, source mapping/location, dataset identity/version, license, or reviewed source status.
  • Source-preserving settings edits continue to fail safely when required source location/content is unavailable or stale.
  • Gameplay/settings consumers retain the source/data facts they actually use without depending on a generic trust/evidence taxonomy.
  • Tests protect behavior and the supported public contract rather than obsolete terminology or internal representation.
  • No new generic evidence/provenance abstraction is introduced.

Dependencies / ownership

  • Parent: Freeze the workshop-rs public API for 1.0 #252.
  • Owner: workshop-rs for settings/gameplay public API and source/data contracts.
  • ADR-0012 is the current tests-first verification rationale; code/tests determine the actual migration surface.

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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions