Verification
UHP conformance
Conformance is behavioral. UHP 2026-09-12 has 75 checks in current HarnessRouter source; implementation claims remain revision-, class- and evidence-form bounded.
Conformance classes
Section titled “Conformance classes”UHP defines cumulative Core, Extended and Full classes. A server claiming a higher class must satisfy the lower class as well.
| Coordinate | Current verified state |
|---|---|
| UHP protocol | 2026-09-12 Draft |
| Conformance package | 2026.9.12.post2 |
| Suite size | 75 checks |
| Core | 40 checks |
| Extended | Includes X-09 standalone POST /v1/files upload coverage |
| Full | Adds harness management, persistence/sharing and capability-gated Harness Plugins checks |
| HarnessRouter stable/current source | v0.23.12 / 5c2d3bb3 |
A skipped capability-gated check is not a pass. The package revision and the protocol revision are separate coordinates: 2026.9.12.post2 is a conformance-package/client revision for UHP 2026-09-12, not a new UHP specification.
2026.9.12.post2: valid SSE framing no longer creates false conformance failures
Section titled “2026.9.12.post2: valid SSE framing no longer creates false conformance failures”PR #260, merged as b924676397feaec24295e5da9c9e995e05bf8bc8 and released in HarnessRouter v0.23.12, fixes the conformance client’s Server-Sent Events parser. The previous client split events only on \n\n and parsed each data: line independently. That worked for a narrow LF/single-line emitter but not for the full SSE framing algorithm.
The corrected client:
- accepts LF, CRLF or CR line endings;
- holds a trailing CR across reads so a split CRLF is not misread as an extra boundary;
- joins an event’s multiple
data:lines with LF before JSON parsing; - keeps comments and the
event:,id:andretry:fields out of UHP event JSON as before; - does not dispatch an unterminated final event merely because the connection ended;
- preserves arrival timestamps used by progressiveness checks.
This matters because sse-starlette, commonly used under FastAPI/Starlette, frames with CRLF by default. Upstream’s reproduced valid stream went from 0 parsed events to 3, and the PR reports 96 conformance tests passing on Python 3.11 and 3.12, with the new framing file also passing on Python 3.10. The new package metadata is 2026.9.12.post2.
The measurement boundary remains strict: invalid UHP event payloads, missing required fields, sequence gaps and wrong first/last events are still checked by the existing rules. PR #260 removes false negatives caused by the suite client’s transport parser; it does not add a new UHP event type, relax UHP semantics, add a conformance check or upgrade any historical implementation result.
2026.9.12.post1: installed packages carry the canonical schema
Section titled “2026.9.12.post1: installed packages carry the canonical schema”PR #217, merged as b61025992cc004d599bdce1a004947e8571bd1c4 and released in HarnessRouter v0.19.1, fixed a distribution-specific blind spot. Previously, uhp-conformance installed outside a HarnessRouter checkout did not contain the versioned schema and looked for it relative to the repository layout. Schema-backed checks could therefore be unavailable merely because the suite was installed from a wheel/sdist rather than run from the source tree.
The fix:
- bundles the schema for the suite’s UHP version as package data;
- reads it through
importlib.resources; - byte-compares the packaged copy to the canonical protocol schema in regression coverage;
- builds and installs both wheel and sdist in isolated test targets.
Upstream reports 82 tests passing on Python 3.12. The PR explicitly states that protocol schema semantics and conformance verdict rules do not change. The suite remained 75 checks. This was a measurement-fidelity/package-delivery correction; post2 now supersedes its package coordinate while preserving that behavior.
X-09 remains the current check-set boundary
Section titled “X-09 remains the current check-set boundary”PR #210, released in v0.18.2, fixed self-hosted local-backing POST /v1/files, which had returned HTTP 500 because the implementation unconditionally used hosted-backing blob helpers. The earlier X-05 path sent inline file content and never touched the standalone upload endpoint.
X-09 uploads through POST /v1/files, validates the returned File object and then references that uploaded id from a task. That change advanced the source from the earlier 74-check shape to the current 75 checks. PR #217 later changed packaging only, and PR #260 later changed the suite client’s SSE framing only; neither adds another check.
HarnessRouter v0.23.11 changed implementation/API-documentation behavior without changing this suite. PR #254 removed console-only handlers from the public OpenAPI document while preserving protocol routes under the same prefixes. HarnessRouter v0.23.12 then corrects the suite client’s SSE measurement fidelity while the denominator remains 75.
Evidence forms must stay separate
Section titled “Evidence forms must stay separate”| Evidence | What it establishes |
|---|---|
| PR #175 | HarnessRouter v0.17.2 74/74 Full twice under the then-74-check source |
| PR #178 | Checked CE 0.17.2 JSON report: 74/74 Full, zero fail/skip/error |
| PR #190 | Checked README block: live CE 0.17.3, 74/74 Full, zero fail/skip/error |
| PR #211 | 75/75 reported for the reviewed release candidate that became v0.19.0 |
| PR #217 | Installed-suite/schema-packaging fidelity; not a new Full implementation measurement |
| PR #260 | Standards-valid SSE parsing in the measurement client; not a new Full implementation measurement |
| SuperQode PR #172 | Historical Full-requested 42/74, with 40/40 Core and Core highest fully passed |
| uhp-go | 63/63 Full for its pinned earlier suite/source |
The historical 74/74 artifacts remain valid for what they measured. They are not relabeled as 75/75 after X-09, and package-client fixes do not retroactively upgrade them.
Generic measurement
Section titled “Generic measurement”HarnessRouter PR #170 provides conformance-measure for any reachable UHP implementation or a server started inside the workflow. Checked reports live under protocol/conformance/reports/<slug>/, and displayed conformance information can derive from those reports rather than hand-entered claims.
That is important because the protocol’s evidence model is behavioral and reproducible. A support-matrix pass, provider connection, backend adapter, MCP call or model-catalog row is not a UHP conformance result.
What Harness Plugins checks mean
Section titled “What Harness Plugins checks mean”The optional plugin series tests behavior such as package round-trip, server-derived manifest/MCP/skill state, invalid-package/refusal boundaries, separation of direct and plugin-derived components, reinstallable export and credential omission. When a server truthfully reports plugins unsupported, those capability-gated checks may skip; a skip still does not count as a pass.
HarnessRouter runtime work around MCP transport bridging, backend launchers, readiness and dependencies demonstrates why this distinction matters: a suite result covers the checks that existed at the measured revision, not every possible backend/client transport combination.
How to state a useful conformance claim
Section titled “How to state a useful conformance claim”Identify at least:
- protocol version — currently
2026-09-12; - conformance class — Core, Extended or Full;
- exact package/source revision and check count;
- implementation/release revision measured;
- pass/fail/skip/error counts;
- relevant optional capabilities such as Harness Plugins;
- evidence form — checked report, recorded reference block, or release-candidate measurement.
Package metadata alone is not sufficient historical evidence because the original 2026.9.12 line existed in both 74-check and 75-check source states before .post1, and .post2 later changes the measurement client’s SSE framing without changing the denominator.
Related pages
Section titled “Related pages”Read Specification, Harness Plugins, HarnessRouter, Release tracker, Adoption, uhp-go and UHP clients.
Primary sources
Section titled “Primary sources”- Current conformance README
- Current conformance package metadata
- HarnessRouter
v0.23.12 - PR #260 — standards-valid SSE framing in the conformance client
- WHATWG HTML — parsing an event stream
- PR #217 — package the protocol schema
- PR #210 — local upload fix and X-09
- PR #211 — 75/75 release-candidate evidence
- PR #175 — 74/74 release evidence
- PR #178 — checked CE JSON report
- PR #190 — checked README attribution
- PR #170 — generic conformance measurement
- PR #172 — SuperQode measurement
- uhp-go conformance evidence