Skip to content

[authentication/1.1] Private authority initialization - #41

Open
omry wants to merge 1 commit into
pr40from
pr41
Open

omry wants to merge 1 commit into
pr40from
pr41

Conversation

@omry

@omry omry commented Oct 20, 2026 •

Copy link
Copy Markdown
Owner

Add offline authority init/status with persistent private SQLite owner/server UUID records, serialized initialization, no overwrite and safe retry of unpublished setup. Reject unsafe state and parent replacement rights on POSIX and Windows. Windows uses an operator-prepared private ACL, trusted host OS ancestry and a write-capable database flush. Caller authentication remains unchanged.

Plan slice: arbiter-authentication/1.1. Parent: approved authentication planning prerequisites; next: authentication/1.2 credential profiles.

Validation: full repository unit, Black/type, Go, documentation and plan checks passed. Negative mutation probes detect missing ancestor protection and read-only database flushing. DBB and independent review passed for the corrected content; native Windows/platform validation runs in CI.


Comment thread server/src/arbiter_server/authority.py
@omry
omry removed this pull request from stack #42 October 20, 2026 11:01
@omry
omry added this pull request to stack #43 October 20, 2026 11:02
@omry
omry force-pushed the pr41 branch 2 times, most recently from 41a67c3 to d802e19 Compare October 20, 2026 12:01
@omry

omry commented Oct 20, 2026 •

Copy link
Copy Markdown
Owner Author

PR-cycle state — maintained automatically. Do not edit by hand.

