open-standards/sense/conformance/v1/README.md
Transaction Science babce44ace
All checks were successful
no-vanity-metrics / Scan committed Markdown for vanity metrics (push) Successful in 3s
standards workspaces build + test / eoc-rs (push) Successful in 1m54s
standards workspaces build + test / jcp-rs (push) Successful in 1m19s
standards workspaces build + test / jouleclaw-rs (push) Successful in 4m3s
standards workspaces build + test / proof-rs (push) Successful in 1m14s
standards workspaces build + test / aac-rs (push) Successful in 1m23s
standards workspaces build + test / joule-code-rs (push) Successful in 41s
standards workspaces build + test / sandbox-rs (push) Successful in 2m9s
standards workspaces build + test / joulecontract-rs (push) Successful in 48s
standards workspaces build + test / map-rs (push) Successful in 35s
standards workspaces build + test / mesh-rs (push) Successful in 30s
standards workspaces build + test / smart-byte-rs (push) Successful in 2m36s
standards workspaces build + test / openpay (push) Successful in 1m35s
standards workspaces build + test / arl-rs (push) Successful in 2m6s
standards workspaces build + test / joule-ui-rs (push) Successful in 2m41s
standards workspaces build + test / jouledesk-rs (push) Successful in 2m16s
standards workspaces build + test / joulehook-rs (push) Successful in 4m19s
standards workspaces build + test / sense-rs (push) Successful in 2m34s
standards workspaces build + test / macOS energy backend (jcp-energy) (push) Successful in 2m9s
sense: publish the gate's refusal path — every outcome, with the budget after each
Every published C3 decision was `surface`, so the gate's two refusals — the half of
the attention budget that makes it a budget — were never published or checked, and
pack.rs pinned that absence with a sentinel.

The pack now also publishes the same scripted highlights gated for a user busy in
the modality a surfacing would occupy (focus 0.3, visual) on a 2500 µJ budget at
1000 µJ a surfacing: surface, surface, hold:value, hold:budget, with the budget
after each (1500, 500, 500, 500) — a surfacing debits, a hold spends nothing. The
additions are purely additive; every existing value is unchanged.

The third highlight is held for value although the budget could not have paid for
it either. The reference always tested value first, but the spec never said so, so
SPEC §5 now does: hold:budget means a worthy highlight the budget could not afford.

pack.rs replaces the sentinel with a real check, and requires the pack to publish
all three outcomes. Falsified: testing budget before value changes the published
decisions; a hold that spends changes the published budgets; a pack without its
refusals fails both the decision check and the generator check.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-30 16:25:02 -04:00

2 KiB

Sense conformance vectors — v1

Reproducible fixtures for the five conformance classes (SPEC §9). A third-party implementation is conforming if it reproduces these values from the spec alone. Regenerate with:

cd ../../sense-rs
cargo run -p sense-conformance --bin sense-gen-vectors
  • meta.json — the signing profile: algorithm (EdDSA / COSE -8), the surfacing-receipt profile tag (sense/surfacing/1), the reference steward's public key, and its DID. The steward key is a fixed seed everyone has; it attests nothing — it only makes the signatures reproducible.
  • vectors.json — the expected outputs:
    • c1_replay_digest — the BLAKE3 replay digest of the scripted event stream.
    • c2_event_id — the content id of the canonical event; binds source class and trust.
    • c3_highlights / c3_decisions — the highlights the scripted stream fires and the gate's decisions for an idle-ish user (focus 0.2, audio): all surface.
    • c3_gate_decisions / c3_gate_budget_remaining_uj — the same highlights gated for a user busy in the modality a surfacing would occupy (focus 0.3, visual) on a 2500 µJ budget at 1000 µJ a surfacing: surface, surface, hold:value, hold:budget, with the budget after each — a surfacing debits it, a hold spends nothing. The third highlight is held for value although the budget could not have paid for it either: the value test comes first.
    • c4_recall_model (deterministic) / c4_open_ended_escalated (true) — the cascade answered recall with no model call and escalated the open-ended query.
    • c5_verify_ok (3) / c5_excision_breaks_at (1) — the surfacing chain verifies, and dropping the middle link breaks it at index 1.
    • c5_first_link_jcr1_envelope_hex — the first surfacing link as a JCR-1 COSE_Sign1 envelope, verifiable with the family's shared tooling.

The same facts are asserted by the in-repo tests in sense-conformance, so the published pack and the test suite check identical behaviour.