Skip to content

Decouple required E2E from Windows frontend unit - #2427

Merged
Chris0Jeky merged 29 commits into
mainfrom
issue-2378/e2e-gate-independence
Sep 3, 2026
Merged

Decouple required E2E from Windows frontend unit#2427
Chris0Jeky merged 29 commits into
mainfrom
issue-2378/e2e-gate-independence

Conversation

@Chris0Jeky

@Chris0Jeky Chris0Jeky commented Sep 3, 2026

Copy link
Copy Markdown
Owner

Summary

  • Remove frontend-unit from the required E2E job's needs list so a failed or cancelled Windows launcher leg cannot suppress E2E.
  • Keep Frontend Unit as its own required job and leave its result semantics unchanged.
  • Add a deterministic workflow contract proving the retained E2E prerequisites and the reusable E2E runtime setup.

Advances #2378.

Evidence

Failing first on the pre-change workflow:

  • node --test scripts/ci/smart-ci/required-e2e-dependencies.test.mjs: 1 passed, 1 failed because the actual dependency set contained frontend-unit.

Passing at 90f3bc30bf6d728a56c4ca13fcc707ef49104f8e against ea2ab3e68f79bf8f96ebe49c7dbf2cd1dcf148db:

  • focused dependency contract: 2/2
  • full Smart CI tests: 88/88
  • portable Actionlint bootstrap contract: 5/5
  • PyYAML parse: 3 workflows
  • GitHub operations governance: passed
  • docs governance: passed
  • Golden Principles: passed
  • git diff --check origin/main..HEAD: passed

Hosted run 33737329231 on the prior base directly proved E2E scheduled after the known Windows Frontend Unit timeout; the exact evidence is recorded in the PR comments. Hosted CI for the refreshed exact head is pending.

Boundaries

This does not fix the Windows 20-second launcher timeout or its path-scope behavior. It prevents that independent job's failure or cancellation from suppressing E2E. Smart CI remains observation-only. Canonical docs are unchanged.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 3, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-03T11:09:15.022707Z 1c48fce New commits
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@Chris0Jeky Chris0Jeky moved this from Pending to Review in Taskdeck Execution Sep 3, 2026
@Chris0Jeky

Copy link
Copy Markdown
Owner Author

Review disposition before hosted qualification:

  • CRITICAL/HIGH: none in the pre-push local review.
  • MEDIUM, non-blocking: the topology test's line parser does not recognize a dependency with a trailing YAML comment and does not separately assert that the Frontend Unit job remains present.
  • LOW, informational: the workflow overview still says E2E depends on every preceding job.

These do not create a direct incorrect runtime path in the current two-file head, so they are declined for this bounded repair and remain residual under #2378. A fresh exact-head/current-base independent review is in progress. Hosted CI is pending.

@Chris0Jeky

Copy link
Copy Markdown
Owner Author

Fresh exact-head/current-base independent review completed at 0e65cdc753a91494b393e635b4fea5406bfabbcd against 6837bf107c7aa3544beb9554c0249055b900cec6.

Verdict: no CRITICAL/HIGH merge blocker.

Verified:

  • Frontend Unit remains a separate reusable required job.
  • E2E retains exactly the five independent prerequisites and its reusable workflow owns checkout, .NET, Node, dependency installation, and Playwright execution.
  • Smart CI policy/mode and branch-protection surfaces are untouched.
  • Focused 2/2, Smart CI 88/88, portable Actionlint 5/5, YAML/governance/diff checks passed.

Non-blocking residuals retained under #2378:

  • MEDIUM: the contract should later assert the independent Frontend Unit job and reusable call directly.
  • LOW: reusable-E2E setup assertions are whole-file rather than job-scoped.
  • Informational/pre-existing: workflow/testing-guide wording says E2E depends on all prior gates.

No fix commit is warranted in this bounded cycle. Hosted scheduler proof and the required CI conclusion remain the only current gate.

@Chris0Jeky

Copy link
Copy Markdown
Owner Author

Hosted scheduler evidence from run 33737329231 on head 0e65cdc:

  • Windows Frontend Unit job 100590869769 failed at 2026-09-03T09:17:13Z on the known PowerShell: pipeline cancellation runs transactional cleanup from finally case after spawnSync ... powershell.exe ETIMEDOUT at 20.6 seconds.
  • Its retained Windows API prerequisite later passed in 15m47s.
  • Required E2E job 100595566509 then entered in_progress at 2026-09-03T09:25:51Z and reached Run Playwright smoke tests despite the Frontend Unit failure.

