:PROPERTIES: :ID: 1e2c3535-2ebb-424b-9bee-ba118ddf0baa :CREATED: [2026-03-31 Tue 20:28] :EDITED: [2026-04-07 Tue 13:42] :END: #+TITLE: SKILL: The Economist Agent (Universal Literate Note) #+STARTUP: content #+FILETAGS: :economics:optimization:budget:psf: #+DEPENDS_ON: skill-router skill-performance-auditor * Overview The *Economist Agent* manages compute resources by prioritizing high-performance **subsidized free models** (Llama 3.3, Qwen 3.6) to ensure the PSF operates at zero marginal cost whenever possible. * Phase A: Demand (PRD) :PROPERTIES: :STATUS: SIGNED :END: ** 1. Purpose Minimize system-wide compute costs by aggressively routing to free tier providers. * Phase B: Blueprint (PROTOCOL) :PROPERTIES: :STATUS: SIGNED :END: ** 1. Architectural Intent Dynamically route to OpenRouter's :free model list for Reflexive and Cognitive tiers. ** 2. Semantic Interfaces *** Routing Logic (Zero-Toll Fleet) #+begin_src lisp :tangle ../projects/org-skill-economist/src/economist-logic.lisp (in-package :org-agent) (defun economist-route-task (context) (declare (ignore context)) '(:openrouter)) (defun economist-get-model-for-provider (provider &optional context) "Returns 100% Free/Subsidized model IDs from OpenRouter. Updated April 2026." (let ((complexity (ignore-errors (uiop:symbol-call :org-agent.skills.org-skill-router :router-classify-complexity context)))) (case provider (:openrouter (case complexity (:REASONING "meta-llama/llama-3.3-70b-instruct:free") ; High fidelity, zero cost (:COGNITION "qwen/qwen3.6-plus:free") ; Latest interaction, zero cost (t "meta-llama/llama-3.2-3b-instruct:free"))) ; Ultra-fast reflex, zero cost (t nil)))) #+end_src * Registration #+begin_src lisp (progn ;; Register the economist as the kernel's model selector (setf org-agent::*model-selector-fn* #'economist-get-model-for-provider) (defskill :skill-economist :priority 100 :trigger (lambda (context) (eq (getf (getf context :payload) :sensor) :cost-audit)) :neuro (lambda (context) nil) :symbolic (lambda (action context) (economist-route-task context)))) #+end_src