sgit newsroom v0.1.29 · snapshot 2026-09-24

Reading room · riskmandate.ai

On this page

Reading room / riskmandate.ai · raw text · live ↗

From riskmandate.ai, the page as fetched on 2026-09-25 · open the live page ↗Everything on this sheet is the source site's own text; the newsroom's chrome is outside it.

The first MVP vault: oc433z3m becomes the product, and the reading app is rebuilt around it

Rendered from docs/briefs/direction__mvp-vault-and-the-reading-app.md in the repository. The text below is that file. Source: https://riskmandate.ai/admin/briefs/direction__mvp-vault-and-the-reading-app/↗ · noindex · written by scripts/site/build-admin.mjs

Date: 2026-09-16 · Author: @website-agent Trigger: project lead, 16 September — "let's focus on making this oc433z3m vault our first MVP vault with a solid end-to-end experience for users and the design template that we will reuse … it is ok for you to make global changes to the code vault … don't buy tech debt trying to be backwards compatible … look at the design and layout (with left navigation) of the vault in this design mock-up of the store home page … the nice positioning of the vault … the attached PDF lists the features the vault needs to have, including the dual licence." Reads against: the store's V3 marketplace exploration at abp-marketplace-v3.diniscruz.chatgpt.site (index, Vault first, Read an example, the product lab, the design notes; read 16 September); the store's comparison table What each level actually gets you (PDF, store v0.3.12, 16 September); store.sgit.ai/d/t2/ and the ledger claims entry-level-dual-licence and abp-vault-build-exists (16 September); the renderer as it runs today in app vault fl3i7lu4 (v2), opened on oc433z3m; docs/briefs/review__vault-pages-vs-the-vault.md and architecture__vaults-in-vaults-for-behaviour-policies.md.

The mock-up sells the vault with one sentence: the ABP is the record; the vault makes it usable. Everything below is that sentence turned into a file list, a screen and a licence.


1. What the mock-up says about the vault, and what to take from it

The store's exploration has three emphases on one shopping model — ABP first, Vault first, Use it — and the vault appears the same way in all three: a panel titled Inside an ABP vault, with a left navigation of eight entries and a reading pane on the right.

Left navigation (mock-up)File it points atWhat the pane says
The ABPAGENT-BEHAVIOUR-POLICY.mdOne agent, written down. Grant, mandate, delta and barriers in one readable document; it carries no risk score
CustomiseMANDATE.mdThe mandate you correct. The editable input is data/mandate.json; derived documents are rebuilt from it
EvidenceGRANT.mdWhat the agent can reach. A barrier and evidence per row; reach is capability, not permission
The gapDELTA.mdThe difference, derived. Excess, shortfall, and the part of the excess with no boundary
Use itAGENTS.md + SKILL.mdInstructions the agent can read. Instructions communicate the mandate; enforcement depends on the recorded barriers
Build itMAP-A-GRANT.mdA prompt to map the grant. Run it where the agent runs
Read itindex.htmlThe vault's reading app. The app and the file tree are two views of the same record
Keep ithistory/ + data/A record that can evolve. Inputs, pinned vocabulary, validity, the history of recomputes

Under the panel, three claims: Your keys (a working copy you control), Multiple formats (markdown for people, JSON for tools), Version history (keep the basis of each revision). Above it, the hero: Open the vault. See what you get. — with the caption Reading app · files · keys · history.

Three things to take, and one not to:

  1. The left navigation is organised by what the reader does, not by object. Today's renderer has nine top tabs named after the objects (Grant, Mandate — correct it, Delta, Licence to Operate, …). The mock-up's eight entries are verbs and roles — Customise, Evidence, Use it, Build it, Keep it — and each names the file it opens. That is the better shape for somebody who was handed the vault: it answers what do I do with this before what is this. The redesign keeps the mock-up's eight, adds Start here above them and Licence and Your keys below, and drops the horizontal tab bar.
  2. The file is always visible. Every nav entry shows the filename in mono under the label. The reader learns the record's shape by navigating it, which is the point of shipping the record as files.
  3. Two views of one record. Read it and the vault browser's file tree are the same bytes; the mock-up says so and so should the app. The vault page on this site already shows both frames (v1.19.0); the app should say it about itself.
  4. Not to take: the illustrations and the store's palette. The mock-up is the store's home page — navy, pale blue, amber, generated artwork of leather binders. The reading app is RiskMandate's artefact, opened inside somebody's vault, often years after purchase. It keeps the site's paper-and-green, system fonts and no images; the mock-up's layout travels, its skin does not. (A decision for the lead, §6.)

2. What the comparison table says the vault must carry

The store's table (PDF) is read off data/offers.yml and rulings, and it is the feature list. Each row, and whether the vault already carries it:

