uhp-go: independent UHP server
uhp-go is a public, separately maintained UHP server and client implementation in Go. Its checked-in evidence establishes 64/64 Full conformance for a September 2026 suite revision. That historical report does not establish conformance against today's 85-check source.
Page reviewed 4 Oct 2026 Source and review policy
Start with a server boundary, then verify a backend
Section titled “Start with a server boundary, then verify a backend”The current uhp-go README requires Go 1.25+ for building the server, plus an installed and authenticated harness CLI for the backend you choose. An HTTP server that starts successfully can still have no usable model route.
go build -o bin/uhpd ./cmd/uhpdUHP_API_KEYS=devkey ./bin/uhpdRun this from a deliberately selected source checkout. devkey is an upstream local example; generate a private value for your own deployment. These are inbound client credentials, not provider keys. The server rejects a wider bind without keys; its unauthenticated loopback mode is a development convenience and is not conformant authentication.
In another terminal, use the README’s client sequence:
go install github.com/aenawi/uhp-go/cmd/uhpc@latestexport UHP_BASE_URL=http://localhost:8080 UHP_API_KEY=devkeyuhpc discoveruhpc harnessesFirst inspect discovery/version/capabilities and backend readiness. Only then submit the documented uhpc run --stream task; it may invoke your configured model provider. Save the response ID for continuation and inspect its terminal status. The server’s local/no-telemetry design does not mean the underlying harness makes no external model requests.
| You need | Acceptance evidence |
|---|---|
| Basic interchangeable execution | Discovery, one task, streaming and continuation with an actually installed CLI |
| Full session/file behavior | The session and file cases your application uses, with authenticated read-back |
| Current conformance | A new report naming the exact suite/package and this server revision |
The checked-in 64-check report below remains valuable historical evidence. Use the API map to identify your application contract and conformance to distinguish that old measurement from current obligations. This workflow is source-checked, not an executed server test by this guide.
What is verified
Section titled “What is verified”aenawi/uhp-go is a public Go UHP implementation maintained outside HarnessRouter. It ships a server (uhpd) and client (uhpc) and describes itself as independent/non-affiliated.
The checked-in conformance page, inspected 4 October 2026, records 64/64 Full, 0 failed, 0 skipped and 0 errored, measured 8 September 2026. It names UHP 2026-08-11, suite package 2026.8.11.post1, HarnessRouter source pin ae233fdc851abb9f6a65781108eea88362609d18 (tag v0.15.5), a claude-code harness and no --model override. The class breakdown is 40 Core + 8 Extended + 16 Full.
This is attributed upstream measurement, not a test rerun by this publication. It establishes an independent server result for that exact revision, not native UHP adoption by its backend harnesses.
Current-suite boundary: 64 measured, 85 in current source
Section titled “Current-suite boundary: 64 measured, 85 in current source”The September report explains a useful real compatibility failure. The first remeasurement returned 63/64, with F-08 failing because DELETE /v1/sessions/{id} returned 405; only the legacy deletion route was registered. Registering the canonical route alongside the compatibility alias produced the reported 64/64 result. A client should use the canonical session path.
Current UHP conformance source has 85 checks under 2026.9.28.post3 for UHP 2026-09-28. The old and current packages have different obligations. Do not express the old report as 64/85, and do not upgrade it to 85/85. A report for the current source is not established by this evidence.
The earlier 63/63 record and HarnessRouter’s own 64/64 remeasurement remain separate historical evidence. The drift detector is valuable because it found a real endpoint gap, but detecting drift is not itself conformance.
What uhp-go implements
Section titled “What uhp-go implements”The public README lists these harness bases:
claude-codecodexgrok-cliopencodepi
The server exposes UHP over HTTP, persists task/session state with embedded SQLite, supports bearer-key authentication, and shells out to installed harness CLIs. The project also ships uhpc, a client intended for conformant UHP servers generally.
Why this matters
Section titled “Why this matters”uhp-go crosses the independent-server implementation threshold: UHP is not only implemented by the reference codebase. Its named 64-check result demonstrates a measured repair rather than assuming compatibility from shared endpoint names. What remains unestablished is stronger current-suite and interoperability evidence.
Still outstanding:
- a checked-in uhp-go report for the current UHP
2026-09-28/2026.9.28.post3suite; - a published matrix showing one independent client interoperating with both HarnessRouter and uhp-go;
- native UHP adoption by Claude Code, Codex, Grok CLI, OpenCode or Pi merely because uhp-go can drive them;
- any certification/endorsement relationship between uhp-go and HarnessRouter.
Evidence chronology
Section titled “Evidence chronology”| Date | Evidence | What it proves |
|---|---|---|
| 31 Aug 2026 | uhp-go 46af340: 62/62 Full, zero skipped, pinned to HarnessRouter 1176d9a | Complete independent-server conformance for that 62-check revision; later superseded by uhp-go’s own 63-check rerun |
| 31 Aug 2026 | HarnessRouter PR #55: R-08, suite 63 | Bodyless share publication directly measured; unnamed independent Go server measured 63/63 |
| 1 Sep 2026 | uhp-go ebf3dca: 63/63 Full, zero skipped, pinned to HarnessRouter 08d61ea | Historical named uhp-go evidence for the R-08-expanded 63-check revision |
| 2 Sep 2026 | uhp-go d970352: conformance drift detection | Adds automated pin-vs-upstream drift detection; does not itself establish a new conformance score |
| 4 Sep 2026 | HarnessRouter PR #60 / v0.13.2: F-08, suite 64 | Canonical session-delete path is directly measured; does not upgrade uhp-go’s checked-in evidence |
| 4 Sep 2026 | HarnessRouter PR #61 | Fresh HarnessRouter reference 64/64 workflow measurement; separate from uhp-go |
| 5 Sep 2026 | HarnessRouter PR #64 / v0.13.3 | Incorporates that 64/64 HarnessRouter reference record into then-current main; uhp-go still had 63/63 at this point |
| 8 Sep 2026 | uhp-go conformance report pinned to ae233fdc / HarnessRouter v0.15.5 | 64/64 Full after fixing the canonical session-delete route; historical suite, not current 85-check conformance |
Related pages
Section titled “Related pages”Read conformance, adoption, ecosystem, UHP clients and HarnessRouter.
Primary sources
Section titled “Primary sources”- uhp-go repository
- uhp-go checked-in conformance evidence
- uhp-go 63/63 update
ebf3dca - uhp-go conformance-drift mechanism
d970352 - Historical uhp-go 62/62 update
46af340 - HarnessRouter
v0.13.3 - HarnessRouter PR #64 — current checked-in 64/64 reference record
- HarnessRouter PR #61 — workflow-generated 64/64 measurement
- HarnessRouter PR #55 — R-08
- HarnessRouter PR #60 — session delete/F-08
- HarnessRouter
v0.13.2 - Current UHP conformance suite
- Current UHP Sessions chapter