Skip to content

Verify Simulator acceptance with an opt-in authenticated runtime identity bridge - #95

Open
RCmerci wants to merge 6 commits into
mainfrom
codex/acceptance-identity-preflight-20261018
Open

RCmerci wants to merge 6 commits into
mainfrom
codex/acceptance-identity-preflight-20261018

Conversation

@RCmerci

@RCmerci RCmerci commented Oct 18, 2026 •

Copy link
Copy Markdown
Contributor

Screenshots on a similarly named graph or a stale installed App could previously be presented as Journal acceptance. Add one fail-closed Simulator capture entry point and require explicit expected device, graph UUID, installed binary/version and source provenance in the unified acceptance guides.

The tool verifies the maintained builder manifest against clean Git source, retained producer/link bytes, packaged App and freshly resolved installed bundle, including actual Mach-O platform. Separately staged Swift/plist/entitlements must match the committed checkout; a regression proves resealed mismatches are rejected. The new Simulator-only observer is off by default and requires explicit JOURNAL_ACCEPTANCE=1 launch configuration. It joins fresh Get_graph_state replies with the App's selected/ready foreground presentation and transition epoch. A read-only C callback copies metadata outside the OCaml runtime lock. Swift brackets native presentation turns with fresh samples and matching mounted-root/process state. The CLI authenticates Unix peer PID/uid, actual process executable path/hash and nonce before trusting identity fields. No HTTP listener, entitlement/system-setting change, database/catalog/credential read, graph body payload or handwritten actual-identity bypass is added.

Remaining runtime gate: the full Simulator App compiles, links, packages and verifies its signature, but actual App sandbox/socket access, displayed-frame synchronization and an end-to-end synthetic graph capture have not yet been verified. The owner released synthetic Simulator 1446 and an approved read-only inventory/container check succeeded. The owner confirmed that its old visible screen belongs to a separate component fixture, and no independently verified synthetic Worker graph exists in the ordinary Journal App. The external generated graph IDs were never installed and cannot be used as the device expectation. Existing scope forbids adding/switching graphs; A135 and iPhone 47 remain untouched. No install, launch, graph change or screenshot was performed by this task. Do not treat fixture/CI success as real Journal UI acceptance. Absent, unready or unauthenticated observers still block capture without producing accepted evidence.

Validation: 31 synthetic capture fixtures, 9 real Swift Unix-process fixtures, pure startup identity/epoch tests and the Swift→C→OCaml native callback/event harness pass locally. CI runs these boundaries and the full native build/regression suite. Independent review confirmed fixes for argument-error privacy, slow-client shutdown stalls and DispatchSource fd lifetime; final re-review reported no new evidenced findings. The first bridge CI run exposed a missing link-only stub symbol; the callback now returns unavailable in the stub, its existing symbol completeness test passes, and independent narrow re-review found no issue. The native callback CI setup was corrected to resolve the unique LUI package across locked versions, rather than assume lui.dev; the actual locked report and independent review verify this lookup. Python parsing, guide links and git diff --check pass. New decision documents validate; full document checking retains 3 pre-existing invalid historical documents.

No dynamic status/UI feature, HTTP diagnosis, protected spec/*.mli, Dune or external repository changes. Based on main 49520f0. Host restamping remains experimental, cross_abi_validated=false; Simulator results never imply real-device acceptance. This PR must not be described as a verified live screenshot workflow until the remaining runtime gate is completed.

Final exact-head validation: 5b237ca Journal CI completed successfully, including native callback/event verification, all targets/native embed and the full regression suite. The separate real Simulator capture gate remains blocked as described above.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 18, 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-18T14:59:21.281491Z ca21d6c PR opened
ℹ️ 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.

@RCmerci RCmerci changed the title Require verified Simulator acceptance identities and fail closed without runtime bridge Verify Simulator acceptance with an opt-in authenticated runtime identity bridge Oct 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant