From f858b86b6494a50c13ac2142c7d6dd0fda491466 Mon Sep 17 00:00:00 2001 From: Amr Gharbeia Date: Thu, 30 Apr 2026 11:17:45 -0400 Subject: [PATCH] docs(AGENTS): add utils-lisp mandate for Lisp structural operations - NEW: REPL-first workflow requirement - NEW: Must use utils-lisp functions for any .lisp work - NEW: Never use edit tool on .lisp files directly - NEW: Post-task verification: REPL verified + utils-lisp used --- .opencode/AGENTS.md | 12 +++++++++++- notes/.#chats-with-gemini.org | 1 + notes/.#gemini-vision.org | 1 + 3 files changed, 13 insertions(+), 1 deletion(-) create mode 120000 notes/.#chats-with-gemini.org create mode 120000 notes/.#gemini-vision.org diff --git a/.opencode/AGENTS.md b/.opencode/AGENTS.md index 7281a98..5fd1e1c 100644 --- a/.opencode/AGENTS.md +++ b/.opencode/AGENTS.md @@ -105,7 +105,15 @@ This agent MUST verify these conditions before, during, and after each task. Vio ### During Task (Literate Programming) -- [ ] **Org-only edits** — Edit only `.org` files, never generated `.lisp` directly +- [ ] **REPL-first workflow** — Explore in REPL before writing code +- [ ] **Utils-lisp for structural ops** — Use these functions for any .lisp work: + - `utils-lisp-structural-extract` — Extract function definitions + - `utils-lisp-structural-inject` — Inject forms into definitions + - `utils-lisp-structural-wrap` — Wrap code in let/progn + - `utils-lisp-validate` — Validate code before commit + - `repl-eval` — Test code in REPL + - `repl-inspect` — Inspect variables/functions +- [ ] **Never use edit tool on .lisp** — Only edit .org files; never touch generated .lisp directly - [ ] **One function per block** — Each `#+begin_src` block contains exactly one definition - [ ] **Prose before code** — Every block preceded by explanatory text - [ ] **Prose includes**: What the function does, arguments, return value, rationale @@ -114,6 +122,8 @@ This agent MUST verify these conditions before, during, and after each task. Vio ### After Task (Validation) +- [ ] **REPL verified** — Code tested in REPL before commit (not just text edit) +- [ ] **Utils-lisp used** — Confirmed structural operations went through utils-lisp - [ ] **Tests pass** — Run full test suite; 100% pass required - [ ] **Chaos tier 1** — Deterministic regression tests pass - [ ] **No artifacts** — No orphaned `.bak`, `.log`, `.tmp`, or untracked test files diff --git a/notes/.#chats-with-gemini.org b/notes/.#chats-with-gemini.org new file mode 120000 index 0000000..fa344a9 --- /dev/null +++ b/notes/.#chats-with-gemini.org @@ -0,0 +1 @@ +user@amr.154851:1777155215 \ No newline at end of file diff --git a/notes/.#gemini-vision.org b/notes/.#gemini-vision.org new file mode 120000 index 0000000..fa344a9 --- /dev/null +++ b/notes/.#gemini-vision.org @@ -0,0 +1 @@ +user@amr.154851:1777155215 \ No newline at end of file