Skip to content

Recover observer when native exit status is missing - #813

Merged
flip-engineer merged 7 commits into
mainfrom
codex/stale-observer-reconcile-20261017
Oct 17, 2026
Merged

flip-engineer merged 7 commits into
mainfrom
codex/stale-observer-reconcile-20261017

Conversation

@flip-engineer

@flip-engineer flip-engineer commented Oct 17, 2026 •

Copy link
Copy Markdown
Collaborator

Observer recovery restores a missing native status file through the original keeper. The keeper verifies the recorded PID and process start identity, observes an exited child with waitid(WNOWAIT), and records the durable exit status. Recovery refuses an unverifiable process identity. A delayed waiter wake is ignored after reconciliation records the status.

The process fixture covers missing-status restoration and refusal after a forged start identity. The workflow selects self-hosted Linux and Apple Silicon runners. Missing runner authorization, Apple Silicon capacity, and resource admission remain tracked in #814, #815, and #819.

Validation on atari-homelab, using Bend 2.0.25 and clang 19:

  • Candidate f21aa8d0003fba708f8cdbf37c8539bef6be98b5: focused native build passed; all 8 process tests passed in 7.479 seconds.
  • Target e18f003bf07180994fff2c295c5c8e87a276400f with the same test contract: 7 tests passed; the missing-status regression failed as expected.
  • Head c39d82ee38aef1c669edc797500c8ca30c28b498 has identical production and test files to that candidate. Its subsequent change selects the self-hosted Apple Silicon runner.
  • Full Main C generation and the complete workflow remain unverified. The earlier compiler run exceeded 95 GiB RSS without producing C. This narrow repair is delivered using focused validation; Deploy and verify the merged Baton release on the homelab #811 tracks deployment and live recovery verification.

This PR addresses missing-status keeper recovery. PR #795 contains separate receive, checkpoint, and log changes that still need their own consolidation review. The large-frame memory fix remains open in #769 and #776.

flip-engineer and others added 6 commits October 17, 2026 12:17
The baton2-native-homelab runner group authorizes selected workflow refs.
GitHub rejects refs/pull/813/merge as ambiguous and rejects the pull merge
commit as unresolved, while pull-request jobs stay queued with the head
branch or head commit selected. Route pull-request jobs to ubuntu-24.04 and
keep the homelab runner for workflow_dispatch. Issue #814 records the
authorization limit.
Remove the linux_runner choice and the ubuntu-24.04 fallback from the native
workflow. Pull-request, push and workflow_dispatch jobs now request the
baton2-native-homelab runner group and the self-hosted Linux X64 labels. Darwin
qualification keeps macos-15 until a self-hosted Apple Silicon runner exists
(#815). The pull-request runner authorization limit is tracked separately.
Replace macos-15 with the self-hosted macOS ARM64 labels and the
baton2-native-darwin-arm64 qualification label. No such runner is registered
yet, so the Darwin job stays queued and #815 remains the open acceptance gate.
@flip-engineer
flip-engineer marked this pull request as ready for review October 17, 2026 23:13
@flip-engineer
flip-engineer merged commit 9791600 into main Oct 17, 2026
0 of 2 checks passed
@flip-engineer
flip-engineer deleted the codex/stale-observer-reconcile-20261017 branch October 17, 2026 23:13
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