feat(arch): implement 'Code as Thought' architecture and formalize PSF Consensus Loop

This commit is contained in:
2026-03-31 13:03:26 -04:00
parent 5a9129132e
commit 1712b1e4a9
114 changed files with 3652 additions and 2581 deletions

View File

@@ -1 +0,0 @@
../system/skills/org-skill-project-manager.org

View File

@@ -0,0 +1,67 @@
#+TITLE: SKILL: Project Manager Agent (Universal Literate Note)
#+ID: skill-project-manager
#+STARTUP: content
#+FILETAGS: :project:management:git:psf:
* Overview
The **Project Manager Agent** provides executive presence by monitoring project health and tracking git status. It leverages `:PROJECT_PATH:` metadata to gather "folder facts" and assist in the project lifecycle.
* Phase A: Demand (PRD)
:PROPERTIES:
:STATUS: FROZEN
:END:
** 1. Purpose
Define automated behaviors for project monitoring and version control tracking.
** 2. User Needs
- **Visibility:** Resolve physical project locations and gather git/file facts.
- **Contextual Awareness:** Trigger on status queries or project-node edits.
- **Lifecycle Support:** Suggest commit messages and identify uncommitted work.
** 3. Success Criteria
*** TODO Project Path Resolution
*** TODO Git Status Retrieval
*** TODO Executive Summary Generation
* Phase B: Blueprint (PROTOCOL)
:PROPERTIES:
:STATUS: SIGNED
:END:
** 1. Architectural Intent
Interfaces for filesystem and VCS introspection. Source of truth is the project's physical directory and Git state.
** 2. Semantic Interfaces
#+begin_src lisp
(defun trigger-skill-project-manager (context)
"Triggers on status queries or :PROJECT_PATH: presence.")
(defun get-project-diagnostics (raw-path)
"Gathers file list and git status.")
(defun get-git-diff (raw-path)
"Retrieves uncommitted changes.")
#+end_src
* Phase D: Build (Implementation)
** Diagnostic Retrieval
#+begin_src lisp :tangle projects/org-skill-project-manager/src/manager-logic.lisp
(defun get-project-diagnostics (raw-path)
(let ((resolved-path (uiop:native-namestring raw-path)))
(if (uiop:directory-exists-p resolved-path)
(format nil "FILES: ~a~%GIT: ~a"
(uiop:run-program (list "ls" "-F" resolved-path) :output :string)
(uiop:run-program (list "git" "-C" resolved-path "status" "--short") :output :string))
"ERROR: Path not found.")))
#+end_src
* Registration
#+begin_src lisp
(defskill :skill-project-manager
:priority 70
:trigger #'trigger-skill-project-manager
:neuro #'neuro-skill-project-manager
:symbolic (lambda (action context) action))
#+end_src