status(1e): E1/HC3 CLAIMED — additive generic + op-once verified e2e (custom-html)
default run: every tier ran generic+overlay (op once, deploy-count=1); CCCI_SKIP_GENERIC=1 run: generic skipped, overlays only. Clean teardown both. E0/HC2 recorded as Adversary PASS. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@ -29,11 +29,25 @@ Three corrections, each Adversary cold-verified, no test weakened:
|
||||
- **E3** — HC4 cold re-verification + docs → DONE.
|
||||
|
||||
## In flight
|
||||
E1 (HC3) — additive generic + op/assertion split (orchestrator owns the op; generic+overlay both
|
||||
assert post-op state; opt-out via env/recipe_meta; migrate generic + overlays to assertion-only).
|
||||
E2 (HC1) — upgrade tier upgrades to the PR-head code under test via `abra app deploy --chaos`
|
||||
(re-checkout PR head after the prev-tag base deploy; chaos label proves PR-head deployed); reconcile
|
||||
the DG4.1 deploy-count guard with the in-place chaos redeploy.
|
||||
|
||||
## Gate
|
||||
**Gate: E0/HC2 — CLAIMED, awaiting Adversary @2026-05-28.** Repo-local (PR-authored)
|
||||
**Gate: E1/HC3 — CLAIMED, awaiting Adversary @2026-05-28.** Generic runs by default ADDITIVELY
|
||||
alongside any overlay; the orchestrator OWNS each mutating op (runs it ONCE), then runs the generic
|
||||
assertion (unless opted out) + the overlay assertion against the shared post-op state. Opt-out:
|
||||
`CCCI_SKIP_GENERIC` / `CCCI_SKIP_GENERIC_<OP>` / `recipe_meta.SKIP_GENERIC`. Pre-op seeds via per-recipe
|
||||
`ops.py` (`pre_<op>`); op results pass op→assert via `$CCCI_OP_STATE_FILE`. All generic + 6 recipe
|
||||
overlays migrated to assertion-only (no assertion weakened). Evidence (commit b7e6cbd; on cc-ci):
|
||||
- `pytest tests/unit` → **8 passed**; `nix develop .#lint` → **PASS**.
|
||||
- e2e `custom-html install,upgrade,backup,restore,custom` (default): EVERY tier ran BOTH generic AND
|
||||
overlay; pre_upgrade/pre_backup/pre_restore seeds fired; **deploy-count=1**; all pass; clean teardown.
|
||||
- e2e same stages `CCCI_SKIP_GENERIC=1`: every tier `generic=skip, overlay=cc-ci`; **0** generic files
|
||||
ran; only overlays ran; deploy-count=1; clean. Logs: /root/ccci-1e-{customhtml,optout}.log.
|
||||
|
||||
**Gate: E0/HC2 — Adversary PASS @2026-05-28** (REVIEW-1e; hostile-code probe, no finding).
|
||||
Prior CLAIM detail: Repo-local (PR-authored)
|
||||
`test_*.py`/`install_steps.sh`/`ops.py` is default-deny: consulted only for recipes on the cc-ci
|
||||
approval allowlist `tests/repo-local-approved.txt` (empty ⇒ deny). Centralized gate in
|
||||
`discovery.py` (`repo_local_approved`/`_gated`); `resolve_overlay_op`/`custom_tests`/`install_steps`/
|
||||
|
||||
Reference in New Issue
Block a user