diff --git a/.forgeproof/chain-996.json b/.forgeproof/chain-996.json new file mode 100644 index 0000000..40db67f --- /dev/null +++ b/.forgeproof/chain-996.json @@ -0,0 +1,89 @@ +[ + { + "index": 0, + "timestamp": "2026-08-21T04:32:11.082194+00:00", + "action": "genesis", + "data": { + "issue": 996, + "title": "v1.3.0 attestation fixture", + "requirements": [ + "REQ-1: bundle embeds a cosign-verifiable in-toto attestation" + ] + }, + "prev_hash": "0000000000000000000000000000000000000000000000000000000000000000", + "hash": "278e3be0daf637ac7e55992b10122e906d9ebcf0441d3affb0ff8594ec302183", + "signature": "-----BEGIN SSH SIGNATURE-----\nU1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAguXEtuAips/eFvINUWJV3NpqKmx\n/+aWK5ussH/ZkCZKoAAAAKZm9yZ2Vwcm9vZgAAAAAAAAAGc2hhNTEyAAAAUwAAAAtzc2gt\nZWQyNTUxOQAAAEAzPE9dxdRoKxHSEDkXe1oobNwXzCIKdIH8lsCSdXT9KDsfWL77PPrThE\nGQT2kkoIDKouidLsM61D286yhrKGsO\n-----END SSH SIGNATURE-----" + }, + { + "index": 1, + "timestamp": "2026-08-21T04:32:11.184886+00:00", + "action": "file-edit", + "data": { + "path": "src/example4.py", + "operation": "create", + "sha256": "60b1e438f6e569f7629f418e9a261a3fe2f61a7781ba4ae058cd4581eddfd68a" + }, + "prev_hash": "278e3be0daf637ac7e55992b10122e906d9ebcf0441d3affb0ff8594ec302183", + "hash": "69ef4281fd871925b721454dcd2b4d3bf3d0fda204074771ed0b56f617722d94", + "signature": "-----BEGIN SSH SIGNATURE-----\nU1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAguXEtuAips/eFvINUWJV3NpqKmx\n/+aWK5ussH/ZkCZKoAAAAKZm9yZ2Vwcm9vZgAAAAAAAAAGc2hhNTEyAAAAUwAAAAtzc2gt\nZWQyNTUxOQAAAEBX2zagWJ/x+yR6ec+nJqJHdOV5ugKTeF9YG/DwrB4hdnXuAO04E3pKaj\nqi7QxSqPsizO/tH4Wqk9TDnEy1u3sE\n-----END SSH SIGNATURE-----" + }, + { + "index": 2, + "timestamp": "2026-08-21T04:32:11.289300+00:00", + "action": "test-result", + "data": { + "suite": "pytest", + "passed": 1, + "failed": 0, + "coverage": { + "REQ-1": [ + "test_attestation_fixture" + ] + }, + "failed_tests": [] + }, + "prev_hash": "69ef4281fd871925b721454dcd2b4d3bf3d0fda204074771ed0b56f617722d94", + "hash": "0385672642e90c440b52a1ffc3241bc2610c536299069f2f35ec6d01db16bd4c", + "signature": "-----BEGIN SSH SIGNATURE-----\nU1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAguXEtuAips/eFvINUWJV3NpqKmx\n/+aWK5ussH/ZkCZKoAAAAKZm9yZ2Vwcm9vZgAAAAAAAAAGc2hhNTEyAAAAUwAAAAtzc2gt\nZWQyNTUxOQAAAEBP/hER7IIBzIe7Andp4YeMQAb8MpGs0CbZrBn/rmj9enEA3RkR52ZDBo\n5mHIyxvXWXViEfOVd2F9yGaBf4+3UA\n-----END SSH SIGNATURE-----" + }, + { + "index": 3, + "timestamp": "2026-08-21T04:32:11.401815+00:00", + "action": "approval", + "data": { + "gate": "plan", + "decision": "approved", + "note": "frozen fixture for forgeproof-verify CI", + "approver": "fixture-approver@example.com" + }, + "prev_hash": "0385672642e90c440b52a1ffc3241bc2610c536299069f2f35ec6d01db16bd4c", + "hash": "9261e8d1afd06bc4d70c142c85dfab588e3366345941acc9b0a325f5ad034125", + "signature": "-----BEGIN SSH SIGNATURE-----\nU1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAguXEtuAips/eFvINUWJV3NpqKmx\n/+aWK5ussH/ZkCZKoAAAAKZm9yZ2Vwcm9vZgAAAAAAAAAGc2hhNTEyAAAAUwAAAAtzc2gt\nZWQyNTUxOQAAAEDApJjQ96SVYM4cE5OwTGzp9hydKWcepfpAoEVt1UzAk7nbgK73WdecHK\nw/G60TB6xQVz0m4Mc6Bl8VYtp0w2QJ\n-----END SSH SIGNATURE-----" + }, + { + "index": 4, + "timestamp": "2026-08-21T04:32:11.712146+00:00", + "action": "finalize", + "data": { + "commit_sha": "0000000000000000000000000000000000000000", + "chain_length": 5, + "builder": { + "model": { + "id": "fixture-generator", + "source": "self-reported" + }, + "claude_code": { + "version": "2.1.128 (Claude Code)", + "source": "measured" + }, + "plugin": { + "version": "1.3.0", + "source": "engine-constant" + } + } + }, + "prev_hash": "9261e8d1afd06bc4d70c142c85dfab588e3366345941acc9b0a325f5ad034125", + "hash": "4f9c87e9a462a577c680d54129e7258d10b1549530500a039f5d850fa9905502", + "signature": "-----BEGIN SSH SIGNATURE-----\nU1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAguXEtuAips/eFvINUWJV3NpqKmx\n/+aWK5ussH/ZkCZKoAAAAKZm9yZ2Vwcm9vZgAAAAAAAAAGc2hhNTEyAAAAUwAAAAtzc2gt\nZWQyNTUxOQAAAEDk4U5fl9qZnYjqITqlTp5qU9ewev/QnnMGu/VAVEfLoorPJMBhwKcZFp\nFEepellfymmtiM71sMmalqM5pcxYUI\n-----END SSH SIGNATURE-----" + } +] diff --git a/.forgeproof/issue-996.rpack b/.forgeproof/issue-996.rpack new file mode 100644 index 0000000..98fe3c0 --- /dev/null +++ b/.forgeproof/issue-996.rpack @@ -0,0 +1,55 @@ +{ + "version": "1.1.0", + "format": "forgeproof-rpack", + "issue": { + "number": 996, + "title": "v1.3.0 attestation fixture", + "url": "" + }, + "requirements": [ + { + "id": "REQ-1", + "text": "bundle embeds a cosign-verifiable in-toto attestation", + "status": "covered", + "tests": [ + "test_attestation_fixture" + ] + } + ], + "artifacts": [ + { + "path": "src/example4.py", + "operation": "create", + "sha256": "60b1e438f6e569f7629f418e9a261a3fe2f61a7781ba4ae058cd4581eddfd68a" + } + ], + "decisions": [], + "evaluation": { + "status": "pass", + "tests_passed": 1, + "tests_failed": 0, + "lint_errors": 0, + "requirement_coverage": "100%", + "uncovered_requirements": [], + "failed_tests": [] + }, + "chain_hash": "4e68c7720e35a047fc59ad86e1e17bb2f184023c0481e7c4062a9c3afc72f3e5", + "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILlxLbgIqbP3hbyDVFiVdzaaipsf/mliubrLB/2ZAmSq User@PC-951318", + "attestation": { + "mediaType": "application/vnd.dev.sigstore.bundle.v0.3+json", + "verificationMaterial": { + "publicKey": {} + }, + "dsseEnvelope": { + "payload": "eyJfdHlwZSI6Imh0dHBzOi8vaW4tdG90by5pby9TdGF0ZW1lbnQvdjEiLCJwcmVkaWNhdGUiOnsiYnVpbGREZWZpbml0aW9uIjp7ImJ1aWxkVHlwZSI6Imh0dHBzOi8vZ2l0aHViLmNvbS9yeWFuam1pY2hpZS1naXQvZm9yZ2Vwcm9vZi1wbHVnaW4vYmxvYi9tYWluL3NraWxscy9ydW4vcmVmZXJlbmNlcy9ycGFjay1mb3JtYXQubWQjc2xzYS1idWlsZHR5cGUtdjEiLCJleHRlcm5hbFBhcmFtZXRlcnMiOnsiYXBwcm92YWxzIjpbeyJhcHByb3ZlciI6ImZpeHR1cmUtYXBwcm92ZXJAZXhhbXBsZS5jb20iLCJkZWNpc2lvbiI6ImFwcHJvdmVkIiwiZXZpZGVuY2UiOiJhZ2VudC1yZWNvcmRlZCIsImdhdGUiOiJwbGFuIiwibm90ZSI6ImZyb3plbiBmaXh0dXJlIGZvciBmb3JnZXByb29mLXZlcmlmeSBDSSJ9XSwiaXNzdWUiOnsibnVtYmVyIjo5OTYsInRpdGxlIjoidjEuMy4wIGF0dGVzdGF0aW9uIGZpeHR1cmUiLCJ1cmwiOiIifSwicmVxdWlyZW1lbnRzIjpbeyJpZCI6IlJFUS0xIiwic3RhdHVzIjoiY292ZXJlZCIsInRlc3RzIjpbInRlc3RfYXR0ZXN0YXRpb25fZml4dHVyZSJdLCJ0ZXh0IjoiYnVuZGxlIGVtYmVkcyBhIGNvc2lnbi12ZXJpZmlhYmxlIGluLXRvdG8gYXR0ZXN0YXRpb24ifV19LCJpbnRlcm5hbFBhcmFtZXRlcnMiOnsiYnVpbGRlciI6eyJjbGF1ZGVfY29kZSI6eyJzb3VyY2UiOiJtZWFzdXJlZCIsInZlcnNpb24iOiIyLjEuMTI4IChDbGF1ZGUgQ29kZSkifSwibW9kZWwiOnsiaWQiOiJmaXh0dXJlLWdlbmVyYXRvciIsInNvdXJjZSI6InNlbGYtcmVwb3J0ZWQifSwicGx1Z2luIjp7InNvdXJjZSI6ImVuZ2luZS1jb25zdGFudCIsInZlcnNpb24iOiIxLjMuMCJ9fX0sInJlc29sdmVkRGVwZW5kZW5jaWVzIjpbXX0sInJ1bkRldGFpbHMiOnsiYnVpbGRlciI6eyJpZCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9yeWFuam1pY2hpZS1naXQvZm9yZ2Vwcm9vZi1wbHVnaW4vdHJlZS92MS4zLjAifSwiYnlwcm9kdWN0cyI6W3siYW5ub3RhdGlvbnMiOnsiZGlnZXN0T3ZlciI6InV0Zi04IGxmLW5vcm1hbGl6ZWQgZGVjb2RlZCB0ZXh0In0sImRpZ2VzdCI6eyJzaGEyNTYiOiI0ZTY4Yzc3MjBlMzVhMDQ3ZmM1OWFkODZlMWUxN2JiMmYxODQwMjNjMDQ4MWU3YzQwNjJhOWMzYWZjNzJmM2U1In0sIm5hbWUiOiIuZm9yZ2Vwcm9vZi9jaGFpbi05OTYuanNvbiJ9LHsiY29udGVudCI6ImV5Sm1ZV2xzWldSZmRHVnpkSE1pT2x0ZExDSnNhVzUwWDJWeWNtOXljeUk2TUN3aWNtVnhkV2x5WlcxbGJuUmZZMjkyWlhKaFoyVWlPaUl4TURBbElpd2ljM1JoZEhWeklqb2ljR0Z6Y3lJc0luUmxjM1J6WDJaaGFXeGxaQ0k2TUN3aWRHVnpkSE5mY0dGemMyVmtJam94TENKMWJtTnZkbVZ5WldSZmNtVnhkV2x5WlcxbGJuUnpJanBiWFgwPSIsIm1lZGlhVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24iLCJuYW1lIjoiZXZhbHVhdGlvbiJ9XSwibWV0YWRhdGEiOnsiZmluaXNoZWRPbiI6IjIwMjYtMDgtMjFUMDQ6MzI6MTEuNzEyMTQ2KzAwOjAwIiwiaW52b2NhdGlvbklkIjoiMjc4ZTNiZTBkYWY2MzdhYzdlNTU5OTJiMTAxMjJlOTA2ZDllYmNmMDQ0MWQzYWZmYjBmZjg1OTRlYzMwMjE4MyIsInN0YXJ0ZWRPbiI6IjIwMjYtMDgtMjFUMDQ6MzI6MTEuMDgyMTk0KzAwOjAwIn19fSwicHJlZGljYXRlVHlwZSI6Imh0dHBzOi8vc2xzYS5kZXYvcHJvdmVuYW5jZS92MSIsInN1YmplY3QiOlt7ImRpZ2VzdCI6eyJzaGEyNTYiOiI2MGIxZTQzOGY2ZTU2OWY3NjI5ZjQxOGU5YTI2MWEzZmUyZjYxYTc3ODFiYTRhZTA1OGNkNDU4MWVkZGZkNjhhIn0sIm5hbWUiOiJzcmMvZXhhbXBsZTQucHkifV19", + "payloadType": "application/vnd.in-toto+json", + "signatures": [ + { + "sig": "be+YKm3Rdh2cGGM4cwHlYo3r3I8Ggw66tCA+kMXbjXyL3YFXuarv6tNpNTZigpFw5eyCZ3vSLx4eU7PWkVqeBA==" + } + ] + } + }, + "root_digest": "995ac617ef0d2b3aafe44d81e7d430f6c7dc6050bb0251f6d89a3d533e147150", + "signature": "-----BEGIN SSH SIGNATURE-----\nU1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAguXEtuAips/eFvINUWJV3NpqKmx\n/+aWK5ussH/ZkCZKoAAAAKZm9yZ2Vwcm9vZgAAAAAAAAAGc2hhNTEyAAAAUwAAAAtzc2gt\nZWQyNTUxOQAAAED3BeIiai0hj4uT6+9Ub28Sg7gYdD8envPUHuuJdHZA7r9DC1HJK+Akdo\nn56VP8phHYuRDwRfN8oWm1u9zmwuwC\n-----END SSH SIGNATURE-----" +} diff --git a/src/example4.py b/src/example4.py new file mode 100644 index 0000000..ca611b8 --- /dev/null +++ b/src/example4.py @@ -0,0 +1,3 @@ +›ef add(a, b): + """Frozen v1.3.0 fixture artifact.""" + return a + b