Repository navigation
Conversation
|
PR-cycle state — maintained automatically. Do not edit by hand. Mechanical PR-cycle state (JSON){
"approval": {
"candidate_revision_fingerprint": "sha256:60e3bdab79b8e83cbef3d64431b52894a42973943e66d0c56cb1413095eb6d77",
"evidence": {
"attestations": [
{
"baseline_identity": "sha256:5ae48f5e53cefe5f5486b78467f607b47d63c2b693be7ac5d570d4eacdc5050a",
"closure_identity": "sha256:0eaaf0db73c39fd558a56215c2e59ba4249cab5e8e00fb8ca9aba738aa7b2f04",
"document_identity": "sha256:c8ca7d8f385155803a90f41ebb4a8adfc47a5cdd07e7d2a38220751dda6cf1d3",
"sidecar_identity": "sha256:910ae8592f9403854e0c50729d98debd2191e6eee0485737e794b5943f41fd96"
},
{
"baseline_identity": "sha256:5ae48f5e53cefe5f5486b78467f607b47d63c2b693be7ac5d570d4eacdc5050a",
"closure_identity": "sha256:0eaaf0db73c39fd558a56215c2e59ba4249cab5e8e00fb8ca9aba738aa7b2f04",
"document_identity": "sha256:c8ca7d8f385155803a90f41ebb4a8adfc47a5cdd07e7d2a38220751dda6cf1d3",
"sidecar_identity": "sha256:924d3f1f4fb4456c599058b4211f40761550a7339ec45a758a3aad6b56d9c817"
},
{
"closure_identity": "sha256:0eaaf0db73c39fd558a56215c2e59ba4249cab5e8e00fb8ca9aba738aa7b2f04",
"document_identity": "sha256:5ae48f5e53cefe5f5486b78467f607b47d63c2b693be7ac5d570d4eacdc5050a",
"sidecar_identity": "sha256:3cffe0cc33f4d844e020bd417a724ad0a1b03f9598b00e0934cd6ce39a8a9c6f"
}
],
"candidate_revision_fingerprint": "sha256:60e3bdab79b8e83cbef3d64431b52894a42973943e66d0c56cb1413095eb6d77",
"check_conclusions": [
{
"conclusion": "SUCCESS",
"name": "Bash native evidence checks",
"run_id": 119004820649
},
{
"conclusion": "SUCCESS",
"name": "Gitar",
"run_id": 118999908081
},
{
"conclusion": "SUCCESS",
"name": "Linux CI checks",
"run_id": 118999917328
},
{
"conclusion": "SUCCESS",
"name": "Target smoke (darwin-amd64)",
"run_id": 118999917568
},
{
"conclusion": "SUCCESS",
"name": "Target smoke (darwin-arm64)",
"run_id": 118999917667
},
{
"conclusion": "SUCCESS",
"name": "Target smoke (linux-amd64)",
"run_id": 118999917556
},
{
"conclusion": "SUCCESS",
"name": "Target smoke (linux-arm64)",
"run_id": 118999917636
},
{
"conclusion": "SUCCESS",
"name": "Windows host smoke (windows-amd64)",
"run_id": 118999917578
},
{
"conclusion": "SUCCESS",
"name": "Windows host smoke (windows-arm64)",
"run_id": 118999917438
}
],
"delivery_deferral_ledger_digest": "sha256:d7b1888b27e1d0f2dc9bd260272c82b7abaed3f33571ce80bdc153edae9d2146",
"finding_dispositions_digest": "sha256:09ea72738afac472f4a7a80b20cd28b836e37578c47af3f9fd5a73361a173d7e",
"operation_identity": "sha256:8601dd03f518ce35e5dcbd67b26972c726b4f24e57cfa09da18ea93edcb94ba3",
"review_request": {
"body_digest": "sha256:9d4924cd1a958e6c3f24cc8886f1dcfaf81e94b284815ccb9876c93af40b6cf1",
"id": 6314387458
},
"review_result": {
"body_digest": "sha256:136c322f3c0ef7cf0247c883b55604d08a80424207d8ba8beb31d938d57b5842",
"id": 6314432936
}
},
"evidence_fingerprint": "sha256:761454f628b564943606c08bee44f40015764c255fc577d4b5764dd423c59062",
"head_sha": "faa6a81690b1f06d8c988d8460f9ac76cd3e6ecc",
"operation_identity": "sha256:8601dd03f518ce35e5dcbd67b26972c726b4f24e57cfa09da18ea93edcb94ba3",
"review_request_id": 6314387458,
"review_result_id": 6314432936,
"status": "approved-evidence-recorded"
},
"candidate_revision_fingerprint": "sha256:60e3bdab79b8e83cbef3d64431b52894a42973943e66d0c56cb1413095eb6d77",
"check_conclusions": [
{
"conclusion": "SUCCESS",
"name": "Bash native evidence checks",
"run_id": 119004820649
},
{
"conclusion": "SUCCESS",
"name": "Gitar",
"run_id": 118999908081
},
{
"conclusion": "SUCCESS",
"name": "Linux CI checks",
"run_id": 118999917328
},
{
"conclusion": "SUCCESS",
"name": "Target smoke (darwin-amd64)",
"run_id": 118999917568
},
{
"conclusion": "SUCCESS",
"name": "Target smoke (darwin-arm64)",
"run_id": 118999917667
},
{
"conclusion": "SUCCESS",
"name": "Target smoke (linux-amd64)",
"run_id": 118999917556
},
{
"conclusion": "SUCCESS",
"name": "Target smoke (linux-arm64)",
"run_id": 118999917636
},
{
"conclusion": "SUCCESS",
"name": "Windows host smoke (windows-amd64)",
"run_id": 118999917578
},
{
"conclusion": "SUCCESS",
"name": "Windows host smoke (windows-arm64)",
"run_id": 118999917438
}
],
"check_observations": [
{
"checks": [
{
"conclusion": "SUCCESS",
"name": "Bash native evidence checks",
"run_id": 119004820649,
"run_status": "completed",
"status": "success",
"url": "https://github.com/omry/reploy/actions/runs/39532029426/job/119004820649"
},
{
"conclusion": "SUCCESS",
"name": "Gitar",
"run_id": 118999908081,
"run_status": "completed",
"status": "success",
"url": "https://github.com/omry/reploy/runs/118999908081"
},
{
"conclusion": "SUCCESS",
"name": "Linux CI checks",
"run_id": 118999917328,
"run_status": "completed",
"status": "success",
"url": "https://github.com/omry/reploy/actions/runs/39532029426/job/118999917328"
},
{
"conclusion": "SUCCESS",
"name": "Target smoke (darwin-amd64)",
"run_id": 118999917568,
"run_status": "completed",
"status": "success",
"url": "https://github.com/omry/reploy/actions/runs/39532029426/job/118999917568"
},
{
"conclusion": "SUCCESS",
"name": "Target smoke (darwin-arm64)",
"run_id": 118999917667,
"run_status": "completed",
"status": "success",
"url": "https://github.com/omry/reploy/actions/runs/39532029426/job/118999917667"
},
{
"conclusion": "SUCCESS",
"name": "Target smoke (linux-amd64)",
"run_id": 118999917556,
"run_status": "completed",
"status": "success",
"url": "https://github.com/omry/reploy/actions/runs/39532029426/job/118999917556"
},
{
"conclusion": "SUCCESS",
"name": "Target smoke (linux-arm64)",
"run_id": 118999917636,
"run_status": "completed",
"status": "success",
"url": "https://github.com/omry/reploy/actions/runs/39532029426/job/118999917636"
},
{
"conclusion": "SUCCESS",
"name": "Windows host smoke (windows-amd64)",
"run_id": 118999917578,
"run_status": "completed",
"status": "success",
"url": "https://github.com/omry/reploy/actions/runs/39532029426/job/118999917578"
},
{
"conclusion": "SUCCESS",
"name": "Windows host smoke (windows-arm64)",
"run_id": 118999917438,
"run_status": "completed",
"status": "success",
"url": "https://github.com/omry/reploy/actions/runs/39532029426/job/118999917438"
}
],
"head_sha": "faa6a81690b1f06d8c988d8460f9ac76cd3e6ecc",
"id": "sha256:4556fae366137dde8ea2e589f5ac93fd3b308f4e9ceb400030326ed349aeee9f",
"required_checks": [
"Bash native evidence checks",
"Gitar",
"Linux CI checks",
"Target smoke (darwin-amd64)",
"Target smoke (darwin-arm64)",
"Target smoke (linux-amd64)",
"Target smoke (linux-arm64)",
"Windows host smoke (windows-amd64)",
"Windows host smoke (windows-arm64)"
],
"status": "success"
},
{
"checks": [
{
"name": "Bash native evidence checks",
"reason": "missing",
"status": "pending"
},
{
"conclusion": "SUCCESS",
"name": "Gitar",
"run_id": 118866212010,
"run_status": "completed",
"status": "success",
"url": "https://github.com/omry/reploy/runs/118866212010"
},
{
"name": "Linux CI checks",
"run_id": 118863091014,
"run_status": "in_progress",
"status": "pending",
"url": "https://github.com/omry/reploy/actions/runs/39490787428/job/118863091014"
},
{
"conclusion": "SUCCESS",
"name": "Target smoke (darwin-amd64)",
"run_id": 118863091388,
"run_status": "completed",
"status": "success",
"url": "https://github.com/omry/reploy/actions/runs/39490787428/job/118863091388"
},
{
"conclusion": "SUCCESS",
"name": "Target smoke (darwin-arm64)",
"run_id": 118863091248,
"run_status": "completed",
"status": "success",
"url": "https://github.com/omry/reploy/actions/runs/39490787428/job/118863091248"
},
{
"conclusion": "SUCCESS",
"name": "Target smoke (linux-amd64)",
"run_id": 118863091501,
"run_status": "completed",
"status": "success",
"url": "https://github.com/omry/reploy/actions/runs/39490787428/job/118863091501"
},
{
"conclusion": "SUCCESS",
"name": "Target smoke (linux-arm64)",
"run_id": 118863092594,
"run_status": "completed",
"status": "success",
"url": "https://github.com/omry/reploy/actions/runs/39490787428/job/118863092594"
},
{
"conclusion": "FAILURE",
"name": "Windows host smoke (windows-amd64)",
"run_id": 118863091342,
"run_status": "completed",
"status": "failure",
"url": "https://github.com/omry/reploy/actions/runs/39490787428/job/118863091342"
},
{
"conclusion": "FAILURE",
"name": "Windows host smoke (windows-arm64)",
"run_id": 118863091366,
"run_status": "completed",
"status": "failure",
"url": "https://github.com/omry/reploy/actions/runs/39490787428/job/118863091366"
}
],
"head_sha": "5934f59711cf541c4c71889697338aa471a8789a",
"id": "sha256:511aada6e0abb416bfde5bd6d276e9b35305354f2bbf1667fd235614d621bd33",
"required_checks": [
"Bash native evidence checks",
"Gitar",
"Linux CI checks",
"Target smoke (darwin-amd64)",
"Target smoke (darwin-arm64)",
"Target smoke (linux-amd64)",
"Target smoke (linux-arm64)",
"Windows host smoke (windows-amd64)",
"Windows host smoke (windows-arm64)"
],
"status": "failure"
},
{
"checks": [
{
"conclusion": "SKIPPED",
"name": "Bash native evidence checks",
"run_id": 118984934891,
"run_status": "completed",
"status": "failure",
"url": "https://github.com/omry/reploy/actions/runs/39525750624/job/118984934891"
},
{
"conclusion": "SUCCESS",
"name": "Gitar",
"run_id": 118981433353,
"run_status": "completed",
"status": "success",
"url": "https://github.com/omry/reploy/runs/118981433353"
},
{
"conclusion": "SUCCESS",
"name": "Linux CI checks",
"run_id": 118979864056,
"run_status": "completed",
"status": "success",
"url": "https://github.com/omry/reploy/actions/runs/39525750624/job/118979864056"
},
{
"conclusion": "SUCCESS",
"name": "Target smoke (darwin-amd64)",
"run_id": 118979864332,
"run_status": "completed",
"status": "success",
"url": "https://github.com/omry/reploy/actions/runs/39525750624/job/118979864332"
},
{
"conclusion": "SUCCESS",
"name": "Target smoke (darwin-arm64)",
"run_id": 118979864679,
"run_status": "completed",
"status": "success",
"url": "https://github.com/omry/reploy/actions/runs/39525750624/job/118979864679"
},
{
"conclusion": "SUCCESS",
"name": "Target smoke (linux-amd64)",
"run_id": 118979864320,
"run_status": "completed",
"status": "success",
"url": "https://github.com/omry/reploy/actions/runs/39525750624/job/118979864320"
},
{
"conclusion": "SUCCESS",
"name": "Target smoke (linux-arm64)",
"run_id": 118979864419,
"run_status": "completed",
"status": "success",
"url": "https://github.com/omry/reploy/actions/runs/39525750624/job/118979864419"
},
{
"conclusion": "FAILURE",
"name": "Windows host smoke (windows-amd64)",
"run_id": 118979864276,
"run_status": "completed",
"status": "failure",
"url": "https://github.com/omry/reploy/actions/runs/39525750624/job/118979864276"
},
{
"conclusion": "FAILURE",
"name": "Windows host smoke (windows-arm64)",
"run_id": 118979864295,
"run_status": "completed",
"status": "failure",
"url": "https://github.com/omry/reploy/actions/runs/39525750624/job/118979864295"
}
],
"head_sha": "6d0327f482036df83acf37863a19f4032afaa5e4",
"id": "sha256:ff7c57192cc96f559590a0c17e9054712a5faae40e8e8ea5e25a9274519de37c",
"required_checks": [
"Bash native evidence checks",
"Gitar",
"Linux CI checks",
"Target smoke (darwin-amd64)",
"Target smoke (darwin-arm64)",
"Target smoke (linux-amd64)",
"Target smoke (linux-arm64)",
"Windows host smoke (windows-amd64)",
"Windows host smoke (windows-arm64)"
],
"status": "failure"
}
],
"delivery_deferral_ledger_digest": "sha256:d7b1888b27e1d0f2dc9bd260272c82b7abaed3f33571ce80bdc153edae9d2146",
"delivery_deferrals": [
{
"disposition": "future-enhancement",
"evidence": [
"https://github.com/omry/reploy/pull/262#discussion_r4334688476",
"temp/reviews/multi-identity-composition-replan-20261016/future-installation-log-decision.md"
],
"id": "B4-INSTALLATION-RECOVERY-LOG-FUTURE",
"scope": "Separate future design; not a B4/B5 requirement or an approved central registry implementation.",
"status": "deferred",
"summary": "Consider separate per-user and system installation inventory/recovery logs for listing, management and loss of deployment directories."
},
{
"disposition": "separate-production-follow-up",
"evidence": [
"temp/reviews/multi-identity-b4-windows-hardlink-permissions.md",
"/home/omry/.local/state/awd/runs/run_5264d4q69yfwmwbtsnrnw1b58z/evidence/caller-recovery/pr262-8f410c2b70fe7308e61ad7622568277d548514ab28139ca4b18e99bd73cb12d8/round01-corrected-windows-amd64-job.log",
"/home/omry/.local/state/awd/runs/run_5264d4q69yfwmwbtsnrnw1b58z/evidence/caller-recovery/pr262-8f410c2b70fe7308e61ad7622568277d548514ab28139ca4b18e99bd73cb12d8/windows-go12512-metadata-and-remove-source.txt",
"https://learn.microsoft.com/en-ca/windows/win32/fileio/hard-links-and-junctions"
],
"id": "B4-WINDOWS-STORE-READONLY-FOLLOWUP",
"rationale": "Keep this probable existing production issue explicit. The current B4 correction fixes metadata observation and retains mode assertions; it does not repair read-only publication. Confirm via handle metadata and deliver a separately reviewed bounded fix.",
"scope": "Existing Windows provider-store publication/cleanup; outside B4 identity-retention implementation.",
"status": "deferred",
"summary": "Windows provider-store temporary-hardlink cleanup may clear the retained object read-only attribute."
}
],
"findings": [
{
"disposition": "fixed",
"evidence": [
"/home/omry/.local/state/awd/runs/run_5264d4q69yfwmwbtsnrnw1b58z/evidence/caller-recovery/pr262-8f410c2b70fe7308e61ad7622568277d548514ab28139ca4b18e99bd73cb12d8/round01-windows-amd64-job.log",
"/home/omry/.local/state/awd/runs/run_5264d4q69yfwmwbtsnrnw1b58z/evidence/caller-recovery/pr262-8f410c2b70fe7308e61ad7622568277d548514ab28139ca4b18e99bd73cb12d8/round01-windows-arm64-job.log",
"internal/dockerdeploy/provider_uninstall_pending_remove.go:326",
"internal/deploy/operation_directory_isolation_windows.go:34",
"/home/omry/.local/state/awd/runs/run_5264d4q69yfwmwbtsnrnw1b58z/evidence/caller-recovery/pr262-8f410c2b70fe7308e61ad7622568277d548514ab28139ca4b18e99bd73cb12d8/round01-corrected-windows-amd64-job.log",
"/home/omry/.local/state/awd/runs/run_5264d4q69yfwmwbtsnrnw1b58z/evidence/caller-recovery/pr262-8f410c2b70fe7308e61ad7622568277d548514ab28139ca4b18e99bd73cb12d8/round01-correction-apply-result.json",
"/home/omry/.local/state/awd/runs/run_5264d4q69yfwmwbtsnrnw1b58z/evidence/caller-recovery/pr262-8f410c2b70fe7308e61ad7622568277d548514ab28139ca4b18e99bd73cb12d8/round01-corrected-current-local-review.json",
"/home/omry/.local/state/awd/runs/run_5264d4q69yfwmwbtsnrnw1b58z/evidence/caller-recovery/pr262-8f410c2b70fe7308e61ad7622568277d548514ab28139ca4b18e99bd73cb12d8/round02-proposed-observer-fix-plan.json",
"/home/omry/.local/state/awd/runs/run_5264d4q69yfwmwbtsnrnw1b58z/evidence/caller-recovery/pr262-8f410c2b70fe7308e61ad7622568277d548514ab28139ca4b18e99bd73cb12d8/round03-required-checks.json",
"/home/omry/.local/state/awd/runs/run_5264d4q69yfwmwbtsnrnw1b58z/evidence/caller-recovery/pr262-8f410c2b70fe7308e61ad7622568277d548514ab28139ca4b18e99bd73cb12d8/round03-complete-local-validation-proof.json"
],
"id": "B4-CI-WIN-1",
"invariant": "Ordinary unmapped pending removal must still work; mapped or unknown authority must reject before effects.",
"proposed_paths": [
"internal/dockerdeploy/provider_uninstall_pending_remove.go",
"internal/dockerdeploy/provider_uninstall_pending_remove_test.go"
],
"recommended_follow_up": "Correct Windows handle lifetime using existing checked primitives; keep the retained-identity guard.",
"severity": "high",
"source": "exact-head Windows amd64/arm64 CI",
"status": "resolved",
"summary": "Finalizer keeps new operation/state-root handles open during .reploy move; Windows rejects ordinary uninstall finalization with Access is denied."
},
{
"disposition": "fixed",
"evidence": [
"/home/omry/.local/state/awd/runs/run_5264d4q69yfwmwbtsnrnw1b58z/evidence/caller-recovery/pr262-8f410c2b70fe7308e61ad7622568277d548514ab28139ca4b18e99bd73cb12d8/round01-windows-amd64-job.log",
"/home/omry/.local/state/awd/runs/run_5264d4q69yfwmwbtsnrnw1b58z/evidence/caller-recovery/pr262-8f410c2b70fe7308e61ad7622568277d548514ab28139ca4b18e99bd73cb12d8/round01-windows-arm64-job.log",
"internal/dockerdeploy/identity_mapping_retention_test.go:79",
"internal/dockerdeploy/identity_mapping_guard_test.go:77",
"/home/omry/.local/state/awd/runs/run_5264d4q69yfwmwbtsnrnw1b58z/evidence/caller-recovery/pr262-8f410c2b70fe7308e61ad7622568277d548514ab28139ca4b18e99bd73cb12d8/round01-corrected-windows-amd64-job.log",
"/home/omry/.local/state/awd/runs/run_5264d4q69yfwmwbtsnrnw1b58z/evidence/caller-recovery/pr262-8f410c2b70fe7308e61ad7622568277d548514ab28139ca4b18e99bd73cb12d8/round01-correction-apply-result.json",
"/home/omry/.local/state/awd/runs/run_5264d4q69yfwmwbtsnrnw1b58z/evidence/caller-recovery/pr262-8f410c2b70fe7308e61ad7622568277d548514ab28139ca4b18e99bd73cb12d8/round01-corrected-current-local-review.json",
"/home/omry/.local/state/awd/runs/run_5264d4q69yfwmwbtsnrnw1b58z/evidence/caller-recovery/pr262-8f410c2b70fe7308e61ad7622568277d548514ab28139ca4b18e99bd73cb12d8/round02-proposed-observer-fix-plan.json",
"/home/omry/.local/state/awd/runs/run_5264d4q69yfwmwbtsnrnw1b58z/evidence/caller-recovery/pr262-8f410c2b70fe7308e61ad7622568277d548514ab28139ca4b18e99bd73cb12d8/round03-required-checks.json",
"/home/omry/.local/state/awd/runs/run_5264d4q69yfwmwbtsnrnw1b58z/evidence/caller-recovery/pr262-8f410c2b70fe7308e61ad7622568277d548514ab28139ca4b18e99bd73cb12d8/round03-complete-local-validation-proof.json"
],
"id": "B4-CI-WIN-2",
"invariant": "Rejected operations must preserve authority/data/metadata; do not weaken assertions without proof.",
"proposed_paths": [
"internal/dockerdeploy/identity_mapping_retention_test.go",
"internal/dockerdeploy/identity_mapping_guard_test.go"
],
"recommended_follow_up": "Retain bounded per-path before/after diagnostics, identify actual mutation or observation cause, then fix while preserving content/owner/mode/data checks.",
"severity": "medium",
"source": "exact-head Windows amd64/arm64 CI",
"status": "resolved",
"summary": "Retained-state rejection tests report filesystem snapshot differences on Windows; exact changed paths and fields are not yet diagnosed."
},
{
"disposition": "future-enhancement",
"evidence": [
"https://github.com/omry/reploy/pull/262#discussion_r4332512729",
"internal/dockerdeploy/provider_uninstall_recovery.go:168",
"internal/dockerdeploy/provider_install_systemd.go:83",
"internal/deploy/identity_mapping_state_file.go:109",
"docs/MULTI_IDENTITY_IMPLEMENTATION_PLAN.md:153",
"docs/MULTI_IDENTITY_IMPLEMENTATION_PLAN.md:430",
"/tmp/reploy-b4-missing-directory-recovery-decision.md"
],
"id": 4332512729,
"invariant": "Preserve retained mapping authority before destructive effects while keeping ordinary absent-state recovery behavior unchanged.",
"rationale": "The maintainer deferred central installation recovery logs; current mapped installation creation and execution remain blocked. Preserve ordinary missing-directory cleanup and all surviving retained-state guards. No underlying deletion recovery fix is claimed.",
"recommended_follow_up": "Align the boundary between preserving existing service-only recovery and requiring durable mapping classification before mapped installation support. No fix or rejection has been claimed.",
"rejection_evidence": [
"https://github.com/omry/reploy/pull/262#discussion_r4334688476"
],
"severity": "high",
"source": "https://github.com/omry/reploy/pull/262#discussion_r4332512729",
"status": "non-actionable",
"summary": "Service-name recovery with no retained directory cannot distinguish a deleted mapped installation from an ordinary deleted installation.",
"thread_id": "PRRT_kwDOTFQCkM6umruL"
}
],
"pr": {
"base_ref": "pr260",
"base_sha": "ba972bc696053a70fad71c66657ae59a31689dd6",
"body_digest": "sha256:ac970ae380b0e12a086ff22bef3045c63637df9c2bb3f14ae2b6582a27d3bb0b",
"diff_digest": "sha256:c0981dfb9f774ba5632592e5179f77b0dfacfcd8b03381cc548f7aba0665d127",
"head_ref": "pr262",
"head_sha": "faa6a81690b1f06d8c988d8460f9ac76cd3e6ecc",
"pr": 262,
"repository": "omry/reploy",
"scope_authority": [
{
"digest": "sha256:7a1e2cb93f4520c6fffee4a59c75752ced2122d80b5a6449f486bc041772028d",
"path": "docs/MULTI_IDENTITY_IMPLEMENTATION_PLAN.md"
},
{
"digest": "sha256:6a488c15200d8d9cf56286855c2480cea4f78141f74584b2914ee23327174f16",
"path": "docs/MULTI_IDENTITY_SECURITY_CONTRACT.md"
},
{
"digest": "sha256:ebe0056f710b463b04662bf97917d26f3a8fafc5864b75079bf7077e2c91bdae",
"path": "tools/conformance/multiidentity/READINESS.md"
}
],
"title_digest": "sha256:0a081b53157a2d56a998db4aa352e0c6905b596349c0be4d007703c9e0eeacd9"
},
"record_version": 12,
"review_observations": [],
"review_requests": [
{
"base_established_at": "2026-10-20T20:18:03Z",
"base_ref": "pr260",
"base_sha": "ba972bc696053a70fad71c66657ae59a31689dd6",
"body_digest": "sha256:11fc872e6826a0fa42e23a228882fbb043022491fd52758d773bfd332c1eb860",
"created_at": "2026-10-20T20:28:34Z",
"head_sha": "5934f59711cf541c4c71889697338aa471a8789a",
"id": 6300768292,
"kind": "regular-review"
},
{
"base_established_at": "2026-10-20T20:18:03Z",
"base_ref": "pr260",
"base_sha": "ba972bc696053a70fad71c66657ae59a31689dd6",
"body_digest": "sha256:c767e7705820e127ee35ced5ae4ea2b3a50416b6c0b1bce7024f7a30022da460",
"created_at": "2026-10-21T01:28:11Z",
"head_sha": "6d0327f482036df83acf37863a19f4032afaa5e4",
"id": 6305737140,
"kind": "regular-review"
},
{
"base_established_at": "2026-10-20T20:18:03Z",
"base_ref": "pr260",
"base_sha": "ba972bc696053a70fad71c66657ae59a31689dd6",
"body_digest": "sha256:9d4924cd1a958e6c3f24cc8886f1dcfaf81e94b284815ccb9876c93af40b6cf1",
"created_at": "2026-10-21T02:44:02Z",
"head_sha": "faa6a81690b1f06d8c988d8460f9ac76cd3e6ecc",
"id": 6306707267,
"kind": "regular-review"
},
{
"base_established_at": "2026-10-20T20:18:03Z",
"base_ref": "pr260",
"base_sha": "ba972bc696053a70fad71c66657ae59a31689dd6",
"body_digest": "sha256:9d4924cd1a958e6c3f24cc8886f1dcfaf81e94b284815ccb9876c93af40b6cf1",
"created_at": "2026-10-21T11:05:05Z",
"head_sha": "faa6a81690b1f06d8c988d8460f9ac76cd3e6ecc",
"id": 6314387458,
"kind": "regular-review"
}
],
"review_results": [
{
"base_ref": "pr260",
"base_sha": "ba972bc696053a70fad71c66657ae59a31689dd6",
"body_digest": "sha256:f3c8586a3b7ce95fad187690885b6a5c3bfd9d75ae68cda63e0c23075ffed724",
"commit_id": "faa6a81690b1f06d8c988d8460f9ac76cd3e6ecc",
"id": 5594348613,
"inline_message_ids": [
4332512729
],
"request_comment_id": 6306707267,
"result_kind": "findings",
"status": "result",
"submitted_at": "2026-10-21T02:46:42Z",
"unresolved_thread_ids": [
"PRRT_kwDOTFQCkM6umruL"
]
},
{
"base_ref": "pr260",
"base_sha": "ba972bc696053a70fad71c66657ae59a31689dd6",
"body_digest": "sha256:78ce35ab003feb453be02ff8c986fc29bcc9689bfd515656ae1f23e5589824f0",
"commit_id": "5934f59711cf541c4c71889697338aa471a8789a",
"id": 6300831805,
"inline_message_ids": [],
"request_comment_id": 6300768292,
"result_kind": "clean",
"status": "result",
"submitted_at": "2026-10-20T20:31:48Z",
"unresolved_thread_ids": []
},
{
"base_ref": "pr260",
"base_sha": "ba972bc696053a70fad71c66657ae59a31689dd6",
"body_digest": "sha256:ef1924e9ab23d9aa04c45c4e780790439c640ebead58cda3ab8fcc1cb656a0b6",
"commit_id": "6d0327f482036df83acf37863a19f4032afaa5e4",
"id": 6305783787,
"inline_message_ids": [],
"request_comment_id": 6305737140,
"result_kind": "clean",
"status": "result",
"submitted_at": "2026-10-21T01:31:53Z",
"unresolved_thread_ids": []
},
{
"base_ref": "pr260",
"base_sha": "ba972bc696053a70fad71c66657ae59a31689dd6",
"body_digest": "sha256:136c322f3c0ef7cf0247c883b55604d08a80424207d8ba8beb31d938d57b5842",
"commit_id": "faa6a81690b1f06d8c988d8460f9ac76cd3e6ecc",
"id": 6314432936,
"inline_message_ids": [],
"request_comment_id": 6314387458,
"result_kind": "clean",
"status": "result",
"submitted_at": "2026-10-21T11:07:35Z",
"unresolved_thread_ids": []
}
],
"revision_fingerprint": "sha256:60e3bdab79b8e83cbef3d64431b52894a42973943e66d0c56cb1413095eb6d77",
"rounds": [
{
"applied_fix_paths": [
"internal/dockerdeploy/identity_mapping_retention_test.go",
"internal/dockerdeploy/provider_uninstall_pending_remove.go"
],
"disposition_changes": [],
"effective_diff_digest": "sha256:7c5ccd03114a0bc6c8fdce8235cb84a4659ff8bd740f7f0beaca808ab35e2fc0",
"finding_ids": [
"B4-CI-WIN-1",
"B4-CI-WIN-2"
],
"invariants": [
"Retained identity presence, malformed or foreign authority rejects destruction before effects.",
"Ordinary unmapped installed pending cleanup remains available on every host platform.",
"Rejected operations preserve all retained file contents and metadata."
],
"outcome": "corrected-head-needs-review",
"proposed_fix_paths": [
"internal/dockerdeploy/identity_mapping_retention_test.go",
"internal/dockerdeploy/provider_uninstall_pending_remove.go"
],
"resulting_head": "6d0327f482036df83acf37863a19f4032afaa5e4",
"review_observation_id": null,
"review_request_id": 6300768292,
"review_result_id": 6300831805,
"reviewed_head": "5934f59711cf541c4c71889697338aa471a8789a",
"root_cause": "Windows cannot move pending .reploy while the new finalizer holds file/root handles. The bounded correction closes them only after ordinary installed authority validation, and preserves all mapping guards. A separate Windows snapshot difference remains undiagnosed; strict assertions now report bounded per-path metadata/hash differences. No claim that diagnostics fix that issue.",
"round": 1,
"unresolved_current_slice_findings": 2,
"unresolved_design_blockers": 0
},
{
"applied_fix_paths": [
"internal/dockerdeploy/identity_mapping_guard_test.go",
"internal/dockerdeploy/identity_mapping_retention_test.go"
],
"disposition_changes": [
"B4-CI-WIN-1"
],
"effective_diff_digest": "sha256:c0981dfb9f774ba5632592e5179f77b0dfacfcd8b03381cc548f7aba0665d127",
"finding_ids": [
"B4-CI-WIN-1",
"B4-CI-WIN-2"
],
"invariants": [
"Retained identity guards reject before destructive or workload effects.",
"Ordinary pending finalization remains available on Windows.",
"Snapshot comparison uses actual mode/owner/time/content and still detects genuine mode changes."
],
"outcome": "corrected-head-needs-review",
"proposed_fix_paths": [
"internal/dockerdeploy/identity_mapping_guard_test.go",
"internal/dockerdeploy/identity_mapping_retention_test.go"
],
"resulting_head": "faa6a81690b1f06d8c988d8460f9ac76cd3e6ecc",
"review_observation_id": null,
"review_request_id": 6305737140,
"review_result_id": 6305783787,
"reviewed_head": "6d0327f482036df83acf37863a19f4032afaa5e4",
"root_cause": "Windows confirmed the prior handle-lifetime correction. The remaining failures compared stale NTFS hardlink directory attributes before a read with refreshed attributes afterward. The corrected observer uses actual File.Stat metadata and reads bytes through the same handle, retaining every exact field and locked-file check. Repeated-observation and real-mode-change controls pass locally. This is a test observation truth fix; the separate probable Windows store read-only publication issue remains explicitly deferred. Current fresh Windows/review approval is still required.",
"round": 2,
"unresolved_current_slice_findings": 1,
"unresolved_design_blockers": 0
},
{
"applied_fix_paths": [],
"disposition_changes": [
4332512729
],
"effective_diff_digest": "sha256:c0981dfb9f774ba5632592e5179f77b0dfacfcd8b03381cc548f7aba0665d127",
"finding_ids": [
4332512729
],
"invariants": [
"Retained identity authority inhibits destructive effects; existing tombstone/control checks remain unchanged.",
"Ordinary missing-directory service cleanup remains available and does not allocate/release host IDs, change ownership or remove persistent volumes.",
"Mapped installation creation/publication and mapped payload execution remain blocked until their reviewed later adapters."
],
"outcome": "same-head-needs-retry",
"proposed_fix_paths": [],
"resulting_head": "faa6a81690b1f06d8c988d8460f9ac76cd3e6ecc",
"review_observation_id": null,
"review_request_id": 6306707267,
"review_result_id": 5594348613,
"reviewed_head": "faa6a81690b1f06d8c988d8460f9ac76cd3e6ecc",
"root_cause": "The finding concerns loss of all deployment-local metadata after manual directory deletion. The maintainer deferred a central installation recovery log as a future enhancement outside B4/B5. The exact review thread now contains the verified owner response and is resolved. The finding is durably non-actionable for this slice with original diagnostics retained and separate rejection_evidence. No source fix is claimed; close this finding-bearing round and request a fresh regular review at the unchanged head before approval.",
"round": 3,
"unresolved_current_slice_findings": 0,
"unresolved_design_blockers": 0
},
{
"applied_fix_paths": [],
"disposition_changes": [],
"effective_diff_digest": "sha256:c0981dfb9f774ba5632592e5179f77b0dfacfcd8b03381cc548f7aba0665d127",
"finding_ids": [],
"invariants": [
"Retained identity authority inhibits destructive effects; existing tombstone/control checks remain unchanged.",
"Ordinary missing-directory service cleanup remains available and does not allocate/release host IDs, change ownership or remove persistent volumes.",
"Mapped installation creation/publication and mapped payload execution remain blocked until their reviewed later adapters."
],
"outcome": "clean",
"proposed_fix_paths": [],
"resulting_head": "faa6a81690b1f06d8c988d8460f9ac76cd3e6ecc",
"review_observation_id": null,
"review_request_id": 6314387458,
"review_result_id": 6314432936,
"reviewed_head": "faa6a81690b1f06d8c988d8460f9ac76cd3e6ecc",
"root_cause": "Fresh regular Codex review at exact unchanged FAA is clean after the prior finding was explicitly classified non-actionable by the maintainer. Every selected current-head CI check is successful and fresh complete local validation passed. No further code correction is required. Existing retained-state guards and mapped-installation/runtime inhibition are unchanged. The general installation recovery log and Windows store read-only issue remain explicit separate deferrals.",
"round": 4,
"unresolved_current_slice_findings": 0,
"unresolved_design_blockers": 0
}
],
"schema": "awd:swe:pr-cycle-state",
"version": 2
} |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Codex Review: Didn't find any major issues. 🚀 Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
|
Codex Review: Didn't find any major issues. What shall we delve into next? Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
…tions Persist optional identity mapping authority in the existing deployment state under its operation lock. Bind the stable owner and selected directory, compare mapping and generation observations, and preserve mappings through ordinary state writers and retained uninstall staging. Reject copied authority, mapped installation adoption, unsupported payload execution and destructive replacement or removal before recovery and effects, including missing-target service-name recovery. Keep runtime admission and safe ID release in their later slices. Validation: full local Go, Python/package, Docker CLI smoke, release and docs checks passed. Two local review rounds resolved one recovery guard omission; fresh independent full review is clean. Guard-removal mutation controls fail as expected.
Code Review ✅ Approved🔴 High risk · Retained UID/GID authority and uninstall/replacement guards alter destructive-operation authorization; a bypass could discard mappings still protecting host IDs. Persists optional identity mapping authority in the existing deployment state under its operation lock, binding the stable owner and selected directory and guarding destructive replacement and removal paths. No issues found. VerificationRules No rules evaluated Functional validation Not enabledFor more verification details, comment OptionsAuto-apply is off → Gitar will not commit updates to this branch. Comment with these commands to change the behavior for this request:
Was this helpful? React with 👍 / 👎 | Powered by Gitar — free for open source |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: faa6a81690
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
Codex Review: Didn't find any major issues. 🎉 Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
Persist optional identity mapping authority in the existing deployment state under its operation lock. Bind the stable owner and selected directory, compare mapping and generation observations, and preserve mappings through ordinary state writers and retained uninstall staging.
Reject copied authority, mapped installation adoption, unsupported payload execution and destructive replacement or removal before recovery and effects, including missing-target service-name recovery. Keep runtime admission and safe ID release in their later slices.
Validation: full local Go, Python/package, Docker CLI smoke, release and docs checks passed. Two local review rounds resolved one recovery guard omission; fresh independent full review is clean. Guard-removal mutation controls fail as expected.