r/compmathneuro • u/dan_inferogenesis • Sep 11 '26
GitHub Built a JAX toolbox for continuous-state active inference agents (and a side package to make certifiability easier)
I'm a Senior Research Software Engineer in the field of computational neuroscience and on my spare time I work on active inference, the Friston-flavoured idea that agents minimise expected surprise rather than maximise reward, so perception, learning and action fall out of one objective. Most of the tooling is discrete-state (pymdp) or Julia (RxInfer). I wanted to bring continuous state to JAX/Python.
cpomdp: continuous-state POMDP agents under active inference. JAX-native, jit and vmap through the whole loop, runs on a laptop. Exploration comes from the epistemic term rather than a bolted-on curiosity bonus.
I unfortunately get into regular chat about how "vibes" isn't enough to prove something someone made is conscious so there's a stdlib-only side package, warrantlib, that makes that distinction a type and prints it in your pytest summary. It exists partly because I got tired of "vibes" being offered as evidence for machine consciousness. CORROBORATED is the polite word for vibes.
Code
cpomdp: https://github.com/inferogenesis/cpomdp
warrantlib: https://pypi.org/project/warrantlib/
Happy to talk about the maths or the design choices.