Skip to content

F1.2: Prepare declared objects through pinned descriptors - #324

Open
omry wants to merge 1 commit into
pr323from
pr324
Open

omry wants to merge 1 commit into
pr323from
pr324

Conversation

@omry

@omry omry commented Nov 3, 2026 •

Copy link
Copy Markdown
Owner

Add an inactive private Linux preparer for explicitly declared managed directories and files. Confine lookups to held descriptors, verify existing provenance and numeric metadata without repair, create directories parent-first and files exclusively, and return held identities with explicit descriptor ownership.

Prepare directory metadata in private same-mount staging before no-replace publication. Preserve kernel ACL, umask and setgid inheritance, reject aliases and mount crossings, and retain inhibited inert effects on failure. Selected subordinate setup and exclusive unattached-resource authority remain the caller contracts implemented by F1.3/F2. Public mapped execution remains gated.

Validation: both temporary-directory mount layouts, ten focused race runs, all selected tracked Go packages and multi-identity conformance passed on this exact candidate. The existing host-specific tmpfs exclusion remains explicit. Full current-agent review and a distinct fresh independent Sol review are clean; complete exact-head CI and remote PR review remain publication gates.


Add an inactive private Linux preparer for explicitly declared managed directories and files. Confine lookups to held descriptors, verify existing provenance and numeric metadata without repair, create directories parent-first and files exclusively, and return held identities with explicit descriptor ownership.

Prepare directory metadata in private same-mount staging before no-replace publication. Preserve kernel ACL, umask and setgid inheritance, reject aliases and mount crossings, and retain inhibited inert effects on failure. Selected subordinate setup and exclusive unattached-resource authority remain the caller contracts implemented by F1.3/F2. Public mapped execution remains gated.

Validation: both temporary-directory mount layouts, ten focused race runs, all selected tracked Go packages and multi-identity conformance passed on this exact candidate. The existing host-specific tmpfs exclusion remains explicit. Full current-agent review and a distinct fresh independent Sol review are clean; complete exact-head CI and remote PR review remain publication gates.
@omry
omry changed the base branch from main to pr323 November 3, 2026 12:51
@omry
omry added this pull request to stack #321 November 3, 2026 12:51
@gitar-bot

gitar-bot Bot commented Nov 3, 2026 •

Copy link
Copy Markdown
Code Review ✅ Approved

🟡 Medium risk · The new Linux preparer creates managed files and directories with declared ownership and modes; mistakes could expose data or leave partial storage objects.

