chore(distill): per-node peer convergence helper + seed-placeholder guard#328
Merged
Merged
Conversation
…er guard Fleet rollout tooling for unifying the distill author peer to family-assistant (follow-up to #327). - scripts/converge-distill-peer.sh: idempotent node-local helper. --check reports the resolved aiPeer, --apply rewrites an explicit override (flat .aiPeer or nested .hosts.hermes.aiPeer) to family-assistant with a backup, --verify posts a labelled canary and confirms the author peer. Nodes with no explicit override converge via the #327 fallback alone. - honcho-push.sh / queue-drain.sh: treat an unfilled seed placeholder baseUrl (e.g. "<HONCHO_BASE_URL>") as unconfigured so a freshly seeded honcho.json cleanly no-ops instead of failing /health and queuing junk. Tests: honcho-push 17/0, queue-drain 16/0. Convergence helper validated across flat/nested schema, idempotent re-run, and placeholder cases. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
seoseo-ai
approved these changes
Jul 8, 2026
seoseo-ai
left a comment
Collaborator
There was a problem hiding this comment.
CI all green (7/7). Follow-up to #327 (distill peer convergence rollout tooling) + fixes a real bug: seed placeholder baseUrl treated as real URL, causing junk queue entries on every distill for freshly-seeded nodes. Tests pass (honcho-push 17/0, queue-drain 16/0), operator-approved per PR body. Auto-approved per PR-first policy (jinon86 author needs seoseo-ai reviewer).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Rollout tooling for unifying the Honcho distill author peer to
family-assistant(follow-up to #327).1.
scripts/converge-distill-peer.sh(new, idempotent, node-local)--check(default, read-only): reports the resolvedaiPeerthe way the distill hooks resolve it (.hosts.hermes.aiPeer // .aiPeer), exit 2 if an explicit non-target override needs applying.--apply: rewrites an explicit override (flat or nested schema) tofamily-assistant, backing up the config first; validates JSON before replacing.--verify: posts a labelled canary and confirms the author peer live.family-assistant.2. Seed-placeholder guard (
honcho-push.sh/queue-drain.sh)setup.shseedshoncho.jsonwithbaseUrl: "<HONCHO_BASE_URL>". The hooks treated that non-empty placeholder as a real URL →/healthfails → junk queued on every distill until an operator fills it. Now a<...>placeholder is treated as unconfigured → clean no-op. Fixes junk-queuing on every freshly seeded node.Why
Distill author peers were scattered (hermes/dungae/soonwook/nosuk). Cross-referencing
metadata.node→ author peer identified the explicit overrides per node; this helper converges them safely and idempotently. Design A, forward-only, distill-only. Operator-approved.Evidence
.aiPeer, nested.hosts.hermes.aiPeer, idempotent re-run (exit 0), placeholder →no baseUrlno-op, absent config → off no-op.Rollout (post-merge)
On each node:
setup.sh(self-update) →scripts/converge-distill-peer.sh --check→--applyif it reportsneeds-apply. Confirmed override nodes: dungae, soonwook, daegyo, gongyung, nosuk, yukson (currently mis-set tonosuk), seoseo. Verify: sogyo, bangtong, jingun, gongmyoung.🤖 Generated with Claude Code