{ "exit_code": 0, "stdout": "[main 70f408c] feat(identity): add PostgreSQL provenance and verify sealed SOPS custody\n 12 files changed, 811 insertions(+), 28 deletions(-)\n create mode 100644 identity-provisioner/group_provenance_postgres.py\n create mode 100644 identity-provisioner/migrations/group_journal_postgres_v1.sql\n create mode 100644 identity-provisioner/requirements-postgres.txt\n create mode 100644 identity-provisioner/tests/test_group_postgres.py\n", "stderr": "{\"blocked_blob_ids\": [], \"scanned_blobs\": 12, \"scanner_sha256\": \"88f91962aa2f93ac6ab281d553b9e125f5197bbbce38f9f2437f7299c32e5509\", \"scanner_version\": \"8.30.1\", \"scope\": \"changed-staged-blobs\", \"status\": \"clean\"}\n", "head": "70f408ca2389bf3722a91a03832fc6e8587355e5", "files": { "docs/service-group-provenance.md": "b287e7a85aa2146f35d2bc8473dfd05239ea0179b7b8b186d2e85bc07c7b650c", "identity-provisioner/Containerfile": "31e7d948d4f40efd6950764a3dbb8c410d50ed7a1c13c18e0830a1186f2abafc", "identity-provisioner/group_provenance.py": "405e08eaaab7c21d618dff4db5970607806f32ab6c461effb81c737e32182b10", "identity-provisioner/group_provenance_postgres.py": "2a0111e83ad7b611076a1b45634e7f698b3d2e9acc473320b4a8ba009ebd0932", "identity-provisioner/migrations/group_journal_postgres_v1.sql": "3cdf82194d6f1e2dd865b0c7e7b8a14447fda8c49151148134a0d40a80fb46ac", "identity-provisioner/provisioner.py": "19d1b837cbafeeacb1aa815856cd68091e6702281d72b1d860230fa320e1725b", "identity-provisioner/requirements-postgres.txt": "14f1beae54a789d2c880654ca0ce4094c9aa54645e79314b4297c12938ba8877", "identity-provisioner/tests/test_group_postgres.py": "ff3fd92587c8aeea66018718dd8a76f2504648fb3393b122e91ff35a6f431abc", "tests/test_sops_private.py": "a5ff8d7847cdce151be44cdf4a89385d5e2585cdd59143dee4be3cc6106eb7f5", "tests/test_sops_write.py": "f832925283e79589b3ce0bded7e50f49bfd4e78620c224549bb7d31a7868fca6", "workplans/NK-WP-0048-security-case-types.md": "b737bfae4802c122b21619695a169d7d082672af96314b1709860dd5aff2a60f", "workplans/NK-WP-0049-bootstrap-secret-free-recovery-handoff.md": "678ec04b73b57c026001791706c05c5d4d5a508a32f17210ae8ad03ab15d53b8" }, "assignments": { "schema": "repo-manager.identifier-assignment.v1", "ok": true, "executed": true, "repo": "net-kingdom", "namespace": "helixforge", "assignments": [ { "kind": "task", "record_id": "NK-WP-0048-T21", "uuid": "afe78e4d-408a-516a-ab92-e212e8a2d11d", "path": "workplans/NK-WP-0048-security-case-types.md" }, { "kind": "task", "record_id": "NK-WP-0049-T37", "uuid": "3403e266-d63b-5ce1-b891-3bfeac93d28c", "path": "workplans/NK-WP-0049-bootstrap-secret-free-recovery-handoff.md" } ], "historical_invalid_identifiers": [], "files_changed": [ "workplans/NK-WP-0048-security-case-types.md", "workplans/NK-WP-0049-bootstrap-secret-free-recovery-handoff.md" ] } }