ClosedLab AI

Docs

How the work is documented and proved

There is no public API to document, so this is not an API reference. It is what ClosedLab writes down for a system it delivers, and the pipeline a release has to survive before it ships.

Operating documents

These ship with an engagement. They are maintained alongside the code rather than written once at handover, which is the difference between documentation and an artefact.

Operations runbook
How the system is run day to day: the scheduled jobs, what each one touches, and what to do when one of them fails.
Backup and restore
Where state lives, how it is backed up, and the restore procedure with the order the steps have to run in.
Migration and rollback
How a schema change is applied and, more importantly, how it is reversed when it turns out to be wrong.
Deployment smoke checks
The checks run against a freshly deployed origin before it is considered live, as an explicit list rather than a habit.
Telemetry operations
What is collected when consent is given, where it goes, how long it is kept, and how it is switched off.
Webhook receiver contract
The signature scheme, versioning, idempotency guarantees and replay handling that a receiving system has to implement.
Accessibility acceptance
The accessibility criteria a release is measured against, and the evidence recorded for each one.
Performance acceptance
The performance budgets, the routes they apply to, and the numbers from the run that was accepted.
Release evidence
The template every release fills in, so an approval is a record with results attached rather than a signature.

The verification pipeline

This site runs the pipeline described below on itself. A failing step stops the release; it is not recorded as a known issue and carried forward.

Toolchain
The Node version in use is checked against the pinned version, and the pin is proved consistent with the declared engine range, so the lockfile and the build agree.
Content claims
Production copy is scanned for unapproved placeholder claims. A reference figure that escapes the visual fixture into a shipped page fails the build.
Types and lint
A full type check with no unchecked index access, and a lint run that treats warnings as failures.
Tests
Unit and integration suites with coverage, then a browser suite across five device profiles covering navigation, dialogs, focus restoration, forced colours, reduced motion and reflow to 320 pixels.
Build and budgets
A production build, then a static JavaScript budget measured from the built output rather than estimated.
Contrast
Each published route is rendered and screenshotted, and every text element is measured against the pixels actually behind it. Gradients defeat static palette checking, so this measures the result instead.

Getting the documents

The operating documents for an engagement are delivered with it rather than published here, because they describe a specific deployment and its credentials boundary.

For the controls this site itself enforces, see security. For its live liveness check, see status.