refact(comments): state the mechanism, not the incident

Every comment that invoked a 'law' (50 word-boundary sites across 28
tracked files) now states what is going on and why, in terms that
transfer to any project: gate twins drift until one side greenlights
what the other refuses; a tag re-points while a digest pins; a
restrictive engine behavior belongs to the runtime that imposed it and
must be re-tested, not inherited; a speculative head is tensors in the
file, not a flag; snapshot links dangle where the container resolves
them; exit 0 is a clean stop to systemd, so a self-exiting daemon on
on-failure goes dark reporting success. Event narratives and dates are
gone from these comments; the mechanics carry the argument.

Behavior-identical: bash -n, py_compile, yaml parse, full bats suite
408/408 green. One symbol rename rides along (stack script local
scale_law -> scale_contract, with its log text).
This commit is contained in:
Frank committed 2026-10-14 13:36:40 -07:00
1 parent 65bd5ccea7
commit d4ce76b68b
28 files changed
+195 -164

No files matched your search

+17 -16
View File
@@ -11,7 +11,7 @@ set -euo pipefail
# The LLM handlers' artifact gates are the serve scripts' own library, so
# the deployer and the unit refuse the same missing payload with the same
# words (the fleet law from the 2026-10-01 crash-loop). GATE_PREFIX is set
# words — no deploy can pass a gate the unit would fail. GATE_PREFIX is set
# per handler.
# shellcheck disable=SC1091
source "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/lib/llm-gates.sh"
@@ -926,17 +926,17 @@ deploy_plex() {
systemctl --user restart plex.service
# Readiness gate: /identity answers MediaContainer XML once PMS is up.
#
# HTTPS, NOT HTTP. PMS drops plain HTTP off-loopback: the probe's
# connection arrives on the container's eth0, so an http:// request is
# accepted and then answered with nothing (curl 52, Empty reply) against a
# perfectly healthy server. Measured 2026-10-02 — the gate burned its full
# 600s and failed a plex whose https://127.0.0.1:32400/identity answered
# 200 in 44 ms the whole time. The same law is why the Caddyfile dials the
# plex upstream over TLS (tests/caddyfile.bats pins it).
# HTTPS, NOT HTTP. PMS serves plain HTTP on loopback only: a probe
# arriving on the container's interface gets its connection accepted and
# then an empty reply (curl 52) from a perfectly healthy server, so an
# http:// probe would burn the whole timeout and fail a service that
# answers https://127.0.0.1:32400/identity in milliseconds. The Caddyfile
# dials the same upstream over TLS for the same reason
# (tests/caddyfile.bats pins it).
# -k: PMS presents its own self-signed cert on 32400.
#
# Reality check from the 2026-09 cutover: the FIRST container boot of a
# years-old library ran ~10 min, so the gate still allows 600s.
# The budget accounts for a first boot of a large pre-existing library,
# which spends minutes indexing before it answers anything.
# Fail the deploy (pending state preserved) rather than mark it deployed blind.
for ((i = 1; i <= 120; i++)); do
curl -fsSk --max-time 3 https://127.0.0.1:32400/identity >/dev/null && return 0
@@ -1184,11 +1184,12 @@ deploy_llm_dragoon() {
retire_halogen_dragoon_quadlet
# The predecessor on a re-deploy is THIS unit: stop it (ExecStop stops
# the container) before waiting on the port. The stray sweep is keyed
# on the FULL container name, which appears in the argv of a manual
# `podman run --name frank-dragoon-halogen` / `podman wait` but NOT in
# this deployer's own command line (`bash deploy-remote.sh
# frank-dragoon`) — so it cannot shoot itself in the foot (the fleet
# pkill law), and it can never match frank-zealot's llama-server.
# on the FULL container name: it appears in the argv of a manual
# `podman run --name frank-dragoon-halogen` / `podman wait`, while a
# pattern naming only the runtime would ALSO match this deployer's own
# command line — a pkill whose pattern hits its own argv takes the
# running deploy down with the target. The full name can never match
# frank-zealot's llama-server either.
run_privileged systemctl stop frank-dragoon.service 2>/dev/null || true
pkill -f 'frank-dragoon-halogen' 2>/dev/null || true
podman rm -f frank-dragoon frank-dragoon-halogen >/dev/null 2>&1 || true
@@ -1220,7 +1221,7 @@ deploy_llm_zealot() {
# Refuse rather than restart-loop: a unit whose runtime or payload is
# missing never becomes healthy, and a green deploy would leave the
# endpoint dark with nothing in the log to say why. Same library calls
# as serve-frank-zealot.sh (the 2026-10-01 law).
# as serve-frank-zealot.sh, so the deployer's twin refuses identically.
export GATE_PREFIX=frank-zealot
require_exec "$LLM_ZEALOT_RUNTIME" runtime \
"build it: cmake -B build-cuda -DGGML_CUDA=ON -DCMAKE_CUDA_ARCHITECTURES=86" \