UHP conformance
Conformance is behavioral and revision-bounded. Current source contains 104 executable checks for UHP 2026-10-19.
Page reviewed 8 Nov 2026 Source and review policy
Current coordinates
Section titled “Current coordinates”| Coordinate | Verified state |
|---|---|
| UHP protocol | 2026-10-19 Draft |
| Conformance package | 2026.10.19.post5 |
| Executable checks | 104 |
| Core | 41 |
| Extended | 9 |
| Full | 54 |
| HarnessRouter stable release | v0.38.2 / 8e1cf1b598a7 |
| Development main (6 Nov) | 46d2cc2167ea, two commits ahead of the stable tag |
The package is 2026.10.19.post5 at HarnessRouter v0.38.5: the 2026-10-19 suite, post1 published at v0.35.7, post2 at v0.35.8, post3 at v0.35.11, post4 at v0.37.11 and post5 at v0.38.0. The count comes from the executable @check registry in checks.py at that tag — 41 Core, 9 Extended and 54 Full, including the 13 ME- checks that 2026-10-04 adds, the F-09 retirement check and the T-11 background-status check that 2026-10-19 adds, the T-12 step-budget check that post3 adds, the F-10 idempotency check that post4 adds, and the two new T-13 and T-14 checks that post5 adds for the asking-the-person flow. post4 checks the create-key contract only on a server that reports harness_idempotency, and the new checks exercise the question flow on a server that reports input_requests; a server without the capability skips them, so no other verdict changes. The v0.35.5 through v0.38.2 releases carry the product line onto UHP 2026-10-19; the released-backend count remains 30.
Evaluate a report against the feature you need
Section titled “Evaluate a report against the feature you need”An implementation name and a green badge are insufficient for a purchasing or integration decision. Read the report’s scope before comparing its numerator with another implementation.
| Report dimension | Question to answer | Consequence |
|---|---|---|
| Protocol and suite revision | Which dated contract and executable package produced this result? | Compare only compatible scopes; retain older denominators. |
| Requested class | Core, Extended or Full? | A Core result cannot establish higher-class file/session-management behavior. |
| Advertised capabilities | Which optional surfaces were enabled? | Skipped optional checks are not demonstrated support. |
| Passed, failed and skipped checks | What was actually executed? | A registry count is neither a pass count nor a reproduction. |
| Environment | Against which server/build/configuration? | A source report does not establish readiness of your deployed instance. |
For example, a project-authored 40/40 Core report can support that implementation’s Core claim at its stated source revision. It cannot be compared as though it were a Full 104-check run. The independent implementation directory retains those distinctions, including the difference between source evidence and this site’s own execution.
Choose the lowest class that meets your workflow, reproduce the relevant checks against an isolated authorized instance when possible, and separately assess security and deployment controls. This site does not claim to have rerun upstream reports merely by reviewing them.
Environments checks
Section titled “Environments checks”UHP 2026-09-28 adds the EN-series as capability-gated Full checks. Current source includes EN-01 through EN-09. UHP 2026-10-04 adds the ME-series for the optional Memories chapter: ME-01 through ME-13, capability-gated the same way, and a server without the memories capability is conformant at every class. UHP 2026-10-19 adds the F-09 Full check for the optional harness_retirement capability, alongside the new input_history capability; a server without either is conformant at every class. No check in the suite exercises input_history — checks.py at v0.36.4 holds no reference to it — so a conformance report cannot establish that capability; a client reads it from GET /v1/uhp instead. UHP 2026-10-19 also adds T-11, a Core check added at package 2026.10.19.post1: a background task read while it runs must report in_progress, not an implementation’s own name for the state. The check records a measured case — on 0.35.0-rc.2, HarnessRouter answered a background POST and every poll until the turn ended with running while its own stream emitted in_progress for the same turn.
PR #331 moved task Environment selection to metadata.environment; EN-05 sends the override through metadata and EN-07 verifies the response echo. Package post3 adds EN-09 for the optional package-spec check endpoint.
Package post3 also adds T-12, a Full check that measures the step budget: a task sent with max_step: 1 whose work needs three tool-call rounds must end incomplete and name the budget that stopped it, or a server that cannot bound its base names max_step in metadata.ignored_fields and passes. It constrains the max_step ceiling on agent steps in Tasks §1.1 — the field that bounds tool-call rounds — and not the timeout_seconds wall-clock budget, which no check in the suite exercises. It is the first check in the suite to constrain a budget rather than a capability or a status vocabulary.
Evidence boundaries
Section titled “Evidence boundaries”A green result must name the protocol version, package/source revision and requested class. A historical result is not upgraded when the suite grows.
Examples:
- historical 74/74 reports remain evidence for their 74-check source;
- PR #211’s 75/75 candidate result remains candidate evidence for that revision;
- later 76/76 or 84/84 results remain tied to the package/source that produced them;
- the current 104-check source does not imply a 99/99 result unless a complete run explicitly reports it;
- HarnessRouter model/support-matrix measurements are not UHP conformance measurements.
Upstream documentation drift
Section titled “Upstream documentation drift”The current Tasks chapter still contains a stale top-level environment row. The current schema, changelog, Environments chapter, PR #331, conformance checks and reference implementation use metadata.environment. Conformance evidence is therefore interpreted against the patched executable/schema behavior, with the stale table entry disclosed rather than silently copied.
Related reading
Section titled “Related reading”For the implementation path behind these checks, start with getting started and the HTTP API map. The uhp-go evidence record shows why a report must retain its source revision.