Initialize repository snapshot
This commit is contained in:
209
MERIDIAN_V1_CONFORMANCE_TEST_SUITE/manifest.yaml
Normal file
209
MERIDIAN_V1_CONFORMANCE_TEST_SUITE/manifest.yaml
Normal file
@@ -0,0 +1,209 @@
|
||||
{
|
||||
"suite": {
|
||||
"name": "MERIDIAN_V1_CONFORMANCE_TEST_SUITE",
|
||||
"version": "1.0.0",
|
||||
"requires": {
|
||||
"sentinel_verifier_path": "tools/vm_verify_sentinel_bundle.py",
|
||||
"sentinel_failure_codes_path": "tools/sentinel_failure_codes.py",
|
||||
"strict": true,
|
||||
"offline": true
|
||||
}
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"id": "MV1-PASS-REFUSAL-001",
|
||||
"category": "refusal_proofs",
|
||||
"name": "Refusal proof (intent + shadow_receipt) passes",
|
||||
"fixture": "fixtures/pass/refusal_proof_pass",
|
||||
"mode": "verify_fixture",
|
||||
"verifier": { "strict": true },
|
||||
"expect": { "exit": 0, "failure_code": null, "violated_contract_ids": [] }
|
||||
},
|
||||
{
|
||||
"id": "MV1-PASS-TAMPER-001",
|
||||
"category": "tamper_signals",
|
||||
"name": "Tamper signal can be recorded and verified",
|
||||
"fixture": "fixtures/pass/tamper_signal_pass",
|
||||
"mode": "verify_fixture",
|
||||
"verifier": { "strict": true },
|
||||
"expect": { "exit": 0, "failure_code": null, "violated_contract_ids": [] }
|
||||
},
|
||||
{
|
||||
"id": "MV1-PASS-OFFLINE-001",
|
||||
"category": "offline_restore",
|
||||
"name": "Clean-room restore: copied bundle still verifies PASS",
|
||||
"fixture": "fixtures/pass/refusal_proof_pass",
|
||||
"mode": "verify_clean_copy",
|
||||
"verifier": { "strict": true },
|
||||
"expect": { "exit": 0, "failure_code": null, "violated_contract_ids": [] }
|
||||
},
|
||||
|
||||
{
|
||||
"id": "MV1-FAIL-REFUSAL-001",
|
||||
"category": "refusal_proofs",
|
||||
"name": "Silent denial (intent without outcome) fails",
|
||||
"fixture": "fixtures/fail/silent_denial_intent_without_outcome",
|
||||
"mode": "verify_fixture",
|
||||
"verifier": { "strict": true },
|
||||
"expect": { "exit": 1, "failure_code": "E_CHAIN_DISCONTINUITY", "violated_contract_ids": ["E-3"] }
|
||||
},
|
||||
{
|
||||
"id": "MV1-FAIL-REFUSAL-002",
|
||||
"category": "refusal_proofs",
|
||||
"name": "Execution without intent fails",
|
||||
"fixture": "fixtures/fail/execution_without_intent",
|
||||
"mode": "verify_fixture",
|
||||
"verifier": { "strict": true },
|
||||
"expect": { "exit": 1, "failure_code": "E_CHAIN_DISCONTINUITY", "violated_contract_ids": ["E-3"] }
|
||||
},
|
||||
{
|
||||
"id": "MV1-FAIL-REFUSAL-003",
|
||||
"category": "refusal_proofs",
|
||||
"name": "Double outcome (executed + denied) fails",
|
||||
"fixture": "fixtures/fail/double_outcome",
|
||||
"mode": "verify_fixture",
|
||||
"verifier": { "strict": true },
|
||||
"expect": { "exit": 1, "failure_code": "E_CHAIN_DISCONTINUITY", "violated_contract_ids": ["E-3"] }
|
||||
},
|
||||
|
||||
{
|
||||
"id": "MV1-FAIL-EVENT-001",
|
||||
"category": "event_chain",
|
||||
"name": "Stored event_hash mismatch fails",
|
||||
"fixture": "fixtures/fail/event_hash_mismatch",
|
||||
"mode": "verify_fixture",
|
||||
"verifier": { "strict": true },
|
||||
"expect": {
|
||||
"exit": 1,
|
||||
"failure_code": "E_EVENT_HASH_MISMATCH",
|
||||
"violated_contract_ids": ["E-2"],
|
||||
"error_path_contains": ".event_hash"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "MV1-FAIL-EVENT-002",
|
||||
"category": "event_chain",
|
||||
"name": "Stored op_digest mismatch fails",
|
||||
"fixture": "fixtures/fail/op_digest_mismatch",
|
||||
"mode": "verify_fixture",
|
||||
"verifier": { "strict": true },
|
||||
"expect": {
|
||||
"exit": 1,
|
||||
"failure_code": "E_EVENT_HASH_MISMATCH",
|
||||
"violated_contract_ids": ["E-2"],
|
||||
"error_path_contains": ".op_digest"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "MV1-FAIL-EVENT-003",
|
||||
"category": "event_chain",
|
||||
"name": "prev_event_hash discontinuity fails",
|
||||
"fixture": "fixtures/fail/prev_event_hash_mismatch",
|
||||
"mode": "verify_fixture",
|
||||
"verifier": { "strict": true },
|
||||
"expect": {
|
||||
"exit": 1,
|
||||
"failure_code": "E_CHAIN_DISCONTINUITY",
|
||||
"violated_contract_ids": ["E-3"],
|
||||
"error_path_contains": ".prev_event_hash"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "MV1-FAIL-EVENT-004",
|
||||
"category": "event_chain",
|
||||
"name": "Invalid receipts.jsonl (parse error) fails",
|
||||
"fixture": "fixtures/fail/invalid_jsonl_truncated",
|
||||
"mode": "verify_fixture",
|
||||
"verifier": { "strict": true },
|
||||
"expect": {
|
||||
"exit": 1,
|
||||
"failure_code": "E_SCHEMA_INVALID",
|
||||
"violated_contract_ids": ["E-1"],
|
||||
"error_path_contains": "receipts.jsonl"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "MV1-FAIL-EVENT-005",
|
||||
"category": "event_chain",
|
||||
"name": "Duplicate seq fails (non-monotonic)",
|
||||
"fixture": "fixtures/fail/seq_non_monotonic_duplicate",
|
||||
"mode": "verify_fixture",
|
||||
"verifier": { "strict": true },
|
||||
"expect": { "exit": 1, "failure_code": "E_SEQ_NON_MONOTONIC", "violated_contract_ids": ["E-4"] }
|
||||
},
|
||||
|
||||
{
|
||||
"id": "MV1-FAIL-CAP-001",
|
||||
"category": "capabilities",
|
||||
"name": "Revoked capability used for execution fails",
|
||||
"fixture": "fixtures/fail/revoked_capability_used",
|
||||
"mode": "verify_fixture",
|
||||
"verifier": { "strict": true },
|
||||
"expect": { "exit": 1, "failure_code": "E_REVOKED_CAPABILITY_USED", "violated_contract_ids": ["E-7"] }
|
||||
},
|
||||
|
||||
{
|
||||
"id": "MV1-FAIL-SEAL-001",
|
||||
"category": "sealing",
|
||||
"name": "Missing required roots file fails",
|
||||
"fixture": "fixtures/fail/missing_required_file_roots",
|
||||
"mode": "verify_fixture",
|
||||
"verifier": { "strict": true },
|
||||
"expect": { "exit": 1, "failure_code": "E_MISSING_REQUIRED_FILE", "violated_contract_ids": ["B-1"] }
|
||||
},
|
||||
{
|
||||
"id": "MV1-FAIL-SEAL-002",
|
||||
"category": "sealing",
|
||||
"name": "Integrity digest mismatch fails",
|
||||
"fixture": "fixtures/fail/manifest_hash_mismatch",
|
||||
"mode": "verify_fixture",
|
||||
"verifier": { "strict": true },
|
||||
"expect": { "exit": 1, "failure_code": "E_MANIFEST_HASH_MISMATCH", "violated_contract_ids": ["I-3"] }
|
||||
},
|
||||
{
|
||||
"id": "MV1-FAIL-SEAL-003",
|
||||
"category": "sealing",
|
||||
"name": "Unlisted file in bundle fails in strict mode",
|
||||
"fixture": "fixtures/fail/unlisted_extra_file_strict",
|
||||
"mode": "verify_fixture",
|
||||
"verifier": { "strict": true },
|
||||
"expect": { "exit": 1, "failure_code": "E_SCHEMA_INVALID", "violated_contract_ids": ["I-5"] }
|
||||
},
|
||||
{
|
||||
"id": "MV1-FAIL-SEAL-004",
|
||||
"category": "sealing",
|
||||
"name": "Merkle root mismatch fails",
|
||||
"fixture": "fixtures/fail/root_mismatch",
|
||||
"mode": "verify_fixture",
|
||||
"verifier": { "strict": true },
|
||||
"expect": { "exit": 1, "failure_code": "E_ROOT_MISMATCH", "violated_contract_ids": ["E-5"] }
|
||||
},
|
||||
{
|
||||
"id": "MV1-FAIL-SEAL-005",
|
||||
"category": "sealing",
|
||||
"name": "Declared range mismatch fails",
|
||||
"fixture": "fixtures/fail/range_mismatch",
|
||||
"mode": "verify_fixture",
|
||||
"verifier": { "strict": true },
|
||||
"expect": { "exit": 1, "failure_code": "E_RANGE_MISMATCH", "violated_contract_ids": ["E-6"] }
|
||||
},
|
||||
{
|
||||
"id": "MV1-FAIL-SEAL-006",
|
||||
"category": "sealing",
|
||||
"name": "Unsupported canonicalization version fails",
|
||||
"fixture": "fixtures/fail/canon_version_unsupported",
|
||||
"mode": "verify_fixture",
|
||||
"verifier": { "strict": true },
|
||||
"expect": { "exit": 1, "failure_code": "E_CANON_VERSION_UNSUPPORTED", "violated_contract_ids": ["S-6"] }
|
||||
},
|
||||
{
|
||||
"id": "MV1-FAIL-SEAL-007",
|
||||
"category": "sealing",
|
||||
"name": "Oversize input is rejected (bounded verification)",
|
||||
"fixture": "fixtures/pass/refusal_proof_pass",
|
||||
"mode": "verify_fixture",
|
||||
"verifier": { "strict": true, "max_file_bytes": 200 },
|
||||
"expect": { "exit": 1, "failure_code": "E_OVERSIZE_INPUT", "violated_contract_ids": ["B-3"] }
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user