Files

2.1 KiB

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