You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Wave: Smart CI Fabric / private-repository cutover. Trackers: CI-00 #2324 and CI-13 #2337. Related runner boundary: CI-04 #2328.
Context
The settled v0.3 posture has a $0 GitHub Actions hard ceiling. After the development repository becomes private and before any self-hosted runner is associated, the cutover must prove private-mode behaviour without consuming private hosted Windows minutes.
The existing release plan excluded the Windows release archive job, but required CI still invokes Windows work through ci-required.yml and called/reusable workflows, including the worktree-helper, backend-unit, frontend-unit, and API-integration Windows lanes. A post-privacy R0/R2/R4 rehearsal would therefore violate the budget and runner ordering unless the entire workflow graph has a trusted Linux-only rehearsal mode.
This is a release-control mechanism, not a permanent reduction in Windows coverage. Full Windows evidence resumes on the already-proven isolated runner classes after association, or after an explicit maintainer budget re-ruling.
Scope
Add one explicit, trusted private-cutover rehearsal mode that is evaluated from protected-base workflow code and cannot be enabled or altered by untrusted PR-head code.
Thread that mode through ci-required.yml and every called/reusable workflow that can schedule Windows work.
Suppress every private hosted Windows job in rehearsal mode, including current Windows worktree-helper, backend-unit, frontend-unit, API-integration, and release jobs.
Preserve the intended Linux, control-plane, security, governance, and receipt evidence. A Linux-only rehearsal must not turn required checks into vacuous skipped-success contexts.
Fail closed when the mode is absent where required, malformed, inconsistent across the workflow graph, bypassed, or when a Windows job would still be schedulable.
Add a workflow-contract inventory/test that discovers Windows runner selectors and fails when a new or existing Windows job is not covered by the rehearsal guard.
Emit an auditable summary/receipt listing the mode, trusted source, selected jobs, suppressed Windows jobs, commit, policy/config identity, and final result.
Update the private-cutover checklist, release readiness material, and CI testing guide with activation, verification, abort, and rollback instructions.
Security and trust constraints
Ordinary pull requests cannot self-select the trusted rehearsal mode.
No self-hosted runner is associated while this rehearsal executes.
No release credential is exposed to ordinary hosted or persistent CI runners.
The mode must not weaken normal public CI, later hybrid CI, weekly full Windows coverage, or exact-tag Windows qualification.
The cutover stops if any private hosted Windows job is scheduled or if expected Linux/control/security evidence is missing.
Acceptance
Contract tests enumerate the full workflow graph and fail when any Windows job lacks the trusted rehearsal guard.
A public-mode dry run proves the same selection logic before the visibility change.
The private post-flip rehearsal schedules zero hosted Windows jobs while producing all expected Linux/control/security checks and evidence.
R0/R2/R4, normal-merge, nightly, and no-publish release scenarios are recorded against exact commits and workflow/config identities.
The mechanism is documented in docs/ci/PRIVATE_REPO_CUTOVER_CHECKLIST.md, docs/releases/V0_3_0_READINESS.md, and docs/TESTING_GUIDE.md or their current authoritative successors.
This issue does not authorize the repository visibility flip, runner registration, branch-protection mutation, storage deletion, release publication, or a change to the $0 budget ruling.
This issue does not replace the full Windows weekly/release contract or the isolated exact-tag Windows build.
Blocks the private cutover and final v0.3.0 tag until completed or explicitly re-ruled.
Wave: Smart CI Fabric / private-repository cutover. Trackers: CI-00 #2324 and CI-13 #2337. Related runner boundary: CI-04 #2328.
Context
The settled v0.3 posture has a
$0GitHub Actions hard ceiling. After the development repository becomes private and before any self-hosted runner is associated, the cutover must prove private-mode behaviour without consuming private hosted Windows minutes.The existing release plan excluded the Windows release archive job, but required CI still invokes Windows work through
ci-required.ymland called/reusable workflows, including the worktree-helper, backend-unit, frontend-unit, and API-integration Windows lanes. A post-privacy R0/R2/R4 rehearsal would therefore violate the budget and runner ordering unless the entire workflow graph has a trusted Linux-only rehearsal mode.This is a release-control mechanism, not a permanent reduction in Windows coverage. Full Windows evidence resumes on the already-proven isolated runner classes after association, or after an explicit maintainer budget re-ruling.
Scope
ci-required.ymland every called/reusable workflow that can schedule Windows work.Security and trust constraints
Acceptance
docs/ci/PRIVATE_REPO_CUTOVER_CHECKLIST.md,docs/releases/V0_3_0_READINESS.md, anddocs/TESTING_GUIDE.mdor their current authoritative successors.Non-goals
$0budget ruling.Blocks the private cutover and final
v0.3.0tag until completed or explicitly re-ruled.