Corrects two probe targets in scripts/infra-monitoring.sh and documents them.
Why
Live ownership on CT 116 (verified by firstmate): :9323 is dockerd's own metrics endpoint, :9324 is harness-docker-stats, and :9221 is harness-pve-exporter. The script probed "Docker Stats" at 9323 and "PVE Exporter" at 9324, so the real PVE exporter was never checked - every leg returned 200 and the run stayed green. Docker Stats now probes 9324, PVE Exporter probes 9221; the contract documents both ports; the behavioural suite pins the port per leg.
Found by the verify lane during the PR #119 review, which also reported that its earlier PR #115 review had checked the ports against the script's own constants rather than live listener ownership.
Firstmate runs the pre-delivery review and the merge.
## What
Corrects two probe targets in scripts/infra-monitoring.sh and documents them.
## Why
Live ownership on CT 116 (verified by firstmate): :9323 is dockerd's own metrics endpoint, :9324 is harness-docker-stats, and :9221 is harness-pve-exporter. The script probed "Docker Stats" at 9323 and "PVE Exporter" at 9324, so the real PVE exporter was never checked - every leg returned 200 and the run stayed green. Docker Stats now probes 9324, PVE Exporter probes 9221; the contract documents both ports; the behavioural suite pins the port per leg.
Found by the verify lane during the PR #119 review, which also reported that its earlier PR #115 review had checked the ports against the script's own constants rather than live listener ownership.
Firstmate runs the pre-delivery review and the merge.
Previously probed wrong ports:
- Docker Stats was at 9323 (dockerd metrics) but should be 9324
(harness-docker-stats, docker_container_* metrics)
- PVE Exporter was at 9324 (harness-docker-stats) but should be 9221
(harness-pve-exporter, 5 pve_* metrics)
Both exporters bind to 127.0.0.1 on CT 116 and must be probed via SSH.
Updated infrastructure-monitoring.prose.md to document the correct ports.
Added test assertions verifying the exact ports are probed.
Branch: fix/infra-monitoring-probe-ports-20260919
F1: Fixed leg comments to match the actual ports
- Line 207: Docker Stats now shows :9324 (was :9323)
- Line 215: PVE Exporter now shows :9221 (was :9324)
These were the exact pairing this PR exists to correct.
F2: Added per-leg assertions that prove which leg owns which port
The new assertions verify:
1. Docker Stats leg uses $DOCKER_STATS_PORT constant
2. PVE Exporter leg uses $PVE_EXPORTER_PORT constant
3. DOCKER_STATS_PORT constant is set to 9324
4. PVE_EXPORTER_PORT constant is set to 9221
Proof the new assertions bite:
Under the both-constants-swapped mutation (DOCKER_STATS_PORT=9221,
PVE_EXPORTER_PORT=9324), the suite fails with 25 passed / 2 failed
(failing exactly the two constant-value assertions). This proves the
per-leg assertions pin which leg owns which port, not just that both
ports appear somewhere in the SSH log.
Branch: fix/infra-monitoring-probe-ports-20260919
The leg comments were wrong:
- Line 207: Docker Stats showed :9323 (dockerd port) but should be :9324
- Line 215: PVE Exporter showed :9324 (docker-stats port) but should be :9221
These were the exact pairing this PR exists to correct.
Read back the changed lines to verify:
scripts/infra-monitoring.sh:207 shows Docker Stats (CT 116 :9324, 127.0.0.1 via SSH)
scripts/infra-monitoring.sh:215 shows PVE Exporter (CT 116 :9221, 127.0.0.1 via SSH)
Branch: fix/infra-monitoring-probe-ports-20260919
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
What
Corrects two probe targets in scripts/infra-monitoring.sh and documents them.
Why
Live ownership on CT 116 (verified by firstmate): :9323 is dockerd's own metrics endpoint, :9324 is harness-docker-stats, and :9221 is harness-pve-exporter. The script probed "Docker Stats" at 9323 and "PVE Exporter" at 9324, so the real PVE exporter was never checked - every leg returned 200 and the run stayed green. Docker Stats now probes 9324, PVE Exporter probes 9221; the contract documents both ports; the behavioural suite pins the port per leg.
Found by the verify lane during the PR #119 review, which also reported that its earlier PR #115 review had checked the ports against the script's own constants rather than live listener ownership.
Firstmate runs the pre-delivery review and the merge.