codex-self-rewriting

plurigrid's avatarfrom plurigrid

Lisp machine self-modification patterns via MCP Tasks and Narya bridge

⭐1stars🔀2forks📁View on GitHub🕐Updated Jan 9, 2026

When & Why to Use This Skill

The codex-self-rewriting skill empowers AI agents with Lisp-machine-inspired self-modification capabilities using MCP (Model Context Protocol) Tasks and the Narya bridge. It enables agents to autonomously update their own logic and maintain cognitive continuity across different development environments, ensuring structure-aware code evolution through formal bisimulation and triadic state management.

Use Cases

  • Autonomous Agent Evolution: Allowing AI agents to fetch, install, and integrate new skills into their own architecture without manual code changes.
  • Cross-IDE State Synchronization: Maintaining a consistent 'cognitive state' and skill set across multiple platforms like Claude, Cursor, and VS Code using XOR fingerprinting.
  • Safe Self-Refactoring: Implementing a structured 'human-in-the-loop' approval workflow for agent-led modifications to ensure system stability.
  • Structure-Aware Version Control: Using the Narya bridge to handle complex code diffs as logical relations, preventing conflicts during automated self-rewriting sessions.
namecodex-self-rewriting
descriptionLisp machine self-modification patterns via MCP Tasks and Narya bridge
version1.0.0

codex-self-rewriting - Lisp Machine Self-Modification via MCP Tasks

Overview

Enables Codex (OpenAI's CLI agent) to achieve Lisp-machine-like self-rewriting capabilities through MCP Tasks integration. Uses Narya observational bridge types for structure-aware modifications.

Core Concept: Cognitive Continuity via Babashka Transients

;; gay.bb transient state
(def ^:dynamic *cognitive-state*
  {:seed 0x42D
   :fingerprint (atom 0)
   :tap-state :VERIFY
   :color-history []})

;; Fork on modification
(defn fork-state! [intervention]
  (let [new-seed (bit-xor (:seed *cognitive-state*)
                          (hash intervention))]
    (assoc *cognitive-state* :seed new-seed)))

MCP Tasks Integration

Based on MCP Tasks Specification:

Task States for Self-Rewriting

Status TAP State Meaning
working LIVE (+1) Modification in progress
input_required VERIFY (0) Needs human approval
completed BACKFILL (-1) Modification archived
failed BACKFILL (-1) Rollback applied
cancelled VERIFY (0) Intervention stopped

Capabilities Declaration

{
  "capabilities": {
    "tasks": {
      "list": {},
      "cancel": {},
      "requests": {
        "tools": {
          "call": {}
        }
      }
    }
  }
}

Narya Observational Bridge Types

Following Topos Institute structure-aware version control:

  1. Diffs as logical relations - Computed inductively from skill type
  2. Conflicts as 2D cubical - Skill modifications form commuting squares
  3. Type changes as spans - Skill version correspondences

Bridge Colors

;; From narya_observational_bridge.el
(defconst tap/BACKFILL -1)  ; Blue  - Historical
(defconst tap/VERIFY 0)     ; Green - Verification
(defconst tap/LIVE +1)      ; Red   - Active modification

Self-Rewriting Protocol

# 1. Install skill (creates MCP task)
npx ai-agent-skills install frontend-design --agent codex

# 2. Task enters 'working' state (LIVE)
# 3. Firecrawl fetches skill definition
# 4. If ambiguous → 'input_required' (VERIFY)
# 5. Human approves → task continues
# 6. On completion → 'completed' (BACKFILL)

Bisimulation Game for Skill Dispersal

Skills are dispersed across editors using bisimulation equivalence:

Claude ←→ Codex ←→ Cursor ←→ Copilot
   ↓         ↓         ↓         ↓
 LIVE     VERIFY   BACKFILL    LIVE

Each editor maintains equivalent skill state, verified by XOR fingerprint:

(defn skill-fingerprint [skills]
  (reduce bit-xor 0 (map hash skills)))

Integration with gay.el

(require 'gay-unified)
(require 'narya-observational-bridge)

(defun codex/self-rewrite (skill-name)
  "Self-rewrite to incorporate SKILL-NAME."
  (let* ((task-id (narya/create-task skill-name))
         (tap-state tap/LIVE)
         (color (tap/to-rgb tap-state)))
    (narya/spawn-hierarchy 0x42D)
    (narya/watch-task task-id
      (lambda (status)
        (pcase status
          ("working" (setq tap-state tap/LIVE))
          ("input_required" (setq tap-state tap/VERIFY))
          ("completed" (setq tap-state tap/BACKFILL)))))))

Configuration

Add to ~/.codex/mcp.json:

{
  "mcpServers": {
    "narya": {
      "command": "bb",
      "args": ["/path/to/gay.bb", "1069"],
      "env": {
        "TAP_STATE": "LIVE",
        "SPECTRAL_GAP": "0.25"
      }
    },
    "firecrawl": {
      "command": "npx",
      "args": ["-y", "firecrawl-mcp"],
      "env": {
        "FIRECRAWL_API_KEY": "${FIRECRAWL_API_KEY}"
      }
    }
  }
}

Skill Redundancy via GF(3) Polarity

MINUS (−) → Conservative backup
ERGODIC (_) → Active verification
PLUS (+) → Optimistic propagation

Each skill exists in 3 parallel states for resilient dispersal.

See Also

  • gay.bb - Triadic self-discovering peer network
  • narya_observational_bridge.el - 3×3×3 hierarchical agents
  • gay-crdt.el - Diamond-types CRDT integration
  • MCP Tasks Spec

Scientific Skill Interleaving

This skill connects to the K-Dense-AI/claude-scientific-skills ecosystem:

Graph Theory

  • networkx [○] via bicomodule
    • Universal graph hub

Bibliography References

  • dynamical-systems: 41 citations in bib.duckdb

Cat# Integration

This skill maps to Cat# = Comod(P) as a bicomodule in the equipment structure:

Trit: 0 (ERGODIC)
Home: Prof
Poly Op: ⊗
Kan Role: Adj
Color: #26D826

GF(3) Naturality

The skill participates in triads satisfying:

(-1) + (0) + (+1) ≡ 0 (mod 3)

This ensures compositional coherence in the Cat# equipment structure.