Skip to main content

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_id must be allowlisted.
  • actor authority and module_id provenance are validated.

Repository layout

  • src/event_pipeline.py: CLI orchestrator
  • src/jsonllm_kernel/contracts.py: event/config contracts
  • src/jsonllm_kernel/module_api.py: module SDK (BaseModule, types)
  • src/jsonllm_kernel/module_loader.py: module.toml loader/validator
  • src/jsonllm_kernel/scaffold.py: module scaffolding templates
  • src/jsonllm_kernel/conformance.py: module conformance suite
  • src/jsonllm_kernel/project_init.py: workspace bootstrap from packaged templates
  • src/jsonllm_kernel/templates/: packaged default catalog and modules
  • modules/: example modules
  • catalog/: 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

  1. Scaffold module:
jsonllm --workspace /path/to/workspace init-module my_domain
  1. Implement policy/plan/execute in modules/my_domain/module.py.
  2. Update modules/my_domain/module.toml (intents/actions/permissions).
  3. Ensure actions are in catalog/allowed-actions.json.
  4. Run conformance:
jsonllm --workspace /path/to/workspace test-module --module-id my_domain
  1. Run end-to-end pipeline.

Compatibility and standards

  • Module API version is declared by module_api_version in module.toml.
  • Loader rejects incompatible module API versions.
  • See:
    • docs/MODULE_COMPATIBILITY.md
    • docs/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 to data/outputs/.

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

jsonllm_kernel-0.1.1.tar.gz (20.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jsonllm_kernel-0.1.1-py3-none-any.whl (25.0 kB view details)

Uploaded Python 3

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

Hashes for jsonllm_kernel-0.1.1.tar.gz
Algorithm Hash digest
SHA256 ab7976970d98e8cecd3bdc0e77eafc2246d1e9588c389a0c9747aca4802c1cac
MD5 721053ed8227927caefcc795af600481
BLAKE2b-256 b9089cb1988f7fb6822c3ce605912789cb7b875614b14ccd6f7dc244024e9a07

See more details on using hashes here.

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

Hashes for jsonllm_kernel-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 747e170ca8497f69eb135cec4e498d5fd3f3fab2f855f161efa3be087e76eeb2
MD5 d9b08805bded992b28e90e685afaf03d
BLAKE2b-256 b424fd86faa5b1b64ad2f60799812946fc7ca303901b6fcbfbfe0b0d7f4c3de2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page