Mechanical PR-cycle state (JSON)
{
  "approval": {
    "candidate_revision_fingerprint": "sha256:82b6bab78280e3ad144518f0805be8921f7d34fb7606cb182af75f6731e97bc3",
    "evidence": {
      "attestations": [
        {
          "baseline_identity": "sha256:95080c8129b4da2db4db318d829532ce16d721ef805c4a756c90a714c0262483",
          "closure_identity": "sha256:440397f051d4c5738ef79e10222352b2222d2b0652b34e67cbabd5fa71d18d54",
          "document_identity": "sha256:b6511414b3a9b485542df83c8f7abfc499dc8d06e522819b48e162a562d21c57",
          "sidecar_identity": "sha256:79c904f72e578226e1651232379c453990fac14a2735deda6b872acf2cd1d28c"
        },
        {
          "baseline_identity": "sha256:ad1ec634421f4d4b16b5cb61c07844e945fa11d0737e7e59757b3b3aabbf21ce",
          "closure_identity": "sha256:440397f051d4c5738ef79e10222352b2222d2b0652b34e67cbabd5fa71d18d54",
          "document_identity": "sha256:c576091af919c3ec99f0e0edb5795cf4e7bd37a44415ae24742393822317ad3d",
          "sidecar_identity": "sha256:3c969d1c7722b7db806221b23c15d19e577c5e6ad472ba56f7714af25d9cba19"
        },
        {
          "closure_identity": "sha256:440397f051d4c5738ef79e10222352b2222d2b0652b34e67cbabd5fa71d18d54",
          "document_identity": "sha256:d56e92a7cb01f131ba499650c4a5d7b2c8d17adf2cdc7d612eee7c5f53d07929",
          "sidecar_identity": "sha256:b02245b52befcecf939bd2373a16912cad483a5a100c7f5733856cd39b4921b5"
        }
      ],
      "candidate_revision_fingerprint": "sha256:82b6bab78280e3ad144518f0805be8921f7d34fb7606cb182af75f6731e97bc3",
      "check_conclusions": [
        {
          "conclusion": "SUCCESS",
          "name": "Gitar",
          "run_id": 118710518438
        },
        {
          "conclusion": "SUCCESS",
          "name": "Platform Linux arm64",
          "run_id": 118701417233
        },
        {
          "conclusion": "SUCCESS",
          "name": "Platform Linux x64",
          "run_id": 118701417153
        },
        {
          "conclusion": "SUCCESS",
          "name": "Platform Windows arm64",
          "run_id": 118701417455
        },
        {
          "conclusion": "SUCCESS",
          "name": "Platform Windows x64",
          "run_id": 118701416916
        },
        {
          "conclusion": "SUCCESS",
          "name": "Platform macOS arm64",
          "run_id": 118701417229
        },
        {
          "conclusion": "SUCCESS",
          "name": "Platform macOS x64",
          "run_id": 118701416677
        },
        {
          "conclusion": "SUCCESS",
          "name": "Python 3.10",
          "run_id": 118701416890
        },
        {
          "conclusion": "SUCCESS",
          "name": "Python 3.11",
          "run_id": 118701416994
        },
        {
          "conclusion": "SUCCESS",
          "name": "Python 3.12",
          "run_id": 118701417186
        },
        {
          "conclusion": "SUCCESS",
          "name": "Python 3.14",
          "run_id": 118701417182
        },
        {
          "conclusion": "SUCCESS",
          "name": "Python lint",
          "run_id": 118701416870
        },
        {
          "conclusion": "SUCCESS",
          "name": "Website",
          "run_id": 118701416351
        }
      ],
      "delivery_deferral_ledger_digest": "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
      "finding_dispositions_digest": "sha256:0e1adc0e043f9094536d5aff921418d2a93455418dedd5cb5e0f373335030723",
      "operation_identity": "sha256:cd040942cc897294f2b725fd8a002b43a23b36a9c251d408d6f90c9c3597a6b6",
      "review_request": {
        "body_digest": "sha256:7c962a78756be638bd2131139c7aecca271f3a7d77d5997b92a19ae6ad0e58f6",
        "id": 6293963031
      },
      "review_result": {
        "body_digest": "sha256:333b1fdbff742ee6ebe3c38873c6829fcaaaec095bfe1357d81a066185370bb2",
        "id": 6294025764
      }
    },
    "evidence_fingerprint": "sha256:e701f3ed99669573c131cedf0a9aba7de90066a24eb2c102ee971e8d6d2f0383",
    "head_sha": "422dabebbdb266d05b6e186cf914e2da593aee01",
    "operation_identity": "sha256:cd040942cc897294f2b725fd8a002b43a23b36a9c251d408d6f90c9c3597a6b6",
    "review_request_id": 6293963031,
    "review_result_id": 6294025764,
    "status": "approved-evidence-recorded"
  },
  "candidate_revision_fingerprint": "sha256:82b6bab78280e3ad144518f0805be8921f7d34fb7606cb182af75f6731e97bc3",
  "check_conclusions": [
    {
      "conclusion": "SUCCESS",
      "name": "Gitar",
      "run_id": 118710518438
    },
    {
      "conclusion": "SUCCESS",
      "name": "Platform Linux arm64",
      "run_id": 118701417233
    },
    {
      "conclusion": "SUCCESS",
      "name": "Platform Linux x64",
      "run_id": 118701417153
    },
    {
      "conclusion": "SUCCESS",
      "name": "Platform Windows arm64",
      "run_id": 118701417455
    },
    {
      "conclusion": "SUCCESS",
      "name": "Platform Windows x64",
      "run_id": 118701416916
    },
    {
      "conclusion": "SUCCESS",
      "name": "Platform macOS arm64",
      "run_id": 118701417229
    },
    {
      "conclusion": "SUCCESS",
      "name": "Platform macOS x64",
      "run_id": 118701416677
    },
    {
      "conclusion": "SUCCESS",
      "name": "Python 3.10",
      "run_id": 118701416890
    },
    {
      "conclusion": "SUCCESS",
      "name": "Python 3.11",
      "run_id": 118701416994
    },
    {
      "conclusion": "SUCCESS",
      "name": "Python 3.12",
      "run_id": 118701417186
    },
    {
      "conclusion": "SUCCESS",
      "name": "Python 3.14",
      "run_id": 118701417182
    },
    {
      "conclusion": "SUCCESS",
      "name": "Python lint",
      "run_id": 118701416870
    },
    {
      "conclusion": "SUCCESS",
      "name": "Website",
      "run_id": 118701416351
    }
  ],
  "check_observations": [
    {
      "checks": [
        {
          "conclusion": "SUCCESS",
          "name": "Gitar",
          "run_id": 118701397665,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/omry/arbiter/runs/118701397665"
        },
        {
          "conclusion": "SUCCESS",
          "name": "Platform Linux arm64",
          "run_id": 118701417233,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/omry/arbiter/actions/runs/39444131060/job/118701417233"
        },
        {
          "conclusion": "SUCCESS",
          "name": "Platform Linux x64",
          "run_id": 118701417153,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/omry/arbiter/actions/runs/39444131060/job/118701417153"
        },
        {
          "conclusion": "SUCCESS",
          "name": "Platform Windows arm64",
          "run_id": 118701417455,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/omry/arbiter/actions/runs/39444131060/job/118701417455"
        },
        {
          "conclusion": "SUCCESS",
          "name": "Platform Windows x64",
          "run_id": 118701416916,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/omry/arbiter/actions/runs/39444131060/job/118701416916"
        },
        {
          "conclusion": "SUCCESS",
          "name": "Platform macOS arm64",
          "run_id": 118701417229,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/omry/arbiter/actions/runs/39444131060/job/118701417229"
        },
        {
          "conclusion": "SUCCESS",
          "name": "Platform macOS x64",
          "run_id": 118701416677,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/omry/arbiter/actions/runs/39444131060/job/118701416677"
        },
        {
          "conclusion": "SUCCESS",
          "name": "Python 3.10",
          "run_id": 118701416890,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/omry/arbiter/actions/runs/39444131060/job/118701416890"
        },
        {
          "conclusion": "SUCCESS",
          "name": "Python 3.11",
          "run_id": 118701416994,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/omry/arbiter/actions/runs/39444131060/job/118701416994"
        },
        {
          "conclusion": "SUCCESS",
          "name": "Python 3.12",
          "run_id": 118701417186,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/omry/arbiter/actions/runs/39444131060/job/118701417186"
        },
        {
          "conclusion": "SUCCESS",
          "name": "Python 3.14",
          "run_id": 118701417182,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/omry/arbiter/actions/runs/39444131060/job/118701417182"
        },
        {
          "conclusion": "SUCCESS",
          "name": "Python lint",
          "run_id": 118701416870,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/omry/arbiter/actions/runs/39444131060/job/118701416870"
        },
        {
          "conclusion": "SUCCESS",
          "name": "Website",
          "run_id": 118701416351,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/omry/arbiter/actions/runs/39444131060/job/118701416351"
        }
      ],
      "head_sha": "422dabebbdb266d05b6e186cf914e2da593aee01",
      "id": "sha256:19f7f0cb6533445016bbc2149693c027fc32b37dcedf1a5121a8880f91934145",
      "required_checks": [
        "Gitar",
        "Platform Linux arm64",
        "Platform Linux x64",
        "Platform Windows arm64",
        "Platform Windows x64",
        "Platform macOS arm64",
        "Platform macOS x64",
        "Python 3.10",
        "Python 3.11",
        "Python 3.12",
        "Python 3.14",
        "Python lint",
        "Website"
      ],
      "status": "success"
    },
    {
      "checks": [
        {
          "conclusion": "SUCCESS",
          "name": "Gitar",
          "run_id": 118640763365,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/omry/arbiter/runs/118640763365"
        },
        {
          "conclusion": "SUCCESS",
          "name": "Platform Linux arm64",
          "run_id": 118635594199,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/omry/arbiter/actions/runs/39425108739/job/118635594199"
        },
        {
          "conclusion": "SUCCESS",
          "name": "Platform Linux x64",
          "run_id": 118635594341,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/omry/arbiter/actions/runs/39425108739/job/118635594341"
        },
        {
          "conclusion": "FAILURE",
          "name": "Platform Windows arm64",
          "run_id": 118635594252,
          "run_status": "completed",
          "status": "failure",
          "url": "https://github.com/omry/arbiter/actions/runs/39425108739/job/118635594252"
        },
        {
          "conclusion": "FAILURE",
          "name": "Platform Windows x64",
          "run_id": 118635594182,
          "run_status": "completed",
          "status": "failure",
          "url": "https://github.com/omry/arbiter/actions/runs/39425108739/job/118635594182"
        },
        {
          "conclusion": "SUCCESS",
          "name": "Platform macOS arm64",
          "run_id": 118635594354,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/omry/arbiter/actions/runs/39425108739/job/118635594354"
        },
        {
          "conclusion": "SUCCESS",
          "name": "Platform macOS x64",
          "run_id": 118635594465,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/omry/arbiter/actions/runs/39425108739/job/118635594465"
        },
        {
          "conclusion": "SUCCESS",
          "name": "Python 3.10",
          "run_id": 118635594423,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/omry/arbiter/actions/runs/39425108739/job/118635594423"
        },
        {
          "conclusion": "SUCCESS",
          "name": "Python 3.11",
          "run_id": 118635594579,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/omry/arbiter/actions/runs/39425108739/job/118635594579"
        },
        {
          "conclusion": "SUCCESS",
          "name": "Python 3.12",
          "run_id": 118635594453,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/omry/arbiter/actions/runs/39425108739/job/118635594453"
        },
        {
          "conclusion": "FAILURE",
          "name": "Python 3.14",
          "run_id": 118635594472,
          "run_status": "completed",
          "status": "failure",
          "url": "https://github.com/omry/arbiter/actions/runs/39425108739/job/118635594472"
        },
        {
          "conclusion": "SUCCESS",
          "name": "Python lint",
          "run_id": 118635594342,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/omry/arbiter/actions/runs/39425108739/job/118635594342"
        },
        {
          "conclusion": "SUCCESS",
          "name": "Website",
          "run_id": 118635593787,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/omry/arbiter/actions/runs/39425108739/job/118635593787"
        }
      ],
      "head_sha": "ff786b41375e0f5705b1359576bd325030b21a8b",
      "id": "sha256:21b21f24b608b52eb7caab4c1802195347a7bc8d4364905c08ef9789e1247f71",
      "required_checks": [
        "Gitar",
        "Platform Linux arm64",
        "Platform Linux x64",
        "Platform Windows arm64",
        "Platform Windows x64",
        "Platform macOS arm64",
        "Platform macOS x64",
        "Python 3.10",
        "Python 3.11",
        "Python 3.12",
        "Python 3.14",
        "Python lint",
        "Website"
      ],
      "status": "failure"
    },
    {
      "checks": [
        {
          "conclusion": "SUCCESS",
          "name": "Gitar",
          "run_id": 118661322520,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/omry/arbiter/runs/118661322520"
        },
        {
          "conclusion": "SUCCESS",
          "name": "Platform Linux arm64",
          "run_id": 118661339847,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/omry/arbiter/actions/runs/39432635752/job/118661339847"
        },
        {
          "conclusion": "FAILURE",
          "name": "Platform Linux x64",
          "run_id": 118661339773,
          "run_status": "completed",
          "status": "failure",
          "url": "https://github.com/omry/arbiter/actions/runs/39432635752/job/118661339773"
        },
        {
          "name": "Platform Windows arm64",
          "run_id": 118661340299,
          "run_status": "in_progress",
          "status": "pending",
          "url": "https://github.com/omry/arbiter/actions/runs/39432635752/job/118661340299"
        },
        {
          "conclusion": "FAILURE",
          "name": "Platform Windows x64",
          "run_id": 118661340167,
          "run_status": "completed",
          "status": "failure",
          "url": "https://github.com/omry/arbiter/actions/runs/39432635752/job/118661340167"
        },
        {
          "name": "Platform macOS arm64",
          "run_id": 118661340083,
          "run_status": "in_progress",
          "status": "pending",
          "url": "https://github.com/omry/arbiter/actions/runs/39432635752/job/118661340083"
        },
        {
          "name": "Platform macOS x64",
          "run_id": 118661340117,
          "run_status": "in_progress",
          "status": "pending",
          "url": "https://github.com/omry/arbiter/actions/runs/39432635752/job/118661340117"
        },
        {
          "conclusion": "SUCCESS",
          "name": "Python 3.10",
          "run_id": 118661340217,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/omry/arbiter/actions/runs/39432635752/job/118661340217"
        },
        {
          "conclusion": "SUCCESS",
          "name": "Python 3.11",
          "run_id": 118661340215,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/omry/arbiter/actions/runs/39432635752/job/118661340215"
        },
        {
          "conclusion": "SUCCESS",
          "name": "Python 3.12",
          "run_id": 118661339997,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/omry/arbiter/actions/runs/39432635752/job/118661339997"
        },
        {
          "conclusion": "SUCCESS",
          "name": "Python 3.14",
          "run_id": 118661340160,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/omry/arbiter/actions/runs/39432635752/job/118661340160"
        },
        {
          "conclusion": "SUCCESS",
          "name": "Python lint",
          "run_id": 118661340004,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/omry/arbiter/actions/runs/39432635752/job/118661340004"
        },
        {
          "conclusion": "SUCCESS",
          "name": "Website",
          "run_id": 118661339413,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/omry/arbiter/actions/runs/39432635752/job/118661339413"
        }
      ],
      "head_sha": "e4fbf3f5ffadc3bff6dedd6c072a414d3a320ba2",
      "id": "sha256:28e24b27cb619c3bc54469b3ea7405a502be23fe5aae8e0a317adef4eeadfc4c",
      "required_checks": [
        "Gitar",
        "Platform Linux arm64",
        "Platform Linux x64",
        "Platform Windows arm64",
        "Platform Windows x64",
        "Platform macOS arm64",
        "Platform macOS x64",
        "Python 3.10",
        "Python 3.11",
        "Python 3.12",
        "Python 3.14",
        "Python lint",
        "Website"
      ],
      "status": "failure"
    },
    {
      "checks": [
        {
          "conclusion": "SUCCESS",
          "name": "Gitar",
          "run_id": 118672175322,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/omry/arbiter/runs/118672175322"
        },
        {
          "conclusion": "SUCCESS",
          "name": "Platform Linux arm64",
          "run_id": 118672198767,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/omry/arbiter/actions/runs/39435755011/job/118672198767"
        },
        {
          "conclusion": "SUCCESS",
          "name": "Platform Linux x64",
          "run_id": 118672198483,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/omry/arbiter/actions/runs/39435755011/job/118672198483"
        },
        {
          "conclusion": "SUCCESS",
          "name": "Platform Windows arm64",
          "run_id": 118672198738,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/omry/arbiter/actions/runs/39435755011/job/118672198738"
        },
        {
          "conclusion": "SUCCESS",
          "name": "Platform Windows x64",
          "run_id": 118672198565,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/omry/arbiter/actions/runs/39435755011/job/118672198565"
        },
        {
          "conclusion": "SUCCESS",
          "name": "Platform macOS arm64",
          "run_id": 118672198811,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/omry/arbiter/actions/runs/39435755011/job/118672198811"
        },
        {
          "conclusion": "SUCCESS",
          "name": "Platform macOS x64",
          "run_id": 118672198701,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/omry/arbiter/actions/runs/39435755011/job/118672198701"
        },
        {
          "conclusion": "SUCCESS",
          "name": "Python 3.10",
          "run_id": 118672198690,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/omry/arbiter/actions/runs/39435755011/job/118672198690"
        },
        {
          "conclusion": "SUCCESS",
          "name": "Python 3.11",
          "run_id": 118672199533,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/omry/arbiter/actions/runs/39435755011/job/118672199533"
        },
        {
          "conclusion": "SUCCESS",
          "name": "Python 3.12",
          "run_id": 118672198503,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/omry/arbiter/actions/runs/39435755011/job/118672198503"
        },
        {
          "conclusion": "SUCCESS",
          "name": "Python 3.14",
          "run_id": 118672198391,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/omry/arbiter/actions/runs/39435755011/job/118672198391"
        },
        {
          "conclusion": "SUCCESS",
          "name": "Python lint",
          "run_id": 118672198712,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/omry/arbiter/actions/runs/39435755011/job/118672198712"
        },
        {
          "conclusion": "SUCCESS",
          "name": "Website",
          "run_id": 118672198394,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/omry/arbiter/actions/runs/39435755011/job/118672198394"
        }
      ],
      "head_sha": "18e826a160d1118c858fc7cfb9788dd81941a829",
      "id": "sha256:54913032011636a62ad6023f983985b2c6faab3ff702124a25d2cc970c55fef9",
      "required_checks": [
        "Gitar",
        "Platform Linux arm64",
        "Platform Linux x64",
        "Platform Windows arm64",
        "Platform Windows x64",
        "Platform macOS arm64",
        "Platform macOS x64",
        "Python 3.10",
        "Python 3.11",
        "Python 3.12",
        "Python 3.14",
        "Python lint",
        "Website"
      ],
      "status": "success"
    },
    {
      "checks": [
        {
          "conclusion": "SUCCESS",
          "name": "Gitar",
          "run_id": 118688130312,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/omry/arbiter/runs/118688130312"
        },
        {
          "conclusion": "SUCCESS",
          "name": "Platform Linux arm64",
          "run_id": 118688148550,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/omry/arbiter/actions/runs/39440329561/job/118688148550"
        },
        {
          "conclusion": "SUCCESS",
          "name": "Platform Linux x64",
          "run_id": 118688148231,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/omry/arbiter/actions/runs/39440329561/job/118688148231"
        },
        {
          "conclusion": "SUCCESS",
          "name": "Platform Windows arm64",
          "run_id": 118688148309,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/omry/arbiter/actions/runs/39440329561/job/118688148309"
        },
        {
          "conclusion": "SUCCESS",
          "name": "Platform Windows x64",
          "run_id": 118688147894,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/omry/arbiter/actions/runs/39440329561/job/118688147894"
        },
        {
          "conclusion": "SUCCESS",
          "name": "Platform macOS arm64",
          "run_id": 118688148357,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/omry/arbiter/actions/runs/39440329561/job/118688148357"
        },
        {
          "conclusion": "SUCCESS",
          "name": "Platform macOS x64",
          "run_id": 118688148535,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/omry/arbiter/actions/runs/39440329561/job/118688148535"
        },
        {
          "conclusion": "SUCCESS",
          "name": "Python 3.10",
          "run_id": 118688148191,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/omry/arbiter/actions/runs/39440329561/job/118688148191"
        },
        {
          "conclusion": "SUCCESS",
          "name": "Python 3.11",
          "run_id": 118688148389,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/omry/arbiter/actions/runs/39440329561/job/118688148389"
        },
        {
          "conclusion": "SUCCESS",
          "name": "Python 3.12",
          "run_id": 118688148143,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/omry/arbiter/actions/runs/39440329561/job/118688148143"
        },
        {
          "conclusion": "SUCCESS",
          "name": "Python 3.14",
          "run_id": 118688148898,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/omry/arbiter/actions/runs/39440329561/job/118688148898"
        },
        {
          "conclusion": "SUCCESS",
          "name": "Python lint",
          "run_id": 118688147944,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/omry/arbiter/actions/runs/39440329561/job/118688147944"
        },
        {
          "conclusion": "SUCCESS",
          "name": "Website",
          "run_id": 118688147489,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/omry/arbiter/actions/runs/39440329561/job/118688147489"
        }
      ],
      "head_sha": "482bfcd33be08f2f19f4e2002240f6075630a3ef",
      "id": "sha256:c55271e64036a2529b3b0d93e08e703b3919e436423ca89bd50f4a341bb40ec3",
      "required_checks": [
        "Gitar",
        "Platform Linux arm64",
        "Platform Linux x64",
        "Platform Windows arm64",
        "Platform Windows x64",
        "Platform macOS arm64",
        "Platform macOS x64",
        "Python 3.10",
        "Python 3.11",
        "Python 3.12",
        "Python 3.14",
        "Python lint",
        "Website"
      ],
      "status": "success"
    }
  ],
  "delivery_deferral_ledger_digest": "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
  "delivery_deferrals": [],
  "findings": [
    {
      "evidence": [
        "https://github.com/omry/arbiter/pull/41#discussion_r4325758919",
        "https://github.com/omry/arbiter/pull/41#discussion_r4325905401"
      ],
      "id": "4325758919",
      "invariant": "Private authority paths under trusted Windows OS ancestors must remain usable without admitting arbitrary service identities",
      "proposed_fix_paths": [
        "server/src/arbiter_server/authority.py",
        "server/tests/unit/test_authority.py",
        "website/docs/operate/security.md"
      ],
      "rationale": "Accept the fixed Windows Modules Installer SID for ancestor checks only, matching the existing trusted host OS/admin model. Preserve strict root/file ACL policy and reject arbitrary service SIDs.",
      "status": "resolved"
    },
    {
      "evidence": [
        "https://github.com/omry/arbiter/pull/41#discussion_r4325994638",
        "https://github.com/omry/arbiter/pull/41#discussion_r4326216485"
      ],
      "id": "4325994638",
      "invariant": "Windows authority root and every state file must have a trusted caller/SYSTEM/Administrators owner; an arbitrary actual filesystem owner is not authority",
      "proposed_fix_paths": [
        "server/src/arbiter_server/authority.py",
        "server/tests/unit/test_authority.py",
        "website/docs/operate/security.md"
      ],
      "rationale": "The existing generic Windows ACL validator trusts the reported owner. Add explicit authority-specific ownership checks before using any directory or regular state file, preserving the ancestor-only fixed OS service exception.",
      "status": "resolved"
    },
    {
      "evidence": [
        "https://github.com/omry/arbiter/pull/41#discussion_r4326294580",
        "https://github.com/omry/arbiter/pull/41#discussion_r4326503501"
      ],
      "id": "4326294580",
      "invariant": "Successful initialization must durably persist newly created authority and ancestor directory entries as well as the published database",
      "proposed_fix_paths": [
        "server/src/arbiter_server/authority.py",
        "server/tests/unit/test_authority.py"
      ],
      "rationale": "Actual fsync tracing confirms only the authority root is flushed. Extend the existing publication flush bottom-up through all ancestors and cover exact ordered directory flushes under nested missing parents. Preserve failure propagation and no overwrite.",
      "status": "resolved"
    },
    {
      "evidence": [
        "https://github.com/omry/arbiter/pull/41#discussion_r4326504207",
        "https://github.com/omry/arbiter/pull/41#discussion_r4326676894"
      ],
      "id": "4326504207",
      "invariant": "Initialization cannot report successful durable authority publication after a required directory flush failed; published identities cannot be overwritten on retry",
      "proposed_fix_paths": [],
      "rationale": "The error after publication is the intended fail-closed contract, not a success claim. The complete published database remains inspectable via authority status and second init refuses replacement. Both independent reviews explicitly accepted the unflushable-ancestor compatibility limit; fault injection confirms the recovery behavior. Silently skipping flush failure weakens durability; creation-tracking is an optional compatibility optimization.",
      "source_author": "gitar-bot",
      "source_review_id": 5586948866,
      "status": "non-actionable",
      "thread_id": "PRRT_kwDOSmRaHM6uYo6Z"
    }
  ],
  "pr": {
    "base_ref": "pr40",
    "base_sha": "a0cc99155e913121f6706b866104c8f370aade28",
    "body_digest": "sha256:3402949b4282f0de78aab448260ef91419e7806d0f6e485ece43ec35137e093d",
    "diff_digest": "sha256:e290ac7e6172ee0e695a8322142942dad1439938b07d7114f96d223ce1c4d7d2",
    "head_ref": "pr41",
    "head_sha": "422dabebbdb266d05b6e186cf914e2da593aee01",
    "pr": 41,
    "repository": "omry/arbiter",
    "scope_authority": [
      {
        "digest": "sha256:b6511414b3a9b485542df83c8f7abfc499dc8d06e522819b48e162a562d21c57",
        "path": "docs/authentication/high-level-design.md"
      },
      {
        "digest": "sha256:c576091af919c3ec99f0e0edb5795cf4e7bd37a44415ae24742393822317ad3d",
        "path": "docs/authentication/implementation-plan.md"
      },
      {
        "digest": "sha256:d56e92a7cb01f131ba499650c4a5d7b2c8d17adf2cdc7d612eee7c5f53d07929",
        "path": "docs/authentication/requirements.md"
      }
    ],
    "title_digest": "sha256:1b0caf3852eed4e35f0be84974c2eaab01cd75ffbac73dcf6369f5060848078d"
  },
  "record_version": 12,
  "review_observations": [],
  "review_requests": [
    {
      "base_established_at": "2026-10-20T12:48:04Z",
      "base_ref": "pr40",
      "base_sha": "a0cc99155e913121f6706b866104c8f370aade28",
      "body_digest": "sha256:5175df2107544f4f513d3b0ee81fbe8796382d8017c313ce614eb7c61589d8b9",
      "created_at": "2026-10-20T13:21:49Z",
      "head_sha": "ff786b41375e0f5705b1359576bd325030b21a8b",
      "id": 6291849884,
      "kind": "regular-review"
    },
    {
      "base_established_at": "2026-10-20T12:48:04Z",
      "base_ref": "pr40",
      "base_sha": "a0cc99155e913121f6706b866104c8f370aade28",
      "body_digest": "sha256:ad1ed1da5463a9db7ec36e1f830ae46c142805631de6254f509d0badeb4d2922",
      "created_at": "2026-10-20T13:45:26Z",
      "head_sha": "e4fbf3f5ffadc3bff6dedd6c072a414d3a320ba2",
      "id": 6292332871,
      "kind": "regular-review"
    },
    {
      "base_established_at": "2026-10-20T12:48:04Z",
      "base_ref": "pr40",
      "base_sha": "a0cc99155e913121f6706b866104c8f370aade28",
      "body_digest": "sha256:5a4a26bb137919d6e75962f3e24f4426a008509ffdebb88fc538993e8ff0d949",
      "created_at": "2026-10-20T14:08:02Z",
      "head_sha": "18e826a160d1118c858fc7cfb9788dd81941a829",
      "id": 6292800746,
      "kind": "regular-review"
    },
    {
      "base_established_at": "2026-10-20T12:48:04Z",
      "base_ref": "pr40",
      "base_sha": "a0cc99155e913121f6706b866104c8f370aade28",
      "body_digest": "sha256:a45b87189320542df63ff8fedf08a0f1604c3b2a752338e093eb62ed74825c63",
      "created_at": "2026-10-20T14:36:47Z",
      "head_sha": "482bfcd33be08f2f19f4e2002240f6075630a3ef",
      "id": 6293410609,
      "kind": "regular-review"
    },
    {
      "base_established_at": "2026-10-20T12:48:04Z",
      "base_ref": "pr40",
      "base_sha": "a0cc99155e913121f6706b866104c8f370aade28",
      "body_digest": "sha256:7c962a78756be638bd2131139c7aecca271f3a7d77d5997b92a19ae6ad0e58f6",
      "created_at": "2026-10-20T15:01:57Z",
      "head_sha": "422dabebbdb266d05b6e186cf914e2da593aee01",
      "id": 6293963031,
      "kind": "regular-review"
    }
  ],
  "review_results": [
    {
      "base_ref": "pr40",
      "base_sha": "a0cc99155e913121f6706b866104c8f370aade28",
      "body_digest": "sha256:5523a6691ee8a23ab19b20abe76bf0d2c8ecf95ba19ca0595130c5e6d348addc",
      "commit_id": "e4fbf3f5ffadc3bff6dedd6c072a414d3a320ba2",
      "id": 5586014931,
      "inline_message_ids": [
        4325758919
      ],
      "request_comment_id": 6292332871,
      "result_kind": "findings",
      "status": "result",
      "submitted_at": "2026-10-20T13:52:58Z",
      "unresolved_thread_ids": [
        "PRRT_kwDOSmRaHM6uW3IV",
        "PRRT_kwDOSmRaHM6uWnIT",
        "PRRT_kwDOSmRaHM6uWnKY"
      ]
    },
    {
      "base_ref": "pr40",
      "base_sha": "a0cc99155e913121f6706b866104c8f370aade28",
      "body_digest": "sha256:c5da9c65dc61cb8a773c1ea89e282f750c6a6e3c6a19a99af6b9bb227504ef6d",
      "commit_id": "18e826a160d1118c858fc7cfb9788dd81941a829",
      "id": 5586309550,
      "inline_message_ids": [
        4325994638
      ],
      "request_comment_id": 6292800746,
      "result_kind": "findings",
      "status": "result",
      "submitted_at": "2026-10-20T14:14:36Z",
      "unresolved_thread_ids": [
        "PRRT_kwDOSmRaHM6uXbBM"
      ]
    },
    {
      "base_ref": "pr40",
      "base_sha": "a0cc99155e913121f6706b866104c8f370aade28",
      "body_digest": "sha256:280a93f09c56814811831a5af59fcbe80427f5ef6933fcc4d8dbc52df83923ce",
      "commit_id": "482bfcd33be08f2f19f4e2002240f6075630a3ef",
      "id": 5586686195,
      "inline_message_ids": [
        4326294580
      ],
      "request_comment_id": 6293410609,
      "result_kind": "findings",
      "status": "result",
      "submitted_at": "2026-10-20T14:41:17Z",
      "unresolved_thread_ids": [
        "PRRT_kwDOSmRaHM6uYI1L"
      ]
    },
    {
      "base_ref": "pr40",
      "base_sha": "a0cc99155e913121f6706b866104c8f370aade28",
      "body_digest": "sha256:0405bbb2bddc6017e198f7796b71ff4d89746f09a61d37d17fc8096ad0d21793",
      "commit_id": "ff786b41375e0f5705b1359576bd325030b21a8b",
      "id": 6291907872,
      "inline_message_ids": [],
      "request_comment_id": 6291849884,
      "result_kind": "clean",
      "status": "result",
      "submitted_at": "2026-10-20T13:24:44Z",
      "unresolved_thread_ids": [
        "PRRT_kwDOSmRaHM6uSSSc"
      ]
    },
    {
      "base_ref": "pr40",
      "base_sha": "a0cc99155e913121f6706b866104c8f370aade28",
      "body_digest": "sha256:333b1fdbff742ee6ebe3c38873c6829fcaaaec095bfe1357d81a066185370bb2",
      "commit_id": "422dabebbdb266d05b6e186cf914e2da593aee01",
      "id": 6294025764,
      "inline_message_ids": [],
      "request_comment_id": 6293963031,
      "result_kind": "clean",
      "status": "result",
      "submitted_at": "2026-10-20T15:04:53Z",
      "unresolved_thread_ids": [
        "PRRT_kwDOSmRaHM6uYo6Z"
      ]
    }
  ],
  "revision_fingerprint": "sha256:82b6bab78280e3ad144518f0805be8921f7d34fb7606cb182af75f6731e97bc3",
  "rounds": [
    {
      "applied_fix_paths": [
        "server/src/arbiter_server/authority.py",
        "server/src/arbiter_server/file_protection/windows.py",
        "server/tests/unit/test_authority.py",
        "website/docs/operate/security.md"
      ],
      "disposition_changes": [],
      "effective_diff_digest": "sha256:35f26afa0b1fb5fa8b06669bf67b03b61313639484c400a5ff3e95ba184caf6b",
      "finding_ids": [],
      "invariants": [
        "Native Windows authority initialization must work with the strict existing private ACL policy",
        "No untrusted parent principal may replace private authority state"
      ],
      "outcome": "corrected-head-needs-review",
      "proposed_fix_paths": [
        "server/src/arbiter_server/authority.py",
        "server/src/arbiter_server/file_protection/windows.py",
        "server/tests/unit/test_authority.py",
        "website/docs/operate/security.md"
      ],
      "resulting_head": "e4fbf3f5ffadc3bff6dedd6c072a414d3a320ba2",
      "review_observation_id": null,
      "review_request_id": 6291849884,
      "review_result_id": 6291907872,
      "reviewed_head": "ff786b41375e0f5705b1359576bd325030b21a8b",
      "root_cause": "Native CI showed mkdir0o700 OwnerRights ACLs are rejected; follow-up DBB found root-only ACL validation missed non-inheritable parent replacement rights. Corrected private ACL inheritance, pre/post ancestor checks, native and portable regressions; stale descriptions corrected without source changes.",
      "round": 1,
      "unresolved_current_slice_findings": 0,
      "unresolved_design_blockers": 0
    },
    {
      "applied_fix_paths": [
        "server/src/arbiter_server/authority.py",
        "server/tests/unit/test_authority.py",
        "website/docs/operate/security.md"
      ],
      "disposition_changes": [
        "4325758919"
      ],
      "effective_diff_digest": "sha256:4a582f5f11b0fd18b97e3eb3e00bf17d842c04ba7184732425428652280c8307",
      "finding_ids": [
        "4325758919"
      ],
      "invariants": [
        "Native Windows private authority setup must admit trusted host OS ancestors while rejecting arbitrary service and user replacement rights",
        "Database durability flush must use a write-capable descriptor on Windows",
        "Native test fixtures must configure actual owner rather than assuming login SID equals owner"
      ],
      "outcome": "corrected-head-needs-review",
      "proposed_fix_paths": [
        "server/src/arbiter_server/authority.py",
        "server/tests/unit/test_authority.py",
        "website/docs/operate/security.md"
      ],
      "resulting_head": "18e826a160d1118c858fc7cfb9788dd81941a829",
      "review_observation_id": null,
      "review_request_id": 6292332871,
      "review_result_id": 5586014931,
      "reviewed_head": "e4fbf3f5ffadc3bff6dedd6c072a414d3a320ba2",
      "root_cause": "The ancestor guard omitted fixed Windows Modules Installer identity; the elevated native fixture assumed login SID was its owner; read-only fsync is incompatible with Windows. Corrected within existing host OS/admin and private-state model.",
      "round": 2,
      "unresolved_current_slice_findings": 0,
      "unresolved_design_blockers": 0
    },
    {
      "applied_fix_paths": [
        "server/src/arbiter_server/authority.py",
        "server/tests/unit/test_authority.py",
        "website/docs/operate/security.md"
      ],
      "disposition_changes": [
        "4325994638"
      ],
      "effective_diff_digest": "sha256:f0b8486111b970ff1a54050a324a29a28b26c0d895398944479f790e73561d61",
      "finding_ids": [
        "4325994638"
      ],
      "invariants": [
        "Windows authority root and every state file must have trusted ownership and a private ACL from the same security descriptor"
      ],
      "outcome": "corrected-head-needs-review",
      "proposed_fix_paths": [
        "server/src/arbiter_server/authority.py",
        "server/tests/unit/test_authority.py",
        "website/docs/operate/security.md"
      ],
      "resulting_head": "482bfcd33be08f2f19f4e2002240f6075630a3ef",
      "review_observation_id": null,
      "review_request_id": 6292800746,
      "review_result_id": 5586309550,
      "reviewed_head": "18e826a160d1118c858fc7cfb9788dd81941a829",
      "root_cause": "Generic runtime ACL validation trusts the reported actual owner; authority state additionally needs caller/SYSTEM/Administrators ownership. Separate owner and ACL reads permit a transition race. One descriptor now validates both, preserving parent protections and ancestor-only TrustedInstaller exception.",
      "round": 3,
      "unresolved_current_slice_findings": 0,
      "unresolved_design_blockers": 0
    },
    {
      "applied_fix_paths": [
        "server/src/arbiter_server/authority.py",
        "server/tests/unit/test_authority.py"
      ],
      "disposition_changes": [
        "4326294580"
      ],
      "effective_diff_digest": "sha256:e290ac7e6172ee0e695a8322142942dad1439938b07d7114f96d223ce1c4d7d2",
      "finding_ids": [
        "4326294580"
      ],
      "invariants": [
        "Successful authority initialization durably persists created ancestor directory entries and the database before reporting success"
      ],
      "outcome": "corrected-head-needs-review",
      "proposed_fix_paths": [
        "server/src/arbiter_server/authority.py",
        "server/tests/unit/test_authority.py"
      ],
      "resulting_head": "422dabebbdb266d05b6e186cf914e2da593aee01",
      "review_observation_id": null,
      "review_request_id": 6293410609,
      "review_result_id": 5586686195,
      "reviewed_head": "482bfcd33be08f2f19f4e2002240f6075630a3ef",
      "root_cause": "Publication flushed only the authority directory, leaving entries created by mkdir(parents=True) unflushed. The existing flush now covers every ancestor bottom-up, with failure propagation and published-target retention. Consolidated exact private state checks remove unrelated redundant POSIX YAML scanning.",
      "round": 4,
      "unresolved_current_slice_findings": 0,
      "unresolved_design_blockers": 0
    },
    {
      "applied_fix_paths": [],
      "disposition_changes": [
        "4326294580",
        "4326504207"
      ],
      "effective_diff_digest": "sha256:e290ac7e6172ee0e695a8322142942dad1439938b07d7114f96d223ce1c4d7d2",
      "finding_ids": [
        "4326294580",
        "4326504207"
      ],
      "invariants": [
        "Exact reviewed authority candidate remains private, durable, recoverable after failed publication, and within approved scope"
      ],
      "outcome": "clean",
      "proposed_fix_paths": [],
      "resulting_head": "422dabebbdb266d05b6e186cf914e2da593aee01",
      "review_observation_id": null,
      "review_request_id": 6293963031,
      "review_result_id": 6294025764,
      "reviewed_head": "422dabebbdb266d05b6e186cf914e2da593aee01",
      "root_cause": "Prior parent-flush defect is verified fixed; regular review is clean and all13CIchecks pass. Ancillary comment describes intentional fail-closed post-publication error semantics, verified by fault injection; no source correction required.",
      "round": 5,
      "unresolved_current_slice_findings": 0,
      "unresolved_design_blockers": 0
    }
  ],
  "schema": "awd:swe:pr-cycle-state",
  "version": 2
}

