Skip to main content

jharness-kernel

The dependency-free JHarness runtime kernel, including lifecycle values, execution, checkpoints, diagnostics, extension ports, and portable wire codecs.

uv add jharness-kernel
from jharness.kernel import Message, Runtime

Kernel owns persistent RunHistory, incremental DurableCommit, cursor-based pending runtime tool calls, and complete-history model requests. It has no runtime dependency.

Its model boundary keeps media, execution ownership, and protocol order separate:

Concern Public values Meaning
Modalities ModelCapabilities.input_modalities and output_modalities What media the model itself can understand or produce
Tool selection ModelCapabilities.tool_choice_types, runtime_tool_kinds, parallel_runtime_tool_calls, and parallel_runtime_tool_call_control Which input kinds, selection policies, and runtime parallel behavior the model can honor
Host-executed tools RuntimeToolSpec (StructuredToolSpec or FreeformToolSpec) through ModelRequest.runtime_tools, followed by the matching RuntimeToolCall JHarness schedules approval and execution through the host tool catalog
Provider-executed tools ProviderToolId, ProviderToolSpec, and ProviderToolCall The remote provider runs the tool; JHarness validates and records the result but never schedules it
Response order ModelResponse.output and assistant Message.output ContentPart, RuntimeToolCall, and ProviderToolCall remain in the order emitted by the protocol

The kernel also advertises structured output, JSON mode, seed, streaming, and usage reporting directly on ModelCapabilities. The runtime validates requests against this single immutable declaration before model invocation.

Streaming deltas identify their destination with output_index and optional content_index; the terminal ModelResponse remains the authoritative durable value. Only runtime-owned RuntimeToolCall items can move a run into ToolsPending. provider_turn_pending instead keeps an unfinished provider-owned turn in Planning (or alongside runtime calls in ToolsPending) until the next model response clears it.

The source and portable contracts are maintained in the JHarness repository.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jharness_kernel-0.8.0.tar.gz (74.7 kB view details)

Uploaded Source

Built Distribution

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

jharness_kernel-0.8.0-py3-none-any.whl (100.8 kB view details)

Uploaded Python 3

File details

Details for the file jharness_kernel-0.8.0.tar.gz.

File metadata

  • Download URL: jharness_kernel-0.8.0.tar.gz
  • Upload date:
  • Size: 74.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for jharness_kernel-0.8.0.tar.gz
Algorithm Hash digest
SHA256 38c5659ec586df1ed8fca47de7417391b3de6dee2687c3e6e445247f6ed55990
MD5 57dd663799c3c1a98458abb742061a5e
BLAKE2b-256 4a432b8e634c6a4d0deb8a51bd41092e78fe09d899f584ace15695a74accbb65

See more details on using hashes here.

Provenance

The following attestation bundles were made for jharness_kernel-0.8.0.tar.gz:

Publisher: release.yml on Ezio2000/jharness

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file jharness_kernel-0.8.0-py3-none-any.whl.

File metadata

  • Download URL: jharness_kernel-0.8.0-py3-none-any.whl
  • Upload date:
  • Size: 100.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for jharness_kernel-0.8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 75803741bd2ea6660abbb29f2b165f1a79ed551369c7f987f2d36c7f1fbbaed9
MD5 2852f0d851ca2e447c2460c8b731320c
BLAKE2b-256 cd1023874d85f4c09e0ff5ff112e70e12e2cd110e8bf771724258644cafea411

See more details on using hashes here.

Provenance

The following attestation bundles were made for jharness_kernel-0.8.0-py3-none-any.whl:

Publisher: release.yml on Ezio2000/jharness

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.9.0

2 files

This release

0.8.0 This release

2 files

0.7.0

2 files

0.6.1

2 files

0.6.0

2 files

0.5.0

2 files

0.4.0

2 files

0.3.4

2 files

0.3.3

2 files

0.3.2

2 files

0.3.1

2 files

0.3.0

2 files

0.2.2

2 files

0.2.1

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page