Skip to main content

tiny-harness

An opinionated, production-grade agent harness for customer-facing agentic workflows: A2A 1.0 in and out, MCP tools, Agent Skills and Agent Plugins, one Temporal workflow per task, hooks around every operation, and a TUI and a web renderer. It is being built in the stacked pull requests of issue #3; the spec chain lives under docs/specs/issue-3/.

What is in the box

  • An A2A 1.0 server (JSON-RPC and REST, streaming, push notifications) and an A2A client for remote agents; three extensions (task, channel, A2UI 0.9.1).
  • A core loop of hooks around every operation: ingest, assemble, compact, call the model, run tools, decide completion. Intrinsic tools cover plans, sub-tasks, help requests, participants, skills and UI.
  • Temporal owns the whole request lifecycle: one workflow per task, every model and tool call an activity, workflow-managed retries, a durable event log, continue-as-new.
  • Plugins (Agent Plugins manifests) bring MCP servers, skills, hooks and prompt extensions; models are OpenAI (Responses API) and Anthropic adapters.
  • Two renderers: a Textual TUI and a React web renderer on the official A2UI renderer, each an A2A client through the official SDK of its language; the web renderer is also hosted at madarauchiha-314.github.io/tiny-harness/ui and talks to any harness whose URL you give it.
  • Observability: JSON logs and OpenTelemetry spans (GenAI conventions), redacted.

Run the demo

export TEMPORAL_API_KEY="$(secret-tool lookup service temporal project tiny-harness)"
export OPENAI_API_KEY="$(secret-tool lookup service openai project tiny-harness)"
export TINY_HARNESS_PUSH_KEY="$(openssl rand -base64 32)"
bun install --cwd renderers/web && bun run --cwd renderers/web build
uv run python -m examples.demo            # A2A server + worker, web renderer at /ui
uv run tiny-harness tui --url http://127.0.0.1:8080

See getting started for what happens next and deployment for running it for real: the server must sit behind an authenticating perimeter.

Install

pip install tiny_harness

Develop

uv sync                    # creates .venv/ with every dev tool
uv run pre-commit install  # lint, type-check, unit tests + commit-message hooks

See local development for the full guide, and the documentation site for the tech stack, architecture and decisions.

Metadata

Release files for tiny-harness 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tiny-harness 0.3.0
File Size Uploaded
tiny_harness-0.3.0.tar.gz 141.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for tiny-harness 0.3.0
File Interpreter ABI Platform
tiny_harness-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 339.0 kB

Release files / tiny_harness-0.3.0.tar.gz

Download URL tiny_harness-0.3.0.tar.gz
Size 141.2 kB
Tags Source
SHA-256 checksum
How to use checksums
d7fa092c79f1aa277efeb0aeb9144a3a84f91861abdfcf5227f5227e813adabd
BLAKE2b-256 checksum
How to use checksums
44b1cc9a8a9c0760b5acccd1f35316664e19931e6755b83b0783aa029de24bad
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 10, 2026.

Transparency log

Release files / tiny_harness-0.3.0-py3-none-any.whl

Download URL tiny_harness-0.3.0-py3-none-any.whl
Size 197.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3e564e3e5b542c99c1f40c647919f171747f8426968b8b7e8e391ee562d74278
BLAKE2b-256 checksum
How to use checksums
8611707e98317d44c146f12824e5af78afaebd7d56152df62579feceee66b805
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 10, 2026.

Transparency log

Release history Release notifications | RSS feed

0.8.0

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.1

2 release files

0.4.0

2 release files

This release

0.3.0 This release

2 release files

0.2.0

2 release files

0.1.0

2 release 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