behaviour-surprisal-analysis
Behaviour 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
SDF Interleaving
This skill connects to Software Design for Flexibility (Hanson & Sussman, 2021):
Primary Chapter: 5. Evaluation
Concepts: eval, apply, interpreter, environment
GF(3) Balanced Triad
behaviour-surprisal-analysis (−) + SDF.Ch5 (−) + [balancer] (−) = 0
Skill Trit: -1 (MINUS - verification)
Secondary Chapters
- Ch1: Flexibility through Abstraction
- Ch4: Pattern Matching
- Ch6: Layering
- Ch10: Adventure Game Example
Connection Pattern
Evaluation interprets expressions. This skill processes or generates evaluable forms.
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:
More from plurigrid/asi
academic-research
Search academic papers across arXiv, PubMed, Semantic Scholar, bioRxiv, medRxiv, Google Scholar, and more. Get BibTeX citations, download PDFs, analyze citation networks. Use for literature reviews, finding papers, and academic research.
49wev-tesseract
WEV Tesseract Skill
33tree-sitter
AST-based code analysis using tree-sitter. Use for parsing code structure, extracting symbols, finding patterns with tree-sitter queries, analyzing complexity, and understanding code architecture. Supports Python, JavaScript, TypeScript, Go, Rust, C, C++, Swift, Java, Kotlin, Julia, and more.
21alife
Comprehensive Artificial Life skill combining ALIFE2025 proceedings, classic texts (Axelrod, Epstein-Axtell), ALIEN simulation, Lenia, NCA, swarm intelligence, and evolutionary computation. 337 pages extracted, 80+ papers, 153 figures.
16reverse-engineering
Reverse Engineering Skill
16bdd-mathematical-verification
BDD-Driven Mathematical Content Verification Skill
16