Skip to content

Campaign sources here are fixtures now, but nothing in the tree says so #300

Description

@The-Running-Dev

Campaign authoring left this repository in W74. The published campaigns Adventures fetches now
come from
SubZeroDev.Adventures.Content,
which authors them in its own src/campaigns/ and imports only this engine's /authoring
toolkit to export them.

What did not happen in that move is the other half: this repository still carries its own copies
of the same campaigns under src/engine/src/campaigns/, plus its own exported
site/public/campaigns/*.json. Nothing marks them as no longer the live content. Anyone
improving an arc here — as PR #296 did — is editing a copy nobody publishes, and finds out only
after the work is done.

The copies cannot simply be deleted. They are load-bearing for this repository's own suite:
replay-corpus.ts and the determinism, replay, observability, and locale tests all build against
them. They are fixtures now, not content, and the tree should say so.

Done when

  • src/engine/src/campaigns/ states in-file that its campaigns are test fixtures, not the
    published content, and names Content as the authoring home
  • site/public/campaigns/*.json is either removed, or documented as a fixture snapshot that
    is not what Adventures fetches
  • A contributor opening any campaign source in this repository can tell within one screen
    that editing it does not change what ships
  • The engine's suite still passes with the fixtures in place
Agent detail
  • Origin: PR #296, closed
    as superseded — its five expanded Bulgaria arcs were already published from Content
    (PR Docs site information architecture: sections, anchors, and site links #8, d99a34c), verified byte-identical on normalized JSON across all five campaigns
  • Divergence measured: this repo's main shares only ~45–49 of ~98 strings per arc with what
    Content publishes; the engine copies are pre-expansion
  • Not in scope: moving the fixtures' content back into sync with Content. They are fixtures;
    they pin the behaviour the tests were written against, and churning them to match published
    content would defeat the point
  • Also from Expand the five Bulgaria arcs: sharper content, five endings per route #296: two test edits (clients/text/client.test.ts, mcp/server.test.ts) that
    have no counterpart in Content and were not evaluated on their own merits

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions