What you can use

One capability, your language. Open a cell for platforms and verification details.

Capability coverage

API = handwritten public API; Interface = generated API; Types = record codec only. Tested = recorded layer checks; Service, Native and Adapter = scoped runtime evidence. Green availability is not a runtime PASS. Expand a cell for platforms and evidence.

CapabilityGoPythonC++RustJavaScript
asks
API Tested
  • Handwritten public API source available; not a generated interface or runtime test PASS.
  • Recorded layer checks: PASS. go1.26.5; not a native-provider classification.
cas
API Interface Tested
  • Handwritten public API source available; not a generated interface or runtime test PASS.
  • Generated API source available; may be direct or service-based. Transport and runtime test PASS are not implied.
  • Recorded layer checks: PASS. go1.26.5; not a native-provider classification.
API Interface Tested
  • Handwritten public API source available; not a generated interface or runtime test PASS.
  • Generated API source available; may be direct or service-based. Transport and runtime test PASS are not implied.
  • Recorded layer checks: PASS. py3.12; not a native-provider classification.
API Interface Tested
  • Handwritten public API source available; not a generated interface or runtime test PASS.
  • Generated API source available; may be direct or service-based. Transport and runtime test PASS are not implied.
  • Recorded layer checks: PASS. g++; not a native-provider classification.
config
API Interface Tested
  • Handwritten public API source available; not a generated interface or runtime test PASS.
  • Generated API source available; may be direct or service-based. Transport and runtime test PASS are not implied.
  • Recorded layer checks: PASS. go1.26.5; not a native-provider classification.
API Tested
  • Handwritten public API source available; not a generated interface or runtime test PASS.
  • Recorded layer checks: PASS. py3.12; not a native-provider classification.
API Interface Service
  • Handwritten public API source available; not a generated interface or runtime test PASS.
  • Generated API source available; may be direct or service-based. Transport and runtime test PASS are not implied.
  • Current layer verification pending.
  • Service client: PASS. windows/amd64; host: go; config-cpp-windows-service (PASS)
download
API Types Tested
  • Handwritten public API source available; not a generated interface or runtime test PASS.
  • Generated record types and codec only; no generated service interface established.
  • Recorded layer checks: PASS. go1.26.5; not a native-provider classification.
API Types Tested
  • Handwritten public API source available; not a generated interface or runtime test PASS.
  • Generated record types and codec only; no generated service interface established.
  • Recorded layer checks: PASS. py3.12; not a native-provider classification.
API Types Tested
  • Handwritten public API source available; not a generated interface or runtime test PASS.
  • Generated record types and codec only; no generated service interface established.
  • Recorded layer checks: PASS. msvc; not a native-provider classification.
facade
API Tested
  • Handwritten public API source available; not a generated interface or runtime test PASS.
  • Recorded layer checks: PASS. go1.26.5; not a native-provider classification.
API Service
  • Handwritten public API source available; not a generated interface or runtime test PASS.
  • Current layer verification pending.
  • Service client: PASS. windows/amd64; host: go; facade-cpp-windows-services (PASS)
identity
API
  • Handwritten public API source available; not a generated interface or runtime test PASS.
  • Current layer verification pending.
API
  • Handwritten public API source available; not a generated interface or runtime test PASS.
  • Current layer verification pending.
job
API Types
  • Handwritten public API source available; not a generated interface or runtime test PASS.
  • Generated record types and codec only; no generated service interface established.
  • Current layer verification pending.
API Tested
  • Handwritten public API source available; not a generated interface or runtime test PASS.
  • Recorded layer checks: PASS. py3.12; not a native-provider classification.
API Tested
  • Handwritten public API source available; not a generated interface or runtime test PASS.
  • Recorded layer checks: PASS. g++; not a native-provider classification.
logging
API Interface Tested Service
  • Handwritten public API source available; not a generated interface or runtime test PASS.
  • Generated API source available; may be direct or service-based. Transport and runtime test PASS are not implied.
  • Recorded layer checks: PASS. go1.26.5; not a native-provider classification.
  • Service client: PASS. windows/amd64; host: go; logging-go-windows-service (PASS)
API Interface Service
  • Handwritten public API source available; not a generated interface or runtime test PASS.
  • Generated API source available; may be direct or service-based. Transport and runtime test PASS are not implied.
  • Current layer verification pending.
  • Service client: PASS. windows/amd64; host: go; logging-cpp-windows-service (PASS)
model
API Tested
  • Handwritten public API source available; not a generated interface or runtime test PASS.
  • Recorded layer checks: PASS. go1.26.5; not a native-provider classification.