@omry
omry marked this pull request as ready for review October 20, 2026 13:16
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 20, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-20T15:04:55.420543Z 422dabe Manual request
🔒 Security Review ✅ Completed 2026-10-20T13:20:50.010187Z ff786b4 Draft marked ready
ℹ️ 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@omry

omry commented Oct 20, 2026

Copy link
Copy Markdown
Owner Author

@codex, regular review ff786b4

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. 👍

Reviewed commit: ff786b4137

ℹ️ 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".

Comment thread server/src/arbiter_server/authority.py Outdated
Comment thread server/src/arbiter_server/authority.py Outdated
@omry

omry commented Oct 20, 2026

Copy link
Copy Markdown
Owner Author

@codex, regular review e4fbf3f

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

ℹ️ 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".

Comment thread server/src/arbiter_server/authority.py
@omry

omry commented Oct 20, 2026

Copy link
Copy Markdown
Owner Author

@codex, regular review 18e826a

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 18e826a160

ℹ️ 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".

Comment thread server/src/arbiter_server/authority.py Outdated
@omry

omry commented Oct 20, 2026

Copy link
Copy Markdown
Owner Author

@codex, regular review 482bfcd

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 482bfcd33b

ℹ️ 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".

Comment thread server/src/arbiter_server/authority.py
Add offline authority init/status with persistent private SQLite owner/server UUID records, serialized initialization, no overwrite and safe retry of unpublished setup. Reject unsafe state and parent replacement rights on POSIX and Windows. Windows uses an operator-prepared private ACL, trusted host OS ancestry and a write-capable database flush. Caller authentication remains unchanged.

