Description
The second substrate. hostmetricsreceiver is an extremely common real deployment and produces system.cpu.time, system.memory.usage, system.filesystem.usage, system.network.io/.packets/.errors/.dropped/.connections — OTel names, not node_exporter names. So this is a second name catalogue with its own provenance, not a transport switch over signals/host.md.
The detail that will be got wrong if it is not called out: the state attribute value set is explicitly NOT portable across platforms — 8 values on Linux, 4 on non-Linux. host already models Linux, Windows and macOS lanes, so the Windows and macOS lanes must emit the 4-value set. Emitting the Linux 8 everywhere would be a fabricated shape on two of the three lanes.
Acceptance Criteria
- #1 Only scrapers with sourced metadata are emitted; each family carries provenance and date in signals/otlp-metrics.md
- #2 The state attribute value set differs correctly between the Linux lane and the Windows and macOS lanes
- #3 Opt-in switch; the promrw node_exporter and windows_exporter lanes are unchanged when off
Definition of Done
- #1 make gate (build vet test race rw-proto-check spdx-check forbidden-words)
- #2 make blueprint-schema (only if a blueprint field or construct/workload config struct changed)
- #3 DRY_RUN=true go run ./cmd/synthkit -once -dump — inventory diffed against signals/
Implementation Plan
Lane D: implement opt-in native OTLP host metrics solely from the captured hostmetrics shape, pin Linux versus non-Linux state values, and prove the promrw path is unchanged when disabled. Return provenance and any root-owned wiring requests.
Implementation Notes
Lane D dispatch preflight: EXECUTION route requested as gpt-5.6-luna/max with fork_turns=none; Delegation forbidden. Lane A code base 25e8c040 is exact-SHA green including e2e and ci-success.
Final verification: focused host native-OTLP tests passed for all 19 sourced families, Linux versus non-Linux CPU state sets, opt-in behavior and unchanged disabled promrw output. The complete inventory contains the host lane; it closes 19 extra-metric gaps (437->418) and exposes 19 host label-shape coverage gaps (103->122), proving the lane is compared rather than vacuous. make blueprint-schema, the complete 28-blueprint dry-run inventory, make e2e at 650/650 and make gate passed.
Exact implementation SHA 1729e2068321fc53b6d973a6fc981fc1066c4c42 passed GitHub ci run 33186760476, including signal-fidelity, go, docker, hygiene, helm, ui, secret-scan, e2e and ci-success.
Final Summary
Added 19 sourced hostmetrics native OTLP families with platform-correct CPU states and opt-in parity; verified by focused tests, non-vacuous fidelity attribution, complete inventory, e2e and make gate.