API Tested
  • Handwritten public API source available; not a generated interface or runtime test PASS.
  • Recorded layer checks: PASS. py3.12; not a native-provider classification.
rights
API Tested
  • Handwritten public API source available; not a generated interface or runtime test PASS.
  • Recorded layer checks: PASS. go1.26.5; not a native-provider classification.
router
API Interface Tested
  • Handwritten public API source available; not a generated interface or runtime test PASS.
  • Generated API source available; may be direct or service-based. Transport and runtime test PASS are not implied.
  • Recorded layer checks: PASS. go1.26.5; not a native-provider classification.
API Interface Service
  • Handwritten public API source available; not a generated interface or runtime test PASS.
  • Generated API source available; may be direct or service-based. Transport and runtime test PASS are not implied.
  • Current layer verification pending.
  • Service client: PASS. windows/amd64; host: go; router-cpp-windows-service (PASS)
storage
API Tested
  • Handwritten public API source available; not a generated interface or runtime test PASS.
  • Recorded layer checks: PASS. go1.26.5; not a native-provider classification.
API Tested
  • Handwritten public API source available; not a generated interface or runtime test PASS.
  • Recorded layer checks: PASS. g++; not a native-provider classification.
watch
API Tested
  • Handwritten public API source available; not a generated interface or runtime test PASS.
  • Recorded layer checks: PASS. go1.26.5; not a native-provider classification.
API Tested
  • Handwritten public API source available; not a generated interface or runtime test PASS.
  • Recorded layer checks: PASS. py3.12; not a native-provider classification.
API Tested
  • Handwritten public API source available; not a generated interface or runtime test PASS.
  • Recorded layer checks: PASS. Apple Clang darwin/arm64; not a native-provider classification.
Service test evidence

Shared IPC runtime source: reusable C ABI client binding, C++ wrapper, native transport; source availability is separate from full identity provider conformance.

Service clients and focused checks

Each scenario states the service/provider behavior actually exercised. Client transport and individual capability checks are separate from full capability conformance. These results never replace a provider failure or establish other platforms. Inputs and toolchain identity are recorded per scenario.

CheckLayerLanguageScopePlatformVerdictScenarioToolchain
config-cpp-windows-serviceopenabstractions-flat/abstraction-configcppclientwindows/amd64PASSInstalled C++ Config.Read -> generated protocol -> shared IPC -> central Go host -> same-user configuration provider; caller override/provenance/live reload/value-only stamp, malformed or missing provider source, typed request refusal, absence errors and no client-local statepython: Python 3.12.10; go: go version go1.26.5 windows/amd64; cmake: cmake version 4.3.1-msvc1
facade-cpp-windows-servicesopenabstractions-flat/abstraction-facadecppclientwindows/amd64PASSInstalled C++ facade Log/Config.Read/Router.Models/Hosts/Pick reach three production Go services and providers; service-owned configuration reload/provenance, verified logging identity and persistence, empty router inventory versus typed negative decisions/refusal, caller audit, absence errors and no client-local statepython: Python 3.12.14; go: go version go1.26.5 windows/amd64; cmake: cmake version 4.3.1-msvc1
logging-cpp-windows-serviceopenabstractions-flat/abstraction-loggingcppclientwindows/amd64PASScpp facade -> generated client -> shared named-pipe IPC -> identity-checked Go logging service -> service-owned JSONL sink; multiline Unicode, zero level and empty attrs preserved; verified peer; record survives client exit; schema=2 refused; absent service errors; no client-local storagepython: Python 3.12.10; go: go version go1.26.5 windows/amd64; cmake: cmake version 4.3.1-msvc1
logging-go-windows-serviceopenabstractions-flat/abstraction-logginggoclientwindows/amd64PASSgo facade -> generated client -> shared named-pipe IPC -> identity-checked Go logging service -> service-owned JSONL sink; multiline Unicode, zero level and empty attrs preserved; verified peer; record survives client exit; schema=2 refused; absent service errors; no client-local storagepython: Python 3.12.10; go: go version go1.26.5 windows/amd64
router-cpp-windows-serviceopenabstractions-flat/abstraction-routercppclientwindows/amd64PASSInstalled C++ Router.Models/Hosts/Pick -> generated RPC -> shared IPC -> identity-bound Go router service and existing provider over isolated local HTTP fixtures; inventory/resident/denied choices, empty allowance versus absence, caller audit, typed refusals, GET-only provider reads and no client-local state; no central-host or GPU-cost claimpython: Python 3.12.14; go: go version go1.26.5 windows/amd64; cmake: cmake version 4.3.1-msvc1
Build and conformance evidence

