3.3 KiB
ADDED Requirements
Requirement: Version-scoped player state catalog
The system SHALL allow SCUM player state patches only for a declared exact game version and an explicit catalog of skill/attribute fields with numeric ranges.
Scenario: Unknown server version
- WHEN an administrator requests a patch and the current server state reports an unknown game version
- THEN the system SHALL disable the patch request and SHALL not queue a bridge command
Scenario: Out-of-range or unknown field
- WHEN a request contains a field absent from the version catalog or a value outside its range
- THEN the system SHALL reject the request before an audit approval or game-side command is created
Requirement: Authorized and safe patch request
The system SHALL ensure that the game player belongs to the target server, the requester has server access, the expected player-state version matches the current snapshot, and the snapshot declares a verified maintenance/offline safety window before creating a patch record.
Scenario: Stale player state
- WHEN a patch carries an expected state version different from the current player-state snapshot
- THEN the system SHALL reject it as a conflict and SHALL not dispatch a patch command
Scenario: Online server without a safe window
- WHEN a state snapshot indicates the target player is online or maintenance is not verified
- THEN the system SHALL reject the request with a readable safety status
Requirement: Explicit administrator approval and immutable audit
The system SHALL persist each accepted request with field-level before/after values, reason, requester, approval state, approver, and execution status. Only a platform administrator with server access MAY approve dispatch.
Scenario: Non-admin approval
- WHEN a server-authorized non-platform-admin attempts to approve a pending patch
- THEN the system SHALL deny approval and SHALL leave the patch pending
Requirement: Typed game-state patch execution and confirmation
The system SHALL dispatch only the declared game-state.patch command through the game-client bridge. A successful record SHALL require a typed per-field result and a read-after-write confirmation whose values equal the requested values and whose state version advances.
Scenario: Companion reports a failure
- WHEN the companion returns a failed patch command result
- THEN the patch record SHALL be terminal
execution-failed, preserve the readable result summary, and SHALL not be reported as applied
Scenario: Result is missing or unconfirmable
- WHEN the command expires, is cancelled, returns malformed state, or cannot confirm the requested values
- THEN the record SHALL retain an explicit
execution-unknownorconfirmation-failedstatus and SHALL not be reported as applied
Requirement: Readable SCUM console workflow
The SCUM player console SHALL show player detail context and provide a Chinese patch form only for supported safe states. It SHALL show a textual field diff, reason, approval status, executor result, and confirmation status without relying only on color.
Scenario: Pending approval
- WHEN a patch is awaiting approval
- THEN the console SHALL label it as awaiting platform-administrator approval and display the old/new values and requester reason