[OneDev #5] feat(tooling): AI diary — Claude's running log of improvements and discoveries #38

Open
opened 2026-05-24 04:46:41 +00:00 by joseph · 0 comments
Owner

Imported from OneDev issue #5 (id 35181)
Original project: internal-joseph
Original state: Open
Original submitterId: 5
Original submitDate: 2026-04-08T14:43:57.729+00:00
Original lastActivity: {'date': '2026-04-08T14:43:57.729+00:00', 'description': 'opened', 'userId': 5}

Original fields:

  • Type: New Feature
  • Priority: Normal
  • Assignees: None

Idea

A structured, append-only diary written by Claude, for Claude (and Joseph), capturing per-session: improvements made, gotchas discovered, tool quirks learned, workflow wins, and "aha" moments. Distinct from raw transcripts and from Joseph's personal narrative — this is the distilled, second-person layer that compounds across sessions so future-Claude inherits hard-won knowledge.

What it captures (entry types)

  • Discovery: "Found that OneDev od_create_issue rejects fields with HTTP 406 on some projects"
  • Improvement: "Switched from Bash heredoc → Write tool for multi-line files; cuts 3 round-trips to 1"
  • Gotcha: "VXLAN containers lose in-guest IP after Docker bridge init — must set ip= in pct config"
  • Workflow: "Filing OneDev issues in parallel via single message with multiple tool calls is ~5x faster"
  • Tool quirk: "MCP od_invoke_api is the escape hatch when wrapped tools 404 (e.g. /pulls vs /pull-requests)"

How it differs from what already exists

  • MEMORY.md — current state (what's true now). Diary is event log (what was learned when). Memory should reference diary for "why."
  • agent-journal (HTML) — full raw session transcripts. Diary is the curated highlights reel.
  • dev-journal (dev.pctbin.com) — Joseph's first-person narrative of his growth. Diary is Claude's third-person knowledge log.
  • project_historian agent — documents project-level decisions. Diary documents meta-learnings about how to work, what to avoid, what to repeat.

Implementation thoughts

  • Single file: ~/.claude/diary/YYYY-MM.jsonl (one entry per discovery, monthly file rotation)
  • Entry shape: {date, session_id, type, title, body, tags, related_files}
  • Capture via a skill ai-diary-entry that Claude invokes when it notices something diary-worthy mid-session
  • End-of-session sweep via wrap-up skill: "any diary entries from this session worth promoting?"
  • Optional: render as static HTML alongside agent-journal at diary.pctbin.com (IP-restricted), grouped by tag
  • Searchable from future sessions — could expose as an MCP tool (diary_search "OneDev fields gotcha")

Why

Right now, hard-won knowledge lives in three places: Joseph's head, MEMORY.md (which is hitting size limits), and buried inside session transcripts no one re-reads. Important discoveries decay between sessions — Claude rediscovers the same gotchas. A structured, queryable diary lets discoveries compound the same way commit history compounds for code.

Open questions

  • Capture mechanism: Claude self-reports proactively, or end-of-session sweep, or both?
  • Live in dotfiles (chezmoi-managed, syncs across machines) or internal-joseph (personal repo)?
  • Should the diary feed back into Claude's context automatically (e.g. relevant entries surfaced based on current task) — or only on explicit search?

Next session handoff

  • Pick this up on a Research day (per internal-joseph#1) — the design fork (proactive vs sweep) is the load-bearing decision
  • Check existing wrap-up skill before designing — it may already capture some of this
Imported from OneDev issue #5 (id 35181) Original project: internal-joseph Original state: Open Original submitterId: 5 Original submitDate: 2026-04-08T14:43:57.729+00:00 Original lastActivity: {'date': '2026-04-08T14:43:57.729+00:00', 'description': 'opened', 'userId': 5} Original fields: - Type: New Feature - Priority: Normal - Assignees: None ## Idea A structured, append-only diary written **by Claude, for Claude** (and Joseph), capturing per-session: improvements made, gotchas discovered, tool quirks learned, workflow wins, and "aha" moments. Distinct from raw transcripts and from Joseph's personal narrative — this is the *distilled, second-person* layer that compounds across sessions so future-Claude inherits hard-won knowledge. ## What it captures (entry types) - **Discovery**: "Found that OneDev `od_create_issue` rejects `fields` with HTTP 406 on some projects" - **Improvement**: "Switched from Bash heredoc → Write tool for multi-line files; cuts 3 round-trips to 1" - **Gotcha**: "VXLAN containers lose in-guest IP after Docker bridge init — must set `ip=` in `pct config`" - **Workflow**: "Filing OneDev issues in parallel via single message with multiple tool calls is ~5x faster" - **Tool quirk**: "MCP `od_invoke_api` is the escape hatch when wrapped tools 404 (e.g. `/pulls` vs `/pull-requests`)" ## How it differs from what already exists - **`MEMORY.md`** — current *state* (what's true now). Diary is *event log* (what was learned when). Memory should reference diary for "why." - **`agent-journal` (HTML)** — full raw session transcripts. Diary is the curated highlights reel. - **`dev-journal` (dev.pctbin.com)** — Joseph's first-person narrative of his growth. Diary is Claude's third-person knowledge log. - **`project_historian` agent** — documents project-level decisions. Diary documents *meta-learnings* about how to work, what to avoid, what to repeat. ## Implementation thoughts - Single file: `~/.claude/diary/YYYY-MM.jsonl` (one entry per discovery, monthly file rotation) - Entry shape: `{date, session_id, type, title, body, tags, related_files}` - Capture via a skill `ai-diary-entry` that Claude invokes when it notices something diary-worthy mid-session - End-of-session sweep via `wrap-up` skill: "any diary entries from this session worth promoting?" - Optional: render as static HTML alongside agent-journal at `diary.pctbin.com` (IP-restricted), grouped by tag - Searchable from future sessions — could expose as an MCP tool (`diary_search "OneDev fields gotcha"`) ## Why Right now, hard-won knowledge lives in three places: Joseph's head, MEMORY.md (which is hitting size limits), and buried inside session transcripts no one re-reads. Important discoveries decay between sessions — Claude rediscovers the same gotchas. A structured, queryable diary lets discoveries *compound* the same way commit history compounds for code. ## Open questions - Capture mechanism: Claude self-reports proactively, or end-of-session sweep, or both? - Live in `dotfiles` (chezmoi-managed, syncs across machines) or `internal-joseph` (personal repo)? - Should the diary feed back into Claude's context automatically (e.g. relevant entries surfaced based on current task) — or only on explicit search? ## Next session handoff - Pick this up on a **Research day** (per internal-joseph#1) — the design fork (proactive vs sweep) is the load-bearing decision - Check existing `wrap-up` skill before designing — it may already capture some of this
Sign in to join this conversation.
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
joseph/internal-joseph#38
No description provided.