Recorded checks for exact source revisions. A changed revision needs fresh verification.

Measured at commit 78fef2e on 2026-09-12. Layer trees: openabstractions-flat/abstraction-asks@67bc91e openabstractions-flat/abstraction-cas@cf455b4 openabstractions-flat/abstraction-config@d93ae75 openabstractions-flat/abstraction-download@037f545 openabstractions-flat/abstraction-facade@75832f0 openabstractions-flat/abstraction-identity@f02cf2a openabstractions-flat/abstraction-job@7cfad00 openabstractions-flat/abstraction-logging@e1ffdaf openabstractions-flat/abstraction-model@00e86f5 openabstractions-flat/abstraction-rights@2951974 openabstractions-flat/abstraction-router@d79374d openabstractions-flat/abstraction-storage@27bc58b openabstractions-flat/abstraction-watch@27bd982. The same grid, in the same run, is docs/results/MATRIX.txt.

Native macOS results are recorded separately in DARWIN1.txt. They supplement the local gate for the same layer revisions; failures remain visible.

7 of the 29 implementations in this tree carry no verdict attributed to this tree. That is the honest headline. A cell is green here only when a recorded transcript says so about the tree as it is now — a cross-language harness transcript, or GATE.txt, the per-cell record scripts/check.sh --record writes. Every one of those names the commit and the layer trees it judged, and goes back to UNPROVEN the moment a layer moves under it. Calling the rest green would be assuming a run nobody can point at.

IDL codec generator availability

This reports backend registration in the generator source. It does not establish that a layer has an application client, a provider, or passing tests.

gopythoncpprustjavascript
availableavailableavailableavailableavailable

Legacy whole-layer verification

Beside each verdict is the toolchain that reached it, and ? where the record it came from named none. A C++ cell is the reason this is here: a PASS in the C++ column used to stand for a three-platform claim without naming a single compiler. This grid was recorded from a fast run, and every cell says which toolchains reached it.

layergopythoncpprustjavascript
abstraction-asksPASS go1.26.5
abstraction-casPASS go1.26.5PASS py3.12PASS g++
abstraction-configPASS go1.26.5PASS py3.12UNPROVEN
abstraction-downloadPASS go1.26.5PASS py3.12PASS msvc
abstraction-facadePASS go1.26.5UNPROVEN
abstraction-identityUNPROVENUNPROVEN
abstraction-jobUNPROVENPASS py3.12PASS g++
abstraction-loggingPASS go1.26.5UNPROVEN
abstraction-modelPASS go1.26.5PASS py3.12
abstraction-rightsPASS go1.26.5
abstraction-routerPASS go1.26.5UNPROVEN
abstraction-storagePASS go1.26.5PASS g++
abstraction-watchPASS go1.26.5PASS py3.12PASS Apple Clang darwin/arm64

PASS 22 · FAIL 0 · UNPROVEN 7 · ABSENT 0 · no implementation 36. 65 cells over 13 layers.

* Documented platform limitation. The current macOS IPC provider cannot supply the process proof required by these service tests. These cells remain counted as FAIL. See the native Mac results and the identity contract.

What a cell means

cellmeans
PASSthe recorded checks passed within their stated scope and exceptions
FAILevidence exists and a rule broke
UNPROVENcould not be checked here — a toolchain absent, a platform absent, a harness skipped, or a result nobody records
ABSENTchecked, and the thing is confirmed not there — a language this project's own inventory claims and the tree does not have
no implementation/client found for this layer and language; absence does not establish intent

UNPROVEN and are not the same thing and must never be read as one. A missing implementation is an adoption gap. An implementation that exists and nothing tests is written UNPROVEN so it looks like one.

Why each cell reads as it does

The reason is the point of the table. gate is a cell the project's own gate runs on every change and no recorded run wrote down; skipped is a cell the last recorded run could not judge; unreached is a cell nothing runs at all. All three are UNPROVEN and they are very different gaps.

