Skip to content

Retire adoption macOS CI and its obsolete selector - #957

Merged
seathatflowsinourveins merged 4 commits into
mainfrom
codex/ns2604-macos-retire-20261010
Oct 11, 2026
Merged

seathatflowsinourveins merged 4 commits into
mainfrom
codex/ns2604-macos-retire-20261010

Conversation

@seathatflowsinourveins

@seathatflowsinourveins seathatflowsinourveins commented Oct 10, 2026 •

Copy link
Copy Markdown
Collaborator

Scope

Retire the three advisory adoption macOS jobs and their obsolete selector, retaining the Linux bootstrap and portable installer code. Enforce the exact Linux job/output contract, describe hosted receipts as historical, and provide a pinned restoration rehearsal verified in a disposable worktree.

  • Base commit: eb31d233234cdc552fc81672087ac8769e3696e0.
  • Lane: lane:foundation.
  • Owned paths: adoption workflow, adoption manifest/guides, automation catalog/decisions/handbooks, affected contract tests, portability comments, and registered evidence.
  • The landed resolver prerequisite fix(openhands): protect native shard discovery before macOS CI retirement #959 preserves ci_discovered for newly added root test modules. The Python 3.9 recording syntax guard remains executable.
  • This publication contains the landing rebase plus one forward fix commit for the P2 and three P3 groups. The CC owns landing after the co-op range-diff micro and CC read.

SOTA sources

Evidence-class table

Claim Evidence class Command / receipt
Retirement rejects a restored macOS job and selector output synthetic / local_integration Both mutation controls fail against the held 6247150 policy assertions before the fix; all 13 Linux policy/detector cases pass after strengthening the assertions
Historical wording, dated comments and inverse regression discriminate the old text local_integration Three new documentation regression methods fail before their respective fixes and pass afterward; the three Claude files still exist on fetched main and were corrected
Bounded restoration works locally local_integration Scratch: 58 unchanged donor CI tests pass; restored five-job graph triggers the expected retirement-policy failure; 299 current protection/portability tests pass, one capability skip; scratch FULL validate passes
Generated bindings and both receipt histories are retained local_integration Handbook native write/check rc0 with unchanged output hashes; receipt retains all main/held histories plus one fresh row (52 regenerations, 18 previous outputs)
Changed repository contracts pass local_integration 14 touched modules: 1,233 real cases, 34 skips, no real test failures/errors; corrected supplemental handbook receipt case passes separately
Registry and scope are consistent local_integration FULL validate rc0: 70 components, 11,426 hashed files, four profiles, 239 receipts
Workflow syntax/security checks pass local_integration actionlint 1.17.0 rc0; zizmor 1.30.1 offline rc0, no findings, two existing suppressions
No credential finding in the outgoing commit range local_integration Redacted gitleaks over merge-base..HEAD only, rc0

Local commands run

All substantive test/validation runs used nice -n 19 ionice -c 3. Full discovery belongs to hosted CI.

python3 -B -m unittest tests.test_workflow_hardening.AdoptionBootstrapLinuxPolicyTests tests.test_workflow_hardening.LinuxBootstrapChangesTests
# 13 cases, rc0; both new controls had failed before the policy fix.

python3 scripts/build_new_wsl_handbook.py --write
python3 scripts/build_new_wsl_handbook.py --check
# Both rc0; unchanged generated digests, both receipt histories preserved.

python3 -B -m unittest \
  tests.test_adoption_bootstrap tests.test_adoption_bootstrap_macos \
  tests.test_claude_harness_audit_bounds tests.test_claude_pr_review_workflow \
  tests.test_claude_pr_toolkit_review_workflow tests.test_codex_broker_reaper \
  tests.test_github_automation_practice tests.test_landscape_sweep_skills \
  tests.test_runtime_worker_openhands_push_gate tests.test_runtime_worker_openhands_resolver \
  tests.test_shell_parser_ci tests.test_skill_usage \
  tests.test_workflow_hardening tests.test_workflow_policy
