AlphaTest / Blueprint / Integrator API / Surface QC

Contract verified.
Content currently unavailable.

The last full replay passed at 19:47 UTC. At 20:44 UTC, Platform3 Content returned the documented retryable 503 with a request-correlated upstream trace. The rerunner now reports that operational state as inconclusive, not as a contract divergence.

ADOPT CONTRACT · DEFER CONTENT-DEPENDENT RELEASE · API REPLAY EXIT 2 · 28 Jul 2026, 20:44 UTC
Fresh-eyes integrator verdict

Adopt the contract; do not release a Content-dependent flow during this outage.

The serializer, status, problem URI, retryability, issue reference, validation order, and publication identity reproduce from the hosted docs alone. Successful adaptive creation remains deliberately unavailable until Platform3 issue #1138 is resolved. The 20:44 replay verified every pre-Content branch, then received the documented retryable 503 upstream-unavailable from Platform3 Content. API exit 2 is an explicit operationally inconclusive result; hosting still exits 0.

Pass

Architecture

56 ITDs, 70 anchors, and every one of the 12 standard API decision axes pinned.

Pass

Data dictionary

411 stable anchors, 56 ITD links, 32 endpoint-mapped errors, and explicit adaptive availability.

Pass

Customer website

Six endpoint contracts and an honest instruction to branch on the non-retryable release gate.

Exit 2

Adaptive implementation

The contract is verified; current Content read availability is inconclusive until the upstream recovers.

Benchmark: the fetched Qualys SSL Labs analyze API returned READY / A+ at 20:44 UTC. Like SSL Labs, this report exposes an explicit overall state, per-check evidence, and a repeatable reassessment. Unlike the prior attempt, it distinguishes a target contract failure from a dependency availability state.

Fanned-value durability

Both fan identities pass together.

This report declares adaptive_diagnostic in its title, matrix, and audit scope. At 20:47 UTC, the credential-free verifier fetched both canonical reports, both canonical evidence bundles, and both distinct public fan aliases. Each returned 200 and identified its own test kind. The earlier promotion failure is retained in the runtime receipt as resolved incident history, not credited as current proof.

Canonical cellExpected matrix kindObserved matrix kindVerdict
surface_qc@mastery_gatemastery_gatemastery_gatePASS
surface_qc@adaptive_diagnosticadaptive_diagnosticadaptive_diagnosticPASS
Publication command: node site/verify-hosting.mjs exited 0 at 20:47:57 UTC. It verifies both canonical paths, both evidence bundles, distinct deployment aliases, and the expected test_kind at every location.
Current canonical HTTP replay

Six contract rows pass; Content rows are availability-dependent.

ProbeExpectedObservedVerdict
Public health200, testKind=adaptive_diagnostic200, exact kindPass
Anonymous listTyped RFC 9457 401401 authentication-requiredPass
Malformed JSONTyped 400, no Location400 malformed-jsonPass
Structurally valid createNon-retryable typed 422, issue #1138, no LocationExact problem URI, retryable=false, exact issue, no LocationPass
Same key, changed valid body after gate422 again; never 409422; no receipt survivedPass
Invalid DOK distribution400 before release gate with RFC 6901 pointer400; /rigorPolicy/dokDistributionPass
Authenticated list200, ETag, request-correlated Content trace when Content is available503 upstream-unavailable, retryable=true, request-correlated Content 5xx traceINCONCLUSIVE
Unknown query / absent detailTyped 422 / tenant-opaque 404422 / not reached after typed Content 503; last clean replay 404 at 19:47PARTIAL
Failure atomicity is proven at the boundary. Reusing the release-gated request’s idempotency key with a changed, still-valid body returned the same 422 rather than a changed-body 409. The gate ran before receipt persistence.
Availability receipt: the current rerunner validated the 503 status, RFC problem type, retryable=true, Content host, 5xx response class, and request correlation before exiting 2. It did not silently accept an arbitrary 503.
DoD D5

