ATProto Testing Plan

The goal is to validate the Boris agent kit end to end against the AT Protocol, focusing on the boris standard-site publication family. This page is the master plan; each area links to its detailed procedure. The operator's manual for the loop is Standard.site — the Boris/ATProto loop; the ATProto and Boris overviews are The AT Protocol and Boris.

Kit under test

Principle of operation

Boris treats the production URL as publication truth. ATProto publication is explicit, never implicit — nothing is written to the network without an explicit publish command and a stored session. Tests must reflect that: the offline projection and verify steps run in CI-like fashion; the live smoke is manual and never in CI.

Test matrix

ID Area Surface Offline Live Priority Status
T-01 Plan standard-site plan yes no high passed
T-02 Records standard-site records yes no high passed
T-03 Verify standard-site verify yes no high passed
T-04 Auth (OAuth) standard-site login --did no yes high partial
T-05 Auth (app-pw) standard-site login --app-password no yes medium passed
T-06 Sessions standard-site sessions / logout no yes medium passed
T-07 Publish standard-site publish no yes high passed
T-08 Smoke standard-site smoke no yes high passed
T-09 Deploy Cloudflare Pages no yes medium passed
T-10 Nostr nostr plan / sign yes no low scheduled

Acceptance criteria

Identity / handles

All live tests use a dedicated test identity, never a personal account. This site is wired to did:plc:jiokpoojzqntdpyw5xvfr7rv (handle boris.filed.fyi, PDS auriporia.us-west.host.bsky.network, app-password session) — the production identity. An earlier throwaway identity (did:plc:xrqjadveiamk7vq7sfnvfddz) passed the live smoke and is retired. App passwords grant broad account write in its scope, so the credential is scoped and revocable. See Standard.site Test Procedures for the auth flows and The AT Protocol for the OAuth/DPoP vs app-password comparison.

Status legend