Plan slice: arbiter-authentication/1.1. Parent: approved authentication planning prerequisites; next: authentication/1.2 credential profiles.

Validation: full repository unit, Black/type, Go, documentation and plan checks passed. Negative mutation probes detect missing ancestor protection and read-only database flushing. DBB and independent review passed for the corrected content; native Windows/platform validation runs in CI.
Comment thread server/src/arbiter_server/authority.py
@gitar-bot

gitar-bot Bot commented Oct 20, 2026 •

Copy link
Copy Markdown
Code Review ✅ Approved 4 closed / 4 findings

🔴 High risk · Persistent owner/server UUID storage and initialization protections could permit authority identity-state tampering if path checks fail.

Adds offline authority init/status backed by a private SQLite owner/server UUID record, with serialized initialization and fail-closed handling of unsafe state and parent replacement rights on POSIX and Windows. Two issues were addressed: an fsync on a read-only handle that broke Windows init, and an ancestor owner allowlist that likely rejected drive roots. No open issues remain, so the change is approved.

✅ 4 closed
✅ Bug: fsync on read-only handle fails on Windows, breaking every init

📄 server/src/arbiter_server/authority.py:233-234
_write_database opens the committed pending database with path.open("rb") and then calls os.fsync. On Windows os.fsync calls _commit, which calls FlushFileBuffers, and that call requires a handle with write access. On a read-only handle it fails with EBADF/access denied. Every Windows authority init would then raise inside the try, the finally would delete the pending file, and nothing would be published. This path has not run on native Windows yet (Windows CI is still pending). Fix: open the file read-write ("r+b") before calling fsync.

