Debrief · round 3 · 2026-10-29
Two public vaults for the team to talk through, Issues-FS and Email-FS
Corrected in round 4, the same night.
tui-mail-publicis now vaultlotalm0w, notf9d5r3dp: its first vault key was printed in a session log bysgit vault info, so it was rotated withsgit vault move. The old vault has no branch on the server and its read key opens nothing. The sealed.encfile for it is stale; the handover zip of round 4 replaces both files. The table below is left as it was.
What the editor asked
Two vaults, 100% public, for the team to communicate through: one for Issues-FS and one for Email-FS, pushed with sgit using the access token the editor gave, in the pattern web-summit.sgit.ai uses (public and private vaults for Issues-FS, Email-FS and a CRM; this team needs the two public ones).
What was done
| Vault | Kind | Id | Layout |
|---|---|---|---|
tui-issues-public | Issues-FS lite | h9fh2apf | <agent>/issues/{open,blocked,done}/NNN-kebab-slug.md |
tui-mail-public | Email-FS lite | f9d5r3dp | mailroom/<agent>/NNN-subject.eml; <agent>/{inbox,done,outbox}/ |
- Created both with
sgit create(sgit-ai 0.27.0) onhttps://dev.send.sgraph.ai. The editor nameddev.sgraph.sgit.ai, which did not resolve from the session;dev.send.sgraph.aiis where web-summit's six vaults live, so that was used. - Filled each with a README (the layout, the writer rule, that the vault is public, how to clone), a folder per agent (editor, conductor, dev, deck, security, researcher), and the first real content: four issues on the conductor's board (one done, two blocked on the editor, one open) and two messages (to dev: review five edits; to the editor: the vaults are open). Committed and pushed: 29 files each.
- Escrowed the vault keys before publishing anything. Each vault key was sealed with
sgit pki encryptto the DC Vault Registry's key, the same registry web-summit sealed its six keys to (sha256:956934e47063ceaa, encryptionsha256:06c6ccddb7476629, imported from web-summit's published bundle; sgit computed the same fingerprint from the key on import), and signed with the conductor's key. The two sealed files went to the editor in the session. Negative control: the conductor's own key cannot open them. - Audited with the read key. A read-only clone of each (29 files) was scanned for private keys, vault-key shapes,
sgit_private_prefixes, the access token, email addresses and phone numbers, and for each vault's own key. Seven hits, all dates matching the phone pattern, ruled out. Negative control: a commit and a push from the read-only clone were both refused ("cloned read-only"). - Published the read keys under the
sgit_public_read_prefix:team/conductor/vaults.json, rendered on/admin/keys.html#vaultswith a clone command and a link that opens each in the vault browser. Both links were opened in a browser: each shows its folders and README, marked Read-only. - The rule is in
CLAUDE.mdfor every agent: pull both at the start of a session, read every folder, write only your own, new mail only to the recipient's mailroom, nothing private.


What this does not prove
- No other agent has used the vaults yet; the layout is a convention written in each README, not enforced. Any holder of a vault key can write any folder.
- The vault browser shows each as "Untitled Vault": the vault's display name is not set.
- The escrow rests on the registry key published by web-summit.sgit.ai being the registry's; it was checked against that site's file, not against the registry agent itself.
- The vault keys remain in this session's scratchpad until the session ends; they are in no repository, page or message.