# The Eleven Answers: The Specification's Questions, Each With The Evidence That Answered It

**pack** Insurance Ecosystem · draft-1 · 3 September 2026
**role** The nine-item inventory and the eleven questions the specification says the pack must answer, answered — each with where the answer came from, so a reader can disagree with the evidence rather than the conclusion. Question nine is a decision and is marked as one.

---

## The inventory, done

| # | Establish | Found, 3 September 2026 | Where |
|---|---|---|---|
| 1 | What the existing vault applications do | **No board application** anywhere in the estate. Vault apps that exist: this session's video catalogue (index.html over content.json), the sgit.ai library site, the five graph vaults analysed on graphs.sgit.ai (regulation graph, risk mandate, browser isolation, risk graph explorer, VoiceDebrief) — all read-only renderings over a folder of files. Components: `sg-vault-viewer`, `-tree`, `-commit-log`, `-file-preview`, `-manager`, `-picker`, `-sync-status`; `_page.json` hub pages | `sgraph_ai_tools__static/components/vault/`; graphs.sgit.ai `/v1/vaults/`; the `vault-html-app` and `create-vault-content` skills |
| 2 | What the messaging vault implementation looks like | **A transport, not a product**: the append lane, six endpoints, shipped and code-verified server-side; the composition with PKI is documented ("Sending messages between vaults") with the client-side lane-address derivation marked **PROPOSED** — the token is agreed out of band today. `sg-chat-thread` is a bubble component for a WhatsApp desk, platform-neutral, unused here | sgit.ai `/docs/vault-messaging`, `/api/append-lanes`; the 19 August brief (v0.33.60) |
| 3 | The current command surface of the vault tool | sgit-ai **0.16.0**: `init/create/clone/clone-branch/clone-headless/clone-range` outside a vault; `commit/status/push/pull/fetch/cat/ls/write/branch/merge-abort/resolve/vault/cache/check/file/history/inspect/remote` inside; `dev/help/pki/update/version` anywhere. `clone` accepts a read key for a read-only clone; `write --push` writes one file to HEAD; `history log --file` is the overwrite detector; **no lane command** — lanes are HTTP or `sg.append` | `sgit help all`, each subcommand's `--help` |
| 4 | The full lifecycle event list available for hooks | **Thirty-three** events; five can block (`PreToolUse`, `PostToolUse`, `Stop`, `SubagentStop`, and a few config/worktree ones); types `command | prompt | agent | http | mcp_tool`; `PreToolUse` **fails open on timeout**; `SessionEnd` hooks share 1.5 s; `SessionStart` stdout becomes context | schemastore `claude-code-settings.json`; the hooks reference |
| 5 | What the risk product holds today | The **instance** side: which environment, which mandate, the delta and the risks (grant-and-mandate pack, RiskMandate's landing page and design-partner deck in `/partner/`). The partner's RAMM-I index (0–100, six bands) and this estate's 1–5 scale disagree and the disagreement is recorded (N28). No policy object exists there; the policy is written *against* the mandate it holds, by hash | `packs/grant-and-mandate/`, `partner/`, `insurance/` |
| 6 | Who the parties actually are | The project lead (issuer, approver), the site agent (insured, maintainer), the estate (policyholder), the RiskMandate team (holds the instance; not a party to a policy), the registry's operator root (a fixture signer) | `admin/comms.html`; [document 05](05__parties.md) |
| 7 | The 18 June agentic-permissions pack, in full | **Eighteen documents read** (seventeen strategy and architecture on the blast-radius thesis, PBOM, skills-as-code, T&Cs, rising tide, commercial model, integrity, side effects, open source, why-now, the evidence database, the vault strategy, risk acceptance as underwriting; one naming brief). Two are current for this pack: the underwriting brief (the economics' pillar) and the naming brief (the collision). None defines a schema this pack could duplicate | `SGraph-AI__App__Send` · `team/humans/dinis_cruz/briefs/06/18/agentic-permissions/` |
| 8 | The graphs site lexicon and edge sets | Thirty concepts, each a node defined by its edges with source, first appearance, maturity; directed edges with distinct inverses; node-type formulas as testable path patterns. The sibling pack's lexicon already adopts the format; this pack's [document 01](01__concepts.md) follows it | graphs.sgit.ai `/v1/briefs/02__concepts-index.md` |
| 9 | Whether a lane with no registered anchors accepts any token holder | **Still unstated** on the published reference. The 19 August brief: anchors *decide which senders a lane accepts*. Assumed **no anchors, no writers**; one anchor registered per session; to be confirmed by one write against an unconfigured lane at step 7 | sgit.ai `/api/append-lanes`; v0.33.60 |

And the one thing the specification said was attached and was not available to this session: the **reference document of measured primitives** (v0.33.62). Substituted by measuring again, on this session's own transcript ([document 03](03__the-policy-object.md)).

## The eleven questions

| # | Question | Answer | Evidence · decision |
|---|---|---|---|
| 1 | Which existing vault applications are reused, and which parts of the room are genuinely new? | **Reused:** the vault-app skeleton (index.html + app.json + content.json through `sg.vfs`, inlined fallback, `sg-app-ready`). **New:** five cards, the derived `content.json` shape, the briefing text. Nothing else exists to reuse | Inventory 1 · [IE-D1](99__change-control.md) |
| 2 | Where do policies live: a new vault, the risk product, or the existing key-vault pattern? | **A new vault, `insurance-policies`.** Not the risk product (it holds the instance; the policy references the mandate there by hash). Not the key-vault pattern (`sgit vault add/list/show` is a credential store; a policy is a document) | Inventory 3, 5 · [IE-D2](99__change-control.md) |
| 3 | Which lifecycle events exist to hook, and which decision points are therefore available? | Thirty-three Claude events, of which `SessionStart`, `PreToolUse`, `Stop` are used — as instrumentation. The decision points that **refuse** are git's `pre-commit` and `pre-push`, because the platform fails open on hook timeout and a git hook owns its exit code | Inventory 4 · [IE-D4](99__change-control.md) |
| 4 | Local script or HTTP hook for the pilot, and what fails when it is unreachable? | **Local script.** For anything real, the service sits behind the **git hook** (`policy.py --service`), which fails **closed** for a draw (refuse: balance unknowable) and **open** for a normal-band event and for reporting (queue locally). The Claude `http` hook carries only reporting, because it cannot fail closed | Inventory 4 · [IE-D4](99__change-control.md) |
| 5 | Who are the real parties, and which already exist as roles? | Six roles; two exist as named responsibilities in this estate's comms (project lead, site agent); the estate is the policyholder; the RiskMandate team holds the instance and is not a party; the operator root signs as a fixture. In the pilot one session may run any role, per the project lead | Inventory 6 · [IE-D5](99__change-control.md) |
| 6 | What is the drain cadence, and what watches the drain? | **Every maintainer run, at least once per working day**; the binding limit is 1,000 pending per token and the pilot's rate is under a hundred a day. **The room watches**: a STALE banner when `generated_at` is older than the reinstatement interval, and the briefing prints the last drain. Retention: the lane empty after drain, the ledger forever, the room two derivations | Published limits · [IE-D7](99__change-control.md) |
| 7 | Which primitives are in the first policy, and what are their initial numbers? | `bytes_per_commit` 50 KB / **300 KB exclusion** / 1 MB pool; `commits` 10 / 1 / 20; `bytes_per_push` and `pushes` as the existing MVP (own 10/20, dev 3/10); `branch` from the mandate. Requested draw above 200 KB. Reserve 10 %. Tokens: **four counters measured, no bands** | Memo 12; the mandate; the transcript · [IE-D8](99__change-control.md) |
| 8 | Who owns the rate table? | **The issuer** — the party that owns the pool, because whatever is underpriced gets consumed and that is a policy instrument. The policy object carries `rate_table.owner` and `published: false`; publishing one is excluded | The architecture brief · [IE-D10](99__change-control.md) |
| 9 | **Is `mandate` the union or the narrow thing, in the schema that ships?** | **The narrow thing. August governs.** `grant` is the union; *Authority Envelope* is a prose synonym for the grant's outer boundary and never a field. **A decision, recommended by the specification, taken here provisionally, and the project lead's to reverse** | The naming brief, read in full · [IE-D9](99__change-control.md) |
| 10 | Does the room reuse the board application, and if so what does it lose? | **There is no board application.** The room is a vault app. What it lacks that a board would have: threaded comments on a card (the requests folder is the thread) and live updates (the maintainer derives) | Inventory 1 · [IE-D1](99__change-control.md) |
| 11 | What is the first refusal the pilot demonstrates, and to whom? | **A 400 KB commit refused by git's pre-commit hook**, on 3 September, shown to the project lead in [document 09](09__first-increment.md) with git's own output — and, once the room exists, as the first red card | [Document 09](09__first-increment.md) · [IE-D11](99__change-control.md) |

## What this does not prove

- **That the inventory is complete.** Nine items were checked in one day from one session; the estate has nineteen sites and this looked at four repositories and one sparse checkout.
- **That the eleven answers are right.** They are evidenced, which is different; the evidence column is what to argue with.

---

*CC BY 4.0.*
