SUBIT‑64 is a compact six‑axis bit protocol for representing semantic states, transitions, and deterministic system behavior.
Each state is a 6‑bit integer from 0 to 63.
Each axis corresponds to a single bit: A, B, C, D, E, F.
The Python SDK provides canonical encoding, decoding, and a deterministic finite‑state machine.
The SDK has no external dependencies. Import directly from the repository:
from subit64 import encode, decode, FSMvalue = encode({"A": 1, "B": 0, "C": 1, "D": 0, "E": 0, "F": 1})
print(value) # 37axes = decode(37)
print(axes)
# {'A': 1, 'B': 0, 'C': 1, 'D': 0, 'E': 0, 'F': 1}The FSM maps a current state and event to a next state.
fsm = FSM({37: {"act": 41}})
next_state = fsm.next(37, "act")
print(next_state) # 41If a transition is undefined, the FSM returns the current state.
subit-agent-protocol/
│
├── subit64/ # Python SDK
│ ├── __init__.py
│ ├── encoder.py
│ ├── decoder.py
│ ├── fsm.py
│ └── types.py
│
├── schemas/ # JSON schemas
├── examples/ # Python examples
├── docs/ # Documentation
├── test_sdk.py # Smoke test
├── README.md
└── CHANGELOG.md
The schemas/ directory contains the official protocol schemas:
state.schema.jsonevent.schema.jsontransition.schema.json
These ensure compatibility across implementations.
Run the smoke test:
python3 test_sdk.py
MIT.
Protocol version: 1.1
Status: active development