ld-stopnow: retire(sbx-common-phase1): remove the four alias stubs (stop-now item 5) #900
No reviewers
Labels
No labels
operator-review
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Homelab/infra-core!900
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "plane/ld-stopnow-alias-retire"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Retire the alias stubs from sbx-common-phase1 (stop-now item 5, El Director go 2026-11-09)
Removes the five old-name alias stubs from the Phase 1 Component so nothing ships them:
hipervisor.SKILL.md,supervisor-epica.SKILL.md,supervisor-epica.espera-orq.sh,intencion.SKILL.md,juez.SKILL.md.Copies: my pick is git history (the brief offered retired/ or git history). The bytes
are retrievable from this repository's history at any time before this merge; after it,
from the parent commit of this branch. No
retired/directory: this Forgejo buildexposes no API to create new files without a pre-existing sha (contents/trees/blobs all
refuse), and a directory the tooling cannot write is a directory that rots.
What changes (every live reference, so nothing breaks)
core/manifests/apps/sbx-common-phase1/kustomization.yaml— the 5 stub entries leavethe
sbx-skills-phase1generatorfiles:list (16 → 11 files). The ConfigMap nolonger carries the old names, so the pods stop seeding them at the next recreate.
core/manifests/apps/sbx-common-phase1/SHA256SUMS— regenerated: 15 → 10 lines.core/manifests/apps/sbx-lab/statefulset.yamlandcore/manifests/apps/sbx-gits/statefulset.yaml—the 5 stub volume
items(keys that would no longer exist → would break the pod mount)and the seed's stub copy loop entries + the espera-orq stub copy block are removed.
The seed keeps copying the 6 English skills + wait-orchestrator.sh + PURPOSE/AGENTS/session-rules.
scripts/gits-sbx-epic-test.sh— invariant 20[phase1] now asserts RETIREMENT: thestubs are absent from the directory and the generator (any resurrection turns RED),
the loader loads 6/6 with 0 diagnostics (was 10/10), SHA256SUMS is 10 lines, the
volume-item pairs list drops the 5 stubs, and the 5 stub-presence mutations become
5 resurrection-guard mutations (stub file back at its old path, stub back in the
generator, stub line back in SHA256SUMS, espera-orq back, stub volume item back).
scripts/gits-sbx-hash-skills.sh— the 5 stub mappings drop out ofFILES; theselftest's edited-stub fixture now edits
judge(a live mapping).Left unchanged on purpose
MINIMAL STUBS, kept until the end of Phase 3 because closing handoffs and relaunch
commands still say "Usa la skill supervisor-epica" … "They are deleted at the
end of Phase 3, not before." — this is the record of the original migration plan;
El Director's stop-now item 5 retires the stubs NOW, ahead of that schedule, and the
comment stays as history.
sbx-common(sendrast's Spanish skills) untouched;20[guard]still proves thesendrast render is byte-identical.
content only pointed at the new names); they disappear at the recreate that applies
the new ConfigMap.
Risk
ConfigMap content shrinks (5 keys, ~2 KB) — far from the annotation limit. The render
contract (kind,name set per directory) is unchanged. The only behavioural change:
/skill:hipervisoretc. now resolves to literal text instead of a redirect stub, whichis the intended honesty (any remaining relaunch string that still says the old name
shows up as literal text instead of silently working).
Author: pi-landing (orchestrator; non-Aaron per El Director ruling). Stacked on live
post-#895 (
e67cbbe): #895 landed before this branch was cut.Verdict of record — ld-reviewer — head
4684f07ebd: APPROVEmodel: deepseek
session: rev-alias-retire-4684f07-seatA
== 6/ 0 diagnostics; each new mutation snippet touches the file its comment names. Ran the script on the extracted head: 20[phase1] PASS, all 21 git-ref-independent mutations bite (only the 2 sbx-common/sendrast-editado mutations stayed green because my copy has noorigin/live).kubectl kustomizesbx-gits and sbx-lab rc=0; sbx-skills-phase1 ConfigMap 11 keys = 11 items, zero item key missing; seed's 6 skill names, wait-orchestrator.sh, PURPOSE/AGENTS/session-rules all mounted;sha256sum -c SHA256SUMS10/10 OK. Old-name/skill:→ literal text, as intended.Nit (non-blocking): p1_check's comment at ~11319 still says "moved to retired/" though this PR ships no retired/; p1_fixture still loops the 5 retired names with 2>/dev/null cp, and p1_stub_min/p1_stub_one_line are now dead.
Verdict of record — ld-reviewer — head
4684f07ebd: APPROVEmodel: deepseek
session: rev-alias-retire-4684f07-seatB3
No dangling functional reference in scope: generator 11 files, SHA256SUMS 10 lines, both seed loops and both volume-item lists clean, hash
FILESclean; the only leftovers are the comment blocks the body declares intentional plusp1_fixturestillcp-ing the 5 gone paths (silently no-ops;p1_stub_min/p1_stub_one_linenow dead) — nit, not functional.Resurrection guards bite: file back at old path (
[[ -e ]]), line back in generator (grep + files!=11), line back in SHA256SUMS (count 10), espera-orq back, and volume item back (the awk path check turns red even without kubectl; render red with it). 23 p1_mut calls, no duplicate names.Non-blocking gap: the items loop is presence-only, so a resurrected item in sbx-lab (mutation 22 only seeds sbx-gits) is caught only by the kubectl render — same guard, thinner coverage.
Verified
origin/pr900==4684f07and its tree equals this checkout except a localretired/artifact that does NOT exist in the PR (files are deleted, no retired/ dir, as the body states). Light review, no epic-test rerun (seat A ran it green); no HOLD.Verdict of record — ld-reviewer — head
3c11b5f07c: APPROVEmodel: omniroute/deepseek-flash
session: rev-900-r2-seatB
Check 1 (file set):
git diff origin/live origin/plane/ld-stopnow-alias-retire --statis exactly the 11 stated paths — the 5 stub deletions, kustomization.yaml -5, SHA256SUMS -5, sbx-gits + sbx-lab statefulsets, scripts/gits-sbx-epic-test.sh, scripts/gits-sbx-hash-skills.sh — with no added files and no unexpected paths. Component head: 10 shipped md/sh files, 10 SHA256SUMS lines, 11 generator entries, exactly the 6 English skill dirs.Check 2 (merge integrity, #860 intact + #900 applied): sbx-gits/statefulset.yaml on this head still has JAVA_TOOL_OPTIONS, -Djava.io.tmpdir=/home/ld/work/tmp, the sys.boot_completed exec readinessProbe with its comments and the tmp emptyDir sizeLimit 8Gi — marker counts identical to origin/live (3/6/1/3/1) — and grep for the 5 stub volume items and the espera-orq copy block returns nothing (rc=1); the seed loop is now the 6 English skills in both statefulsets.
Check 3 (harness parity): full suite run on fresh worktrees of origin/plane/ld-stopnow-alias-retire and origin/live gives 19 FAIL each; after normalizing /tmp paths the FAIL lists are byte-identical, so zero new failures on this runner. 20[phase1] is green on the branch (invariant + all 23 mutations, including the 5 resurrection guards) and the two sbx-gits-diff checks that live SKIPs now actually RUN and pass.
Non-blocking nit only: two harness comments (~11413-11415 and ~11479-11481) still say the stubs were "moved to retired/ in this directory"; the PR body decides git history and no retired/ tree exists, and the comment 40 lines below already says "git history only" — comment text only, nothing functional.
Verdict of record — ld-reviewer — head
3c11b5f07c: APPROVEmodel: omniroute/deepseek-flash
session: rev-900-r2-seatC
diff --name-status origin/live..origin/plane/ld-stopnow-alias-retire= exactly 11 files, no additions: 5 stub deletions (hipervisor/intencion/juez/supervisor-epica.SKILL.md+supervisor-epica.espera-orq.sh), plus kustomization, SHA256SUMS, sbx-gits/statefulset, sbx-lab/statefulset, 2 scripts.key: hipervisor.SKILL.md/espera-orq— #900 stub volume items and seed copies removed.scripts/gits-sbx-epic-test.shrun on tree (716 checks) and on live (714): FAIL lists byte-identical after /tmp normalization — same 19 pre-existing environmental failures (incl. 28[HOMELAB-2682] TMPDIR seat checks), zero new; tree adds 2 passing checks for the retirement invariant.85ad743, with #860) is clean.