2.3 KiB
2.3 KiB
SKILL: Technical Analyst Agent (Universal Literate Note)
- Overview
- Phase A: Demand (PRD)
- Phase B: Blueprint (PROTOCOL)
- Phase D: Build (Implementation)
- Registration
Overview
The Technical Analyst Agent defines the Success Criteria for a project. It generates a failing test suite immediately after the architecture is signed, enforcing a strict TDD mandate within the PSF Consensus Loop.
Phase A: Demand (PRD)
1. Purpose
Define automated testing behaviors for the PSF Consensus Loop.
2. User Needs
- Protocol Perception: Monitor for `SIGNED` Protocols.
- TDD Inception: Translate interfaces into executable test cases.
- Edge Case Coverage: Mandatory testing of failure modes and malformed input.
- Structural Enforcement: Ensure the `tests/` directory is correctly initialized.
3. Success Criteria
TODO Trigger Accuracy
TODO TDD Suite Generation Verification
TODO Edge Case Coverage Verification
Phase B: Blueprint (PROTOCOL)
1. Architectural Intent
Interfaces for TDD suite actuation and protocol perception. Source of truth is the project's SIGNED Protocol.
2. Semantic Interfaces
(defun tech-analyst-perceive-signed-protocol (project-name)
"Checks if a project has a SIGNED PROTOCOL.")
(defun tech-analyst-actuate (project-name test-content)
"Physically writes the TDD suite to tests/.")
Phase D: Build (Implementation)
TDD Suite Actuation
(defun tech-analyst-actuate (project-name test-content)
(let* ((projects-dir (or (uiop:getenv "PROJECTS_DIR") "projects/"))
(project-dir (format nil "~a/~a/" projects-dir project-name))
(test-dir (format nil "~atests/" project-dir))
(test-path (format nil "~atests/test-suite.lisp" project-dir)))
(ensure-directories-exist test-dir)
(with-open-file (out test-path :direction :output :if-exists :supersede)
(format out ";;; TDD Suite for ~a~%~a" project-name test-content))
(format nil "SUCCESS - Tech-Analyst established TDD Suite for ~a" project-name)))
Registration
(defskill :skill-tech-analyst
:priority 60
:trigger #'trigger-skill-tech-analyst
:neuro #'neuro-skill-tech-analyst
:symbolic #'tech-analyst-actuate)