7.9 KiB
2026-06-19 — Self-Check Remediation + Post-Split Fleet Coordination
User
- User: Mike Swanson (mike)
- Machine: GURU-5070
- Role: admin
Session Summary
Post-cutover harness verification and remediation on GURU-5070, following the 2026-06-18 repo split (history rewrite; projects → submodules; bulk data → Gitea-Storage/Jupiter). The session began with routine /sync runs (clean), then a fleet broadcast asking all machines to verify config after the submodule changes, then a full /self-check on this machine which surfaced a RED grade.
The initial /self-check graded RED on one FAIL — the /autotask command was missing from the repo. Investigation showed /autotask (Autotask PSA read-ops, ~20KB, verified 2026-05-27) existed only in the global ~/.claude/commands/ deploy with zero git history — a casualty of the history rewrite. The printed fix ("restore via /sync") was wrong because the file isn't in the repo and /sync only deploys repo→global. Mike decided to remove autotask from the manifest rather than recover it (Syncro is the fleet-default PSA). Edited manifest.json to drop autotask from required commands[], which cleared the FAIL (RED → AMBER).
Mike then asked to fix the three remaining AMBER WARNs and sync. Fixed: (1) installed the dev-alerts post-commit hook from .claude/hooks/post-commit.template; (2) added the missing [Prefer SSH over RMM] index line to MEMORY.md for the orphaned feedback_prefer_ssh_over_rmm.md; (3) trimmed the skill-registry description budget from 12,742 chars back under the 10,500 budget by tightening 14 verbose SKILL.md description: fields (moving trigger lists/examples into bodies, preserving routing keywords). The budget trim was iterative — measured against the authoritative self-check awk until it passed with margin.
The remediation sync converged with GURU-KALI, which had been doing the identical cleanup concurrently (commit cd478ca dropped /autotask; 416f2a3 trimmed the same skill descriptions). The rebase merged cleanly. KALI's manifest edit was better than the plain removal: it added a capability_commands block documenting /autotask as a gated PSA command (Syncro is default, absence is INFO not FAIL). Verified no conflict markers landed and the merged manifest was coherent. Final /self-check graded GREEN (PASS 83 / WARN 0 / FAIL 0).
Two coordination broadcasts went out: one early (verify harness config after the split — reclone per RECLONE.md if pre-split, then /self-check), paired with a durable rollout todo; one at the end (self-check baseline fixes pushed at HEAD b668430 — /sync then /self-check for GREEN). Also confirmed this clone's compliance via migrate-to-submodules.sh --check (COMPLIANT — shares history with rewritten origin/main) before syncing, prompted by GURU-BEAST-ROG's broadcast warning not to sync from an old disjoint clone.
Key Decisions
- Remove
/autotaskfrom the manifest rather than recover the file (Mike's call): Syncro is the fleet-default PSA, so/autotaskis intentionally not in the shared repo and absent on Syncro machines. The dropped file was a real history-rewrite casualty but not worth re-adding fleet-wide. - Preferred KALI's
capability_commandsframing over plain deletion: documenting why/autotaskis gated (capability, INFO-not-FAIL) beats silently removing it — a gated command stays visible in the manifest instead of looking dropped. - Verified clone compliance before every sync this session: FF-ancestry check +
migrate --check, because GURU-BEAST-ROG's broadcast warned that syncing from an old disjoint clone causes non-FF rejects. This clone was confirmed compliant (shares rewritten history). - Trimmed registry descriptions by moving triggers into SKILL.md bodies, not deleting keywords: routing depends on trigger phrases in the description, so the cut preserved keywords while removing verbose examples/parentheticals.
- Paired the rollout broadcast with a coord todo: a message can be read-and-forgotten; the todo (
ab3bab84) persists as the fleet-rollout backstop.
Problems Encountered
/self-checkRED from/autotaskmissing, with a misleading fix hint. The printed "restore via /sync" was wrong (file not in repo; /sync deploys repo→global only). Diagnosed viagit log --all(zero history) → confirmed history-rewrite casualty. Resolved by removing from manifest per Mike.- Registry-budget trim undershot twice. First pass (6 skills) left 11,327; second (3 more) left 10,998; third (3 more) 10,888; needed several more iterations to clear 10,500. Resolved by re-measuring against the exact self-check awk after each batch until GREEN with ~margin.
- Concurrent identical edits from GURU-KALI on the same files. Both machines trimmed the same SKILL.md descriptions and dropped
/autotasksimultaneously. Risk of rebase conflict. Resolved cleanly by the rebase; verified no conflict markers (<<<<<<<) and coherent merged manifest afterward. - Transient "divergent skill" WARNs after editing repo SKILL.md. Repo copies differed from stale global
~/.claudecopies. Resolved automatically by sync's Phase 5c skill-deploy (15 skills synced to global); cleared on the post-sync self-check. - Bash heredoc ordering / py.sh hang. A
mkdir -pplaced after a heredoc redirect failed (No such file or directory); apy.sh -heredoc went to background. Resolved by orderingmkdirfirst and using explicit script paths.
Configuration Changes
Modified:
.claude/skills/self-check/baseline/manifest.json— removedautotaskfromcommands[]; merged with KALI's addedcapability_commandsblock (autotask gated)..claude/memory/MEMORY.md— added[Prefer SSH over RMM]index line.- 14 SKILL.md
description:fields trimmed: agy, b2, bitdefender, coord, discord-dm, frontend-design, grok, mailprotector, onboard365, rmm-audit, rmm-search, stop-slop, unifi-wifi, vault.
Created:
.git/hooks/post-commit— installed from.claude/hooks/post-commit.template(not tracked; per-clone).
Credentials & Secrets
None surfaced, created, or rotated this session.
Infrastructure & Servers
- Gitea (internal):
http://172.16.3.20:3000— sync remote. - Coord API:
http://172.16.3.30:8001/api/coord— broadcasts + todo. - Machines referenced: GURU-5070 (this), GURU-KALI (concurrent identical cleanup), GURU-BEAST-ROG (re-clone broadcast author), HOWARD-HOME (Cascades RF report).
Commands & Outputs
bash .claude/scripts/migrate-to-submodules.sh --check→COMPLIANT — shares history with rewritten origin/main.git merge-base --is-ancestor HEAD origin/main→ YES (FF-safe; proves not a disjoint old clone).- Registry budget probe (matches self-check awk): 12,742 → final under 10,500.
bash .claude/skills/self-check/scripts/self-check.sh report→ final GREEN PASS 83 WARN 0 FAIL 0 INFO 28.- Conflict-marker grep post-rebase: only
===echo banners inonboard365.sh, no real<<<<<<<markers.
Pending / Incomplete Tasks
- Other fleet machines must
/syncthen/self-checkto confirm GREEN (broadcastcf7d3302+ rollout todoab3bab84track this). /autotaskcommand file survives only in this machine's global~/.claude/commands/deploy; intentionally not recovered to the repo. If an Autotask-PSA machine ever needs it, it must be re-added under the gated capability, not the shared baseline.- Howard's deferred Cascades items (6GHz WPA3 conversion on CSCNet, 3a/3b channel-plan) await a supervised window — not this session's work.
Reference Information
- Final HEAD:
b668430(sync auto-commit, rebased onto KALI's work). - Key commits:
c23bdc2(my remediation, pre-rebase),cd478ca(KALI drop /autotask),416f2a3(KALI skill trims),dafcec5(migrate script). - Coord broadcasts:
7fd1e9aa(verify config after split),cf7d3302(self-check fixes pushed). Rollout todo:ab3bab84. - Budget config:
manifest.harness.registry_desc_budget_chars = 10500.