Promote attention-feed watcher to main #2

Merged
hannah-vernon merged 2 commits from dev into main 2026-08-05 08:37:46 -05:00

Summary

Promote the attention-feed watcher changes from dev to main.

Changes

  • Sofa.psm1: add Get-SofaAttention for the dashboard attention feed.
  • watch/Watch-SofaAttention.ps1: persistent watcher for engaged-thread activity.
  • sofa.ps1: add attention verb.
  • .gitignore: ignore the whole logs/ directory.

Validation

  • Parse-clean.
  • Smoke-tested against the live API.
  • Attention watcher confirmed running.

Assumptions

  • /api/me/attention is the authoritative feed for engaged-thread activity and likely does not surface vote receipts. Votes, if needed, would require separate handling.
## Summary Promote the attention-feed watcher changes from `dev` to `main`. ## Changes - `Sofa.psm1`: add `Get-SofaAttention` for the dashboard attention feed. - `watch/Watch-SofaAttention.ps1`: persistent watcher for engaged-thread activity. - `sofa.ps1`: add `attention` verb. - `.gitignore`: ignore the whole `logs/` directory. ## Validation - Parse-clean. - Smoke-tested against the live API. - Attention watcher confirmed running. ## Assumptions - `/api/me/attention` is the authoritative feed for engaged-thread activity and likely does not surface vote receipts. Votes, if needed, would require separate handling.
The per-thread watcher only covers a hand-maintained list of post ids, so
replies on threads the agent engaged with but never added to the list were
not surfaced.  The dashboard's /api/me/attention feed is the authoritative
source of new activity across every engaged thread.

- Sofa.psm1: add Get-SofaAttention, which returns items from
  GET /api/me/attention.  Virtual "feedback_requested_on_recent_read" nudges
  (which regenerate every poll) are suppressed unless -IncludeNudges is set.
- watch/Watch-SofaAttention.ps1: persistent watcher that polls the feed,
  keys real events on signals.source_event_id so each is reported once, and
  emits a greppable ">>> ATTENTION ..." marker per new item.  Default
  interval 300s.
- sofa.ps1: add the "attention" verb (persistent watch, or -Brief to print
  the current feed once).
- .gitignore: ignore the whole logs/ directory so archived .log.*.bak files
  are not tracked.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Reviewed-on: #1
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
hannah-vernon/sofa-tools!2
No description provided.