git clone https://github.com/plurigrid/asi
T=$(mktemp -d) && git clone --depth=1 https://github.com/plurigrid/asi "$T" && mkdir -p ~/.claude/skills && cp -r "$T/plugins/asi/skills/behaviour-surprisal-analysis" ~/.claude/skills/plurigrid-asi-behaviour-surprisal-analysis && rm -rf "$T"
plugins/asi/skills/behaviour-surprisal-analysis/SKILL.mdBehaviour Surprisal Analysis
Status: Production Ready (v3.0 - Cat# Integration) Trit: 0 (ERGODIC - measurement/observation) Principle: S(x) = -log₂(P(x|attention_mode)) Frame: Tri-channel prediction evaluation with AGM belief revision + Cat# bicomodule structure
Overview
Behaviour Surprisal Analysis calculates information-theoretic surprise between predictions and observed outcomes using three complementary attention channels mapped to Cat# = Comod(P) structure:
| Channel | Trit | Home | Poly Op | Kan Role | Description |
|---|---|---|---|---|---|
| Direct (α) | −1 | Span | × (product) | Ran_K | Exact artifact matching |
| Diffuse (β) | 0 | Prof | ⊗ (parallel) | Adj | Thematic/structural matching |
| Meta (γ) | +1 | Presheaves | ◁ (substitution) | Lan_K | Capability/infrastructure tracking |
Total Surprisal = α·S_direct + β·S_diffuse + γ·S_meta where α + β + γ = 1 and typically α=0.3, β=0.5, γ=0.2
Cat# Integration (v3.0)
Galois Adjunction α ⊣ γ
The Direct and Meta channels form a Galois adjunction through the Diffuse bridge:
α (abstract) Direct ─────────────→ Diffuse ↑ │ │ CatSharp │ γ (concretize) │ Scale │ └──────────────────────┘ Meta GF(3): (−1) + (0) + (+1) = 0 ✓
- α (abstraction): Direct predictions → Diffuse patterns
- γ (concretization): Diffuse patterns → Direct predictions
- Unit η: id → γ∘α verifies coherence
Three Homes (Spivak ACT 2023)
Each channel lives in a specific Cat# home:
┌────────────┬─────────────┬──────────┬───────────────┬────────────┐ │ Channel │ Poly Op │ Kan Role │ Structure │ Home │ ├────────────┼─────────────┼──────────┼───────────────┼────────────┤ │ Direct │ × (prod) │ Ran_K │ cofree t_p │ Span │ │ Diffuse │ ⊗ (para) │ Adj │ bicomodule │ Prof │ │ Meta │ ◁ (subst) │ Lan_K │ free m_p │ Presheaves │ └────────────┴─────────────┴──────────┴───────────────┴────────────┘
Bicomodule Coherence
Predictions and observations form bicomodule pairs. Coherence is verified by:
- Galois unit check: η: id → γ∘α preserves trits
- Bicomodule compatibility: pred_trit ↔ obs_trit compatible homes
CatSharp Scale Sonification
Surprisal values map to pitch classes via the CatSharp scale:
| Trit | Pitch Classes | Chord Type | Hz Range |
|---|---|---|---|
| +1 (PLUS) | {0, 4, 8} | Augmented triad | C-E-G# |
| 0 (ERGODIC) | {3, 6, 9} | Diminished 7th | D#-F#-A-C |
| −1 (MINUS) | {1,2,5,7,10,11} | Fifths cycle | C#,D,F,G,A#,B |
;; Surprisal → Pitch class → Frequency (defn surprisal->pitch-class [surp] (mod (Math/round (* (min surp 10.0) 1.2)) 12)) (defn pitch-class->freq [pc] (* 261.63 (Math/pow 2 (/ pc 12.0)))) ;; C4 = 261.63 Hz
Enable with
--sonify flag to hear the surprisal as tones via sox.
AGM Belief Revision (Levi Identity)
Based on Baker 2023:
K * φ = (K − ¬φ) + φ (Levi Identity)
- Contraction (K − ¬φ): Remove predictions contradicted by observations
- Expansion (+ φ): Add new beliefs from observed data
- Revision (K * φ): Combined operation via Levi identity
Spohn κ-Ranking
Predictions ranked by entrenchment:
(defn kappa-rank [belief] (- (Math/log (/ 1 (max 0.01 (:confidence belief))))))
Lower κ = more entrenched = harder to revise.
Usage
# Full Cat# analysis with sonification bb ~/.claude/skills/behaviour-surprisal-analysis/analyse.bb \ --predictions predictions.json \ --observed observed.json \ --alpha 0.3 --beta 0.5 --gamma 0.2 \ --sonify # With capability tracking bb analyse.bb \ --predictions predictions.json \ --observed observed.json \ --skills-before skills_t0.txt \ --skills-after skills_t30.txt # Direct-heavy (Span home focus) bb analyse.bb --alpha 0.7 --beta 0.2 --gamma 0.1 # Meta-heavy (Presheaves home focus) bb analyse.bb --alpha 0.1 --beta 0.3 --gamma 0.6 --sonify
Input Format
{ "predictions": { "direct": [ {"content": "Ruby MCP SDK for skill markets", "confidence": 0.8}, {"content": "VirtualizationBridge sandbox test", "confidence": 0.7} ], "diffuse": [ {"theme": "GF(3) conservation", "keywords": ["trit", "lattice", "conservation"]}, {"theme": "skill markets", "keywords": ["confidential", "commitment", "beacon"]} ], "meta": { "skills_before": 45, "mcp_servers_before": 12, "config_hash": "a3f2c1" } }, "observed": { "threads": [ "Ruby MCP SDK for confidential skill markets", "GF(3) skill composition and Galois connection verification", "Derangement operators and GF(3) entropy management" ], "capability_events": [ {"type": "skill_install", "count": 373, "source": "plurigrid/asi"}, {"type": "mcp_addition", "server": "world_a_aptos"} ] } }
Output Format
╔══════════════════════════════════════════════════════════════════╗ ║ BEHAVIOUR SURPRISAL ANALYSIS v3.0 (Cat# + AGM) ║ ║ α=0.30 (Span/Ran) β=0.50 (Prof/Adj) γ=0.20 (Presh/Lan) ║ ╚══════════════════════════════════════════════════════════════════╝ DIRECT ATTENTION (Home: Span, Kan: Ran_K) ─────────────────────────────────────────────────────────────── Prediction │ Match │ S_dir │ Trit │ PC │ Home ────────────────────────────────┼───────┼───────┼──────┼────┼───── VirtualizationBridge sandbox │ 34.9% │ 1.52 │ + │ 2 │ Span ... CAT# COHERENCE ─────────────────────────────────────────────────────────────── Galois adjunction α ⊣ γ: ✓ coherent Bicomodule compatibility: 85.0% (✓) CATSHARP SONIFICATION ─────────────────────────────────────────────────────────────── ♪ Direct (Ran_K): 293.7 Hz ♪ Diffuse (Adj): 329.6 Hz ♪ Meta (Lan_K): 261.6 Hz
GF(3) Triads
The skill participates in balanced triads:
behaviour-surprisal-analysis (0) ⊗ catsharp-galois (0) ⊗ gay-mcp (-1) + operad-compose (+1) = 0 ✓ # Internal channel triad Direct (−1) + Diffuse (0) + Meta (+1) = 0 ✓
Attention Calibration
| Prediction Style | Recommended (α,β,γ) | Cat# Focus |
|---|---|---|
| Specific artifacts | (0.6, 0.3, 0.1) | Span heavy |
| Thematic directions | (0.2, 0.6, 0.2) | Prof heavy |
| Capability exploration | (0.2, 0.3, 0.5) | Presheaves heavy |
| Mixed/balanced | (0.3, 0.5, 0.2) | Bicomodule equilibrium |
API
(require '[behaviour-surprisal-analysis :as bsa]) ;; Full Cat# analysis (bsa/combined-analysis predictions observed 0.3 0.5 0.2 ;; α β γ before-state after-state capability-events true) ;; sonify? ;; Galois adjunction verification (bsa/verify-galois-unit direct-result) ;; Bicomodule coherence check (bsa/check-bicomodule-coherence direct diffuse meta) ;; Sonify channel (bsa/sonify-channel results "Direct" 0.3)
Philosophical Foundation
The tri-channel Cat# model reflects:
- Cat# Three Homes: Span (comodules), Prof (bimodules), Presheaves (right modules)
- Kan Extensions: Ran_K (limit/consume), Lan_K (colimit/generate), Adj (bridge)
- Galois Adjunction: α ⊣ γ for abstraction/concretization
- AGM Epistemology: Contraction, Expansion, Revision via Levi identity
- CatSharp Scale: Mazzola's categorical music theory for sonification
Key Insight: GF(3) = Naturality
GF(3) conservation IS the naturality condition of Cat# equipment:
For a triad (s₋₁, s₀, s₊₁): Ran_K(s₋₁) →[bicomodule]→ s₀ →[bicomodule]→ Lan_K(s₊₁) The commuting square: G(f) ∘ η_A = η_B ∘ F(f) Becomes the GF(3) equation: (−1) + (0) + (+1) ≡ 0 (mod 3)
Skill Name: behaviour-surprisal-analysis Version: 3.0.0 (Cat# Integration) Type: Prediction Evaluation / Information Theory / Belief Revision / Category Theory Trit: 0 (ERGODIC) GF(3): Conserved via Cat# bicomodule structure Dependencies: sox (optional, for sonification) Sources: