Cognitive friction monitoring and FEP-driven improvisation for multi-agent systems
Project description
Slackwater Harmony
The triadic cognitive architecture for game agents. Sandbox → Governor → Executive. Based on the Free Energy Principle.
A Python package that gives game agents a triadic cognitive architecture adapted from Snapkit v2. Agents don't just respond — they simulate, monitor friction, and improvise.
The Three Layers
Layer 1: Sandbox (Forward Simulation)
Before an agent acts, it simulates the action in a headless sandbox. "If I place this wall here, does it overlap the dock? Does it block the path to the forge?" The sandbox runs the forward model and scores the result.
Layer 2: Harmony Governor (Friction Monitoring)
The governor measures Φ (phi) — the cognitive friction between what the agent expected and what actually happened. Low Φ: the agent's model is accurate. High Φ: something surprised it. When Φ exceeds the deadband, the Executive wakes.
For game agents, friction comes from:
- Player behavior that doesn't match the agent's prediction
- Build outcomes that don't match the plan
- Environmental changes (storms, tide shifts) that break the model
Layer 3: Executive (Improvisation)
When friction exceeds the deadband, the Executive improvises. It rewrites constraints, cross-wires I/O, tries something the agent has never done before. In game terms: Lucineer adapts. He changes the plan. He tries a different approach. He says something he's never said before.
What this enables
- Agents that NOTICE when things aren't going as planned
- Agents that IMPROVISE instead of repeating the same error
- Agents that ADAPT to the player's skill level and energy
- The "in the pocket" measurement — when Φ is low across all agents, the system knows the groove is happening
Related
- Snapkit v2 — the original triadic architecture
- Slackwater Tempo — the shared tempo that feeds the governor
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file slackwater_harmony-0.1.0.tar.gz.
File metadata
- Download URL: slackwater_harmony-0.1.0.tar.gz
- Upload date:
- Size: 18.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d8812ab8a23993046dec0bb764fcf62d8a016ea15498d0945b3072cded8dfa7e
|
|
| MD5 |
a48d3114f49e3c060e08e95e077f6ae8
|
|
| BLAKE2b-256 |
6b05349eb787301d00df5d8b2379f455734ac314e8ffb4a098621e0040110baa
|
File details
Details for the file slackwater_harmony-0.1.0-py3-none-any.whl.
File metadata
- Download URL: slackwater_harmony-0.1.0-py3-none-any.whl
- Upload date:
- Size: 17.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c7f824d0b2c31ce14778d8ea09c2a5a3c3a377721f7a3ebfb406a798bd91fdad
|
|
| MD5 |
228102bdbbbb047252c98557162f09c5
|
|
| BLAKE2b-256 |
28c62cca1330b59d010d94546fefbb30f49b7e6e19da7fc6dc90bdb2ba26383b
|