Skip to content

feat(observer): observer_recall skill — "what was I doing?" everywhere#243

Merged
AVADSA25 merged 2 commits into
mainfrom
claude/observer-recall
Jul 13, 2026
Merged

feat(observer): observer_recall skill — "what was I doing?" everywhere#243
AVADSA25 merged 2 commits into
mainfrom
claude/observer-recall

Conversation

@AVADSA25

Copy link
Copy Markdown
Owner

The observer buffer was RAM-only in the codec-observer daemon, so chat/voice/terminal couldn't read it ('I don't have an observer skill'). The daemon now mirrors it to ~/.codec/observer_buffer.json and a new observer_recall skill reads it, filters by time window, and summarizes. Verified end to end: a fresh process recalled the live activity. 6 tests, manifest regenerated.

…rywhere

CODEC's observer watches active window / screen OCR / clipboard / recent files,
but the buffer was RAM-only inside the codec-observer daemon, so chat, voice and
terminal (separate processes) couldn't read it — asking "what was I doing 20
minutes ago?" got "I don't have an observer skill".

- codec_observer.py: the daemon now mirrors its ring buffer to
  ~/.codec/observer_buffer.json every poll (atomic, best-effort, never breaks the
  loop). Local + user-private, same trust boundary as the rest of ~/.codec.
- skills/observer_recall.py: reads that file, parses the asked-for window
  ("20 minutes ago", "the last hour", "just now", plurals), filters, and gives a
  human timeline (apps in order, files touched, on-screen excerpt). Honest when
  the window is older than the ~10-min buffer. SKILL_MCP_EXPOSE=False (recalls the
  user's screen activity — not for remote callers). Triggers: "what was I doing",
  "my recent activity", "observer", etc.

Verified END TO END: restarted codec-observer, it wrote a real buffer file within
seconds; a FRESH process then recalled "Files touched: codec_observer.py, skills,
tests" — exactly the current work, proving cross-process recall. Registered in
dispatch (88 skills). 6 tests. D-1 manifest regenerated. ruff clean.

Live-test: in CODEC chat / voice / terminal, ask "what was I doing 10 minutes
ago?" — it now answers from the observer buffer everywhere, not just one surface.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@AVADSA25
AVADSA25 force-pushed the claude/observer-recall branch from 580e01e to ba67a34 Compare July 13, 2026 14:43
@AVADSA25
AVADSA25 merged commit f88e942 into main Jul 13, 2026
1 check passed
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.

2 participants