# These 14 real modules contributed 1,233 cases, 34 skips, zero failures/errors.
# The original aggregate invocation also included a mistyped supplemental
# DefaultPublishedHandbookTests selector: 1,234 total, rc1 solely for that loader error.
# The corrected supplemental check below passes; real modules were not rerun.

python3 -B -m unittest \
  tests.test_adoption_bootstrap_macos.PlatformPageTests.test_retirement_decision_provides_a_bounded_pinned_inverse \
  tests.test_new_wsl_handbook.NewWslHandbookTests.test_the_committed_outputs_are_current_and_the_handbook_receipt_names_them
# 2 cases, rc0, including the corrected handbook receipt check.

python3 scripts/component_matrix.py --write
python3 scripts/new_host_grand_list.py --write
python3 scripts/evidence_manifest.py --write
python3 scripts/validate.py
# FULL rc0: 70 components, 11,426 hashed files, 4 profiles, 239 receipts.

actionlint .github/workflows/adoption-bootstrap.yml
zizmor --no-online-audits .github/workflows/adoption-bootstrap.yml
# Both rc0; zizmor reports no findings (2 existing suppressions).

gitleaks git --redact --log-opts="$(git merge-base origin/main HEAD)..HEAD" .
# PR range only; rc0, no leaks.

Scratch inverse outcomes and retained failed attempts are recorded in docs/decisions/2026-10-10-retire-macos-ci.md. The initial whole-old-module import found an unrelated removed verdict-review job; bounded extraction resolves it. The initial scratch registry failure was corrected by re-registering own changes relative to main. These checks establish local reversibility and integrity; native macOS execution and acceptance remain unmeasured.

Decision record

docs/decisions/2026-10-10-retire-macos-ci.md, including the superseded decisions, revisit triggers, executable inverse and native macOS limitation.

Host evidence

No host receipt or platform acceptance change is part of this retirement.

Checklist

  • Retained third-party actions use full commit pins and version comments.
  • Top-level permissions: {} and existing job-local minimum scopes remain.
  • Credentials are not printed or committed; no required secret was added.
  • No new paid hosting, subscription or billing surface was introduced.
  • Peer-owned files and worktrees were preserved; the owned restoration scratch is removed after verification.

@seathatflowsinourveins seathatflowsinourveins added the lane:foundation Foundation lane: Claude/Codex setup, hosts, memory, RAG, research, workers label Oct 10, 2026
@socket-security

socket-security Bot commented Oct 10, 2026 •

Copy link
Copy Markdown

Dependency limit exceeded — report not shown.

This pull request scan exceeded the 10,000-dependency limit applied to this scan, so the results are incomplete and may be inaccurate. To avoid reporting false positives, Socket has not posted a report.

Upgrade your plan to raise the dependency limit and get complete reports, or view the partial scan in the dashboard.

Socket is always free for open source. If this is a non-commercial open source project, contact us to request a free Team account.

@seathatflowsinourveins
seathatflowsinourveins force-pushed the codex/ns2604-macos-retire-20261010 branch 2 times, most recently from 7a271e3 to 6247150 Compare October 10, 2026 17:31
@seathatflowsinourveins
seathatflowsinourveins marked this pull request as ready for review October 10, 2026 18:02
@seathatflowsinourveins
seathatflowsinourveins force-pushed the codex/ns2604-macos-retire-20261010 branch from 6247150 to 9475c7a Compare October 10, 2026 20:31
@seathatflowsinourveins
seathatflowsinourveins force-pushed the codex/ns2604-macos-retire-20261010 branch from 9475c7a to 0d1dce8 Compare October 11, 2026 00:15
@seathatflowsinourveins
seathatflowsinourveins merged commit bd59f55 into main Oct 11, 2026
35 checks passed
@seathatflowsinourveins
seathatflowsinourveins deleted the codex/ns2604-macos-retire-20261010 branch October 11, 2026 02:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

lane:foundation Foundation lane: Claude/Codex setup, hosts, memory, RAG, research, workers

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant