specs: a vendor counter is a hardware reading only while it is demonstrably live #119
Loading…
Reference in a new issue
No description provided.
Delete branch "energy/liveness-must-specs"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Every spec that grades vendor energy counters now gets the same MUST. A counter's figure counts as a hardware reading only while the counter is demonstrably live for the domain the figure claims.
Why. On macOS 27 an unprivileged reader sees IOReport's CPU energy rails republished only in rare lumps, sometimes in two steps. A meter that trusts a counter merely because the counter is present reports CPU work as GPU-only energy or as zero, and labels it a reading. Every spec below allowed exactly that. The vendor counter is still a real reading (the trust gap is provenance, not accuracy), but only while it moves.
What changed (text plus doc comments; no code paths, no vectors):
spec/receipt.md§2 (REQUIRED): HwShunt now covers a live vendor counter; the MUST is added.SPEC.md§6: aligned with receipt.md, plus the §9 readiness row.ROADMAP.md, theexamples/l3-jouleclawREADME, thejoule-code-receiptHwShunt doc and a CHANGELOG note.SPEC.md§7: the MUST, and the reference PowerMeter grades a reading HwShunt only while its counter is live (§10 too).sense-schemadoc comments.spec/receipt.md§2: the MUST, noting thatReceipt::sealcannot check liveness.SPEC.md§6 and a CHANGELOG entry.ARL-S.mdTelemetry gets the rule in ARL's own lower-case style. A counter that is not live gives no physical telemetry, and that energy is unmetered.Verified.
joule-code-conformance verifygives 24/0/0.-D warningsis clean; the vanity-metrics check is clean; all 29 relative links resolve.Merge after #114 and #117. Sense §7 describes the sandbox PowerMeter behaviour that #114 adds. #117 is where jouleclaw-energy grades a live IOReport reading the same way.
Left for a one-line follow-up:
map-receipt's HwShunt doc comment ("RAPL/SMC/shunt").Smart-byte spec/vector gate
The change to treatise §8.6 is editorial for the pack: the wire format and every vector stay the same. So the last commit records it under
## Editorial change loginsmart-byte/conformance/v1/regeneration.md, as the gate's error message asks. The envelope and SAID vectors carrymeasured_microjoulesas a fixed input (1200, 0 and 1). Their expected values depend on that number, not on how a node came to report it, so no vector changes.Rebased onto
mainafter #99 and #125 merged. The entry now sits first in their change log, and the branch merges cleanly.🤖 Generated with Claude Code
9f8bb000182ed679bb6e