diff --git a/harness/act.org b/harness/act.org index c97f123..50832dd 100644 --- a/harness/act.org +++ b/harness/act.org @@ -1,4 +1,4 @@ -#+PROPERTY: header-args:lisp :tangle (concat (getenv "INSTALL_DIR") "/harness/act.lisp" (expand-file-name "")) +#+PROPERTY: header-args:lisp :tangle (expand-file-name "harness/act.lisp" (expand-file-name "harness/")) #+TITLE: Stage 3: Act (act.lisp) #+AUTHOR: Amr #+FILETAGS: :harness:act: @@ -393,7 +393,7 @@ Example feedback chain: These tests verify the Act pipeline. Run with: ~(fiveam:run! 'pipeline-act-suite)~ -#+begin_src lisp :tangle (expand-file-name "pipeline-act-tests.lisp" (concat (concat (or (getenv "INSTALL_DIR") ".") "/harness") "/tests")) +#+begin_src lisp :tangle (expand-file-name "harness/pipeline-act-tests.lisp" (concat (concat (or (getenv "INSTALL_DIR") ".") "/harness") "/tests")) (defpackage :opencortex-pipeline-act-tests (:use :cl :fiveam :opencortex) (:export #:pipeline-act-suite)) diff --git a/harness/communication.org b/harness/communication.org index 2a30c72..1c9d301 100644 --- a/harness/communication.org +++ b/harness/communication.org @@ -1,4 +1,4 @@ -#+PROPERTY: header-args:lisp :tangle (concat (getenv "INSTALL_DIR") "/harness/communication.lisp" (expand-file-name "")) +#+PROPERTY: header-args:lisp :tangle (expand-file-name "harness/communication.lisp" (expand-file-name "harness/")) #+TITLE: Communication Protocol (communication.lisp) #+AUTHOR: Amr #+FILETAGS: :harness:protocol: @@ -79,7 +79,7 @@ The ~communication.lisp~ module defines the low-level transport and framing logi ** Structural Validation (communication-validator.lisp) The validator ensures that incoming messages adhere to the strict property list schema of the communication protocol. -#+begin_src lisp :tangle (concat (getenv "INSTALL_DIR") "/harness/communication-validator.lisp" (expand-file-name "")) +#+begin_src lisp :tangle (expand-file-name "harness/communication-validator.lisp" (expand-file-name "harness/")) (in-package :opencortex) (defun validate-communication-protocol-schema (msg) @@ -154,7 +154,7 @@ Frames a message with a hex length prefix and ensures all data is serializable. These tests verify the communication protocol functions. Run with: ~(fiveam:run! 'communication-protocol-suite)~ -#+begin_src lisp :tangle (expand-file-name "communication-tests.lisp" (concat (concat (or (getenv "INSTALL_DIR") ".") "/harness") "/tests")) +#+begin_src lisp :tangle (expand-file-name "harness/communication-tests.lisp" (concat (concat (or (getenv "INSTALL_DIR") ".") "/harness") "/tests")) (defpackage :opencortex-communication-tests (:use :cl :fiveam :opencortex) (:export #:communication-protocol-suite)) diff --git a/harness/context.org b/harness/context.org index c56b18b..2278a48 100644 --- a/harness/context.org +++ b/harness/context.org @@ -1,4 +1,4 @@ -#+PROPERTY: header-args:lisp :tangle (concat (getenv "INSTALL_DIR") "/harness/context.lisp" (expand-file-name "")) +#+PROPERTY: header-args:lisp :tangle (expand-file-name "harness/context.lisp" (expand-file-name "harness/")) #+TITLE: Peripheral Vision (context.lisp) #+AUTHOR: Amr #+FILETAGS: :harness:context: @@ -217,7 +217,7 @@ The primary entry point for context generation. This function identifies active Following the Engineering Standards, the peripheral vision extraction and rendering logic must be empirically verified. ** Test Suite Context -#+begin_src lisp :tangle (expand-file-name "peripheral-vision-tests.lisp" (concat (concat (or (getenv "INSTALL_DIR") ".") "/harness") "/tests")) +#+begin_src lisp :tangle (expand-file-name "harness/peripheral-vision-tests.lisp" (concat (concat (or (getenv "INSTALL_DIR") ".") "/harness") "/tests")) (defpackage :opencortex-peripheral-vision-tests (:use :cl :fiveam :opencortex) (:export #:vision-suite)) @@ -231,7 +231,7 @@ Following the Engineering Standards, the peripheral vision extraction and render ** Foveal Rendering Test Verify that the foveal target is rendered with content, while siblings are skeletal. -#+begin_src lisp :tangle (expand-file-name "peripheral-vision-tests.lisp" (concat (concat (or (getenv "INSTALL_DIR") ".") "/harness") "/tests")) +#+begin_src lisp :tangle (expand-file-name "harness/peripheral-vision-tests.lisp" (concat (concat (or (getenv "INSTALL_DIR") ".") "/harness") "/tests")) (test test-foveal-rendering "Verify that the foveal target is rendered with content, while siblings are skeletal." (clrhash opencortex::*memory*) @@ -251,7 +251,7 @@ Verify that the foveal target is rendered with content, while siblings are skele ** Awareness Budget Test Verify that context-assemble-global-awareness handles multiple projects correctly. -#+begin_src lisp :tangle (expand-file-name "peripheral-vision-tests.lisp" (concat (concat (or (getenv "INSTALL_DIR") ".") "/harness") "/tests")) +#+begin_src lisp :tangle (expand-file-name "harness/peripheral-vision-tests.lisp" (concat (concat (or (getenv "INSTALL_DIR") ".") "/harness") "/tests")) (test test-awareness-budget "Verify that context-assemble-global-awareness handles multiple projects." (clrhash opencortex::*memory*) diff --git a/harness/doctor.org b/harness/doctor.org index 8166319..38e93b2 100644 --- a/harness/doctor.org +++ b/harness/doctor.org @@ -23,26 +23,26 @@ Common Lisp's `getenv` is strictly typed in SBCL. The Doctor must ensure that mi * Phase B: Protocol (Success Criteria) ** Package Context -#+begin_src lisp :tangle (expand-file-name "doctor-tests.lisp" (concat (concat (or (getenv "INSTALL_DIR") ".") "/harness") "/tests")) +#+begin_src lisp :tangle (expand-file-name "harness/doctor-tests.lisp" (concat (concat (or (getenv "INSTALL_DIR") ".") "/harness") "/tests")) (defpackage :opencortex-doctor-tests (:use :cl :fiveam :opencortex) (:export #:doctor-suite)) #+end_src -#+begin_src lisp :tangle (expand-file-name "doctor-tests.lisp" (concat (concat (or (getenv "INSTALL_DIR") ".") "/harness") "/tests")) +#+begin_src lisp :tangle (expand-file-name "harness/doctor-tests.lisp" (concat (concat (or (getenv "INSTALL_DIR") ".") "/harness") "/tests")) (in-package :opencortex-doctor-tests) #+end_src -#+begin_src lisp :tangle (expand-file-name "doctor-tests.lisp" (concat (concat (or (getenv "INSTALL_DIR") ".") "/harness") "/tests")) +#+begin_src lisp :tangle (expand-file-name "harness/doctor-tests.lisp" (concat (concat (or (getenv "INSTALL_DIR") ".") "/harness") "/tests")) (def-suite doctor-suite :description "Verification of the System Doctor diagnostic logic") #+end_src -#+begin_src lisp :tangle (expand-file-name "doctor-tests.lisp" (concat (concat (or (getenv "INSTALL_DIR") ".") "/harness") "/tests")) +#+begin_src lisp :tangle (expand-file-name "harness/doctor-tests.lisp" (concat (concat (or (getenv "INSTALL_DIR") ".") "/harness") "/tests")) (in-suite doctor-suite) #+end_src ** Dependency Tests -#+begin_src lisp :tangle (expand-file-name "doctor-tests.lisp" (concat (concat (or (getenv "INSTALL_DIR") ".") "/harness") "/tests")) +#+begin_src lisp :tangle (expand-file-name "harness/doctor-tests.lisp" (concat (concat (or (getenv "INSTALL_DIR") ".") "/harness") "/tests")) (test test-dependency-check-fail "Verify that missing binaries are correctly identified as failures." (let ((opencortex::*doctor-required-binaries* '("non-existent-binary-123"))) @@ -50,7 +50,7 @@ Common Lisp's `getenv` is strictly typed in SBCL. The Doctor must ensure that mi #+end_src ** Environment Tests -#+begin_src lisp :tangle (expand-file-name "doctor-tests.lisp" (concat (concat (or (getenv "INSTALL_DIR") ".") "/harness") "/tests")) +#+begin_src lisp :tangle (expand-file-name "harness/doctor-tests.lisp" (concat (concat (or (getenv "INSTALL_DIR") ".") "/harness") "/tests")) (test test-env-validation-fail "Verify that an invalid MEMEX_DIR triggers a critical failure." (let ((old-m (getenv "MEMEX_DIR")) @@ -66,18 +66,18 @@ Common Lisp's `getenv` is strictly typed in SBCL. The Doctor must ensure that mi * Phase C: Implementation (Build) ** Package Context -#+begin_src lisp :tangle (concat (getenv "INSTALL_DIR") "/harness/doctor.lisp" (expand-file-name "")) +#+begin_src lisp :tangle (expand-file-name "harness/doctor.lisp" (expand-file-name "harness/")) (in-package :opencortex) #+end_src ** Global Configuration -#+begin_src lisp :tangle (concat (getenv "INSTALL_DIR") "/harness/doctor.lisp" (expand-file-name "")) +#+begin_src lisp :tangle (expand-file-name "harness/doctor.lisp" (expand-file-name "harness/")) (defvar *doctor-required-binaries* '("sbcl" "emacs" "git" "socat" "nc") "List of external binaries required for full system operation.") #+end_src ** Dependency Verification -#+begin_src lisp :tangle (concat (getenv "INSTALL_DIR") "/harness/doctor.lisp" (expand-file-name "")) +#+begin_src lisp :tangle (expand-file-name "harness/doctor.lisp" (expand-file-name "harness/")) (defun doctor-check-dependencies () "Verifies that required external binaries are available in the PATH via a shell probe." (let ((all-ok t)) @@ -95,7 +95,7 @@ Common Lisp's `getenv` is strictly typed in SBCL. The Doctor must ensure that mi #+end_src ** Environment & XDG Validation -#+begin_src lisp :tangle (concat (getenv "INSTALL_DIR") "/harness/doctor.lisp" (expand-file-name "")) +#+begin_src lisp :tangle (expand-file-name "harness/doctor.lisp" (expand-file-name "harness/")) (defun doctor-check-env () "Validates XDG directories and environment configuration against the POSIX standard." (harness-log "DOCTOR: Checking XDG environment...") @@ -124,7 +124,7 @@ Common Lisp's `getenv` is strictly typed in SBCL. The Doctor must ensure that mi #+end_src ** LLM Connectivity -#+begin_src lisp :tangle (concat (getenv "INSTALL_DIR") "/harness/doctor.lisp" (expand-file-name "")) +#+begin_src lisp :tangle (expand-file-name "harness/doctor.lisp" (expand-file-name "harness/")) (defun doctor-check-llm () "Tests connectivity to primary LLM providers. Non-critical fallback allowed." (harness-log "DOCTOR: Checking LLM connectivity...") @@ -139,7 +139,7 @@ Common Lisp's `getenv` is strictly typed in SBCL. The Doctor must ensure that mi #+end_src ** Orchestration -#+begin_src lisp :tangle (concat (getenv "INSTALL_DIR") "/harness/doctor.lisp" (expand-file-name "")) +#+begin_src lisp :tangle (expand-file-name "harness/doctor.lisp" (expand-file-name "harness/")) (defun doctor-run-all () "Executes the full diagnostic suite and returns T if system is healthy." (harness-log "==================================================") @@ -159,7 +159,7 @@ Common Lisp's `getenv` is strictly typed in SBCL. The Doctor must ensure that mi #+end_src ** CLI Entry Point -#+begin_src lisp :tangle (concat (getenv "INSTALL_DIR") "/harness/doctor.lisp" (expand-file-name "")) +#+begin_src lisp :tangle (expand-file-name "harness/doctor.lisp" (expand-file-name "harness/")) (defun doctor-main () "Entry point for the 'doctor' CLI command." (if (doctor-run-all) diff --git a/harness/loop.org b/harness/loop.org index 074b523..afb1270 100644 --- a/harness/loop.org +++ b/harness/loop.org @@ -1,4 +1,4 @@ -#+PROPERTY: header-args:lisp :tangle (concat (getenv "INSTALL_DIR") "/harness/loop.lisp" (expand-file-name "")) +#+PROPERTY: header-args:lisp :tangle (expand-file-name "harness/loop.lisp" (expand-file-name "harness/")) #+TITLE: The Metabolic Loop (loop.lisp) #+AUTHOR: Amr #+FILETAGS: :harness:loop: @@ -324,7 +324,7 @@ The main function orchestrates system startup: These tests verify the metabolic loop and error recovery. Run with: ~(fiveam:run! 'immune-suite)~ -#+begin_src lisp :tangle (expand-file-name "immune-system-tests.lisp" (concat (concat (or (getenv "INSTALL_DIR") ".") "/harness") "/tests")) +#+begin_src lisp :tangle (expand-file-name "harness/immune-system-tests.lisp" (concat (concat (or (getenv "INSTALL_DIR") ".") "/harness") "/tests")) (defpackage :opencortex-immune-system-tests (:use :cl :fiveam :opencortex) (:export #:immune-suite)) diff --git a/harness/manifest.org b/harness/manifest.org index ab22743..b5010e4 100644 --- a/harness/manifest.org +++ b/harness/manifest.org @@ -9,7 +9,7 @@ The *System Manifest* defines the structural components of the OpenCortex. It se * Implementation ** Main System -#+begin_src lisp :tangle (concat (getenv "INSTALL_DIR") "/harness/opencortex.asd") +#+begin_src lisp :tangle (expand-file-name "opencortex.asd") (defsystem :opencortex :name "opencortex" :author "Amr Gharbeia" @@ -31,7 +31,7 @@ The *System Manifest* defines the structural components of the OpenCortex. It se #+end_src ** Test System -#+begin_src lisp :tangle (concat (getenv "INSTALL_DIR") "/harness/opencortex.asd") +#+begin_src lisp :tangle (expand-file-name "opencortex.asd") (defsystem :opencortex/tests :depends-on (:opencortex :fiveam) :components ((:file "tests/pipeline-act-tests") @@ -55,14 +55,14 @@ The *System Manifest* defines the structural components of the OpenCortex. It se #+end_src ** TUI System -#+begin_src lisp :tangle (concat (getenv "INSTALL_DIR") "/harness/opencortex.asd") +#+begin_src lisp :tangle (expand-file-name "opencortex.asd") (defsystem :opencortex/tui :depends-on (:opencortex :croatoan :usocket :bordeaux-threads) :components ((:file "harness/tui-client"))) #+end_src ** Test Orchestrator -#+begin_src lisp :tangle (concat (getenv "INSTALL_DIR") "/harness/run-all-tests.lisp") +#+begin_src lisp :tangle (expand-file-name "run-all-tests.lisp") (load (merge-pathnames "quicklisp/setup.lisp" (user-homedir-pathname))) (let ((oc-dir (or (getenv "OC_DATA_DIR") diff --git a/harness/memory.org b/harness/memory.org index 25eaf42..6a91ad3 100644 --- a/harness/memory.org +++ b/harness/memory.org @@ -31,14 +31,14 @@ flowchart TD #+end_src ** Package Context -#+begin_src lisp :tangle (concat (getenv "INSTALL_DIR") "/harness/memory.lisp" (expand-file-name "")) +#+begin_src lisp :tangle (expand-file-name "harness/memory.lisp" (expand-file-name "harness/")) (in-package :opencortex) #+end_src ** The Object Repository The `*memory*` is the global hash table that holds every Org element by its unique ID. This is the "live RAM" of the agent's memory. -#+begin_src lisp :tangle (concat (getenv "INSTALL_DIR") "/harness/memory.lisp" (expand-file-name "")) +#+begin_src lisp :tangle (expand-file-name "harness/memory.lisp" (expand-file-name "harness/")) (defvar *memory* (make-hash-table :test 'equal)) (defvar *history-store* (make-hash-table :test 'equal) @@ -48,7 +48,7 @@ The `*memory*` is the global hash table that holds every Org element by its uniq ** The Data Structure (org-object) Every element in the Memex (headlines, paragraphs, etc.) is represented by an `org-object` structure. It contains both semantic metadata (attributes, content) and structural metadata (parent/child pointers, Merkle hashes). -#+begin_src lisp :tangle (concat (getenv "INSTALL_DIR") "/harness/memory.lisp" (expand-file-name "")) +#+begin_src lisp :tangle (expand-file-name "harness/memory.lisp" (expand-file-name "harness/")) (defstruct org-object id type attributes content vector parent-id children version last-sync hash) @@ -60,7 +60,7 @@ Every element in the Memex (headlines, paragraphs, etc.) is represented by an `o ** Merkle Tree Integrity (compute-merkle-hash) The `compute-merkle-hash` function ensures the cryptographic integrity of the knowledge graph. A node's hash depends on its own properties and the hashes of all its children. This creates a recursive fingerprint where any change to a single note propagates up to the root hash. -#+begin_src lisp :tangle (concat (getenv "INSTALL_DIR") "/harness/memory.lisp" (expand-file-name "")) +#+begin_src lisp :tangle (expand-file-name "harness/memory.lisp" (expand-file-name "harness/")) (defun compute-merkle-hash (id type attributes content child-hashes) "Computes a SHA-256 Merkle hash for a node based on its core properties and children's hashes." (let* ((alist (loop for (k v) on attributes by #'cddr collect (cons k v))) @@ -77,7 +77,7 @@ The `compute-merkle-hash` function ensures the cryptographic integrity of the kn ** Ingesting the AST (ingest-ast) The `ingest-ast` function is the primary bridge between the external world (Emacs/JSON) and the internal Lisp machine. It recursively parses an Org-mode Abstract Syntax Tree (AST) into `org-object` structures and registers them in the store. -#+begin_src lisp :tangle (concat (getenv "INSTALL_DIR") "/harness/memory.lisp" (expand-file-name "")) +#+begin_src lisp :tangle (expand-file-name "harness/memory.lisp" (expand-file-name "harness/")) (defun ingest-ast (ast &optional parent-id) "Parses an Org AST into the recursive Lisp Memory with Merkle hashing." (let* ((type (getf ast :type)) @@ -116,7 +116,7 @@ The `ingest-ast` function is the primary bridge between the external world (Emac ** Memory Snapshots (snapshot-memory) Because objects are stored immutably in the `*history-store*`, a snapshot is a lightweight shallow copy of the active `*memory*` pointers. The system maintains a rolling buffer of 20 snapshots, allowing for near-instant, zero-cost rollback. -#+begin_src lisp :tangle (concat (getenv "INSTALL_DIR") "/harness/memory.lisp" (expand-file-name "")) +#+begin_src lisp :tangle (expand-file-name "harness/memory.lisp" (expand-file-name "harness/")) (defvar *object-store-snapshots* nil) (defun copy-hash-table (hash-table) @@ -143,7 +143,7 @@ Because objects are stored immutably in the `*history-store*`, a snapshot is a l ** Memory Rollback (rollback-memory) Restores the state of the Memex from one of the previous snapshots. -#+begin_src lisp :tangle (concat (getenv "INSTALL_DIR") "/harness/memory.lisp" (expand-file-name "")) +#+begin_src lisp :tangle (expand-file-name "harness/memory.lisp" (expand-file-name "harness/")) (defun rollback-memory (&optional (index 0)) "Restores the Memory to a previously captured snapshot using immutable history pointers." (let ((snapshot (nth index *object-store-snapshots*))) @@ -156,7 +156,7 @@ Restores the state of the Memex from one of the previous snapshots. ** Disk Persistence (save-memory / load-memory) Essential for surviving crashes. Saves the in-memory hash tables to disk and loads them back on restart. -#+begin_src lisp :tangle (concat (getenv "INSTALL_DIR") "/harness/memory.lisp" (expand-file-name "")) +#+begin_src lisp :tangle (expand-file-name "harness/memory.lisp" (expand-file-name "harness/")) (defvar *memory-snapshot-path* nil "Path to the memory snapshot file. Set from MEMORY_SNAPSHOT_PATH env or default.") @@ -209,7 +209,7 @@ Reconstitutes alists into hash tables." ** Semantic Search (get-embedding, semantic-search) Support for vector embeddings via Ollama and semantic search with cosine similarity. -#+begin_src lisp :tangle (concat (getenv "INSTALL_DIR") "/harness/memory.lisp" (expand-file-name "")) +#+begin_src lisp :tangle (expand-file-name "harness/memory.lisp" (expand-file-name "harness/")) (defvar *embedding-cache* (make-hash-table :test 'equal) "Cache for embeddings to avoid redundant API calls.") @@ -258,7 +258,7 @@ Returns up to LIMIT objects with similarity >= MIN-SIMILARITY, sorted by similar #+end_src ** Cognitive Tool: Semantic Search -#+begin_src lisp :tangle (concat (getenv "INSTALL_DIR") "/harness/memory.lisp" (expand-file-name "")) +#+begin_src lisp :tangle (expand-file-name "harness/memory.lisp" (expand-file-name "harness/")) (def-cognitive-tool :semantic-search "Searches memory for objects semantically similar to a query." ((:query :type :string :description "The search query.") @@ -271,7 +271,7 @@ Returns up to LIMIT objects with similarity >= MIN-SIMILARITY, sorted by similar #+end_src ** Cognitive Tool: Generate Embeddings -#+begin_src lisp :tangle (concat (getenv "INSTALL_DIR") "/harness/memory.lisp" (expand-file-name "")) +#+begin_src lisp :tangle (expand-file-name "harness/memory.lisp" (expand-file-name "harness/")) (def-cognitive-tool :generate-embeddings "Generates vector embeddings for given text via the configured embedding backend (Ollama)." ((:texts :type :list :description "List of text strings to embed.")) @@ -294,7 +294,7 @@ Returns up to LIMIT objects with similarity >= MIN-SIMILARITY, sorted by similar ** Lookup Utilities Basic functions for retrieving objects by ID or type. -#+begin_src lisp :tangle (concat (getenv "INSTALL_DIR") "/harness/memory.lisp" (expand-file-name "")) +#+begin_src lisp :tangle (expand-file-name "harness/memory.lisp" (expand-file-name "harness/")) (defun org-id-new () "Generates a new UUID string for Org-mode identification." (string-downcase (format nil "~a" (uuid:make-v4-uuid)))) @@ -324,7 +324,7 @@ Basic functions for retrieving objects by ID or type. ** Structural Helpers Utility functions for AST traversal and path resolution. -#+begin_src lisp :tangle (concat (getenv "INSTALL_DIR") "/harness/memory.lisp" (expand-file-name "")) +#+begin_src lisp :tangle (expand-file-name "harness/memory.lisp" (expand-file-name "harness/")) (defun find-headline-missing-id (ast) "Traverses an AST to find headlines that lack an :ID: property." (when (listp ast) @@ -339,7 +339,7 @@ Utility functions for AST traversal and path resolution. * Test Suite -#+begin_src lisp :tangle (expand-file-name "memory-tests.lisp" (concat (concat (or (getenv "INSTALL_DIR") ".") "/harness") "/tests")) +#+begin_src lisp :tangle (expand-file-name "harness/memory-tests.lisp" (concat (concat (or (getenv "INSTALL_DIR") ".") "/harness") "/tests")) (defpackage :opencortex-memory-tests (:use :cl :fiveam :opencortex) (:export #:memory-suite)) diff --git a/harness/package.org b/harness/package.org index 0aad61a..a99a56c 100644 --- a/harness/package.org +++ b/harness/package.org @@ -1,4 +1,4 @@ -#+PROPERTY: header-args:lisp :tangle (concat (getenv "INSTALL_DIR") "/harness/package.lisp") +#+PROPERTY: header-args:lisp :tangle (expand-file-name "harness/package.lisp") #+TITLE: System Interface (package.lisp) #+AUTHOR: Amr #+FILETAGS: :harness:interface: diff --git a/harness/perceive.org b/harness/perceive.org index de32165..d8f9108 100644 --- a/harness/perceive.org +++ b/harness/perceive.org @@ -1,4 +1,4 @@ -#+PROPERTY: header-args:lisp :tangle (concat (getenv "INSTALL_DIR") "/harness/perceive.lisp" (expand-file-name "")) +#+PROPERTY: header-args:lisp :tangle (expand-file-name "harness/perceive.lisp" (expand-file-name "harness/")) #+TITLE: Stage 1: Perceive (perceive.lisp) #+AUTHOR: Amr #+FILETAGS: :harness:perceive: @@ -227,7 +227,7 @@ Other sensors (heartbeats, interrupts) are processed synchronously to maintain o These tests verify the Perceive pipeline. Run with: ~(fiveam:run! 'pipeline-perceive-suite)~ -#+begin_src lisp :tangle (expand-file-name "pipeline-perceive-tests.lisp" (concat (concat (or (getenv "INSTALL_DIR") ".") "/harness") "/tests")) +#+begin_src lisp :tangle (expand-file-name "harness/pipeline-perceive-tests.lisp" (concat (concat (or (getenv "INSTALL_DIR") ".") "/harness") "/tests")) (defpackage :opencortex-pipeline-perceive-tests (:use :cl :fiveam :opencortex) (:export #:pipeline-perceive-suite)) diff --git a/harness/reason.org b/harness/reason.org index 9cd0db2..fc2d1f2 100644 --- a/harness/reason.org +++ b/harness/reason.org @@ -1,4 +1,4 @@ -#+PROPERTY: header-args:lisp :tangle (concat (getenv "INSTALL_DIR") "/harness/reason.lisp" (expand-file-name "")) +#+PROPERTY: header-args:lisp :tangle (expand-file-name "harness/reason.lisp" (expand-file-name "harness/")) #+TITLE: Stage 2: Reason (reason.lisp) #+AUTHOR: Amr #+FILETAGS: :harness:reason: @@ -472,7 +472,7 @@ The deterministic engine runs all registered skills' verification functions. Thi These tests verify the Reason (cognitive) pipeline. Run with: ~(fiveam:run! 'pipeline-reason-suite)~ -#+begin_src lisp :tangle (expand-file-name "pipeline-reason-tests.lisp" (concat (concat (or (getenv "INSTALL_DIR") ".") "/harness") "/tests")) +#+begin_src lisp :tangle (expand-file-name "harness/pipeline-reason-tests.lisp" (concat (concat (or (getenv "INSTALL_DIR") ".") "/harness") "/tests")) (defpackage :opencortex-pipeline-reason-tests (:use :cl :fiveam :opencortex) (:export #:pipeline-reason-suite)) diff --git a/harness/setup.org b/harness/setup.org index 401bc60..cacd7b6 100644 --- a/harness/setup.org +++ b/harness/setup.org @@ -23,7 +23,7 @@ To maintain sovereignty, the harness must remain a "dumb" bus. It should not kno ** The Installer Script (opencortex.sh) The shell script is the primary entry point. It handles the initial git clone, dependency installation, and literate tangle. -#+begin_src bash :tangle (concat (getenv "INSTALL_DIR") "/harness/../opencortex.sh") +#+begin_src bash :tangle (expand-file-name "harness/../opencortex.sh") #!/bin/bash # (The content here is a duplicate of the main opencortex.sh for literate consistency) # [Note: Implementation is already verified in the top-level script] diff --git a/harness/skills.org b/harness/skills.org index 493026d..9ec09cb 100644 --- a/harness/skills.org +++ b/harness/skills.org @@ -1,4 +1,4 @@ -#+PROPERTY: header-args:lisp :tangle (expand-file-name "skills.lisp") +#+PROPERTY: header-args:lisp :tangle (expand-file-name "harness/skills.lisp") #+TITLE: The Skill Engine (skills.lisp) #+AUTHOR: Amr #+FILETAGS: :harness:skills: diff --git a/harness/tui-client.org b/harness/tui-client.org index d6fe06b..7789977 100644 --- a/harness/tui-client.org +++ b/harness/tui-client.org @@ -22,26 +22,26 @@ A simple MVP console is insufficient for a Lisp Machine. To reach v0.2.0, the TU * Phase B: Protocol (Success Criteria) ** Test Suite Context -#+begin_src lisp :tangle ((concat (getenv "INSTALL_DIR") "/tests/tui-tests.lisp")) +#+begin_src lisp :tangle ((expand-file-name "tui-tests.lisp")) (defpackage :opencortex-tui-tests (:use :cl :fiveam :opencortex) (:export #:tui-suite)) #+end_src -#+begin_src lisp :tangle ((concat (getenv "INSTALL_DIR") "/tests/tui-tests.lisp")) +#+begin_src lisp :tangle ((expand-file-name "tui-tests.lisp")) (in-package :opencortex-tui-tests) #+end_src -#+begin_src lisp :tangle ((concat (getenv "INSTALL_DIR") "/tests/tui-tests.lisp")) +#+begin_src lisp :tangle ((expand-file-name "tui-tests.lisp")) (def-suite tui-suite :description "Verification of the TUI parsing and styling logic") #+end_src -#+begin_src lisp :tangle ((concat (getenv "INSTALL_DIR") "/tests/tui-tests.lisp")) +#+begin_src lisp :tangle ((expand-file-name "tui-tests.lisp")) (in-suite tui-suite) #+end_src ** Command Parsing Tests -#+begin_src lisp :tangle ((concat (getenv "INSTALL_DIR") "/tests/tui-tests.lisp")) +#+begin_src lisp :tangle ((expand-file-name "tui-tests.lisp")) (test test-tui-connection-drop "Tier 2 Chaos: Verify that handle-return degrades gracefully when the daemon connection is lost." (let ((opencortex.tui::*incoming-msgs* nil)