46 lines
2.1 KiB
Markdown
46 lines
2.1 KiB
Markdown
## ADDED Requirements
|
|
|
|
### Requirement: Companion uses runtime capability isolation
|
|
|
|
The SCUM Companion SHALL dispatch only declared typed handlers bound to its
|
|
authorized server. Handler availability SHALL come from runtime capability and
|
|
schema probes, not a game, UE4SS, database, build, revision, or version gate.
|
|
A probe or command failure SHALL affect only that handler invocation.
|
|
|
|
#### Scenario: A runtime adapter is unavailable
|
|
|
|
- **WHEN** a typed port or schema probe is unavailable
|
|
- **THEN** the Companion returns a typed unavailable/failed/unknown result for
|
|
that command and does not disable an unrelated plugin feature
|
|
|
|
### Requirement: Protected requests are platform mediated
|
|
|
|
The SCUM plugin SHALL be able to generate bounded SQL, RCON, or
|
|
program-management request text for a declared logical protected transport.
|
|
Platform SHALL authorize, isolate by tenant and server, approve, audit with
|
|
redaction, expire, queue, store, and forward each opaque request to the bound
|
|
Run endpoint. Platform SHALL not parse SCUM SQL, RCON, or program syntax. Run
|
|
SHALL execute only a current, authorized, server-bound request and return a
|
|
bounded `succeeded`, `failed`, or `unknown` result with safe diagnostics.
|
|
No plugin, web page, or AI request SHALL receive a path, DSN, raw connection,
|
|
credential, host path, direct socket, or shell capability.
|
|
|
|
#### Scenario: Unsupported request format
|
|
|
|
- **WHEN** Run cannot recognize a request text, command format, or field
|
|
- **THEN** it returns `failed` or `unknown` with a safe diagnostic for that
|
|
request and does not disable an unrelated capability
|
|
|
|
### Requirement: SCUM console records use the log channel
|
|
|
|
Run SHALL send bounded SCUM process stdout/stderr console records through the
|
|
durable platform log channel. The Companion SHALL parse only declared bounded
|
|
formats and skip unknown lines with a bounded diagnostic. Console records are
|
|
not file execution logs.
|
|
|
|
#### Scenario: Unknown console output
|
|
|
|
- **WHEN** stdout or stderr does not match a declared semantic parser
|
|
- **THEN** the Companion records a bounded diagnostic and uploads no semantic
|
|
event or raw line
|