{ "description": "FablePool milestone-2 operation-integrity scenarios. The runner builds an operation body {v, type, author, ts, prev, payload} with the fixed seed key and ts=1700000000, signs it with the implementation under test, applies the listed mutations to the signed operation, and then verifies it. 'expect' is 'accept' (verification must succeed) or 'reject' (verification must fail). Mutations use dotted paths into the operation dict. Semantic validation (e.g. payload schemas per op type) is covered by the pytest suite, not these vectors: these vectors test cryptographic integrity of the envelope only.", "seed": "0202020202020202020202020202020202020202020202020202020202020202", "vectors": [ { "name": "valid-evidence", "type": "evidence", "payload": {"source": "conformance", "kind": "sample", "body": "hello world"}, "prev": [], "expect": "accept" }, { "name": "valid-claim-with-prev", "type": "claim", "payload": {"predicate": "interest", "value": "running", "confidence": 1}, "prev": ["op:abababababababababababababababababababababababababababababababab"], "expect": "accept" }, { "name": "zeroed-signature", "type": "evidence", "payload": {"source": "conformance", "kind": "sample", "body": "hello world"}, "prev": [], "mutations": [ {"op": "set", "path": "sig", "value": "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"} ], "expect": "reject" }, { "name": "tampered-payload", "type": "evidence", "payload": {"source": "conformance", "kind": "sample", "body": "hello world"}, "prev": [], "mutations": [ {"op": "set", "path": "payload.body", "value": "tampered"} ], "expect": "reject" }, { "name": "swapped-id", "type": "evidence", "payload": {"source": "conformance", "kind": "sample", "body": "hello world"}, "prev": [], "mutations": [ {"op": "set", "path": "id", "value": "op:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc"} ], "expect": "reject" }, { "name": "flipped-type", "type": "evidence", "payload": {"source": "conformance", "kind": "sample", "body": "hello world"}, "prev": [], "mutations": [ {"op": "set", "path": "type", "value": "claim"} ], "expect": "reject" }, { "name": "missing-sig", "type": "evidence", "payload": {"source": "conformance", "kind": "sample", "body": "hello world"}, "prev": [], "mutations": [ {"op": "delete", "path": "sig"} ], "expect": "reject" }, { "name": "missing-id", "type": "evidence", "payload": {"source": "conformance", "kind": "sample", "body": "hello world"}, "prev": [], "mutations": [ {"op": "delete", "path": "id"} ], "expect": "reject" }, { "name": "tampered-prev", "type": "claim", "payload": {"predicate": "interest", "value": "running", "confidence": 1}, "prev": ["op:abababababababababababababababababababababababababababababababab"], "mutations": [ {"op": "set", "path": "prev", "value": []} ], "expect": "reject" } ] }