refactor(scum): declare protected run requests
This commit is contained in:
@@ -2,22 +2,32 @@
|
||||
|
||||
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
|
||||
incorrectly used static compatibility gates.
|
||||
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, audit, queue, storage, and Run channels.
|
||||
platform authorization, isolation, approval, audit, expiry, queue, protected
|
||||
storage, and Run channels.
|
||||
- Replace build/version/revision gates with runtime schema and capability probes.
|
||||
- Let Run provide bounded SCUM stdout/stderr records, typed database reads, and
|
||||
fixed administration operations only through platform-authorized channels.
|
||||
- Require field allowlists, pre-read/safe-window/write-confirmation flows, and
|
||||
`succeeded`/`failed`/`unknown` results for mutating adapters.
|
||||
- Preserve fixed-template `vehicle.spawn`; its private `#spawnvehicle
|
||||
<vehicleCode>` audit text never enters a result or page payload.
|
||||
- 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 arbitrary RCON, SQL, shell, socket, path, DSN, credential, raw database
|
||||
row, OCR, screenshot, keyboard/mouse injection, or desktop automation is
|
||||
introduced. No SCUM import or `game.scum` branch is added to `platform_web`.
|
||||
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`.
|
||||
|
||||
Reference in New Issue
Block a user