layerlanguagecelltoolchainreasonwhat proved it, or what did not
abstraction-asksgoPASSgo1.26.5recordedGATE fast, go build ./... && go test ./...
abstraction-askspythonnoneno python implementation/client found; no inventory claim establishes why it is missing
abstraction-askscppnoneno cpp implementation/client found; no inventory claim establishes why it is missing
abstraction-asksrustnoneno rust implementation/client found; no inventory claim establishes why it is missing
abstraction-asksjavascriptnoneno javascript implementation/client found; no inventory claim establishes why it is missing
abstraction-casgoPASSgo1.26.5recordedGATE fast, go build ./... && go test ./...
abstraction-caspythonPASSpy3.12recordedGATE fast, unittest discover, 13 tests
abstraction-cascppPASSg++recordedGATE fast, ctest under g++ 15.2.0 in WSL, 2 test runs; msvc not built (--fast)
abstraction-casrustundeclaredno rust implementation/client found; the inventory carries no row for openabstractions-flat/abstraction-cas
abstraction-casjavascriptundeclaredno javascript implementation/client found; the inventory carries no row for openabstractions-flat/abstraction-cas
abstraction-configgoPASSgo1.26.5recordedGATE fast, go build ./... && go test ./...
abstraction-configpythonPASSpy3.12recordedGATE fast, unittest discover, 17 tests
abstraction-configcppUNPROVENunreachedopenabstractions-flat/abstraction-config/cpp exists with 0 test files and nothing the gate runs names it
abstraction-configrustnoneno rust implementation/client found; no inventory claim establishes why it is missing
abstraction-configjavascriptnoneno javascript implementation/client found; no inventory claim establishes why it is missing
abstraction-downloadgoPASSgo1.26.5recordedGATE fast, go build ./... && go test ./...
abstraction-downloadpythonPASSpy3.12recordedGATE fast, unittest discover, 70 tests
abstraction-downloadcppPASSmsvcrecordedGATE fast, the published conformance suite, 52 rules over 10 of 47 scenarios: matrix recall failure-endings intent notice-quiet wanted pause-adoption foreign-sink terminal wire-ignored-range
abstraction-downloadrustnoneno rust implementation/client found; no inventory claim establishes why it is missing
abstraction-downloadjavascriptnoneno javascript implementation/client found; no inventory claim establishes why it is missing
abstraction-facadegoPASSgo1.26.5recordedGATE fast, go build ./... && go test ./...
abstraction-facadepythonnoneno python implementation/client found; no inventory claim establishes why it is missing
abstraction-facadecppUNPROVENunreachedopenabstractions-flat/abstraction-facade/cpp exists with 0 test files and nothing the gate runs names it
abstraction-facaderustnoneno rust implementation/client found; no inventory claim establishes why it is missing
abstraction-facadejavascriptnoneno javascript implementation/client found; no inventory claim establishes why it is missing
abstraction-identitygoUNPROVENskippedthe last recorded gate run (fast) did not judge openabstractions-flat/abstraction-identity: the macOS half is type-checked and run by nobody: this gate reaches no Mac
abstraction-identitypythonnoneno python implementation/client found; no inventory claim establishes why it is missing
abstraction-identitycppUNPROVENskippedthe last recorded gate run (fast) did not judge openabstractions-flat/abstraction-identity/cpp: no C++ toolchain on this run executed a ctest test belonging to it; msvc not built (--fast)
abstraction-identityrustnoneno rust implementation/client found; no inventory claim establishes why it is missing
abstraction-identityjavascriptnoneno javascript implementation/client found; no inventory claim establishes why it is missing
abstraction-jobgoUNPROVENskippedthe last recorded gate run (fast) did not judge openabstractions-flat/abstraction-job/go: the macOS half is type-checked and run by nobody: this gate reaches no Mac
abstraction-jobpythonPASSpy3.12recordedGATE fast, unittest discover, 76 tests
abstraction-jobcppPASSg++recordedGATE fast, ctest under g++ 15.2.0 in WSL, 4 test runs; msvc not built (--fast)
abstraction-jobrustnoneno rust implementation/client found; no inventory claim establishes why it is missing
abstraction-jobjavascriptnoneno javascript implementation/client found; no inventory claim establishes why it is missing
abstraction-logginggoPASSgo1.26.5recordedGATE fast, go build ./... && go test ./...
abstraction-loggingpythonnoneno python implementation/client found; no inventory claim establishes why it is missing
abstraction-loggingcppUNPROVENunreachedopenabstractions-flat/abstraction-logging/cpp exists with 0 test files and nothing the gate runs names it
abstraction-loggingrustnoneno rust implementation/client found; no inventory claim establishes why it is missing
abstraction-loggingjavascriptnoneno javascript implementation/client found; no inventory claim establishes why it is missing
abstraction-modelgoPASSgo1.26.5recordedGATE fast, go build ./... && go test ./...
abstraction-modelpythonPASSpy3.12recordedGATE fast, unittest discover, 41 tests
abstraction-modelcppnoneno cpp implementation/client found; no inventory claim establishes why it is missing
abstraction-modelrustnoneno rust implementation/client found; no inventory claim establishes why it is missing
abstraction-modeljavascriptnoneno javascript implementation/client found; no inventory claim establishes why it is missing
abstraction-rightsgoPASSgo1.26.5recordedGATE fast, go build ./... && go test ./...
abstraction-rightspythonnoneno python implementation/client found; no inventory claim establishes why it is missing
abstraction-rightscppnoneno cpp implementation/client found; no inventory claim establishes why it is missing
abstraction-rightsrustnoneno rust implementation/client found; no inventory claim establishes why it is missing
abstraction-rightsjavascriptnoneno javascript implementation/client found; no inventory claim establishes why it is missing
abstraction-routergoPASSgo1.26.5recordedGATE fast, go build ./... && go test ./...
abstraction-routerpythonundeclaredno python implementation/client found; the inventory carries no row for openabstractions-flat/abstraction-router
abstraction-routercppUNPROVENunreachedopenabstractions-flat/abstraction-router/cpp exists with 0 test files and nothing the gate runs names it
abstraction-routerrustundeclaredno rust implementation/client found; the inventory carries no row for openabstractions-flat/abstraction-router
abstraction-routerjavascriptundeclaredno javascript implementation/client found; the inventory carries no row for openabstractions-flat/abstraction-router
abstraction-storagegoPASSgo1.26.5recordedGATE fast, go build ./... && go test ./...
abstraction-storagepythonnoneno python implementation/client found; no inventory claim establishes why it is missing
abstraction-storagecppPASSg++recordedGATE fast, ctest under g++ 15.2.0 in WSL, 1 test runs; msvc not built (--fast)
abstraction-storagerustnoneno rust implementation/client found; no inventory claim establishes why it is missing
abstraction-storagejavascriptnoneno javascript implementation/client found; no inventory claim establishes why it is missing
abstraction-watchgoPASSgo1.26.5recordedGATE fast, go build ./... && go test ./...
abstraction-watchpythonPASSpy3.12recordedGATE fast, unittest discover, 19 tests
abstraction-watchcppPASSApple Clang darwin/arm64recordedDARWIN1 , CMake build and aggregate CTest on native macOS
abstraction-watchrustnoneno rust implementation/client found; no inventory claim establishes why it is missing
abstraction-watchjavascriptnoneno javascript implementation/client found; no inventory claim establishes why it is missing
reasonwhat it says about the cell
recordeda transcript in docs/results/ recorded this verdict for this tree
drifteda transcript recorded a verdict, for a tree this one is no longer. It proves what the code used to do
skippedthe last recorded gate run reached this cell and could not judge it — a toolchain absent, or a mode that leaves it out
gatethe gate builds and tests this cell every run, and no recorded run has written down the result
untestedthe cell has no test file of its own
unreachednothing the gate runs names this cell
declaredthe project's inventory declares the language and the tree does not have it
noneno implementation/client found; absence does not establish intent
undeclaredno implementation/client found, and the inventory carries no row for the layer

