Initialize repository snapshot
This commit is contained in:
1
MERIDIAN_V1_CONFORMANCE_TEST_SUITE/.gitignore
vendored
Normal file
1
MERIDIAN_V1_CONFORMANCE_TEST_SUITE/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
out/
|
||||
58
MERIDIAN_V1_CONFORMANCE_TEST_SUITE/README.md
Normal file
58
MERIDIAN_V1_CONFORMANCE_TEST_SUITE/README.md
Normal file
@@ -0,0 +1,58 @@
|
||||
# MERIDIAN v1 Conformance Test Suite (Offline / Deterministic / Build‑Blocking)
|
||||
|
||||
This suite turns MERIDIAN v1 into an **executable compliance gate**.
|
||||
|
||||
What it tests (normative):
|
||||
- MERIDIAN v1 is **Sentinel‑governed**; verification is defined by the Sentinel offline verifier in `--strict` mode.
|
||||
- No proprietary verifier codes: expected failures are **Sentinel v1 failure codes** only.
|
||||
|
||||
Normative references:
|
||||
- `2025-12-18-07h58m04s-attachments/MERIDIAN_V1_SPEC.md`
|
||||
- `2025-12-18-07h58m04s-attachments/MERIDIAN_V1_EVENT_CONTRACT_MATRIX.md`
|
||||
- `vaultmesh-orgine-mobile/spec/SENTINEL_FAILURE_CODE_SEMANTICS.md`
|
||||
- `vaultmesh-orgine-mobile/tools/vm_verify_sentinel_bundle.py`
|
||||
|
||||
---
|
||||
|
||||
## Run (one command)
|
||||
|
||||
From `vaultmesh-orgine-mobile/`:
|
||||
|
||||
```bash
|
||||
bash MERIDIAN_V1_CONFORMANCE_TEST_SUITE/run.sh
|
||||
```
|
||||
|
||||
What `run.sh` does:
|
||||
1. Verifies Sentinel contract parity (code ↔ docs) via `tools/check_sentinel_contract_parity.py`.
|
||||
2. Runs each testvector in `manifest.yaml` through `tools/vm_verify_sentinel_bundle.py --strict`.
|
||||
3. Produces an auditor‑readable report (JSON + text) under `out/`.
|
||||
|
||||
---
|
||||
|
||||
## Output
|
||||
|
||||
`out/` contains:
|
||||
- `out/meridian_v1_conformance_report.json` (suite summary + per-test results)
|
||||
- `out/meridian_v1_conformance_report.txt` (human summary)
|
||||
- `out/sentinel_reports/<TEST_ID>.verification_report.json` (verifier output per test)
|
||||
- `out/sentinel_stdio/<TEST_ID>.stderr.txt` (verifier stderr per test)
|
||||
|
||||
---
|
||||
|
||||
## Interpreting results
|
||||
|
||||
- Suite PASS means the fixtures and verifier behave as the MERIDIAN v1 spec requires.
|
||||
- A deployment MAY claim “MERIDIAN v1 compliant” for a specific bundle **iff**:
|
||||
|
||||
`python3 tools/vm_verify_sentinel_bundle.py --bundle <BUNDLE_DIR> --strict` returns `PASS`
|
||||
|
||||
---
|
||||
|
||||
## Notes on “killer tests” terminology
|
||||
|
||||
MERIDIAN v1 does not introduce new verifier failure codes.
|
||||
|
||||
Examples:
|
||||
- “silent denial” ⇒ Sentinel strict-mode failure `E_CHAIN_DISCONTINUITY`
|
||||
- “unbounded automation” (v1 boundary) ⇒ modeled as “execution without intent” ⇒ `E_CHAIN_DISCONTINUITY`
|
||||
|
||||
15
MERIDIAN_V1_CONFORMANCE_TEST_SUITE/fixtures/README.md
Normal file
15
MERIDIAN_V1_CONFORMANCE_TEST_SUITE/fixtures/README.md
Normal file
@@ -0,0 +1,15 @@
|
||||
# fixtures/
|
||||
|
||||
Fixtures are **Sentinel v1 seal bundles** used as deterministic testvectors for MERIDIAN v1 invariants.
|
||||
|
||||
Layout:
|
||||
- `pass/` bundles must verify with `--strict` and produce `PASS`.
|
||||
- `fail/` bundles must fail with a specific Sentinel v1 `failure_code` (see `manifest.yaml`).
|
||||
|
||||
Each fixture directory is a bundle containing at minimum:
|
||||
- `seal.json`
|
||||
- `integrity.json`
|
||||
- `verifier_manifest.json`
|
||||
- receipts/events file(s) (typically `receipts.jsonl`)
|
||||
- `roots.txt`
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
MERIDIAN v1 conformance fixture: event_hash_mismatch
|
||||
@@ -0,0 +1,31 @@
|
||||
{
|
||||
"files": [
|
||||
{
|
||||
"digest": "sha256:1d37e53b7dbd608ab9418a1d9cc872d51100ec35020c6853aa1a2ff1c13d430b",
|
||||
"path": "README.md",
|
||||
"size_bytes": 53
|
||||
},
|
||||
{
|
||||
"digest": "sha256:6555ba75e9c12063b8ea45aa7f2b8d42c0640bd7c34d5dec094d432347ea67fe",
|
||||
"path": "receipts.jsonl",
|
||||
"size_bytes": 1200
|
||||
},
|
||||
{
|
||||
"digest": "sha256:ab1e7d06897cf422b09e688ef6346756a1b4cea3237c350f4f5f9d4b3fb5becc",
|
||||
"path": "roots.txt",
|
||||
"size_bytes": 211
|
||||
},
|
||||
{
|
||||
"digest": "sha256:18c4ad7ddbb198e6fc8efe5e4769450a2856a7eb1d9e587937b306832c864030",
|
||||
"path": "seal.json",
|
||||
"size_bytes": 707
|
||||
},
|
||||
{
|
||||
"digest": "sha256:421bc39113331983867b523c4019984ddee73136cde3af5e540978549101d4d8",
|
||||
"path": "verifier_manifest.json",
|
||||
"size_bytes": 238
|
||||
}
|
||||
],
|
||||
"format": "vm-sentinel-integrity-v1",
|
||||
"hash_algo": "sha256"
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
{"actor":"did:vm:meridian:gw:demo","cap_hash":"none","event_hash":"sha256:29e0c8bbe263751ae6b81171fd05aa3f8ab5a9085d4e6c084f1238cc77af933e","event_id":"00000000-0000-4000-8000-000000000101","event_type":"boot_event","op":"sentinel.boot_event.v1","op_digest":"sha256:d5b3a96e7033a4d0dcf2b452826cbe950f80f354ee5166487312fba6fde10758","payload":{"params":{"canonicalization_version":"sentinel-event-jcs-v1","hash_algo":"sha256","schema_version":"1.0.0","sentinel_version":"0.1.0"}},"prev_event_hash":"0","result":"ok","seq":0,"trace_id":"11111111-1111-4111-8111-111111111111","ts":"2025-03-17T03:17:40Z"}
|
||||
{"actor":"did:vm:meridian:gw:demo","cap_hash":"none","event_hash":"sha256:0000000000000000000000000000000000000000000000000000000000000000","event_id":"00000000-0000-4000-8000-000000000102","event_type":"tamper_signal","op":"meridian.v1.tamper_signal","op_digest":"sha256:ab8c0984c1dec7b04adc4d6eb51ba3065e339ff63b55d00aa6169e5047004c0f","payload":{"kind":"tamper_signal","params":{"signal":"case_open"}},"prev_event_hash":"sha256:29e0c8bbe263751ae6b81171fd05aa3f8ab5a9085d4e6c084f1238cc77af933e","result":"ok","seq":1,"trace_id":"33333333-3333-4333-8333-333333333333","ts":"2025-03-17T03:17:41Z"}
|
||||
@@ -0,0 +1,3 @@
|
||||
# Sentinel root history (seq -> merkle root)
|
||||
seq=0 root=sha256:29e0c8bbe263751ae6b81171fd05aa3f8ab5a9085d4e6c084f1238cc77af933e
|
||||
seq=1 root=sha256:086b680e09037deacf61ba9cc73b3c7da2737db7ef3802c887b12e6d76bd85ee
|
||||
@@ -0,0 +1 @@
|
||||
{"canonicalization_version":"sentinel-event-jcs-v1","created_at":"2025-03-17T03:17:42Z","files":{"integrity":"integrity.json","receipts":"receipts.jsonl","roots":"roots.txt","verifier_manifest":"verifier_manifest.json"},"format":"vm-sentinel-seal-v1","hash_algo":"sha256","instance_id":"did:vm:meridian:gw:demo","ledger_type":"jsonl","range":{"since_seq":0,"since_ts":"2025-03-17T03:17:40Z","until_seq":1,"until_ts":"2025-03-17T03:17:41Z"},"root":{"end":"sha256:086b680e09037deacf61ba9cc73b3c7da2737db7ef3802c887b12e6d76bd85ee","seq":1,"start":"sha256:2e1cfa82b035c26cbbbdae632cea070514eb8b773f616aaeaf668e2f0be8f10d"},"schema_version":"1.0.0","seal_id":"mv1_event_hash_mismatch","sentinel_version":"0.1.0"}
|
||||
@@ -0,0 +1 @@
|
||||
{"canonicalization_version":"sentinel-event-jcs-v1","format":"vm-sentinel-verifier-manifest-v1","hash_algo":"sha256","schema_version":"1.0.0","sentinel_version":"0.1.0","verifier":{"name":"vm_verify_sentinel_bundle.py","version":"0.1.0"}}
|
||||
@@ -0,0 +1 @@
|
||||
MERIDIAN v1 conformance fixture: canon_version_unsupported
|
||||
@@ -0,0 +1,31 @@
|
||||
{
|
||||
"files": [
|
||||
{
|
||||
"digest": "sha256:11bddf1e93d24997bd7d7a94f6395666edda587284e5ee4d2022d566f04f1957",
|
||||
"path": "README.md",
|
||||
"size_bytes": 59
|
||||
},
|
||||
{
|
||||
"digest": "sha256:fe99e620546158cba1855aef378ce7c14de48c89e99bf7ee9eb259340d21f1df",
|
||||
"path": "receipts.jsonl",
|
||||
"size_bytes": 1200
|
||||
},
|
||||
{
|
||||
"digest": "sha256:ab1e7d06897cf422b09e688ef6346756a1b4cea3237c350f4f5f9d4b3fb5becc",
|
||||
"path": "roots.txt",
|
||||
"size_bytes": 211
|
||||
},
|
||||
{
|
||||
"digest": "sha256:80f5f348140ab695b27edd60b4edcb8bffaaa9a148ea546c4a467a0185feac8c",
|
||||
"path": "seal.json",
|
||||
"size_bytes": 715
|
||||
},
|
||||
{
|
||||
"digest": "sha256:69f602c85f266f780deeb99085531e43ca8ecf0062f7d68a727de0dd05a4d824",
|
||||
"path": "verifier_manifest.json",
|
||||
"size_bytes": 240
|
||||
}
|
||||
],
|
||||
"format": "vm-sentinel-integrity-v1",
|
||||
"hash_algo": "sha256"
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
{"actor":"did:vm:meridian:gw:demo","cap_hash":"none","event_hash":"sha256:29e0c8bbe263751ae6b81171fd05aa3f8ab5a9085d4e6c084f1238cc77af933e","event_id":"00000000-0000-4000-8000-000000000101","event_type":"boot_event","op":"sentinel.boot_event.v1","op_digest":"sha256:d5b3a96e7033a4d0dcf2b452826cbe950f80f354ee5166487312fba6fde10758","payload":{"params":{"canonicalization_version":"sentinel-event-jcs-v1","hash_algo":"sha256","schema_version":"1.0.0","sentinel_version":"0.1.0"}},"prev_event_hash":"0","result":"ok","seq":0,"trace_id":"11111111-1111-4111-8111-111111111111","ts":"2025-03-17T03:17:40Z"}
|
||||
{"actor":"did:vm:meridian:gw:demo","cap_hash":"none","event_hash":"sha256:e94f886565c5ddb0593a763d185a9f939895cddbb9fe678474097bd44642636c","event_id":"00000000-0000-4000-8000-000000000102","event_type":"tamper_signal","op":"meridian.v1.tamper_signal","op_digest":"sha256:ab8c0984c1dec7b04adc4d6eb51ba3065e339ff63b55d00aa6169e5047004c0f","payload":{"kind":"tamper_signal","params":{"signal":"case_open"}},"prev_event_hash":"sha256:29e0c8bbe263751ae6b81171fd05aa3f8ab5a9085d4e6c084f1238cc77af933e","result":"ok","seq":1,"trace_id":"33333333-3333-4333-8333-333333333333","ts":"2025-03-17T03:17:41Z"}
|
||||
@@ -0,0 +1,3 @@
|
||||
# Sentinel root history (seq -> merkle root)
|
||||
seq=0 root=sha256:29e0c8bbe263751ae6b81171fd05aa3f8ab5a9085d4e6c084f1238cc77af933e
|
||||
seq=1 root=sha256:086b680e09037deacf61ba9cc73b3c7da2737db7ef3802c887b12e6d76bd85ee
|
||||
@@ -0,0 +1 @@
|
||||
{"canonicalization_version":"sentinel-event-jcs-v999","created_at":"2025-03-17T03:17:42Z","files":{"integrity":"integrity.json","receipts":"receipts.jsonl","roots":"roots.txt","verifier_manifest":"verifier_manifest.json"},"format":"vm-sentinel-seal-v1","hash_algo":"sha256","instance_id":"did:vm:meridian:gw:demo","ledger_type":"jsonl","range":{"since_seq":0,"since_ts":"2025-03-17T03:17:40Z","until_seq":1,"until_ts":"2025-03-17T03:17:41Z"},"root":{"end":"sha256:086b680e09037deacf61ba9cc73b3c7da2737db7ef3802c887b12e6d76bd85ee","seq":1,"start":"sha256:2e1cfa82b035c26cbbbdae632cea070514eb8b773f616aaeaf668e2f0be8f10d"},"schema_version":"1.0.0","seal_id":"mv1_canon_version_unsupported","sentinel_version":"0.1.0"}
|
||||
@@ -0,0 +1 @@
|
||||
{"canonicalization_version":"sentinel-event-jcs-v999","format":"vm-sentinel-verifier-manifest-v1","hash_algo":"sha256","schema_version":"1.0.0","sentinel_version":"0.1.0","verifier":{"name":"vm_verify_sentinel_bundle.py","version":"0.1.0"}}
|
||||
@@ -0,0 +1 @@
|
||||
MERIDIAN v1 conformance fixture: double_outcome
|
||||
@@ -0,0 +1,31 @@
|
||||
{
|
||||
"files": [
|
||||
{
|
||||
"digest": "sha256:f6c5fff056a8fab6b5df6a8ddd085c6f0ac33bc659fc653434233127bca1c130",
|
||||
"path": "README.md",
|
||||
"size_bytes": 48
|
||||
},
|
||||
{
|
||||
"digest": "sha256:4a4284db18107347fd0c7645b08c614777b5c88375f797561e197c1fec5103f7",
|
||||
"path": "receipts.jsonl",
|
||||
"size_bytes": 2698
|
||||
},
|
||||
{
|
||||
"digest": "sha256:a782d2beebe78664aca0dbe2b42beed275042afdcc8643d5fd6a2ff960dea739",
|
||||
"path": "roots.txt",
|
||||
"size_bytes": 377
|
||||
},
|
||||
{
|
||||
"digest": "sha256:1fc193716891d3cde4486d09c8705041cab1654ba9583a4987299aa5b097650c",
|
||||
"path": "seal.json",
|
||||
"size_bytes": 702
|
||||
},
|
||||
{
|
||||
"digest": "sha256:421bc39113331983867b523c4019984ddee73136cde3af5e540978549101d4d8",
|
||||
"path": "verifier_manifest.json",
|
||||
"size_bytes": 238
|
||||
}
|
||||
],
|
||||
"format": "vm-sentinel-integrity-v1",
|
||||
"hash_algo": "sha256"
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{"actor":"did:vm:meridian:gw:demo","cap_hash":"none","event_hash":"sha256:f8e7607b7d45d306b9da8361593a115e45c91c4efce19790aaee4308ee836d4a","event_id":"00000000-0000-4000-8000-000000000221","event_type":"boot_event","op":"sentinel.boot_event.v1","op_digest":"sha256:d5b3a96e7033a4d0dcf2b452826cbe950f80f354ee5166487312fba6fde10758","payload":{"params":{"canonicalization_version":"sentinel-event-jcs-v1","hash_algo":"sha256","schema_version":"1.0.0","sentinel_version":"0.1.0"}},"prev_event_hash":"0","result":"ok","seq":0,"trace_id":"11111111-1111-4111-8111-111111111111","ts":"2025-03-17T03:17:40Z"}
|
||||
{"actor":"did:vm:operator:demo","cap_hash":"sha256:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd","event_hash":"sha256:226a880a1f30a1fd24be533deecca73af5b9badece02cbb770cff8089e1d78c2","event_id":"00000000-0000-4000-8000-000000000222","event_type":"action_intent","op":"meridian.v1.plc.write","op_digest":"sha256:8ce9de554fc5a237b1f8a7d0b4711058c0c2ad933c70165c4d900337afc6cf84","payload":{"kind":"command_requested","params":{"plc":"plc:demo","register":"R3","value":"1"}},"prev_event_hash":"sha256:f8e7607b7d45d306b9da8361593a115e45c91c4efce19790aaee4308ee836d4a","result":"ok","seq":1,"trace_id":"22222222-2222-4222-8222-222222222224","ts":"2025-03-17T03:17:41Z"}
|
||||
{"actor":"did:vm:meridian:gw:demo","cap_hash":"sha256:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd","event_hash":"sha256:ce6bfb75f3792c08b0237d7d051c6af8ec0193c2d14c81845f835e53f621c251","event_id":"00000000-0000-4000-8000-000000000223","event_type":"action_executed","op":"meridian.v1.plc.write","op_digest":"sha256:8ce9de554fc5a237b1f8a7d0b4711058c0c2ad933c70165c4d900337afc6cf84","payload":{"kind":"command_executed","params":{"plc":"plc:demo","register":"R3","value":"1"}},"prev_event_hash":"sha256:226a880a1f30a1fd24be533deecca73af5b9badece02cbb770cff8089e1d78c2","result":"ok","seq":2,"trace_id":"22222222-2222-4222-8222-222222222224","ts":"2025-03-17T03:17:42Z"}
|
||||
{"actor":"did:vm:meridian:gw:demo","cap_hash":"sha256:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd","event_hash":"sha256:faecc8feaf604e012cddd574260937d35c5b72ab2639e6c5f0a39e294a06dff8","event_id":"00000000-0000-4000-8000-000000000224","event_type":"shadow_receipt","op":"meridian.v1.plc.write","op_digest":"sha256:8ce9de554fc5a237b1f8a7d0b4711058c0c2ad933c70165c4d900337afc6cf84","payload":{"kind":"command_refused","params":{"plc":"plc:demo","register":"R3","value":"1"},"reason_code":"policy_denied"},"prev_event_hash":"sha256:ce6bfb75f3792c08b0237d7d051c6af8ec0193c2d14c81845f835e53f621c251","result":"deny","seq":3,"trace_id":"22222222-2222-4222-8222-222222222224","ts":"2025-03-17T03:17:43Z"}
|
||||
@@ -0,0 +1,5 @@
|
||||
# Sentinel root history (seq -> merkle root)
|
||||
seq=0 root=sha256:f8e7607b7d45d306b9da8361593a115e45c91c4efce19790aaee4308ee836d4a
|
||||
seq=1 root=sha256:a1e813b1a70383dfc2ede487c125d606936ecad92a68ebe3d37d37d7c98f78df
|
||||
seq=2 root=sha256:01393640058eca7ac43a6aae2112966c234f0bbfc58c1c67ffd88192bf6858da
|
||||
seq=3 root=sha256:ca845f9f1caf91eb2beb556ed6feb2e9ce9fd6cf7ec6bdd6100c343700ec9b2f
|
||||
@@ -0,0 +1 @@
|
||||
{"canonicalization_version":"sentinel-event-jcs-v1","created_at":"2025-03-17T03:17:44Z","files":{"integrity":"integrity.json","receipts":"receipts.jsonl","roots":"roots.txt","verifier_manifest":"verifier_manifest.json"},"format":"vm-sentinel-seal-v1","hash_algo":"sha256","instance_id":"did:vm:meridian:gw:demo","ledger_type":"jsonl","range":{"since_seq":0,"since_ts":"2025-03-17T03:17:40Z","until_seq":3,"until_ts":"2025-03-17T03:17:43Z"},"root":{"end":"sha256:ca845f9f1caf91eb2beb556ed6feb2e9ce9fd6cf7ec6bdd6100c343700ec9b2f","seq":3,"start":"sha256:2e1cfa82b035c26cbbbdae632cea070514eb8b773f616aaeaf668e2f0be8f10d"},"schema_version":"1.0.0","seal_id":"mv1_double_outcome","sentinel_version":"0.1.0"}
|
||||
@@ -0,0 +1 @@
|
||||
{"canonicalization_version":"sentinel-event-jcs-v1","format":"vm-sentinel-verifier-manifest-v1","hash_algo":"sha256","schema_version":"1.0.0","sentinel_version":"0.1.0","verifier":{"name":"vm_verify_sentinel_bundle.py","version":"0.1.0"}}
|
||||
@@ -0,0 +1 @@
|
||||
MERIDIAN v1 conformance fixture: event_hash_mismatch
|
||||
@@ -0,0 +1,31 @@
|
||||
{
|
||||
"files": [
|
||||
{
|
||||
"digest": "sha256:1d37e53b7dbd608ab9418a1d9cc872d51100ec35020c6853aa1a2ff1c13d430b",
|
||||
"path": "README.md",
|
||||
"size_bytes": 53
|
||||
},
|
||||
{
|
||||
"digest": "sha256:6555ba75e9c12063b8ea45aa7f2b8d42c0640bd7c34d5dec094d432347ea67fe",
|
||||
"path": "receipts.jsonl",
|
||||
"size_bytes": 1200
|
||||
},
|
||||
{
|
||||
"digest": "sha256:ab1e7d06897cf422b09e688ef6346756a1b4cea3237c350f4f5f9d4b3fb5becc",
|
||||
"path": "roots.txt",
|
||||
"size_bytes": 211
|
||||
},
|
||||
{
|
||||
"digest": "sha256:18c4ad7ddbb198e6fc8efe5e4769450a2856a7eb1d9e587937b306832c864030",
|
||||
"path": "seal.json",
|
||||
"size_bytes": 707
|
||||
},
|
||||
{
|
||||
"digest": "sha256:421bc39113331983867b523c4019984ddee73136cde3af5e540978549101d4d8",
|
||||
"path": "verifier_manifest.json",
|
||||
"size_bytes": 238
|
||||
}
|
||||
],
|
||||
"format": "vm-sentinel-integrity-v1",
|
||||
"hash_algo": "sha256"
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
{"actor":"did:vm:meridian:gw:demo","cap_hash":"none","event_hash":"sha256:29e0c8bbe263751ae6b81171fd05aa3f8ab5a9085d4e6c084f1238cc77af933e","event_id":"00000000-0000-4000-8000-000000000101","event_type":"boot_event","op":"sentinel.boot_event.v1","op_digest":"sha256:d5b3a96e7033a4d0dcf2b452826cbe950f80f354ee5166487312fba6fde10758","payload":{"params":{"canonicalization_version":"sentinel-event-jcs-v1","hash_algo":"sha256","schema_version":"1.0.0","sentinel_version":"0.1.0"}},"prev_event_hash":"0","result":"ok","seq":0,"trace_id":"11111111-1111-4111-8111-111111111111","ts":"2025-03-17T03:17:40Z"}
|
||||
{"actor":"did:vm:meridian:gw:demo","cap_hash":"none","event_hash":"sha256:0000000000000000000000000000000000000000000000000000000000000000","event_id":"00000000-0000-4000-8000-000000000102","event_type":"tamper_signal","op":"meridian.v1.tamper_signal","op_digest":"sha256:ab8c0984c1dec7b04adc4d6eb51ba3065e339ff63b55d00aa6169e5047004c0f","payload":{"kind":"tamper_signal","params":{"signal":"case_open"}},"prev_event_hash":"sha256:29e0c8bbe263751ae6b81171fd05aa3f8ab5a9085d4e6c084f1238cc77af933e","result":"ok","seq":1,"trace_id":"33333333-3333-4333-8333-333333333333","ts":"2025-03-17T03:17:41Z"}
|
||||
@@ -0,0 +1,3 @@
|
||||
# Sentinel root history (seq -> merkle root)
|
||||
seq=0 root=sha256:29e0c8bbe263751ae6b81171fd05aa3f8ab5a9085d4e6c084f1238cc77af933e
|
||||
seq=1 root=sha256:086b680e09037deacf61ba9cc73b3c7da2737db7ef3802c887b12e6d76bd85ee
|
||||
@@ -0,0 +1 @@
|
||||
{"canonicalization_version":"sentinel-event-jcs-v1","created_at":"2025-03-17T03:17:42Z","files":{"integrity":"integrity.json","receipts":"receipts.jsonl","roots":"roots.txt","verifier_manifest":"verifier_manifest.json"},"format":"vm-sentinel-seal-v1","hash_algo":"sha256","instance_id":"did:vm:meridian:gw:demo","ledger_type":"jsonl","range":{"since_seq":0,"since_ts":"2025-03-17T03:17:40Z","until_seq":1,"until_ts":"2025-03-17T03:17:41Z"},"root":{"end":"sha256:086b680e09037deacf61ba9cc73b3c7da2737db7ef3802c887b12e6d76bd85ee","seq":1,"start":"sha256:2e1cfa82b035c26cbbbdae632cea070514eb8b773f616aaeaf668e2f0be8f10d"},"schema_version":"1.0.0","seal_id":"mv1_event_hash_mismatch","sentinel_version":"0.1.0"}
|
||||
@@ -0,0 +1 @@
|
||||
{"canonicalization_version":"sentinel-event-jcs-v1","format":"vm-sentinel-verifier-manifest-v1","hash_algo":"sha256","schema_version":"1.0.0","sentinel_version":"0.1.0","verifier":{"name":"vm_verify_sentinel_bundle.py","version":"0.1.0"}}
|
||||
@@ -0,0 +1 @@
|
||||
MERIDIAN v1 conformance fixture: execution_without_intent
|
||||
@@ -0,0 +1,31 @@
|
||||
{
|
||||
"files": [
|
||||
{
|
||||
"digest": "sha256:cc5a97bbce56fd6bbf0fcc1491a9ca68aa45afd99d5d39b0499a7c1db665135f",
|
||||
"path": "README.md",
|
||||
"size_bytes": 58
|
||||
},
|
||||
{
|
||||
"digest": "sha256:216c9d68e68651c04819ea7d8e9a274fccbe26963728e2a4b472d62cf9c07429",
|
||||
"path": "receipts.jsonl",
|
||||
"size_bytes": 1292
|
||||
},
|
||||
{
|
||||
"digest": "sha256:0396a0afb4802666620d63682da492bf219867fc7099aa0628df71aed60a2b42",
|
||||
"path": "roots.txt",
|
||||
"size_bytes": 211
|
||||
},
|
||||
{
|
||||
"digest": "sha256:2b21d2200ae30ce18e9803ce18dc338b0429636d0a3f6abf6eaf2715340344ed",
|
||||
"path": "seal.json",
|
||||
"size_bytes": 712
|
||||
},
|
||||
{
|
||||
"digest": "sha256:421bc39113331983867b523c4019984ddee73136cde3af5e540978549101d4d8",
|
||||
"path": "verifier_manifest.json",
|
||||
"size_bytes": 238
|
||||
}
|
||||
],
|
||||
"format": "vm-sentinel-integrity-v1",
|
||||
"hash_algo": "sha256"
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
{"actor":"did:vm:meridian:gw:demo","cap_hash":"none","event_hash":"sha256:c66fee7334d8077b76e96500eef6fded3d4df6c43adabed19f63e8a8439e476a","event_id":"00000000-0000-4000-8000-000000000211","event_type":"boot_event","op":"sentinel.boot_event.v1","op_digest":"sha256:d5b3a96e7033a4d0dcf2b452826cbe950f80f354ee5166487312fba6fde10758","payload":{"params":{"canonicalization_version":"sentinel-event-jcs-v1","hash_algo":"sha256","schema_version":"1.0.0","sentinel_version":"0.1.0"}},"prev_event_hash":"0","result":"ok","seq":0,"trace_id":"11111111-1111-4111-8111-111111111111","ts":"2025-03-17T03:17:40Z"}
|
||||
{"actor":"did:vm:meridian:gw:demo","cap_hash":"sha256:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc","event_hash":"sha256:0cf93dc668ae23232678731e8d5286322e5524fdb03e6779efac8933c33e1e1f","event_id":"00000000-0000-4000-8000-000000000212","event_type":"action_executed","op":"meridian.v1.plc.write","op_digest":"sha256:a68906cc6970cc15a611fff2b81a07a31dc93bd7dd5506bf4406cb16d447252b","payload":{"kind":"command_executed","params":{"plc":"plc:demo","register":"R9","value":"1"}},"prev_event_hash":"sha256:c66fee7334d8077b76e96500eef6fded3d4df6c43adabed19f63e8a8439e476a","result":"ok","seq":1,"trace_id":"99999999-9999-4999-8999-999999999999","ts":"2025-03-17T03:17:41Z"}
|
||||
@@ -0,0 +1,3 @@
|
||||
# Sentinel root history (seq -> merkle root)
|
||||
seq=0 root=sha256:c66fee7334d8077b76e96500eef6fded3d4df6c43adabed19f63e8a8439e476a
|
||||
seq=1 root=sha256:0ebb872451cb6669ae997e558631fdaa38df560b53c6e09ca51621f2e84c9145
|
||||
@@ -0,0 +1 @@
|
||||
{"canonicalization_version":"sentinel-event-jcs-v1","created_at":"2025-03-17T03:17:42Z","files":{"integrity":"integrity.json","receipts":"receipts.jsonl","roots":"roots.txt","verifier_manifest":"verifier_manifest.json"},"format":"vm-sentinel-seal-v1","hash_algo":"sha256","instance_id":"did:vm:meridian:gw:demo","ledger_type":"jsonl","range":{"since_seq":0,"since_ts":"2025-03-17T03:17:40Z","until_seq":1,"until_ts":"2025-03-17T03:17:41Z"},"root":{"end":"sha256:0ebb872451cb6669ae997e558631fdaa38df560b53c6e09ca51621f2e84c9145","seq":1,"start":"sha256:2e1cfa82b035c26cbbbdae632cea070514eb8b773f616aaeaf668e2f0be8f10d"},"schema_version":"1.0.0","seal_id":"mv1_execution_without_intent","sentinel_version":"0.1.0"}
|
||||
@@ -0,0 +1 @@
|
||||
{"canonicalization_version":"sentinel-event-jcs-v1","format":"vm-sentinel-verifier-manifest-v1","hash_algo":"sha256","schema_version":"1.0.0","sentinel_version":"0.1.0","verifier":{"name":"vm_verify_sentinel_bundle.py","version":"0.1.0"}}
|
||||
@@ -0,0 +1 @@
|
||||
MERIDIAN v1 conformance fixture: invalid_jsonl_truncated
|
||||
@@ -0,0 +1,31 @@
|
||||
{
|
||||
"files": [
|
||||
{
|
||||
"digest": "sha256:076f6c0260405dd67ac641d9ad61a86c2e15e5b77140d41f297bd52c1047de8b",
|
||||
"path": "README.md",
|
||||
"size_bytes": 57
|
||||
},
|
||||
{
|
||||
"digest": "sha256:5ae4c468ed53f5c8a7518ffd24cac29837f20e7377db06aa995fed4b5e88e654",
|
||||
"path": "receipts.jsonl",
|
||||
"size_bytes": 14
|
||||
},
|
||||
{
|
||||
"digest": "sha256:ab1e7d06897cf422b09e688ef6346756a1b4cea3237c350f4f5f9d4b3fb5becc",
|
||||
"path": "roots.txt",
|
||||
"size_bytes": 211
|
||||
},
|
||||
{
|
||||
"digest": "sha256:7be2019d7bca77e2b9e44da0710ae43fc8625ec448938a6aaa69efe533b7a00f",
|
||||
"path": "seal.json",
|
||||
"size_bytes": 711
|
||||
},
|
||||
{
|
||||
"digest": "sha256:421bc39113331983867b523c4019984ddee73136cde3af5e540978549101d4d8",
|
||||
"path": "verifier_manifest.json",
|
||||
"size_bytes": 238
|
||||
}
|
||||
],
|
||||
"format": "vm-sentinel-integrity-v1",
|
||||
"hash_algo": "sha256"
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
{"truncated":
|
||||
@@ -0,0 +1,3 @@
|
||||
# Sentinel root history (seq -> merkle root)
|
||||
seq=0 root=sha256:29e0c8bbe263751ae6b81171fd05aa3f8ab5a9085d4e6c084f1238cc77af933e
|
||||
seq=1 root=sha256:086b680e09037deacf61ba9cc73b3c7da2737db7ef3802c887b12e6d76bd85ee
|
||||
@@ -0,0 +1 @@
|
||||
{"canonicalization_version":"sentinel-event-jcs-v1","created_at":"2025-03-17T03:17:42Z","files":{"integrity":"integrity.json","receipts":"receipts.jsonl","roots":"roots.txt","verifier_manifest":"verifier_manifest.json"},"format":"vm-sentinel-seal-v1","hash_algo":"sha256","instance_id":"did:vm:meridian:gw:demo","ledger_type":"jsonl","range":{"since_seq":0,"since_ts":"2025-03-17T03:17:40Z","until_seq":1,"until_ts":"2025-03-17T03:17:41Z"},"root":{"end":"sha256:086b680e09037deacf61ba9cc73b3c7da2737db7ef3802c887b12e6d76bd85ee","seq":1,"start":"sha256:2e1cfa82b035c26cbbbdae632cea070514eb8b773f616aaeaf668e2f0be8f10d"},"schema_version":"1.0.0","seal_id":"mv1_invalid_jsonl_truncated","sentinel_version":"0.1.0"}
|
||||
@@ -0,0 +1 @@
|
||||
{"canonicalization_version":"sentinel-event-jcs-v1","format":"vm-sentinel-verifier-manifest-v1","hash_algo":"sha256","schema_version":"1.0.0","sentinel_version":"0.1.0","verifier":{"name":"vm_verify_sentinel_bundle.py","version":"0.1.0"}}
|
||||
@@ -0,0 +1 @@
|
||||
MERIDIAN v1 conformance fixture: manifest_hash_mismatch
|
||||
@@ -0,0 +1,31 @@
|
||||
{
|
||||
"files": [
|
||||
{
|
||||
"digest": "sha256:51fb89251d833c3229d284ce080135f1d53c7a22a5b5c715fe43a7257e61d98c",
|
||||
"path": "README.md",
|
||||
"size_bytes": 56
|
||||
},
|
||||
{
|
||||
"digest": "sha256:2222222222222222222222222222222222222222222222222222222222222222",
|
||||
"path": "receipts.jsonl",
|
||||
"size_bytes": 1200
|
||||
},
|
||||
{
|
||||
"digest": "sha256:ab1e7d06897cf422b09e688ef6346756a1b4cea3237c350f4f5f9d4b3fb5becc",
|
||||
"path": "roots.txt",
|
||||
"size_bytes": 211
|
||||
},
|
||||
{
|
||||
"digest": "sha256:2579685d2b55aa625b00cc62833ce139277ba82d856873d62d78f62a7380c6ca",
|
||||
"path": "seal.json",
|
||||
"size_bytes": 710
|
||||
},
|
||||
{
|
||||
"digest": "sha256:421bc39113331983867b523c4019984ddee73136cde3af5e540978549101d4d8",
|
||||
"path": "verifier_manifest.json",
|
||||
"size_bytes": 238
|
||||
}
|
||||
],
|
||||
"format": "vm-sentinel-integrity-v1",
|
||||
"hash_algo": "sha256"
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
{"actor":"did:vm:meridian:gw:demo","cap_hash":"none","event_hash":"sha256:29e0c8bbe263751ae6b81171fd05aa3f8ab5a9085d4e6c084f1238cc77af933e","event_id":"00000000-0000-4000-8000-000000000101","event_type":"boot_event","op":"sentinel.boot_event.v1","op_digest":"sha256:d5b3a96e7033a4d0dcf2b452826cbe950f80f354ee5166487312fba6fde10758","payload":{"params":{"canonicalization_version":"sentinel-event-jcs-v1","hash_algo":"sha256","schema_version":"1.0.0","sentinel_version":"0.1.0"}},"prev_event_hash":"0","result":"ok","seq":0,"trace_id":"11111111-1111-4111-8111-111111111111","ts":"2025-03-17T03:17:40Z"}
|
||||
{"actor":"did:vm:meridian:gw:demo","cap_hash":"none","event_hash":"sha256:e94f886565c5ddb0593a763d185a9f939895cddbb9fe678474097bd44642636c","event_id":"00000000-0000-4000-8000-000000000102","event_type":"tamper_signal","op":"meridian.v1.tamper_signal","op_digest":"sha256:ab8c0984c1dec7b04adc4d6eb51ba3065e339ff63b55d00aa6169e5047004c0f","payload":{"kind":"tamper_signal","params":{"signal":"case_open"}},"prev_event_hash":"sha256:29e0c8bbe263751ae6b81171fd05aa3f8ab5a9085d4e6c084f1238cc77af933e","result":"ok","seq":1,"trace_id":"33333333-3333-4333-8333-333333333333","ts":"2025-03-17T03:17:41Z"}
|
||||
@@ -0,0 +1,3 @@
|
||||
# Sentinel root history (seq -> merkle root)
|
||||
seq=0 root=sha256:29e0c8bbe263751ae6b81171fd05aa3f8ab5a9085d4e6c084f1238cc77af933e
|
||||
seq=1 root=sha256:086b680e09037deacf61ba9cc73b3c7da2737db7ef3802c887b12e6d76bd85ee
|
||||
@@ -0,0 +1 @@
|
||||
{"canonicalization_version":"sentinel-event-jcs-v1","created_at":"2025-03-17T03:17:42Z","files":{"integrity":"integrity.json","receipts":"receipts.jsonl","roots":"roots.txt","verifier_manifest":"verifier_manifest.json"},"format":"vm-sentinel-seal-v1","hash_algo":"sha256","instance_id":"did:vm:meridian:gw:demo","ledger_type":"jsonl","range":{"since_seq":0,"since_ts":"2025-03-17T03:17:40Z","until_seq":1,"until_ts":"2025-03-17T03:17:41Z"},"root":{"end":"sha256:086b680e09037deacf61ba9cc73b3c7da2737db7ef3802c887b12e6d76bd85ee","seq":1,"start":"sha256:2e1cfa82b035c26cbbbdae632cea070514eb8b773f616aaeaf668e2f0be8f10d"},"schema_version":"1.0.0","seal_id":"mv1_manifest_hash_mismatch","sentinel_version":"0.1.0"}
|
||||
@@ -0,0 +1 @@
|
||||
{"canonicalization_version":"sentinel-event-jcs-v1","format":"vm-sentinel-verifier-manifest-v1","hash_algo":"sha256","schema_version":"1.0.0","sentinel_version":"0.1.0","verifier":{"name":"vm_verify_sentinel_bundle.py","version":"0.1.0"}}
|
||||
@@ -0,0 +1 @@
|
||||
MERIDIAN v1 conformance fixture: missing_required_file_roots
|
||||
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"files": [
|
||||
{
|
||||
"digest": "sha256:f55737e620d70f3a0d13c56bae90556ad012375786d5d1a3e7e3c6360c97ad21",
|
||||
"path": "README.md",
|
||||
"size_bytes": 61
|
||||
},
|
||||
{
|
||||
"digest": "sha256:fe99e620546158cba1855aef378ce7c14de48c89e99bf7ee9eb259340d21f1df",
|
||||
"path": "receipts.jsonl",
|
||||
"size_bytes": 1200
|
||||
},
|
||||
{
|
||||
"digest": "sha256:2117ebec196781f6b1526ea2786eacda4661790000f8ca0ac4d965f4a3dcd04b",
|
||||
"path": "seal.json",
|
||||
"size_bytes": 701
|
||||
},
|
||||
{
|
||||
"digest": "sha256:421bc39113331983867b523c4019984ddee73136cde3af5e540978549101d4d8",
|
||||
"path": "verifier_manifest.json",
|
||||
"size_bytes": 238
|
||||
}
|
||||
],
|
||||
"format": "vm-sentinel-integrity-v1",
|
||||
"hash_algo": "sha256"
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
{"actor":"did:vm:meridian:gw:demo","cap_hash":"none","event_hash":"sha256:29e0c8bbe263751ae6b81171fd05aa3f8ab5a9085d4e6c084f1238cc77af933e","event_id":"00000000-0000-4000-8000-000000000101","event_type":"boot_event","op":"sentinel.boot_event.v1","op_digest":"sha256:d5b3a96e7033a4d0dcf2b452826cbe950f80f354ee5166487312fba6fde10758","payload":{"params":{"canonicalization_version":"sentinel-event-jcs-v1","hash_algo":"sha256","schema_version":"1.0.0","sentinel_version":"0.1.0"}},"prev_event_hash":"0","result":"ok","seq":0,"trace_id":"11111111-1111-4111-8111-111111111111","ts":"2025-03-17T03:17:40Z"}
|
||||
{"actor":"did:vm:meridian:gw:demo","cap_hash":"none","event_hash":"sha256:e94f886565c5ddb0593a763d185a9f939895cddbb9fe678474097bd44642636c","event_id":"00000000-0000-4000-8000-000000000102","event_type":"tamper_signal","op":"meridian.v1.tamper_signal","op_digest":"sha256:ab8c0984c1dec7b04adc4d6eb51ba3065e339ff63b55d00aa6169e5047004c0f","payload":{"kind":"tamper_signal","params":{"signal":"case_open"}},"prev_event_hash":"sha256:29e0c8bbe263751ae6b81171fd05aa3f8ab5a9085d4e6c084f1238cc77af933e","result":"ok","seq":1,"trace_id":"33333333-3333-4333-8333-333333333333","ts":"2025-03-17T03:17:41Z"}
|
||||
@@ -0,0 +1 @@
|
||||
{"canonicalization_version":"sentinel-event-jcs-v1","created_at":"2025-03-17T03:17:42Z","files":{"integrity":"integrity.json","receipts":"receipts.jsonl","roots":"roots.txt","verifier_manifest":"verifier_manifest.json"},"format":"vm-sentinel-seal-v1","hash_algo":"sha256","instance_id":"did:vm:meridian:gw:demo","ledger_type":"jsonl","range":{"since_seq":0,"since_ts":"2025-03-17T03:17:40Z","until_seq":1,"until_ts":"2025-03-17T03:17:41Z"},"root":{"end":"sha256:086b680e09037deacf61ba9cc73b3c7da2737db7ef3802c887b12e6d76bd85ee","seq":1,"start":"sha256:2e1cfa82b035c26cbbbdae632cea070514eb8b773f616aaeaf668e2f0be8f10d"},"schema_version":"1.0.0","seal_id":"mv1_missing_roots","sentinel_version":"0.1.0"}
|
||||
@@ -0,0 +1 @@
|
||||
{"canonicalization_version":"sentinel-event-jcs-v1","format":"vm-sentinel-verifier-manifest-v1","hash_algo":"sha256","schema_version":"1.0.0","sentinel_version":"0.1.0","verifier":{"name":"vm_verify_sentinel_bundle.py","version":"0.1.0"}}
|
||||
@@ -0,0 +1 @@
|
||||
MERIDIAN v1 conformance fixture: op_digest_mismatch
|
||||
@@ -0,0 +1,31 @@
|
||||
{
|
||||
"files": [
|
||||
{
|
||||
"digest": "sha256:6d84872131ebbbea2cfe51f4fc78b637cf8d3fbd07536efad7842494824ebff5",
|
||||
"path": "README.md",
|
||||
"size_bytes": 52
|
||||
},
|
||||
{
|
||||
"digest": "sha256:cc8c8a8a826aa2af56c973d0acf5d2cb3c15ec27774b32d379fdbcd773ea89fc",
|
||||
"path": "receipts.jsonl",
|
||||
"size_bytes": 1200
|
||||
},
|
||||
{
|
||||
"digest": "sha256:0f409ba6f0b3a5f725c27ea4f694d3233ba525c0e8b45346db78677a28a1bb27",
|
||||
"path": "roots.txt",
|
||||
"size_bytes": 211
|
||||
},
|
||||
{
|
||||
"digest": "sha256:d9927f312b368cc93c5f658129520be2e410a53cc430ee17d1994a56a587fa7b",
|
||||
"path": "seal.json",
|
||||
"size_bytes": 706
|
||||
},
|
||||
{
|
||||
"digest": "sha256:421bc39113331983867b523c4019984ddee73136cde3af5e540978549101d4d8",
|
||||
"path": "verifier_manifest.json",
|
||||
"size_bytes": 238
|
||||
}
|
||||
],
|
||||
"format": "vm-sentinel-integrity-v1",
|
||||
"hash_algo": "sha256"
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
{"actor":"did:vm:meridian:gw:demo","cap_hash":"none","event_hash":"sha256:29e0c8bbe263751ae6b81171fd05aa3f8ab5a9085d4e6c084f1238cc77af933e","event_id":"00000000-0000-4000-8000-000000000101","event_type":"boot_event","op":"sentinel.boot_event.v1","op_digest":"sha256:d5b3a96e7033a4d0dcf2b452826cbe950f80f354ee5166487312fba6fde10758","payload":{"params":{"canonicalization_version":"sentinel-event-jcs-v1","hash_algo":"sha256","schema_version":"1.0.0","sentinel_version":"0.1.0"}},"prev_event_hash":"0","result":"ok","seq":0,"trace_id":"11111111-1111-4111-8111-111111111111","ts":"2025-03-17T03:17:40Z"}
|
||||
{"actor":"did:vm:meridian:gw:demo","cap_hash":"none","event_hash":"sha256:0dc6ce7f089a5a984b539949cd115c3c82bdf042d8c258629c2435f52ff0931c","event_id":"00000000-0000-4000-8000-000000000102","event_type":"tamper_signal","op":"meridian.v1.tamper_signal","op_digest":"sha256:ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff","payload":{"kind":"tamper_signal","params":{"signal":"case_open"}},"prev_event_hash":"sha256:29e0c8bbe263751ae6b81171fd05aa3f8ab5a9085d4e6c084f1238cc77af933e","result":"ok","seq":1,"trace_id":"33333333-3333-4333-8333-333333333333","ts":"2025-03-17T03:17:41Z"}
|
||||
@@ -0,0 +1,3 @@
|
||||
# Sentinel root history (seq -> merkle root)
|
||||
seq=0 root=sha256:29e0c8bbe263751ae6b81171fd05aa3f8ab5a9085d4e6c084f1238cc77af933e
|
||||
seq=1 root=sha256:bd92627c9be6c20d5fa39a43af20b71399df67515c57c4f3747021135ce6c1a0
|
||||
@@ -0,0 +1 @@
|
||||
{"canonicalization_version":"sentinel-event-jcs-v1","created_at":"2025-03-17T03:17:42Z","files":{"integrity":"integrity.json","receipts":"receipts.jsonl","roots":"roots.txt","verifier_manifest":"verifier_manifest.json"},"format":"vm-sentinel-seal-v1","hash_algo":"sha256","instance_id":"did:vm:meridian:gw:demo","ledger_type":"jsonl","range":{"since_seq":0,"since_ts":"2025-03-17T03:17:40Z","until_seq":1,"until_ts":"2025-03-17T03:17:41Z"},"root":{"end":"sha256:bd92627c9be6c20d5fa39a43af20b71399df67515c57c4f3747021135ce6c1a0","seq":1,"start":"sha256:2e1cfa82b035c26cbbbdae632cea070514eb8b773f616aaeaf668e2f0be8f10d"},"schema_version":"1.0.0","seal_id":"mv1_op_digest_mismatch","sentinel_version":"0.1.0"}
|
||||
@@ -0,0 +1 @@
|
||||
{"canonicalization_version":"sentinel-event-jcs-v1","format":"vm-sentinel-verifier-manifest-v1","hash_algo":"sha256","schema_version":"1.0.0","sentinel_version":"0.1.0","verifier":{"name":"vm_verify_sentinel_bundle.py","version":"0.1.0"}}
|
||||
@@ -0,0 +1 @@
|
||||
MERIDIAN v1 conformance fixture: prev_event_hash_mismatch
|
||||
@@ -0,0 +1,31 @@
|
||||
{
|
||||
"files": [
|
||||
{
|
||||
"digest": "sha256:b2c04f16a262c9c0dbf5cd97453f39a2d1784cd4cf8bc33c2db18699ebee85b7",
|
||||
"path": "README.md",
|
||||
"size_bytes": 58
|
||||
},
|
||||
{
|
||||
"digest": "sha256:d0926fb0271ef172b3a266acba1ef72e4874b4c6a10fd4728c4a5c0637f23b1e",
|
||||
"path": "receipts.jsonl",
|
||||
"size_bytes": 1200
|
||||
},
|
||||
{
|
||||
"digest": "sha256:151c573c6450d7e11ac7714e5f46f3ed4dd8236095cd4dd4abcece4aa0d6cfe0",
|
||||
"path": "roots.txt",
|
||||
"size_bytes": 211
|
||||
},
|
||||
{
|
||||
"digest": "sha256:9ce9202c3070d5c10873cc060c40657a582d1d0ba610afb158bdc064dd089150",
|
||||
"path": "seal.json",
|
||||
"size_bytes": 706
|
||||
},
|
||||
{
|
||||
"digest": "sha256:421bc39113331983867b523c4019984ddee73136cde3af5e540978549101d4d8",
|
||||
"path": "verifier_manifest.json",
|
||||
"size_bytes": 238
|
||||
}
|
||||
],
|
||||
"format": "vm-sentinel-integrity-v1",
|
||||
"hash_algo": "sha256"
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
{"actor":"did:vm:meridian:gw:demo","cap_hash":"none","event_hash":"sha256:29e0c8bbe263751ae6b81171fd05aa3f8ab5a9085d4e6c084f1238cc77af933e","event_id":"00000000-0000-4000-8000-000000000101","event_type":"boot_event","op":"sentinel.boot_event.v1","op_digest":"sha256:d5b3a96e7033a4d0dcf2b452826cbe950f80f354ee5166487312fba6fde10758","payload":{"params":{"canonicalization_version":"sentinel-event-jcs-v1","hash_algo":"sha256","schema_version":"1.0.0","sentinel_version":"0.1.0"}},"prev_event_hash":"0","result":"ok","seq":0,"trace_id":"11111111-1111-4111-8111-111111111111","ts":"2025-03-17T03:17:40Z"}
|
||||
{"actor":"did:vm:meridian:gw:demo","cap_hash":"none","event_hash":"sha256:66097f23685fbf3559480b7cb89f2bef233321702f94ab0878074fa023b459e5","event_id":"00000000-0000-4000-8000-000000000102","event_type":"tamper_signal","op":"meridian.v1.tamper_signal","op_digest":"sha256:ab8c0984c1dec7b04adc4d6eb51ba3065e339ff63b55d00aa6169e5047004c0f","payload":{"kind":"tamper_signal","params":{"signal":"case_open"}},"prev_event_hash":"sha256:1111111111111111111111111111111111111111111111111111111111111111","result":"ok","seq":1,"trace_id":"33333333-3333-4333-8333-333333333333","ts":"2025-03-17T03:17:41Z"}
|
||||
@@ -0,0 +1,3 @@
|
||||
# Sentinel root history (seq -> merkle root)
|
||||
seq=0 root=sha256:29e0c8bbe263751ae6b81171fd05aa3f8ab5a9085d4e6c084f1238cc77af933e
|
||||
seq=1 root=sha256:018be4d5f99ee40aa0d2fa0ef572a029b10b3626462bec9f0046d32358e04122
|
||||
@@ -0,0 +1 @@
|
||||
{"canonicalization_version":"sentinel-event-jcs-v1","created_at":"2025-03-17T03:17:42Z","files":{"integrity":"integrity.json","receipts":"receipts.jsonl","roots":"roots.txt","verifier_manifest":"verifier_manifest.json"},"format":"vm-sentinel-seal-v1","hash_algo":"sha256","instance_id":"did:vm:meridian:gw:demo","ledger_type":"jsonl","range":{"since_seq":0,"since_ts":"2025-03-17T03:17:40Z","until_seq":1,"until_ts":"2025-03-17T03:17:41Z"},"root":{"end":"sha256:018be4d5f99ee40aa0d2fa0ef572a029b10b3626462bec9f0046d32358e04122","seq":1,"start":"sha256:2e1cfa82b035c26cbbbdae632cea070514eb8b773f616aaeaf668e2f0be8f10d"},"schema_version":"1.0.0","seal_id":"mv1_prev_hash_mismatch","sentinel_version":"0.1.0"}
|
||||
@@ -0,0 +1 @@
|
||||
{"canonicalization_version":"sentinel-event-jcs-v1","format":"vm-sentinel-verifier-manifest-v1","hash_algo":"sha256","schema_version":"1.0.0","sentinel_version":"0.1.0","verifier":{"name":"vm_verify_sentinel_bundle.py","version":"0.1.0"}}
|
||||
@@ -0,0 +1 @@
|
||||
MERIDIAN v1 conformance fixture: range_mismatch
|
||||
@@ -0,0 +1,31 @@
|
||||
{
|
||||
"files": [
|
||||
{
|
||||
"digest": "sha256:487b6fe99e45ba428c81ccbf8412fd8cdfe653631e686bc9e3d84337e5968ec6",
|
||||
"path": "README.md",
|
||||
"size_bytes": 48
|
||||
},
|
||||
{
|
||||
"digest": "sha256:fe99e620546158cba1855aef378ce7c14de48c89e99bf7ee9eb259340d21f1df",
|
||||
"path": "receipts.jsonl",
|
||||
"size_bytes": 1200
|
||||
},
|
||||
{
|
||||
"digest": "sha256:ab1e7d06897cf422b09e688ef6346756a1b4cea3237c350f4f5f9d4b3fb5becc",
|
||||
"path": "roots.txt",
|
||||
"size_bytes": 211
|
||||
},
|
||||
{
|
||||
"digest": "sha256:eeea9ab98df5540b0493f948e3fbb2f982f6a950cd6d690edcb8edc7818780c6",
|
||||
"path": "seal.json",
|
||||
"size_bytes": 702
|
||||
},
|
||||
{
|
||||
"digest": "sha256:421bc39113331983867b523c4019984ddee73136cde3af5e540978549101d4d8",
|
||||
"path": "verifier_manifest.json",
|
||||
"size_bytes": 238
|
||||
}
|
||||
],
|
||||
"format": "vm-sentinel-integrity-v1",
|
||||
"hash_algo": "sha256"
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
{"actor":"did:vm:meridian:gw:demo","cap_hash":"none","event_hash":"sha256:29e0c8bbe263751ae6b81171fd05aa3f8ab5a9085d4e6c084f1238cc77af933e","event_id":"00000000-0000-4000-8000-000000000101","event_type":"boot_event","op":"sentinel.boot_event.v1","op_digest":"sha256:d5b3a96e7033a4d0dcf2b452826cbe950f80f354ee5166487312fba6fde10758","payload":{"params":{"canonicalization_version":"sentinel-event-jcs-v1","hash_algo":"sha256","schema_version":"1.0.0","sentinel_version":"0.1.0"}},"prev_event_hash":"0","result":"ok","seq":0,"trace_id":"11111111-1111-4111-8111-111111111111","ts":"2025-03-17T03:17:40Z"}
|
||||
{"actor":"did:vm:meridian:gw:demo","cap_hash":"none","event_hash":"sha256:e94f886565c5ddb0593a763d185a9f939895cddbb9fe678474097bd44642636c","event_id":"00000000-0000-4000-8000-000000000102","event_type":"tamper_signal","op":"meridian.v1.tamper_signal","op_digest":"sha256:ab8c0984c1dec7b04adc4d6eb51ba3065e339ff63b55d00aa6169e5047004c0f","payload":{"kind":"tamper_signal","params":{"signal":"case_open"}},"prev_event_hash":"sha256:29e0c8bbe263751ae6b81171fd05aa3f8ab5a9085d4e6c084f1238cc77af933e","result":"ok","seq":1,"trace_id":"33333333-3333-4333-8333-333333333333","ts":"2025-03-17T03:17:41Z"}
|
||||
@@ -0,0 +1,3 @@
|
||||
# Sentinel root history (seq -> merkle root)
|
||||
seq=0 root=sha256:29e0c8bbe263751ae6b81171fd05aa3f8ab5a9085d4e6c084f1238cc77af933e
|
||||
seq=1 root=sha256:086b680e09037deacf61ba9cc73b3c7da2737db7ef3802c887b12e6d76bd85ee
|
||||
@@ -0,0 +1 @@
|
||||
{"canonicalization_version":"sentinel-event-jcs-v1","created_at":"2025-03-17T03:17:42Z","files":{"integrity":"integrity.json","receipts":"receipts.jsonl","roots":"roots.txt","verifier_manifest":"verifier_manifest.json"},"format":"vm-sentinel-seal-v1","hash_algo":"sha256","instance_id":"did:vm:meridian:gw:demo","ledger_type":"jsonl","range":{"since_seq":0,"since_ts":"2025-03-17T03:17:40Z","until_seq":0,"until_ts":"2025-03-17T03:17:41Z"},"root":{"end":"sha256:086b680e09037deacf61ba9cc73b3c7da2737db7ef3802c887b12e6d76bd85ee","seq":0,"start":"sha256:2e1cfa82b035c26cbbbdae632cea070514eb8b773f616aaeaf668e2f0be8f10d"},"schema_version":"1.0.0","seal_id":"mv1_range_mismatch","sentinel_version":"0.1.0"}
|
||||
@@ -0,0 +1 @@
|
||||
{"canonicalization_version":"sentinel-event-jcs-v1","format":"vm-sentinel-verifier-manifest-v1","hash_algo":"sha256","schema_version":"1.0.0","sentinel_version":"0.1.0","verifier":{"name":"vm_verify_sentinel_bundle.py","version":"0.1.0"}}
|
||||
@@ -0,0 +1 @@
|
||||
MERIDIAN v1 conformance fixture: revoked_capability_used
|
||||
@@ -0,0 +1,31 @@
|
||||
{
|
||||
"files": [
|
||||
{
|
||||
"digest": "sha256:e2ac0e69c825925179a37cc3c7f302db809c0882529b09b24fa19170c76a9722",
|
||||
"path": "README.md",
|
||||
"size_bytes": 57
|
||||
},
|
||||
{
|
||||
"digest": "sha256:102e1ba3c758a3387ee658a552a682339cb0ff4c0dac46b8fee2ab1298d661ac",
|
||||
"path": "receipts.jsonl",
|
||||
"size_bytes": 2616
|
||||
},
|
||||
{
|
||||
"digest": "sha256:800646f71e8dfa68f5ff59e037aefe1f4c343ec8fe50259f7c70b53559c14ec6",
|
||||
"path": "roots.txt",
|
||||
"size_bytes": 377
|
||||
},
|
||||
{
|
||||
"digest": "sha256:7572439a56d51a887204b0ad45af3b9d1be561b19b83d6563686ff2c70a22d4f",
|
||||
"path": "seal.json",
|
||||
"size_bytes": 711
|
||||
},
|
||||
{
|
||||
"digest": "sha256:421bc39113331983867b523c4019984ddee73136cde3af5e540978549101d4d8",
|
||||
"path": "verifier_manifest.json",
|
||||
"size_bytes": 238
|
||||
}
|
||||
],
|
||||
"format": "vm-sentinel-integrity-v1",
|
||||
"hash_algo": "sha256"
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{"actor":"did:vm:meridian:gw:demo","cap_hash":"none","event_hash":"sha256:255f64c373130f8c525b25a75a4f39509fe9d5749cc0a0998b8ec4770c2bdb5e","event_id":"00000000-0000-4000-8000-000000000401","event_type":"boot_event","op":"sentinel.boot_event.v1","op_digest":"sha256:d5b3a96e7033a4d0dcf2b452826cbe950f80f354ee5166487312fba6fde10758","payload":{"params":{"canonicalization_version":"sentinel-event-jcs-v1","hash_algo":"sha256","schema_version":"1.0.0","sentinel_version":"0.1.0"}},"prev_event_hash":"0","result":"ok","seq":0,"trace_id":"11111111-1111-4111-8111-111111111111","ts":"2025-03-17T03:17:40Z"}
|
||||
{"actor":"did:vm:guardian:demo","cap_hash":"none","event_hash":"sha256:01dee033c0551df6d97f1bf1a42901eff46fe74c924e7ffd6b826294770e4746","event_id":"00000000-0000-4000-8000-000000000402","event_type":"cap_revoke","op":"meridian.v1.cap.revoke","op_digest":"sha256:3ec26a65972bb3d5cdbb73e8b5cb21493eb4d93cfa4a5458624b344fb2c71205","payload":{"params":{"revoked_cap_hash":"sha256:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"}},"prev_event_hash":"sha256:255f64c373130f8c525b25a75a4f39509fe9d5749cc0a0998b8ec4770c2bdb5e","result":"ok","seq":1,"trace_id":"55555555-5555-4555-8555-555555555555","ts":"2025-03-17T03:17:41Z"}
|
||||
{"actor":"did:vm:operator:demo","cap_hash":"sha256:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee","event_hash":"sha256:362ef4b2dfb84d65740385a2408e5c2d2347f4b72c54719c71cc23ff3753583b","event_id":"00000000-0000-4000-8000-000000000403","event_type":"action_intent","op":"meridian.v1.plc.write","op_digest":"sha256:117d3ce1dbece95b6bf06b1d251946dedfd879a0cb38aa8b8ec4e34380f1d1c8","payload":{"kind":"command_requested","params":{"plc":"plc:demo","register":"R7","value":"1"}},"prev_event_hash":"sha256:01dee033c0551df6d97f1bf1a42901eff46fe74c924e7ffd6b826294770e4746","result":"ok","seq":2,"trace_id":"44444444-4444-4444-8444-444444444444","ts":"2025-03-17T03:17:42Z"}
|
||||
{"actor":"did:vm:meridian:gw:demo","cap_hash":"sha256:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee","event_hash":"sha256:bd3b793f7cc567527df49b49c1282bbf43c67e7bac4e8ad54a45c4e76f06f035","event_id":"00000000-0000-4000-8000-000000000404","event_type":"action_executed","op":"meridian.v1.plc.write","op_digest":"sha256:117d3ce1dbece95b6bf06b1d251946dedfd879a0cb38aa8b8ec4e34380f1d1c8","payload":{"kind":"command_executed","params":{"plc":"plc:demo","register":"R7","value":"1"}},"prev_event_hash":"sha256:362ef4b2dfb84d65740385a2408e5c2d2347f4b72c54719c71cc23ff3753583b","result":"ok","seq":3,"trace_id":"44444444-4444-4444-8444-444444444444","ts":"2025-03-17T03:17:43Z"}
|
||||
@@ -0,0 +1,5 @@
|
||||
# Sentinel root history (seq -> merkle root)
|
||||
seq=0 root=sha256:255f64c373130f8c525b25a75a4f39509fe9d5749cc0a0998b8ec4770c2bdb5e
|
||||
seq=1 root=sha256:d825463571271525aa2e65fb72574040538c71ee8ab8ebf88de72d08cc364038
|
||||
seq=2 root=sha256:f0b4f65c899b47afc42611b449fe4be1c092d2360e172af9cb31137660290bf0
|
||||
seq=3 root=sha256:22f52ba66114decc6702f2e711ddfd690b1567a5fc2586339feb658c44f593c3
|
||||
@@ -0,0 +1 @@
|
||||
{"canonicalization_version":"sentinel-event-jcs-v1","created_at":"2025-03-17T03:17:44Z","files":{"integrity":"integrity.json","receipts":"receipts.jsonl","roots":"roots.txt","verifier_manifest":"verifier_manifest.json"},"format":"vm-sentinel-seal-v1","hash_algo":"sha256","instance_id":"did:vm:meridian:gw:demo","ledger_type":"jsonl","range":{"since_seq":0,"since_ts":"2025-03-17T03:17:40Z","until_seq":3,"until_ts":"2025-03-17T03:17:43Z"},"root":{"end":"sha256:22f52ba66114decc6702f2e711ddfd690b1567a5fc2586339feb658c44f593c3","seq":3,"start":"sha256:2e1cfa82b035c26cbbbdae632cea070514eb8b773f616aaeaf668e2f0be8f10d"},"schema_version":"1.0.0","seal_id":"mv1_revoked_capability_used","sentinel_version":"0.1.0"}
|
||||
@@ -0,0 +1 @@
|
||||
{"canonicalization_version":"sentinel-event-jcs-v1","format":"vm-sentinel-verifier-manifest-v1","hash_algo":"sha256","schema_version":"1.0.0","sentinel_version":"0.1.0","verifier":{"name":"vm_verify_sentinel_bundle.py","version":"0.1.0"}}
|
||||
@@ -0,0 +1 @@
|
||||
MERIDIAN v1 conformance fixture: root_mismatch
|
||||
@@ -0,0 +1,31 @@
|
||||
{
|
||||
"files": [
|
||||
{
|
||||
"digest": "sha256:cb5376f22e2f1d4b956f3a61cd85d2010d9ff160f9109f876eb6dff7e68eb483",
|
||||
"path": "README.md",
|
||||
"size_bytes": 47
|
||||
},
|
||||
{
|
||||
"digest": "sha256:fe99e620546158cba1855aef378ce7c14de48c89e99bf7ee9eb259340d21f1df",
|
||||
"path": "receipts.jsonl",
|
||||
"size_bytes": 1200
|
||||
},
|
||||
{
|
||||
"digest": "sha256:818502d58a7dea7ec78196f629a223b10ec2603a762fc76500b2bc59592d9e66",
|
||||
"path": "roots.txt",
|
||||
"size_bytes": 211
|
||||
},
|
||||
{
|
||||
"digest": "sha256:9cb2077be17e3f77f4151830b309e6ff79169fa9a188b0707fd3662b6b4354f2",
|
||||
"path": "seal.json",
|
||||
"size_bytes": 701
|
||||
},
|
||||
{
|
||||
"digest": "sha256:421bc39113331983867b523c4019984ddee73136cde3af5e540978549101d4d8",
|
||||
"path": "verifier_manifest.json",
|
||||
"size_bytes": 238
|
||||
}
|
||||
],
|
||||
"format": "vm-sentinel-integrity-v1",
|
||||
"hash_algo": "sha256"
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
{"actor":"did:vm:meridian:gw:demo","cap_hash":"none","event_hash":"sha256:29e0c8bbe263751ae6b81171fd05aa3f8ab5a9085d4e6c084f1238cc77af933e","event_id":"00000000-0000-4000-8000-000000000101","event_type":"boot_event","op":"sentinel.boot_event.v1","op_digest":"sha256:d5b3a96e7033a4d0dcf2b452826cbe950f80f354ee5166487312fba6fde10758","payload":{"params":{"canonicalization_version":"sentinel-event-jcs-v1","hash_algo":"sha256","schema_version":"1.0.0","sentinel_version":"0.1.0"}},"prev_event_hash":"0","result":"ok","seq":0,"trace_id":"11111111-1111-4111-8111-111111111111","ts":"2025-03-17T03:17:40Z"}
|
||||
{"actor":"did:vm:meridian:gw:demo","cap_hash":"none","event_hash":"sha256:e94f886565c5ddb0593a763d185a9f939895cddbb9fe678474097bd44642636c","event_id":"00000000-0000-4000-8000-000000000102","event_type":"tamper_signal","op":"meridian.v1.tamper_signal","op_digest":"sha256:ab8c0984c1dec7b04adc4d6eb51ba3065e339ff63b55d00aa6169e5047004c0f","payload":{"kind":"tamper_signal","params":{"signal":"case_open"}},"prev_event_hash":"sha256:29e0c8bbe263751ae6b81171fd05aa3f8ab5a9085d4e6c084f1238cc77af933e","result":"ok","seq":1,"trace_id":"33333333-3333-4333-8333-333333333333","ts":"2025-03-17T03:17:41Z"}
|
||||
@@ -0,0 +1,3 @@
|
||||
# Sentinel root history (seq -> merkle root)
|
||||
seq=0 root=sha256:29e0c8bbe263751ae6b81171fd05aa3f8ab5a9085d4e6c084f1238cc77af933e
|
||||
seq=1 root=sha256:3333333333333333333333333333333333333333333333333333333333333333
|
||||
@@ -0,0 +1 @@
|
||||
{"canonicalization_version":"sentinel-event-jcs-v1","created_at":"2025-03-17T03:17:42Z","files":{"integrity":"integrity.json","receipts":"receipts.jsonl","roots":"roots.txt","verifier_manifest":"verifier_manifest.json"},"format":"vm-sentinel-seal-v1","hash_algo":"sha256","instance_id":"did:vm:meridian:gw:demo","ledger_type":"jsonl","range":{"since_seq":0,"since_ts":"2025-03-17T03:17:40Z","until_seq":1,"until_ts":"2025-03-17T03:17:41Z"},"root":{"end":"sha256:3333333333333333333333333333333333333333333333333333333333333333","seq":1,"start":"sha256:2e1cfa82b035c26cbbbdae632cea070514eb8b773f616aaeaf668e2f0be8f10d"},"schema_version":"1.0.0","seal_id":"mv1_root_mismatch","sentinel_version":"0.1.0"}
|
||||
@@ -0,0 +1 @@
|
||||
{"canonicalization_version":"sentinel-event-jcs-v1","format":"vm-sentinel-verifier-manifest-v1","hash_algo":"sha256","schema_version":"1.0.0","sentinel_version":"0.1.0","verifier":{"name":"vm_verify_sentinel_bundle.py","version":"0.1.0"}}
|
||||
@@ -0,0 +1 @@
|
||||
MERIDIAN v1 conformance fixture: seq_non_monotonic_duplicate
|
||||
@@ -0,0 +1,31 @@
|
||||
{
|
||||
"files": [
|
||||
{
|
||||
"digest": "sha256:d22dcdada9f37d6f6860d160ea994f7db1b75844b3ff6d301e33d47a69010e9c",
|
||||
"path": "README.md",
|
||||
"size_bytes": 61
|
||||
},
|
||||
{
|
||||
"digest": "sha256:0e4056952676edaf73e2841421a7c7597a4ccee5c6c1cf29576eb9cb8926a8c0",
|
||||
"path": "receipts.jsonl",
|
||||
"size_bytes": 1800
|
||||
},
|
||||
{
|
||||
"digest": "sha256:dda5f37f4d5bb9bda4b00c7042b2249fb8ec6ae68008b86d6e60774cca728458",
|
||||
"path": "roots.txt",
|
||||
"size_bytes": 211
|
||||
},
|
||||
{
|
||||
"digest": "sha256:a6cbbbfe4a59dfdff145d4ca8a7b631d71b599f35ae53dbfdbea90bc9b103d98",
|
||||
"path": "seal.json",
|
||||
"size_bytes": 705
|
||||
},
|
||||
{
|
||||
"digest": "sha256:421bc39113331983867b523c4019984ddee73136cde3af5e540978549101d4d8",
|
||||
"path": "verifier_manifest.json",
|
||||
"size_bytes": 238
|
||||
}
|
||||
],
|
||||
"format": "vm-sentinel-integrity-v1",
|
||||
"hash_algo": "sha256"
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
{"actor":"did:vm:meridian:gw:demo","cap_hash":"none","event_hash":"sha256:8400306ca8ae4c0a051d25b5315ce07654281ea49d58698fa7a3d30f17a9c3a0","event_id":"00000000-0000-4000-8000-000000000301","event_type":"boot_event","op":"sentinel.boot_event.v1","op_digest":"sha256:d5b3a96e7033a4d0dcf2b452826cbe950f80f354ee5166487312fba6fde10758","payload":{"params":{"canonicalization_version":"sentinel-event-jcs-v1","hash_algo":"sha256","schema_version":"1.0.0","sentinel_version":"0.1.0"}},"prev_event_hash":"0","result":"ok","seq":0,"trace_id":"11111111-1111-4111-8111-111111111111","ts":"2025-03-17T03:17:40Z"}
|
||||
{"actor":"did:vm:meridian:gw:demo","cap_hash":"none","event_hash":"sha256:8433e0eb0867866fa7ba7fba0bff09302b6ac9bc03d04608cf3d7e4f892c7648","event_id":"00000000-0000-4000-8000-000000000302","event_type":"health_event","op":"meridian.v1.health","op_digest":"sha256:86a43eb2d983d91d8cf106edf3d55e9590a72647fe00ca9a919819a4c853ec30","payload":{"kind":"health_event","params":{"ok":true}},"prev_event_hash":"sha256:8400306ca8ae4c0a051d25b5315ce07654281ea49d58698fa7a3d30f17a9c3a0","result":"ok","seq":1,"trace_id":"aaaaaaaa-aaaa-4aaa-8aaa-aaaaaaaaaaaa","ts":"2025-03-17T03:17:41Z"}
|
||||
{"actor":"did:vm:meridian:gw:demo","cap_hash":"none","event_hash":"sha256:5955a07c38ee54c89feef03eb7295483e2ad00059174b20ec8f24481e090f03a","event_id":"00000000-0000-4000-8000-000000000303","event_type":"corruption_detected","op":"meridian.v1.corruption_detected","op_digest":"sha256:3fb33f6ebd627285686d974ee770894dc91f1e77b90448ddda0d23012e48eccb","payload":{"kind":"corruption_detected","params":{"component":"storage"}},"prev_event_hash":"sha256:8433e0eb0867866fa7ba7fba0bff09302b6ac9bc03d04608cf3d7e4f892c7648","result":"error","seq":1,"trace_id":"bbbbbbbb-bbbb-4bbb-8bbb-bbbbbbbbbbbb","ts":"2025-03-17T03:17:41Z"}
|
||||
@@ -0,0 +1,3 @@
|
||||
# Sentinel root history (seq -> merkle root)
|
||||
seq=0 root=sha256:8400306ca8ae4c0a051d25b5315ce07654281ea49d58698fa7a3d30f17a9c3a0
|
||||
seq=1 root=sha256:ed0d9e93d9feed61c3c3baa9a99866d88909275efb1d6490a7760363aa41d0ce
|
||||
@@ -0,0 +1 @@
|
||||
{"canonicalization_version":"sentinel-event-jcs-v1","created_at":"2025-03-17T03:17:42Z","files":{"integrity":"integrity.json","receipts":"receipts.jsonl","roots":"roots.txt","verifier_manifest":"verifier_manifest.json"},"format":"vm-sentinel-seal-v1","hash_algo":"sha256","instance_id":"did:vm:meridian:gw:demo","ledger_type":"jsonl","range":{"since_seq":0,"since_ts":"2025-03-17T03:17:40Z","until_seq":1,"until_ts":"2025-03-17T03:17:41Z"},"root":{"end":"sha256:ed0d9e93d9feed61c3c3baa9a99866d88909275efb1d6490a7760363aa41d0ce","seq":1,"start":"sha256:2e1cfa82b035c26cbbbdae632cea070514eb8b773f616aaeaf668e2f0be8f10d"},"schema_version":"1.0.0","seal_id":"mv1_seq_non_monotonic","sentinel_version":"0.1.0"}
|
||||
@@ -0,0 +1 @@
|
||||
{"canonicalization_version":"sentinel-event-jcs-v1","format":"vm-sentinel-verifier-manifest-v1","hash_algo":"sha256","schema_version":"1.0.0","sentinel_version":"0.1.0","verifier":{"name":"vm_verify_sentinel_bundle.py","version":"0.1.0"}}
|
||||
@@ -0,0 +1 @@
|
||||
MERIDIAN v1 conformance fixture: silent_denial_intent_without_outcome
|
||||
@@ -0,0 +1,31 @@
|
||||
{
|
||||
"files": [
|
||||
{
|
||||
"digest": "sha256:b38038066e2b0824a4d2e23ae90964452c073c328934bd1a64a395a07b84738f",
|
||||
"path": "README.md",
|
||||
"size_bytes": 70
|
||||
},
|
||||
{
|
||||
"digest": "sha256:8403298da38e131bfb9533ab3f483b7e6a5800e3ec0769f8890656cc026c54c9",
|
||||
"path": "receipts.jsonl",
|
||||
"size_bytes": 1288
|
||||
},
|
||||
{
|
||||
"digest": "sha256:a3aff64880a37f16b8e1e83cc2f8e16d40d4126676abce6a071c4ed090f7280c",
|
||||
"path": "roots.txt",
|
||||
"size_bytes": 211
|
||||
},
|
||||
{
|
||||
"digest": "sha256:1630336168944b3fc601984ab346ed9bccb3fb0a63daa40437b276aa230dbebc",
|
||||
"path": "seal.json",
|
||||
"size_bytes": 701
|
||||
},
|
||||
{
|
||||
"digest": "sha256:421bc39113331983867b523c4019984ddee73136cde3af5e540978549101d4d8",
|
||||
"path": "verifier_manifest.json",
|
||||
"size_bytes": 238
|
||||
}
|
||||
],
|
||||
"format": "vm-sentinel-integrity-v1",
|
||||
"hash_algo": "sha256"
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
{"actor":"did:vm:meridian:gw:demo","cap_hash":"none","event_hash":"sha256:65454174bcfd71e018828a00aa1a54ef48bb68c901df0af4889979b572da252b","event_id":"00000000-0000-4000-8000-000000000201","event_type":"boot_event","op":"sentinel.boot_event.v1","op_digest":"sha256:d5b3a96e7033a4d0dcf2b452826cbe950f80f354ee5166487312fba6fde10758","payload":{"params":{"canonicalization_version":"sentinel-event-jcs-v1","hash_algo":"sha256","schema_version":"1.0.0","sentinel_version":"0.1.0"}},"prev_event_hash":"0","result":"ok","seq":0,"trace_id":"11111111-1111-4111-8111-111111111111","ts":"2025-03-17T03:17:40Z"}
|
||||
{"actor":"did:vm:operator:demo","cap_hash":"sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb","event_hash":"sha256:988d189147174703c406cced62a4d1e5c968ad676b2ddcfc99d0652f7c974c22","event_id":"00000000-0000-4000-8000-000000000202","event_type":"action_intent","op":"meridian.v1.plc.write","op_digest":"sha256:f0625adaa0316d2058fd9f2d9ccf497fda392b709306b74441e7236e2f29d39a","payload":{"kind":"command_requested","params":{"plc":"plc:demo","register":"R2","value":"1"}},"prev_event_hash":"sha256:65454174bcfd71e018828a00aa1a54ef48bb68c901df0af4889979b572da252b","result":"ok","seq":1,"trace_id":"22222222-2222-4222-8222-222222222223","ts":"2025-03-17T03:17:41Z"}
|
||||
@@ -0,0 +1,3 @@
|
||||
# Sentinel root history (seq -> merkle root)
|
||||
seq=0 root=sha256:65454174bcfd71e018828a00aa1a54ef48bb68c901df0af4889979b572da252b
|
||||
seq=1 root=sha256:9b669e18278c025b371af97d641406d36b3b2b770ded71cf4420d16e4fe336e1
|
||||
@@ -0,0 +1 @@
|
||||
{"canonicalization_version":"sentinel-event-jcs-v1","created_at":"2025-03-17T03:17:42Z","files":{"integrity":"integrity.json","receipts":"receipts.jsonl","roots":"roots.txt","verifier_manifest":"verifier_manifest.json"},"format":"vm-sentinel-seal-v1","hash_algo":"sha256","instance_id":"did:vm:meridian:gw:demo","ledger_type":"jsonl","range":{"since_seq":0,"since_ts":"2025-03-17T03:17:40Z","until_seq":1,"until_ts":"2025-03-17T03:17:41Z"},"root":{"end":"sha256:9b669e18278c025b371af97d641406d36b3b2b770ded71cf4420d16e4fe336e1","seq":1,"start":"sha256:2e1cfa82b035c26cbbbdae632cea070514eb8b773f616aaeaf668e2f0be8f10d"},"schema_version":"1.0.0","seal_id":"mv1_silent_denial","sentinel_version":"0.1.0"}
|
||||
@@ -0,0 +1 @@
|
||||
{"canonicalization_version":"sentinel-event-jcs-v1","format":"vm-sentinel-verifier-manifest-v1","hash_algo":"sha256","schema_version":"1.0.0","sentinel_version":"0.1.0","verifier":{"name":"vm_verify_sentinel_bundle.py","version":"0.1.0"}}
|
||||
@@ -0,0 +1 @@
|
||||
MERIDIAN v1 conformance fixture: unlisted_extra_file_strict
|
||||
@@ -0,0 +1 @@
|
||||
unlisted
|
||||
@@ -0,0 +1,31 @@
|
||||
{
|
||||
"files": [
|
||||
{
|
||||
"digest": "sha256:adc6aa1dbf563d1c54d6f84056e5873e97a8d6b2f3a37ed79c12ef90fad2777b",
|
||||
"path": "README.md",
|
||||
"size_bytes": 60
|
||||
},
|
||||
{
|
||||
"digest": "sha256:fe99e620546158cba1855aef378ce7c14de48c89e99bf7ee9eb259340d21f1df",
|
||||
"path": "receipts.jsonl",
|
||||
"size_bytes": 1200
|
||||
},
|
||||
{
|
||||
"digest": "sha256:ab1e7d06897cf422b09e688ef6346756a1b4cea3237c350f4f5f9d4b3fb5becc",
|
||||
"path": "roots.txt",
|
||||
"size_bytes": 211
|
||||
},
|
||||
{
|
||||
"digest": "sha256:534c165628fc84d1753291d1a7fd75d78387fb49edb383a156a5e7d7c2514fcb",
|
||||
"path": "seal.json",
|
||||
"size_bytes": 701
|
||||
},
|
||||
{
|
||||
"digest": "sha256:421bc39113331983867b523c4019984ddee73136cde3af5e540978549101d4d8",
|
||||
"path": "verifier_manifest.json",
|
||||
"size_bytes": 238
|
||||
}
|
||||
],
|
||||
"format": "vm-sentinel-integrity-v1",
|
||||
"hash_algo": "sha256"
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
{"actor":"did:vm:meridian:gw:demo","cap_hash":"none","event_hash":"sha256:29e0c8bbe263751ae6b81171fd05aa3f8ab5a9085d4e6c084f1238cc77af933e","event_id":"00000000-0000-4000-8000-000000000101","event_type":"boot_event","op":"sentinel.boot_event.v1","op_digest":"sha256:d5b3a96e7033a4d0dcf2b452826cbe950f80f354ee5166487312fba6fde10758","payload":{"params":{"canonicalization_version":"sentinel-event-jcs-v1","hash_algo":"sha256","schema_version":"1.0.0","sentinel_version":"0.1.0"}},"prev_event_hash":"0","result":"ok","seq":0,"trace_id":"11111111-1111-4111-8111-111111111111","ts":"2025-03-17T03:17:40Z"}
|
||||
{"actor":"did:vm:meridian:gw:demo","cap_hash":"none","event_hash":"sha256:e94f886565c5ddb0593a763d185a9f939895cddbb9fe678474097bd44642636c","event_id":"00000000-0000-4000-8000-000000000102","event_type":"tamper_signal","op":"meridian.v1.tamper_signal","op_digest":"sha256:ab8c0984c1dec7b04adc4d6eb51ba3065e339ff63b55d00aa6169e5047004c0f","payload":{"kind":"tamper_signal","params":{"signal":"case_open"}},"prev_event_hash":"sha256:29e0c8bbe263751ae6b81171fd05aa3f8ab5a9085d4e6c084f1238cc77af933e","result":"ok","seq":1,"trace_id":"33333333-3333-4333-8333-333333333333","ts":"2025-03-17T03:17:41Z"}
|
||||
@@ -0,0 +1,3 @@
|
||||
# Sentinel root history (seq -> merkle root)
|
||||
seq=0 root=sha256:29e0c8bbe263751ae6b81171fd05aa3f8ab5a9085d4e6c084f1238cc77af933e
|
||||
seq=1 root=sha256:086b680e09037deacf61ba9cc73b3c7da2737db7ef3802c887b12e6d76bd85ee
|
||||
@@ -0,0 +1 @@
|
||||
{"canonicalization_version":"sentinel-event-jcs-v1","created_at":"2025-03-17T03:17:42Z","files":{"integrity":"integrity.json","receipts":"receipts.jsonl","roots":"roots.txt","verifier_manifest":"verifier_manifest.json"},"format":"vm-sentinel-seal-v1","hash_algo":"sha256","instance_id":"did:vm:meridian:gw:demo","ledger_type":"jsonl","range":{"since_seq":0,"since_ts":"2025-03-17T03:17:40Z","until_seq":1,"until_ts":"2025-03-17T03:17:41Z"},"root":{"end":"sha256:086b680e09037deacf61ba9cc73b3c7da2737db7ef3802c887b12e6d76bd85ee","seq":1,"start":"sha256:2e1cfa82b035c26cbbbdae632cea070514eb8b773f616aaeaf668e2f0be8f10d"},"schema_version":"1.0.0","seal_id":"mv1_unlisted_file","sentinel_version":"0.1.0"}
|
||||
@@ -0,0 +1 @@
|
||||
{"canonicalization_version":"sentinel-event-jcs-v1","format":"vm-sentinel-verifier-manifest-v1","hash_algo":"sha256","schema_version":"1.0.0","sentinel_version":"0.1.0","verifier":{"name":"vm_verify_sentinel_bundle.py","version":"0.1.0"}}
|
||||
@@ -0,0 +1 @@
|
||||
MERIDIAN v1 conformance fixture: refusal_proof_pass
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user