A conformance suite for agent chat. The behaviors every chat app must keep, written as Gherkin, with a browser runner that checks a real deployment.
contract/chat.feature: 70 scenarios. 57 are tagged@must: the floor.run.mjs: runs the scenarios againstBASEin Chromium and writesreports/<app>.md.--rule=<words>runs one rule and leaves the report alone.adapters/<app>.mjs: how one app is driven. A check is a function, ann/areason string, or aMISSING:string that counts as a fail. A check that returnsSKIPPED: <reason>is reported as n/a with that reason.POST.md: the draft post that explains where each scenario comes from.
node diagram.mjs turns the Gherkin into SVG:
diagrams/contract.svg: every rule and scenario on one page, coloured by tag.diagrams/rules/NN-<rule>.svg: one page per rule. Each scenario is a row: Given → When → Then.
node diagram.mjs --app=skin colours the same map by reports/skin.md: pass, fail, n/a, or not run.
BASE=https://your.app node run.mjs --floor --app=skinExit code 0 means every floor scenario passed or has a written reason it does not apply.
| App | Floor | Report |
|---|---|---|
| skin | 37 pass, 0 fail, 5 n/a | reports/skin.md |