#+TITLE: PSF Core: Literate Verification #+ID: psf-core-verification #+PROPERTY: header-args :tangle test-suite.lisp * Overview This document defines the **Success Criteria** for the PSF Core Role Automation. It ensures that our agents are perceiving and enforcing the Consensus Loop correctly. * Test Setup #+begin_src lisp (defpackage :psf-core-tests (:use :cl :fiveam :org-agent)) (in-package :psf-core-tests) (def-suite psf-core-suite :description "Consensus Loop Automation Tests") (in-suite psf-core-suite) #+end_src * 1. Perception Logic We must verify that the agent can distinguish between a Draft PRD and a Frozen PRD. #+begin_src lisp (test perceive-frozen-prd "Verify that a project with a FROZEN PRD is correctly identified as being in Phase B." (let ((mock-prd "#+TITLE: Mock\n#+STATUS: FROZEN")) (is (eq :BLUEPRINT (psf-perceive-state "mock-project" mock-prd))))) #+end_src * 2. Mandate Enforcement The system must raise a `mandate-violation` if a transition to the Build phase is attempted without passing the Quality gate (Tests). #+begin_src lisp (test block-build-without-tests "Ensure the system blocks transition to :BUILD if the tests directory is missing or empty." (let ((mock-project "empty-project")) (signals mandate-violation (psf-transition-gate mock-project :SUCCESS :BUILD)))) #+end_src * 3. GTD Integration ... #+begin_src lisp (test sync-gtd-property "Verify that the :PSF-STATE: property update returns success." (is (eq t (psf-sync-gtd "mock-project" :BLUEPRINT)))) #+end_src * 4. Chaos Integrity The Chaos Gauntlet must be able to simulate a dependency failure and return a report. #+begin_src lisp (test simulate-sabotage "Verify that the Chaos Specialist can detect an injected failure." (let ((project "chaos-test")) (is (search "FAIL" (psf-sabotage-dependency project "sqlite3"))))) #+end_src * Execution #+begin_src lisp (run! 'psf-core-suite) #+end_src