feat(arch): finalize Universal Literate Note transition for all projects and skills
This commit is contained in:
@@ -1,47 +0,0 @@
|
||||
#+TITLE: PRD: Org-Agent Memex (Knowledge Management Standards)
|
||||
#+STATUS: FROZEN
|
||||
#+AUTHOR: Agent
|
||||
#+CREATED: [2026-03-31 Tue 11:45]
|
||||
|
||||
* 1. Purpose
|
||||
Define the functional and technical requirements for an integrated Org-mode workflow that synchronizes Atomic Notes (Zettelkasten) and GTD task management. This PRD serves as the foundational specification for the "Memex Agent" skill.
|
||||
|
||||
* 2. User Needs
|
||||
|
||||
** 2.1 Unified Knowledge & Task Capture
|
||||
As a user (Amr), I need a single entry point for all information.
|
||||
- All new captures MUST land in `memex/inbox.org`.
|
||||
- No other files are permitted for general inbox capture.
|
||||
|
||||
** 2.2 Strict Metadata Compliance
|
||||
I need my PKM system to maintain high structural integrity.
|
||||
- Every Org item must have a `:PROPERTIES:` drawer with a `:CREATED:` property in `[YYYY-MM-DD Day HH:MM]` format.
|
||||
- Collaborative items must use `:AUTHOR:` and `:ASSIGNED:` properties.
|
||||
- State changes MUST be tracked in a `:LOGBOOK:` drawer following the `:PROPERTIES:` drawer.
|
||||
|
||||
** 2.3 Automated Task Lifecycle
|
||||
I need the agent to manage the "boring" parts of GTD.
|
||||
- **Automatic NEXT Promotion:** When a `NEXT` item in a sequential project is marked `DONE`, the agent MUST automatically promote the subsequent `TODO` item to `NEXT`.
|
||||
- **Agenda Coordination:** The agent must place items requiring my attention as `TODO` (planned) or `NEXT` (immediate) in my agenda.
|
||||
|
||||
** 2.4 Mobile Sovereignty
|
||||
I need to interact with my Memex on the go.
|
||||
- The system must remain compatible with Markor (for text editing) and Orgzly (for agenda management) on Android.
|
||||
- Sync must be handled via a Git-based state machine (commits as source of truth).
|
||||
|
||||
** 2.5 Agentic Distillation (The Scribe)
|
||||
I need my daily logs transformed into timeless knowledge.
|
||||
- The agent must read from immutable daily logs (`daily/`).
|
||||
- It must extract "Evergreen" concepts and write them to `notes/` as atomic notes.
|
||||
- Atomic notes must have descriptive snake_case filenames (no dates) and a `Source:` backlink.
|
||||
|
||||
* 3. Success Criteria
|
||||
- [ ] **Promotion Logic:** Agent successfully identifies a completed `NEXT` task and promotes its successor in a sequential project.
|
||||
- [ ] **Metadata Audit:** Agent can identify and flag any Org item missing `:CREATED:` or `:LOGBOOK:` headers.
|
||||
- [ ] **Scribe Accuracy:** Agent extracts a concept from a daily log and creates a correctly formatted atomic note in `notes/` without user intervention.
|
||||
- [ ] **Git Synchronization:** All changes are automatically committed to the local repository for versioning and state tracking.
|
||||
|
||||
* 4. Constraints
|
||||
- **Single User/Single Agent:** Designed exclusively for Amr and his Assistant. No multi-user conflict resolution.
|
||||
- **Environment Driven:** All identity and path values must be pulled from `.env` (e.g., `$MEMEX_USER`, `$MEMEX_NOTES`).
|
||||
- **Org-mode Native:** No external databases. The `.org` files ARE the database.
|
||||
@@ -1,57 +0,0 @@
|
||||
#+TITLE: PROTOCOL: Org-Agent Memex (Knowledge Management Standards)
|
||||
#+STATUS: SIGNED
|
||||
#+AUTHOR: Architect-Agent
|
||||
#+CREATED: [2026-03-31 Tue 12:00]
|
||||
#+SIGNED: [2026-03-31 Tue 12:45] Agent (Architect)
|
||||
|
||||
* 1. Architectural Intent
|
||||
This protocol defines the shared Lisp interfaces for the "Memex Agent" skill. Its goal is to automate the "boring" parts of the knowledge and task management lifecycle while maintaining strict structural integrity.
|
||||
|
||||
Following the **Single User/Single Agent** philosophy, all state transitions are event-driven and strictly reference the Org-mode AST as the primary data store. No external databases are permitted.
|
||||
|
||||
* 2. Semantic Interfaces
|
||||
|
||||
** 2.1 Metadata Integrity Audit
|
||||
#+begin_src lisp
|
||||
(defun memex-audit-metadata (file-path)
|
||||
"Parses an Org file to ensure all entries comply with KM standards.
|
||||
Checks for: :CREATED: property, :LOGBOOK: drawer placement, and :AUTHOR:/:ASSIGNED: for collaborative items.
|
||||
Returns a plist of non-compliant entries: (:file \"path\" :errors (list-of-errors))"
|
||||
)
|
||||
|
||||
(defun memex-fix-metadata (entry-id)
|
||||
"Attempts to automatically fix missing headers (e.g., adding a missing :LOGBOOK: drawer or current timestamp to :CREATED:)."
|
||||
)
|
||||
#+end_src
|
||||
|
||||
** 2.2 GTD Task Promotion (The "Baton Pass")
|
||||
#+begin_src lisp
|
||||
(defun memex-promote-next-task (project-id)
|
||||
"Triggered when a NEXT item in a sequential project is marked DONE.
|
||||
1. Locates the project by ID in gtd.org.
|
||||
2. Identifies the NEXT available TODO item in the sequence.
|
||||
3. Promotes it to NEXT, updating the :LOGBOOK: state transition.
|
||||
4. Returns the promoted task ID or NIL if no tasks remain."
|
||||
)
|
||||
#+end_src
|
||||
|
||||
** 2.3 Agentic Distillation (The Scribe Loop)
|
||||
#+begin_src lisp
|
||||
(defun memex-distill-atomic-note (daily-file-path concept-query)
|
||||
"Extracts a specific concept from an immutable daily log and transforms it into a timeless atomic note.
|
||||
1. Scans daily log for headers or tags matching the query.
|
||||
2. Formats the note with concept-snake_case filename.
|
||||
3. Adds a 'Source:' backlink to the original daily file.
|
||||
4. Writes the result to $MEMEX_NOTES/.
|
||||
Returns the path of the newly created note."
|
||||
)
|
||||
#+end_src
|
||||
|
||||
* 3. Integration with PARA and Git
|
||||
The Memex Agent MUST perform a `git commit` after every successful task promotion or note distillation to ensure state persistence and provide a clear audit trail.
|
||||
|
||||
#+begin_src lisp
|
||||
(defun memex-sync-state (commit-message)
|
||||
"Stages and commits all changes to the local Git repository."
|
||||
)
|
||||
#+end_src
|
||||
Reference in New Issue
Block a user