Skip to content

feat(backend): add conversation commit notifier - #333

Draft
sandersonstabo wants to merge 4 commits into
agent/backend-conversation-delivery-writer-port-19975cafrom
agent/backend-conversation-commit-notifier-port-55fdb03
Draft

feat(backend): add conversation commit notifier#333
sandersonstabo wants to merge 4 commits into
agent/backend-conversation-delivery-writer-port-19975cafrom
agent/backend-conversation-commit-notifier-port-55fdb03

Conversation

@sandersonstabo

@sandersonstabo sandersonstabo commented Aug 29, 2026

Copy link
Copy Markdown
Collaborator

Dependency

Immediately above #332 (agent/backend-conversation-delivery-writer-port-19975ca).

Scope

  • add an instance-owned, process-wide conversation commit notifier
  • retain per-thread wakes with bounded Tokio watch state
  • support independent same-thread subscribers, cancellation-safe waits, generation-fenced cleanup, and final-owner closure
  • register the focused backend target and Cargo/Bazel test surfaces

Exclusions

No SessionDelivery loop, queue/task, database reads, QUIC/connection ownership, request-handler integration, startup composition, or frontend work.

Verification

Exact-head gate receipt: D:/artisan-editor-gate-logs/backend-conversation-commit-notifier-20260829-gate4/receipt.json

  • focused backend + notifier build
  • 7/7 focused tests
  • fresh production and test Clippy markers
  • root format test
  • locked/offline Cargo metadata
  • exact seven-path hash/status guards
  • Bazel shutdown 0

View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.


Summary by cubic

Adds a process-wide conversation commit notifier to the backend so subscribers can await coalesced wake hints without durable state or blocking commit paths.

New Features

  • Publishes never block; if the registry lock is busy the hint is dropped and reported as coalesced.
  • Per-thread bounded Tokio watch state is shared by same-thread subscribers, each with an independent receiver and cancellation-safe waits.
  • Dropping the final notifier owner closes all subscription receivers, and generation-fenced cleanup removes only the last matching entry.
  • Not wired into any delivery or request-handler path yet; registers the module, lib export, and Cargo and Bazel test surfaces.

Written for commit 17d9694. Summary will update on new commits.

Review in cubic

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.

1 participant