Skip to content

docs(reviews): Seatbelt L3 backend run live on a developer Mac#202

Merged
hartsock merged 2 commits into
mainfrom
docs/seatbelt-live-owner-mac
Jul 6, 2026
Merged

docs(reviews): Seatbelt L3 backend run live on a developer Mac#202
hartsock merged 2 commits into
mainfrom
docs/seatbelt-live-owner-mac

Conversation

@hartsock

@hartsock hartsock commented Jul 4, 2026

Copy link
Copy Markdown
Member

What this is

The first owner-Mac exercise of the Seatbelt L3 kernel proofs on real
Apple-Silicon hardware (main @ bacb3b1), now that ADR 0019 and the host-shell
engine (#199) have landed. CI runs these on a GitHub macos-latest runner; #199's
macOS mirror test was written for owner-Mac usability testing — this is that run.

Adds one file: docs/reviews/2026-07-04-seatbelt-live-owner-mac.md.

Results

Ran the exact check-macos CI commands with RUSTFLAGS="-D warnings" and
BRIDLE_REQUIRE_SEATBELT=1 (so a missing sandbox-exec hard-fails rather than
skips — the proofs were genuinely exercised):

  • All Seatbelt kernel proofs pass — fs read/write, exec allow-list (incl.
    interpreter-trampoline + dyld-linking), empty-net + loopback-only, the
    net-proxy egress fence, the ShellTool e2e path, and the ADR 0019 host-shell
    keystone
    (macos_dynamic_construct_runs_but_out_of_scope_write_is_seatbelt_denied).
  • clippy -D warnings clean on Homebrew rustc 1.95; --no-default-features --features host-shell compiles in isolation.

The one finding (test-only, not a product bug)

PR #195's macOS CI leg once failed on
fenced_child_reaches_allowed_via_proxy… ("Empty reply from server"). It did
not reproduce
here (0/40 parallel runs), but inspection pins the cause: it's
the only loopback-exercising net_proxy test that omits net_test_lock(). A
one-line fix is suggested in the doc; I'll file a separate issue + hold a fix PR
for review.

Docs-only; no code on main altered. Full results + the downstream newt
adoption plan: newt-agent/docs/testing/seatbelt-live-uat.md (companion PR).

🤖 Generated with Claude Code

https://claude.ai/code/session_01UGQ2qe2Z4psJbv5nrg2HX4

hartsock and others added 2 commits July 4, 2026 13:47
Records the first owner-Mac exercise of the Seatbelt kernel proofs on real
Apple-Silicon hardware (main @ bacb3b1), post-ADR-0019 / host-shell (#199):

- All kernel proofs pass under RUSTFLAGS="-D warnings" + BRIDLE_REQUIRE_SEATBELT=1
  — fs/exec/net axes, the ShellTool e2e path, and the ADR 0019 host-shell
  keystone. Genuinely exercised, not skipped.
- The PR#195 net-proxy CI flake did not reproduce (0/40 parallel runs), but the
  cause is inspection-confirmed: fenced_child_reaches_allowed_via_proxy… is the
  only loopback-exercising net_proxy test that omits net_test_lock(). One-line
  fix suggested; issue to follow.

Cross-links the full results + downstream adoption plan in
newt-agent/docs/testing/seatbelt-live-uat.md. Docs-only; no code on main altered.

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UGQ2qe2Z4psJbv5nrg2HX4
… follow-up

- Replace the stale "filed as an issue" line with the real issue number (#207),
  noting the finding is still applicable on main as of 2026-07-06.
- Add a Follow-up section pointing to the #205 0.7.0-rc.1 MacBook gate as the
  fuller re-verification of the Seatbelt line.

Docs-only.

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UGQ2qe2Z4psJbv5nrg2HX4
@hartsock hartsock merged commit 021a2c3 into main Jul 6, 2026
9 of 10 checks passed
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