This directly proves the scheduling defect is repaired: the known frontend failure no longer suppresses required E2E. Main advanced to ea2ab3e68f79bf8f96ebe49c7dbf2cd1dcf148db during the run, so this evidence is retained but is not being treated as merge-qualifying CI. The branch will receive one final bounded current-main refresh and affected reproof.

@Chris0Jeky

Copy link
Copy Markdown
Owner Author

[Codex independent review disposition]
base: ea2ab3e
head: 90f3bc3

Fresh-context current-base review found no CRITICAL or HIGH merge blocker. The base delta from #2426 is isolated from this PR's two-file workflow/test range.

LOW, non-blocking: the contract test proves that E2E no longer needs Frontend Unit, but it does not separately assert that the Frontend Unit job still exists. The current workflow does retain that independent job. No fix is added in this bounded scheduler-repair slice.

Local exact-head proof: focused dependency contract 2/2, Smart CI suite 88/88, YAML topology parse, and git diff --check all passed.

Hosted CI is still in progress. This head is not merge-eligible until its CI and E2E checks complete green.

…duals

Harden board dialogs against focus and live-update clobber
@Chris0Jeky

Copy link
Copy Markdown
Owner Author

[Codex lane release v2]
lane: beta-platform-integrity
issue: #2378
PR: #2427
exact head: 90f3bc3
result: parked
shipped outcome: none. Local proof and hosted run 33739387122 completed green on base ea2ab3e. Required E2E started independently and passed 170 tests after both Windows jobs completed.
remaining residual: main advanced to 751a4c3 before E2E completed. This was the final bounded base refresh, so the green old-base head is not being merged. On restart, reconcile once with then-current main, inspect the frontend interaction delta, rerun the focused dependency contract, Smart CI, YAML/governance/diff checks and exact-head hosted CI, then perform one current-base interaction review.
released paths/leases: .github/workflows/ci-required.yml; scripts/ci/smart-ci/required-e2e-dependencies.test.mjs
next dependency now unblocked: none. #2416 remains blocked until this scheduler repair lands.

CLAUDE_SYNC_PACKET
canonical truth changes: none
issue/project changes: PR #2427 and issue #2378 parked as Blocked, Priority I
architecture/decision impact: none
manual validation still needed: none; technical current-base requalification remains
human actions: none

Chris0Jeky and others added 2 commits September 3, 2026 11:22
…xpected-error

[Security] Sanitize unexpected AgentRuntime failures
@Chris0Jeky Chris0Jeky moved this from Blocked to Now in Taskdeck Execution Sep 3, 2026
@Chris0Jeky Chris0Jeky moved this from Now to Review in Taskdeck Execution Sep 3, 2026
@Chris0Jeky

Copy link
Copy Markdown
Owner Author

Current-base requalification is pushed at exact head 1c48fce on base 1eb71be.

Local proof:

  • focused E2E dependency contract: 2/2 passed
  • full Smart CI suite: 88/88 passed
  • portable Actionlint bootstrap/checksum contract: 5/5 passed
  • PyYAML parse: passed; E2E needs are docs-governance, backend-architecture, backend-unit, api-integration, and migration-validation
  • GitHub operations governance, docs governance, Golden Principles, and diff checks: passed

Fresh current-base interaction review found no CRITICAL/HIGH or direct correctness defect. It confirmed Frontend Unit remains independently declared, reusable E2E bootstraps itself, and Smart CI policy remains unchanged. Two LOW observations are declined for this bounded repair: an optional redundant assertion that Frontend Unit remains declared, and pre-existing header wording that says E2E depends on all preceding jobs despite the workflow never doing so.

The full seven-check Actionlint integration is not locally verified because native Actionlint and ShellCheck are absent; CI Extended is the authoritative pinned-toolchain proof. Exact-head hosted CI is pending. No merge decision will use the older head's checks.

@Chris0Jeky Chris0Jeky moved this from Review to Blocked in Taskdeck Execution Sep 3, 2026
@Chris0Jeky

Copy link
Copy Markdown
Owner Author

