1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
|
** Org-roam project knowledgebase
Use org-roam as the agent's durable project memory, with org-agenda as the
execution layer. The important distinction:
- Org-roam stores current understanding, decisions, people, open questions,
source links, and project history.
- Org-agenda stores commitments that require action.
- Mail, Slack, telega, ERC, Magit, and AI session files remain the raw sources.
- The agent writes concise summaries with backlinks rather than dumping
transcripts into roam.
Each active project gets one hub node tagged =Project=. The hub is the place to
ask "what is going on?" and should stay skimmable:
#+begin_src org
#+TITLE: Project: Example
#+FILETAGS: Project Example
* Status
Current goal, live state, blockers, and near-term plan.
* Next Actions
** TODO Email Alice about API credentials
SCHEDULED: <2026-05-18 Mon>
:PROPERTIES:
:CONTACT: Alice Smith
:CHANNEL: email
:SOURCE: [[id:thread-20260515-api-credentials]]
:END:
** WAITING Bob to review staging diff
:PROPERTIES:
:CONTACT: Bob Lee
:CHANNEL: Slack
:SOURCE: [[id:thread-20260516-review-request]]
:END:
* People
- [[id:person-alice-smith][Alice Smith]] - owns API credentials
- [[id:person-bob-lee][Bob Lee]] - reviewer
* Decisions
- [[id:decision-20260516-service-account-auth][Use service account auth]]
* Threads
- [[id:thread-20260515-api-credentials][Slack: API credentials]]
- [[id:thread-20260514-contract-clarification][Email: contract clarification]]
* Log
** 2026-05-16
- Implemented first pass of Magit review tool design.
- Need to ask Alice whether staging access exists.
#+end_src
Supporting nodes should be small and typed:
- =Person: Alice Smith= - contact preferences, projects, open loops, recent
context.
- =Decision: Use service account auth= - decision, rationale, alternatives,
source links.
- =Thread: Slack API credentials= - durable summary and link to the source
message.
- =Meeting: Example kickoff 2026-05-16= - attendees, decisions, tasks, links.
- =Problem: Import job timing out= - symptoms, experiments, current theory.
- =Artifact: PR 123= - purpose, review state, verification, follow-ups.
- =Runbook: Deploy Example= - operational steps and caveats.
Agent commands:
- =cj/agent-project-brief= - build a temporary Org buffer with project status,
blockers, next actions, recent commits, recent messages, and open agenda
items.
- =cj/agent-capture-current-context= - capture the current Magit section, mail
message, Slack thread, telega chat, ERC buffer, Dired file, source buffer, or
agenda item into the active project.
- =cj/agent-project-next-contact= - show who needs a reply, who the user is
waiting on, channel, deadline, and source link.
- =cj/agent-summarize-project-day= - append a dated project log entry and
create or update agenda TODOs.
- =cj/agent-link-to-project= - link the current org-roam node or captured item
to a selected project hub.
- =cj/agent-promote-to-decision= - turn a line, thread summary, or meeting note
into a decision node and backlink it to the project.
Contact tracking should live in both person nodes and actionable TODOs. Person
nodes preserve relationship context; agenda TODOs preserve obligations:
#+begin_src org
#+TITLE: Alice Smith
#+FILETAGS: Person Contact
* Context
Works on infra. Best channel: Slack for quick questions, email for approvals.
* Projects
- [[id:project-example][Project: Example]]
* Waiting On
** WAITING Alice to confirm API credentials
SCHEDULED: <2026-05-18 Mon>
:PROPERTIES:
:PROJECT: Example
:CHANNEL: Slack
:SOURCE: [[id:thread-20260515-api-credentials]]
:END:
#+end_src
The agent should maintain a short "project memory contract":
- Never create a note unless it will be useful after the chat window is gone.
- Prefer backlinks to raw sources over copied transcripts.
- Convert "someone needs to do something" into a TODO with owner/channel/source.
- Keep project hub status current, but keep detailed history in dated log,
meeting, decision, problem, and thread nodes.
- Ask before changing TODO states, scheduling work, or drafting messages to
real people.
|