PSF: Stabilizing workspace after crash. Valid kernel/skill fixes.

This commit is contained in:
2026-04-04 20:27:39 -04:00
parent 65a14784d3
commit 7ac10d1f95
47 changed files with 25388 additions and 3235 deletions

View File

@@ -0,0 +1,59 @@
#+TITLE: SKILL: Hook Manager (Universal Literate Note)
#+ID: skill-hook-manager
#+STARTUP: content
#+FILETAGS: :hooks:event-driven:system:psf:
* Overview
The *Hook Manager* enables event-driven extensibility within the agent by allowing functions to be registered and executed at specific lifecycle points.
* Phase A: Demand (PRD)
:PROPERTIES:
:STATUS: FROZEN
:END:
** 1. Purpose
Provide a hook-based event system.
** 2. User Needs
- *Registration:* Register functions to be called on specific hooks.
- *Execution:* Trigger all registered functions for a given hook.
* Phase B: Blueprint (PROTOCOL)
:PROPERTIES:
:STATUS: SIGNED
:END:
** 1. Architectural Intent
Event-driven extension system.
** 2. Semantic Interfaces
#+begin_src lisp
(defun register-hook (hook-name fn) "Register FN on HOOK-NAME.")
(defun run-hooks (hook-name &rest args) "Run all functions on HOOK-NAME with ARGS.")
#+end_src
* Phase D: Build (Implementation)
#+begin_src lisp :tangle ../projects/org-skill-hook-manager/src/hook-manager.lisp
(defvar *hooks* (make-hash-table :test 'equal))
(defun register-hook (hook-name fn)
"Registers a function FN for the given HOOK-NAME."
(pushnew fn (gethash hook-name *hooks*))
(kernel-log "HOOK - Registered function for ~a" hook-name))
(defun run-hooks (hook-name &rest args)
"Executes all registered functions for HOOK-NAME with ARGS."
(let ((fns (gethash hook-name *hooks*)))
(dolist (fn fns)
(apply fn args))))
#+end_src
* Registration
#+begin_src lisp
(defskill :skill-hook-manager
:priority 100
:trigger (lambda (context) nil)
:neuro (lambda (context) nil)
:symbolic (lambda (action context) action))
#+end_src