## The admin section is a console, and the Gmail-connector vault is live

**The Gmail-connector policy has a page, and it reads the vault.** The template built in v1.22.1
was pushed on 16 September as vault `oc433z3m`, with the read key derived one-way and printed in
the catalogue like every other. [Its page](abp-vault-claude-gmail-connector.html) opens the vault
in the host, twice, and its tile sits in *Mail & files connectors* on
[the library](agent-behaviour-policy.html) at *measured 4 of 6*. The customer's draft instance
was pushed as a private vault in the same session; its key went to the lead and is on no page.
Both pushes were owed to the lead in v1.22.1 and are not any more.

**Admin is a console now, at [`/admin/`](admin/).** The single admin page of v1.18.0 was a list of
links. What replaced it is the structure of `store.sgit.ai/admin/` and of the newsroom console it
was itself adopted from, read on 16 September: a dark rail that is always there and carries
counts, a page head that names the place, and a four-rank status scale of which only one rank is
filled. Here that rank is *needs the lead* — a decision, a credential or a call nobody else holds
— because it is the only thing on the console nobody else can move. The other three are *waiting
on somebody outside this repository*, *open or in flight*, and *done, and checked by the gate*.
No rank is ever applied to a behaviour policy.

**Every count is read off a file.** `scripts/site/build-admin.mjs` writes the whole of
`site/admin/` from the repository: the queue in the state file becomes [the board](admin/work/),
whose columns are read off the status column and never dragged; the brief register becomes
[the memo queue](admin/memos/), with what each item produced and what it still owes; every
document under `docs/` becomes [a page](admin/briefs/), and so does every task brief, every
in-flight work file, `CLAUDE.md`, the onboarding documents and the prompts — the agents' front
door, readable without the repository; [the vaults](admin/vaults/) show measured rows and open
questions read off each vault's own data. Add a brief and rerun the build: it has a page, and a
test fails until it does. `build-admin.mjs --check` runs in CI, so the console cannot go stale.

**Public, and not advertised.** Every console page is noindex, out of the sitemap and out of
`llms.txt`, and has a markdown twin beside it. The console is not in `pages.json`; a new `link`
kind of menu entry points *More → Admin* at the folder, and `admin.html` redirects to it.

**Kept out on purpose.** The store's console has a claim ledger, discount codes and payment rails;
none of that belongs here, and none was copied. The version in the rail is read at load from the
version record rather than restamped, so a release does not rewrite fifty-three console pages.

**One repair.** The register page had the sixteenth item nested inside the fifteenth; it is its
own block now, and the seventeenth — this instruction — is beside it.
