Files
browser/openspec/changes/implement-scum-direct-data-plane/specs/scum-direct-data-plane/spec.md
T

2.0 KiB

ADDED Requirements

Requirement: Plugin-declared SCUM data packs

The system SHALL allow a SCUM plugin manifest to reference package-relative versioned SQL, log parser, and configuration mapping assets. Every query declaration that produces persisted SCUM rows MUST declare a scum_* target table and non-empty upsert keys; inline SQL and browser-supplied SQL MUST be rejected.

Scenario: v57 query declaration resolves a packaged statement

  • WHEN the SCUM v57 plugin package declares a query with a relative .sql reference and row-target metadata
  • THEN manifest validation accepts the declaration and distribution includes the referenced asset

Scenario: inline statement is rejected

  • WHEN a manifest contains SQL text instead of a package-relative SQL reference
  • THEN manifest validation rejects the manifest with a declaration error

Requirement: Generic SCUM row ingestion

The system SHALL ingest rows returned for a registered SCUM data template according to that template's declared target table, upsert keys, and column mappings, without routing by a query-key substring.

Scenario: user rows are ingested

  • WHEN a registered user template returns rows containing its declared key and columns
  • THEN Platform upserts those rows into scum_users and records their plugin payload

Scenario: unsupported row target is rejected

  • WHEN a registered data template names a target outside the allowed scum_* tables
  • THEN Platform rejects the result before any dataset row is written

Requirement: SCUM v57 source coverage

The initial SCUM pack SHALL include data declarations for users, squads and members, activity, gifts, and map points, plus parser/mapping declarations for supplied SCUM logs and configuration formats.

Scenario: operators inspect supplied source families

  • WHEN the SCUM plugin package is assembled for database version 57
  • THEN it contains SQL assets and declarations for all five console datasets and log/config parser assets