Skip to Content
ShadowdarkShadowdark Compliance Matrix

Shadowdark Compliance Matrix

Rule IDRequirementCode MappingStatusSeverityAction
SD-CR-0013d6 stat generationserver/src/index.ts:183 (/api/character/roll)CompliantP0Server-authoritative strict roll
SD-CR-002Reroll if no 14+shared/src/models/quickstart.ts:123 (rollValidQuickstartStats)CompliantP0Unified in shared rules
SD-CR-003Stat bounds and profile constraintsshared/src/models/quickstart.ts:35, client/src/app/create/page.tsx:179, server/src/index.ts:235CompliantP0Client and server use same limits
SD-CR-004Strict flow must gate mint/createclient/src/app/create/page.tsx:206, client/src/app/create/page.tsx:390CompliantP0Forge blocked until fresh strict roll
SD-CR-005Manual point-buy secondary/disabledclient/src/app/create/page.tsx:176CompliantP1MANUAL_STAT_EDIT_ENABLED = false
SD-DER-001HP/AC/gold derived from strict rollserver/src/index.ts:194, client/src/app/create/page.tsx:366CompliantP0Derived payload returned by strict endpoint
SD-INV-001Slot formula from attributes, no halfling slot penaltyshared/src/models/quickstart.ts:154, shared/src/models/rules.ts:78CompliantP0Halfling slot penalty removed
SD-INV-002Starter kit quantity and class-kit zero-slot handlingserver/src/game/itemSeeds.ts:877, server/src/index.ts:703, server/src/db/itemQueries.ts:98CompliantP0Quantity and slot override supported
SD-SBT-001Mint payload must satisfy strict profile and slot formulaclient/src/lib/OneChain.ts:269CompliantP0Added field-level strict validation before tx
SD-SBT-002Onchain progress update entrypoint in appclient/src/lib/OneChain.ts:426CompliantP0Uses update_hero_progress
SD-SBT-003Split mutable inventory/loadout offchainclient/src/lib/shadowdarkSbt.ts:309CompliantP0Snapshot mutation offchain; onchain progress only
SD-CORE-001Full gear shop purchase flow from 2d6x5 gp/create UX (not fully implemented)PartialP1Current flow is starter-kit-first, not full buy screen
SD-CORE-002Item cost parity with full quickstart tablesserver/src/game/itemSeeds.tsPartialP1Several template prices are project-tuned/non-canonical
SD-CORE-003Spellcasting/mishap audit parity across runtime systemsserver/src/combat/*, shared/src/models/*BacklogP2Requires dedicated subsystem audit pass
Last updated on