Skip to content

claw-wall: raise default max_chars and unify channel-feed tuning#243

Merged
mostlydev merged 1 commit into
masterfrom
issue-242-channel-awareness-max-chars
May 13, 2026
Merged

claw-wall: raise default max_chars and unify channel-feed tuning#243
mostlydev merged 1 commit into
masterfrom
issue-242-channel-awareness-max-chars

Conversation

@mostlydev
Copy link
Copy Markdown
Owner

Summary

  • Bump default max_chars cap on both channel-context and channel-awareness feeds 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.
  • Wire channel-awareness through the existing x-claw.context.channel config (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 (conversationWallChannelAwarenessContext ignored pod config entirely) made this only fixable by re-compiling the binary.

Behavior

  • Pods with no x-claw.context.channel block: both feeds get max_chars=32768, channel-context keeps limit=40, channel-awareness keeps limit=60.
  • Pods that set 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: 131072 once and both surfaces follow.

Tradeoff

A separate x-claw.context.channel-awareness block 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 ./...
  • TestInjectConversationWallHonorsChannelContextConfig updated to assert the awareness feed now inherits the same since, limit, and max_chars as channel-context. The default-path test (TestInjectConversationWallAddsAwarenessAndCursorFeeds) asserts the 32 KB default on both feeds.

Closes #242.

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.
@mostlydev mostlydev merged commit ac9a87f into master May 13, 2026
1 check failed
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.

claw-wall: raise channel-awareness max_chars default and expose a public knob

1 participant