Real upstreams, honest missing capability.

Content reads
The 19:47 clean replay exposed a request-correlated Content 2xx trace. The 20:44 current replay exposed the same real host with a request-correlated 5xx trace and typed retryable 503. The clean replay is retained as historical baseline, not credited as current availability.
CASE create gate
The approved current probe found no owner-typed adaptive-eligible Knowledge Components. ITD-043 therefore returns the release-gated 422 before a CASE request or Content write.
Upstream issue
Platform3 #1138 is returned in the problem body and is the concrete reopen trigger.
Local substitute
None credited. The QC rejects copied standards, placeholder GUIDs, or a fabricated 202 as integration proof.
Two distinct upstream states. Adaptive create success is release-gated by the CASE corpus gap in #1138. Separately, Content reads are temporarily unavailable. Neither state is replaced by local data.
DoD D2

Tenant boundaries fail closed.

401

Anonymous API denial

A tenant-data list request without Authorization returned a typed 401.

Last clean 404

Cross-tenant opacity

The 19:47 replay proved non-enumerating isolation. The current replay cannot re-exercise this row while Content is unavailable; the boundary fails with 503 and exposes no tenant data.

401

Direct datastore denial

Unauthenticated Supabase REST access to Blueprint working state returned 401.

Clean

Published evidence

No JWT, service key, raw idempotency key, opaque resource id, or tenant response payload is retained.

Security model: API-fronted datastore. Tenant routing comes from the verified JWT; service credentials remain server-side.

Docs ↔ implementation

One contract, four deliverables.

The live architecture, data dictionary, and customer website each returned 200 at 20:44 and were byte-identical to their approved artifact. The current implementation agrees with their error contract: auth and validation run locally, valid create is release-gated before side effects, and an unavailable Content dependency returns a typed retryable 503.

Published artifactSHA-256Approved bytes
Architecture0417714e…21d7deEqual
Data dictionary3cd29442…145795Equal
Customer website0362d6a9…9a988Equal
Findings and routing

No contract rollback; one operator-visible availability blocker.

The Content outage is not a Blueprint BUG or FEATURE request: the implementation matches its published typed-503 contract and proves the declared upstream is real. It does block a current Content-dependent release, so it is ranked above the resolved hosting history. No architecture, dictionary, website, implementation, or sibling QC cell needs rollback.

Blocking findings
Operational: Platform3 Content currently returns 5xx. Contract adoption may proceed; a Content-dependent production release should wait for rerunner exit 0.
Rollback target
None.
Hosting acceptance
Distinct deployment URLs; both canonical fan paths identify themselves; verifier exit 0.
Declared gap
Platform3 CASE owner-typed adaptive KC corpus, tracked by #1138.
Customer action
Adopt the stable 422 and typed-503 branches now; require API rerunner exit 0 before releasing the Content-dependent flow.
Independent reassessment

One command reruns the evidence.

BLUEPRINT_REVIEWER_JWT="$BLUEPRINT_REVIEWER_JWT" \
BLUEPRINT_PROD_REVIEWER_JWT="$BLUEPRINT_PROD_REVIEWER_JWT" \
BLUEPRINT_ISOLATION_REVIEWER_JWT="$BLUEPRINT_ISOLATION_REVIEWER_JWT" \
SUPABASE_URL="$SUPABASE_URL" \
node site/probe.mjs

node site/verify-hosting.mjs

API exit 0 means every row, including cross-tenant and direct-datastore probes, reproduced. Exit 1 is reserved for a contract divergence, including an untyped or malformed 503. Exit 2 means the replay is inconclusive: a required fixture is unavailable, or Platform3 Content returned the exact documented retryable upstream-unavailable envelope with a correlated 5xx trace. Hosting exit 0 requires both fan values simultaneously. The current recorded results are API exit 2 (typed_upstream_unavailable) and hosting exit 0; the last clean full API replay exited 0 at 19:47.