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

Uploaded Python 3

File details

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

File metadata

  • Download URL: jharness_kernel-0.6.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.6.0.tar.gz
Algorithm Hash digest
SHA256 269839ce001bf9b36d53d87126fb264104b656461959b4fc1a54d14bc7f80c5d
MD5 b52e6846a5f0504e046331f006a15e55
BLAKE2b-256 7bad3b9a7c20b5766fdf3c5a30f61934bf2b8505876160f6c234efc79e11c620

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: jharness_kernel-0.6.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.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7202b9ab39761c16a69aee1a99096b7c95c277f93bf3780efa1a019191fed1ce
MD5 d95fccf2165f803a3b60069f0796f0cb
BLAKE2b-256 53a6a4d42850fbdff64dfd85c98c548779f405ea6d6791208911dca056ceb88f

See more details on using hashes here.

Provenance

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

0.7.0

2 files

0.6.1

2 files

This release

0.6.0 This release

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