Commit Graph
29 Commits
Author SHA1 Message Date
npc0-hue 60d479db71 feat: surface SCUM vehicle functional state 2026-09-18 16:56:36 +08:00
npc0-hue 6488f6b31d Keep SCUM poll jobs and drop orphan job log streams
The metadata snapshot deleted every SCUM sqlite query job while persisting, so
the recurring database poll lost its job records as soon as anything wrote the
snapshot and left its stdout/stderr streams behind. Those polls are the only
producer for the platform scum_user and scum_vehicle tables, and the service
already retires older terminal polls with their streams, so the snapshot no
longer drops them.

Startup now removes job log streams whose job no longer exists, keeping the
autonomous lifecycle streams the Run posts without a platform job. That clears
the streams left by the removed poll producers instead of carrying them in
every snapshot.
2026-09-16 18:41:44 +08:00
npc0-hue 6985f77963 Keep the recurring SCUM database poll bounded
Each dispatched poll is a durable job with two job log streams, so an
unbounded poll history would grow the platform store by roughly two
thousand jobs a day per server. A new poll now retires older terminal jobs
of the same template together with their job log streams, leaving at most
two rows per template while nothing is in flight.
2026-09-16 18:08:18 +08:00
npc0-hue a822e9250a Store SCUM facts in typed platform tables
Run pushes typed SCUM facts through POST /api/v1/run/scum/facts, but the
production router rejected that path before the signature middleware because
runServiceRequest listed individual Run channel prefixes, and MySQL kept SCUM
rows inside the whole metadata snapshot instead of platform tables.

- /api/v1/run/ is now the signed machine channel space while
  /api/v1/run/endpoints keeps normal bearer/admin authorization.
- MySQL gets real scum_user, scum_user_trajectory, scum_vehicle,
  scum_vehicle_trajectory and scum_vehicle_lock tables with parameterized
  per-row repositories instead of full snapshot rewrites. Snapshot-shaped
  tables from the unreleased interim build are replaced, and SCUM rows still
  inside a metadata snapshot are migrated once.
- Facts ingest verifies the target server plugin type and converges stale
  online users to offline after SCUMUserOfflineAfter.
- The plugin page and browser read one bounded /scum/surface response instead
  of five list calls per refresh.

Call-count budget for one server: per 5s facts batch, one SELECT plus one
INSERT/UPDATE per reported user and vehicle, one INSERT per moved trajectory
sample or new lock row, one bounded stale-user SELECT, and a trajectory
retention DELETE at most once per hour. One browser refresh issues one surface
request every 15s instead of five list requests.
2026-09-15 12:12:11 +08:00
npc0-hue 63e2340db7 Prune stale plugin metadata 2026-09-14 17:32:51 +08:00
npc0-hue ecdca8e28b Remove SCUM sqlite user projections 2026-09-14 13:41:44 +08:00
npc0-hue 8c924b5928 Reduce log ingest and SCUM page refresh pressure 2026-09-09 16:21:12 +08:00
npc0-hue fd9dbab669 Reduce hot run polling pressure 2026-09-07 20:26:20 +08:00
npc0-hue 4ab7bb820d Reduce server console polling load 2026-09-07 19:49:20 +08:00
npc0-hue 80cddbf19d Remove legacy client-manager platform path 2026-09-03 16:40:05 +08:00
npc0-hue fb5adf06d6 Remove run node UI and expire registrations 2026-08-21 12:03:06 +08:00
npc0-hue da6c8d607e Remove pre-1.0 production governance surfaces 2026-08-21 00:06:00 +08:00
npc0-hue a7e2e4c6c0 Remove pre-1.0 audit and protected request scaffolding 2026-08-20 23:42:02 +08:00
npc0-hue 65353cf269 feat(scum): rebuild plugin-owned management data 2026-08-15 12:43:09 +08:00
npc0-hue a6c4cdac5d Rebuild SCUM plugin data ownership 2026-08-14 10:03:58 +08:00
npc0-hue da01d39866 Align SCUM operations with reference tools 2026-08-13 18:21:08 +08:00
npc0-hue 8b236d7c15 Implement SCUM direct data plane 2026-08-13 16:33:11 +08:00
npc0-hue b07a792784 Revert SCUM real data management change 2026-08-13 15:33:34 +08:00
npc0-hue 13746150cb refactor(scum): remove legacy projection workflows 2026-08-11 15:18:03 +08:00
npc0-hue a770bc6250 Integrate SCUM real ops workflows 2026-08-10 21:12:53 +08:00
npc0-hue 9f82e310b2 Fix guided lifecycle job scoping 2026-08-01 17:11:25 +08:00
npc0-hue 5b15bd50cb feat(scum): add map trajectory projection 2026-07-28 17:13:48 +08:00
npc0-hue e2d0bc0595 feat(scum): add versioned gift grants 2026-07-28 16:40:35 +08:00
npc0-hue f496fb12ec feat: add controlled scum player state patches 2026-07-28 16:10:06 +08:00
npc0-hue 73947edcee feat(scum): add local game player intelligence 2026-07-28 15:23:09 +08:00
npc0-hue a0e69417db 功能修改 2026-07-20 16:42:33 +08:00
npc0-hue 48b8ad8d6c feat: 完整游戏运维功能 2026-07-18 09:04:01 +08:00
npc0-hue 4f33f761a3 Complete platform management workflows 2026-07-14 16:39:37 +08:00
npc0-hue 7e05d0a4e7 first commit 2026-07-11 14:56:10 +08:00