fix(honcho): align catalog image with runtime #374

Merged
pdurlej merged 1 commit from codex/honcho-runtime-image-catalog-fix into main 2026-05-18 18:41:19 +02:00
Collaborator

Canary status: missing - module manifest catalog-only fix; rely on required Forgejo checks before merge

Canary Context Pack

Product story

Honcho Gemma/Ollama closeout needs a no-op auto-apply smoke. The smoke correctly stopped because module manifests claimed home-platform-honcho:3.0.6 while RS2000 is actively running and rendering home-platform-honcho:3.0.3 through HONCHO_IMAGE in runtime compose env.

What changed

Aligned modules/honcho-api/module.yaml and modules/honcho-deriver/module.yaml image_observed fields to the active RS2000 runtime image home-platform-honcho:3.0.3 and refreshed the audit timestamp.

Why it changed

This is a catalog correction, not an app upgrade. The active compose render on RS2000 resolves both Honcho services to home-platform-honcho:3.0.3; platformctl was comparing against stale manifest claims and blocking the no-op smoke.

Files touched

  • modules/honcho-api/module.yaml
  • modules/honcho-deriver/module.yaml

Relevant context

  • H1 Honcho provider-secret bridge smoke after #373 stopped at plan phase with image drift.
  • RS2000 active env has HONCHO_IMAGE=home-platform-honcho:3.0.3.
  • docker compose config on RS2000 renders both honcho-api and honcho-deriver as home-platform-honcho:3.0.3.

Runtime evidence

  • home-platform-honcho-api-1 home-platform-honcho:3.0.3 Up ... healthy
  • home-platform-honcho-deriver-1 home-platform-honcho:3.0.3 Up ... healthy
  • Rendered compose on RS2000 shows image: home-platform-honcho:3.0.3 for both services.
  • Failed smoke run: platformctl-auto-apply.yml run index 1373, pickup 1s, stopped before apply on plan drift only.

Known constraints

No production restart, compose change, image rebuild, or upgrade is included. The compose default remains out of scope because runtime desired state currently comes from the active env override.

Explicit out-of-scope

  • Upgrading Honcho to home-platform-honcho:3.0.6.
  • Changing compose defaults.
  • Changing Gemma/Ollama provider behavior.
  • Closing #359 before a successful post-fix smoke.

Requested decision

Merge this catalog correction so the Honcho no-op smoke can be retried against the actual RS2000 runtime.

Merge blockers

  • Evidence that 3.0.6 is intentionally the active desired runtime image today.
  • Any failing validation/check indicating the manifest shape regressed.

Spec sources read

  • modules/honcho-api/module.yaml - field corrected.
  • modules/honcho-deriver/module.yaml - field corrected.
  • compose/apps/compose.yaml - verified service image default and env override behavior.
  • state/cutover/honcho-closeout-plan.md - verified H1 smoke context.

Validation

  • control-plane/.venv/bin/python -m platformctl.cli validate --strict-v2 modules/honcho-api/module.yaml - pass.
  • control-plane/.venv/bin/python -m platformctl.cli validate --strict-v2 modules/honcho-deriver/module.yaml - pass.
  • control-plane/.venv/bin/python -m pytest control-plane/platformctl/tests/test_validate.py control-plane/platformctl/tests/test_plan_phase3.py control-plane/platformctl/tests/test_apply_phase3.py -q - 65 passed.
