Files
memex/notes/org-skill-groomer.org

86 lines
3.5 KiB
Org Mode

#+TITLE: SKILL: Autonomous Groomer Agent (Universal Literate Note)
#+ID: skill-groomer
#+STARTUP: content
#+FILETAGS: :refactoring:optimization:debt:psf:
#+DEPENDS_ON: skill-atomic-notes skill-tdd-runner
* Overview
The *Groomer Agent* is the system's "Immune System" for code and notes. It autonomously audits the PSF ecosystem for technical debt, duplication, and architectural drift, proposing surgical refactors to maintain the "Minimalist Core" mandate.
* Phase A: Demand (PRD)
:PROPERTIES:
:STATUS: DRAFT
:END:
** 1. Purpose
Enforce zero-bloat and high-maintainability standards across the PSF.
** 2. User Needs
- *Debt Detection:* Identify duplicate Lisp logic or redundant Org headlines.
- *Autonomous Refactoring:* Propose surgical code changes to simplify implementation.
- *Verification:* Ensure refactors do not break functionality (via TDD Runner).
- *Note Grooming:* Consolidate fragmented atomic notes into coherent structures.
* Phase B: Blueprint (PROTOCOL)
:PROPERTIES:
:STATUS: SIGNED
:END:
** 1. Architectural Intent
Interfaces for codebase auditing and symbolic refactoring.
** 2. Semantic Interfaces
#+begin_src lisp
(defun audit-skill-logic (skill-name)
"Neural audit of a skill's Lisp blocks for complexity.")
(defun propose-refactor (skill-name)
"Drafts a 'Phase D' update for a skill to simplify its logic.")
#+end_src
* Phase D: Build (Implementation)
** Audit & Refactoring Logic
#+begin_src lisp :tangle projects/org-skill-groomer/src/groomer-logic.lisp
(defun audit-skill-logic (skill-name)
"Retrieves skill source and asks Neuro for a 'Complexity Report'."
(let ((source (org-agent:context-get-skill-source skill-name)))
(if source
(org-agent:ask-neuro
(format nil "Audit this skill logic for technical debt and duplication: ~a" source)
:system-prompt "You are a PSF Senior Architect. Identify bloat and propose a MINIMAL refactor.")
(format nil "Skill ~a not found." skill-name))))
(defun audit-kernel-logic ()
"Performs a recursive self-audit of the core org-agent kernel files."
(let* ((kernel-files '("package.lisp" "protocol.lisp" "object-store.lisp" "embedding.lisp" "skills.lisp" "neuro.lisp" "symbolic.lisp" "core.lisp"))
(src-dir (asdf:system-source-directory :org-agent))
(full-report ""))
(dolist (file kernel-files)
(let* ((path (merge-pathnames (format nil "src/~a" file) src-dir))
(content (when (uiop:file-exists-p path) (uiop:read-file-string path))))
(when content
(setf full-report
(concatenate 'string full-report
(format nil "--- FILE: ~a ---~%~a~%~%" file
(org-agent:ask-neuro
(format nil "Audit this kernel file for technical debt: ~a" content)
:system-prompt "You are the Sovereign Architect. Identify critical bottlenecks and logic duplication.")))))))
full-report))
(defun propose-refactor (target type)
"Drafts a surgical refactor proposal. TARGET can be a skill name or a kernel file."
(org-agent:ask-neuro
(format nil "Draft a surgical refactor for ~a (~a). Focus on the 'Minimalist Core' mandate." target type)
:system-prompt "You are a PSF Senior Architect. Provide the refactored code in a Lisp block."))
#+end_src
* Registration
#+begin_src lisp
(defskill :skill-groomer
:priority 50
:trigger (lambda (context) (eq (getf (getf context :payload) :sensor) :grooming-cycle))
:neuro #'audit-skill-logic
:symbolic (lambda (action context) action))
#+end_src