Motivation
Once channel-memory stores source messages and claw-wall pushes ingest, channel-awareness can graduate from raw-only context to raw_window+digest: recent raw messages plus compact older digest blocks with exact source provenance.
Depends on #265 and #266.
Scope
- Add claw-wall digest lookup from the
/channel-awareness serving path.
- Keep the hot path LLM-free;
/digest lookup must return already-processed blocks or fail open.
- Emit provider-visible headers with
context_kind=raw_window+digest, digest status, digest age, source coverage, gaps, raw bytes, and digest bytes.
- Render raw recent messages with stable source handles and render digest blocks with
source_channel plus source_messages provenance.
- Preserve exact retrieval through existing channel retrieval tools using channel id plus message ids.
- Update cllama/channel telemetry so
channel_context_op distinguishes raw-only, digest, stale, unavailable, deterministic-only, and coverage-gap states.
- Track digest bytes separately from raw bytes in feed-budget accounting.
Out of scope
- Building the channel-memory storage adapter.
- Wiring claw-wall live push ingest.
- Async LLM digest generation; this issue can use deterministic digest blocks only.
- Release pin, changelog, or nav changes.
Acceptance
- Unit tests cover raw-only fallback, digest-ok, digest-stale, digest-unavailable, and coverage-gap rendering.
- Retrieval tests prove source provenance from a digest block round-trips to exact source messages.
- Telemetry tests prove digest status/coverage fields are emitted in
channel_context_op.
- A spike test captures provider-visible
raw_window+digest text and verifies meaningful byte reduction versus the raw-only path using a sanitized fixture.
- Public docs and examples stay deployment-agnostic.
Refs #262
Refs #263
Motivation
Once channel-memory stores source messages and claw-wall pushes ingest, channel-awareness can graduate from raw-only context to
raw_window+digest: recent raw messages plus compact older digest blocks with exact source provenance.Depends on #265 and #266.
Scope
/channel-awarenessserving path./digestlookup must return already-processed blocks or fail open.context_kind=raw_window+digest, digest status, digest age, source coverage, gaps, raw bytes, and digest bytes.source_channelplussource_messagesprovenance.channel_context_opdistinguishes raw-only, digest, stale, unavailable, deterministic-only, and coverage-gap states.Out of scope
Acceptance
channel_context_op.raw_window+digesttext and verifies meaningful byte reduction versus the raw-only path using a sanitized fixture.Refs #262
Refs #263