Skip to content

CI P4 D20: fail-closed docs-only admission + opt-in Field Capture (RC-only qualification) - #757

Draft
masarray wants to merge 3 commits into
release/arsas-integrated-rc0-20261024from
ci/p4-failclosed-optimized-gates-d19-20261027
Draft

masarray wants to merge 3 commits into
release/arsas-integrated-rc0-20261024from
ci/p4-failclosed-optimized-gates-d19-20261027

Conversation

@masarray

Copy link
Copy Markdown
Owner

Purpose — D20, scoped qualification of D19 optimized CI gates

BASE: protected integrated RC release/arsas-integrated-rc0-20261024 at 817c3910e8223fa2ac531a4426ada5d2d4bbbe50 (NOT main/stable).
HEAD: e0c9724b203ac38f2a947d71795ac1173ca5ed5b. DRAFT / DO NOT MERGE until GitHub Actions and required-check review are independently satisfied.

Implementation

  • Canonical Build ARSAS runs full Windows on source/mixed/unknown, rename/delete, large/empty GitHub file lists, API/classifier failures, manual dispatch and push. Only positively certified README/docs Markdown additions/updates (excluding release-affecting interoperability contract) may skip Windows. Crucial: job expression deliberately tests needs.pr-scope.result != 'success' || needs.pr-scope.outputs.needs_windows != 'false': any missing output still runs Windows, unlike the older CI P4: fail-closed docs-only fast gate and opt-in Field Capture Windows packaging #653 candidate.
  • Extra Smart Discovery Field Capture Windows packaging runs on relevant nondraft, explicitly labeled ci-field-capture PRs, or manual dispatch after exact-SHA reusable regression. Keeps all existing physical/safety gate invariants and action names.
  • Existing scripts/test-ci-workflows.py gets static integration assertions and new Node VM-based actual-workflow-expression test with 26 conservative mocked API/event scenarios. The separate local fixture experiment passed; hosted CI result pending.
  • No WPF/C#, engine, lock, control/write, performance/SG7, SCL semantics, release/stable/main, or RC HEAD changes. Source code diff limited to three existing workflow/test paths + one audit document.

CI cost / acceptance

References: CI D19 implementation notes, cost issue #542, historical #653.

Qualification pending: do not call CI green, physical FAT complete, or a proven reduction in billable Windows minutes until measured.

Copy link
Copy Markdown
Owner Author

D21 qualification — real GitHub Actions evidence, exact SHAs; no reruns or source changes

Parent CI P4 draft #757 remains OPEN DRAFT, exact HEAD e0c9724b203ac38f2a947d71795ac1173ca5ed5b, base protected RC 817c3910e8223fa2ac531a4426ada5d2d4bbbe50, NOT main.

Source-impacting real PR wave (one attempt, 8 workflows, all finished):

Genuine documentation-only canary #758 was created from the candidate HEAD on a separate one-Markdown-file branch, targeted back to that candidate feature branch. Real Build ARSAS #40410571266 SUCCESS, pr-scope job SUCCESS (log Changed paths=1, Windows required=false), canonical Windows job SKIPPED, zero artifacts on canary SHA 00b0c519107e3d3cd7560428379a22500bb78b9a. Only one workflow triggered, demonstrating real docs-only CI saving without false package proof. Canary CLOSED UNMERGED after writing exact evidence. No commit added to #757 or the protected RC.

Qualification now supported: actual source PR Windows admission/build; actual docs-only Windows skip/no sealed artifact; actual Field Capture draft/unlabeled opt-out; P0 26-case policy regression. Still NOT supported: main branch-protection required-check topology (GitHub App GET 403), live nondraft labeled and manual Field Capture dispatch paths, real physical IEC 61850 FAT, or a robust measured cross-PR billable-minute savings baseline.

Disposition: retain #757 as DRAFT and #542 as OPEN, refrain from relabeling it ci-field-capture (would spend Windows runners) or pushing no-op changes. No release/engine pin/main/safety/Write/SG7/GUI modification.

This branch has not been deployed

No deployments
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