Where the evidence comes from

Six cross-language harnesses and one public suite. Five of the six say which language a result belongs to, and two of them leave a committed transcript naming the commit they judged. The rest of the grid rests on the gate itself, which builds and tests most of these cells on every run: scripts/check.sh --record writes what it reached into GATE.txt, one line per cell. A cell still reads gate where no recorded run has judged it.

harnessaskssays which language?leaves a committed transcript?
behaviour-conformance.shdo the implementations do the same thingyes — every scenario line names the languages that agreed, and an absent one is named tooyes, BEHAVIOUR1.txt
spec-conformance.shdo they read a download spec the same wayyes — it prints its roster and names any implementation that did not runno
verdict-conformance.shdo they refuse the same documentsyes — a divergence names the implementations on each sideno
conformance.shcan each language finish a job another startedyes — every step names the implementation that took itCONFORM1.txt, with no header naming the tree it measured
obtain-conformance.shcan a stranger get each implementation through its own front dooryes — one line per doorno
identity-conformance.shdo Go and Python group model names the same wayyes — it names the one that disagreesno
conformance/run.shdoes one implementation keep the rules on the contract pagesno — it judges one driver per run and the driver is the caller's choiceno

The grid also reads the tree itself: which <layer>/<language>/ directories exist, which Go modules the workspace lists, which C++ directories the top-level build adds, which Python suites the gate names, and how many test files each cell carries.