34 lines
1.8 KiB
Markdown
34 lines
1.8 KiB
Markdown
## Why
|
|
|
|
SCUM plugin behavior must survive server updates without treating a game, UE4SS,
|
|
database, build, or revision string as a feature kill switch. The prior plan
|
|
also incorrectly treated plugin-generated SQL and management-command text as a
|
|
direct-access surface. Generating text is distinct from possessing a DSN, RCON
|
|
credential, host path, socket, or shell capability.
|
|
|
|
## What Changes
|
|
|
|
- Move all SCUM feature authority to the plugin and its Companion, with generic
|
|
platform authorization, isolation, approval, audit, expiry, queue, protected
|
|
storage, and Run channels.
|
|
- Replace build/version/revision gates with runtime schema and capability probes.
|
|
- Let plugins declare and generate bounded SQL, RCON, or program-management
|
|
request text for a logical, server-bound protected transport. Platform stores,
|
|
authorizes, approves, audits, expires, and forwards that opaque payload; Run
|
|
alone resolves the bound transport and executes the authorized request.
|
|
- Keep platform transport-agnostic: it validates declarations, scope, limits,
|
|
lifecycle, and redaction but does not parse SCUM SQL, RCON, or program syntax.
|
|
- Let Run provide bounded SCUM process stdout/stderr console records through the
|
|
platform log channel for plugin parsing. These are not file execution logs.
|
|
- Require bounded `succeeded`/`failed`/`unknown` result classifications and safe
|
|
diagnostics. Unknown text, command formats, and fields affect only the one
|
|
request and never disable unrelated features.
|
|
|
|
## Non-Goals
|
|
|
|
No plugin, page, AI request, or result projection receives a DSN, database
|
|
path, raw connection, RCON credential, host path, direct socket, or shell.
|
|
Protected program-management requests are not host OS shell requests. No OCR,
|
|
screenshot, keyboard/mouse injection, desktop automation, Run source, SCUM
|
|
import, or `game.scum` branch is added to `platform_web`.
|