jcp: read back the five published vector files nothing was reading #98
Open
dcharlot
wants to merge 1 commit from
ci/jcp-pack into main
pull from: ci/jcp-pack
merge into: Transaction-Science:main
Transaction-Science:main
Transaction-Science:ci/macos-energy-widen
Transaction-Science:ci/neural-e2e-guard
Transaction-Science:ci/smart-byte-pack
Transaction-Science:ci/tier2-packs
Transaction-Science:wai-webcodecs-negotiation
Transaction-Science:ci/macos-energy-backend
Transaction-Science:feat/wai-video-workflow
Transaction-Science:ci/joule-code-pack
Transaction-Science:joulecontract/run-negative-vectors
Transaction-Science:ci/jouleclaw-arm64-debuginfo
Transaction-Science:ci/run-conformance-verifiers
Transaction-Science:mesh/cost-calibration
Transaction-Science:diagnose/grounding-backing
Transaction-Science:wai/energy-operating-point
Transaction-Science:wai/2030-transport-landscape
Transaction-Science:wai/constraints-and-unidirectional
Transaction-Science:wai/determinism-tier-covers-emitted-medium
Transaction-Science:wai/moq-streaming-format
Transaction-Science:wai/mpeg-ai-part6-mapping
Transaction-Science:wai/prior-carriage-and-derivations
Transaction-Science:wai/receipt-classes-and-key-discovery
Transaction-Science:wai/task-fidelity
Transaction-Science:wai/transparency-emission
Transaction-Science:wai/c2pa-emitter
Transaction-Science:compliance/eu-scale-pack
Transaction-Science:compliance/composite-grade-v2
Transaction-Science:jcp/erasure-tombstone-v2
Transaction-Science:jcp/avoided-energy
Transaction-Science:jcp/erasure-tombstone
Transaction-Science:jcp/environment-binding
Transaction-Science:proof/stub-on-the-wire
Transaction-Science:compliance/composite-grade
Transaction-Science:mesh/context-cost-profile
Transaction-Science:ar-1-on-main
Transaction-Science:jcp/mcp-meta-receipt
Transaction-Science:wai/energy-binding
Transaction-Science:jcp/energy-coverage-relanded
Transaction-Science:jcp/energy-coverage
Transaction-Science:wai/video-byte-equality
Transaction-Science:eoc/multi-tenant-allocation
Transaction-Science:compliance/banding-function
Transaction-Science:ci-standards-workspaces
Transaction-Science:sandbox/honest-tier
Transaction-Science:proof/joule-ceiling
Transaction-Science:chore/rust-1.98-and-deps
Transaction-Science:wai-jpegai-full-wasm
Transaction-Science:wai-3d-landscape
Transaction-Science:wai-binding-real-decode
Transaction-Science:wai-determinism-tiers
Transaction-Science:wai-jpegai-wasm-demo
Transaction-Science:wai-jpegai-integrate
Transaction-Science:fix-byte-exact-includes
Transaction-Science:ci-windows-shell
Transaction-Science:jpegai-dequant-derive
Transaction-Science:ci-rust-setup
Transaction-Science:fl2-land
Transaction-Science:ci/cross-workspace-check
Transaction-Science:ci-enable
Transaction-Science:jcp-training-receipt
Transaction-Science:joule-code/repair-grant-literals
Transaction-Science:jcp-gateway-flow-relay
Transaction-Science:jcp-receipt-flow-seal
Transaction-Science:jcp-runtime-flow-gate
Transaction-Science:jcp-flow-witness
Transaction-Science:jcp-flow-lattice
Transaction-Science:rust-toolchain-1.97.1
Transaction-Science:score-binary-on-320fa1e
Transaction-Science:sandbox/cred-injection-2
Transaction-Science:sandbox/credential-injection
Transaction-Science:corpus-embedder-s5
Transaction-Science:jcp/cite
Transaction-Science:receipts-corpus-connector
Transaction-Science:jcp/grant-caveats
Transaction-Science:feat/jpegai-derive-inputs
Transaction-Science:feat/jpegai-weight-tools
Transaction-Science:feat/jpegai-icci-validation
Transaction-Science:jcp/x402-example-settlement
Transaction-Science:jcp/x402-bridge
Transaction-Science:jcp/receipt-payload-hash
Transaction-Science:fix/jpegai-pih-flags
Transaction-Science:feat/jpegai-e2e-chain
Transaction-Science:feat/jpegai-e2e-z
Transaction-Science:feat/jpegai-ton
Transaction-Science:jcp/dual-ceilings
Transaction-Science:feat/jpegai-pih
Transaction-Science:feat/jpegai-bitstream
Transaction-Science:feat/jpegai-icci-net2
Transaction-Science:feat/jpegai-icci-net
Transaction-Science:feat/jpegai-dwt
Transaction-Science:feat/jpegai-color
Transaction-Science:score-binary-rerank
Transaction-Science:feat/jpegai-efl
Transaction-Science:feat/jpegai-lef
Transaction-Science:feat/jpegai-efn
Transaction-Science:feat/jpegai-lsbs
Transaction-Science:feat/jpegai-reconstruct
Transaction-Science:jcp/orchestrate-profile-mapping
Transaction-Science:jpegai-sigma-index
Transaction-Science:hyperscale-floorfix
Transaction-Science:feat/jpegai-pipeline-dequant
Transaction-Science:feat/jpegai-e2e-synthesis
Transaction-Science:recovery/jpegai-decoders
Transaction-Science:wai/jpegai-synthesis-executor
Transaction-Science:jouletag-standard
Transaction-Science:wai/jpegai-gate-fixes
Transaction-Science:wai/int-transformer-executors
Transaction-Science:wai/int-transformer-kernels
Transaction-Science:energy/rapl-nvml-hardware-fixes
Transaction-Science:fix/omni-build-and-gguf-tokenizer
Transaction-Science:jouletable-standard
Transaction-Science:jouleclaw/gguf-decoders
Transaction-Science:wai/confidentiality-freshness
Transaction-Science:joulehook-standard
Transaction-Science:honest-counter-provenance
Transaction-Science:amd-kds-adapter
Transaction-Science:evidence-derived-grounding
Transaction-Science:mapping-physically-rooted-clarify
Transaction-Science:attested-efficiency-demo
Transaction-Science:efficiency-energy-attestation
Transaction-Science:mapping-attested-kernel
Transaction-Science:energy-counter-attestation
Transaction-Science:efficiency-surface
Transaction-Science:efficiency-spec
Transaction-Science:harness-econ
Transaction-Science:federation-quic-on-main
No reviewers
Labels
Clear labels
No items
No labels
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".
No due date set.
Dependencies
No dependencies set
Reference
Transaction-Science/open-standards!98
Loading…
Reference in a new issue
No description provided.
Delete branch "ci/jcp-pack"
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?
JCP publishes seven conformance vector files. Two were read by a test. The
other five were read by nothing at all.
jcp-conformance'smain()— the binary CI runs — checks the implementationagainst in-code expectations and never opens the pack directory. So
vectors.json,dual_ceilings.json,standing.json,meta.jsonandlegacy_jcp1.jsoncould drift from the implementation with only the generatorany the wiser. That is how
joulehookandjouledeskended up shipping staleJCR-1 envelopes after the receipt payload gained a field.
action_receipt.jsonaction_receipt_meta.jsonvectors.jsondual_ceilings.jsonstanding.jsonmeta.jsonlegacy_jcp1.jsonNothing was stale — all five reproduce exactly. This closes the gap before
it costs something, rather than after.
legacy_jcp1.jsonis the interesting oneThose envelopes were sealed under the superseded
jcp/1profile beforepayload_hashexisted. The current implementation cannot re-mint them andshould not be able to, so they are verified instead — which is the actual
guarantee the file exists to defend: if they stop verifying, the
jcp/2bumpsilently invalidated every receipt already in the wild.
This was only partly covered.
jcp-receipt'spublished_v1_receipts_still_verifychecks the allow receipt from a hex constant pasted into the test body. The
published file carries two. So the deny receipt was published and never
verified, and nothing tied the in-code copy to the file a third party
downloads. They are byte-identical today (checked); now the file is what is
checked, and both receipts are.
An orphaned doc comment, fixed
The paragraph beginning "The migration guarantee" sat between two tests
with no item of its own, so Rust merged it into the doc of
an_absent_environment_leaves_the_bytes_untouched— a test about somethingelse entirely. It read as documentation for a test that had been deleted, which
is what sent me looking. It now documents
published_v1_receipts_still_verify,and names
legacy_jcp1.jsonrather thanvectors.json, where those bytesactually live.
Falsified
vectors.jsonenvelopestanding.jsonsignaturelegacy_jcp1.jsonenvelopemeta.json's pubkeyspent_after.minorto 301^= 0x00jcp-runtimeThe last is the one that matters: inventing an exchange rate breaks the
dual-ceiling test, so these bind to what the implementation does, not merely
to file-against-file agreement. The pack was restored afterwards and is
byte-identical to main.
Two pre-existing issues found, not touched here
Both confirmed on a branch that does not touch jcp, so neither is from this
change, and neither is reached by CI:
jcp-energy'scumulative_advances_after_cpu_burnfails on this Mac —before=0 after=0, consistently across runs.IoReport::open()succeeds butthe SoC Energy Model counter never advances, so
Meter::detect()selects abackend that measures nothing in preference to the time×power rung that would
at least produce a number. It reports
Provenance::ModelBased, notHwShunt,so this is not a false hardware claim — the crate is honest about the tier.
CI cannot see it: the test is
cfg(target_os = "macos")andjcp-rsruns onthe linux runner, so the macOS energy backend is tested nowhere automated.
jcp-schemadoes not passclippy -D warnings(infallibleTryFromatflow.rs:121). There is no clippy step in CI at all.🤖 Generated with Claude Code
View command line instructions
Manual merge helper
Use this merge commit message when completing the merge manually.
Checkout
From your project repository, check out a new branch and test the changes.Merge
Merge the changes and update on Forgejo.Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.