Skip to content

chore(distill): per-node peer convergence helper + seed-placeholder guard#328

Merged
seoseo-ai merged 1 commit into
mainfrom
chore/converge-distill-peer-family-assistant
Jul 8, 2026
Merged

chore(distill): per-node peer convergence helper + seed-placeholder guard#328
seoseo-ai merged 1 commit into
mainfrom
chore/converge-distill-peer-family-assistant

Conversation

@jinon86

@jinon86 jinon86 commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

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 resolved aiPeer the 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) to family-assistant, backing up the config first; validates JSON before replacing.
  • --verify: posts a labelled canary and confirms the author peer live.
  • Nodes with no explicit override need nothing — the fix(distill): unify Honcho distill author peer to family-assistant #327 fallback already yields family-assistant.

2. Seed-placeholder guard (honcho-push.sh / queue-drain.sh)

setup.sh seeds honcho.json with baseUrl: "<HONCHO_BASE_URL>". The hooks treated that non-empty placeholder as a real URL → /health fails → 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

  • Tests: honcho-push 17/0, queue-drain 16/0.
  • Helper validated: flat .aiPeer, nested .hosts.hermes.aiPeer, idempotent re-run (exit 0), placeholder → no baseUrl no-op, absent config → off no-op.

Rollout (post-merge)

On each node: setup.sh (self-update) → scripts/converge-distill-peer.sh --check--apply if it reports needs-apply. Confirmed override nodes: dungae, soonwook, daegyo, gongyung, nosuk, yukson (currently mis-set to nosuk), seoseo. Verify: sogyo, bangtong, jingun, gongmyoung.

🤖 Generated with Claude Code

…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>
@jinon86 jinon86 requested a review from seoseo-ai as a code owner July 8, 2026 08:05

@seoseo-ai seoseo-ai left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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).

@seoseo-ai seoseo-ai merged commit c9f3507 into main Jul 8, 2026
7 checks passed
@seoseo-ai seoseo-ai deleted the chore/converge-distill-peer-family-assistant branch July 8, 2026 08:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants