Skip to content

RPT Telemetry Consumer Port Map

rayswaynl edited this page Jul 6, 2026 · 1 revision

RPT Telemetry Consumer Port Map

Every off-engine consumer of AICOM telemetry that must port to the unified V2 grammar before V1 emitters can be retired at cutover step 4. Grounded in the cutover brief (docs/design/v2/AICOM-V2-CUTOVER-AND-RECONCILIATION.md) and the 2026-07-05 tooling audit.

A consumer that is not ported blocks step 3 (parity soak). A consumer that is not ported or deliberately retired blocks step 4 (shelve). Record each decision — port or retire — in AICOM-V2-MIGRATION-MAP.md as work completes.


Port status table

Consumer Location Current parse target Port to Blocks Status
analyze_soak.py Tools/Soak/analyze_soak.py `AICOMSTAT v1 +AICOMSTAT v2
Score-AicomRounds.ps1 Tools/PrTestHarness/Aicom/ Does not exist. Named in cutover brief as the parity-soak round scorer. Create; parse unified `AICOM2 v1 ` grammar; output round-level KPIs comparable to V1 baseline.
aicom-watch.ps1 Tools/PrTestHarness/Ops/ Does not exist. Named in cutover brief as the live AICOM line watcher. Create; tail RPT and display unified grammar lines in real time. Step 3 Not started — must be created
RPT analyzer suite Tools/PrTestHarness/Rpt/*.ps1 + KnownNoise.txt + MissionIssuePatterns.txt Various V1 AICOMSTAT patterns Review each file; add `AICOM2 v1 ` patterns; update known-noise list to account for brief double-emission during transition window.
rpt-grpaudit.ps1 (box-side) C:\WASP\rpt-grpaudit.ps1 on livehost Reads `DELEGSTAT , GRPBUDGET ` etc. (groupsGC families) These families survive unchanged — no port needed for groupsGC lines. Review for any incidental AICOMSTAT parsing.
Update-PublicStats.ps1 (box-side) C:\WASP\Update-PublicStats.ps1 on livehost (the :8080 stats dashboard RPT parsing) Reads AICOMSTAT for dashboard gauges. Known bug: parses `GRPEMPTY v1 but mission emitsEMPTYGRP v1
WASPSCALE v2/v2-EXT analyzers Tools/Soak/analyze_soak.py WASPSCALE branches; coverage doc WASPSCALE-V2-Ext-Coverage-Gap-Audit `WASPSCALE v2 ` No port needed. WASPSCALE is wire-stable and is not a commander-owned family. Coverage gaps in the existing doc are a separate improvement item.
Wiki reference pages AI-Commander-Logging-And-AICOMSTAT-Telemetry, AICOMSTAT-V2-Event-Vocabulary-Census, WASPSCALE-V2-Telemetry-Reference + any page citing V1 worker behaviour Describe V1 grammar as current At step 5: mark V1-specific content historical; update grammar descriptions to point at unified `AICOM2 v1 ` contract.

Gating order

The following order is required by the cutover brief:

  1. Score-AicomRounds.ps1 created and wired to unified grammar — gates step 3 (parity soak). Nothing else in the soak-gate can close without a scorer.
  2. analyze_soak.py extended — also gates step 3. The scorer depends on the same grammar parse.
  3. aicom-watch.ps1 created — gates real-time monitoring during the transition window (steps 2–3).
  4. Update-PublicStats.ps1 ported — gates step 4. V1-only emitters cannot retire until the dashboard stops reading them.
  5. RPT analyzer suite reviewed — gates step 4 (must not fire false errors on brief double-emission).
  6. Wiki pages marked historical — step 5.

EMPTYGRP prefix defect (fix at consumer, not mission)

The mission correctly emits EMPTYGRP|v1| (server_groupsGC.sqf). The consumer Update-PublicStats.ps1 incorrectly parses GRPEMPTY|v1|. Fix: update the parse pattern in Update-PublicStats.ps1 on the livehost. Do not change the mission-side prefix — it is correct and changing it would invalidate any historical RPT analysis that used the correct prefix.


Related pages

Sidebar

Clone this wiki locally