Deterministic event-sourced kernel for modular LLM automation
Project description
JSONLLM Kernel
Deterministic event-sourced kernel for modular LLM automation.
LLM ingress -> strict events -> deterministic module policy/planner/executor -> append-only JSONL
What this is
- A kernel that enforces deterministic invariants (schema, lineage, provenance, idempotency).
- A module system where third parties implement domain logic.
- A self-serve workflow to scaffold and validate modules without maintainer support.
Core guarantees
- LLM only emits
IntentNormalized(module_id=kernel.ingress). - Side effects run only in deterministic workers.
- Mandatory lineage:
IntentNormalized -> IntentAccepted/Rejected -> ActionProposed -> ActionOutcome. ActionProposed.action_idmust be allowlisted.actorauthority andmodule_idprovenance are validated.
Repository layout
src/event_pipeline.py: CLI orchestratorsrc/jsonllm_kernel/contracts.py: event/config contractssrc/jsonllm_kernel/module_api.py: module SDK (BaseModule, types)src/jsonllm_kernel/module_loader.py:module.tomlloader/validatorsrc/jsonllm_kernel/scaffold.py: module scaffolding templatessrc/jsonllm_kernel/conformance.py: module conformance suitesrc/jsonllm_kernel/project_init.py: workspace bootstrap from packaged templatessrc/jsonllm_kernel/templates/: packaged default catalog and modulesmodules/: example modulescatalog/: allowlist + security configs
Install
python3 -m pip install -r requirements.txt
export OPENAI_API_KEY="your_key"
Or install as package/CLI:
python3 -m pip install -e .
jsonllm --help
Start in a brand-new directory
mkdir /tmp/my-jsonllm-workspace
jsonllm init-project /tmp/my-jsonllm-workspace
jsonllm --workspace /tmp/my-jsonllm-workspace list-modules
--workspace (or env JSONLLM_WORKSPACE) controls where catalog/, modules/, and data/ are read/written.
CLI
jsonllm --workspace /path/to/workspace list-modules
jsonllm --workspace /path/to/workspace init-module my_domain
jsonllm --workspace /path/to/workspace test-module --module-id my_domain
jsonllm --workspace /path/to/workspace new-intent --request-text "..." --aggregate-id req-1
jsonllm --workspace /path/to/workspace run-policy
jsonllm --workspace /path/to/workspace run-planner
jsonllm --workspace /path/to/workspace run-executor
Equivalent while developing in this repo:
python3 src/event_pipeline.py --workspace . list-modules
Module self-serve workflow
- Scaffold module:
jsonllm --workspace /path/to/workspace init-module my_domain
- Implement
policy/plan/executeinmodules/my_domain/module.py. - Update
modules/my_domain/module.toml(intents/actions/permissions). - Ensure actions are in
catalog/allowed-actions.json. - Run conformance:
jsonllm --workspace /path/to/workspace test-module --module-id my_domain
- Run end-to-end pipeline.
Compatibility and standards
- Module API version is declared by
module_api_versioninmodule.toml. - Loader rejects incompatible module API versions.
- See:
docs/MODULE_COMPATIBILITY.mddocs/MODULE_COOKBOOK.md
Example modules
modules/core_builtin: generic routes for search/extraction/classification.modules/math_sum: tangible deterministic computation (math.sum.v1) writing outputs todata/outputs/.
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 jsonllm_kernel-0.1.1.tar.gz.
File metadata
- Download URL: jsonllm_kernel-0.1.1.tar.gz
- Upload date:
- Size: 20.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ab7976970d98e8cecd3bdc0e77eafc2246d1e9588c389a0c9747aca4802c1cac
|
|
| MD5 |
721053ed8227927caefcc795af600481
|
|
| BLAKE2b-256 |
b9089cb1988f7fb6822c3ce605912789cb7b875614b14ccd6f7dc244024e9a07
|
File details
Details for the file jsonllm_kernel-0.1.1-py3-none-any.whl.
File metadata
- Download URL: jsonllm_kernel-0.1.1-py3-none-any.whl
- Upload date:
- Size: 25.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
747e170ca8497f69eb135cec4e498d5fd3f3fab2f855f161efa3be087e76eeb2
|
|
| MD5 |
d9b08805bded992b28e90e685afaf03d
|
|
| BLAKE2b-256 |
b424fd86faa5b1b64ad2f60799812946fc7ca303901b6fcbfbfe0b0d7f4c3de2
|