joulespec: applied to a standard that is not its own, which found a mis-aimed mutation #570
9 changed files with 1236 additions and 1 deletions
45
.github/workflows/standards-build.yml
vendored
45
.github/workflows/standards-build.yml
vendored
|
|
@ -131,7 +131,13 @@ jobs:
|
|||
- { name: jouledesk-rs, dir: jouledesk/jouledesk-rs, runner: macos }
|
||||
- { name: arl-rs, dir: arl/arl-rs, runner: linux }
|
||||
- { name: sense-rs, dir: sense/sense-rs, runner: linux }
|
||||
- { name: proof-rs, dir: proof/proof-rs, runner: linux, z3: true, conformance: proof-conformance }
|
||||
# `applied:` points the joulespec producer at this standard's own
|
||||
# conformance items (SPEC §8), mapped to real checks with a
|
||||
# counter-artifact each. It is the only gate that keeps those
|
||||
# mappings honest: a refactor that moves the code a mutation was
|
||||
# aimed at makes the harvest refuse, and a check that stops being
|
||||
# able to fail becomes a finding rather than staying green.
|
||||
- { name: proof-rs, dir: proof/proof-rs, runner: linux, z3: true, conformance: proof-conformance, applied: proof/conformance/v1/joulespec.toml }
|
||||
- { name: joulehook-rs, dir: joulehook/joulehook-rs, runner: linux }
|
||||
- { name: eoc-rs, dir: eoc/eoc-rs, runner: linux, feature_tests: "-p eoc-meter --features cuda" }
|
||||
# mesh-openai's `serve_example` test (the reference server seals what
|
||||
|
|
@ -339,6 +345,43 @@ jobs:
|
|||
exit 1
|
||||
fi
|
||||
|
||||
# The same producer, pointed at a *different* standard.
|
||||
#
|
||||
# `applied: <manifest>` names a manifest that lives with the standard it
|
||||
# describes, so this measures how well that standard's own conformance
|
||||
# items are evidenced. It is deliberately a separate step from the one
|
||||
# above: that one builds the producer from the workspace under test,
|
||||
# which only works where the workspace under test *is* the producer's.
|
||||
# Here the producer is built from its own workspace and then run against
|
||||
# someone else's.
|
||||
#
|
||||
# No `--out`: a receipt written here would dirty the tree and fail the
|
||||
# revert check below, and its energy figures differ every run anyway.
|
||||
- name: JouleSpec applied to this standard
|
||||
if: matrix.applied
|
||||
run: |
|
||||
set -euo pipefail
|
||||
# Built and located in separate commands on purpose: folded into
|
||||
# one substitution, a build failure yields an empty path and the
|
||||
# step fails with "no such file" instead of the compiler error.
|
||||
( cd joulespec/joulespec-rs && cargo build --release -p joulespec-cli )
|
||||
target="$(cd joulespec/joulespec-rs \
|
||||
&& cargo metadata --no-deps --format-version 1 \
|
||||
| python3 -c 'import json,sys; print(json.load(sys.stdin)["target_directory"])')"
|
||||
test -x "$target/release/joulespec" \
|
||||
|| { echo "the producer did not build at $target/release/joulespec"; exit 1; }
|
||||
"$target/release/joulespec" harvest \
|
||||
--manifest "${{ matrix.applied }}" --require-grade E3
|
||||
- name: The applied harvest left no mutation behind
|
||||
if: matrix.applied
|
||||
run: |
|
||||
set -euo pipefail
|
||||
if ! git diff --quiet; then
|
||||
echo "the applied harvest did not revert cleanly:"
|
||||
git diff --stat
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Both directions of the proof path, live.
|
||||
#
|
||||
# The first run must verify with every declared reachability cover
|
||||
|
|
|
|||
|
|
@ -360,6 +360,29 @@ All of it is recorded in
|
|||
[`conformance/v1/README.md`](conformance/v1/README.md), and that is the `E3`
|
||||
rung doing the only thing it claims to do.
|
||||
|
||||
## Applied to a standard that is not this one
|
||||
|
||||
A producer that has only ever measured its own specification has demonstrated
|
||||
a format, not a method. `proof/conformance/v1/joulespec.toml` points this
|
||||
producer at a sibling standard: its conformance items are read from that
|
||||
standard's own published document, each is mapped to a named check in its
|
||||
workspace, and each mapping declares a counter-artifact that must make that
|
||||
check fail. Every item of that standard's conformance section reaches `E3`,
|
||||
and CI gates it there under `applied:` — so a refactor that moves the code a
|
||||
mutation was aimed at makes the harvest refuse, and a check that stops being
|
||||
able to fail becomes a finding instead of staying green.
|
||||
|
||||
Doing it found one thing, and the shape of the finding matters more than the
|
||||
finding. The first counter-artifact for that standard's routing clause was
|
||||
aimed at a constant the router turned out not to read, so the check passed
|
||||
with the constant reordered and the harvester reported that the check could
|
||||
not see its subject. The report was right; the manifest was wrong. A producer
|
||||
can say only what it observed — that a check passed while something it was
|
||||
supposed to notice was broken — and whether that means *the check is weak* or
|
||||
*the mutation missed* is the operator's call. Re-aimed at the sort that
|
||||
actually orders the rungs, the same check failed at once, which is how the
|
||||
clause's evidence ended up real rather than assumed.
|
||||
|
||||
## Conformance packs
|
||||
|
||||
Three, answering different questions:
|
||||
|
|
|
|||
134
proof/conformance/v1/joulespec.toml
Normal file
134
proof/conformance/v1/joulespec.toml
Normal file
|
|
@ -0,0 +1,134 @@
|
|||
# JouleSpec applied to the proof standard.
|
||||
#
|
||||
# The first time this producer has measured a specification other than its own.
|
||||
# Clauses are read from `../../SPEC.md` section 8 rather than copied here, so
|
||||
# this manifest cannot drift from that document: reword an item and its
|
||||
# obligation address moves, and the witness bound to the old wording stops
|
||||
# applying.
|
||||
#
|
||||
# The three declared things are human judgements the standard refuses to guess
|
||||
# (JouleSpec SPEC 2.6, 2.5, 8): which check stands for which obligation, where
|
||||
# each check's expectation comes from, and which inputs it depends on.
|
||||
|
||||
workspace = "../../proof-rs"
|
||||
steward = "did:key:joulespec-applied-proof"
|
||||
|
||||
[spec]
|
||||
document = "../../SPEC.md"
|
||||
section = "8. Conformance"
|
||||
# This document writes its conformance items as a bulleted list with bold
|
||||
# labels, which is a fact about the document rather than about this producer.
|
||||
shape = "bulleted-bold-label"
|
||||
# C1..C5 and C-neg. A floor, so a parser that matched fewer fails rather than
|
||||
# reporting success over a shorter list.
|
||||
expect_at_least = 6
|
||||
intent = "The cheapest-sufficient prover routes, accounts and seals as section 8 requires."
|
||||
|
||||
[artifact]
|
||||
dirs = ["crates"]
|
||||
extensions = ["rs"]
|
||||
|
||||
[energy]
|
||||
watts = 30.0
|
||||
provenance = "estimator"
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# C1 -- cheapest-sufficient routing
|
||||
#
|
||||
# The first mutation written here was aimed at `Tier::LADDER`, on the
|
||||
# assumption that the router iterated it. It does not: that constant is read
|
||||
# only by the monotonicity checks, and the router sorts the solvers it was
|
||||
# handed. So the check passed with the constant reordered, and the harvester
|
||||
# reported -- correctly -- that the check could not see its subject. The
|
||||
# report was right and the manifest was wrong, which is the distinction the
|
||||
# operator has to make and the producer cannot.
|
||||
#
|
||||
# Aimed at the sort, the same check fails at once.
|
||||
[[evidence]]
|
||||
clause = "C1"
|
||||
check = "tests::trivial_closes_at_t0_no_waste"
|
||||
anchor = "specification"
|
||||
footprint = [
|
||||
"crates/proof-schema/src/lib.rs",
|
||||
"crates/proof-cascade/src/lib.rs",
|
||||
]
|
||||
[evidence.counter]
|
||||
file = "crates/proof-cascade/src/lib.rs"
|
||||
find = " solvers.sort_by_key(|s| s.tier());"
|
||||
replace = " solvers.sort_by_key(|s| std::cmp::Reverse(s.tier()));"
|
||||
breaks = "orders the router's rungs dearest-first, so a goal no longer closes at the cheapest tier that can discharge it"
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# C2 -- disclosed escalation
|
||||
[[evidence]]
|
||||
clause = "C2"
|
||||
check = "tests::escalation_discloses_waste"
|
||||
anchor = "specification"
|
||||
footprint = ["crates/proof-cascade/src/lib.rs"]
|
||||
[evidence.counter]
|
||||
file = "crates/proof-cascade/src/lib.rs"
|
||||
find = " wasted_uj = wasted_uj.saturating_add(uj);"
|
||||
replace = " wasted_uj = wasted_uj.saturating_add(0);"
|
||||
breaks = "stops counting a failed cheaper attempt's joules as escalation waste"
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# C3 -- energy honesty
|
||||
[[evidence]]
|
||||
clause = "C3"
|
||||
check = "tests::ladder_is_cheapest_first_and_monotone"
|
||||
anchor = "specification"
|
||||
footprint = ["crates/proof-schema/src/lib.rs"]
|
||||
[evidence.counter]
|
||||
file = "crates/proof-schema/src/lib.rs"
|
||||
find = """ pub const LADDER: [Tier; 4] = [
|
||||
Tier::Automation,
|
||||
Tier::Smt,"""
|
||||
replace = """ pub const LADDER: [Tier; 4] = [
|
||||
Tier::Smt,
|
||||
Tier::Automation,"""
|
||||
breaks = "breaks the ladder's strict monotonicity by putting a dearer rung first"
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# C4 -- the flywheel
|
||||
[[evidence]]
|
||||
clause = "C4"
|
||||
check = "tests::cache_is_the_flywheel"
|
||||
anchor = "specification"
|
||||
footprint = ["crates/proof-cascade/src/lib.rs"]
|
||||
[evidence.counter]
|
||||
file = "crates/proof-cascade/src/lib.rs"
|
||||
find = """ total_uj: 0,
|
||||
wasted_uj: 0,"""
|
||||
replace = """ total_uj: 1,
|
||||
wasted_uj: 0,"""
|
||||
breaks = "charges a joule for a proof served from cache, so re-proving is no longer free"
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# C5 -- the receipt
|
||||
[[evidence]]
|
||||
clause = "C5"
|
||||
check = "jcr1::tests::envelope_rejects_wrong_steward"
|
||||
anchor = "specification"
|
||||
footprint = ["crates/proof-receipt/src/jcr1.rs"]
|
||||
[evidence.counter]
|
||||
file = "crates/proof-receipt/src/jcr1.rs"
|
||||
find = " if kid != expected_steward {"
|
||||
replace = " if false {"
|
||||
breaks = "stops comparing the envelope's key id against the expected steward, so a wrong steward verifies"
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# C-neg -- the negative pack
|
||||
[[evidence]]
|
||||
clause = "C-neg"
|
||||
check = "tests::unproved_goal_cannot_be_sealed"
|
||||
anchor = "specification"
|
||||
footprint = ["crates/proof-receipt/src/lib.rs"]
|
||||
[evidence.counter]
|
||||
file = "crates/proof-receipt/src/lib.rs"
|
||||
find = """ if !r.proved {
|
||||
return Err(ReceiptError::NotProved);
|
||||
}"""
|
||||
replace = """ if false {
|
||||
return Err(ReceiptError::NotProved);
|
||||
}"""
|
||||
breaks = "lets a receipt be sealed for a goal nothing proved"
|
||||
46
proof/conformance/v1/joulespec/README.md
Normal file
46
proof/conformance/v1/joulespec/README.md
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
# This standard, measured by `joulespec/1`
|
||||
|
||||
Not part of this standard's own conformance pack. The vectors beside it
|
||||
(`../meta.json`, `../receipts.jsonl`) are what an implementation of *this*
|
||||
standard round-trips. These files answer a different question: **how well is
|
||||
each conformance item of §8 actually evidenced, and what did establishing that
|
||||
cost?**
|
||||
|
||||
Produced by [`../joulespec.toml`](../joulespec.toml):
|
||||
|
||||
```
|
||||
joulespec harvest --manifest conformance/v1/joulespec.toml \
|
||||
--out conformance/v1/joulespec --require-grade E3
|
||||
```
|
||||
|
||||
The clauses are read from [`../../../SPEC.md`](../../../SPEC.md) §8 rather than
|
||||
copied into the manifest, so the manifest cannot drift from the specification:
|
||||
reword a conformance item and its obligation address moves, and the witness
|
||||
bound to the old wording stops applying.
|
||||
|
||||
Every item of §8 — C1 through C5 and the negative pack — reaches **`E3`**:
|
||||
each is mapped to a named check, and each check is on record *failing* against
|
||||
a declared counter-artifact, so its passing carries information. Attestation
|
||||
is reported **absent**, not `A0`: no work units were declared, so no
|
||||
implementer is known, and absence of information about who built something is
|
||||
not evidence that someone else checked it.
|
||||
|
||||
**These files are a measurement, not a vector.** Their energy figures come
|
||||
from a wall clock and are graded `Estimator`, so re-running the harvest
|
||||
produces different microjoules and therefore different receipt bytes. Nothing
|
||||
here should be diffed byte-for-byte.
|
||||
|
||||
## What producing it found
|
||||
|
||||
The first counter-artifact written for C1 aimed at `Tier::LADDER`, on the
|
||||
assumption that the router iterated that constant. It does not — the constant
|
||||
is read only by the monotonicity checks, and the router sorts the solvers it
|
||||
was handed. So `trivial_closes_at_t0_no_waste` passed with the constant
|
||||
reordered, and the harvester reported that the check could not see its
|
||||
subject.
|
||||
|
||||
That report was correct and the manifest was wrong. The distinction between
|
||||
"this check is weak" and "this mutation missed the code path" is the
|
||||
operator's to make; a producer can only say which it observed. Re-aimed at
|
||||
`Router::new`'s sort, the same check fails immediately — so the check was
|
||||
strong all along, and C1's evidence is real rather than assumed.
|
||||
BIN
proof/conformance/v1/joulespec/receipt.cbor
Normal file
BIN
proof/conformance/v1/joulespec/receipt.cbor
Normal file
Binary file not shown.
85
proof/conformance/v1/joulespec/receipt.json
Normal file
85
proof/conformance/v1/joulespec/receipt.json
Normal file
|
|
@ -0,0 +1,85 @@
|
|||
{
|
||||
"artifact": "b3:05719e9abe2729462eb80c614ea69449b0ce9165010fde1b4413187be845fc1d",
|
||||
"clause_verdicts": [
|
||||
{
|
||||
"anchor": "specification",
|
||||
"evidence_uj": 139730713,
|
||||
"grade": "E3",
|
||||
"kind": "requirement",
|
||||
"label": "C1",
|
||||
"means": "falsifiable",
|
||||
"obligation": "b3:adc5e745e3ef9f0f017f5b3b49f02e87e09f3ce90523807b333c75fdc57bee2a",
|
||||
"stale": 0,
|
||||
"witness": "b3:ea82a1462f0ae528874a25d4a29064ae4d51d984b32c689cce575e476f71dca5"
|
||||
},
|
||||
{
|
||||
"anchor": "specification",
|
||||
"evidence_uj": 261673929,
|
||||
"grade": "E3",
|
||||
"kind": "requirement",
|
||||
"label": "C2",
|
||||
"means": "falsifiable",
|
||||
"obligation": "b3:814ffce0b4c9b37cb3a0171964b0af495d896d142fe2841a787d92f250f7b7a7",
|
||||
"stale": 0,
|
||||
"witness": "b3:c20d7b87ca653857a6b62f78400cd42d2d99a132a34fd3a94b88ff7a7cc9e881"
|
||||
},
|
||||
{
|
||||
"anchor": "specification",
|
||||
"evidence_uj": 414690903,
|
||||
"grade": "E3",
|
||||
"kind": "requirement",
|
||||
"label": "C3",
|
||||
"means": "falsifiable",
|
||||
"obligation": "b3:b97f13ee7662fd25c38f45b86afffa1756e4904db6b3017b066c357f5207ce73",
|
||||
"stale": 0,
|
||||
"witness": "b3:2f881887042a17ae716852e26479da9720a3a898f0177dd4fe3ae9c2a92ec70b"
|
||||
},
|
||||
{
|
||||
"anchor": "specification",
|
||||
"evidence_uj": 383318791,
|
||||
"grade": "E3",
|
||||
"kind": "requirement",
|
||||
"label": "C4",
|
||||
"means": "falsifiable",
|
||||
"obligation": "b3:4b5112bf045683cbec8973e40b2efe325410ab0638edb4853f77251a0d550d9f",
|
||||
"stale": 0,
|
||||
"witness": "b3:9eaa1f178c4679a902d882a43387eb9a4de982ce9273dd706e0cf6dcb9e447c0"
|
||||
},
|
||||
{
|
||||
"anchor": "specification",
|
||||
"evidence_uj": 403680024,
|
||||
"grade": "E3",
|
||||
"kind": "requirement",
|
||||
"label": "C5",
|
||||
"means": "falsifiable",
|
||||
"obligation": "b3:83fb7c1fce0c05889e287ae4cc1659367c5e3a731339ceedf978ef1b16f063f7",
|
||||
"stale": 0,
|
||||
"witness": "b3:3e050c6d50d74450ff4f3cb23539149ec92d9ff60d46a70618149e8c02b3c7d1"
|
||||
},
|
||||
{
|
||||
"anchor": "specification",
|
||||
"evidence_uj": 252481436,
|
||||
"grade": "E3",
|
||||
"kind": "requirement",
|
||||
"label": "C-neg",
|
||||
"means": "falsifiable",
|
||||
"obligation": "b3:6507f37527e2e4087f9bae36bf0be616a33bd604e824ff18e8af9122c48f31fa",
|
||||
"stale": 0,
|
||||
"witness": "b3:d5157feddeb335fa1a067b2776bb7127a4a6ae460a6c4e46f912744cc4bb5ba9"
|
||||
}
|
||||
],
|
||||
"clauses": 6,
|
||||
"evidence_uj": 1855575796,
|
||||
"flags": 0,
|
||||
"grade": "E3",
|
||||
"joulespec_receipt": "joulespec/1",
|
||||
"open": 0,
|
||||
"owed": 6,
|
||||
"provenance": "Estimator",
|
||||
"spec": "b3:6a79446b181f33db7f07c6825d225934b45c974cb72f6fb16ef9402a6e0d1b75",
|
||||
"specified_uj": 0,
|
||||
"steward": "did:key:joulespec-applied-proof",
|
||||
"uj_per_falsifiable_clause": 309262632,
|
||||
"unspecified": [],
|
||||
"unspecified_uj": 0
|
||||
}
|
||||
140
proof/conformance/v1/joulespec/spec.json
Normal file
140
proof/conformance/v1/joulespec/spec.json
Normal file
|
|
@ -0,0 +1,140 @@
|
|||
{
|
||||
"spec": {
|
||||
"profile": "joulespec/1",
|
||||
"alg": 1,
|
||||
"intent": "The cheapest-sufficient prover routes, accounts and seals as section 8 requires.",
|
||||
"clauses": [
|
||||
{
|
||||
"label": "C1",
|
||||
"kind": "requirement",
|
||||
"text": "cheapest-sufficient routing — each goal closes at the cheapest tier that can discharge it."
|
||||
},
|
||||
{
|
||||
"label": "C2",
|
||||
"kind": "requirement",
|
||||
"text": "disclosed escalation — `total_uj` equals the sum of all attempts, and `wasted_uj` is exactly the joules of cheaper attempts that failed first."
|
||||
},
|
||||
{
|
||||
"label": "C3",
|
||||
"kind": "requirement",
|
||||
"text": "energy honesty — the ladder is strictly monotone; the batch is accounted against a frontier-only baseline with non-negative savings."
|
||||
},
|
||||
{
|
||||
"label": "C4",
|
||||
"kind": "requirement",
|
||||
"text": "the flywheel — re-proving an identical goal costs zero new joules."
|
||||
},
|
||||
{
|
||||
"label": "C5",
|
||||
"kind": "requirement",
|
||||
"text": "the receipt — a proved result seals to JCR-1 and verifies; a wrong steward fails."
|
||||
},
|
||||
{
|
||||
"label": "C-neg",
|
||||
"kind": "requirement",
|
||||
"text": "provenance coupling is enforced; an unproved goal cannot be sealed; a tampered envelope fails; canonical CBOR rejects floats/bools."
|
||||
}
|
||||
],
|
||||
"parent": null,
|
||||
"author": [
|
||||
138,
|
||||
136,
|
||||
227,
|
||||
221,
|
||||
116,
|
||||
9,
|
||||
241,
|
||||
149,
|
||||
253,
|
||||
82,
|
||||
219,
|
||||
45,
|
||||
60,
|
||||
186,
|
||||
93,
|
||||
114,
|
||||
202,
|
||||
103,
|
||||
9,
|
||||
191,
|
||||
29,
|
||||
148,
|
||||
18,
|
||||
27,
|
||||
243,
|
||||
116,
|
||||
136,
|
||||
1,
|
||||
180,
|
||||
15,
|
||||
111,
|
||||
92
|
||||
]
|
||||
},
|
||||
"sig": [
|
||||
73,
|
||||
24,
|
||||
67,
|
||||
55,
|
||||
1,
|
||||
151,
|
||||
40,
|
||||
50,
|
||||
66,
|
||||
94,
|
||||
76,
|
||||
87,
|
||||
199,
|
||||
153,
|
||||
123,
|
||||
90,
|
||||
136,
|
||||
162,
|
||||
236,
|
||||
0,
|
||||
135,
|
||||
50,
|
||||
167,
|
||||
140,
|
||||
26,
|
||||
255,
|
||||
149,
|
||||
91,
|
||||
24,
|
||||
159,
|
||||
204,
|
||||
202,
|
||||
53,
|
||||
203,
|
||||
71,
|
||||
58,
|
||||
153,
|
||||
199,
|
||||
119,
|
||||
232,
|
||||
193,
|
||||
14,
|
||||
158,
|
||||
63,
|
||||
134,
|
||||
159,
|
||||
54,
|
||||
190,
|
||||
56,
|
||||
22,
|
||||
148,
|
||||
171,
|
||||
92,
|
||||
71,
|
||||
23,
|
||||
204,
|
||||
10,
|
||||
59,
|
||||
177,
|
||||
63,
|
||||
92,
|
||||
75,
|
||||
214,
|
||||
4
|
||||
]
|
||||
}
|
||||
29
proof/conformance/v1/joulespec/state.json
Normal file
29
proof/conformance/v1/joulespec/state.json
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
{
|
||||
"address": "b3:05719e9abe2729462eb80c614ea69449b0ce9165010fde1b4413187be845fc1d",
|
||||
"parts": [
|
||||
"b3:0e7ee89c74bfca496a54ba8c5ae5ede4764b59740526a8ab452cb23065385ca1",
|
||||
"b3:21622b4b039b6469ccb11967c657d31762d28dba15c260190569acbe3ea42cd4",
|
||||
"b3:2d17be4e2c03d1026bb2f5c469b446fbc79a86fad7bc51183193d6b3e94c94ac",
|
||||
"b3:3ce20eabeea604c713b52e1733f0f955c17ec676a7e9ff52e0df370170e58c8e",
|
||||
"b3:4b0eef47eefb151e591497dc8df77fec40af8133ca7758f639ab8b584982d748",
|
||||
"b3:56b09606c1560717eaee0415ed58b38fff47fc6696b69b863c638fc7593be8d4",
|
||||
"b3:587af7d56a92893b16606df511157bb77cb3da41e4a0799b7c74dbcb40b6dfba",
|
||||
"b3:5b4ea66ec4875399561dde3aeb47ffabf45a02566d0efdf0f7f4bcf3322fd22d",
|
||||
"b3:5eb7feed39e6b851536d5fa1cc27fef178a4ede3143c53e88bbb6ab2d79bc7df",
|
||||
"b3:5ecc89991378c5de1606e014f20aea26171cac5341c77848d15a181e9aeec15b",
|
||||
"b3:62fd9b47143a2809d3c48f9ce51830236c1c716fd1a9b7c5bf4edb8626e71b74",
|
||||
"b3:679714ce4e11833c0f79c623919f3421b2003ed87c561e7cc38d4481d0338a51",
|
||||
"b3:a9f17ef3fda27cac3d5dcebde85054f86fa31da613108074b90793b16733899c",
|
||||
"b3:c274f7292238590ff0fe43b2dc2318bba8bd403b9d142f4cfb6b851c335b7f50",
|
||||
"b3:ca9033c320c2183b50669dfdfca0c489d444e65c6e6ebab5e80026ddd2130f80",
|
||||
"b3:cfaf689ebcea29f26386fa4a87eb6ac627623ce4c38b159ef3dd06fc5763e1b6",
|
||||
"b3:d1279d21de286663d8c6c3333f74d9ad73a0d7c87835d4bf8f794fb1a7aeebc3",
|
||||
"b3:d3e9847cbe5b2267d97bd6c0a55027d7e28b7684b531ed0e3562748f83bb884f",
|
||||
"b3:e6e0f4e5328ab9b7baea8f03e7d77bceebd6c5729947596d2e2ca3e37efa50e3",
|
||||
"b3:ecf775c7c052f89a24fbe289afd10834590f413e89f1b41c2f8aaffb5ba35005",
|
||||
"b3:f3011268fadce958c1d3ed6923d647759f04adcd3d1bb8ab3760a869a800be27",
|
||||
"b3:f7799106462a4de775a30579e44041c2cd2d7929eb8379a731731bef4bb8caef",
|
||||
"b3:fba41b1c26efbcdbb2635813b88d1dc658b6abc69d5a24acfcbbd1d451663d74",
|
||||
"b3:ff21bdb01fb64783cb055f695a24f80f204f981e8861a94df4a4bcaf4f838e3b"
|
||||
]
|
||||
}
|
||||
735
proof/conformance/v1/joulespec/witnesses.json
Normal file
735
proof/conformance/v1/joulespec/witnesses.json
Normal file
|
|
@ -0,0 +1,735 @@
|
|||
[
|
||||
{
|
||||
"witness": {
|
||||
"profile": "joulespec-witness/1",
|
||||
"alg": 1,
|
||||
"spec_id": "b3:6a79446b181f33db7f07c6825d225934b45c974cb72f6fb16ef9402a6e0d1b75",
|
||||
"obligation": "b3:adc5e745e3ef9f0f017f5b3b49f02e87e09f3ce90523807b333c75fdc57bee2a",
|
||||
"artifact": "b3:05719e9abe2729462eb80c614ea69449b0ce9165010fde1b4413187be845fc1d",
|
||||
"footprint": [
|
||||
"b3:3ce20eabeea604c713b52e1733f0f955c17ec676a7e9ff52e0df370170e58c8e",
|
||||
"b3:587af7d56a92893b16606df511157bb77cb3da41e4a0799b7c74dbcb40b6dfba"
|
||||
],
|
||||
"evidence": {
|
||||
"kind": "falsifiable",
|
||||
"check": "tests::trivial_closes_at_t0_no_waste",
|
||||
"anchor": "specification",
|
||||
"counter": "b3:a997ef230b7fa61c6dbef5b479ddc4250762acdcfa506cec80d4d48458cf11df"
|
||||
},
|
||||
"energy": {
|
||||
"uj": 139730713,
|
||||
"provenance": "estimator"
|
||||
},
|
||||
"author": [
|
||||
129,
|
||||
57,
|
||||
119,
|
||||
14,
|
||||
168,
|
||||
125,
|
||||
23,
|
||||
95,
|
||||
86,
|
||||
163,
|
||||
84,
|
||||
102,
|
||||
195,
|
||||
76,
|
||||
126,
|
||||
204,
|
||||
203,
|
||||
141,
|
||||
138,
|
||||
145,
|
||||
180,
|
||||
238,
|
||||
55,
|
||||
162,
|
||||
93,
|
||||
246,
|
||||
15,
|
||||
91,
|
||||
143,
|
||||
201,
|
||||
179,
|
||||
148
|
||||
]
|
||||
},
|
||||
"sig": [
|
||||
211,
|
||||
129,
|
||||
109,
|
||||
77,
|
||||
73,
|
||||
151,
|
||||
228,
|
||||
208,
|
||||
177,
|
||||
43,
|
||||
31,
|
||||
178,
|
||||
23,
|
||||
6,
|
||||
195,
|
||||
12,
|
||||
154,
|
||||
120,
|
||||
115,
|
||||
194,
|
||||
130,
|
||||
54,
|
||||
85,
|
||||
119,
|
||||
79,
|
||||
13,
|
||||
59,
|
||||
120,
|
||||
189,
|
||||
18,
|
||||
210,
|
||||
69,
|
||||
205,
|
||||
44,
|
||||
195,
|
||||
131,
|
||||
229,
|
||||
83,
|
||||
9,
|
||||
57,
|
||||
7,
|
||||
3,
|
||||
239,
|
||||
74,
|
||||
215,
|
||||
14,
|
||||
203,
|
||||
253,
|
||||
148,
|
||||
164,
|
||||
80,
|
||||
208,
|
||||
187,
|
||||
23,
|
||||
63,
|
||||
78,
|
||||
11,
|
||||
215,
|
||||
107,
|
||||
93,
|
||||
79,
|
||||
56,
|
||||
17,
|
||||
12
|
||||
]
|
||||
},
|
||||
{
|
||||
"witness": {
|
||||
"profile": "joulespec-witness/1",
|
||||
"alg": 1,
|
||||
"spec_id": "b3:6a79446b181f33db7f07c6825d225934b45c974cb72f6fb16ef9402a6e0d1b75",
|
||||
"obligation": "b3:814ffce0b4c9b37cb3a0171964b0af495d896d142fe2841a787d92f250f7b7a7",
|
||||
"artifact": "b3:05719e9abe2729462eb80c614ea69449b0ce9165010fde1b4413187be845fc1d",
|
||||
"footprint": [
|
||||
"b3:587af7d56a92893b16606df511157bb77cb3da41e4a0799b7c74dbcb40b6dfba"
|
||||
],
|
||||
"evidence": {
|
||||
"kind": "falsifiable",
|
||||
"check": "tests::escalation_discloses_waste",
|
||||
"anchor": "specification",
|
||||
"counter": "b3:0d96a0f76fe868b04f2aa1974d2aac9ce0dddc6b9bb33eb736bbfbaafcc562a6"
|
||||
},
|
||||
"energy": {
|
||||
"uj": 261673929,
|
||||
"provenance": "estimator"
|
||||
},
|
||||
"author": [
|
||||
129,
|
||||
57,
|
||||
119,
|
||||
14,
|
||||
168,
|
||||
125,
|
||||
23,
|
||||
95,
|
||||
86,
|
||||
163,
|
||||
84,
|
||||
102,
|
||||
195,
|
||||
76,
|
||||
126,
|
||||
204,
|
||||
203,
|
||||
141,
|
||||
138,
|
||||
145,
|
||||
180,
|
||||
238,
|
||||
55,
|
||||
162,
|
||||
93,
|
||||
246,
|
||||
15,
|
||||
91,
|
||||
143,
|
||||
201,
|
||||
179,
|
||||
148
|
||||
]
|
||||
},
|
||||
"sig": [
|
||||
239,
|
||||
174,
|
||||
173,
|
||||
232,
|
||||
58,
|
||||
92,
|
||||
91,
|
||||
48,
|
||||
193,
|
||||
173,
|
||||
183,
|
||||
139,
|
||||
168,
|
||||
47,
|
||||
90,
|
||||
85,
|
||||
29,
|
||||
130,
|
||||
216,
|
||||
151,
|
||||
102,
|
||||
39,
|
||||
142,
|
||||
217,
|
||||
217,
|
||||
208,
|
||||
186,
|
||||
14,
|
||||
81,
|
||||
202,
|
||||
5,
|
||||
132,
|
||||
56,
|
||||
156,
|
||||
98,
|
||||
165,
|
||||
66,
|
||||
25,
|
||||
133,
|
||||
3,
|
||||
154,
|
||||
82,
|
||||
201,
|
||||
244,
|
||||
23,
|
||||
155,
|
||||
13,
|
||||
133,
|
||||
241,
|
||||
245,
|
||||
33,
|
||||
237,
|
||||
241,
|
||||
138,
|
||||
255,
|
||||
76,
|
||||
178,
|
||||
21,
|
||||
206,
|
||||
180,
|
||||
93,
|
||||
209,
|
||||
159,
|
||||
13
|
||||
]
|
||||
},
|
||||
{
|
||||
"witness": {
|
||||
"profile": "joulespec-witness/1",
|
||||
"alg": 1,
|
||||
"spec_id": "b3:6a79446b181f33db7f07c6825d225934b45c974cb72f6fb16ef9402a6e0d1b75",
|
||||
"obligation": "b3:b97f13ee7662fd25c38f45b86afffa1756e4904db6b3017b066c357f5207ce73",
|
||||
"artifact": "b3:05719e9abe2729462eb80c614ea69449b0ce9165010fde1b4413187be845fc1d",
|
||||
"footprint": [
|
||||
"b3:3ce20eabeea604c713b52e1733f0f955c17ec676a7e9ff52e0df370170e58c8e"
|
||||
],
|
||||
"evidence": {
|
||||
"kind": "falsifiable",
|
||||
"check": "tests::ladder_is_cheapest_first_and_monotone",
|
||||
"anchor": "specification",
|
||||
"counter": "b3:998c33c6460cd1b7929e8a24cd3f8100fea9b4d2489c834af4d40601c9cb0f55"
|
||||
},
|
||||
"energy": {
|
||||
"uj": 414690903,
|
||||
"provenance": "estimator"
|
||||
},
|
||||
"author": [
|
||||
129,
|
||||
57,
|
||||
119,
|
||||
14,
|
||||
168,
|
||||
125,
|
||||
23,
|
||||
95,
|
||||
86,
|
||||
163,
|
||||
84,
|
||||
102,
|
||||
195,
|
||||
76,
|
||||
126,
|
||||
204,
|
||||
203,
|
||||
141,
|
||||
138,
|
||||
145,
|
||||
180,
|
||||
238,
|
||||
55,
|
||||
162,
|
||||
93,
|
||||
246,
|
||||
15,
|
||||
91,
|
||||
143,
|
||||
201,
|
||||
179,
|
||||
148
|
||||
]
|
||||
},
|
||||
"sig": [
|
||||
189,
|
||||
234,
|
||||
39,
|
||||
170,
|
||||
6,
|
||||
101,
|
||||
102,
|
||||
185,
|
||||
213,
|
||||
179,
|
||||
60,
|
||||
102,
|
||||
62,
|
||||
50,
|
||||
222,
|
||||
222,
|
||||
233,
|
||||
128,
|
||||
18,
|
||||
87,
|
||||
166,
|
||||
139,
|
||||
165,
|
||||
136,
|
||||
8,
|
||||
138,
|
||||
30,
|
||||
36,
|
||||
38,
|
||||
146,
|
||||
77,
|
||||
18,
|
||||
174,
|
||||
253,
|
||||
142,
|
||||
31,
|
||||
200,
|
||||
103,
|
||||
57,
|
||||
211,
|
||||
97,
|
||||
111,
|
||||
110,
|
||||
183,
|
||||
185,
|
||||
208,
|
||||
104,
|
||||
187,
|
||||
249,
|
||||
140,
|
||||
139,
|
||||
131,
|
||||
176,
|
||||
211,
|
||||
111,
|
||||
111,
|
||||
30,
|
||||
158,
|
||||
86,
|
||||
171,
|
||||
134,
|
||||
94,
|
||||
119,
|
||||
3
|
||||
]
|
||||
},
|
||||
{
|
||||
"witness": {
|
||||
"profile": "joulespec-witness/1",
|
||||
"alg": 1,
|
||||
"spec_id": "b3:6a79446b181f33db7f07c6825d225934b45c974cb72f6fb16ef9402a6e0d1b75",
|
||||
"obligation": "b3:4b5112bf045683cbec8973e40b2efe325410ab0638edb4853f77251a0d550d9f",
|
||||
"artifact": "b3:05719e9abe2729462eb80c614ea69449b0ce9165010fde1b4413187be845fc1d",
|
||||
"footprint": [
|
||||
"b3:587af7d56a92893b16606df511157bb77cb3da41e4a0799b7c74dbcb40b6dfba"
|
||||
],
|
||||
"evidence": {
|
||||
"kind": "falsifiable",
|
||||
"check": "tests::cache_is_the_flywheel",
|
||||
"anchor": "specification",
|
||||
"counter": "b3:b60b4a6a98af13c6fafce81ab15c5a6c29f4f749c5532ed81b2a9997850fa004"
|
||||
},
|
||||
"energy": {
|
||||
"uj": 383318791,
|
||||
"provenance": "estimator"
|
||||
},
|
||||
"author": [
|
||||
129,
|
||||
57,
|
||||
119,
|
||||
14,
|
||||
168,
|
||||
125,
|
||||
23,
|
||||
95,
|
||||
86,
|
||||
163,
|
||||
84,
|
||||
102,
|
||||
195,
|
||||
76,
|
||||
126,
|
||||
204,
|
||||
203,
|
||||
141,
|
||||
138,
|
||||
145,
|
||||
180,
|
||||
238,
|
||||
55,
|
||||
162,
|
||||
93,
|
||||
246,
|
||||
15,
|
||||
91,
|
||||
143,
|
||||
201,
|
||||
179,
|
||||
148
|
||||
]
|
||||
},
|
||||
"sig": [
|
||||
201,
|
||||
143,
|
||||
244,
|
||||
42,
|
||||
217,
|
||||
52,
|
||||
25,
|
||||
131,
|
||||
30,
|
||||
233,
|
||||
122,
|
||||
223,
|
||||
26,
|
||||
212,
|
||||
74,
|
||||
140,
|
||||
181,
|
||||
126,
|
||||
144,
|
||||
245,
|
||||
168,
|
||||
83,
|
||||
222,
|
||||
39,
|
||||
29,
|
||||
192,
|
||||
213,
|
||||
137,
|
||||
35,
|
||||
236,
|
||||
251,
|
||||
129,
|
||||
72,
|
||||
138,
|
||||
73,
|
||||
15,
|
||||
122,
|
||||
79,
|
||||
45,
|
||||
6,
|
||||
169,
|
||||
247,
|
||||
25,
|
||||
196,
|
||||
122,
|
||||
197,
|
||||
197,
|
||||
199,
|
||||
171,
|
||||
32,
|
||||
224,
|
||||
246,
|
||||
58,
|
||||
38,
|
||||
176,
|
||||
251,
|
||||
105,
|
||||
191,
|
||||
38,
|
||||
61,
|
||||
127,
|
||||
50,
|
||||
52,
|
||||
13
|
||||
]
|
||||
},
|
||||
{
|
||||
"witness": {
|
||||
"profile": "joulespec-witness/1",
|
||||
"alg": 1,
|
||||
"spec_id": "b3:6a79446b181f33db7f07c6825d225934b45c974cb72f6fb16ef9402a6e0d1b75",
|
||||
"obligation": "b3:83fb7c1fce0c05889e287ae4cc1659367c5e3a731339ceedf978ef1b16f063f7",
|
||||
"artifact": "b3:05719e9abe2729462eb80c614ea69449b0ce9165010fde1b4413187be845fc1d",
|
||||
"footprint": [
|
||||
"b3:e6e0f4e5328ab9b7baea8f03e7d77bceebd6c5729947596d2e2ca3e37efa50e3"
|
||||
],
|
||||
"evidence": {
|
||||
"kind": "falsifiable",
|
||||
"check": "jcr1::tests::envelope_rejects_wrong_steward",
|
||||
"anchor": "specification",
|
||||
"counter": "b3:fde9bcd20950b681c345577fc0e5f2d0e41f8652fe1969e23308be808d07bd65"
|
||||
},
|
||||
"energy": {
|
||||
"uj": 403680024,
|
||||
"provenance": "estimator"
|
||||
},
|
||||
"author": [
|
||||
129,
|
||||
57,
|
||||
119,
|
||||
14,
|
||||
168,
|
||||
125,
|
||||
23,
|
||||
95,
|
||||
86,
|
||||
163,
|
||||
84,
|
||||
102,
|
||||
195,
|
||||
76,
|
||||
126,
|
||||
204,
|
||||
203,
|
||||
141,
|
||||
138,
|
||||
145,
|
||||
180,
|
||||
238,
|
||||
55,
|
||||
162,
|
||||
93,
|
||||
246,
|
||||
15,
|
||||
91,
|
||||
143,
|
||||
201,
|
||||
179,
|
||||
148
|
||||
]
|
||||
},
|
||||
"sig": [
|
||||
54,
|
||||
93,
|
||||
167,
|
||||
219,
|
||||
163,
|
||||
18,
|
||||
47,
|
||||
151,
|
||||
190,
|
||||
155,
|
||||
130,
|
||||
109,
|
||||
143,
|
||||
61,
|
||||
255,
|
||||
123,
|
||||
162,
|
||||
100,
|
||||
118,
|
||||
80,
|
||||
29,
|
||||
24,
|
||||
143,
|
||||
198,
|
||||
240,
|
||||
225,
|
||||
89,
|
||||
203,
|
||||
105,
|
||||
68,
|
||||
124,
|
||||
205,
|
||||
98,
|
||||
104,
|
||||
49,
|
||||
137,
|
||||
184,
|
||||
62,
|
||||
39,
|
||||
88,
|
||||
179,
|
||||
17,
|
||||
122,
|
||||
51,
|
||||
3,
|
||||
56,
|
||||
140,
|
||||
73,
|
||||
222,
|
||||
68,
|
||||
15,
|
||||
162,
|
||||
195,
|
||||
215,
|
||||
4,
|
||||
47,
|
||||
247,
|
||||
172,
|
||||
133,
|
||||
39,
|
||||
209,
|
||||
27,
|
||||
53,
|
||||
1
|
||||
]
|
||||
},
|
||||
{
|
||||
"witness": {
|
||||
"profile": "joulespec-witness/1",
|
||||
"alg": 1,
|
||||
"spec_id": "b3:6a79446b181f33db7f07c6825d225934b45c974cb72f6fb16ef9402a6e0d1b75",
|
||||
"obligation": "b3:6507f37527e2e4087f9bae36bf0be616a33bd604e824ff18e8af9122c48f31fa",
|
||||
"artifact": "b3:05719e9abe2729462eb80c614ea69449b0ce9165010fde1b4413187be845fc1d",
|
||||
"footprint": [
|
||||
"b3:d3e9847cbe5b2267d97bd6c0a55027d7e28b7684b531ed0e3562748f83bb884f"
|
||||
],
|
||||
"evidence": {
|
||||
"kind": "falsifiable",
|
||||
"check": "tests::unproved_goal_cannot_be_sealed",
|
||||
"anchor": "specification",
|
||||
"counter": "b3:77ee85e30a0e2365dabef093730b6b8a8cf792949e32b9ecbbf04d7243527ccf"
|
||||
},
|
||||
"energy": {
|
||||
"uj": 252481436,
|
||||
"provenance": "estimator"
|
||||
},
|
||||
"author": [
|
||||
129,
|
||||
57,
|
||||
119,
|
||||
14,
|
||||
168,
|
||||
125,
|
||||
23,
|
||||
95,
|
||||
86,
|
||||
163,
|
||||
84,
|
||||
102,
|
||||
195,
|
||||
76,
|
||||
126,
|
||||
204,
|
||||
203,
|
||||
141,
|
||||
138,
|
||||
145,
|
||||
180,
|
||||
238,
|
||||
55,
|
||||
162,
|
||||
93,
|
||||
246,
|
||||
15,
|
||||
91,
|
||||
143,
|
||||
201,
|
||||
179,
|
||||
148
|
||||
]
|
||||
},
|
||||
"sig": [
|
||||
32,
|
||||
76,
|
||||
133,
|
||||
221,
|
||||
187,
|
||||
161,
|
||||
65,
|
||||
115,
|
||||
118,
|
||||
33,
|
||||
190,
|
||||
222,
|
||||
46,
|
||||
12,
|
||||
194,
|
||||
193,
|
||||
250,
|
||||
37,
|
||||
38,
|
||||
153,
|
||||
92,
|
||||
216,
|
||||
154,
|
||||
152,
|
||||
20,
|
||||
113,
|
||||
192,
|
||||
140,
|
||||
67,
|
||||
29,
|
||||
41,
|
||||
167,
|
||||
51,
|
||||
59,
|
||||
132,
|
||||
115,
|
||||
109,
|
||||
74,
|
||||
81,
|
||||
114,
|
||||
106,
|
||||
236,
|
||||
198,
|
||||
131,
|
||||
11,
|
||||
142,
|
||||
164,
|
||||
100,
|
||||
10,
|
||||
169,
|
||||
39,
|
||||
27,
|
||||
91,
|
||||
133,
|
||||
209,
|
||||
71,
|
||||
235,
|
||||
173,
|
||||
190,
|
||||
73,
|
||||
116,
|
||||
198,
|
||||
202,
|
||||
15
|
||||
]
|
||||
}
|
||||
]
|
||||
Loading…
Reference in a new issue