Row (store's words)LevelIn oc433z3m todayWhat the MVP needs
The behaviour policy, the grant, the mandate and the deltaallyes — the four documents plus the licence to operate, AGENTS.md, SKILL.md, MAP-A-GRANT.mdkeep; put them behind the eight-entry navigation
Packaged as a download, with its size and sha256 beside it£10+dist/<slug>.zip exists; size and hash are stamped on paid-t1.html, not shown in the appthe app shows the zip, its bytes and its sha256, and hashes the download in the browser
A vault you hold the keys to, with its own app£50+yes — this is what oc433z3m issay it on the first screen: this is a vault, here is its id, here is who holds which key
Your own history, and a read key you can hand on£50+history/index.json is the build's recompute log; the vault's commit history is in the host, not in the appa Keep it view: the recompute history and the vault's commits (over sg.vfs where the bridge exposes them), and a Your keys view that explains read key vs write key and how to hand the read key on
The public key taken off it£50+the template's read key is public by design; a bought copy is a new vault with a new keyvault.json records `copy: templatelicensed`; the app says which this is and, for a licensed copy, that no public key exists for it
The mandate corrected against your situation£500+the correction UI exists (move a capability, recompute, paste mandate.json back)keep; Customise is the view; make the paste-back a first-class step with the file name and the path
A named security professional does the work; reviewed and signed off£500 / £1,500vault.json has owner, issued, valid_until (all null on a template)add reviewed_by and signed_off (name, date) — shown only when present, never implied
Licence: CC BY for the published files; a commercial licence to the buyer at every paid level; your name on the licence from the vault levelallthe vault says CC BY 4.0 in README.md and every derived file's provenance; there is no licence file and no licensee fieldthe dual licence, §3
Use it in client work without crediting us£10+—follows from the commercial licence; the app states it in those words, quoting the store
Delivery, payment—not the vault's businessthe app links the store's level page for the level this copy was bought at, and holds no price

Everything in the first seven rows is a presentation gap, not a data gap: the vault already has the material and the build already derives it. The licence is a real gap, and it is the one the lead named.

3. The dual licence

What the store has ruled (ledger, 16 September): the published template is CC BY 4.0, which obliges anybody using it to attribute; every paid level replaces that with a commercial licence to the buyer over the same material, grantable because the copyright in the pack is RiskMandate's; the wording is not drafted, and the ledger says so rather than implying otherwise; from the vault level the licence names the buyer, because there is an artefact for it to sit in.

The vault carries that as one file and one block of data:

4. The redesign of the reading app

One file, nothing external, window.sg bridge or same-origin fetch, no score anywhere — the authoring contract does not change. What changes is the shape.

┌ top bar: RiskMandate · Agent Behaviour Policy · vault <id> · v3 · live from the vault ──────────┐
│                                                                                                 │
│  ┌ left navigation ─────────┐  ┌ reading pane ────────────────────────────────────────────────┐ │
│  │ Start here               │  │  THE ABP                                                     │ │
│  │                          │  │  One agent, written down.                                    │ │
│  │ THE RECORD               │  │  <the document, rendered; or the view built from its data>   │ │
│  │ The ABP  AGENT-BEHAV….md │  │                                                              │ │
│  │ Evidence GRANT.md        │  │  ┌ this file ──────────────────────────────────────────────┐  │ │
│  │ The gap  DELTA.md        │  │  │ AGENT-BEHAVIOUR-POLICY.md · 14 KB · open raw · copy      │  │ │
│  │                          │  │  └─────────────────────────────────────────────────────────┘  │ │
│  │ WHAT YOU DO              │  └──────────────────────────────────────────────────────────────┘ │
│  │ Customise MANDATE.md     │                                                                   │
│  │ Use it   AGENTS.md+SKILL │                                                                   │
│  │ Build it MAP-A-GRANT.md  │                                                                   │
│  │ Authorise it LICENCE-TO… │                                                                   │
│  │                          │                                                                   │
│  │ WHAT YOU HOLD            │                                                                   │
│  │ Licence   LICENCE.md     │                                                                   │
│  │ Your keys                │                                                                   │
│  │ Keep it   history/ data/ │                                                                   │
│  │ Download  dist/          │                                                                   │
│  └──────────────────────────┘                                                                   │
└─────────────────────────────────────────────────────────────────────────────────────────────────┘

5. What changes globally, and what does not

The lead's instruction is explicit: global changes to the code vault are fine, and backwards compatibility with vaults nobody is using is not worth buying. So:

6. Decisions for the lead

  1. Skin. Recommendation: the app keeps RiskMandate's paper-and-green and system fonts, takes only the mock-up's layout. The alternative — the store's navy and amber inside the vault — makes the artefact look like the shop that sold it.
  2. Names. The mock-up's ABP Pack / Vault / Tailored / Reviewed are "proposed merchandising names" by its own notes. The vault should not carry them until the store rules; the app says level 1–4 and links the store's level page. Recommendation: wait for the store.
  3. The commercial licence text. The vault can only carry the store's sentence that the wording is not drafted. When the lead has wording, it goes into LICENCE.md §1 from one place (site/vaults/_template/LICENCE.template.md) and every licensed copy rebuilds. Recommendation: build the file now with the honest placeholder; do not wait for the wording to ship the MVP.
  4. Who writes licensee. The store owns the order; the vault owns the licence file. The store's after-payment page already hands us ?order= and ?shape=. Recommendation: the level-2 build takes --licensee "<name>" --order <ref> --level 2 and the person doing the build types what the order says; no automation across the boundary yet.

7. Plan and size

StepWhatSize
1vault.json shape (+ licence, copy, reviewed_by, signed_off); build derives LICENCE.md and provenance; refusals; rebuild sixteen; --check greenhalf a day
2Renderer v3: left navigation, Start here, file strip on every view, Licence, Your keys, Keep it (two histories), Download with sha256; phone layouta day and a half
3New app vault pushed; catalogue app_vault repointed; oc433z3m rebuilt and re-pushed; the site's vault page repositioned; screenshots on the vault page and for the store's slothalf a day
4The workflow brief's step table and the console updated; release 1.24.0 (a page family rebuilt: the app)an hour

Done means: oc433z3m opens in the host on the v3 app with the left navigation; every one of the eight files is reachable in two clicks and shows its name, size and raw; LICENCE.md exists in the vault and says CC BY 4.0 for this copy with the store's sentence about the paid wording; Your keys and Keep it exist and say nothing untrue about what the bridge exposes; the zip's sha256 on the app matches paid-t1.html; no price, no score, no key material anywhere in the app; npm run check green; the sixteen templates rebuilt with the CC BY block and unchanged otherwise.