Repository navigation
ci: place existing Pi and OpenCode source suites on native macOS ARM64 #2160
Description
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-testsjob onmacos-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, targetsha256: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.
Activity