✅ Edge Case: Windows ancestor owner allowlist likely rejects drive roots

📄 server/src/arbiter_server/authority.py:82-95
_check_windows_parents walks every ancestor up to the drive root and fails unless each one is owned by the caller, SYSTEM or Administrators. I believe a default Windows 10/11 install sets the owner of C:\ to NT SERVICE\TrustedInstaller (S-1-5-80-956008885-...), but I have not checked this on a live system. If so, a path under the operator's profile, which is exactly what the docs recommend, and the pytest tmp_path used by the Windows tests would always fail with "untrusted ownership". Please confirm on a native Windows host. If it reproduces, add the TrustedInstaller service SID to the trusted owner set (it is a trusted OS principal), or only require trusted ownership where an ACE would let the owner replace children.

Closed: Edge Case: Concurrent read-only status calls fail with 'busy'

📄 server/src/arbiter_server/authority.py:111-125 📄 server/src/arbiter_server/authority.py:208-216
authority_status takes the same non-blocking exclusive lock as initialize_authority (_locked uses LOCK_EX | LOCK_NB). If two authority status calls overlap, for example from monitoring or health scripts, one of them fails with "authority state is busy" and exits 1, even though neither call writes anything. Readers don't need that lock to be safe: init writes to a pending file and publishes it with an atomic os.replace, so a reader can only ever see no database or a complete one. A fix is to let status take a shared lock (LOCK_SH on POSIX), or skip the lock and rely on the atomic publish. Status calls would then no longer block each other.

