Skip to content

ci: place existing Pi and OpenCode source suites on native macOS ARM64 #2160

Closed

Description

@dnlrsls

Existing Issue Search

  • I searched existing issues and will add evidence to a canonical tracker when applicable.

🔍 Observed Consequence

Existing Pi/OpenCode Node source suites and their Go-backed HTTP fixtures are placed in Linux CI. The merged native macOS Go foundation does not execute those standalone adapter commands, so its success cannot establish native adapter behavior.

💡 Desired Outcome

Contributors can observe the existing adapter suites on native macOS ARM64, with explicit prerequisites, honest executed/skipped scope and preserved failures, without confusing fixture coverage with installed-host or artifact qualification.

📦 Affected Area

Other — CI adapter coverage and contributor verification.

Release Context

Not release-specific. Approved implementation base: 51bcdba8ffc930bd7b65f4c99446e5cabcc115fe; reviewed local candidate: 493992f9774491bb45d4ffbeb5e857822b3f4e8b. Canonical main was freshly confirmed at that base for publication. No new native adapter execution is claimed.

🔄 Workarounds and Constraints

This is the explicitly authorized Mac-only implementation/publication slice of #2150, not a duplicate umbrella or Windows owner. The human approved the implementation and budgets while tracked under approved/assigned #2150, then explicitly authorized this narrower closing-reference issue so publishing the Mac slice cannot automatically close the Windows scope.

Reuse existing serial Pi npm test, the existing three-file OpenCode command, locked npm ci --ignore-scripts --legacy-peer-deps, repository Go 1.26.10 and Node 24. Preserve fixtures, assertions, deadlines and fresh homes/temp/stores/processes. No dependency upgrades, new SDK/framework, PR #1906 integration, Windows jobs, global installations, required-context or protection changes.

📎 Additional Context

Accepted implementation and non-goals

  • One independent, initially non-required macos-adapter-tests job on macos-15, verifying actual Darwin/ARM64 host and target identities.
  • Existing native Go foundation and every pre-existing CI byte remain unchanged. Preserve all six App15368 required contexts, queue, independent security/version/integrity guards, Race cadence and existing budgets under question(ci): decide post-rollout required checks and merge-queue parity #2020 and its retained-policy correction.
  • Provisional ceilings: 15 minutes outer, 2 minutes fixture build, 5 minutes Pi and 5 minutes OpenCode. These are containment ceilings, not measured native timing guarantees. Exhaustion is failure, not automatic budget growth.
  • Mandatory Go/contract/TypeBox/source-server prerequisites and unexpected skips mean incomplete coverage. Only the existing installed-host opt-in exclusion is accepted at the outer suite level.
  • Inline TAP evidence reports original command outcomes, pass/fail/skip identities and reconciles counters against all nested result records. No new repository helper or fixture implementation.

Proportional verification and independent review

Five allowed files, 351 additions/1 deletion (352 changed lines), commit 493992f9774491bb45d4ffbeb5e857822b3f4e8b:

  • node --test .github/scripts/ci-technical-contracts.test.mjs .github/scripts/ci-unit-node.test.mjs: 31/31 PASS on Node 24.14.0/Windows.
  • node --test .github/scripts/issue-*.test.mjs: 573/573 PASS.
  • node --test .github/scripts/issue-refresh-router-workflow.test.mjs: 4/4 PASS.
  • Existing CI byte preservation and Bash syntax for all five new stages: PASS.
  • Independent CI-risk verification originally identified two false-completeness bugs (balanced inflated counters; missing nested result). Both were reproduced RED, corrected and independently rechecked: 2/2 PASS. Other in-scope specs passed.
  • Native four-lens RDD approved the exact committed range; acknowledgement completed and authority burned for review-c7ab489a2be99197, target sha256:62b5e5ef91cde3a7d5c7cac1722e19860308292fff6728af8e49826344e11251. One informational non-blocking resilience advisory R4-001, no correction opened.
  • Strict LF-normalized CI provenance hash: c2f3abc1aada884d702ddfef2b3a192d6dd849dcf5ed7e7ab301e5b770b9bae6.
  • actionlint unavailable; not installed. No full Go/adapter suite executed locally and no Darwin result inferred.

Completion boundary

This issue owns delivery of the reviewed Mac-only wiring, regression coverage and owning documentation. Its closing PR must reference this issue, not close #2150. Native execution, normal PR/merge-group/main observation and explicit promotion/focused-fix/defer disposition remain visible follow-through under #2150; merging wiring alone does not qualify timing, installed hosts, artifacts or releases. No dispatch/rerun or automatic promotion is authorized.

Windows #2155 / PR #2156 / #2159 remains separate. #1903 / PR #1906 owns fixture/PATH enhancements; #2055 and #2122 retain selected/distributed-artifact claims. Foundation #2121 / merged PR #2154 is a prerequisite, not adapter candidate evidence.

Human explicitly authorized creation, approval and assignment of this Mac-only issue to dnlrsls, fork publication and a type:chore PR. No merge, parent closure or settings change is authorized.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions