ops(honcho): codify 3.0.9 host-ops runtime #777
No reviewers
Labels
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
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
pdurlej/platform!777
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "codex/honcho-309-host-ops-codify"
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?
Canary status: missing - fire canary 3+3 manually before merge
Canary Context Pack
Product story
Honcho is in active recovery/iteration and the repo must not describe a different runtime than production. After PR #776 landed 3.0.6 metadata, production was advanced again by a host-ops hotfix to
home-platform-honcho:3.0.9-gpt55-canonical-20260610T200313Z. This PR makes repo state catch up to the live, healthy host-ops state so future agents do not treat the current production state as unexplained drift.What changed
3.0.9-gpt55-canonical-20260610T200313Zlocal image tag./opt/pdurlej-platform/current/scripts/honcho/honcho_log_sanitize_exec.py, matching the active host-ops compose hotfix.honcho-apiandhoncho-derivermodule metadata to the live image tag.honcho-deriver, matching its shared Honcho image.Why it changed
Docker labels show the active production containers are currently composed from
/opt/pdurlej-platform/runtime/host-ops/compose/..., not the release-root compose path used in the previous reconcile. The active host-ops compose file already hardcodes the 3.0.9 image and sanitizer path. Repo state was behind live state.Files touched
compose/apps/compose.yamlmodules/honcho-api/module.yamlmodules/honcho-deriver/module.yamlcontexts/module-catalog/source-of-truth-matrix.mdstate/reports/honcho-309-host-ops-reconcile-2026-06-10.mdRelevant context
/opt/pdurlej-platform/runtime/host-ops/compose/apps/compose.yaml./opt/pdurlej-platform/runtime/host-ops/compose/apps/compose.yaml.pre-honcho-gpt55-20260610T200313Z.Runtime evidence
home-platform-honcho-api-1: running, healthy,home-platform-honcho:3.0.9-gpt55-canonical-20260610T200313Z.home-platform-honcho-deriver-1: running, healthy,home-platform-honcho:3.0.9-gpt55-canonical-20260610T200313Z.sha256:990ef700d2168ba38a2a30030118c80dc4e19e653d16d26a6394351c193f9338.https://honcho.pdurlej.com/openapi.jsonreturned HTTP 200.uvicorn.errorlogger startup lines.Known constraints
/opt/pdurlej-platform/runtime/host-ops/env/stack.envstill has stale non-secret metadata (PROJECT_ROOT=/opt/vps-home-platform-infra,HONCHO_IMAGE=home-platform-honcho:3.0.3,HONCHO_IMAGE_REF=v3.0.3). The active compose file no longer uses those values for Honcho image or sanitizer mount. Cleaning those env keys is a separate runtime config mutation and is intentionally not done in this PR.Explicit out-of-scope
/opt/pdurlej-platform/runtime/host-ops/env/stack.env.Requested decision
Approve that repo compose/module metadata should match the live 3.0.9 host-ops hotfix state, with stale host-ops env cleanup tracked as a follow-up rather than bundled into this PR.
Merge blockers
Spec sources read
compose/apps/compose.yaml: canonical repo Honcho service definitions.modules/honcho-api/module.yaml: current source/artifact/runtime metadata.modules/honcho-deriver/module.yaml: current runtime metadata and missing artifact metadata.contexts/module-catalog/source-of-truth-matrix.md: catalog source-of-truth summary.state/reports/honcho-306-runtime-reconcile-2026-06-10.md: previous reconcile evidence and follow-up.runbooks/honcho-ollama-gemma-switch.md: privacy/evidence rules for Honcho logs and metadata.Verification
UV_CACHE_DIR=/private/tmp/uv-cache uv run --project control-plane platformctl validate modules/honcho-api/module.yaml --jsonUV_CACHE_DIR=/private/tmp/uv-cache uv run --project control-plane platformctl validate modules/honcho-deriver/module.yaml --jsonUV_CACHE_DIR=/private/tmp/uv-cache uv run --project control-plane python -c "import yaml, pathlib; yaml.safe_load(pathlib.Path('compose/apps/compose.yaml').read_text()); print('compose_yaml_parse=ok')"git diff --cached --checkRefs #731
Patchwarden PR sanity
advisory_findings77764c39145a90764017f6b5ff21ecec34279ac3c2emissingDeterministic findings
No deterministic findings.
Model reviewers
global-glm/glm-5.1:cloudokOKglobal-deepseek/deepseek-v4-pro:cloudokOKredteam/kimi-k2.6:cloudStatus:
okVerdict:
NOT_OKblockerMerge proposed with missing canary verificationPR description header explicitly states 'Canary status: missing - fire canary 3+3 manually before merge', indicating the required pre-merge validation protocol has not been executed.highHost-side sanitizer script bind-mounted into containersPR description admits 'Hardcoded the Honcho sanitizer mount to /opt/pdurlej-platform/current/scripts/honcho/honcho_log_sanitize_exec.py' in compose/apps/compose.yaml. Mounting a mutable host executable into containers creates a code-injectihighCompose hardcodes mutable local image tag instead of digestPR description states compose image refs are set to tag 'home-platform-honcho:3.0.9-gpt55-canonical-20260610T200313Z' while separately noting the resolved digest is sha256:990ef700d2168ba38a2a30030118c80dc4e19e653d16d26a6394351c193f9338. LoPolicy notes
PLATFORMCTL_PR_SANITY_REDTEAM_MODELis configured.