Compare commits

..
Author SHA1 Message Date
mos-dt-0andClaude Opus 5 1f4c7c0d37 fix(hygiene): .prettierignore must exclude Python build/test artifacts
ci/woodpecker/pr/ci Pipeline was successful
Prettier had no excludes for venv/__pycache__/.mypy_cache/.pytest_cache/htmlcov,
so any local Python virtualenv in the tree drops thousands of third-party files
into `pnpm format:check` and makes the gate unpassable in a working checkout
(observed: ~2400 files from an untracked apps/coordinator venv).

Same category as the existing node_modules/dist/.next entries. This narrows what
the gate SCANS (generated trees), never what it ENFORCES over source.

Found while making the three gates pass honestly for the remediation mission's
TASK-0, rather than reaching for --no-verify.

Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
2026-07-31 17:04:41 -05:00
mos-dt-0andMos 06e0d40352 feat(quality): CI test-membership guard — enumeration can no longer silently under-run the disk (#1017) (#1018)
ci/woodpecker/push/publish Pipeline was successful
ci/woodpecker/push/ci Pipeline was successful
Co-authored-by: mos-dt-0 <[email protected]>
2026-07-31 14:08:41 +00:00
Mos 166ee8c90f fix(wake): close fd 9 in the detector's sleep child so a dead detector's lock dies with it (#993)
ci/woodpecker/push/publish Pipeline was successful
ci/woodpecker/push/ci Pipeline was successful
2026-07-31 13:48:33 +00:00
2 changed files with 21 additions and 1 deletions
+8
View File
@@ -4,6 +4,14 @@ pnpm-lock.yaml
**/node_modules
**/drizzle
**/.next
# Python build/test artifacts — same category as node_modules/dist/.next above.
# Prettier must never scan generated trees; without these a local venv poisons
# `pnpm format:check` with thousands of third-party files.
**/venv
**/__pycache__
**/.mypy_cache
**/.pytest_cache
**/htmlcov
.claude/
docs/tess/TASKS.md
docs/scratchpads/
@@ -529,7 +529,19 @@ cmd_run() {
echo "detector.sh: WARN — off-host liveness beacon emit failed (see beacon.sh); the off-host absence check remains the authoritative dead-man." >&2
fi
[ "$once" -eq 1 ] && break
sleep "$interval"
# Close the detector lock fd in the sleep child; otherwise an orphaned sleep
# keeps the single-instance flock (fd 9, taken at exec 9> above) alive after
# the detector parent dies. The lock is non-blocking (`flock -n`, above), so
# for as long as that sleep survives a replacement instance is REFUSED and
# exits rather than queueing. This particular hold is BOUNDED by one poll
# interval (WAKE_DETECTOR_INTERVAL, default 30s): when the orphaned sleep
# exits its copy of fd 9 closes, ending this bounded sleep-child hold. It
# does NOT follow that the next start succeeds — other inheritors of fd 9
# (the M1 adapter, M2 sink grandchildren) are outside this patch's scope and
# can keep holding the flock. The cost this removes is a restart window in
# which every supervisor retry fails on the sleep child's account.
# `9>&-` closes ONLY the child's copy — the parent's lock is unaffected.
sleep "$interval" 9>&-
done
}