Skip to main content

Valenar Story Layer Governance

This rule governs the Valenar story layer and the local-agent scaffolding that authors or audits it. Story files are narrative surfaces, not truth storage. The story layer is explicitly outside the lore-tree prefix scheme and outside runtime / .secs / Generated / host / server / client ownership.

Read Order

Before editing or auditing this scope, read these files in order:

  1. examples/valenar/CLAUDE.md
  2. examples/valenar/docs/lore/adr/ad-0003-story-content-layer-and-agent-audit.md
  3. examples/valenar/docs/story/README.md
  4. examples/valenar/docs/story/templates/story-entry-template.md
  5. The relevant files under examples/valenar/docs/story/indexes/
  6. examples/valenar/docs/implementation/pr-llm-story-authoring-pipeline.md
  7. Every authority file named in touched_lore, plus any cited lh-* row and any cited caution surface under examples/valenar/docs/lore/local/

If those files disagree, the story README and ADR 0003 define the boundary, while the cited authority files define what is true and what exposure is legal.

Ownership Boundary

  • Story prose is non-canon by default. It may depict rumor, omission, bias, propaganda, partial witnesses, and deliberate concealment.
  • Canon truth lives in ul-*, ud-*, gl-*, lh-*, and gd-* authority files. Story files may cite those authorities but must not silently rewrite them.
  • Story files must not claim .secs syntax, Generated provenance, runtime mechanics, compiler lowering, or engine behavior.
  • Do not move gd-* files into examples/valenar/docs/lore/ and do not invent a dedicated story filename prefix in this scope.

Frontmatter And Acceptance Discipline

  • Every story entry must follow the field contract in examples/valenar/docs/story/README.md and the reusable template in examples/valenar/docs/story/templates/story-entry-template.md.
  • canon_delta is mandatory on every entry, including none.
  • branch is mandatory on every entry, including linear.
  • downstream_hooks are mandatory. Flavor-only story artifacts are not ready for acceptance in Valenar's playable-lore chain.
  • accepted/ is for story artifacts that passed story, reveal, and branch audits and have their related index rows updated. Acceptance does not promote the artifact's claims into canon by itself.

Reveal Discipline

  • exposure_tier must not exceed the cited lh-* authority rows.
  • revealed_to_player records what the player actually learns; it may be lower than the allowed ceiling, but never higher.
  • bible-only facts stay hidden. Story prose may not leak them by tone, implication, or omniscient framing.
  • When a story file touches a caution surface such as gl-game1-demon-remains.md, gl-game1-old-hero-traces.md, or gl-game1-false-king.md, the relevant audit notes must explain why the entry stays within the allowed reveal tier.

Branch And Index Discipline

  • Every accepted entry must have matching rows in entity-index.md, timeline-index.md, reveal-ledger.md, and branch-ledger.md.
  • If canon_delta.status is not none, the entry also requires a matching row in canon-delta-log.md.
  • Branch-sensitive entries must name the decision boundary, prerequisites, consequence surfaces, and any rejoin rule. No branch-dependent consequence may remain implicit.
  • The story entry, its audit block, and every referenced ledger row must agree on entry_id, branch scope, reveal ceiling, and downstream consequences.

Agent And Skill Rules

  • Story auditors, reveal auditors, branch auditors, librarians, and verifiers are read-only by instruction and by tool / sandbox shape where the platform supports it.
  • Read-only roles report defects; they do not patch them inline.
  • If a write-capable story workflow is explicitly requested later, its write surface is limited to the target story file plus the matching story indexes. It must not edit ../lore/, gd-*, .secs, Generated, runtime, or tests as part of story acceptance.
  • Do not create a generic writer agent that both authors story and updates canon. Story drafting and canon promotion are separate responsibilities.
  • Do not invent canon names, cosmology facts, deferred proper nouns, runtime mechanics, or provenance just to satisfy a story prompt.

Deferrals And Non-Goals

  • Truth-layer updates remain separate lore/design waves.
  • Runtime / Journal / .secs / Generated support remains separate code waves.
  • Dedicated automation may be added later, but this scope must remain usable with plain Markdown, local skills, and read-only audit agents.
  • Root AGENTS.md and CLAUDE.md do not need story-specific expansion when the local rule, ADR, story README, and Valenar docs already carry the boundary.