[Codex lane release v2]
lane: beta-platform-integrity
issue: #2378
PR: #2427
exact head: 1c48fce
result: parked
shipped outcome: none. The refreshed two-file head passed local focused and Smart CI tests, current-base independent review with no CRITICAL/HIGH finding, CI Extended run 33747954524 attempt 1, and Required CI run 33747954544 attempt 1. Required E2E completed successfully. The head is not merged.
remaining residual: main advanced from reviewed base 1eb71be to a127dee through PR #2429 before the final verdict. The declared one-refresh ceiling applies. Restart only in a later bounded cycle after the integration wave settles: merge then-current main once, inspect current-base interaction, rerun the focused dependency contract, full Smart CI, YAML/governance/diff proof, exact-head hosted CI, and one current-base review. The underlying Windows launcher timeout remains open.
released paths/leases: .github/workflows/ci-required.yml; scripts/ci/smart-ci/required-e2e-dependencies.test.mjs
next dependency now unblocked: none. PR #2416 remains blocked on this scheduler repair, launcher substrate evidence, and its installed old-worker-to-v2 browser proof.

CLAUDE_SYNC_PACKET
canonical truth changes: none
issue/project changes: issue #2378 and PR #2427 set Blocked, Priority I; issue remains open
architecture/decision impact: none. Smart CI remains observation-only and Frontend Unit remains independently required.
manual validation still needed: none. Technical current-base requalification remains.
human actions: none

@Chris0Jeky

Copy link
Copy Markdown
Owner Author

Live gate update after merged PR #2442 (c37d90b).

ADR-0066's 2026-09-03 maintainer amendment now says control-plane (T0/T2) and runner changes merge only after the maintainer's review plus the existing fresh-context review. PR #2427 changes .github/workflows/ci-required.yml, so that human review gate applies.

The technical restart contract is unchanged: after the integration wave settles, reconcile once with then-current main, inspect interaction, rerun the focused dependency contract, Smart CI, YAML/governance/diff checks, exact-head hosted CI, and one current-base review. Even if all of that is green, do not merge until the maintainer explicitly reviews this control-plane change.

Issue and PR remain Blocked / Priority I. No lease is being reacquired while PR #2443 and the remaining docs/integration work are moving.

@Chris0Jeky

Copy link
Copy Markdown
Owner Author

Independent fresh-context review disposition for exact head 1c48fce11 (verdict: MERGE).

Scope note: the GitHub file list for this PR is inflated against an old base; the effective delta versus the merge base is exactly two items — the frontend-unit edge removed from e2e-smoke.needs in .github/workflows/ci-required.yml, and the new scripts/ci/smart-ci/required-e2e-dependencies.test.mjs.

No CRITICAL/HIGH defect. Removing the edge deletes a suppression path (a failed or cancelled Windows Frontend Unit leg previously left E2E Smoke skipped, and a skipped required context counts as satisfied), so the gate is strengthened, not weakened. Frontend Unit stays a top-level job with its name unchanged; the E2E Smoke context name and reusable call are untouched; the reusable E2E workflow consumes no artifact or cache from frontend-unit. The contract test fails closed on every parse miss. Hosted ci-required and Smart CI / Planner Self-Test are green on this exact head, satisfying the R4 hosted-only proving rule.

Non-blocking, recorded on #2378 rather than fixed here (law 2: no fix-commit cascade for MEDIUM/LOW):

  • MEDIUM: the topology header comment in ci-required.yml still says E2E "depends on all above".
  • MEDIUM: docs-governance and backend-architecture remain in e2e-smoke.needs and are not runtime prerequisites of the smoke; a failure there still skips E2E with the same skipped-counts-as-green outcome. The new test pins that residual set as intentional.
  • MEDIUM: the new contract test runs only under Smart CI / Planner Self-Test, which is not a registered required context (branch protection today requires the three security contexts only), so the regression guard is advisory.
  • LOW: the regex-escape helper in the new test is mis-bracketed (inert today); the second test's lazy cross-file matches are weaker than they read and do not assert the no-artifact-download invariant.

@Chris0Jeky
Chris0Jeky merged commit 7d8deef into main Sep 3, 2026
35 checks passed
@github-project-automation github-project-automation Bot moved this from Blocked to Done in Taskdeck Execution Sep 3, 2026
Chris0Jeky added a commit that referenced this pull request Sep 4, 2026
…26-09-03

docs: record the fourth 2026-09-03 block (#2440, #2445, #2427) and refresh v0.3.0 readiness
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant