{
  "version": "v0.4.4",
  "date": "2026-09-20",
  "title": "seven shapes contributed by riskmandate.ai are promoted with their provenance, a vendor scope becomes a node, and the intake path is the same for anybody",
  "summary": "The second of the three requests riskmandate.ai published against this site on 12 September, the one it marked as unblocking a product. Seven deployment shapes it built ahead of this site, two Gmail scopes, a Drive scope, a Microsoft 365 connector, a Dropbox server, the Google Workspace servers and an n8n instance measured on a live sandbox by an early user, are fetched as bytes, held under data/contributed/riskmandate/ unchanged with a hash per file and a hash over all of them, and promoted into the published profiles and mandates without renaming anything. Under the three layers a shape is a layer one fact owned by nobody and belongs at the address every consumer reads; the contributor's vaults can now pin this site's version of each shape rather than their own copy. The site now holds sixteen shapes and fifteen starting mandates, the contributed rows are counted beside the map's rows and never folded into them, and the evidence tier on every contributed row is the contributor's, which this site did not observe and does not raise.",
  "commit": null,
  "commit_resolves_by": "git rev-list -n 1 v0.4.4",
  "commit_note": "The tag is the record. CI derives v0.4.4 from admin/build/version.txt and creates it on the commit whose subject carries `site v0.4.4:`, so `git rev-list -n 1 v0.4.4` resolves it for anybody from then on. The hash is not written into this file because a release commit cannot contain its own hash, and reading it back from the tag at build time made the build produce different bytes on a checkout with tags than on one without.",
  "vault": null,
  "reconstructed": false,
  "changes": [
    "data/contributed/riskmandate/: twenty one files as fetched on 20 September 2026 from riskmandate.ai's public endpoint, a grant, a mandate and a vault record per shape, and a manifest carrying the retrieval time, the source address of each file, a hash per file and a hash over all of them. The build and the gate both recompute the hashes and refuse to proceed if a byte moved.",
    "Seven profiles and seven mandates promoted from those bytes. Each carries a provenance block in the same shape as every other file, so no consumer needs a special case, plus who contributed it, the contributor's own provenance block whole, and the contributor's contradictions, research needed and what the grammar cannot say, carried rather than dropped because they are the finding. Every capability id is one of the 23; is_bounded is recomputed from the barrier; the evidence tier is kept as stated.",
    "Sixteen stored deltas and sixteen fact sets, seven of them new, each pinning the contributor's retrieval time as the time it was computed against. Every capability page now shows the shape in up to 16 published shapes with whose material each row reaches, and every reach class page carries the contributed shapes' own definitions of host, tenant and world beside the map's, unmerged.",
    "The material property is valued for the first time: 37 contributed rows state whose material they reach. The nine promoted shapes still say null, and the gate refuses any value outside the four.",
    "A Scope node type and two edges, scoped_by and permits. A connector shape reaches a row through a scope in the vendor's own identifier, gmail.readonly or drive.file, which is not a tool; it is kept in the vendor's word and given its own node rather than filed as a tool. Walked on every build.",
    "The provenance line splits. The map's 21 of 99 stays the headline on every page that carries rows from every shape, and a second sentence beside it says how many rows were contributed, how many of those sit at the contributor's measured tier, and where the bytes are. A page about one promoted shape carries only the map's line, because every row on it is the map's.",
    "The data page carries the contributed shapes and the intake path, which is the same for anybody: a profile file and a mandate at an address the proposer publishes, held here as the bytes fetched with their hash, promoted without renaming, every id inside the grammar, and a row that needs a new word recorded as not in the grammar rather than forced.",
    "Two things this release does not do, stated so that nobody reads them in. riskmandate.ai's nine vaults for this site's own shapes are not imported, because they pin this site and importing them would be a loop. And the contributed shapes get no example page: their ABPs exist as data and riskmandate.ai renders each one live from its vault, which this site links to by address."
  ],
  "basis": [
    "riskmandate.ai's Lab 03 of 12 September 2026, request 2, and its vault index at riskmandate.ai/vaults/index.json, read 20 September 2026, for the seven shapes and the addresses of their files.",
    "The seven grant and mandate files themselves, each carrying the contributor's own provenance: the vendor pages read and quoted on 13 to 16 September 2026, and for the n8n shape a dated probe of a sandbox instance by an early user's agent.",
    "The three layers page on this site, for the rule that a shape is a layer one fact and belongs at the address every consumer reads rather than in one consumer's vault."
  ]
}
