A backend-neutral kernel of predictive primitives for descendant systems.
Project description
Decepticons
Website · Architecture · Kernel matrix · Examples · Related work
O(n) attention is deception. A backend-neutral kernel of predictive primitives — substrates, memory, gating, routing, readouts — that downstream systems combine into trained models without forking the kernel itself.
decepticons is the shared mechanism layer for predictive descendants:
substrate dynamics, controller summaries, memory primitives, feature views,
readouts, and runtime helpers extracted from a broader experiment family so
downstream systems can specialize without forking the kernel.
Install
Requires Python ≥ 3.11. The kernel itself only needs numpy.
If you don't already have a Python virtual environment, make one first.
Modern Linux distributions block pip from writing into the system Python
(PEP 668), so a venv is the standard path:
python3 -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
Then install from PyPI:
pip install decepticons
For the model backends:
pip install "decepticons[torch]" # PyTorch CausalBankModel + routed readouts
pip install "decepticons[metal]" # Apple MLX backend (Apple Silicon)
To leave the venv when you're done: deactivate.
For development from source (clone + editable install + run tests):
git clone https://github.com/asuramaya/decepticons
cd decepticons
python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[test]"
pytest -v
Quickstart
from decepticons import ByteCodec, ByteLatentPredictiveCoder
text = "predictive coding likes repeated structure.\n" * 64
model = ByteLatentPredictiveCoder()
report = model.fit(text)
prompt = ByteCodec.encode_text("predictive ")
sample = model.generate(prompt, steps=40, greedy=True)
print(report.train_bits_per_byte)
print(ByteCodec.decode_text(sample))
CLI:
decepticons fit --input ./corpus.txt --prompt "predictive " --generate 80
A complete worked example lives in
examples/quickstart.py.
For descendant-shaped projects, see
examples/projects/.
What's in the kernel
| Area | Highlights |
|---|---|
| Substrates | recurrent, delay, linear-memory, oscillatory, mixed, hierarchical |
| Control | controller summaries, pathway gates, summary routing, hormone modulation, predictive surprise |
| Memory | exact-context, n-gram, statistical-backoff, online n-gram, cache views |
| Views | byte-latent, hierarchical, linear-memory, sampled multiscale, bridge features, probability diagnostics |
| Readouts | ridge, frozen-readout expert, sampled multiscale, GRU recurrent, routed squared-ReLU |
| Adapters | causal predictive, oracle analysis, bridge export, noncausal reconstructive, paired teacher/export |
| Runtime | traces, fit reports, rollout evaluation, transfer probes, train-mode checkpoints, artifact accounting |
| Causal-bank | family metadata + deterministic substrate construction (frozen / learnable-decays / learnable-mixing / learned-recurrence / gated-retention) |
| Backends | numpy-only kernel; PyTorch and MLX CausalBankModel implementations |
Full capability matrix: docs/kernel_matrix.md.
Architecture
decepticons ──→ chronohorn ──→ heinrich
kernel runtime forensics
(this repo) training · fleet geometry · audit
Three layers inside this repo:
- Kernel —
src/decepticons/. Public package. Reusable mechanisms only. - Project descendants —
examples/projects/. Pressure-tests the kernel boundary with concrete descendant shapes (causal · oracle · bridge · noncausal · byte-latent). - Tooling —
examples/tools/. Development and analysis scripts. Not part of the public package.
Code moves into src/ only when all three hold:
- It is a mechanism, not a project policy.
- At least two descendants want the same thing.
- The generalized API is simpler than keeping the duplication.
This rule is the main defense against turning the kernel into a renamed
collection of branches. Full detail in
docs/architecture.md
and the boundary against the runtime in
docs/chronohorn_boundary.md.
Causality is verified
All substrate modes are verified by
tests/test_causality.py:
it feeds two identical sequences up to position t, different after t. If
logits at position t differ, causality is violated and CI fails. Modes
verified: frozen, learnable_mixing, learnable_decays, selective scan
augment (state_dim > 0), readout_bands, routed experts.
decepticons never imports its descendants — enforced by an AST scan in
tests/test_dependency_firewall.py.
Docs
- Architecture — package map, three-layer model, promotion rule
- Kernel matrix — capability matrix
- Chronohorn boundary — boundary against the runtime descendant
- Downstream patterns — causal, noncausal, oracle, bridge, byte-latent patterns
- Related work — research anchors and prior art
- Landscape — ecosystem snapshot (March 2026)
- Lineage — source attribution
- Examples — example descendants and tooling
- Tests — verification surface
Scope
This is a research kernel and reference implementation. The current pressure from descendants is O(n) causal-bank architecture search — cheap ablation lanes to separate mechanisms before promotion, with scale and context survival checked in the descendant runtime.
It is not a frontier runtime, a production compression stack, or a benchmark claim. It exists to keep the shared mechanism layer reusable and legible.
Contributing
See CONTRIBUTING.md.
Issues and pull requests welcome.
License
MIT — see LICENSE.
Project details
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 decepticons-0.1.2.tar.gz.
File metadata
- Download URL: decepticons-0.1.2.tar.gz
- Upload date:
- Size: 186.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f33a1d6ba668a62bcf9d7a8d8ac6159f7d2ea995cf2e98ab7a1cbf424ad22bf1
|
|
| MD5 |
63039cfdcbf839ab6ebacc7750137f01
|
|
| BLAKE2b-256 |
871714336aa15576e0056229e7b73bdb2d9211a55a68ff195c8f02f4020dc11c
|
Provenance
The following attestation bundles were made for decepticons-0.1.2.tar.gz:
Publisher:
release.yml on asuramaya/decepticons
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
decepticons-0.1.2.tar.gz -
Subject digest:
f33a1d6ba668a62bcf9d7a8d8ac6159f7d2ea995cf2e98ab7a1cbf424ad22bf1 - Sigstore transparency entry: 1417474070
- Sigstore integration time:
-
Permalink:
asuramaya/decepticons@81e09c7b9972806cf7ec3a2edd34a4f6aab397bd -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/asuramaya
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@81e09c7b9972806cf7ec3a2edd34a4f6aab397bd -
Trigger Event:
push
-
Statement type:
File details
Details for the file decepticons-0.1.2-py3-none-any.whl.
File metadata
- Download URL: decepticons-0.1.2-py3-none-any.whl
- Upload date:
- Size: 156.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9ecb03cb92fd8997ecddf88ca18f96213752a85a1383ff596e14e61ed5971df7
|
|
| MD5 |
31952fc1db3686a4776dadefe1b61a71
|
|
| BLAKE2b-256 |
4c9abad70bf6ee2371a11de9ac47dd6f5e37e16186f320be8fc2909e4d8435c0
|
Provenance
The following attestation bundles were made for decepticons-0.1.2-py3-none-any.whl:
Publisher:
release.yml on asuramaya/decepticons
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
decepticons-0.1.2-py3-none-any.whl -
Subject digest:
9ecb03cb92fd8997ecddf88ca18f96213752a85a1383ff596e14e61ed5971df7 - Sigstore transparency entry: 1417474126
- Sigstore integration time:
-
Permalink:
asuramaya/decepticons@81e09c7b9972806cf7ec3a2edd34a4f6aab397bd -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/asuramaya
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@81e09c7b9972806cf7ec3a2edd34a4f6aab397bd -
Trigger Event:
push
-
Statement type: