Skip to content

Species identity and O.C.C. eligibility foundation #60

Description

@StreamDemon

First prerequisite for #57 under umbrella #12. This issue becomes the sole next-up task.

Goal: introduce the minimum reusable species and O.C.C.-eligibility foundation without pulling Psi-Stalker, R.C.C., or psionics content into the Coalition Grunt slice.

Approved boundary:

  • add a small species catalog with Human playable and Psi-Stalker recorded as a deferred, nonplayable identity from p.233;
  • treat Human as the compatibility default for legacy characters without rewriting stored documents;
  • replace free-text racial requirements with structured any or oneOf O.C.C. species eligibility and content-load validation;
  • prove the printed Coalition Grunt Human/Psi-Stalker restriction with a focused p.233 test fixture while keeping production Grunt content in Coalition Grunt O.C.C.: second playable class foundation #57;
  • add one pure eligibility validator reused by builder, deriveSheet, and backend writes for species and attributes;
  • preserve pure derivation and reject unknown or unavailable ids.

Authoritative rules evidence for the first consumer comes from rendered RUE p.233. Any additional printed mechanics must be rendered and page-stamped; do not infer them from memory.

Explicitly out of scope: playable Psi-Stalker content, R.C.C. mechanics, I.S.P./psychic powers (#14), Coalition Grunt content itself (#57), S.D.C./skill effects, and starting loadouts.

Success requires rules/backend/web package gates, root gates, focused compatibility tests, and live browser verification of the locked Human identity and resolved sheet display. No existing character document is rewritten.

Predecessor: none.
Successor: #61, then #62, then #57.

Builder presentation: show Human as a locked identity field while it is the only playable species; do not add an otherwise empty wizard step.

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

    area:backendConvex backendarea:frontendWeb app (builder + sheet)area:rulesRules engine (@riftforge/rules)

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions