claw-wall: raise default max_chars and unify channel-feed tuning#243
Merged
Conversation
Bump conversationWallFeedMaxChars and the matching defaultTailMaxChars in the wall sidecar from 8 KB to 32 KB so the default 24h surfaces something meaningful on modestly-active channels instead of the last five messages. Wire channel-awareness through the existing x-claw.context.channel config so a single pod or service-level knob raises both feeds together. Operators who want full-day coverage on busy rooms can now crank max-chars to 64-256 KB; the unified surface keeps awareness and channel-context coherent without introducing a parallel config block. Refs #242.
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.
Summary
max_charscap on bothchannel-contextandchannel-awarenessfeeds from 8 KB to 32 KB so the default 24h surface actually carries a meaningful slice of an active room rather than the last five messages.channel-awarenessthrough the existingx-claw.context.channelconfig (pod and service level) — one knob now raises both feeds together.Why
Discord lines in the rendered feed format (timestamp + author + content) average ~1 KB, so 8 KB ≈ 5–10 messages. 24h of modestly-active conversation (~5 msg/hr) wants ~120 KB, a few hours of very-active conversation (~60 msg/hr) wants ~180 KB. The previous default left agents seeing a tiny tail and treating the "24h awareness" surface as meaningless. The hardcoded ceiling on
channel-awareness(conversationWallChannelAwarenessContextignored pod config entirely) made this only fixable by re-compiling the binary.Behavior
x-claw.context.channelblock: both feeds getmax_chars=32768, channel-context keepslimit=40, channel-awareness keepslimit=60.x-claw.context.channel.{since,limit,max-chars,buffer}get those values applied to both feeds. Service-level overrides pod-level. Operators wanting full-day awareness on busy rooms set e.g.max-chars: 131072once and both surfaces follow.Tradeoff
A separate
x-claw.context.channel-awarenessblock would let the two feeds diverge (e.g. tight delta cap, generous awareness cap). Rejected for v1 because the feeds serve overlapping purposes and a single knob is simpler. If a real use case for divergence appears, add the second block then.Tests
go test ./...(full suite green)go vet ./...TestInjectConversationWallHonorsChannelContextConfigupdated to assert the awareness feed now inherits the samesince,limit, andmax_charsas channel-context. The default-path test (TestInjectConversationWallAddsAwarenessAndCursorFeeds) asserts the 32 KB default on both feeds.Closes #242.