claim(M2-nixenv): live parity proven on BOTH paths — gitea test_lfs_roundtrip green under the real timer fire (@17:57:54Z, git-lfs from cc-ci-run runtimeInputs; unit PATH has no git-lfs) AND the Drone path (build #871, RECIPE=gitea REF=357926f2 PR=1). Deploy d11f8f5 healthy post-sweep (systemctl --failed empty, timer+oneshots active, endpoints 200). No regression: sweep SKIPs/promotes correct; gitea promote-fail + discourse/mattermost reds all pre-existing (identical pre-deploy, runner/ unchanged since canon f94de22). Awaiting Adversary.
Some checks failed
continuous-integration/drone/push Build is failing

This commit is contained in:
autonomic-bot
2026-06-17 18:18:53 +00:00
parent e0c296e0e6
commit f7b6f26859
3 changed files with 76 additions and 7 deletions

View File

@ -57,3 +57,32 @@ additions override cleanly. Both `#cc-ci` and `#cc-ci-hetzner` built with no col
- sweep wrapper `gh02w1kc…` execs the SAME `zxlx9j…/bin/cc-ci-run`.
- cc-ci host sw/bin now lists git-lfs + openssl (was missing git-lfs pre-refactor).
- `grep -rn withPackages nix/` → 1 hit (packages.nix:17).
## 2026-06-17T18:17Z — M2 claim (both live parity witnesses green)
### Drone-path witness (build #871)
Why REF=357926f2 PR=1 SRC=recipe-maintainers/gitea: this is the lfs-plain-gitea capstone ref (the
gtea-phase Build #685 ref). PR #1 is now merged so compose.lfs.yml is also on main, but pinning the
PR head guarantees `_lfs_enabled()` is true (compose.lfs.yml in checkout + RECIPE=gitea) so the LFS
test RUNS rather than skips. fetch_recipe takes the SRC+REF mirror-clone path; EXTRA_ENV adds
compose.lfs.yml to install+custom tiers so the deployed gitea has LFS on for the round-trip. Triggered
via the Drone API with the bridge's drone token (kept on-host). Build went green in ~3 min;
test_lfs_roundtrip PASSED. This is the SAME cc-ci-run store path the timer sweep execs, so the two
witnesses prove parity by both construction (M1) and observation (M2).
### Why the timer fire is the harder witness
The systemd unit PATH is systemd-minimal (coreutils/findutils/gnugrep/gnused/systemd) — NO git-lfs,
NO /run/current-system/sw/bin. So a green LFS test there can ONLY come from cc-ci-run's runtimeInputs
prepending git-lfs-3.6.1 to PATH. Confirmed by reading /proc/<run_recipe_ci pid>/environ live: PATH
starts with the cc-ci-run tool prefix incl git-lfs. This is exactly the DEFECT-3 condition the phase
set out to make structurally impossible.
### GREEN-BUT-PROMOTE-FAILED is not mine
Spent effort confirming the gitea promote-fail (`abra app deploy warm-gitea -o -n` → "already
deployed") is pre-existing: it appears identically in the two pre-deploy sweep fires (14:28Z, 15:56Z,
OLD env) and the promote path (runner/nightly_sweep.py) is unchanged by nixenv (last touched canon
f94de22). It's an abra deploy-idempotency limitation on the persistent warm canonical (warm-gitea up
since 08:39Z), non-fatal, known-good unchanged. discourse/mattermost-lts reds are likewise recipe-level
and pre-existing (mattermost: postgres restore marker assertion; docker resolved fine → not a dropped
tool). nixenv changes only WHICH tools are on PATH; it dropped nothing (M1 superset proof), so it
cannot have caused an app-level red.