|
| 1 | +--- |
| 2 | +description: When monitor output changes need consumer work, produce a secondary consumer plan (what + why) |
| 3 | +alwaysApply: true |
| 4 | +--- |
| 5 | + |
| 6 | +# Monitor: consumer-side secondary plan |
| 7 | + |
| 8 | +When a **monitor** change would require updates outside `HPCPerfStats/monitor/` (ingest, dbload, analysis, dashboards), produce a **secondary consumer plan** in the same turn — **before** or **alongside** monitor implementation. Do **not** implement consumer code unless the user explicitly authorizes that path (**monitor-workspace-contract**, **out-of-monitor-hpcperfstats-rules**). |
| 9 | + |
| 10 | +## Trigger (any of these) |
| 11 | + |
| 12 | +- New or changed sample/schema shape (`@fast`/`@full`, `,R=S`, column count, host token position). |
| 13 | +- `st_name`, device id, or event key rename/retirement that breaks historical ingest or queries. |
| 14 | +- Semantics change (gauge vs cumulative `E`, MAD vs sysfs counter source). |
| 15 | +- Consumer parser would mis-align, drop, or mis-label columns without a matching change. |
| 16 | + |
| 17 | +Read **`HPCPerfStats/hpcperfstats/listend.py`** (and relevant parsers such as **`sync_timedb_parsing.py`**) to confirm impact — do not guess. |
| 18 | + |
| 19 | +## Required secondary plan content |
| 20 | + |
| 21 | +Use a clearly labeled section, e.g. **Consumer follow-up plan**, with: |
| 22 | + |
| 23 | +1. **Why** — what monitor behavior changed and why the current consumer cannot handle it. |
| 24 | +2. **What** — concrete tasks (files/functions/tests) on the consumer side. |
| 25 | +3. **Rollout** — deploy order (consumer first vs together vs monitor escape hatch e.g. `enable_slow_tier 0`). |
| 26 | +4. **Verification** — consumer tests or manual checks to run after both sides land. |
| 27 | +5. **Rename/migration** — YAML map entries, dashboard/query updates if applicable (**monitor-consumer-schema-migration**). |
| 28 | + |
| 29 | +Keep the plan actionable for a separate session or authorized consumer edit; it is not a substitute for **`monitor_variable_rename_map.yaml`** or **`monitor/README.md`** migration notes when those apply. |
| 30 | + |
| 31 | +## Monitor-only handoff |
| 32 | + |
| 33 | +In the monitor implementation summary, state explicitly: **consumer plan attached** or **no consumer changes required**, with one sentence of rationale. |
| 34 | + |
| 35 | +Cross-links: **monitor-workspace-contract**, **monitor-consumer-schema-migration**, **implementation-workflow-discipline**. |
0 commit comments