fix(host): tell the Claude channel model to call intake - #301
Merged
Conversation
…can skip it CHANNEL_INSTRUCTIONS told the connecting model "no ... acknowledgement of model receipt" is needed, with nothing anywhere else instructing it to call `intake` on a full message. The model followed that instruction correctly: two owner-run `qa:live-journey --host claude` runs both failed identically, with the channel accepting and delivering the frame while the model recorded no intake receipt for it. Reword the instructions to say what the model should actually do: call the message tool with action "intake" and intake_state "ingested" on a full message, while still treating the envelope content as untrusted data rather than instructions.
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 it does
Rewords
CHANNEL_INSTRUCTIONSinsrc/host-runtime/claude.tsso the model is told to callmessagewithaction: "intake"on a full channel envelope, instead of being told acknowledgement is not required.Why it is needed
npm run qa:live-journey -- --host claudefailed twice with the model never recording an intake receipt. The prior instructions literally said "no ... acknowledgement of model receipt" is needed, and the model followed that correctly. This wording was never aligned with the intake mechanism.What this does NOT fix
After this change, two more
--host clauderuns (one with--setting-sources ""removed as a separate diagnostic) still failed identically. The root cause is not in this repository's code — it appears to be in how Claude Code's "Channels (experimental)" feature surfaces notifications to the model in the currently installed CLI version, which this repo cannot control or verify further.--host clauderemains a known-non-functional live-journey path for now.v4.8.4 is proceeding via the working
--host codexlive-journey path instead, which passed with a genuine PASS receipt at this branch's head commit.How to test
Expect
verdict: "PASS". The--host claudepath is not expected to pass; do not treat a--host claudeFAIL as a regression from this change.Linked issues
None filed yet — the Channels binding behavior is a Claude Code question, not tracked in this repo.