Five browser showcases for the agentic dataset behavioural contract, served at https://agentic-datasets.github.io/showcase/.
Everything on the page is computed client-side. There is no server, no model, and no network call after the page loads.
The subject is a TypeScript transcription of toy.py, the worked example
that ships inside the conformance distribution in
reference. It implements the
same four-method interface — loadWorld, capabilities, step, reset — and
is driven by the same CC0 vectors, copied byte-for-byte from
agentic_dataset_conformance/data/ and never edited here.
make selftest checks the port against what the Python subject reports:
| Python | TypeScript | |
|---|---|---|
| assertions | 15/15 | 15/15 |
| observations | 77 | 77 |
| prohibited steps executed | 0/39 | 0/39 |
It also checks that each of the seven mutants is caught by the assertion named for it. If the port drifts, that command fails.
CONFORMANCE.md invites this: "an implementation in Rust, Go, TypeScript or
Java can be checked without reproducing Python object semantics — Python is one
runner, not the specification." Every measured subject so far is Python, so
this is the first one that is not.
It establishes that the vectors execute outside Python, through the public interface, with no shared runtime.
It does not establish interpretive independence. This is a transcription of the Python example rather than a fresh reading of the specification, and the same person is behind both. Interpretive independence needs a second person, and remains the contribution the project most needs. The page says so on itself.
| Showcase | Assertions | Shows | |
|---|---|---|---|
| 01 | Admission | AD-001, AD-009, AD-010 | The verdict, the deciding clause, and the evidence row — including for refusals |
| 02 | The load-bearing four | AD-003…AD-006 | Six attempts; execution is unreachable without a grant |
| 03 | Scope across a boundary | AD-007, AD-013, AD-014 | Delegation over MCP or to another agent never widens scope |
| 04 | A cache that respects policy | AD-008 | A cached answer that would otherwise cross an authorization boundary |
| 05 | Mutant hunt | all fifteen | Break the implementation; the assertion named for the defect catches it |
Showcase 02 names an explicit dataset on the prohibited and unregistered
attempts. Without it the capability resolves to no dataset at all and the
refusal is MISSING_DESCRIPTOR — true, but not the clause being demonstrated.
Showcase 04 pairs the process engineer with the analyst rather than with the
external auditor. Both are entitled to search, which is what makes the cache
comparison meaningful; the auditor is refused before the cache is consulted,
because public clearance sits below that capability's sensitivity. The auditor
is on the page anyway, as the row where the boundary holds earlier.
make vectors # re-copy from ../reference and regenerate the index
make selftest # then confirm the port still reproduces the baselineThe vectors are copied, never edited. src/engine/data/index.ts is generated by
scripts/generate-data-index.py, so adding a vector upstream is the whole
update path.
Vite + React + TypeScript + Tailwind, base: '/showcase/' because this is
project Pages under the organization domain, building into docs/. The built
output is committed; CI rebuilds and commits it on push.
make dev # dev server
make build # build into docs/
make selftest # the port vs the Python baseline
make check # verify docs/ is publishableThe worlds and vectors under src/engine/data/ are CC0 1.0, copied from the
reference distribution; their LICENSE travels with them. The showcase source
is MIT. The vendored typeface is Apache 2.0 (public/fonts/LICENSE.txt).
The Agentic Dataset mark is all rights reserved and is covered by none of those — see the brand notes.