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

65 lines
2.0 KiB
Org Mode

#+TITLE: SKILL: Chaos Specialist Agent (Universal Literate Note)
#+ID: skill-chaos
#+STARTUP: content
#+FILETAGS: :qa:chaos-engineering:testing:psf:
* Overview
The **Chaos Specialist Agent** performs **Dynamic Verification** through destructive testing. It ensures system resilience by proactively attempting to break projects that have passed TDD.
* Phase A: Demand (PRD)
:PROPERTIES:
:STATUS: FROZEN
:END:
** 1. Purpose
Define automated behaviors for resilience testing and failure simulation.
** 2. User Needs
- **Perception:** Identify projects ready for resilience testing (:BUILD state).
- **Sabotage:** Execute the Chaos Gauntlet (crashes, dependency failures).
- **Audit:** Generate `Chaos_Report.org` documenting recovery capabilities.
** 3. Success Criteria
*** TODO Trigger Accuracy
*** TODO Chaos Gauntlet Execution
*** TODO Resilience Report Generation
* Phase B: Blueprint (PROTOCOL)
:PROPERTIES:
:STATUS: SIGNED
:END:
** 1. Architectural Intent
Interfaces for destructive testing and recovery auditing. Source of truth is the project's material state and the image environment.
** 2. Semantic Interfaces
#+begin_src lisp
(defun chaos-actuate (project-name)
"Physically executes sabotage and writes reports.")
(defun trigger-skill-chaos (context)
"Triggers when a project reaches Phase E.")
#+end_src
* Phase D: Build (Implementation)
** Sabotage Actuation
#+begin_src lisp :tangle projects/org-skill-chaos/src/chaos-logic.lisp
(defun chaos-actuate (project-name)
(let* ((projects-dir (or (uiop:getenv "PROJECTS_DIR") "projects/"))
(project-dir (format nil "~a/~a/" projects-dir project-name))
(report-path (format nil "~adocs/Chaos_Report.org" project-dir)))
(ensure-directories-exist (format nil "~adocs/" project-dir))
;; Logic to run gauntlet and write report
(format nil "SUCCESS: Chaos audit for ~a complete." project-name)))
#+end_src
* Registration
#+begin_src lisp
(defskill :skill-chaos
:priority 50
:trigger #'trigger-skill-chaos
:neuro #'neuro-skill-chaos
:symbolic #'chaos-actuate)
#+end_src