Behaviour Surprisal Analysis

SkillDev tools

Behaviour Surprisal Analysis

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Behaviour Surprisal Analysis skill

What this skill tells your AI

The instructions your AI receives, as published by plurigrid/asi in skills/behaviour-surprisal-analysis/SKILL.md and read by ahel’s review.

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:

ChannelTritHomePoly OpKan RoleDescription
Direct (α)−1Span× (product)Ran_KExact artifact matching
Diffuse (β)0Prof⊗ (parallel)AdjThematic/structural matching
Meta (γ)+1Presheaves◁ (substitution)Lan_KCapability/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:

  1. Galois unit check: η: id → γ∘α preserves trits
  2. Bicomodule compatibility: pred_trit ↔ obs_trit compatible homes

CatSharp Scale Sonification

Surprisal values map to pitch classes via the CatSharp scale:

TritPitch ClassesChord TypeHz Range
+1 (PLUS){0, 4, 8}Augmented triadC-E-G#
0 (ERGODIC){3, 6, 9}Diminished 7thD#-F#-A-C
−1 (MINUS){1,2,5,7,10,11}Fifths cycleC#,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 StyleRecommended (α,β,γ)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:

  1. Cat# Three Homes: Span (comodules), Prof (bimodules), Presheaves (right modules)
  2. Kan Extensions: Ran_K (limit/consume), Lan_K (colimit/generate), Adj (bridge)
  3. Galois Adjunction: α ⊣ γ for abstraction/concretization
  4. AGM Epistemology: Contraction, Expansion, Revision via Levi identity
  5. 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:

Signals

GitHub stars
63
Forks
12
Last commit
Jul 2026
Advanced
Catalog kind
skill
Gateway key
behaviour-surprisal-analysis
Source
github.com/plurigrid/asi