aboutsummaryrefslogtreecommitdiff
path: root/docs/design/agentic-knowledgebase.org
diff options
context:
space:
mode:
Diffstat (limited to 'docs/design/agentic-knowledgebase.org')
-rw-r--r--docs/design/agentic-knowledgebase.org117
1 files changed, 117 insertions, 0 deletions
diff --git a/docs/design/agentic-knowledgebase.org b/docs/design/agentic-knowledgebase.org
new file mode 100644
index 00000000..c8b53e70
--- /dev/null
+++ b/docs/design/agentic-knowledgebase.org
@@ -0,0 +1,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.