Canary status: missing - module manifest catalog-only fix; rely on required Forgejo checks before merge ## Canary Context Pack ### Product story Honcho Gemma/Ollama closeout needs a no-op auto-apply smoke. The smoke correctly stopped because module manifests claimed `home-platform-honcho:3.0.6` while RS2000 is actively running and rendering `home-platform-honcho:3.0.3` through `HONCHO_IMAGE` in runtime compose env. ### What changed Aligned `modules/honcho-api/module.yaml` and `modules/honcho-deriver/module.yaml` `image_observed` fields to the active RS2000 runtime image `home-platform-honcho:3.0.3` and refreshed the audit timestamp. ### Why it changed This is a catalog correction, not an app upgrade. The active compose render on RS2000 resolves both Honcho services to `home-platform-honcho:3.0.3`; platformctl was comparing against stale manifest claims and blocking the no-op smoke. ### Files touched - `modules/honcho-api/module.yaml` - `modules/honcho-deriver/module.yaml` ### Relevant context - H1 Honcho provider-secret bridge smoke after #373 stopped at plan phase with image drift. - RS2000 active env has `HONCHO_IMAGE=home-platform-honcho:3.0.3`. - `docker compose config` on RS2000 renders both `honcho-api` and `honcho-deriver` as `home-platform-honcho:3.0.3`. ### Runtime evidence - `home-platform-honcho-api-1 home-platform-honcho:3.0.3 Up ... healthy` - `home-platform-honcho-deriver-1 home-platform-honcho:3.0.3 Up ... healthy` - Rendered compose on RS2000 shows `image: home-platform-honcho:3.0.3` for both services. - Failed smoke run: `platformctl-auto-apply.yml` run index 1373, pickup 1s, stopped before apply on plan drift only. ### Known constraints No production restart, compose change, image rebuild, or upgrade is included. The compose default remains out of scope because runtime desired state currently comes from the active env override. ### Explicit out-of-scope - Upgrading Honcho to `home-platform-honcho:3.0.6`. - Changing compose defaults. - Changing Gemma/Ollama provider behavior. - Closing #359 before a successful post-fix smoke. ### Requested decision Merge this catalog correction so the Honcho no-op smoke can be retried against the actual RS2000 runtime. ### Merge blockers - Evidence that `3.0.6` is intentionally the active desired runtime image today. - Any failing validation/check indicating the manifest shape regressed. ## Spec sources read - `modules/honcho-api/module.yaml` - field corrected. - `modules/honcho-deriver/module.yaml` - field corrected. - `compose/apps/compose.yaml` - verified service image default and env override behavior. - `state/cutover/honcho-closeout-plan.md` - verified H1 smoke context. ## Validation - `control-plane/.venv/bin/python -m platformctl.cli validate --strict-v2 modules/honcho-api/module.yaml` - pass. - `control-plane/.venv/bin/python -m platformctl.cli validate --strict-v2 modules/honcho-deriver/module.yaml` - pass. - `control-plane/.venv/bin/python -m pytest control-plane/platformctl/tests/test_validate.py control-plane/platformctl/tests/test_plan_phase3.py control-plane/platformctl/tests/test_apply_phase3.py -q` - 65 passed.
fix(honcho): align catalog image with runtime
All checks were successful
base-is-main / guard (pull_request) Successful in 2s
canary-required / collect-diff (pull_request) Successful in 5s
patchwarden-pr-sanity / collect-diff (pull_request) Successful in 3s
platformctl plan / auto-apply scope (pull_request) Successful in 19s
canary-required / canary (pull_request) Successful in 14s
patchwarden-pr-sanity / sanity (pull_request) Successful in 20s
6b52e02d6a
Sign in to join this conversation.
No reviewers
No labels
W6d-automerge-calibration
agent/claude-code
agent/codex
agent/hermes
agent/iskra
agent/ollama
agent/patchwarden
automerge-candidate
class/security-sensitive
cutover-gate
dependency/blocked
dependency/blocks-others
dependency/cross-repo
dependency/needs-confirmation
domain:agents
domain:ci
domain:docs
domain:forgejo
domain:infra
domain:memory
domain:runtime
domain:signal
domain:ux
flow/architecture
flow/blocked
flow/deployed
flow/done
flow/implementation
flow/intake
flow/maintained
flow/observed
flow/ready
flow/refining
flow/retired
flow/review
iterating
judge/codex-candidate
judge/hermes-candidate
judge/low-confidence
judge/needs-refinement
judge/operator-needed
judge/p0
judge/p1
judge/p2
judge/p3
judge/park
judge/patchwarden-candidate
judge/stale-priority
kind/adr
kind/bug
kind/chore
kind/feature
kind/infra
kind/ops
kind/refactor
kind/research
large-impact
merge/auto
merge/manual
merge/manual-dependency-conflict
merge/manual-failing-tests
merge/manual-merge-conflict
merge/manual-missing-review
merge/manual-operator-preference
merge/manual-red-zone
merge/manual-security-sensitive
merge/manual-unclear-scope
merge/manual-unknown
meta
mode:operator-only
mode:patchwarden-iskra-approved
mode:safe-auto
needs-operator-decision
needs-triage
not-ready
observed/erroring
observed/needs-followup
observed/pending
observed/retire-candidate
observed/unused
observed/used
operator-emotional
owner-attention
phase/02
phase/03
priority:p0
priority:p1
priority:p2
priority:p3
proposed
ready-for-agent
ready-for-operator
recovery
review:claude-reviewed
review:codex-reviewed
review:dziadek-reviewed
review:needs-human
risk/exposure
risk/process
risk/product
risk/runtime
safety:external-write
safety:no-prod-mutation
safety:prod-impact
safety:secret-touch
size/large
size/medium
size/small
size/tiny
size/unknown
source/adr
source/agent-generated
source/manual
source/operator-chat
source/voice-note
status:blocked
status:codex-ready
status:merged:pending-evidence
status:needs-evidence
status:operator-needed
status:parked
tier/full
tier/lite
tier/stacked
tier:0-platform-substrate
tier:1-iskra-value-layer
tier:2-tools-products-modules
type:bug
type:chore
type:docs
type:feat
type:policy
type:research
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
pdurlej/platform!374
No description provided.