From: the graph brief §1 items 5–6, §3, §4 item 6. Size: several days; do it after T01–T03. Touches: scripts/site/build-abp-vault.mjs, site/vaults/*/data/views/, site/vaults/*/prompts/, site/vaults/*/projections/, site/vaults/_app/index.html.
The task
Amended 16 September (direction__consequences-assets-and-the-vault-as-a-website.md §4): the reading app gains Who are you? directly under Start here — executive, technical, risk and governance, buyer, the agent itself — and the first four views ship with the MVP vault rather than after it. Each view also decides which consequences (T11) that audience is shown.
Eight audiences: CEO, CFO, CTO, investor, buyer, operator, engineer, project manager. Each is a view: an authored filter over the graph saying which behaviours, which counts, which evidence it shows, and what it hides and why. Each has a prompt (prompts/<audience>.md) that turns the graph and the evidence into that audience's prose, and a projection (projections/<audience>.md) generated by prompts/build.sh, dated, with the prompt's hash in its footer. The build refuses to write a projection whose prompt hash does not match the prompt beside it, the same discipline the delta has. Shipping the prompt and the script is a selling point: the customer can regenerate it.
Constraints
- Views and prompts are authored; everything else is derived. Say which in every file's header.
- The projection is text a stakeholder reads, so every rule of the site applies to it: no score,
no verdict, no conformity language, the ABP never called the policy. The prompt must say so.
- The build must run without a model credential (it verifies hashes and refuses stale
projections); generating a projection is a separate, explicit step that records model, version and date in the projection's footer.
- Start with two audiences (operator and buyer, because the vault app already speaks to them)
and one vault; generalise only when the shape holds.
- No model identifiers in anything committed other than the projection footers, which record
what produced them as data.
Done means
- Two views, two prompts, two projections in one vault; the build refuses a stale one; the
renderer shows for the operator / for the buyer as tabs or a picker.
- An implementation brief in
docs/briefs/saying what held and what did not.