summarize-allow.hex was pinned to the superseded jcp/1 receipt profile — a 588-byte envelope its own README and receipt.json called 586 — while the reference teammate seals jcp/2, which binds a payload_hash (667 bytes). The teammate is deterministic (three runs byte-identical) and the new envelope decodes to every field receipt.json records. pack.rs now requires the teammate to seal the published bytes exactly, and the published bytes themselves to verify under the channel steward and decode to receipt.json. Falsified: the old receipt back in the pack fails the byte check; a changed cost_uj in receipt.json fails the decode checks. Co-Authored-By: Claude Opus 5.5 <[email protected]>
33 lines
1.4 KiB
Markdown
33 lines
1.4 KiB
Markdown
# Joule Desk conformance vectors — `v1`
|
|
|
|
Published vectors for `jouledesk/1`. The reference teammate is deterministic (fixed dev
|
|
keys, `now = 0`), so these bytes are reproducible — anyone can check an implementation
|
|
against them without trusting it.
|
|
|
|
## Files
|
|
|
|
- **`summarize-allow.hex`** — the raw sealed JCR-1 (`COSE_Sign1`) decision receipt for a
|
|
granted `summarize` tag: 667 bytes, byte-identical on every run of the reference
|
|
teammate. Its payload is the current JCP receipt profile, `jcp/2`, which binds a
|
|
`payload_hash`.
|
|
- **`receipt.json`** — what that envelope MUST decode + verify to under the channel
|
|
steward key `did:jcp:jouledesk-channel` (SPEC §5): `verdict: allow`, `cost_uj: 100000`,
|
|
`budget_remaining_uj: 900000`, `verified: true`.
|
|
|
|
## Reproducing
|
|
|
|
```bash
|
|
cd ../../jouledesk-rs
|
|
cargo run -p jouledesk --example vector # stdout = the hex; stderr = the decode
|
|
```
|
|
|
|
The regenerated hex MUST equal `summarize-allow.hex`, and the decode MUST match
|
|
`receipt.json`.
|
|
|
|
## What a conformant teammate must satisfy
|
|
|
|
1. **Authorise** each tagged action against the capability set **outside the model**
|
|
(§4); refuse an unheld skill or an over-budget tag at routing (§5).
|
|
2. **Seal** every dispatched decision as an independently-verifiable JCR-1 receipt (§5),
|
|
debiting the joule budget on allow.
|
|
3. **Meter** energy per completed unit and never overstate provenance (§6; §7 honesty).
|