From one change to one signed record.

When a GPU's power cap changes, Spark-XC reads what happened from the GPU, signs it, and links it into a hash chain. The result is one Power Event Record per recorded change. Records power-limit changes made by other tools, not just its own.

View Architecture → See Use Cases

Each step, in detail

GPU & time Limit before Limit after (read back) Signature + chain link PER POWER EVENT RECORD
Each recorded change → one Power Event Record.
01
See the change
Spark-XC sees a power-cap change on a GPU and notes which GPU and when. Records power-limit changes made by other tools, not just its own.
Which GPU When Changes by other tools included Read from the GPU
CHANGE_SEEN
> GPU: node-01:gpu:3
> SOURCE: other tool
> TIME: recorded
✓ SEEN
02
Note the limit before
The record holds the power limit the GPU reported before the change, so the step can be read on its own.
Limit before the change Reported by the GPU
LIMIT_BEFORE
> VALUE: 350W
> (illustrative)
✓ RECORDED
03
Read the limit back
After the change, Spark-XC reads the limit back from the GPU, with its power draw and temperature. The record holds what the GPU reported, not just what was asked for. If a value can't be read, the record marks it missing.

Spark-XC records the GPU's own reported power limits and telemetry. It does not include facility or utility meter data.
Limit after, read back Power draw & temperature Missing values marked
READBACK
> REQUESTED: 300W
> READBACK: 300W
> (illustrative)
✓ READ BACK
04
Sign it
Every record is signed with Ed25519. Auditors only need the public key.
Ed25519 signature Check with the public key
SIGNATURE
> ALG: Ed25519
> CHECK: public key
✓ SIGNED
05
Chain and anchor it
The signed record is SHA-256 hash-chained to the one before and appended to the chain. An edit to a stored record breaks the chain on recompute.

Anyone with a copy can recompute the chain. Anchors go to a local write-once directory by default, and can be sent to off-site storage you control.
SHA-256 hash chain Append-only Local write-once anchors by default Off-site anchors you control
POWER_EVENT_RECORD
> SEQ: 14820
> PREV: 2e57...419f
> HASH: f33c...8b02
> PER: SEALED
✓ PER SEALED

What the records would show when something goes wrong

These are illustrative examples, not real events. Each shows what the records would show.

Example A
The limit didn't change
A new power cap is requested, but the limit the GPU reports back doesn't match.
What the records would show: the requested and read-back values side by side.
Example B
Another tool changed the limit
Someone changes a GPU's power limit with a different tool.
What the records would show: the change, recorded like any other. Records power-limit changes made by other tools, not just its own.
Example C
A stored record is edited
Someone edits or deletes a stored Power Event Record.
What the records would show: a broken chain on recompute. Anyone with a copy can recompute the chain.
Example D
A value can't be read
The GPU doesn't return one of the values Spark-XC reads.
What the records would show: the value marked missing. Nothing is guessed.
Example E
A record can't be written
Storage is full or unavailable when a change happens.
What the records would show: a flag. If a record can't be written, Spark-XC flags it.
Example F
Spark-XC is offline
The Spark-XC service stops for a while. Your GPUs and schedulers carry on.
What the records would show: no Power Event Records for that window.

Each step, at a glance

Step
Source
What it shows
If unavailable
In the PER
1 · Change
Which GPU, when
GPU
Read from the GPU
A change happened
Including changes by other tools
Flagged
Record not written, flagged
Device & time
GPU id and timestamp
2 · Before
Limit before
GPU
Reported limit
Starting point
The limit before the change
Marked missing
Not guessed
Limit before
Watts, as reported
3 · After
Limit read back
GPU
Reported limit & telemetry
What the GPU did
Not just what was asked
Marked missing
Not guessed
Readback values
Limit, power, temperature
4 · Sign
Ed25519
Spark-XC
Signing key
Who sealed it
Check with the public key
Flagged
Unsigned records flagged
Signature
Ed25519
5 · Chain
SHA-256
Spark-XC
Previous record's hash
Not edited since
Breaks on recompute if edited
Flagged
Gap flagged
Chain link
prev_hash, entry_hash

Check a Power Event Record yourself

Walk one power-cap change from the GPU to a sealed Power Event Record, then recompute its hash chain.

Show me the record → View Use Cases