Adds an inactive private Linux preparer for explicitly declared managed directories and files, confining lookups to held descriptors and preparing directory metadata in same-mount staging before no-replace publication. No issues found.

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 Nov 3, 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:2255abb7b80131f30584f2e485c5387f93c061cb7ee9bb2a79c79eaef9432b21",
    "evidence": {
      "attestations": [],
      "candidate_revision_fingerprint": "sha256:2255abb7b80131f30584f2e485c5387f93c061cb7ee9bb2a79c79eaef9432b21",
      "check_conclusions": [
        {
          "conclusion": "SUCCESS",
          "name": "Bash native evidence checks",
          "run_id": 125937536832
        },
        {
          "conclusion": "SUCCESS",
          "name": "Gitar",
          "run_id": 125927998660
        },
        {
          "conclusion": "SUCCESS",
          "name": "Linux CI checks",
          "run_id": 125927990851
        },
        {
          "conclusion": "SUCCESS",
          "name": "Target smoke (darwin-amd64)",
          "run_id": 125927991029
        },
        {
          "conclusion": "SUCCESS",
          "name": "Target smoke (darwin-arm64)",
          "run_id": 125927991148
        },
        {
          "conclusion": "SUCCESS",
          "name": "Target smoke (linux-amd64)",
          "run_id": 125927991099
        },
        {
          "conclusion": "SUCCESS",
          "name": "Target smoke (linux-arm64)",
          "run_id": 125927990902
        },
        {
          "conclusion": "SUCCESS",
          "name": "Windows host smoke (windows-amd64)",
          "run_id": 125927991239
        },
        {
          "conclusion": "SUCCESS",
          "name": "Windows host smoke (windows-arm64)",
          "run_id": 125927991218
        }
      ],
      "delivery_deferral_ledger_digest": "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
      "finding_dispositions_digest": "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
      "operation_identity": "sha256:eed4f856eedd80ee650760221bc84f030a3deecd84c33efdfc7ba2db9783ec97",
      "review_request": {
        "body_digest": "sha256:a2dd5c8b3228edced79ea79c006f283017b9a7b20bf0aa2e6ae4c7b10c37921c",
        "id": 6612235154
      },
      "review_result": {
        "body_digest": "sha256:84b8563c2ed66853a486d5a3798abd3b5bfd5e8fd80911d5ae1936234d289dfc",
        "id": 6612270601
      }
    },
    "evidence_fingerprint": "sha256:9ba0d61c5fff1bcf064e63a9424c3dbd3f31fbffcb9823aae1a9d700fc0057af",
    "head_sha": "8d12833c695c850ff3d5ce560f4b53a09c99ed82",
    "operation_identity": "sha256:eed4f856eedd80ee650760221bc84f030a3deecd84c33efdfc7ba2db9783ec97",
    "review_request_id": 6612235154,
    "review_result_id": 6612270601,
    "status": "approved-evidence-recorded"
  },
  "candidate_revision_fingerprint": "sha256:2255abb7b80131f30584f2e485c5387f93c061cb7ee9bb2a79c79eaef9432b21",
  "check_conclusions": [
    {
      "conclusion": "SUCCESS",
      "name": "Bash native evidence checks",
      "run_id": 125937536832
    },
    {
      "conclusion": "SUCCESS",
      "name": "Gitar",
      "run_id": 125927998660
    },
    {
      "conclusion": "SUCCESS",
      "name": "Linux CI checks",
      "run_id": 125927990851
    },
    {
      "conclusion": "SUCCESS",
      "name": "Target smoke (darwin-amd64)",
      "run_id": 125927991029
    },
    {
      "conclusion": "SUCCESS",
      "name": "Target smoke (darwin-arm64)",
      "run_id": 125927991148
    },
    {
      "conclusion": "SUCCESS",
      "name": "Target smoke (linux-amd64)",
      "run_id": 125927991099
    },
    {
      "conclusion": "SUCCESS",
      "name": "Target smoke (linux-arm64)",
      "run_id": 125927990902
    },
    {
      "conclusion": "SUCCESS",
      "name": "Windows host smoke (windows-amd64)",
      "run_id": 125927991239
    },
    {
      "conclusion": "SUCCESS",
      "name": "Windows host smoke (windows-arm64)",
      "run_id": 125927991218
    }
  ],
  "check_observations": [
    {
      "checks": [
        {
          "conclusion": "SUCCESS",
          "name": "Bash native evidence checks",
          "run_id": 125937536832,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/omry/reploy/actions/runs/41639179233/job/125937536832"
        },
        {
          "conclusion": "SUCCESS",
          "name": "Gitar",
          "run_id": 125927998660,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/omry/reploy/runs/125927998660"
        },
        {
          "conclusion": "SUCCESS",
          "name": "Linux CI checks",
          "run_id": 125927990851,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/omry/reploy/actions/runs/41639179233/job/125927990851"
        },
        {
          "conclusion": "SUCCESS",
          "name": "Target smoke (darwin-amd64)",
          "run_id": 125927991029,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/omry/reploy/actions/runs/41639179233/job/125927991029"
        },
        {
          "conclusion": "SUCCESS",
          "name": "Target smoke (darwin-arm64)",
          "run_id": 125927991148,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/omry/reploy/actions/runs/41639179233/job/125927991148"
        },
        {
          "conclusion": "SUCCESS",
          "name": "Target smoke (linux-amd64)",
          "run_id": 125927991099,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/omry/reploy/actions/runs/41639179233/job/125927991099"
        },
        {
          "conclusion": "SUCCESS",
          "name": "Target smoke (linux-arm64)",
          "run_id": 125927990902,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/omry/reploy/actions/runs/41639179233/job/125927990902"
        },
        {
          "conclusion": "SUCCESS",
          "name": "Windows host smoke (windows-amd64)",
          "run_id": 125927991239,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/omry/reploy/actions/runs/41639179233/job/125927991239"
        },
        {
          "conclusion": "SUCCESS",
          "name": "Windows host smoke (windows-arm64)",
          "run_id": 125927991218,
          "run_status": "completed",
          "status": "success",
          "url": "https://github.com/omry/reploy/actions/runs/41639179233/job/125927991218"
        }
      ],
      "head_sha": "8d12833c695c850ff3d5ce560f4b53a09c99ed82",
      "id": "sha256:ae1a838204d4cd5883ffe4bd87ed88b28085c3d9d5e7d94422eeeecb14d554c9",
      "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"
    }
  ],
  "delivery_deferral_ledger_digest": "sha256:4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
  "delivery_deferrals": [],
  "findings": [],
  "pr": {
    "base_ref": "pr323",
    "base_sha": "eb8a5705909e44787b4445e32c5b1648f3f56883",
    "body_digest": "sha256:b7d01353ed28a076ad7503e51547fc0b2277386ea5706d3c19fbf08105a13efd",
    "body_identity_version": 2,
    "diff_digest": "sha256:68afd904eba8925165bff96b10d4aa663bf13155b28df22ecbf228f69c15d311",
    "head_ref": "pr324",
    "head_sha": "8d12833c695c850ff3d5ce560f4b53a09c99ed82",
    "pr": 324,
    "repository": "omry/reploy",
    "scope_authority": [
      {
        "digest": "sha256:fc49790f85e6d5fae77e8c91b479d0ad1fe4b3f1699e24df821db73aa75b779e",
        "path": "AGENTS.md"
      },
      {
        "digest": "sha256:6f278d93ec80c42f9b905f990c585c1c9db7082cd7e7c2a827e9b840582b6c14",
        "path": "docs/MULTI_IDENTITY_IMPLEMENTATION_PLAN.md"
      },
      {
        "digest": "sha256:f6049a45f86b96b5a7c6616926804871d77e8b86bf3305cc42d3910320fc5b76",
        "path": "docs/MULTI_IDENTITY_SECURITY_CONTRACT.md"
      },
      {
        "digest": "sha256:8a073c695effc36a3c2fd2baba3d8fcf85627e152968682154833270da627a5e",
        "path": "docs/supporting/MULTI_IDENTITY_IMPLEMENTATION_PLAN/fg-sizing-basis.md"
      }
    ],
    "title_digest": "sha256:38016023680a2d3b31436d4e9fcdcb84ad3c4d1035764cc1c7f322dac79eb28a"
  },
  "record_version": 4,
  "review_observations": [],
  "review_requests": [
    {
      "base_established_at": "2026-11-03T12:51:01Z",
      "base_ref": "pr323",
      "base_sha": "eb8a5705909e44787b4445e32c5b1648f3f56883",
      "body_digest": "sha256:a2dd5c8b3228edced79ea79c006f283017b9a7b20bf0aa2e6ae4c7b10c37921c",
      "created_at": "2026-11-03T18:30:39Z",
      "head_sha": "8d12833c695c850ff3d5ce560f4b53a09c99ed82",
      "id": 6612235154,
      "kind": "regular-review"
    }
  ],
  "review_results": [
    {
      "base_ref": "pr323",
      "base_sha": "eb8a5705909e44787b4445e32c5b1648f3f56883",
      "body_digest": "sha256:84b8563c2ed66853a486d5a3798abd3b5bfd5e8fd80911d5ae1936234d289dfc",
      "commit_id": "8d12833c695c850ff3d5ce560f4b53a09c99ed82",
      "id": 6612270601,
      "inline_message_ids": [],
      "request_comment_id": 6612235154,
      "result_kind": "clean",
      "status": "result",
      "submitted_at": "2026-11-03T18:32:20Z",
      "unresolved_thread_ids": []
    }
  ],
  "revision_fingerprint": "sha256:2255abb7b80131f30584f2e485c5387f93c061cb7ee9bb2a79c79eaef9432b21",
  "rounds": [
    {
      "applied_fix_paths": [],
      "disposition_changes": [],
      "effective_diff_digest": "sha256:68afd904eba8925165bff96b10d4aa663bf13155b28df22ecbf228f69c15d311",
      "finding_ids": [],
      "invariants": [
        "F1.2 creates or verifies only descriptor-pinned declared objects; foreign inode metadata remains unchanged.",
        "Public mapped execution remains inhibited until later integration and qualification."
      ],
      "outcome": "clean",
      "proposed_fix_paths": [],
      "resulting_head": "8d12833c695c850ff3d5ce560f4b53a09c99ed82",
      "review_observation_id": null,
      "review_request_id": 6612235154,
      "review_result_id": 6612270601,
      "reviewed_head": "8d12833c695c850ff3d5ce560f4b53a09c99ed82",
      "root_cause": "Clean new PR-cycle recovery after the earlier HTTP503 terminal cycle. No source correction. Fresh exact-head remote review, all required CI and all 13 current-input-verified local checks pass; growth measurement and enforcement preserve the approved scope.",
      "round": 1,
      "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 November 3, 2026 13:03
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 3, 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-11-03T18:32:21.763421Z 8d12833 Manual request
🔒 Security Review ⚠️ Failed 2026-11-03T13:03:14.673559Z
We couldn’t complete this review. Comment @codex security review to try again.
8d12833 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.

@chatgpt-codex-connector

Copy link
Copy Markdown

The account paying for this security review has reached its Codex usage limits. The payer can check the Codex usage dashboard. For personal accounts, using credits requires enabling “Use credits for security reviews” in Code review settings. If you do not manage the paying account, contact this repository's admins.

@omry

omry commented Nov 3, 2026

Copy link
Copy Markdown
Owner Author

@codex review

Exact head: 8d12833

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. More of your lovely PRs please.

Reviewed commit: 8d12833c69

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

@omry omry added the approved PR reviewed and approved label Nov 3, 2026

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 reviewed and approved

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant