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.7.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.7.0-py3-none-any.whl (100.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: jharness_kernel-0.7.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.7.0.tar.gz
Algorithm Hash digest
SHA256 9923f331ca923cbd9076ef8cc3dc895c8f0bd9157f43c1b437289d765a468d8a
MD5 c70ce41240f30f9056ef9d2af953e220
BLAKE2b-256 a436f26b1fd93a82c848b537544e5050e53e73ea5b6bd115693bb463fd21a57a

See more details on using hashes here.

Provenance

The following attestation bundles were made for jharness_kernel-0.7.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.7.0-py3-none-any.whl.

File metadata

  • Download URL: jharness_kernel-0.7.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.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c0b4f0f8e1696dad27cb0d4e19aceaa00360ac9ce1ab4f107412ef8cb23c8d29
MD5 3315110b81f5742086938ff8f9114f21
BLAKE2b-256 1b3c6377659172f6cdb5620330e48e22eea58eca6e2348a15fa0b25d7152c3cd

See more details on using hashes here.

Provenance

The following attestation bundles were made for jharness_kernel-0.7.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

0.8.0

2 files

This release

0.7.0 This release

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