| name | behaviour-surprisal-analysis |
| description | Behaviour Surprisal Analysis |
| version | 1.0.0 |
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
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: