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.9.0.tar.gz (75.0 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.9.0-py3-none-any.whl (101.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: jharness_kernel-0.9.0.tar.gz
  • Upload date:
  • Size: 75.0 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.9.0.tar.gz
Algorithm Hash digest
SHA256 3fb0499fea6d4276abbc6e3b80255929087f6c8dd7be1f67038e835f45a1c97b
MD5 a53c5f7bf7ebd29200a132c5d1ed3a16
BLAKE2b-256 a8727e8fda65760bd47dc30b476c12439af78eb8dab99c69dfade517529ec786

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: jharness_kernel-0.9.0-py3-none-any.whl
  • Upload date:
  • Size: 101.2 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.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a613a90bb9b6e538c7b1c8e9a0087fe855e8002697ccb8043632c3418031dae1
MD5 9aee4a490cd09fc0870d3a56fe035cb1
BLAKE2b-256 eb00d9193d950d35fd2c8af479851f1d6644e67353baac49af9fcbceafec3cdb

See more details on using hashes here.

Provenance

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

This release

0.9.0 This release

2 files

0.8.0

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