Commit df1928c
committed
Surface run repair-needed age on dw system:operator-metrics
Adds the `runs.oldest_repair_needed_at` and `runs.max_repair_needed_age_ms`
keys on the cli's operator-metrics output schema and renders the worst-case
stuck-workflow age rows on `dw system:operator-metrics`.
The two keys are the canonical stuck-workflow duplicate-risk age indicator
paired with the `durable_resume_paths` health check; their absence from the
`--json` contract previously narrowed what HTTP-only fleet operators could
read from the metric alone.
`OperatorMetricsCommand::renderRuns()` emits "Oldest repair-needed age:" and
"Oldest repair-needed at:" rows directly under the existing
`Repair needed:` count when the snapshot reports them, omitting both rows
gracefully when the snapshot predates the contract. `schemas/output/operator-metrics.schema.json`
pins `runs.oldest_repair_needed_at` (`["string","null"]`) and
`runs.max_repair_needed_age_ms` (`["integer","null"]`).
New tests:
- `test_operator_metrics_schema_pins_runs_repair_needed_age_keys`
- `test_operator_metrics_command_omits_runs_repair_needed_age_when_snapshot_predates_contract`
- render-smoke assertions for the two new rows in
`test_operator_metrics_command_renders_rollout_safety_signals`
Full `SystemCommandTest` 46/46 green; full cli suite 548/548 green.
Public Boundary scan exit 0.1 parent 97ecc0c commit df1928c
3 files changed
Lines changed: 51 additions & 0 deletions
File tree
- schemas/output
- src/Commands/SystemCommand
- tests/Commands
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
| 17 | + | |
| 18 | + | |
17 | 19 | | |
18 | 20 | | |
19 | 21 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
98 | 98 | | |
99 | 99 | | |
100 | 100 | | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
101 | 110 | | |
102 | 111 | | |
103 | 112 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
505 | 505 | | |
506 | 506 | | |
507 | 507 | | |
| 508 | + | |
| 509 | + | |
508 | 510 | | |
509 | 511 | | |
510 | 512 | | |
| |||
759 | 761 | | |
760 | 762 | | |
761 | 763 | | |
| 764 | + | |
| 765 | + | |
| 766 | + | |
| 767 | + | |
| 768 | + | |
| 769 | + | |
| 770 | + | |
| 771 | + | |
| 772 | + | |
| 773 | + | |
| 774 | + | |
| 775 | + | |
| 776 | + | |
| 777 | + | |
| 778 | + | |
| 779 | + | |
| 780 | + | |
| 781 | + | |
| 782 | + | |
| 783 | + | |
| 784 | + | |
| 785 | + | |
| 786 | + | |
| 787 | + | |
| 788 | + | |
| 789 | + | |
| 790 | + | |
| 791 | + | |
| 792 | + | |
| 793 | + | |
| 794 | + | |
| 795 | + | |
| 796 | + | |
| 797 | + | |
| 798 | + | |
| 799 | + | |
762 | 800 | | |
763 | 801 | | |
764 | 802 | | |
| |||
1038 | 1076 | | |
1039 | 1077 | | |
1040 | 1078 | | |
| 1079 | + | |
| 1080 | + | |
1041 | 1081 | | |
1042 | 1082 | | |
1043 | 1083 | | |
| |||
0 commit comments