Add SCUM operations workflow OpenSpec

This commit is contained in:
npc0-hue
2026-08-10 18:24:51 +08:00
parent ff34a20906
commit ba2b1a9d9f
8 changed files with 496 additions and 0 deletions
@@ -0,0 +1,34 @@
## Why
The SCUM plugin currently mixes placeholder surfaces, broad management tools, and incomplete real-data plumbing, so player, squad, vehicle, flag, map, gift, and state-management features cannot be trusted as live operations data. We need to turn SCUM integration into a real server-operations cockpit driven by the bound run/agent and current SCUM server facts, while preserving AI-assisted configuration and replacing unsafe/manual panels with typed workflows.
## What Changes
- Add real SCUM data ingestion workflows for login logs, SCUM.db read models, and platform-local projections for players, squads, vehicles, flags, positions, and observations.
- Add controlled SCUM operations for player currency, fame, attribute/stat fields such as `855`, gift delivery, notifications, and maintenance-safe data mutations.
- Add a typed workflow queue so platform can execute SCUM workflows one by one with approval, lease fencing, read-after-write confirmation, retry rules, stale-state handling, and audit evidence.
- Expand integrated SCUM features beyond the current pages: player identity enrichment, squad/flag governance, vehicle inventory, map overlays, economy and gift lifecycle, risk signals, rollback snapshots, and AI operation recommendations.
- Preserve AI assistant flows for quick plugin configuration and operations recommendations, but constrain AI output to reviewable typed diffs and allowlisted workflow requests.
- Replace product-facing log viewer, management terminal, raw config workbench, and operation-history surfaces with workflow/status views that expose only approved typed operations and safe summaries.
- **BREAKING**: Remove product-layer APIs and plugin page routes whose primary purpose is raw logs, terminal/RCON input, arbitrary config file editing, or generic operation history; internal log ingest, run channels, audit, lifecycle, source RCON, query bridge, and AI config approval remain.
## Capabilities
### New Capabilities
- `scum-real-data-projections`: Real SCUM login-log and SCUM.db observation pipelines, typed query result validation, local platform projections, freshness/staleness behavior, and read-only product surfaces.
- `scum-controlled-operations`: Typed SCUM write operations using RCON where possible and bounded DB mutation only where required, with approval, offline/maintenance safety, read-after-write confirmation, and rollback evidence.
- `scum-workflow-automation`: Sequential workflow execution for SCUM operations, including workflow definitions, queueing, dependencies, status, retries, blocking states, and audit-safe progress reporting.
- `scum-product-surface`: User management, squad management, realtime map, vehicle/flag management, gift management, AI assistant integration, and removal of raw log/terminal/config/history product surfaces.
### Modified Capabilities
- None.
## Impact
- `platform/`: domain models, repositories, services, validators, DTOs, API routes, run job projection, game player/gift/state services, audit-safe workflow records, and tests.
- `platform_web/`: server detail route composition, SCUM plugin host contracts, first-party pages, API clients/types, AI assistant UI, and removal of raw product panels.
- `plugins/`: SCUM plugin manifest, schemas, query templates, operation templates, companion handlers, feature pages/contracts, SDK validation, manifest tests, and plugin validation tooling.
- External run repository: must implement the machine-side execution half for declared SCUM.db read models and controlled write operations without re-adding a `run/` tree to this repository.
- Security boundaries: browser never receives SQL text, host paths, DSNs, credentials, run sockets, or raw protected request text; failed observations never overwrite last-known-good projections.