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

Uploaded Python 3

File details

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

File metadata

  • Download URL: jharness_kernel-0.6.1.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.6.1.tar.gz
Algorithm Hash digest
SHA256 77d8aadf633a61b29001b9d7b1e7c29dbbf8cfb9493bab1ab919977452eb9591
MD5 a2712236223edcae1888399379ab9d88
BLAKE2b-256 3d6e00f17f79f8cc18e4a72c73f5469c73bdd7744f24dece8e532dbb0c9d6bf3

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: jharness_kernel-0.6.1-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.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 389b17eb9007b250a672bc4d2a3ae383c91caf203c312aa75a4526875e57c7ca
MD5 a4fef2da9e46cd8baf1d74db619b2100
BLAKE2b-256 69734817005b6fefc02555b9d1d52b683f5dfbdc5478a072c0b09b79b28c4a43

See more details on using hashes here.

Provenance

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

0.7.0

2 files

This release

0.6.1 This release

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