Commit Graph
7 Commits
Author SHA1 Message Date
code-be-01 80752188b1 test(git-tools): classify tool failure at every needle site (#1380-FF)
ci/woodpecker/pr/ci Pipeline was successful
Pipeline 2637 red on a SECOND needle arm (home_case symlink message)
proved the flake shape is not one site: every 'if ! ... | grep -Fq'
assertion in the harness printed the identical FAIL line for a transient
grep failure (rc>=2, fork/alloc under node pressure) and a real mismatch.
The retry/classify helper is hoisted to one shared function and applied
at all three needle sites (fixture loop, home_case, standalone case):
retry tool errors 3x, rc=1 is the real mismatch, persistent tool failure
reports TOOL-ERROR (fail stays 1). 292/292 x2 + busybox.
2026-08-24 16:17:54 -05:00
code-be-01 b5792537b0 test(git-tools): wrapper-guard harness distinguishes tool failure from drift (#1380-FF)
ci/woodpecker/pr/ci Pipeline failed
Pipeline 2635 (merge-verify of 8eb7e635) failed one advice assertion
('a PR is an issue where labels live...') while pipeline 2634 (same
content, PR event) and 2636 (same tree + one commit) both passed, and the
fixture is stable under 200 direct iterations, 10 suite runs, four
locales, and 60 suite runs inside alpine/busybox 1.37 (the CI userspace).
Mechanism: the harness's 'if ! ... | grep -Fq' shape treats ANY nonzero
from the pipeline as an advice mismatch — including a transient grep
failure (fork/alloc error on a loaded k8s node), which prints the
identical FAIL line without any guard defect. The guard's rc-2 sites were
audited: every classification branch that can fire on this payload names
issue-edit.sh, so no code path produces the observed output.

Fix: the advice assertion now retries grep on rc>=2 (tool error) up to
3x, treats rc=1 as the real mismatch, and on persistent tool failure
prints a distinct TOOL-ERROR line (still fail=1 — never green on
infra noise, but the line names the class so a re-run can be judged
instead of debugged as guard drift). Advice-mismatch direction proven
unchanged by mutation (bogus wrapper name still FAILs both labels arms).
Suite 292/292 x2 locally and under busybox.
2026-08-24 16:08:43 -05:00
code-be-01andorch-01 0db2d19a22 feat(framework): mosaic doctor structure-anchor provisioning check (T51 WP0b) (#1379)
ci/woodpecker/push/publish Pipeline was successful
Co-authored-by: code-be-01 <[email protected]>
2026-08-24 20:15:08 +00:00
code-be-01andorch-01 8eb7e6354e fix(fleet): resolve-then-validate symlink guard + framework helper resolution (#1380) (#1383)
ci/woodpecker/push/publish Pipeline failed
Co-authored-by: code-be-01 <[email protected]>
2026-08-24 19:39:13 +00:00
code-be-01andorch-01 9014a510a9 ci(mosaic): repo-structure declaration CI gate (T51 WP5c) (#1378)
ci/woodpecker/push/publish Pipeline was successful
Co-authored-by: code-be-01 <[email protected]>
2026-08-24 04:43:26 +00:00
code-be-01andorch-01 974e4740ab docs(mosaic): declare repo structure v2 (T51 WP2a) (#1377)
ci/woodpecker/push/publish Pipeline was successful
Co-authored-by: code-be-01 <[email protected]>
2026-08-24 03:49:33 +00:00
code-be-01andorch-01 143f925fd8 fix(git-tools): admin-gated --no-ci-expected merge assertion for CI-less repositories (#1373)
ci/woodpecker/push/publish Pipeline was successful
Co-authored-by: code-be-01 <[email protected]>
2026-08-23 18:54:49 +00:00