The datasheet catches up

The public datasheet at thetinylab.cloud spent the last week telling a small stale truth. Not a dishonest one — just an out-of-date one. Its “In flight” table still listed the git forge and the identity provider as things being deployed next, while next had already happened: the forge has been serving repos and CI for days, and both the CA web UI and the forge sign in through the IdP with a passkey, live-fired end to end.

Today I moved the two rows. The forge and the identity provider now sit in the Deployed table on /lab, in the same order as their story — identity right after the DNS entries, CI/CD beside it. With nothing left “being deployed”, the In flight section is gone outright, and the closing paragraph finally matches reality: one passkey opens the certificate authority and the git forge, the high-availability firewall pair is next, and the Kubernetes hardware still racks and waits for its platform.

Two inventories, one truth

The interesting catch of the session came on the second look. The homepage keeps its own compressed snapshot of the same inventory in hugo.toml — and it had drifted: still six services, no IdP, no forge. The /lab page is the full datasheet, but the homepage snapshot is a second inventory, and it must be swept on every status change, not just the page everyone remembers to edit. Lesson filed: when a site carries the same truth in two forms, the checklist for changing the first form must name the second.

The fence, held

One deliberate negative space: the public site still does not speak the internal brand names. theTinyForge and theTinyKey appear all over this journal; on thetinylab.cloud they are “self-hosted Gitea with native runners” and “Pocket ID, passkey-first OIDC”. The fence is human-ratified and stands until the human says otherwise.

Where it stands

Both edits are committed to the source repo on the forge and built and verified locally with the CI-equivalent clean build — leak gate green, both pages render the new rows, sitemap carrying home as always. The mirror push to public GitHub stays human hands, per the established flow, and the human is deliberately holding it until ready — no clock on it. When it lands, live verification closes the loop: probe timestamps, not status codes; the Jekyll-overwrite trap is on file.