fix: add local-state-first install preflight - #48
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
EvoZeus Proof GateMode: dry-run Proof labels
Missing or weak fields
Next action
|
EvoZeus Queue GuardMode: dry-run Author open PRs: 5 Branch family: codex/bug/20260731-infra-install-preflight Branch family open PRs: 1 Violations
Next action
|
EvoZeus Auto ResponseRedaction requiredThe PR appears to include sensitive evidence or private context. Redact secrets, raw logs, customer data, private paths, internal URLs, and unreleased business context before review. Missing real behavior proofThis PR needs real behavior proof before review can continue. Add the command, environment, input, output after the patch, observed result, and what was not tested. Split this PRThis PR appears to mix too many surfaces or protected paths. Split it into one primary layer and one review target. Owner review requiredThis PR changes a protected path. CODEOWNERS review and maintainer approval are required; do not request automerge. RFC requiredGovernance, workflow, branch protection, or architecture changes need linked RFC or maintainer discussion before normal PR review. Queue limit reachedThis author or branch family appears to exceed the current queue limit. Reduce open PRs or ask a maintainer to override before continuing review. |
EvoZeus Dirty PR CheckMode: dry-run Surfaces
Reasons
Next action
|
EvoZeus Privacy ScanMode: dry-run Findings
Next action
|
EvoZeus Labeler ReportPR type/risk labels were updated from changed files. Surfaces
Labels
Changed lines
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 8489448bfe
ℹ️ 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".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
…ug/20260731-infra-install-preflight
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: b64e0ffee0
ℹ️ 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".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
…ug/20260731-infra-install-preflight
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 1c4a0d7dc9
ℹ️ 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".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review Please review exact head |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: faa86f7940
ℹ️ 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".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review Please review exact head |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e6b9502e7c
ℹ️ 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".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 691f03fad1
ℹ️ 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".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
Follow-up commit Validation: |
Summary
This PR prevents fresh-install behavior from running before EvoZeus knows the local state and environment readiness.
It adds a two-stage, read-only Stable preflight; a six-state local decision model; a strict fresh-only installer contract; and release assets for the standalone verified checker. This matters now because the public install journey can otherwise repeat downloads, approval requests, registration, or writes against an existing or unsafe target.
The intended outcome is one deterministic result before product download or
~/.evozeuswrites: a healthy no-op, a state-specific update/repair/migration route, a blocked result with remediation, or a fresh-install approval request.Public Web
/skillsynchronization, publishing the next Stable release, Codex/Claude fresh and healthy-no-op UAT, merge, and release are intentionally out of scope for this PR. Reviewers should focus on zero-product-download guarantees, local-state trust, report binding, and fresh-install idempotency.Linked Context
Addresses #41
Addresses #42
Depends on #46. Requested by issues #41/#42 and follow-up maintainer security review.
PR Scope
Primary layer:
Primary artifact kind: Install preflight and local-state routing contract.
One thing this PR does: gates the Stable bootstrap installer behind a verified, target-bound, fresh-only preflight result.
What this PR does not do: update the separate EvoZeus Web
/skill, publish Stable, validate both hosts end-to-end, merge, or release.EvoZeus Evidence Proof
npm test;npm run test:python;npm run test:preflight; real POSIX pre-fetch and full-checker Stable smoke;claude plugin validate .; syntax checks; PR readiness;git diff --check.not_installed; healthy-current fixtures remained strict no-ops even when install dependencies were unavailable. A real Stable regression now deletesskills/using-evozeus/SKILL.md, observesrepair_required, proves a zero-write repair plan, applies the same verified manifest into a new root, preserves rollback, and returns Doctor toready. A real launcher regression proves complete product/link/dispatcher/bootstrap/Plugin restoration after a cross-version registration failure. The same-version repair regression now refuses to reactivate its damaged predecessor, keeps the verified repaired root active, and reportsfailed_recovery_requiredwhile Plugin alignment remains incomplete. A pre-switch isolated-repair failure now preserves the damaged-state truth and reports recovery required. Recognized v1 channel state now produces a zero-write migration plan and an approved v2 migration transaction without treating legacy bytes as verified rollback. Rollback smoke also disables Python bytecode writes, and a full historical-root inventory/mtime assertion proves validation leaves the candidate root unchanged./skillcode is synchronized in PR [codex] Add workspace product feature router #16, while deployed-preview and Codex/Claude fresh/no-op UAT remain pending.Verdict / Review Gate
Proposed verdict, if this PR adds or changes a Case or Candidate:
Review gates checked:
Tests and Validation
Commands run:
npm testnpm run test:pythonnpm run test:preflightnode --checkfor changed JavaScript entrypoints/bin/sh -n scripts/evozeus-install-prefetch.shpython3 -m py_compile scripts/evozeus-coevolve-dispatcher.py scripts/check_pr_ready.pyclaude plugin validate .python3 scripts/check_pr_ready.py --base origin/main --allow-cross-layergit diff --checkThe checks now cover exact Node/Python thresholds, missing tools, network failure, zero-GET blocked paths, six local states, channel/version mismatch, healthy no-op, checker download accounting, target and release-tag binding, stale reports, TOCTOU, strict-empty targets, same-version Stable/UAT repair, target-Core shim derivation, transactional cross-channel bootstrap-and-shim switching, legacy rollback compatibility, malformed control/manifest evidence, current-link mismatch, unsafe transaction roots, symlinks, external current/previous roots, rollback-candidate required paths, embedded components, compatibility and fixed smoke, existing-empty target permissions, and dry-run fresh-only behavior.
No test or script was skipped locally. All local gates pass on
f7368c4after integrating the current #46 base; the hosted matrix and final automatic re-review are pending on that head.Risk Checklist
Did user-visible behavior change? (
Yes)Did SKILL.md, public instructions, or agent behavior change? (
Yes)Did privacy, security, network, auth, or tool permission behavior change? (
Yes)Did schema, storage, branch, PR, or governance behavior change? (
Yes)Highest-risk area: trusting local install evidence while allowing approved fresh, repair, or update writes.
How is that risk mitigated? Stable-only fail-closed routing, verified manifest/path evidence, strict schema and target binding, pre-manifest transaction-root checks, isolated repair roots, Plugin marketplace path gates, atomic state/link/dispatcher/bootstrap/Plugin recovery, a one-hour report window, exact Release tag binding, an immediate state recheck, strict-empty target policy, zero product downloads during preflight, and regression tests.
AI-Assisted Work
Was this PR written or materially changed by an AI coding agent? (
Yes)If yes, which agent/tool and what did it do? OpenAI Codex implemented the scoped code, tests, documentation, validation, and PR preparation under maintainer review.
Confirm the author understands the changed behavior:
Current Review State
Next action: complete hosted CI and exact-head automatic review on
f7368c4; keep the synchronized public Web/skillgate pinned to its byte-identical Core source commitf7368c4.Still waiting on author, maintainer, CI, or external proof: next Stable publication, and Codex/Claude fresh plus healthy-no-op UAT. Web #16 is synchronized to Core
f7368c4at Web headf02e388.Reviewer or bot comments addressed: all maintainer findings on Stable-only routing, activity/launcher bypass, dependency thresholds, state trust, tag binding, TOCTOU, strict-empty targets, unsafe paths, healthy no-op, and executable same-version repair, cross-version bootstrap rollback, Plugin alignment rollback, honest recovery reporting, and Plugin marketplace path safety, complete rollback-root health validation, existing-target permission checks, recognized v1 migration routing, and pre-switch repair failure truth are covered.
Privacy Checklist
Operational Checklist
python3 scripts/check_pr_ready.pypassesgit diff --checkpassesExact-head update (2026-08-02)