Closed: Edge Case: Init reports failure after publishing if fsync of an ancestor fails

📄 server/src/arbiter_server/authority.py:270-278 📄 server/src/arbiter_server/authority.py:294-301
_publish runs os.replace first. It then opens and fsyncs every ancestor up to / with os.open(directory, O_RDONLY). Opening a directory read-only needs read permission, and _check_parents accepts root-owned execute-only ancestors such as a shared-hosting /home with mode 0711. Some filesystems also return EINVAL when you fsync a directory. In either case the database is already published, but initialize_authority raises OSError and the CLI prints an error and exits 1. Every later init then fails with "already exists", so on these layouts the operator always sees a failed init even though it worked. Fix: fsync only target.parent and the parent directories this call created, or catch errors from ancestor fsyncs that happen after publication instead of raising them.

Verification

Rules No rules evaluated

Functional validation Not enabled

Set up

For more verification details, comment gitar display:verbose.

Options

Auto-apply is off → Gitar will not commit updates to this branch.
Display: compact → Showing compact verification results.

Comment with these commands to change the behavior for this request:

Auto-apply Compact
gitar auto-apply:on         
gitar display:verbose         

Was this helpful? React with 👍 / 👎 | Powered by Gitar — free for open source

@omry

omry commented Oct 20, 2026

Copy link
Copy Markdown
Owner Author

@codex, regular review 422dabe

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Can't wait for the next one!

Reviewed commit: 422dabebbd

ℹ️ 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".

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved PR passed review and required checks

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant