docs/agent_guides/streaming-system/walbackend/walbackend.md
The WAL backend is the durable storage layer for WAL entries. Each PChannel maps 1:1 to a backend topic/partition. The backend is pluggable — implementations share a common WALImpls interface for append, read, and truncate operations.
ErrFenced.All backends implement the same interface:
Append(ctx, msg) → MessageID — Persist a message and return its backend-specific ID.Read(ctx, opts) → ScannerImpls — Create a scanner starting from a delivery policy (earliest, latest, or specific MessageID).Truncate(ctx, messageID) — Remove messages up to the given ID (log compaction).pkg/streaming/walimpls/ — WALImpls interface, Kafka/Pulsar/RMQ/Woodpecker implementations