aboutsummaryrefslogtreecommitdiff
path: root/docs/design/agentic-knowledgebase.org
blob: c8b53e709e8b28f12551046983ee7aee325407c3 (plain)
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.