Files
memex/notes/org-skill-long-horizon.org

3.5 KiB

SKILL: Long-Horizon Planning Agent (Universal Literate Note)

Overview

The Long-Horizon Planning Agent manages complex, multi-step tasks that exceed the context window of standard LLMs. It uses an Org-mode Dynamic Task Tree to track progress, summarize completed sub-tasks, and prune irrelevant execution branches.

Phase A: Demand (PRD)

1. Purpose

Enable the agent to maintain focus and coherence over tasks spanning 100+ steps (SWE-bench parity).

2. User Needs

  • Hierarchical Planning: Break large goals into a nested tree of Org headlines.
  • Context Compression: Automatically summarize the results of child sub-trees into their parent nodes.
  • Branch Pruning: Meta-cognitive review to stop execution of failed or redundant paths.
  • Self-Correction: Adjust the plan dynamically based on environmental feedback.

3. Success Criteria

TODO Dynamic Task Tree Generation

TODO Context Compression Verification

TODO Branch Pruning Logic Effectiveness

Phase B: Blueprint (PROTOCOL)

1. Architectural Intent

Interfaces for plan generation and recursive summarization. Source of truth is the current plan subtree in the Object Store.

2. Semantic Interfaces

(defun plan-compress-node (node-id)
  "Neural summarization of a completed sub-task tree.")

(defun plan-review-branches (root-id)
  "Meta-cognitive audit of the current plan to prune dead ends.")

Phase D: Build (Implementation)

Context Compression

(defun plan-compress-node (node-id)
  "Summarizes a completed task and its children into a single string to save context."
  (let* ((obj (org-agent:lookup-object node-id))
         (children (org-agent:org-object-children obj))
         (content (org-agent:org-object-content obj))
         (child-summaries (loop for cid in children 
                                collect (org-agent:org-object-content (org-agent:lookup-object cid)))))
    (org-agent:ask-neuro 
     (format nil "Summarize this completed sub-task and its outcomes: ~a~%Sub-tasks: ~{~a~%~}" content child-summaries)
     :system-prompt "You are a Meta-Cognitive Pruning Engine. Summarize outcomes to preserve high-signal context.")))

Neuro-Cognitive Audit

(defun neuro-skill-long-horizon (context)
  "Triggered when a major milestone is reached. 
   Performs a 'Review' of the entire plan tree."
  (let* ((payload (getf context :payload))
         (root-id (getf payload :plan-root-id))
         (plan-tree (org-agent:lookup-object root-id)))
    (format nil "
      I am performing a Meta-Cognitive Audit of the current plan.
      ROOT: ~a
      STATUS: ~a
      
      TASK:
      1. Identify nodes that are 'BLOCKED' or 'FAILED'.
      2. Decide if these branches should be RETRIED, PRUNED, or if the PLAN needs RESTRUCTURING.
      3. Return a revised plan structure in Lisp format.
    " (getf (org-agent:org-object-attributes plan-tree) :TITLE)
      (getf (org-agent:org-object-attributes plan-tree) :TODO-STATE))))

Registration

(defskill :skill-long-horizon
  :priority 95
  :trigger (lambda (context) (eq (getf (getf context :payload) :sensor) :milestone))
  :neuro #'neuro-skill-long-horizon
  :symbolic (lambda (action context) action))