- Updated all 22 skill org files to use $OC_DATA_DIR/skills/ paths - Removed manually created .lisp file (tangling now targets XDG) - Files will now tangle to ~/.local/share/opencortex/skills/
38 lines
1.3 KiB
Org Mode
38 lines
1.3 KiB
Org Mode
#+TITLE: SKILL: Engineering Standards (org-skill-engineering-standards.org)
|
|
#+AUTHOR: Agent
|
|
#+FILETAGS: :system:engineering:chaos:
|
|
#+PROPERTY: header-args:lisp :tangle $OC_DATA_DIR/skills/org-skill-engineering-standards.lisp
|
|
|
|
* Overview
|
|
The *Engineering Standards Skill* enforces technical invariants, including the **Commit-Before-Modify** rule and **Chaos-Driven Development**.
|
|
|
|
* Implementation
|
|
|
|
** Standards Enforcement
|
|
#+begin_src lisp
|
|
(defun verify-git-clean-p (dir)
|
|
"Checks if a directory has uncommitted changes."
|
|
(let ((status (uiop:run-program (list "git" "-C" (namestring dir) "status" "--porcelain")
|
|
:output :string
|
|
:ignore-error-status t)))
|
|
(string= "" (string-trim '(#\Space #\Newline #\Tab) status))))
|
|
|
|
(defun engineering-standards-verify-lisp (code)
|
|
"Enforces Lisp structural and semantic standards using utils-lisp."
|
|
(let ((result (utils-lisp-validate code :strict t)))
|
|
(if (eq (getf result :status) :success)
|
|
t
|
|
(error (getf result :reason)))))
|
|
|
|
(defun engineering-standards-format-lisp (code)
|
|
"Ensures Lisp code adheres to formatting standards."
|
|
(utils-lisp-format code))
|
|
#+end_src
|
|
|
|
** Skill Registration
|
|
#+begin_src lisp
|
|
(defskill :skill-engineering-standards
|
|
:priority 100
|
|
:trigger (lambda (ctx) (declare (ignore ctx)) nil))
|
|
#+end_src
|