Files

38 lines
1.5 KiB
Markdown

## ADDED Requirements
### Requirement: SCUM feature ownership is plugin-local
The SCUM plugin SHALL own SCUM schemas, allowlists, migration adapters,
Companion behavior, and feature UI. The platform SHALL retain only reusable
authorization, isolation, auditing, queues, storage, and generic plugin-host
primitives. `platform_web` SHALL not import SCUM code or branch on `game.scum`.
#### Scenario: Page mounting
- **WHEN** an authorized administrator opens the installed plugin route
- **THEN** the generic host mounts the declared plugin bundle with only
server-scoped permission context
### Requirement: Feature availability is runtime scoped
The plugin SHALL expose a feature as actionable only when its declared
Companion handler or event producer is currently available for that server.
Availability SHALL not be gated by a game or adapter version/build/revision.
#### Scenario: One adapter fails
- **WHEN** a schema probe for state patching fails
- **THEN** state patching is unavailable with a typed reason while other
declared capabilities remain independently available
### Requirement: Transitional records are read-only migration input
Platform records MAY be displayed with provenance while plugin-owned records
become authoritative per server and feature. Migration flags SHALL be scoped
to the server and feature, never to a game version.
#### Scenario: Migration flag is absent
- **WHEN** no unique server-feature migration flag is present
- **THEN** historical records remain readable and plugin writes stay disabled