{
 "shipped": "1",
 "source": "repo/gda-group",
 "org": "org/gda-capital",
 "generated": "2026-09-03T02:57:03.994Z",
 "entries": [
  {
   "id": "ship/gda-group/d162e7d7e13a",
   "repo": "repo/gda-group",
   "at": "2026-09-03T02:56:23Z",
   "kind": "feature",
   "title": "Merge origin/main: emitter refresh commits landed while this branch was in flight",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-09-03",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "public/ is a committed build artifact; every conflicted page was\nresolved by rebuilding from the merged source rather than by picking\nsides.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01EXAA7bi94PPtBupN1jGt9N",
   "refs": {
    "commit": "d162e7d7e13a5a16096f7630d503dffaa40a4e29"
   },
   "digest": "bed6ecdc728411c8f029f3668ae61c1c0605f9be53e1baa8a14c2545b4f5af94"
  },
  {
   "id": "ship/gda-group/e8f23c569747",
   "repo": "repo/gda-group",
   "at": "2026-09-03T02:51:00Z",
   "kind": "feature",
   "title": "State from this side who answers for gda.group, on this firm's own grounds",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-09-03",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "The parent's register asserts the accountable human for this property;\nuntil now that fact had one asserter and nothing in the record could\ncheck it. The fragment now carries the same accountableFor from this\nside, grounded in the charter this property itself serves and the\nleadership page in its own words — a different basis on each side is\nwhat estate-coherence counts as a witness, and a copied one is what it\nfails. public/ is rebuilt in full, because the served fragment and the\ncommitted one must not disagree.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01EXAA7bi94PPtBupN1jGt9N",
   "refs": {
    "commit": "e8f23c569747cd647cf28c69bb46a4294d954607"
   },
   "digest": "d18897e8cb3df90ab8863ebe9895c86afe61dc31d46d950f91bce8b3b46ced27"
  },
  {
   "id": "ship/gda-group/9f9985fbea69",
   "repo": "repo/gda-group",
   "at": "2026-09-03T02:50:24Z",
   "kind": "other",
   "title": "Engage is the firm's door index: charter, human graph, and the nine machine surfaces",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-09-03",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "/engage/ puts the three machine-age doors on one page, in this desk's own\nregister. The charter door names npx @flashyos/conformance init and\nflashyos.com/join, and points at the handshake this domain serves at\n/.well-known/flashyos.json rather than describing one. The human door is\none click at magician.network/join — Magician is the estate's\ntrust-routing layer — or one filing through the Concierge. The machine\ndoor lists the nine well-known surfaces this build itself writes, as a\ndeclared list rather than a readdir, because OUT is wiped at the top of\nthe run and the surfaces land after the pages; test/engage.test.mjs holds\nthe declaration against the built output. IntentMesh is named and\ndeliberately not linked — it is not yet live. What a rung of engagement\nearns is cited to the ladder at gord.holdings/engage/, never restated.\nThe contact page links the door, which the orphan guard demands, and\nllms.txt files it beside contact. Five new assertions.\n\nThe large diff is the deliberate full rebuild CLAUDE.md requires: the\nbuild restamps every page's footer clock, and public/ is committed whole\nor not at all. 390 pages.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01EXAA7bi94PPtBupN1jGt9N",
   "refs": {
    "commit": "9f9985fbea69a440d7d8903bc873a021c293938f"
   },
   "digest": "a42993dbf6d1effe0bc77993d454449e184c8968ef66ad40091c39331a799e3c"
  },
  {
   "id": "ship/gda-group/e44d32ecede7",
   "repo": "repo/gda-group",
   "at": "2026-09-03T02:48:03Z",
   "kind": "feature",
   "title": "Merge origin/main into the working branch",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-09-03",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "The branch carried the Concierge door and main had moved 22 commits past\nthe fork. Sources merged cleanly; public/ is a committed build artifact,\nso every conflicted page was resolved by rebuilding it from the merged\nsource with src/build.mjs rather than by hand-picking sides.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01EXAA7bi94PPtBupN1jGt9N",
   "refs": {
    "commit": "e44d32ecede7d435b0f24e88c683430edf85d931"
   },
   "digest": "9b0cd40ca32eaaee3f22a47ad25d8eee32a6e8ba6a5bf59c5cf20ee5b6139ff7"
  },
  {
   "id": "ship/gda-group/f259c6dc843a",
   "repo": "repo/gda-group",
   "at": "2026-09-02T20:59:33Z",
   "kind": "feature",
   "title": "icon/1 — serve the three files a browser tab actually takes",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-09-02",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "/favicon.ico is requested with no markup involved, which is why it cannot\nlive under an assets prefix and why a property can hold an SVG icon and\nstill show a blank page glyph in a bookmark bar, in history, and in most\nfeed readers. Across the estate it was served by two of sixteen\nproperties; nine served nothing at all.\n\nThe mark is generated by tools/estate-icons.mjs in flashyos, which reads\nthis property's own declared accent and rasterises its own drawn mark\nwhere it has one. It never redraws a mark somebody made.\n\nThe link test was widened and, where it was weak, strengthened: a path\nwith a file extension is checked by LOOKING FOR THE FILE in the output\nrather than by matching the extension and stopping — which passed for any\nlink ending in .css whether or not the stylesheet had been written.\n\nKind: feature\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01BEaXzktRU5ZPe3R2NY7CKD",
   "refs": {
    "commit": "f259c6dc843a5f63cd3b8e4e89a835419f1efb0f"
   },
   "digest": "4fa0350478c576df73952a72ab69996274e49d2dca8b1b2c4940790d21029b1d"
  },
  {
   "id": "ship/gda-group/beae929b443b",
   "repo": "repo/gda-group",
   "at": "2026-09-02T17:35:40Z",
   "kind": "other",
   "title": "The build emits the Vercel configuration, because it deletes public/",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-09-02",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "Every other Vercel target in the estate now carries a vercel.json at the\ndirectory Vercel serves, so the three questions a project-creation form\nasks — framework preset, build command, output directory — are answered by\nthe repository rather than by somebody typing.\n\nHere that file cannot be written by hand. `src/build.mjs` does\n`rmSync(OUT, { recursive: true })` at the top, so anything placed in\n`public/` survives exactly until the next build: the estate's \"a generated\nfile is regenerated, never hand-edited\" rule, aimed at the one file that\ndecides how the site is served. So the build emits it, with the same two\nkeys as every static sibling — `framework: null` so Vercel does not\nautodetect, and `outputDirectory: \".\"` because the directory is the\nsite — plus this property's own well-known rewrite.\n\nThe 380-odd other changed files are the footer clock restamp a full\nrebuild always produces. Committed whole, as this repository's rule\nrequires. The first attempt tried to rebase that restamp onto a remote\nthat had rebuilt in the meantime and produced a conflict in every\ngenerated page; the fix was to reset to the remote and rebuild, never to\nmerge output.\n\nKind: chore\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01BEaXzktRU5ZPe3R2NY7CKD",
   "refs": {
    "commit": "beae929b443b9dfad18c2e40c7c1a0c737f1981a"
   },
   "digest": "52237788fcd128aba1e198dc2a10abc6984c1de5d12fda6e7ca829fe536c5268"
  },
  {
   "id": "ship/gda-group/c251a9c538e0",
   "repo": "repo/gda-group",
   "at": "2026-09-02T16:22:42Z",
   "kind": "other",
   "title": "Re-vendor: the ship log learns ritual/1 before its first commit",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-09-02",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "`vendor-shiplog.mjs` gained `ritual/1: observe the office` in\nBOOKKEEPING_SUBJECTS upstream, so every copy in this estate disagreed with\ncanon about whether that workflow's refresh commits are work. A stale\nvendored copy does not fail — it disagrees, silently, about exactly the\nfield somebody has just changed, and the last three entries on that list\nwere each added only after their commits had already sealed as work under\nagent/unattributed.\n\nReplaced by `node tools/estate-revendor.mjs --write` in flashyos, which\ncompares every copy byte-for-byte against the default branch rather than\nagainst whatever is checked out.\n\nKind: chore\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01BEaXzktRU5ZPe3R2NY7CKD",
   "refs": {
    "commit": "c251a9c538e0b7235d48853fae520ff4db55319e"
   },
   "digest": "90fde5bb42de24f978b1700a367d351db234efa8ba25a36b9b298a80c973afff"
  },
  {
   "id": "ship/gda-group/7dfca18e0adf",
   "repo": "repo/gda-group",
   "at": "2026-09-02T16:13:43Z",
   "kind": "feature",
   "title": "deploy/1: declare where this repository is hosted",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-09-02",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "Root directory, production branch, framework and registrar, in a file a\nmachine can check instead of in two settings panels nobody can read from a\ncheckout.\n\nThe estate spent an afternoon on 2026-09-02 answering \"which domains are\nhosted and what does each one still need\". Every fact it produced already\nexisted — in a Vercel panel, a GoDaddy zone, and somebody memory — and none\nof it was anywhere a check could reach. Fourteen estate domains were\nresolving to a parking page with finished sites committed behind them.\n\nThe checker is dependency-free and runs before an install. Two of its rules\nare ones nothing else here makes: a root directory that does not exist in\nthe tree is refused, because a hosting project pointed at a typo builds\nnothing and reports success; and a production branch is refused if it does\nnot exist on origin, or if it differs from the default with no written\nreason — an accidental divergence and a deliberate one look identical from\ninside a panel.\n\nIt carries no credentials, no account or project identifiers, and no DNS\nrecord values. The first because the value of this file is that the\nrepository can be handed to somebody else; the last because those belong to\nthe host and they move — Vercel went from 76.76.21.21 to 216.198.79.1, and a\ncopy of that in thirty repositories is thirty copies to update.\n\nEvery value here was measured, not remembered.\n\nKind: feature\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01BEaXzktRU5ZPe3R2NY7CKD",
   "refs": {
    "commit": "7dfca18e0adf78375d0753f404ec70eef2c690e8"
   },
   "digest": "0378402cc08851628777e26350d8f32669d83a46cd56f3e922b466ae11437fbc"
  },
  {
   "id": "ship/gda-group/c45fd192a36d",
   "repo": "repo/gda-group",
   "at": "2026-09-02T12:54:52Z",
   "kind": "other",
   "title": "The Concierge is this firm's standing door, and the build now serves it",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-09-03",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "src/concierge.js is the Mesh Concierge, vendored byte-identical from\nmagician/packages/concierge/dist/global.global.js; the build copies it\nverbatim to /concierge.js and renders /concierge/ with the slot and the\nscript tag. Nothing the tag needs is restated: the contact is the\ncharter's accountableTo, the circle is the charter's slug, and the\naccent is the property accent .bolt/config.json already declares. The\npanel drafts in the visitor's own mail client, makes no network call,\nkeeps no storage, and refuses to render with nobody behind it.\n\ntest/concierge.test.mjs pins all three claims — canon byte-identity\n(reported unknown, never passed, when no magician checkout sits beside\nthis repository), the served script identical to the vendored one, and\nthe shipped page carrying the door with the charter's own contact. The\ncontact page links it, which the orphan guard demands, and llms.txt\nfiles it beside contact.\n\nThe large diff is the deliberate full rebuild CLAUDE.md requires: the\nbuild restamps every page's footer clock, and public/ is committed\nwhole or not at all. 389 pages.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01EXAA7bi94PPtBupN1jGt9N",
   "refs": {
    "commit": "c45fd192a36d27f4926cb596923cabd7e147a103"
   },
   "digest": "f95573c83c379e17cde4254110470b0336a389da7db575c612f07cfee61f86f8"
  },
  {
   "id": "ship/gda-group/db2718b4dfe5",
   "repo": "repo/gda-group",
   "at": "2026-09-01T21:08:58Z",
   "kind": "feature",
   "title": "Tell the estate the moment this repository pushes a record",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-09-01",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "graph.yml in flashyos merges every property's fragment on a daily\nschedule, so without a dispatch a change here is invisible to the estate\nfor up to 24 hours — and \"the graph is a day behind\" is\nindistinguishable from \"this property has nothing new to say\".\n\nThe dispatch has been in the shiplog/backlog template since August and\nin no repository, because each vendored its workflow before the template\nhad it. This adds it, gated on the commit step having actually pushed: a\ndispatch per run rather than per change would turn one daily merge into\na merge per push across thirty repositories.\n\nThe commit step is replaced with one canonical form rather than patched,\nbecause the estate had two vintages of it — some repositories carry a\nfive-attempt push retry the template lacked, and re-emitting would have\ndeleted it. Both halves are here now.\n\nThe retry resolves the branch per run instead of resetting to a literal\norigin/main. Eleven repositories in this estate have an agent branch as\ntheir default, and there a rejected push would reset the checkout to a\ndifferent branch and push that over the deploy branch.\n\nUnset ESTATE_DISPATCH_TOKEN means a delay of up to 24 hours, never a\nloss — the daily merge is the floor, and the step says so loudly rather\nthan skipping green.\n\nKind: feature\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01FDosmV9fXV6oZ9NXe7PZ76",
   "refs": {
    "commit": "db2718b4dfe5e1272c7927e48c887f6c9a3e02a3"
   },
   "digest": "06a9873b459e3c7fd9753692975c6ba8eec75f5166fc00819a190c98d7d91886"
  },
  {
   "id": "ship/gda-group/45b72281579f",
   "repo": "repo/gda-group",
   "at": "2026-09-01T19:24:16Z",
   "kind": "feature",
   "title": "Serve the backlog projection at /.well-known/intent.json too",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-09-01",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "intent/1 is backlog/1's successor name and its readers accept the legacy\nversion key permanently, so the build writes the same public projection to\nboth filenames. Written by the build rather than the emitter because this\nbuild deletes public/ wholesale on every run — a file anything else writes\nthere survives exactly until the next rebuild. served-surfaces.test.mjs\ngains the new name in its inventory, and the full rebuild restamps every\npage's footer clock, which is why ~380 files move in this commit; the rule\nhere is rebuild deliberately and commit the whole result, and this is that.\n\nKind: feat\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01NfXZ2PAsNCENGJupuCQrnH",
   "refs": {
    "commit": "45b72281579f64d7153377834fc07569f76ea2cf"
   },
   "digest": "f806b0ba5572615db685af6beef389eef00ed39918ada26874ef050a8777e501"
  },
  {
   "id": "ship/gda-group/008ff1f8a3b0",
   "repo": "repo/gda-group",
   "at": "2026-09-01T17:58:22Z",
   "kind": "other",
   "title": "Re-vendor shiplog: the filter learns directory/1, delivery/1 and intent/1",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-09-01",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "Three formats gained a workflow that commits a refresh. Without this the\nfirst run of each seals as work under agent/unattributed, inflating the\ntwo numbers the record exists to make honest.\n\nA vendored change does nothing until the copy is replaced, and a stale\ncopy does not fail — it disagrees, silently, about exactly the field\nsomebody has just changed.\n\nKind: chore",
   "refs": {
    "commit": "008ff1f8a3b025d79ecd9d0150bdc43a2b9c28c7"
   },
   "digest": "223c8e0d6d01e190f6785decbe6c8661e15eacd0572df1b271837e6ca4cf410e"
  },
  {
   "id": "ship/gda-group/297844170a95",
   "repo": "repo/gda-group",
   "at": "2026-09-01T14:53:46Z",
   "kind": "feature",
   "title": "Give this repository's directory fragment a machine that refreshes it",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-09-01",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "shipped/1 and backlog/1 each ship a workflow with their adoption, so\nevery repository filing one has something re-running the emitter.\ndirectory/1 never did — sixteen repositories in this estate got the\nfragment and nothing else, and were still serving the bytes one\nhand-sweep produced on 2026-08-31.\n\nNothing was red, and nothing would have gone red. A fragment nobody\nre-emits does not decay for a year; it stops being true. A machine\nsurface added here never enters the graph, the asserted date freezes,\nand a change to the vendored emitter reaches a copy that never runs it.\n\nThe workflow is generated by workflow() in @flashyos/directory rather\nthan hand-written, gates on the default branch resolved per run, and\ncommits with [skip ci] because a refresh is a record of what already\nhappened.\n\nvendor-shiplog.mjs is re-vendored in the same commit: its bookkeeping\nfilter had never heard of \"directory/1: refresh the fragment\", so the\nfirst refresh would have sealed as work under agent/unattributed.\n\nKind: feature",
   "refs": {
    "commit": "297844170a95d377a44848c799f6bf6254a9de3a"
   },
   "digest": "38155c9f1f7f1b16344ac56e395caf86c9525d6fb377f36909b5ebaf72168ccd"
  },
  {
   "id": "ship/gda-group/0439797c5199",
   "repo": "repo/gda-group",
   "at": "2026-09-01T14:33:34Z",
   "kind": "fix",
   "title": "Re-vendor check-directory.mjs: enforce what every edge type must carry",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-09-01",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "The vendored checker had hand-written blocks for three of the sixteen edge\ntypes and nothing for the other thirteen, so engaged without a basis,\ndelegatedTo without a scope and issued without a date all validated clean —\nin thirty identical copies that agreed with each other perfectly.\n\nIt reads a requires table now, mirroring EDGE_REQUIRES in\n@flashyos/directory, with one conditional: `declares` needs a role when it\nnames an agent and not when it names a machine surface. That split was\nmeasured, not decided — across the estate all 88 agent declarations carry a\nrole and none of the 43 surface declarations do.\n\nflashyos/tools/vendored-directory.test.mjs differentials this copy against\nthe package by verdict, and asserts every estate copy is byte-identical to\nit. This repository's fragment passes the stricter checker unchanged.\n\nKind: fix",
   "refs": {
    "commit": "0439797c5199af6b381d56aef46ae1eff757c869"
   },
   "digest": "668d8bccc80de520cb6de500b2fa1ceb2b3333afa45887c1f1e865386d377a85"
  },
  {
   "id": "ship/gda-group/644d47c005fb",
   "repo": "repo/gda-group",
   "at": "2026-09-01T14:26:35Z",
   "kind": "other",
   "title": "delivery/1: what the fetch found [skip ci]",
   "by": [
    "person/michael"
   ],
   "asserted": "2026-09-01",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "refs": {
    "commit": "644d47c005fb63508bc85a1b80f0d5a046c61246"
   },
   "digest": "4de5fe98986e9cddf9e98d0eec1d93bb470a46c9e11dd36c6ebfc579a4446551"
  },
  {
   "id": "ship/gda-group/282be2a857a1",
   "repo": "repo/gda-group",
   "at": "2026-09-01T14:24:01Z",
   "kind": "feature",
   "title": "Open the LICENSE with the licence, so a scanner can see it",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-09-01",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "GitHub reports NOASSERTION on this repository despite a complete, genuine\nlicence file. So does SPDX, and so does every SBOM generator and licence\ncompliance tool that reads the same signal — which is what stalls an\nenterprise procurement review before a human opens the file.\n\nThe cause is that a copyright line and a sentence of description sat above the\ncanonical text, and a scanner reads the first bytes. Measured on 2026-09-01:\nall thirteen repositories in this estate that carry a LICENSE read NOASSERTION,\nnot the one that an outside review happened to notice — that one is simply the\nonly public repository, so nobody had ever looked at the rest.\n\nThe copyright is not dropped. A licence text naming nobody is a grant on\nbehalf of nobody, which this estate has already written up once. Both licences\ndesignate a place for it — Apache's APPENDIX, the AGPL's \"How to Apply\" — and\nit now sits there, which satisfies the scanner and the lawyer at the same time.\n\nNothing about the licence changed: same licence, same holder, same terms. The\nrule and the rewrite live once, in flashyos's tools/estate-licences.mjs, with\ntests.",
   "refs": {
    "commit": "282be2a857a14833a6d6a90dcbbfe490789eeb46"
   },
   "digest": "891ff7f211a3e26f97c882dd8fd3a0f70f5d7e8189ec117f3fc7714ebc6d1baf"
  },
  {
   "id": "ship/gda-group/4e0eb4f46eb4",
   "repo": "repo/gda-group",
   "at": "2026-09-01T11:38:45Z",
   "kind": "other",
   "title": "delivery/1: what the fetch found [skip ci]",
   "by": [
    "person/michael"
   ],
   "asserted": "2026-09-01",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "refs": {
    "commit": "4e0eb4f46eb470b02f5213c287745228896bc0d6"
   },
   "digest": "6fb7421369ce23df14e67127cbde48e06a4dac72a85ecd6e86bf22cd272b615a"
  },
  {
   "id": "ship/gda-group/6284a6fb60e0",
   "repo": "repo/gda-group",
   "at": "2026-09-01T05:06:47Z",
   "kind": "other",
   "title": "delivery/1: what the fetch found [skip ci]",
   "by": [
    "person/michael"
   ],
   "asserted": "2026-09-01",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "refs": {
    "commit": "6284a6fb60e078cebc50d2b9cb9a581d31ec98ed"
   },
   "digest": "0c9ca1348fe4127048a1ee4ec62e26cbad5234c9bdead3d0813d964895c6c5f8"
  },
  {
   "id": "ship/gda-group/7b5d7e6de75e",
   "repo": "repo/gda-group",
   "at": "2026-08-31T22:50:23Z",
   "kind": "other",
   "title": "delivery/1: what the fetch found [skip ci]",
   "by": [
    "person/michael"
   ],
   "asserted": "2026-09-01",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "refs": {
    "commit": "7b5d7e6de75ea908b63eccc316fa43e02d2e0fff"
   },
   "digest": "50ed1c0e05fc61f77c4e58a4b6bcd95012ebc050a170c5796a60b7efe42e5410"
  },
  {
   "id": "ship/gda-group/92e047886f98",
   "repo": "repo/gda-group",
   "at": "2026-08-31T21:04:28Z",
   "kind": "other",
   "title": "delivery/1: what the fetch found [skip ci]",
   "by": [
    "person/michael"
   ],
   "asserted": "2026-09-01",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "refs": {
    "commit": "92e047886f98d76870a0e096ee8f922cfc4730dd"
   },
   "digest": "e4c1dfbbeb176902b06bf6a666cc1929ed6403dff6c459514327d83ea5b34237"
  },
  {
   "id": "ship/gda-group/e0ceb06b888d",
   "repo": "repo/gda-group",
   "at": "2026-08-31T21:03:33Z",
   "kind": "feature",
   "title": "This property hides MERIDIAN [vercel skip]",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "bolt/1 — every live property in the estate hides one word, and the set proves\nitself at gord.holdings/hunt/ in the finder's own browser against a published\ncommitment. Type \"flashy\" on any page.\n\nThe snippet is read from .bolt/bolt.html, generated by vendor-bolt.mjs from\n.bolt/config.json, so it cannot drift from the copy every other property carries\nand the shard lives in exactly one file. Absent is fine and silent: a checkout\nwithout it renders the site with no egg rather than failing to build.\n\nKind: feature",
   "refs": {
    "commit": "e0ceb06b888de9275222da515120e4af57f9687b"
   },
   "digest": "e96d8cb20e2ee5133cb7b3dc8f6c548e87b9a59af4ad3246a2680b2bb298f725"
  },
  {
   "id": "ship/gda-group/680b0da9c628",
   "repo": "repo/gda-group",
   "at": "2026-08-31T20:57:45Z",
   "kind": "feature",
   "title": "backlog/1: close what no longer measures [skip ci]",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "estate-backlog-gaps --close in flashyos closed the machine-filed items\nwhose rule stopped measuring — the GitHub default branch is off the\nscratch branch, and the machine surfaces are declared. Closure is the\nfiling bot's own lane: it records that a measurement changed and makes\nnothing visible to anyone new.\n\nKind: chore\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01NfXZ2PAsNCENGJupuCQrnH",
   "refs": {
    "commit": "680b0da9c628130f21d175a9c45419ba11f504b2"
   },
   "digest": "305a83f222ffe7e14aa5e9556e7a65afcbb654eee5073a71da374c31b60914c2"
  },
  {
   "id": "ship/gda-group/5c1d3d105090",
   "repo": "repo/gda-group",
   "at": "2026-08-31T19:40:25Z",
   "kind": "other",
   "title": "delivery/1: what the fetch found [skip ci]",
   "by": [
    "person/michael"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "refs": {
    "commit": "5c1d3d1050903d26f17f5c45a0cb25c8ae2ddae8"
   },
   "digest": "a9f7e04eb9f2d5f0910e0b7e89b2ad39bf63a103eb8b775364158ab2ae1e7a35"
  },
  {
   "id": "ship/gda-group/0a583879cb26",
   "repo": "repo/gda-group",
   "at": "2026-08-31T19:38:37Z",
   "kind": "other",
   "title": "delivery/1: what the fetch found [skip ci]",
   "by": [
    "person/michael"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "refs": {
    "commit": "0a583879cb2625d4dab48c701ef8340703351b87"
   },
   "digest": "dc3349cda897c2b5c3a0143eccbe2c773d8728dec082a4d16f8ef70f065014fb"
  },
  {
   "id": "ship/gda-group/bf5616bddd77",
   "repo": "repo/gda-group",
   "at": "2026-08-31T19:38:31Z",
   "kind": "other",
   "title": "The first fact in this estate with a second witness",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "On 2026-08-31 the estate published 473 distinct edges and not one was asserted\nby two properties. So there was nothing to cross-check, no check that could\never have failed, and no error the record was capable of noticing about\nitself. Every check the estate runs is a check of form — is the file valid, is\nthe field present, does the URL answer. None was a check of agreement.\n\nThis firm's relationship with Flashy Group is the first fact stated twice.\nGDA asserts it from the dated case study it publishes; Flashy Group asserts\nthe same edge from its own capital-partner statement. Two documents, two\ndomains, one fact — and `tools/estate-coherence.mjs` in flashyos fails the\nbuild if they ever disagree about it.\n\n`DOCUMENTED` is a third kind of basis and deliberately not folded into the\nother two. A wall entry rests on \"the name is published here\"; a settlement\nrests on a hash a reader recomputes; this rests on a dated case study plus the\nother party publishing the same relationship in their own words. Each says a\ndifferent amount, and the record should say which.\n\nTwo corrections came out of writing it.\n\nThe review window was derived from `since`, which produced an expiry three\nyears before the assertion for a relationship beginning in 2022 and stated in\n2026. The settled entries get away with that because their relationship and\ntheir assertion are days apart; this is exactly where it breaks. `asserted`\nand `expires` come from the emitter's own dating now, and `since` says only\nwhen the relationship began.\n\nAnd `stated: true` was accepted here only with a 64-character seal in the\nbasis, which put this repository's local rule in conflict with the estate's\nmeaning of the field — an edge could be stated by the vocabulary's definition\nand rejected by this test. Both forms are accepted now under one rule, that\n`stated` must be checkable without asking us, with the counterparty's own URL\nnamed explicitly so the check cannot be satisfied by our own domain.\n\nStill `asserted`, not",
   "refs": {
    "commit": "bf5616bddd77a4fcfcad16974933c2628782927c"
   },
   "digest": "cff1ad58f05c2b5c525407dc75a99484cc1ad6c873839654cf1276e940edd131"
  },
  {
   "id": "ship/gda-group/cf8e637dcf3d",
   "repo": "repo/gda-group",
   "at": "2026-08-31T19:37:45Z",
   "kind": "fix",
   "title": "Freeze the three entries that sealed in the race",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "Two refresh workflows ran the old vendored emitter between the filter fix\nbeing written and it landing here, and sealed three more of their own\nrefresh commits as unattributed entries. Sealed is final, so they join the\nfrozen list; the fixed copy is on this branch now, so the line holds at six.\n\nKind: fix\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01NfXZ2PAsNCENGJupuCQrnH",
   "refs": {
    "commit": "cf8e637dcf3d060bc2bc1975d8842c011c8a3f44"
   },
   "digest": "746f4b5173fab7ebbd2bc70c77c7cc890c5544f12ae2794c566ac0e3c819d68f"
  },
  {
   "id": "ship/gda-group/f63967babeb3",
   "repo": "repo/gda-group",
   "at": "2026-08-31T19:36:58Z",
   "kind": "fix",
   "title": "Re-vendor the bookkeeping filter, and freeze the three entries it missed",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "The emitter's refresh commits outgrew the filter's exact-match anchor — the\nsubjects now carry \", and the checkpoint over it\" and \"[skip ci]\" — and\nthree of them sealed here as shipped entries under agent/unattributed\nbefore anything noticed. vendor-shiplog.mjs is re-vendored byte-identical\nwith the fixed lookahead anchor, which stops the bleed.\n\nThe three already sealed stay. An entry's digest covers its content and\nre-deriving to remove one is the restatement append-only forbids, so the\nattribution test freezes them by id as the known cost of that window and\nholds the line at exactly three: a fourth unattributed entry fails, whether\nfrom filter drift or an unmapped machine address.\n\nKind: fix\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01NfXZ2PAsNCENGJupuCQrnH",
   "refs": {
    "commit": "f63967babeb30cef621203e953a15ebd8d70eca5"
   },
   "digest": "6899da78e7b03315472c78c70082ab55d97f3b8f52b6e9f714e4d5b5a3e66807"
  },
  {
   "id": "ship/gda-group/97ae015bb700",
   "repo": "repo/gda-group",
   "at": "2026-08-31T18:00:30Z",
   "kind": "infra",
   "title": "backlog/1: refresh the fragment [skip ci]",
   "by": [
    "agent/unattributed"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "refs": {
    "commit": "97ae015bb70081a1816c04b5f793bc5f6e313c6b"
   },
   "digest": "2f60bdd144de5f21a958dab288e090a83b5e5d50b0c60ebd62e146b3db8e9504"
  },
  {
   "id": "ship/gda-group/b08e52158449",
   "repo": "repo/gda-group",
   "at": "2026-08-31T18:00:14Z",
   "kind": "other",
   "title": "Ring the settlement record, and pin the group section to the estate's computed four",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "flashyos.com publishes syndicate/1 at /estate-feed.json; its computed ring for\nthis property is the three hubs plus mlgblockchain.com, its ventures\ncluster-mate. The group section here walks a reader across the whole family on\npurpose — but it carried LESS than the computed ring: flashynetwork.com, the\nsettlement record, appeared in neither the generator's llms.txt template nor\nthe group.json ring while the estate said the link should exist. The fourth\nproperty today with exactly this hole, which is what a hand-synced fact looks\nlike at estate scale.\n\nBoth surfaces carry it now, added in the generator and rebuilt — never in\npublic/ alone, which the next build would erase (the C-1 landmine this\nrepository's own drift suite exists for). mesh-drift gains the estate-feed\nfloor: the computed four must appear in the generator, in public/llms.txt and\nin public/group.json's ring — the floor, never the ceiling.\n\nRebuilt with full history so the partner claims keep their commit dates; the\nsite-wide office-clock churn in public/ is the generator stamping build time\ninto every footer, as on every prior rebuild.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01NfXZ2PAsNCENGJupuCQrnH",
   "refs": {
    "commit": "b08e52158449b8b8ab0cb3c9695bd1473431b9bc"
   },
   "digest": "63ee37168bb62c5e33fdb776f8d9a81062fc03880e9f430118e87d6fce24f612"
  },
  {
   "id": "ship/gda-group/62002778256b",
   "repo": "repo/gda-group",
   "at": "2026-08-31T17:39:13Z",
   "kind": "other",
   "title": "delivery/1: what the fetch found [skip ci]",
   "by": [
    "person/michael"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "refs": {
    "commit": "62002778256bc3551b840f1ced11fac15ea98826"
   },
   "digest": "9c44505ab0ff178477596d81dcf338613fde79d9a0d7c9003343c5f1a2b9becf"
  },
  {
   "id": "ship/gda-group/012652f33577",
   "repo": "repo/gda-group",
   "at": "2026-08-31T17:38:54Z",
   "kind": "infra",
   "title": "backlog/1: refresh the fragment [skip ci]",
   "by": [
    "agent/unattributed"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "refs": {
    "commit": "012652f33577b66fa9e115cf93e20194e6b791cd"
   },
   "digest": "0e6ac5195c21c96a1d4fbebf367bb24362eaf4f9765a61a9ebdddbe9caa42235"
  },
  {
   "id": "ship/gda-group/449a934bd1ea",
   "repo": "repo/gda-group",
   "at": "2026-08-31T17:38:49Z",
   "kind": "infra",
   "title": "shipped/1: refresh the log, and the checkpoint over it [skip ci]",
   "by": [
    "agent/unattributed"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "refs": {
    "commit": "449a934bd1eadc42ba68405231832ac2c706a72b"
   },
   "digest": "1006ddb8e7814fb406b3e37bc354debbca1a74c631269abd8f21cd59292eeb12"
  },
  {
   "id": "ship/gda-group/2a4b22b5af47",
   "repo": "repo/gda-group",
   "at": "2026-08-31T17:34:01Z",
   "kind": "other",
   "title": "delivery/1: what the fetch found [skip ci]",
   "by": [
    "person/michael"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "refs": {
    "commit": "2a4b22b5af47b62bb217d6509da8654ebcd7a58c"
   },
   "digest": "2fb2df0d39f33b7a1c2d4eabe20dc943fdb7ae6d492ad98289ac0749f6f4a808"
  },
  {
   "id": "ship/gda-group/2f66e629f5ab",
   "repo": "repo/gda-group",
   "at": "2026-08-31T17:33:38Z",
   "kind": "infra",
   "title": "shipped/1: refresh the log, and the checkpoint over it [skip ci]",
   "by": [
    "agent/unattributed"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "refs": {
    "commit": "2f66e629f5ab942f4bab32aee774cc9e8bbc37c7"
   },
   "digest": "24665b5c90c67547a75dfb926a29d571dd2bf56159e884fe835d049bd45d6c79"
  },
  {
   "id": "ship/gda-group/cecd48f52bb4",
   "repo": "repo/gda-group",
   "at": "2026-08-31T17:33:27Z",
   "kind": "infra",
   "title": "backlog/1: refresh the fragment [skip ci]",
   "by": [
    "agent/unattributed"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "refs": {
    "commit": "cecd48f52bb4decfebadcff415502d2e7b35e2cb"
   },
   "digest": "8a1ec77d42ca34c026b54314e16d923be03437c14546b83e6535f3294639d07d"
  },
  {
   "id": "ship/gda-group/3363ad8a2d21",
   "repo": "repo/gda-group",
   "at": "2026-08-31T17:30:04Z",
   "kind": "feature",
   "title": "A front door, and two surfaces the build was deleting [vercel skip]",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "frontdoor/1 was the last dimension this property was missing — which lanes the\nfirm opens and what it owes at each. The emitter and checker are vendored\nbyte-identical from @flashyos/frontdoor and are dependency-free, which is what\nlets them run here at all: there is no package.json and there never will be.\n\nThe door is written by the build rather than by the emitter, for the reason\nevery other surface here is. This build deletes public/ wholesale on every run,\nso a file an emitter writes there survives only until the next rebuild.\n\ndelivery/1 had already been lost that way. Its workflow committed the file\nstraight into public/, a rebuild removed it, and nothing failed — a missing\nwell-known file 404s to a stranger and to nobody else. It is copied from its\nroot fragment now, like everything else.\n\nThe new test asserts the served set rather than the mechanism, and checks each\nsurface is actually written by src/build.mjs: a file sitting in public/ proves\nnothing about whether it survives the next build, which was the whole defect.\n\nKind: feature",
   "refs": {
    "commit": "3363ad8a2d2147313dafc8994cfbff7e820ed449"
   },
   "digest": "487dbf0f8e2d3dca3c604eae8e5734e7644c389d698ba78c96e1d0c4abf6f226"
  },
  {
   "id": "ship/gda-group/1bbbd00babc1",
   "repo": "repo/gda-group",
   "at": "2026-08-31T16:43:11Z",
   "kind": "fix",
   "title": "An emitted record must not spend a deploy [vercel skip]",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "The emitters commit a refreshed fragment on every push, and each of those is a\ndeployment. On 2026-08-31 the estate landed 594 commits on default branches and\n321 of them — 54% — were emitters refreshing their own output. Vercel's build\nrate limit is 100 a day across the account, so the record-keeping machinery was\nconsuming the whole estate's deploy budget three times over and starving the\npushes people actually made.\n\nIt was invisible everywhere. Each property sat a few revisions behind, gda.group\nhad stopped on 30 August, nothing was red. The one place it was written down was\na commit status on a dependabot PR nobody had opened: \"Deployment rate limited —\nretry in 24 hours.\"\n\n[skip ci] is the marker Vercel and GitHub Actions both honour. The fragment\nstill reaches the domain on the next deploy a real push triggers, which is the\nright cadence for a record of something that already happened.\n\nThis commit carries [vercel skip] rather than [skip ci] so CI still validates\nit without spending one of the deploys it exists to save.\n\nKind: fix",
   "refs": {
    "commit": "1bbbd00babc18b0b1f17c8686dc94aad2cb5274b"
   },
   "digest": "7927e93e170da36e505b0553a9d7cc57d2570600981f66bf1beed66663b11cd5"
  },
  {
   "id": "ship/gda-group/20bcefc8da1f",
   "repo": "repo/gda-group",
   "at": "2026-08-31T16:11:38Z",
   "kind": "fix",
   "title": "Refuse to publish a build date as the partners' provenance",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "The shallow guard added upstream does its job: it detects a truncated clone\nand marks the date `undeclared` rather than inheriting a wrong one. Nothing\nthen stopped that value being written into the fragment and served. The guard\nmade the date known-bad internally and the emitter published it anyway —\norigin/main carries `asserted: 2026-08-31` on all sixteen partner claims,\nwhich is the day somebody ran the build, not the day this firm said anything.\nWith full history the answer is 2026-08-03.\n\nSo `partnerRecords` now throws instead of warning. A date nobody can check is\nthe precise failure the profile exists to prevent, and the fix on a runner is\none line — fetch-depth: 0. A build that fails loudly for want of it beats a\nserved record that quietly restates today.\n\n`dating` also travels with each claim now. It was computed and dropped on the\nfloor, so nothing downstream — not the fragment, not a reader, not a check —\ncould tell an inherited date from the clock.\n\nSecond, independent fix in the same function: `git blame` on a grepped line\nanswers \"when was this line last edited\", which is the opposite of the\nquestion its own heading asks. The partner array shares src/data.mjs with\neverything else this site publishes, so any commit reformatting that line\nmoves all sixteen dated claims with a diff behind them that has nothing to do\nwith partners. `log -S --reverse` follows the content and takes the commit\nthat introduced it, so the date can only change if the claim is withdrawn and\nre-made. It needs full history exactly as blame did, so it sits behind the\nshallow guard rather than beside it.\n\nThe fragment is regenerated from a full clone: partner dates return to\n2026-08-03 from the build-date 2026-08-31.\n\nKind: fix\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VgrPGGUFKMq9zXBHnfcTgs",
   "refs": {
    "commit": "20bcefc8da1feb7b7bba933ecf72fe6d24594e7f"
   },
   "digest": "15970a297416f3de498acfd06d172970bffd1c87bc6a5092f6c441d311ba013e"
  },
  {
   "id": "ship/gda-group/88921eb095aa",
   "repo": "repo/gda-group",
   "at": "2026-08-31T16:08:08Z",
   "kind": "fix",
   "title": "Declare the surfaces this property serves",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "This fragment carried no `Source` node, so gda.group was invisible to the\nestate's liveness check for as long as that check has existed. That tool reads\nthe surfaces an organisation *declares* — deliberately, because fetching every\nURL a fragment merely cites means asking gov.uk for our records — and an\norganisation declaring none is not measured as failing. It is skipped.\n\nWhat the silence cost: on 2026-08-31 gda.group served eleven nodes against a\nrepository holding thirteen, and the `directory.fragment.json` committed in\npublic/ 404s on the live domain. Both say the Vercel deploy is stale, and\nnothing anywhere could see either.\n\nSix surfaces are now declared, read from disk rather than listed, so one the\nbuild stops emitting stops being declared. Each `cites std/<profile>` and\nlands in both external lists: serving a standard is not authoring it.\n\npublic/ is updated by copying the two derived outputs rather than by a full\nrebuild. A full rebuild deletes public/.well-known/delivery.json — a\ndelivery/1 surface committed today that build.mjs does not emit and therefore\nremoves on every run. That is a real defect and it is not this change's to\nresolve by deleting the file.\n\nKind: fix",
   "refs": {
    "commit": "88921eb095aa87556fec78b6c5c8b78642da37c7"
   },
   "digest": "ff037196574deac729652a2b2e3412a1c775282ed27f27fa049f5a5c8ef88615"
  },
  {
   "id": "ship/gda-group/b0a086442094",
   "repo": "repo/gda-group",
   "at": "2026-08-31T13:48:09Z",
   "kind": "other",
   "title": "delivery/1: what the fetch found",
   "by": [
    "person/michael"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "refs": {
    "commit": "b0a086442094c5c9f217dd173a3c754e8dbd37e4"
   },
   "digest": "e88ee62afac3229c5693986121b365b861e214a42c163838f66bd2e906329d79"
  },
  {
   "id": "ship/gda-group/f9c135241ea7",
   "repo": "repo/gda-group",
   "at": "2026-08-31T12:27:57Z",
   "kind": "infra",
   "title": "Use the estate's checker instead of a fork of it",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "This repository carried its own `scripts/check-directory.mjs` with an\n`--external-file` flag nobody else has, reading a bare array from a filename\none letter off the estate's. It was one more place the rules were restated\nrather than shared, and it is the place seventeen partner companies went\nmissing from the graph.\n\nThe canonical checker is dependency-free — the reason this repository can use\nit despite having no package.json, by design — and it reads\n`directory.externals.json` beside the fragment, which the build now writes. So\nthe workflow drops the flag and this repository stops maintaining a second\nopinion about a rule it does not own.\n\nKind: chore",
   "refs": {
    "commit": "f9c135241ea7226015a4f736903e04cf230bd201"
   },
   "digest": "51f157f6a14cff5a9426059afc774dba831e5766a3ab998d6eb9accf115394de"
  },
  {
   "id": "ship/gda-group/2fac87f4baee",
   "repo": "repo/gda-group",
   "at": "2026-08-31T10:58:24Z",
   "kind": "infra",
   "title": "shipped/1: refresh the log, and the checkpoint over it",
   "by": [
    "agent/unattributed"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "refs": {
    "commit": "2fac87f4baee107e93b4b6185586048f91ea7cee"
   },
   "digest": "5133b87d6d404ad3a2a92f6fb2ac12922a0c377a2e8c054e12e6554ff8ca37e6"
  },
  {
   "id": "ship/gda-group/4c8b3123996d",
   "repo": "repo/gda-group",
   "at": "2026-08-31T03:14:31Z",
   "kind": "other",
   "title": "delivery/1 here too, and the thing it found on the first look",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "This property is the reason to have the format at all. `The Machine-Readable\nEstate` merged to `main` on 30 August at 19:55. Seven hours later it was not\nfetchable at any URL, `/insights/` did not list it, and nothing in this\nrepository would ever have said so — every test passed, the build was clean, and\nthe paper was, by any reading of the git history, shipped.\n\nThe board now records five deliverables for this property and puts all five at\n`shipped`, which is the honest rung: git says the work is reachable from the\ndefault branch, and no fetch has confirmed a reader can get it. It will not\nclaim `published` on evidence it does not have.\n\nTwo notes on the plumbing:\n\nThe workflow rebuilds the site *before* emitting. `src/build.mjs` deletes\n`public/` wholesale on every run, so a projection written first would exist in\nthe repository and at no URL — which is precisely the failure being tracked, and\nit would have been embarrassing to ship it inside the tracker.\n\n`public/` is not restamped here. A full rebuild rewrites every page's footer\nclock and shows ~380 changed files, and the only new content is the served\nprojection, so the rest is reverted rather than committed as noise.\n\n64 tests pass and the fragment validates against its own checker.\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_0198vyysGCrfdioK9uQr3kbs",
   "refs": {
    "commit": "4c8b3123996d014fad910eaa8bc947247b74fdf2"
   },
   "digest": "807212cc148e9c54f0b41a50fb4f604516bc0e8396bbfe439cac891205311e22"
  },
  {
   "id": "ship/gda-group/ba63404fca36",
   "repo": "repo/gda-group",
   "at": "2026-08-31T02:54:13Z",
   "kind": "feature",
   "title": "Merge research/the-escape-test — the category, the mechanism, and where this firm resolves",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "Six commits, and the conflict was two builds both extending the same emit\nblock. Both belong, so both are kept:\n\n  main's half copies the charter and the fragment to the two paths the estate\n  standard names, and emits the shiplog and checkpoint projections — all of it\n  fixing documents that existed only at the repository root, which Vercel never\n  serves.\n\n  the branch's half serves /organizations/gda-capital under directory/1 Rule 14,\n  so a permanent identifier dereferences to a record instead of being a primary\n  key in a private database. Its refusal is the interesting part: this fragment\n  names sixteen real, independent organisations that did not ask to be listed,\n  and serving a record for any of them would be a merchant bank asserting what\n  another company's identifier is. They are referred, never served, and the\n  emitted index says so in words.\n\nAlso lands The Escape Test, the definitions of the category and its mechanism,\nthe machine-native / AI-native distinction made testable, and a fix for git\nblame silently re-dating sixteen partner claims in a shallow clone.\n\n388 pages, 64 tests, charter clean, directory clean against its externals file.\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_0198vyysGCrfdioK9uQr3kbs",
   "refs": {
    "commit": "ba63404fca36357e93d7b15932d1794d9b38a4b2"
   },
   "digest": "be3b9276611069865f5604c787c82637b9fcbe4dc87ed7e677a898c31118488c"
  },
  {
   "id": "ship/gda-group/5131cd452fdb",
   "repo": "repo/gda-group",
   "at": "2026-08-31T02:53:22Z",
   "kind": "feature",
   "title": "Merge research/the-nth-node-test — both papers, and the gate it brought with it",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "The branch adds The Nth Node Test and, with it, a proof gate: every research\npaper must resolve its claims to live surfaces or it does not publish. The gate\nimmediately caught a paper main had shipped before the gate existed — The\nMachine-Readable Estate, which had no proof block.\n\nThat is the gate working, not the gate being wrong. Every claim in that paper\ndoes resolve; nobody had been made to say where. Five rows added, each fetched\nbefore it was written down: the directory/1 profile, this firm's own fragment,\nthe parent's identity URI, the estate register, and the definition the paper's\nmeasures are taken against.\n\nAlso fixes a trap that cost two builds here. `build.mjs` clears `public/` on\nevery run, and `directory.mjs` reads the emitted handshake at static import —\nits own build's output. A build that fails partway leaves the directory gone,\nand the next run dies with a bare ENOENT naming a file the reader has every\nreason to think is missing from the repository rather than deleted by the tool\nthey just ran. The read is now defensive and says so out loud when it skips the\ncross-check, so a clean checkout builds and a missing handshake cannot quietly\nbecome a passing one. test/flashyos-handshake.test.mjs asserts the same\nagreement against committed output, so nothing is lost.\n\n385 pages, 48 tests, charter and directory validators clean.\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_0198vyysGCrfdioK9uQr3kbs",
   "refs": {
    "commit": "5131cd452fdbbbd3d8af298ad18c81bfe0275348"
   },
   "digest": "96edca11e0ab3e118ad67c44bb60dc8b27f5362b3034401964176eca392034fb"
  },
  {
   "id": "ship/gda-group/aba8e7fc7c19",
   "repo": "repo/gda-group",
   "at": "2026-08-31T02:30:12Z",
   "kind": "fix",
   "title": "Emit the externals list in the estate's shape as well as this one",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "This repository keeps a hand-written checker — no package.json here, by\ndesign — and that checker reads a bare array from `directory.external.json`.\nEvery vendored checker and every estate tool reads `{ ids: [...] }` from\n`directory.externals.json`, one letter away.\n\nOnly the first existed, and nothing failed. What happened instead: seventeen\npartner companies — BMW, JP Morgan, Polygon, TD Bank — appeared in the\nestate's graph report as endpoints nothing defines, sitting in the same\ncolumn as genuine missing declarations. The estate cannot define BMW, and a\nreport that lists it as a gap is asking for a fabrication.\n\nBoth files are generated from one list and a test asserts they agree, so the\nduplication cannot become a disagreement.\n\nKind: fix",
   "refs": {
    "commit": "aba8e7fc7c198e1136467da53fd03fe985821e5f"
   },
   "digest": "7fe54d110461de2a24a791f313cfab9787a7e792b06c496768aa2b12ee745dd8"
  },
  {
   "id": "ship/gda-group/90f02fab8bcf",
   "repo": "repo/gda-group",
   "at": "2026-08-31T02:19:35Z",
   "kind": "other",
   "title": "Re-vendor the backlog emitter: it can revise an item now",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "`file` has taken `--wants` since the beginning and nothing could add them\nafterwards, so every item filed across the estate — all of them filed without\nwants — was permanently invisible to the matcher, which refuses an item that\nnames no `capabilitiesWanted`. A format whose central field is\nwrite-once-at-creation is a format whose central field is empty.\n\n`revise` changes everything about an item except its visibility. Promotion\nstays a separate verb because it is a separate decision: it refuses anything\nbut a `person/` id, and folding it in would give a revision the power to\npublish. Unmentioned fields are left alone — `close` is a revision too, and\nclearing on absence would strip every want in the repository.\n\nCopied byte-identical from flashyos rather than edited here. A stale vendored\nfile does not break; it disagrees, silently, about exactly the field somebody\nhas just added.\n\nKind: chore",
   "refs": {
    "commit": "90f02fab8bcfd9bcd1b68b1e012d4c4ebd019839"
   },
   "digest": "75afb8f4e520820d50f46ad2dc3d833d28d2e9dd7ae35ae6b7ce4e95c57e2385"
  },
  {
   "id": "ship/gda-group/4f417c8402a1",
   "repo": "repo/gda-group",
   "at": "2026-08-31T01:00:54Z",
   "kind": "feature",
   "title": "File the gaps this repository can prove about itself",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "`backlog/1` was published by thirty repositories and empty in twenty-nine —\nfull distribution and nothing to distribute, which is worse than no adoption,\nbecause a format every property emits and none fills teaches every reader that\nthe format is decorative.\n\nThe temptation was to write some intentions. That would be fabrication: an\nagent inventing what an organisation intends is exactly what `promote()`\nexists to prevent, and a backlog of plausible work nobody agreed to is worse\nthan an empty one.\n\nSo these are derived, not invented. Each item is a gap the estate survey\nmeasures directly — a signature citing an identity nothing declares, a\nrepository sealing records and publishing no directory, a default branch that\nis an agent's scratch branch — and each carries the evidence that establishes\nit, because an item that says what to do without saying how anyone knows is an\ninstruction rather than a finding.\n\nFiled private. Reaching public needs a named human to promote it, which is the\nconsent rule rather than an oversight.\n\nKind: feature\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01FDosmV9fXV6oZ9NXe7PZ76",
   "refs": {
    "commit": "4f417c8402a14e031f0a77ad37c0319cddd3bc60"
   },
   "digest": "53c86542039d3e4598be67352295bdf44c50a9c9aaedfa00526476e4704234c6"
  },
  {
   "id": "ship/gda-group/a7042875071f",
   "repo": "repo/gda-group",
   "at": "2026-08-31T01:00:03Z",
   "kind": "feature",
   "title": "Declare the machine that files this repository's intentions",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "Two machines write this repository's record and only one was declared.\n`.shiplog/config.json` stamps `agent/<slug>-ci` on every sealed entry;\n`.backlog/config.json` stamps `agent/<slug>-bot` on every filed item. Both\nappear in published fragments. The second appeared in no declaration anywhere\nin the estate.\n\nIt survived the `-ci` rollout because the declaration looked complete:\n`recordEmitter` listed `backlog/1` among the record emitter's formats, so\neverything comparing formats saw it named and stopped, and nothing compared the\nsignature. A declaration naming the right format and the wrong machine is\ncomplete in every respect except the one that matters.\n\nThe record emitter's scope narrows to `shipped/1`, which is what it signs. The\nbacklog emitter is declared beside it with its own `operates` and its own\n`delegatedTo` from the accountable human, bounded to `backlog/1`.\n\nTwo machines is not an artefact of tooling. The tenses are shaped differently\non purpose — an item decays and is never sealed, an entry is sealed and never\ndecays — and different things write them at different times: the seal on a push\nto the default branch, the filing whenever somebody records an intention.\n\nBoth ids are read from the config that stamps them, never composed.\n\nKind: chore\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01BEaXzktRU5ZPe3R2NY7CKD",
   "refs": {
    "commit": "a7042875071f1fd3bf661709f489736c34a817ef"
   },
   "digest": "c631e8369846e6353c736c84fe873826a7a37ab8a4d2e5a9d9a6726f716879ca"
  },
  {
   "id": "ship/gda-group/cd0f76436a4e",
   "repo": "repo/gda-group",
   "at": "2026-08-31T00:45:51Z",
   "kind": "docs",
   "title": "Say whose authority the record emitter signs under",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "`operates` says this organisation runs the machine that seals its record. It\ndoes not say who answers for what the machine signs, and that is the fact a\nsignature rests on: an agent acts *for* somebody, the somebody answers, and an\nagent with no stated bound is one nobody can say has exceeded anything.\n\nThis repository emits from `src/directory.mjs` rather than `scripts/`, and the\nestate gate that checks emitter declarations walked `scripts/` alone — so it\nreported clean while this repository signed every sealed entry as an identity\nits own fragment did not declare. The gate walks both now.\n\nThe id is read from `.shiplog/config.json`, never derived. `operates`, not\n`declares`: a declared role is a governance label rendered into the handshake's\nadvertised capabilities, and a \"ci\" role would tell the network this\norganisation does continuous integration for other people.\n\n`delegatedTo` carries the same scope and names the accountable human — the\nshape of a Flashy ID root grant, whose issuer is that human and whose scope a\nchain may only ever narrow. The record states the delegation; the assertion\nthat enforces it lives in Flashy ID. Proof never moves into the record.\n\nKind: chore\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01BEaXzktRU5ZPe3R2NY7CKD",
   "refs": {
    "commit": "cd0f76436a4ed41c4871e217e81f358d53686d91"
   },
   "digest": "7ce375fe7e90bfda95495ff342dec2ba0b6b2b79f3941714f10b2a2f011f93c2"
  },
  {
   "id": "ship/gda-group/f42a028cb896",
   "repo": "repo/gda-group",
   "at": "2026-08-31T00:21:09Z",
   "kind": "feature",
   "title": "Declare the machine that signs this repository's record",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "Kind: feature\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>",
   "refs": {
    "commit": "f42a028cb8967228a772da483950305549a2cc8c"
   },
   "digest": "fe408bf59a0d71ec3d07a99bd60657980b1632b592b351e631c3529efb3121af"
  },
  {
   "id": "ship/gda-group/82ca47ed19fb",
   "repo": "repo/gda-group",
   "at": "2026-08-30T19:55:55Z",
   "kind": "docs",
   "title": "Research: The Machine-Readable Estate",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "A seventh research piece for the insights desk, and the first to publish a\nmeasurement of the firm's own estate rather than a description of a method.\n\nThe argument: a diversified group is valued on the sum of its parts, and a\ngroup whose holdings resolve into one machine-readable graph is valued on\nsomething else, because every addition attaches to everything already held.\nLines of code is rejected explicitly as a benchmark -- there are no audited\ndisclosures to compare against, and repository boundaries move code between\nnumerator and denominator without anything changing.\n\nIt reframes acquisition under the thesis. A twenty-year-old publication is an\nentity history with provenance attached, accumulated by people who verified it\nat the time, and it cannot be recreated because the events are over. What is\ninherited is a content management system nobody wants.\n\nThe exhibit is the eight-step ingestion sequence with the two steps that get\nskipped named: entity resolution and connection, the two with no deadline,\nbecause the site still renders without them.\n\nThe section that matters most is the unflattering one. Every figure in it comes\nfrom `estate-graph.mjs` run across thirty-six repositories on the branches they\ndeploy from: 1,422 entities, 2,726 relationships, 8% of edges crossing a\nproperty boundary, no entity declared by more than one property, provenance at\n9%. On the measure the piece argues is the only one that counts, the firm's own\nestate is thirty records that share a file format and are not yet one graph.\n\nPublishing that is the point. A number a reader can check is worth more than\none they are asked to accept, and a firm that publishes figures only when they\nflatter has told the reader how to treat the flattering ones.\n\nRebuilt in full: 383 pages restamped, per the rule that a rebuild is committed\nwhole or not at all.\n\nKind: docs\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01FDosmV9fXV6oZ9NXe7PZ76",
   "refs": {
    "commit": "82ca47ed19fb71b164c9cc1f5d48331ab70243dd"
   },
   "digest": "f502e8ab9ecd13fe564656e516b4541cb60b7016acd07e433ddb27b87c0b23cf"
  },
  {
   "id": "ship/gda-group/85f3f241f386",
   "repo": "repo/gda-group",
   "at": "2026-08-30T18:23:43Z",
   "kind": "infra",
   "title": "Rebuild after rebase",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "Kind: chore",
   "refs": {
    "commit": "85f3f241f386715a17b45456280adfdb82f94554"
   },
   "digest": "8f8fd69914c6ae459a2be3eaaabc9d46943204423711700c08831328c30ae7d3"
  },
  {
   "id": "ship/gda-group/69a7131bde75",
   "repo": "repo/gda-group",
   "at": "2026-08-30T18:18:20Z",
   "kind": "fix",
   "title": "Let the build own public/, and take AGPL-3.0-only",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "Two changes that turned out to be one.\n\nAnother session fixed the deleted-machine-surfaces defect better than I did.\nI carried the emitter-written files across the wipe; they made the build emit\nthe projections, the way it already emits the handshake and the directory\nfragment. Theirs leaves one owner for `public/` instead of two, so mine yields:\n`PRESERVED` and its test are gone, and `serve` is dropped from all three\nemitter configs.\n\nTheir change covered shipped/1. Dropping `serve` from the backlog and\ncheckpoint configs without the build emitting those would have removed two\nsurfaces the same way the original defect did — caught by listing the directory\nafter a rebuild rather than by assuming. Both are emitted here now, backlog\nfiltered to public items for the same reason shipped/1 is.\n\nAnd the licence. GDA Capital per the charter, AGPL-3.0-only because this is a\nsite somebody could host a fork of, which is the estate's stated boundary:\nApache for what a stranger may embed, AGPL for what runs as a service.\n\nKind: fix",
   "refs": {
    "commit": "69a7131bde759e5b24c97a9719cce2895faafbd7"
   },
   "digest": "7fb98427afece3f15206bfc156cf5f2e794f7515ebcb5709e32b461ea6f26c5a"
  },
  {
   "id": "ship/gda-group/f02bfc5de853",
   "repo": "repo/gda-group",
   "at": "2026-08-30T18:01:36Z",
   "kind": "other",
   "title": "Re-emit against the rebased tree",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "Kind: chore",
   "refs": {
    "commit": "f02bfc5de853e2c4edf2f365a490c62757b25f59"
   },
   "digest": "fb12846cf23851e9a652dc847ae4d2e7c1da94367bbd51a807dd06151fd942c9"
  },
  {
   "id": "ship/gda-group/62ab7b66de15",
   "repo": "repo/gda-group",
   "at": "2026-08-30T17:59:09+00:00",
   "kind": "fix",
   "title": "Carry the current vendored emitters",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "A stale copy fails silently and in the dangerous direction: it does not know\nabout rules added since it was vendored, so it ignores them rather than\nerroring. Re-emitted and re-verified against the refreshed copies.\n\nKind: fix",
   "refs": {
    "commit": "62ab7b66de15f3281afffc518044447e886c14a8"
   },
   "digest": "d05216cdc9af2e1faab4beacd24d84983a2ebaecc65a53db4c38966561e1e735"
  },
  {
   "id": "ship/gda-group/6cd4545b8243",
   "repo": "repo/gda-group",
   "at": "2026-08-30T17:38:53+00:00",
   "kind": "fix",
   "title": "Fail loudly on a fragment that exists and cannot be parsed",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "The emitter treated an unparseable fragment as an absent one and built a head\nover whatever else it could read. A conflicted fragment produced a\nvalid-looking head over nothing.\n\nKind: fix",
   "refs": {
    "commit": "6cd4545b824304da98ea5b21b6e6dc553d538c0c"
   },
   "digest": "b6f622977f226d67963c7263f64bce2fb0829e8b93b0641f159a8da6dd7f2d2e"
  },
  {
   "id": "ship/gda-group/57bf45d6595b",
   "repo": "repo/gda-group",
   "at": "2026-08-30T17:23:08+00:00",
   "kind": "other",
   "title": "Re-emit the log and its checkpoint after rebase",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "Kind: chore",
   "refs": {
    "commit": "57bf45d6595b2f55f5abb413ef7698fff4b9ae2e"
   },
   "digest": "488a4e16683ffc68eb25ae30e2012fa995b7096dbae78bf98ffb69000428f22d"
  },
  {
   "id": "ship/gda-group/10a3b464fead",
   "repo": "repo/gda-group",
   "at": "2026-08-30T17:18:13+00:00",
   "kind": "feature",
   "title": "Adopt checkpoint/1 — a tree head over what this repository seals",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "An RFC 6962 Merkle root over the sealed claims already published here, served\nbeside them. Anyone holding the fragments can recompute it and see whether the\nrecord still describes what it said it did.\n\nThe head is deliberately unsigned. A signature over a root computed and checked\nby the same party is ceremony without a property — what makes history provably\nappend-only is a witness who is not us, and that is not built. The root catches\ndrift and after-the-fact edits, and nothing here claims more.\n\nIt is refreshed by the shiplog workflow rather than its own, so the head and\nthe log it commits to always move in one commit. A separate workflow would\nleave a window in which the published root and the published record disagree,\nand a reader hitting that window sees a forged-looking estate.\n\nKind: feature",
   "refs": {
    "commit": "10a3b464fead9688ee02743cfb715a365466f04f"
   },
   "digest": "27d72bfe78db1785b07c82f666b090a8a0388c52cd8470175c161eabc1ef4148"
  },
  {
   "id": "ship/gda-group/0c0b73a5f05b",
   "repo": "repo/gda-group",
   "at": "2026-08-30T16:51:00+00:00",
   "kind": "other",
   "title": "Merge main, then publish",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "Another session adopted these formats here independently. Its author\ntable and its branch-agnostic workflows are better than mine and are\ntaken as-is; the emitter is mine, because it carries three things theirs\ndoes not and one of them is load-bearing under their design.\n\nAn emit is now a union rather than a replacement. Their workflow fires on\nany push and gates the job on the default branch, which is the right fix\nfor the branch-pinning trap — but combined with derive-and-overwrite it\nwould let a feature branch rewrite the trunk’s log with its own\nfirst-parent shape. Together the two changes are safe.\n\nAlso mine: .shiplog/held.json, so publishing a log is not the same\ndecision as publishing every entry in it; a guard that stops an agent’s\ncommits being filed under a person; and a filter for this format’s own\nrefresh commits, which were being recorded as things that shipped.\n\nvisibility is now public. That is the decision that turns an internal\nrecord into a changelog anyone can read.\n\nKind: other",
   "refs": {
    "commit": "0c0b73a5f05b1d8d5e05b35d79baf20cea63c8c2"
   },
   "digest": "415e805cdc21c98e8a49940158543928afdf2c0e3c13497f4315e8887db80d63"
  },
  {
   "id": "ship/gda-group/67f7054f427c",
   "repo": "repo/gda-group",
   "at": "2026-08-30T16:24:31+00:00",
   "kind": "feature",
   "title": "Publish the log: 282 entries across the estate become public",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "Everything derived has landed private since adoption. This flips\nvisibility for the estate-owned properties, which is the decision that\nturns an internal record into a public changelog.\n\nTwo entries are held back by .shiplog/held.json, with the reason written\nnext to each: one names a credential that is still unrotated, one is a\nfrank internal note about a durability gap in a live product. Held, not\ndeleted — both are still in this repository’s own record, sealed and\ncounted. Only whether a stranger can read them changes.\n\nThe vendored emitter is re-copied in the same commit. The hold did\nnothing until it was: the previously vendored copy predated the feature\nand published the held entry regardless, silently.\n\nKind: feat",
   "refs": {
    "commit": "67f7054f427cabfb7dfeac1161b4986801a64ad6"
   },
   "digest": "063c637aa6885464cd9f655032053bfb20560e73a49c8c92af2e9f04c803fcf3"
  },
  {
   "id": "ship/gda-group/14b60cfddab8",
   "repo": "repo/gda-group",
   "at": "2026-08-30T16:23:21+00:00",
   "kind": "fix",
   "title": "Stop the build deleting the machine surfaces it does not own",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "`public/` is a committed build artifact and `src/build.mjs` wipes it before\nrendering. That is right for everything this script writes and wrong for three\nsurfaces written by other emitters — shipped/1, backlog/1 and frontdoor/1. A\nroutine rebuild deleted all three and the deletion reached main earlier today.\n\nNothing failed. The site simply stopped serving surfaces its own config still\ndeclares, which is precisely the failure a declared surface exists to rule out:\na promise in writing and a 404 in fact is worse than never having claimed it.\n\nThe three paths are now carried across the wipe rather than re-rendered here,\nso this script does not become a second place that knows how to write them.\nFour tests, including the direct one — write a marker at a preserved path,\nrun a real build, read it back — and one that reads the served path out of\n`.shiplog/config.json` so a surface cannot be declared without being protected.\n\nThe diff is large because a full rebuild restamps every page's footer clock.\nIt was run deliberately to restore the three deleted files and to prove the\nfix, so the whole result is committed rather than a slice of it.\n\nKind: fix",
   "refs": {
    "commit": "14b60cfddab89a123ec9764e384c52798e696f6b"
   },
   "digest": "5b0bb160944a26b1a886a341a3ae6c05a106c90a39ef5b33c666469430f32ec8"
  },
  {
   "id": "ship/gda-group/957391b01b40",
   "repo": "repo/gda-group",
   "at": "2026-08-30T16:18:23+00:00",
   "kind": "fix",
   "title": "Map the estate's commit addresses to who they belong to",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "`authors` was empty and `defaultAuthor` filed every entry under one identity,\nso this log looked fully attributed while agent-authored commits were recorded\nas the person named as the default.\n\nThe map is declared once in flashyos `tools/estate-authors.mjs` and synced\nhere. Five addresses are left unmapped on purpose, each with a stated reason.\n\nKind: fix",
   "refs": {
    "commit": "957391b01b400c6fc2751419d533c7f890c02ecd"
   },
   "digest": "89cb25d19777f5b726df24872827be2ae0b57d0860589ed07ac53c9b04961d9e"
  },
  {
   "id": "ship/gda-group/c1c10ffc92ed",
   "repo": "repo/gda-group",
   "at": "2026-08-30T16:06:22+00:00",
   "kind": "infra",
   "title": "Name the parent where a reader can see it, not only in the JSON-LD",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "This site has declared parentOrganization = Gord Holdings in its structured\ndata since the schema was written, and named it nowhere a person could read.\nThe machine graph reached the family office; the human graph stopped here.\nTwo graphs, and only one of them was ever audited.\n\nOne sentence in the colophon, naming the direct parent — the form the estate\nprescribes, since the Gord mark does not go on an operating property. It is an\naffiliation and not an ownership percentage: that claim belongs to the\nparent's register, and only ever with an instrument, a percentage and a date\nbehind it.\n\nThis is a deliberate full rebuild, so the whole result is committed rather\nthan part of it. The 380-odd other changed files are the office clocks\nrestamping, which is what a rebuild of this site does and why the rule is to\ncommit all of it or none.\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01BEaXzktRU5ZPe3R2NY7CKD",
   "refs": {
    "commit": "c1c10ffc92ed476cb14c685b6fedd61e227d826c"
   },
   "digest": "15a066d198ae9354b9af2c4e9ebf19ad84267d1e8cbc4188fecaffd6f899d15b"
  },
  {
   "id": "ship/gda-group/c9e0017eb575",
   "repo": "repo/gda-group",
   "at": "2026-08-30T16:04:54+00:00",
   "kind": "feature",
   "title": "Adopt the two tenses, emitted by the build rather than beside it",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "`backlog/1` and `shipped/1`. Everything lands private, so the served log\npublishes nothing until somebody decides otherwise.\n\nThe served copy had to be emitted by `src/build.mjs`, not written by the\nshiplog emitter. This build deletes `public/` wholesale on every run, so a\nfile the emitter wrote there would be reachable until the next rebuild and\nthen quietly not — a failure with no error and no obvious moment. So\n`.shiplog/config.json` deliberately carries no `serve`, and the build\nemits the projection the same way it already emits the handshake and the\ndirectory fragment.\n\nIt filters rather than copies, for the reason the format's own workflow\nsays: a copy step is the kind of thing somebody forgets, and forgetting\nthis one publishes private entries at a URL.\n\n`test/shiplog.test.mjs` holds both halves — no `serve` in the config, and\nthe projection present, public-only, and the same document as the record.\nEither alone drifts. It also asserts no entry is filed under\n`agent/unattributed`, which is how a machine address with no name in the\nconfig would show up.\n\nThe org slug is `org/gda-capital` from the charter, not the repository\nname. Full rebuild, so the whole result is committed rather than part.\n\nKind: feat",
   "refs": {
    "commit": "c9e0017eb575deb3380cbf3b200353071566f8df"
   },
   "digest": "af7d05b8aebfea2bbfc08d8b0b1f74f7db1d42f41dd6b8bd3ca0416515be21af"
  },
  {
   "id": "ship/gda-group/fd4a1bd94069",
   "repo": "repo/gda-group",
   "at": "2026-08-30T15:46:16+00:00",
   "kind": "fix",
   "title": "Stop pinning the shiplog and backlog workflows to a branch name",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "Each workflow triggered on `branches: ['<the default branch at adoption>']`.\nEleven repositories in this estate have a `claude/*` branch as their GitHub\ndefault; renaming one to `main` is the right thing to do and would have stopped\nits workflow firing. Nothing would have failed — the fragment would simply have\nstopped advancing, and a stale changelog reads exactly like a current one.\n\nThe trigger now matches any push and the job is gated on\n`github.ref_name == github.event.repository.default_branch`, resolved per run,\nso a rename is survived rather than discovered. `branch` is dropped from the\nconfig: nothing read it, and a stored branch name is a snapshot of something\nthat changes.\n\nKind: fix",
   "refs": {
    "commit": "fd4a1bd94069077848087c0e52e27a58e34a0bd7"
   },
   "digest": "d8ec75dc75e912f8a30465bdb7528c8502566de477a05ab0eadd8465e4b6e629"
  },
  {
   "id": "ship/gda-group/f4d6679c4ba0",
   "repo": "repo/gda-group",
   "at": "2026-08-30T13:21:31+00:00",
   "kind": "infra",
   "title": "Reclassify the log against the convention this estate writes in",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "The derived log was classified only by conventional-commit prefixes, and\nthis repository writes declarative English. Unclassified went from 100%\nto 23% by reading the estate's declared imperative lexicon, looking\npast a project prefix to the verb behind it, and dropping merges of\nanother branch into this line — which are not things that shipped.\n\nNothing is published: entries remain private and the served copy is the\npublic projection.\n\nKind: infra\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01FDosmV9fXV6oZ9NXe7PZ76",
   "refs": {
    "commit": "f4d6679c4ba0f88d5e0ebe3b83b1fe56d573f206"
   },
   "digest": "82cedd93fafbf2a41a113ccff97222dfdb5a19c50f4a03a9ca98f9d4e9edceab"
  },
  {
   "id": "ship/gda-group/f129c7dc7f72",
   "repo": "repo/gda-group",
   "at": "2026-08-30T06:20:35+00:00",
   "kind": "infra",
   "title": "Commit the fragment the emitter actually produces",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "Not a hand edit and not part of the adoption work: `node src/directory.mjs`\nproduces exactly this today, so the committed copy was simply stale — a\nregeneration somebody ran and never committed. directory.yml asserts the\ncommitted fragment matches the emitter and that the served copy matches\nthe source, so the branch was red on both until now.\n\nFound while checking that nothing unrelated had been swept into the\nadoption commit. It had not, which is why this is its own.\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01FDosmV9fXV6oZ9NXe7PZ76",
   "refs": {
    "commit": "f129c7dc7f72e9732de51e3aac49d5c0521c205c"
   },
   "digest": "d8e778e1c3e2aa228c65dfa7978b182e08c6d9eda3a1cae863d1d0a116f24f39"
  },
  {
   "id": "ship/gda-group/871940c7fa0d",
   "repo": "repo/gda-group",
   "at": "2026-08-30T05:49:10+00:00",
   "kind": "feature",
   "title": "Adopt backlog/1 and shipped/1",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "This repository now publishes the two tenses the estate records: what it\nintends, and what it shipped. Both are emitted by a dependency-free\nvendored script, which is the whole reason they exist in that form — this\nrepository has no package.json and is not going to grow one.\n\nNothing is published by this commit. Backlog items are filed private and\nreach the served fragment only when a named human promotes one; shipped\nentries land private until someone changes one field in\n.shiplog/config.json. The served copy is the public projection and the\nemitter writes it, so a private record cannot reach a URL through a\nforgotten copy step.\n\nThe two files under public/.well-known/ are written directly rather than\nby src/build.mjs, deliberately: a full rebuild restamps every page's\nfooter clock and would put ~380 unrelated files in this diff.\n\nDerived 52 entries from this repository's own history, every seal\nrecomputed. The org is gda-capital, from the charter — not the repository\nname, which is the distinction this repo already documents. Its own 33\ntests and the content check pass unchanged.\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01FDosmV9fXV6oZ9NXe7PZ76",
   "refs": {
    "commit": "871940c7fa0d420b32c14899edb27bc96e8b4577"
   },
   "digest": "70e4098b7a5261b8b80432d86eae110c542ab27e1cbd4732a926e9b2852483e3"
  },
  {
   "id": "ship/gda-group/4f6cd73163e6",
   "repo": "repo/gda-group",
   "at": "2026-08-30T03:07:48+00:00",
   "kind": "feature",
   "title": "Advertise a way in a stranger can actually use",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "The handshake's `join` field is the one thing in that document somebody\nactually follows. Every handshake in the estate pointed it at\napp.flashyos.com/onboard, which redirects anyone without a session to a\npassword form. A stranger following the URL our own standard tells them to\nfollow arrived at a login they had no account for.\n\nIt now points at https://flashyos.com/join — open, no account, nothing to\ninstall.\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01BEaXzktRU5ZPe3R2NY7CKD",
   "refs": {
    "commit": "4f6cd73163e66437bb4d667b5a9aa98db53d69cf"
   },
   "digest": "8bd0c5c845d75d95f76c0e113d7c8e74c09b60388ebf15b6856925a087c98c5d"
  },
  {
   "id": "ship/gda-group/0305a986c2f2",
   "repo": "repo/gda-group",
   "at": "2026-08-30T02:26:33+00:00",
   "kind": "infra",
   "title": "Point the front door at the ladder's new home",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "The ladder moved from gord.ventures to gord.holdings. It is an estate-wide\nclaim — every door in the estate points at it — and estate-wide claims belong\nto the parent rather than to one sibling that also has its own lanes. The old\nURL had no deployment behind it, so this door was directing anyone who read it\nto a 404.\n\nConfig and emitted door, nothing else.\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01BEaXzktRU5ZPe3R2NY7CKD",
   "refs": {
    "commit": "0305a986c2f2e78431826acfcbe3e842a66ac59f"
   },
   "digest": "b7a2a25541432db034f3447e5b1c420c5adf45cabf6fec1d8dbec284b9d1e709"
  },
  {
   "id": "ship/gda-group/d1a9591ef68f",
   "repo": "repo/gda-group",
   "at": "2026-08-30T01:34:45+00:00",
   "kind": "feature",
   "title": "Serve the directory fragment, which this property was not doing",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "The fragment lived only at the repository root. A Next.js app does not\nserve the repository root, so https://<this property>/directory.fragment.json\nreturned 404 — and the estate's directory is federated, meaning every\nproperty is supposed to publish its own fragment for anyone to fetch and\nmerge.\n\nThirteen of fourteen properties were in this state. The consequence is\nlarger than a missing file: the estate graph could only be assembled by\nsomeone with a git checkout of every repository, which defeats the entire\nreason for federating it. A graph you can only build from a laptop proves\nthe files are on that laptop. A graph assembled from published URLs proves\nthe estate publishes what it says it does, can be reproduced by somebody\nwho does not trust us, and is the only shape that lets an organisation we\ndo not own ever join it.\n\nSame defect as the charter, found the same way and fixed the same way: the\nfragment is copied into the served directory and CI diffs the served copy\nagainst the source so the two cannot drift.\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01BEaXzktRU5ZPe3R2NY7CKD",
   "refs": {
    "commit": "d1a9591ef68f8db9810fb954eb33f95ed8286bb8"
   },
   "digest": "56bcec0cef3981de7dc0c0d98a6f5284ecdca42404abb1145e509349f7fa1903"
  },
  {
   "id": "ship/gda-group/d941eda51d2c",
   "repo": "repo/gda-group",
   "at": "2026-08-30T00:53:17+00:00",
   "kind": "feature",
   "title": "merge main: the partner wall becomes edges in the repository's own fragment",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "Same collision as flashyos, one file: both sides created src/directory.mjs.\nTheirs is the charter-derived emitter that federates — the organisation, its\nroles and its properties, read from flashyos.roles.json so the two cannot\ndisagree. It keeps the path.\n\nThe partner wall moves to src/partners.mjs and is appended into that one\nfragment, because a repository emits one record of what it is the authority\nfor, not two documents that can drift.\n\nThree things their CI gate was right to refuse, and the fixes are better than\nwhat they replaced:\n\n  It refused sixteen `bad-edge-type`. This repository's vendored copy of the\n  checker did not know `engaged`; the flashyos copies were updated when the\n  type was added and this one was missed. Its own header says keep the copies\n  identical, so it now does.\n\n  It refused sixteen `no-accountable-human`. Every organisation must name one,\n  and no human here can be named accountable for JP Morgan. The gate was\n  pointing at a real error: this repository is not the authority for JP\n  Morgan's record and should never have emitted one. Partner organisations are\n  now *referenced* and declared external — what we are the authority for is the\n  edge, that this site names them, on this date.\n\n  The external list is generated into directory.external.json rather than typed\n  into the workflow, because a hand-maintained list rots the moment PARTNERS\n  changes and the failure is a red build nobody can explain. `--external-file`\n  is added to the checker for it.\n\nThe served .well-known/directory.json is now the same document as the root\nfragment — one fragment, two places it can be found, rather than two fragments\nthat drift. Written directly rather than by a full rebuild, which would restamp\n~380 footers for no reason.\n\nOne thing the flat 0.1 shape cannot express: signature state. A served fragment\nthat cannot distinguish \"nobody has signed this\" from \"this format cannot say\"\nis making a weaker claim than it means to, so `state` and `counterpa",
   "refs": {
    "commit": "d941eda51d2ca6575d705f4599793a4e0e011809"
   },
   "digest": "28d26bdbcb11fba4ef49742c7a4c3bbed0b09e7f662d738af6c36e4183742b5d"
  },
  {
   "id": "ship/gda-group/c8fafe213681",
   "repo": "repo/gda-group",
   "at": "2026-08-30T00:18:58+00:00",
   "kind": "feature",
   "title": "Serve the charter, which this property was not doing",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "The AAO charter lived only at the repository root. A Next.js app does not\nserve the repository root, so https://<this property>/flashyos.roles.json\nreturned 404 while the standard this estate publishes tells every\norganisation to serve exactly that path.\n\nFound by running the estate's own properties through the verifier written\nto mark a stranger's homework. Nine of the ten live properties failed at\nrung 1 — not because a charter was missing, but because nobody could read\nit. gord.holdings was the only one that passed, and only because it is a\nstatic site that happens to serve from the repository root.\n\nThe charter is now copied into the served directory, and the front door\nworkflow diffs the served copy against the source so the two cannot drift.\nA charter that exists and cannot be fetched is worth exactly as much as no\ncharter at all — less, because it produces the belief that the work is\ndone.\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01BEaXzktRU5ZPe3R2NY7CKD",
   "refs": {
    "commit": "c8fafe21368121f456c54d68e2e521ea61da4892"
   },
   "digest": "7b2f73cebea3df42d9f2542258353dfdcb07d70488ad1562454bafb45d1fd35b"
  },
  {
   "id": "ship/gda-group/55c13d7c9df7",
   "repo": "repo/gda-group",
   "at": "2026-08-30T00:14:26+00:00",
   "kind": "feature",
   "title": "Publish a front door (frontdoor/1)",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "This property now serves /.well-known/frontdoor.json: which lanes it\nopens, what it asks at each, and what it owes in return. It completes the\ntrio the estate already half had — the handshake says who this is, the\ncharter says how it is governed, the door says how to reach it.\n\nLanes are declared per property class rather than per property, so the\nrestraint is checkable: a consumer app opens one lane and it is not\ncapital, and no property outside the parent and the bank opens the capital\nlane at all. frontdoor.config.json is the only file here that carries\nanything specific to this repository.\n\nThe rungs are identical across the estate on purpose. Standing is\nportable — the credential is a charter published at the applicant's own\ndomain, not a row in our store — so an applicant who climbs at one door\nand arrives at another must be owed the same thing. The estate-wide merge\nfails if two properties promise different terms for the same rung.\n\nCarried verbatim in every door: a rung buys a reply and a place in a\nqueue. It never buys authority, money, or access. Publishing a file at a\ndomain proves someone can write to that host and nothing more. Where real\nauthority is needed it is delegated and verified through flashyID. Both\nthe checker and the library reject a door that drops that paragraph,\nbecause a door quietly treated as an authorisation is the one way this\nbecomes a vulnerability rather than a front door.\n\nscripts/check-frontdoor.mjs and scripts/emit-frontdoor.mjs are vendored\nbyte-identical across every repository publishing a door; the canonical\ncopies and the drift test live in @flashyos/frontdoor. Both are\ndependency-free, so CI needs no install and the same two scripts work on a\nNext.js app and a static generator alike.\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01BEaXzktRU5ZPe3R2NY7CKD",
   "refs": {
    "commit": "55c13d7c9df72635d633d0479ebaa8f1d97f4d3e"
   },
   "digest": "2313d21ef646e703c0fc4c4112ea9b4e61907c131f0444ed6de57149e44fb840"
  },
  {
   "id": "ship/gda-group/ed14510b3971",
   "repo": "repo/gda-group",
   "at": "2026-08-29T19:32:52+00:00",
   "kind": "fix",
   "title": "drop the graph-level asserter the profile does not define",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "`org` at the top of the fragment is not a field in directory/1. `assertedBy` on\nevery assertion below already names who is saying it, and a second copy at the\ntop of the document is one that can disagree with the rest — which is exactly\nwhat Rule 04 forbids.\n\nThe served fragment in public/ is regenerated for this one file rather than by\na full rebuild, which would restamp ~380 page footers for a two-line change.",
   "refs": {
    "commit": "ed14510b3971fb1f71344d33b0b485c18d22ac93"
   },
   "digest": "a5e43f60ea92481b25df5e29824cdd78d1db8a461250746da30c65198f0e711e"
  },
  {
   "id": "ship/gda-group/0310208b445a",
   "repo": "repo/gda-group",
   "at": "2026-08-29T17:05:04+00:00",
   "kind": "other",
   "title": "The partner list, told the truth",
   "by": [
    "person/michael",
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "Sixteen names — JP Morgan, Mastercard, Google and thirteen more — published as\na flat array of strings with no dates, no basis, and no way for a reader to\ntell a paid engagement from somebody who came to the summit. That is how every\ncommercial site on the internet works, which is why nobody believes any of\nthem, and it is now read by agents that act on what they read.\n\nThe same sixteen are now dated assertions, served at\n/.well-known/directory.json as a directory/1 document, and the page carries one\nline under the logo wall:\n\n  16 relationships asserted by GDA Capital, as at August 2026. None\n  countersigned by the other party. Verify: gda.group/.well-known/directory.json\n\nThat is a weaker claim than the bare logos and a more credible one, which is\nthe whole argument of Folio GH-DIR-01 Revision D.\n\nThree things the module deliberately does not do:\n\n- It invents nothing. `basis` says only that the name is published as a partner\n  on this site, because nobody in this repository knows what each engagement\n  actually was, and a fabricated basis would be worse than none. A test asserts\n  no basis contains \"advised\", \"client\", \"mandate\" or \"acquisition\".\n- Every claim is marked `stated: false` — the nature of the relationship has\n  not been described. A standing invitation, and a number worth watching go\n  down.\n- Nothing is countersigned. Every edge is `asserted` with the counterparty\n  named, and a test asserts none carries a signature from nowhere.\n\nDates come from the commit that last touched the partner list rather than\nanything typed: a typed date is one somebody can quietly move; a commit has a\ndiff behind it. Past twelve months the attribution reads \"unconfirmed since\" on\nits own, and a test proves it by asking the same code what it says in 2028.\n\nThe audit grade for this domain moves from `unverifiable` to `attributed` — 3\nundated schema.org claims before, 19 claims of which 16 are dated after.\n\n31 tests pass, content check clean. public/ rebuilt whole per the r",
   "refs": {
    "commit": "0310208b445a01b3d92f66754fcda3ba221de8e6"
   },
   "digest": "4849f9e5475c778d0cefb613bd215bf22ca05518d1005cfb4d389c9251c0373c"
  },
  {
   "id": "ship/gda-group/6136283dc555",
   "repo": "repo/gda-group",
   "at": "2026-08-28T23:15:02+00:00",
   "kind": "other",
   "title": "Joaquim Miro is a Founding Partner",
   "by": [
    "person/michael",
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "Title and group in LEADERS, and the opening line of his bio. The change reaches\nfour surfaces from those two edits: the card on /leadership/, the bio modal's\ndata attributes, the bio-data JSON the modal reads, and the schema.org\njobTitle in the leadership page's JSON-LD.\n\nThe archived Grwth Army announcement still quotes him as \"marketing expert and\nPartner at GDA Capital\". That is left alone deliberately — it is a press quote\nfrom the time, not a description of the firm today, and rewriting what somebody\nwas called in a 2021 announcement would be editing the record rather than\nupdating it.\n\n`public/` rebuilt whole, per the repository's rule: 382 pages, of which the\nsubstantive diff is Joaquim's title in four places and the rest is the footer\nclock restamping. 20 tests pass and the content check is clean.\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_0114eERowmBzsxqy4tBNm6a5",
   "refs": {
    "commit": "6136283dc5556265e38120f2cf6b26d8b809e085"
   },
   "digest": "a48dec9cc362fc4b8ba9567f845481490c8778f4ff415d48e6cbd33e29f9bdba"
  },
  {
   "id": "ship/gda-group/8e035bf7f528",
   "repo": "repo/gda-group",
   "at": "2026-08-28T19:51:44+00:00",
   "kind": "infra",
   "title": "Make every charter in the estate conform, and gate it",
   "by": [
    "person/michael"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "Ran the estate's own published validator - validateCharterDocument from\n@flashyos/aao - against every charter for the first time. None passed,\nincluding FlashyOS's own production charter and flashy-academy's. Two real\nclasses of failure:\n\n  _comment is not part of aao 0.1. The spec's own extension convention is an\n  x- prefix, and the validator says so in the error. Ten charters carried a\n  bare key the standard does not recognise.\n\n  Four family names were invented: trust, release, inbound, network-effects.\n  The ten declared families are growth, revenue, product, engineering,\n  operations, data, finance, risk, governance, support. Remapped trust to risk\n  (compliance, security, audit), release to engineering, and inbound and\n  network-effects to growth.\n\n10/10 charters now clean against the published validator.\n\nAdds scripts/check-charter.mjs, mirroring the static half of the conformance\nsuite, dependency-free so it runs before an install, vendored byte-identical\nacross the estate. Wired into the Directory workflow ahead of the fragment\ncheck. The published validator stays authoritative; when @flashyos/agent is\navailable, `npx @flashyos/agent conform` supersedes this.\n\nVerified against six failure modes, all caught: a bare non-spec key, an\ninvented family, a codename role, the template placeholder as accountable\nhuman, a capability naming a department rather than an action, and an\nescalation pointing at no declared role.\n\nOne correction along the way: the checker first flagged CRITICAL as an invalid\napproval threshold in flashyos and flashy-ledger. IMPACT_ORDER is LOW, MEDIUM,\nHIGH, CRITICAL - the charters were right and the checker was wrong. Fixed.\n\nmetaverse-group gains the charter it never had: six roles, four families left\ndeliberately empty, and its emitter now reads the charter so the two cannot\ndisagree.\n\n11 fragments, 199 nodes, 188 edges, 100% freshness, zero errors.",
   "refs": {
    "commit": "8e035bf7f528b4d5c7dd0c6dc79aea5ddb554138"
   },
   "digest": "63686672fcfc2243e0150708dee832e5bafb8ec35dec087231ba50e84093b5cc"
  },
  {
   "id": "ship/gda-group/8b098b5ef592",
   "repo": "repo/gda-group",
   "at": "2026-08-28T18:04:23+00:00",
   "kind": "infra",
   "title": "Gate the directory fragment in CI, in the repository that produces it",
   "by": [
    "person/michael"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "The estate-wide merge catches contested authority and dangling references, but\nit runs elsewhere and cannot say which repository caused them. This runs here,\non every push, and fails at the point the mistake is made.\n\nscripts/check-directory.mjs is dependency-free on purpose - a validator that\nneeds an install is a validator that gets skipped. It is vendored byte-identical\ninto every repository in the estate; repository-specific values are passed as\n--external flags rather than edited in, so the copies cannot drift.\n\n.github/workflows/directory.yml runs three steps: emit from the charter, check\nthe fragment, then `git diff --exit-code` on the committed fragment. The third\nis the one that matters - a committed fragment differing from a freshly emitted\none means someone edited the JSON instead of the source it comes from.\n\nVerified against six real failure modes, each caught with the right code:\na claim defined twice, a deleted accountability edge, a reference to a node\nnobody emits, an expiry before its assertion, an ownership edge with no\ninstrument, and hand-reordered nodes.\n\nEleven repositories still merge clean: 193 nodes, 182 edges, 100% freshness.",
   "refs": {
    "commit": "8b098b5ef59260c1a3871dd1f1c12468cf2f51c6"
   },
   "digest": "b9a9e6514a856135f75cf7c9566ce82654025e0bdc4a0a7206e131e8d03520b5"
  },
  {
   "id": "ship/gda-group/6292d3e98c64",
   "repo": "repo/gda-group",
   "at": "2026-08-28T17:36:02+00:00",
   "kind": "feature",
   "title": "Declare the AAO charter, and emit the directory fragment",
   "by": [
    "person/michael"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "This repository ran a production mesh agent without declaring a charter. Six\nroles, grounded in what the code already does rather than in what sounds like\na role: publishing (the 380-page committed build), editorial (the Tier-3\nregister enforced in code), evidence (refusing a task with no resolvable URL),\nplus coverage, inbound and network.\n\nThree families are deliberately empty - product, retention, finance. The firm\nadvises and transacts; it ships no product of its own and moves no money\nthrough this repository. An empty family is honest.\n\nThe org slug is gda-capital, the firm's registered mesh org, while the\nrepository is gda-group and the property is gda.group. src/directory.mjs\nasserts the handshake and the charter name the same org and exits non-zero if\nthey diverge - the two must not be able to disagree about who this is.\n\n11 nodes, 11 edges. Merges clean with the estate.",
   "refs": {
    "commit": "6292d3e98c64264febf3c95a2ba42f3e6fad4946"
   },
   "digest": "aa3f0e363616556e13598ee5d842f504f4f8d27e32f8d5a4bd4e840f625e3319"
  },
  {
   "id": "ship/gda-group/931334f58553",
   "repo": "repo/gda-group",
   "at": "2026-08-28T00:29:27+00:00",
   "kind": "feature",
   "title": "Merge the mesh handshake into main",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "Resolves the add/add conflicts on the hardening files by keeping main's\nnewer versions — its dependabot config is grouped and repo-aware, and its\nCI workflow documents why the build is deliberately not run here. CI's\ntest command is broadened from the single drift file to the whole suite\nso the new handshake test is actually enforced.\n\nCo-Authored-By: Claude <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VgrPGGUFKMq9zXBHnfcTgs",
   "refs": {
    "commit": "931334f58553a99eab45708e3209ef52bc4df87d"
   },
   "digest": "5dc42645777c5ddb91b2628847b8b6f6bd197d7b7d046568b355c89cd15f4b2a"
  },
  {
   "id": "ship/gda-group/3ded75ce8c91",
   "repo": "repo/gda-group",
   "at": "2026-08-26T19:29:30+00:00",
   "kind": "feature",
   "title": "Publish one disclosure route, and volunteer the gaps",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "Two of fourteen repositories told a researcher where to send a vulnerability.\nFor an estate whose flagship product is delegated authority — holding a\nproduction signing key — that is the most conspicuous gap in the governance\nreview.\n\nSame address everywhere, deliberately: a researcher who finds two and picks\nthe worse one has been failed by us. The policy also states what we do not\nhold — no SOC 2, no penetration test, keys in a managed secret store rather\nthan an HSM — because a security policy that omits its own gaps is a\nmarketing page.\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01EEAAmijDh3kzFH7SY53jZ7",
   "refs": {
    "commit": "3ded75ce8c91ead0913dca0e09f0de2b11597109"
   },
   "digest": "6d30496724885f96e4f031321d7fc4d51e3de298b9c6bd85698392df96b366d5"
  },
  {
   "id": "ship/gda-group/30a202e1fd4b",
   "repo": "repo/gda-group",
   "at": "2026-08-26T19:25:37+00:00",
   "kind": "infra",
   "title": "Update dependencies on a schedule, grouped so the queue stays readable",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "Zero repositories in this estate had automated dependency updates, which\nmeans no automated security updates either. Grouped weekly rather than\nungrouped: an estate this size produces more pull requests than anyone reads\nif every bump opens its own, and a queue nobody reads is indistinguishable\nfrom no updates at all — except that it also hides the security ones.\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01EEAAmijDh3kzFH7SY53jZ7",
   "refs": {
    "commit": "30a202e1fd4b730073ae054e7a06881f20f3bb3b"
   },
   "digest": "76d4537338c49e9909e74cee13280bd7b4f03840432399e74047925c8d46bc4b"
  },
  {
   "id": "ship/gda-group/37178ef0898e",
   "repo": "repo/gda-group",
   "at": "2026-08-26T19:20:31+00:00",
   "kind": "infra",
   "title": "Run the mesh-drift suite on every push",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "The suite asserts that src and the committed public/ output still name the\nsame ring. The build itself is deliberately not run here: public/ is a\ncommitted artifact of roughly 380 pages, and rebuilding it in CI would either\nproduce a diff nobody asked for or hide one that matters.\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01EEAAmijDh3kzFH7SY53jZ7",
   "refs": {
    "commit": "37178ef0898ea7b2e5d7f890a38db1811be9534f"
   },
   "digest": "65dfa0829d6ca9072bae82132d1953ca817941c05648087d3a92a8005adf48fd"
  },
  {
   "id": "ship/gda-group/74e1f9ccea63",
   "repo": "repo/gda-group",
   "at": "2026-08-25T20:46:25+00:00",
   "kind": "other",
   "title": "Newsroom: Flashy Labs opens the AAO Stack's standard layer",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "Portfolio release linking to flashyos.com/open — four public packages,\ntwo public repositories, one verifier, every claim checkable.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VgrPGGUFKMq9zXBHnfcTgs",
   "refs": {
    "commit": "74e1f9ccea6340283443e009a01d4e6745ff7027"
   },
   "digest": "17ef8e3c39f2f6616fc3dacaf08bcaee5f14018290391659bf491f42bddd97f2"
  },
  {
   "id": "ship/gda-group/1bfc190928a6",
   "repo": "repo/gda-group",
   "at": "2026-08-25T17:55:21+00:00",
   "kind": "other",
   "title": "Content-integrity gate, and the full canon in llms.txt",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "src/check-content.mjs runs before a single page renders — imported at\nthe top of build.mjs — and refuses to build a site whose content\ncontradicts itself: duplicate glossary terms or anchors, dangling\nanswer/case/glossary hrefs, unwired answer registers, a case study\nmissing its Period fact, or a canon term defined twice. Mutation-tested\nagainst a seeded dangling slug.\n\nllms.txt's AAO Stack block grows to the full five-term canon, each term\nwith its canonical home and every lens surface — including the four\nconsumer lenses that landed today on claimyour.gold, flashy.gold,\nflashyid.com and flashy.academy.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VgrPGGUFKMq9zXBHnfcTgs",
   "refs": {
    "commit": "1bfc190928a6ba00aff350b2dd5765c498a97b9b"
   },
   "digest": "cf4113e7a1cdfbd5f48a729500733a48b8312a5c8a6cab1097c0e4a673a3aba2"
  },
  {
   "id": "ship/gda-group/033ece94c86e",
   "repo": "repo/gda-group",
   "at": "2026-08-25T17:27:40+00:00",
   "kind": "other",
   "title": "Glossary + stack answer: agent execution protocol and infrastructure",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "Two more terms enter the canon. The protocol is the machine-checkable\nrules of consequential agent work; the infrastructure is the running\nsystem that enforces them. Both defer to the operator definitions on\nflashyos.com/concepts, and the AAO Stack answer now names them where\nit describes the open layer.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VgrPGGUFKMq9zXBHnfcTgs",
   "refs": {
    "commit": "033ece94c86e4868cc5d46f429610b2887254ec0"
   },
   "digest": "b7389a7b5856ae5d391b7bb9b30cb7f01b60993da4795ddf07f37fe6402a9a5a"
  },
  {
   "id": "ship/gda-group/2991946f3007",
   "repo": "repo/gda-group",
   "at": "2026-08-25T17:12:02+00:00",
   "kind": "other",
   "title": "Two more terms enter the canon: the settlement layer, and the problem it answers",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "\"Cross-organizational settlement and reputation layer\" (the layer of\nthe stack flashynetwork.com operates in public — reputation only from\nsettled work) and \"enterprise agent risk and clearing problem\" (the\ncontrol gap that opens when a company's agents transact across its\nboundary) join the glossary, and the stack answer now names both — the\nenterprise framing gets its own paragraph, because that is the sentence\na board reads.\n\nRegenerated: 382 pages.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VgrPGGUFKMq9zXBHnfcTgs",
   "refs": {
    "commit": "2991946f3007cd138e110ba9f4b72d6bf104dd3f"
   },
   "digest": "bed4b5308a89933520ff0ca7b7447148b72df8aa9d965640432250a83fc367bd"
  },
  {
   "id": "ship/gda-group/7aeed01d6ba8",
   "repo": "repo/gda-group",
   "at": "2026-08-25T17:03:31+00:00",
   "kind": "infra",
   "title": "Name the stack: the AAO Stack defined, linked, and meshed",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "The Agentic Autonomous Operating Stack gets its canonical definition\npage (/answers/what-is-the-agentic-autonomous-operating-stack/ — raw\nparas, so every layer links to its live property), a glossary pair\nbeside the AAO entry, and full mesh wiring: the agent-economy answer\nfamily, the Academy learn link, the portfolio links, the MLG build-lens\ntwin, and a four-lens block atop the llms.txt primitives appendix.\n\nCase studies gain an optional links register: section bodies are\nescaped by design, so a case that needs to LINK its claims declares\n[label, url] pairs and the template renders \"The record, live\" after\nthe blockquote. The AAO Stack study now points at the definition and\nall seven live surfaces.\n\nRegenerated: 382 pages.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VgrPGGUFKMq9zXBHnfcTgs",
   "refs": {
    "commit": "7aeed01d6ba877ddc2882c140534b4782b7efa5f"
   },
   "digest": "7edd0b9be3adcfecb50899713fbde7a4c449288fad8dc8736e701f318691645d"
  },
  {
   "id": "ship/gda-group/e3cc0655a1c5",
   "repo": "repo/gda-group",
   "at": "2026-08-25T16:45:55+00:00",
   "kind": "other",
   "title": "Case study 08: The AAO Stack — the roll-up's second act",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "The sequel to case 06. Flashy Group assembled the users, content, and\nrails; operating nine properties surfaced the gap the firm then built\ninto: no operating infrastructure existed for organizations run by AI\nagents. The study tells the build-out in the order the thesis demanded\nit — FlashyOS as the coordination layer, Flashy Mind for memory (marked\nin design), the open ledger rules with Flashy Gold as first asset,\nFlashyID for identity, Academy to teach the model — and closes on the\nAugust 2026 open-sourcing of the standard layer with independent OS\nbuilders already writing against the spec. Every claim resolves to a\nlive surface per the honesty policy; no dates asserted beyond the\npublic record. Regenerated site (381 pages): case page, index row,\nsitemap, llms.txt.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VgrPGGUFKMq9zXBHnfcTgs",
   "refs": {
    "commit": "e3cc0655a1c539417d7bdcca3f14395cde6ae896"
   },
   "digest": "7994573ae4eaf7ced3fc7441797fc685e3acb5932a34aa435ccb110ef245af51"
  },
  {
   "id": "ship/gda-group/51dc52e863bf",
   "repo": "repo/gda-group",
   "at": "2026-08-25T13:51:58+00:00",
   "kind": "other",
   "title": "301 the legacy Monaco trip URL to /capital/",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "/euro-trip-gda-capital-takes-monaco/ was a GDA Capital post on the old\nsite that never migrated; inbound links now 404. No source material\nexists to rewrite it honestly, so the URL permanently redirects to the\nCapital division page it belonged to.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VgrPGGUFKMq9zXBHnfcTgs",
   "refs": {
    "commit": "51dc52e863bf734ab36513b3653a032e0bb85b41"
   },
   "digest": "d0e084c28083fb8e10c67ecfd6576279c7d98c0027b8e19ac88a6e1138bbb57f"
  },
  {
   "id": "ship/gda-group/e94999155d56",
   "repo": "repo/gda-group",
   "at": "2026-08-22T09:13:31-04:00",
   "kind": "infra",
   "title": "Point the ring at flashynetwork.com (#2)",
   "by": [
    "person/michael",
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "The settlement record's address changed; the edges to it should not go\nstale. Replaces every flashy.network reference with flashynetwork.com —\nmachine surfaces (llms.txt, the entity JSON), cross-property nav entries\nand prose alike.\n\n\nClaude-Session: https://claude.ai/code/session_019pUgSYP9uuYUPC3BJUmCxo\n\nCo-authored-by: Claude <noreply@anthropic.com>",
   "refs": {
    "commit": "e94999155d56fb3d1c35ff8fce6628e8dd5333c0",
    "pr": "https://github.com/FlashyLabs/gda-group/pull/2"
   },
   "digest": "50718c5d6e3a83d3e18799d65b7e68fd34f87564e45d091dc6f206c0b4fd18ef"
  },
  {
   "id": "ship/gda-group/5302c8e09c0b",
   "repo": "repo/gda-group",
   "at": "2026-08-21T17:02:05+00:00",
   "kind": "infra",
   "title": "Repoint the settlement record to flashynetwork.com",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "Flashy Network is live at flashynetwork.com; flashy.network serves an unrelated\nWordPress site. Every reference here — cross-links, the advertised\nnetwork.json machine surface, and the prose naming the settlement layer — was\npointing at the wrong property.\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01KxxGczxBxLF8qfXpcAW3rs",
   "refs": {
    "commit": "5302c8e09c0b793e7af0e15d0705685e7c1eeac3"
   },
   "digest": "8cdcfa8db45f6bee9592f9fd691725b267baf2413a56acac510cb1a9865f62f4"
  },
  {
   "id": "ship/gda-group/031ed5c2c149",
   "repo": "repo/gda-group",
   "at": "2026-08-21T10:00:46-04:00",
   "kind": "other",
   "title": "Settle the layer nouns: Flashy Gold is the rewards layer (#1)",
   "by": [
    "person/michael"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "Three properties described the same two things three ways. Flashy Gold is the\nrewards layer — the unit, not the ledger. Flashy Ledger settles it. Flashy\nNetwork is the network layer, with a Layer 2 on TON as the stated direction\nrather than a present state.",
   "refs": {
    "commit": "031ed5c2c149caad0408e49b79d4a1d565e00b31",
    "pr": "https://github.com/FlashyLabs/gda-group/pull/1"
   },
   "digest": "76b28a5fa08e6aa9694983892350495b5e7ab4587af0e8462da1e7fd012cc464"
  },
  {
   "id": "ship/gda-group/d0f694de3b8a",
   "repo": "repo/gda-group",
   "at": "2026-08-20T02:11:11+00:00",
   "kind": "other",
   "title": "Settle Flashy Labs: the research and development arm of Flashy Group",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "D-AC, decided by the owner. The llms.txt group line and the ring's\nalso_known_as alias become the one sentence — a unit of Flashy Group\nthat builds FlashyOS, not an alternate name for it. Regenerated.",
   "refs": {
    "commit": "d0f694de3b8a8a67af6ab7ab191ed0d83f76215f"
   },
   "digest": "5f551c42783e7a422b8f96e79a14dcac42bf9dd7ccff4bd7b872ab084cf03f51"
  },
  {
   "id": "ship/gda-group/34431fc8af57",
   "repo": "repo/gda-group",
   "at": "2026-08-19T20:35:25+00:00",
   "kind": "feature",
   "title": "Merge the group-mesh branch: MLG handoffs and the full ring, atop main's cross-linking module",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "Source conflicts resolved by combining both sides — main's related-answers\nmodule, Flashy ID entries and AAO category framing all kept; this branch's\nMLG twin links, sector/capability handoffs, subOrganization edge, ring\nentries and layer-noun decisions (coordination & governance; rewards and\nvalue) applied on top. Generated pages fully rebuilt from the merged\nsource, which is also how the 380 generated-file conflicts were resolved\n— regenerate, never hand-merge.",
   "refs": {
    "commit": "34431fc8af57272589a69b14653e543bea2676af"
   },
   "digest": "6d0a84571734658f4176df9a07ad39fa08a1201c80e98453d1664f727764ce25"
  },
  {
   "id": "ship/gda-group/5b3f3e50b824",
   "repo": "repo/gda-group",
   "at": "2026-08-19T19:38:07+00:00",
   "kind": "feature",
   "title": "Add Flashy ID to the ring — in the generator, the output, and a drift test",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "flashyid.com launched 19 Aug 2026 (site, verifier, spec v0.3 DRAFT,\npublic JWKS). It enters the group ring in src/build.mjs — the file the\nC-1 landmine proved is the only one that counts — and the same entry is\nhand-applied to public/llms.txt and public/group.json so the shipped\nsurfaces and the generator agree byte-for-byte without regenerating 380\npages from a session that cannot visually diff them.\n\nThe ring entry carries the property's verifiable surfaces (the JWKS and\nthe entity manifest) rather than only a role sentence, because this is\nthe firm's most-indexed machine surface and a link a machine can test\nis worth more here than a description.\n\ntest/mesh-drift.test.mjs (node --test, 5 tests) makes the C-1 class of\ndefect unshippable: the generator's group section and ring must name\nevery property, the shipped llms.txt and group.json must match the\ngenerator line-for-line and name-for-name, and Flashy ID's entry must\nkeep its testable surfaces. A mesh edit that lands on one side of the\nsource/output divide now fails loudly instead of silently reverting on\nthe next build.\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01EEAAmijDh3kzFH7SY53jZ7",
   "refs": {
    "commit": "5b3f3e50b8246e9c5a71e8a52d593ebffc615979"
   },
   "digest": "4289e6a57a76b6826c436b6f006e67df520ed651c5781f8a50c4761c96ef68bc"
  },
  {
   "id": "ship/gda-group/52871a316326",
   "repo": "repo/gda-group",
   "at": "2026-08-18T15:25:28+00:00",
   "kind": "other",
   "title": "Mesh the 84 answers: 213 sibling links become 564",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "The answer corpus was 84 spokes joined at an index. Each page carried 64\ninternal links of which about two reached another answer -- an average of 2.53\n-- and no page had a related-questions block at all. Crawl depth to any given\nanswer was high, authority never circulated between adjacent questions, and a\nreader who had just had one question answered was offered a directory rather\nthan the next question.\n\nNine families, covering all 84 slugs. These are not tags and not keyword\noverlap: both generate plausible links at volume, which is the pattern search\nengines discount and the way a citation mesh becomes a link scheme. Each family\nis a claim that these questions get asked by the same reader in the same\nsitting, which is the only thing that makes following the link worthwhile.\n\nA page's related set is the rest of its family, rotated by the page's own index\nin it. Rotation is the part that matters: without it, every member of a\ntwelve-question family lists the same first five, those five collect all the\ninternal links, and the other seven stay exactly as deep as they were.\n\nResult: 564 answer-to-answer edges, 6.71 per page.\n\nACROSS THE GROUP\n\nTwo sparse maps. ANSWER_LEARN points eight answers at the Academy track that\ngenuinely teaches the subject; ANSWER_PORTFOLIO points eleven at the live\nproperty the claim cashes out against -- FlashyOS for the agent questions,\nClaimYour.Gold and flashy.gold for the reward ones.\n\nBoth are short on purpose. gda.group is the highest-authority node in the\ngroup's citation graph, so a link from here that lands on a thin page spends\ninstitutional credibility to no purpose. The answers with no entry are the\ntracks and pages worth building, named by their absence.\n\nVerified: 380 pages rebuilt, 84 answer pages, every one now carrying related\nquestions and a group link.\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_019pUgSYP9uuYUPC3BJUmCxo",
   "refs": {
    "commit": "52871a31632674b6c6396ed7c0332a9703f56c3e"
   },
   "digest": "1ac20aae58b66242fed0c86dbf8fe651cb80ebc14f16f7cc8e34aa432f919730"
  },
  {
   "id": "ship/gda-group/82b164f2b470",
   "repo": "repo/gda-group",
   "at": "2026-08-18T14:47:46+00:00",
   "kind": "infra",
   "title": "Rename the category: AAO is Agentic Autonomous Organization",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "Part of a 129-occurrence rename across the estate, in five spellings, none\nmatching the term the academic literature is converging on. A January 2026\npaper defines \"Agentic Autonomous Organization\"; citation runs on exact\nstrings, so a body of work spelled the other way is semantically identical to\nthat literature and lexically invisible to it. The acronym is unchanged.\n\nThis matters more here than anywhere else. gda.group is the strongest node in\nthe group's citation graph -- 85 answer pages, a glossary and a\ncategory-definition pillar, in the institutional register -- so it is the\nproperty most likely to be the one a model cites. Being cited under the wrong\nstring is the whole failure mode.\n\nsrc/ is edited and public/ regenerated with `node src/build.mjs` (380 pages),\nper the README: public/ is generated and not edited by hand.\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_019pUgSYP9uuYUPC3BJUmCxo",
   "refs": {
    "commit": "82b164f2b470accc35e96ae9ece6d6672c3e9d92"
   },
   "digest": "600f611b38210c0857edebf311e794a5624322ef50f1e34bc5214ecd4d993dee"
  },
  {
   "id": "ship/gda-group/4e2c75e9d799",
   "repo": "repo/gda-group",
   "at": "2026-08-18T03:18:37+00:00",
   "kind": "feature",
   "title": "Merge origin/main (cross-border page moved to /international/)",
   "by": [
    "person/michael"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "Same resolution as the previous merge: the only conflict was in generated\npublic/ HTML, so it was resolved by regenerating from the merged source\nrather than by editing build output. Their move of /cross-border-trade/ to\n/international/ and this branch's FlashyOS category fields both survive.\n380 pages, with /international/ present and /cross-border-trade/ gone, as\ntheir change intended.",
   "refs": {
    "commit": "4e2c75e9d79979034010521eb70635f346a1ea7c"
   },
   "digest": "775fc0a092be174cb319c37b497a62348ff5aaf044a90868dda3b115b5893ff9"
  },
  {
   "id": "ship/gda-group/27d74442ae1e",
   "repo": "repo/gda-group",
   "at": "2026-08-18T03:17:46+00:00",
   "kind": "feature",
   "title": "Merge origin/main into the FlashyOS category change",
   "by": [
    "person/michael"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "Conflicts were entirely in public/, which src/build.mjs generates. The\nsource merged cleanly and both sides survived — main's /capital/,\n/ventures/, /investments/ and /cross-border-trade/ pages and the\nmichaelgord.com links, alongside this branch's FlashyOS category fields\nin the ring block, llms.txt and the ecosystem prose.\n\nResolved by regenerating rather than by hand-picking hunks in generated\nHTML: 380 pages, up from 376, which is main's four new pages. Verified no\nconflict markers reached the output.",
   "refs": {
    "commit": "27d74442ae1e790baaeaadff46f1a693410b2995"
   },
   "digest": "898b96c1dee36b0170201293e7201e76d468d553c6015ca412bfeadf39e6ce9e"
  },
  {
   "id": "ship/gda-group/f37fc45eb469",
   "repo": "repo/gda-group",
   "at": "2026-08-16T22:33:05+00:00",
   "kind": "infra",
   "title": "Name FlashyOS by its category on the firm's machine surfaces",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "GDA has the deepest index and the longest history of the three domains, so a\nmention here carries more weight than anything the other two can publish in\nthe same week. FlashyOS was already linked from group.json, llms.txt and the\necosystem lists — but described only by function (\"the agent mesh\"), never by\ncategory.\n\ngroup.json's ring now states the full chain in machine-readable form: Flashy\nGroup develops FlashyOS, is also known as Flashy Labs, and FlashyOS's\ncategory is the AI Autonomous Organization, with the alternate ordering and a\nlink to the canonical definition. llms.txt and the ecosystem link list carry\nthe same sentence in prose.\n\nThe alternate ordering is included deliberately. \"AI Autonomous Organization\"\nis canonical across our own surfaces; \"Autonomous AI Organization\" is the\nphrasing in wider circulation. Declaring both on the highest-authority domain\nmeans either one resolves here rather than splitting the evidence.\n\n376 pages rebuild clean; group.json verified to parse with the new edges.\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01SDyL4qGkfy5jE9gqysLC6A",
   "refs": {
    "commit": "f37fc45eb46947fe4659265c5b934e8cdc267409"
   },
   "digest": "a35dca928ddc2f375a5a53e24ca96ca20f216f64a1bdad3d4503db4d024d3899"
  },
  {
   "id": "ship/gda-group/b9305ff2cdee",
   "repo": "repo/gda-group",
   "at": "2026-08-13T06:02:13+00:00",
   "kind": "infra",
   "title": "Link the subjects the answers and location cells already discuss",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "A general sweep over every page in the ring — each reduced to a subject phrase,\nthen every unlinked mention of any of them found — turned up 277 opportunities\non gda.group alone.\n\nTwo fixes here. Forty-one links across thirty-one answers, capped at two per\npage so a related-reading rail stays a rail; GDA's prose is escaped by the\ntemplate so inline anchors are impossible and the links array is the mechanism.\nAnd the GIFT City cells, which name GIFT City fourteen times each and never\nlinked the answer defining it — hub-level vocabulary now sits alongside the\nsector-level map, so any hub with its own canonical answer reaches it from\nevery cell beneath it.\n\n376 pages, zero broken links, zero orphans, all JSON-LD valid.\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_0198vyysGCrfdioK9uQr3kbs",
   "refs": {
    "commit": "b9305ff2cdeefae16ce0f8e5c9983a94880555db"
   },
   "digest": "31a847b85ff6763e20cfb9789ddccff7b02275daaffbfa1d519c235556a21975"
  },
  {
   "id": "ship/gda-group/6440e9326b17",
   "repo": "repo/gda-group",
   "at": "2026-08-13T05:47:49+00:00",
   "kind": "infra",
   "title": "Link the canonical vocabulary the pages were already using",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "A cross-property sweep found 224 places where a page invoked one of the ring's\ncanonical terms and linked to none of them. Two fixes cover most of it.\n\nThe location x sector cells name RWA Rewards, agent identity and virtual real\nestate in body copy and linked to none — one template, ~108 cells, so this is a\nsingle edit rather than forty-five. Vocabulary is keyed by sector so a cell\nlinks the term it actually names.\n\nSix answers discuss an agent mesh without linking to its definition. The term\nis days old, so nothing had caught up to it.\n\n224 unlinked mentions down to 186, with the remainder concentrated in\nflashygroup.com's internal hub linking. 376 pages, zero broken links, zero\norphans.\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_0198vyysGCrfdioK9uQr3kbs",
   "refs": {
    "commit": "6440e9326b17f8470a8134b648dbc3421ef7e96e"
   },
   "digest": "3997201c5057bd397100c2f82ec37ffc5c09eed5d875dd5edc8a5537d12c2191"
  },
  {
   "id": "ship/gda-group/8682a95b7773",
   "repo": "repo/gda-group",
   "at": "2026-08-13T05:25:59+00:00",
   "kind": "feature",
   "title": "Close the mesh cluster: link the distribution lens",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "The ClaimYour.Gold page had no inbound links from anywhere in the ring, so\nthe four-property mesh cluster was only three-quarters connected.\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_0198vyysGCrfdioK9uQr3kbs",
   "refs": {
    "commit": "8682a95b7773f7d4797fe02c5ebd3ddc9d5260e8"
   },
   "digest": "349a99e29be952efb5da928d0fcdce12a7396a539b17d9ae3fcc727afdaf3869"
  },
  {
   "id": "ship/gda-group/445fa9afeb1d",
   "repo": "repo/gda-group",
   "at": "2026-08-13T05:18:32+00:00",
   "kind": "feature",
   "title": "Publish the Web 4 thesis and the agent mesh definition",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "Web 4 as the convergence layer: agents, persistent worlds, RWA currency and\nportable citizenship as four conditions of one economy rather than four\nmarkets. The research piece carries the argument the firm actually trades on\n— each layer has already crashed alone, and each crash was a missing-condition\nfailure rather than a demand failure.\n\nThe EU Commission's July 2023 Web 4.0 strategy is cited rather than contested.\nIt named the era and described the interface; it describes no currency, no\nworkforce and no citizens. GDA is not first to the term — it is first to the\ninvestable definition, which is a claim that survives being checked.\n\nAlso adds the agent mesh network definition, deliberately qualified: the\nunqualified term returns consumer Wi-Fi hardware end to end, so the canonical\npage cedes it in one paragraph and owns the qualified head term.\n\nExisting metaverse, agent, identity and For-Gold clusters now route up into\nWeb 4 — they were already the four layers, they had just never been named as\none thesis.\n\nPROMOTION.md records the three-tier rule for turning product ships into\npublished proof, so it outlives the conversation that produced it.\n\n376 pages, zero broken links, zero orphans, all JSON-LD valid.\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_0198vyysGCrfdioK9uQr3kbs",
   "refs": {
    "commit": "445fa9afeb1d0299cdcea1e9ba18b8ff6d64b99c"
   },
   "digest": "93275626119267ffd065ecae52d64c01cba6806731715570651ed85c7a80a091"
  },
  {
   "id": "ship/gda-group/bc6178a5ca8c",
   "repo": "repo/gda-group",
   "at": "2026-08-13T04:31:24+00:00",
   "kind": "infra",
   "title": "Wire the named clusters, and fail the build on any future orphan",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "/locations/zurich/crypto-valley/ and /locations/hong-kong/greater-bay-area-robotics/\nlinked outward to their hubs but nothing linked back, so neither page was\nreachable or earned any internal authority. The clusters are now declared in\none map that the hub pages and the locations index both read from.\n\nThe general fix matters more than the two pages: this class of bug has now\nshipped three times (the Cleo transactions, /family-office/, these). The build\nnow scans rendered bodies — not <head>, whose canonical and JSON-LD urls would\nmask a real orphan — and throws with the offending paths named. Verified by\nunwiring Zurich and confirming the build fails.\n\n372 pages, zero orphans, zero broken links.\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_0198vyysGCrfdioK9uQr3kbs",
   "refs": {
    "commit": "bc6178a5ca8c5cccd0aabaee47030f71a0bc3c7e"
   },
   "digest": "565f8f26cdfded613504645e4e242dc69c22a137ef1818c604359842415cf6fa"
  },
  {
   "id": "ship/gda-group/81f649fbd1fc",
   "repo": "repo/gda-group",
   "at": "2026-08-13T04:28:23+00:00",
   "kind": "infra",
   "title": "Route the metaverse answers out to the operating lenses",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "GDA holds the definitions; the ring shows them running. Adds outbound\nlinks from the two metaverse answers where a live example exists.\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_0198vyysGCrfdioK9uQr3kbs",
   "refs": {
    "commit": "81f649fbd1fc046a1663e6e10fc57f2418570f91"
   },
   "digest": "d9cc05552c243cf7f7c295daf62662e7d070992c50e39031377e4d1859ec892b"
  },
  {
   "id": "ship/gda-group/0321aa8393da",
   "repo": "repo/gda-group",
   "at": "2026-08-13T04:22:32+00:00",
   "kind": "feature",
   "title": "Add the Bitmap Holdings case study and the bitmap education series",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "The second digital land company Gord and Cassidy built together: same\nthesis as Metaverse Group, rebuilt on Bitcoin so scarcity stops depending\non a platform's governance. Acquired by Skrybit in June 2025, GDA-led.\n\nSix answers form the series, in dependency order: Ordinals and inscriptions\n(the substrate), what a bitmap is, Bitmap Theory (the standard and why it\nhas no operator), how bitmaps are valued, Bitcoin land versus metaverse\nland, and whether it is institutional yet. Each is routed into the existing\nmetaverse cluster in both directions, and the Metaverse & Virtual Assets\nreference now carries Bitcoin as a second substrate for one property\ndiscipline.\n\nCare taken on one claim: Bitmap is an open standard published by a\npseudonymous author in June 2023. Bitmap Holdings is written as the first\ninstitutional owner-operator of the asset class, not the author of the\nstandard.\n\n372 pages, zero broken internal links, 372 JSON-LD blocks valid.\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_0198vyysGCrfdioK9uQr3kbs",
   "refs": {
    "commit": "0321aa8393da72dbae1af303712599a38cfc0d20"
   },
   "digest": "0803c0f948e3645669d6fbbee2dc643e64477846015c190061d3973d3e430898"
  },
  {
   "id": "ship/gda-group/7f8e39146142",
   "repo": "repo/gda-group",
   "at": "2026-08-13T04:10:41+00:00",
   "kind": "other",
   "title": "Group llms.txt by the eight organizational primitives",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "An answer engine reading four llms.txt files that agree on the same\ntaxonomy is being handed the category. This adds the shared block:\neight primitives, each with one canonical home per angle — definition\n(GDA), software (FlashyOS), network (Flashy Group), practice (Academy).\n\nAll 30 targets verified live before shipping.\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_0198vyysGCrfdioK9uQr3kbs",
   "refs": {
    "commit": "7f8e3914614209b2fda0a9c7da5968fc0e81e730"
   },
   "digest": "494523544356b78907e2f83f549d8f31e3674177d041b1922e4e2fa00f99830e"
  },
  {
   "id": "ship/gda-group/599b1fdadf4d",
   "repo": "repo/gda-group",
   "at": "2026-08-13T03:58:48+00:00",
   "kind": "feature",
   "title": "Add the institutional layer for four agent primitives",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "Four answers completing GDA's coverage of the eight-primitive spine, each\ntaking the institutional lens the bank owns — what it is, what it is\nworth, and who is liable:\n\n- what-is-an-ai-organizational-structure — the headline term with no\n  incumbent; the org chart as a governance artefact, parent to the\n  existing AAO answers\n- what-is-agent-identity — identity as the attribution question, and why\n  an unattributable commitment is a liability with no defendant\n- what-authority-should-an-ai-agent-hold — thresholds graded by\n  consequence, and the two failure modes boards actually hit\n- what-does-an-auditor-need-from-an-agent-workforce — the five properties\n  that make a record defensible in a diligence room\n\nEach links to the operator account on flashyos.com. The existing agent\nanswers now cross-link along the primitive dependency order rather than\nat random: identity before permissions, permissions before audit.\n\n365 pages, zero broken internal links, 364 JSON-LD blocks valid.\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_0198vyysGCrfdioK9uQr3kbs",
   "refs": {
    "commit": "599b1fdadf4dedee62802d192c8375c2142fd5de"
   },
   "digest": "7b69a7925221ce104e6d6b52beb7ee062f4cc8149154938d162835fbdb3f1b55"
  },
  {
   "id": "ship/gda-group/a1ba96da3ada",
   "repo": "repo/gda-group",
   "at": "2026-08-12T18:57:48+00:00",
   "kind": "infra",
   "title": "Remove the duplicate Who we serve column from the What We Do menu",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "Who we serve appeared as a full column in both the What We Do and Our\nFirm panels. Our Firm keeps it — that version is the fuller one, carrying\n'All client types' as a seventh link, and a client roster is a statement\nabout the firm rather than about what it does.\n\nWhat We Do is now three columns: Businesses, Markets, Coverage and proof.\nThe panel grid is repeat(auto-fit, minmax(170px, 1fr)), so the remaining\nthree widen on their own with no layout change needed.\n\nAll six client pages and the client index remain reachable from the nav\non every page. 361 pages, zero broken internal links, 360 JSON-LD blocks\nvalid.\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_0198vyysGCrfdioK9uQr3kbs",
   "refs": {
    "commit": "a1ba96da3ada24730e6a083b73b0019e1d98cc67"
   },
   "digest": "d1295b0f0b21e63441e30ea0b8d47ff0f424b4776b5384b93687918ee5231f66"
  },
  {
   "id": "ship/gda-group/263e0c514bfb",
   "repo": "repo/gda-group",
   "at": "2026-08-12T04:56:07+00:00",
   "kind": "feature",
   "title": "Add Blockchain Moon and open SPAC advisory as a named capability",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "GDA was a founding member of Blockchain Moon Acquisition Corp, the first\nblockchain SPAC on Nasdaq, listed at roughly $100M. The company sat in\nthe portfolio data with a one-line description and nothing else — and the\nword SPAC appeared nowhere else on the site. The public market entry\nguide covered the IPO, the reverse takeover and the direct listing, and\nstopped there.\n\n- /case-studies/blockchain-moon/ — the mandate, what being first required\n  of the diligence, and the outcome\n- /capabilities/spac-advisory/ — the fourth route, sponsor side and target\n  side, with the questions to ask any adviser. FAQPage schema, so it is a\n  service that can be found and contacted about\n- /answers/what-is-a-spac/ — the definitional query, which argues the\n  route against the other three rather than assuming it\n- Glossary: SPAC, de-SPAC, redemption right\n- The RTO answer and public market entry guide now name the fourth route\n\n361 pages, zero broken internal links, 360 JSON-LD blocks valid.\n\nNote: the listing date is not asserted anywhere — the Period fact reads\n'Formation through listing' until the year is confirmed.\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_0198vyysGCrfdioK9uQr3kbs",
   "refs": {
    "commit": "263e0c514bfbf6ffdc73f9eaa9ee91ea4e1228c4"
   },
   "digest": "1a47421f563c8e5a95bca1fe1d52363e088629bcead4628c8e1fe11868e8cc19"
  },
  {
   "id": "ship/gda-group/fdb7b17cf6cc",
   "repo": "repo/gda-group",
   "at": "2026-08-12T04:02:59+00:00",
   "kind": "other",
   "title": "Cite the portfolio in the research; link the agent stack to its operator account",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "Research: four of five pieces named no portfolio brand at all. The RWA\ndistribution paper argued that proximity to demand is the scarce position\nwithout mentioning that the firm owns a nine-surface consumer network.\nEach piece now cites the firm's own proof in the section where it bears,\nand carries a 'The proof, in the portfolio' block of links — a new\npost-render pass, since research pages had no outbound-link slot.\n\n- rwa-distribution: Flashy Group as the distribution rail, Flashy Gold as\n  the ledger, Claim Your Gold as the merchant portal\n- agent-as-a-service: FlashyOS as the working instance of reliability\n  engineered rather than hoped for\n- play-for-gold: Flashy Fun and the externally funded denomination\n- disruption-premium: Metaverse Group and the Flashy Group roll-up as the\n  four conditions met in practice\n- culture-finance: Flashy Finance linked, not just named\n\nAnswers: the five agent-stack definitions now link the operator account\non flashyos.com, which is where those concepts moved. The bank keeps the\ndefinitional intent; FlashyOS answers how it behaves when you run it.\n\n358 pages, zero broken internal links, 357 JSON-LD blocks valid.\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_0198vyysGCrfdioK9uQr3kbs",
   "refs": {
    "commit": "fdb7b17cf6cce759a2af55a67f3ce1d34664bb4e"
   },
   "digest": "7b3cc6c1ef27f732a2fc87c474ad210bdd0929478a926e11877a677ea260e804"
  },
  {
   "id": "ship/gda-group/5a5a64de2d2f",
   "repo": "repo/gda-group",
   "at": "2026-08-12T02:40:18+00:00",
   "kind": "feature",
   "title": "Merge prod/main: FlashyOS badge and domain normalization",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "Both canonical-domain choices on prod match the convention used in this\nbranch (flashygroup.com, flashyfinance.com), so the only source conflict\n— the Funny Till U Die announcement URL — resolves to their canonical\nURL plus this branch's three added links.\n\npublic/ conflicts were entirely generated output and were resolved by\nrebuilding from the merged source.\n\nVerified after rebuild: FlashyOS footer badge present, no flashy.finance\nor www.flashygroup.com remaining, and this branch's work intact — the\nroll-up guide and programme page, Culture Finance, the metaverse answer\ncluster, group.json, the case-study link blocks, the llms.txt answers\nsection, and Astra Protocol removed.\n\n358 pages, zero broken internal links, 357 JSON-LD blocks valid.\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_0198vyysGCrfdioK9uQr3kbs",
   "refs": {
    "commit": "5a5a64de2d2fb701fac174e0f4c65625ce9b5cb5"
   },
   "digest": "dff28f91e97e36f9ac3822a9e4dbdb73a4c2038e2ccc939fc2c9773de648e935"
  },
  {
   "id": "ship/gda-group/ac73136064ab",
   "repo": "repo/gda-group",
   "at": "2026-08-12T02:34:10+00:00",
   "kind": "infra",
   "title": "Link out and in across every case study and transaction",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "Audited all 7 case studies and 15 transactions for concepts and\nproperties named in the prose but not linked. 26 unlinked mentions\nfound; all now resolve.\n\nWorst case was the flagship: the Flashy Group case study named ten\nthings — FlashyOS, Flashy Gold, Flashy Social, Flashy Fun, RWA Rewards,\nFor-Gold, AI Autonomous Organizations, the agent economy, Flashy Mind,\nand Flashy Group itself — and linked none of them. It now carries a\n'Where this leads' block of ten concept pages and a separate 'The\nproperties' block of seven live ecosystem sites.\n\nCase studies: the cross-link pass now takes an optional outbound block,\nso a company the narrative describes is one click away rather than just\na proper noun. Four case studies that previously had no cross-links at\nall — DigitalBits, TRON, Omni3, MultiBank — now carry sector, business\nline, network reference, and capability links.\n\nTransactions: 33 links added across nine tombstones, covering ecosystem\nproperties (Flashy Finance, Social, Fun, OS, Gold, Academy) and concept\npages (virtual real estate, watch-to-earn, tokenization, RWA Rewards,\nFor-Gold).\n\n30 outbound ecosystem URLs now reachable from these pages. 358 pages,\nzero broken internal links, 357 JSON-LD blocks valid, no malformed or\nduplicate link rows.\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_0198vyysGCrfdioK9uQr3kbs",
   "refs": {
    "commit": "ac73136064ab6073c5ac68d49d67e3fe2e02b53e"
   },
   "digest": "286fed5baf2bd982dd34e966d7c3b3e9aaf308845aff32e365a2a210f8894a75"
  },
  {
   "id": "ship/gda-group/cbbd98f4949f",
   "repo": "repo/gda-group",
   "at": "2026-08-12T02:15:55+00:00",
   "kind": "infra",
   "title": "Remove Astra Protocol from the site",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "Removes the case study and every reference to it:\n- /case-studies/astra/ deleted; remaining case studies renumbered 01-07\n- Financings and token offerings register: the capital formation row\n- Financial Services & Fintech sector thesis: now cites MultiBank alone\n- Early-stage ventures client page: proof line replaced with the\n  MultiBank mandate\n- DeFi segment proof: compliance-layer claim rewritten without the\n  case-study citation\n- Homepage case-studies teaser prose\n\nAstra Guild Ventures is a different company — a play-to-earn gaming\nguild held in the portfolio, not the compliance-infrastructure mandate —\nand is left in place.\n\n358 pages, zero broken internal links, 357 JSON-LD blocks valid, no\nAstra Protocol reference remaining in src/ or public/.\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_0198vyysGCrfdioK9uQr3kbs",
   "refs": {
    "commit": "cbbd98f4949f82f299366fd55b64710fbc4bbc37"
   },
   "digest": "6f212b618232a94233090223cc3544d216fbd34fd3c3651a508b6c2e24576119"
  },
  {
   "id": "ship/gda-group/a9a26517d0c1",
   "repo": "repo/gda-group",
   "at": "2026-08-12T02:10:45+00:00",
   "kind": "infra",
   "title": "Link the GDA-led Cleo transactions from the pages that describe them",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "The Pavia.io and Script Network tombstones existed but were reachable\nonly from register pages — the transactions index, the homepage, and the\nportfolio. Every narrative page that names those deals described them in\nprose and linked neither. Both now carry contextual inbound links from\nthe Cleo case study, the technology roll-up advisory guide, the Flashy\nGroup roll-up record, and the roll-up answer: 3 inbound each to 8.\n\nCapability guides gained an optional proof list, rendered in the existing\n'On the record' section beside the case study, so a guide that cites a\ndeal links its tombstone. Guides without one are unchanged.\n\n359 pages, zero broken internal links, 358 JSON-LD blocks valid.\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_0198vyysGCrfdioK9uQr3kbs",
   "refs": {
    "commit": "a9a26517d0c19f54ebcfcc6d14b1a5e9bd4ae404"
   },
   "digest": "83ff7b7e5add885b1e245363959faeae9992eb7bb73b9d9bfbc1741392a90394"
  },
  {
   "id": "ship/gda-group/6719805c8e94",
   "repo": "repo/gda-group",
   "at": "2026-08-12T02:08:07+00:00",
   "kind": "feature",
   "title": "Add technology roll-up advisory guide; make the roll-up page scannable",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "The roll-up programme page shipped with the sequencing logic, integration\nsubstrate, and operating result as unheaded prose, and it linked Cleo\none way only. Both fixed, and the service now has a landing page.\n\nNew capability guide — /capabilities/technology-roll-up-advisory/:\n'technology roll-up advisory' and 'buy-and-build' are Tier-2 service\nterms, which this site answers with capability guides rather than\ntombstones. The guide is the buyer-facing 'we will run this for you'\npage — what it is, when it applies, how GDA executes, and what to ask\nany adviser — with FAQPage schema and Cleo as its on-the-record case.\nThat leaves a clean division: guide sells the service, transaction is\nthe record, case studies tell the stories, answer defines the term.\n\nTransaction pages gained optional headed sections. The roll-up entry now\ncarries its three as proper H2s; plain tombstones render unchanged.\n\nReciprocal links, via a new post-render pass. Case pages come from the\ntemplate, which escapes interpolated text, so section prose cannot carry\na hyperlink — cross-links are appended after render, the same way\nbusiness pages already surface their guides. Cleo and Flashy Group now\nlink to the programme record and the capability; Metaverse Group links\nto the virtual real estate cluster and its second sale.\n\n359 pages, zero broken internal links, 358 JSON-LD blocks valid, all six\nreciprocal pairs verified.\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_0198vyysGCrfdioK9uQr3kbs",
   "refs": {
    "commit": "6719805c8e94dc1fc475fe34606ebd7d3589df2c"
   },
   "digest": "10bfb8674012683e338b31bf271913176363eb7e9a107bb1ca8f14836a7c7034"
  },
  {
   "id": "ship/gda-group/e744136075e4",
   "repo": "repo/gda-group",
   "at": "2026-08-12T02:02:45+00:00",
   "kind": "feature",
   "title": "Add the Flashy Group roll-up as a programme-tier transaction page",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "Ten tombstones for one thesis, with no page that showed the sequence as a\nsingle instrument. /transactions/flashy-group-rollup/ is that page: the\nsix GDA-led transactions in order, the sequencing logic (why the wallet\ncame before the audience), the integration test after close, and the\noperating result.\n\nIt also records what the programme produced beyond the estate. The firm's\ncoverage of CultureFi, DFaaS, RWA Rewards and the For-Gold economy, AI\nAutonomous Organizations, Brain-as-a-Service, and AI agent optimization\ncame out of operating these businesses rather than the reverse — each\ndefinition has a production system behind it. The page states that and\nlinks every category to its answer.\n\nThe Bee Mee acquisition is deliberately excluded from the sequence; the\ncount of six GDA-led transactions matches the existing case study.\n\nAlso documents a latent trap: D.TOMBSTONES is paired positionally with\nX.TRANSACTIONS across two files, so a one-sided insert silently points\nevery later tombstone at the wrong page. Both arrays now carry a note,\nand this entry was added at the same index in each.\n\n358 pages, zero broken internal links, 357 JSON-LD blocks valid.\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_0198vyysGCrfdioK9uQr3kbs",
   "refs": {
    "commit": "e744136075e43c229bae691ab4aa7673dfb5f66a"
   },
   "digest": "ee56c6810b92c814a3898923272c22044b52e79e75e133a06015d58fff21fe0c"
  },
  {
   "id": "ship/gda-group/cb81ad297638",
   "repo": "repo/gda-group",
   "at": "2026-08-12T01:43:25+00:00",
   "kind": "other",
   "title": "Phase 3 surfaces on gda.group, plus the Culture Finance thesis",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "Phase 3 (Group Surface Spec):\n- /group.json manifest — the bank's machine identity, layer, canonical\n  terms, and the full ring; flashygroup.com/group.json is the reference\n- JSON-LD family edges on the Organization node: founder -> the Person,\n  parentOrganization -> gord.holdings/#org\n- Person @id normalised to https://gord.holdings/principal/#michael.\n  It was declared with a www. host here and without one on gord.holdings,\n  so the two nodes never joined; the graph only merges on an identical\n  string. Remaining www. link on the leadership page corrected too.\n\nCulture Finance (new coverage):\n- /insights/culture-finance/ — 'Why the next retail bank is a consumer\n  network'. The earn -> hold -> swap -> spend -> borrow sequence, why\n  credit is the step that makes it banking, DFaaS as the unbundling\n  pattern, and denomination as the test that decides whether it holds.\n- Answers: 'How does a consumer network become a retail bank?' and\n  'Can you borrow against digital assets you earn?'\n- Flashy Finance linked from the DFaaS cluster as the capital layer,\n  described as in build per the ecosystem's own status vocabulary.\n\n357 pages, zero broken internal links, 356 JSON-LD blocks valid.\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_0198vyysGCrfdioK9uQr3kbs",
   "refs": {
    "commit": "cb81ad297638f55a0e3b82f2b32029ca64f7a890"
   },
   "digest": "c4b3cdd93fa7cbd2571cfd284062443226a2550f2b0c80b2b5047eb46956ddb4"
  },
  {
   "id": "ship/gda-group/5dc4a76436d9",
   "repo": "repo/gda-group",
   "at": "2026-08-12T01:00:44+00:00",
   "kind": "feature",
   "title": "Add metaverse real estate and agent-economy answer clusters",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "The answers hub had 62 pages and none on the segment where the firm's\nevidence is deepest: GDA founded Metaverse Group, sold it to Tokens.com,\nand led its second sale to StoryFire in 2024. Six new answers close that\ngap and extend the AAO and roll-up coverage:\n\n- What is virtual real estate?\n- How is virtual land valued?\n- Is metaverse real estate still an institutional asset class?\n- What is digital property?\n- What does an AI Autonomous Organization mean for a board?\n- How does a technology roll-up create value?\n\nAlso:\n- Glossary: digital property, virtual real estate, technology roll-up\n- Metaverse segment page now cites the second sale and links the cluster\n- Metaverse Group case study gains a section on the 2024 StoryFire sale\n- llms.txt: the answers hub was entirely absent from the file that maps\n  the site for AI assistants; all 68 answers are now listed\n- llms.txt group block: gord.holdings added as the family office, the\n  www. drift on the principal link corrected, the canonical rule stated\n\n354 pages, zero broken internal links.\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_0198vyysGCrfdioK9uQr3kbs",
   "refs": {
    "commit": "5dc4a76436d9958789ab2771c4d3ce4ebee4bc75"
   },
   "digest": "16c2084b658b49a2a28792ffb02afd90bfa58be1185994578db35710984af13f"
  },
  {
   "id": "ship/gda-group/d3303bcebb93",
   "repo": "repo/gda-group",
   "at": "2026-08-11T20:01:58+00:00",
   "kind": "infra",
   "title": "Remove redundant gord-holdings folder",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "Superseded by the live gord.holdings site on main, which now carries its\nown llms.txt, JSON-LD, and ring links (Phase 1 of the ring roadmap).\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_0198vyysGCrfdioK9uQr3kbs",
   "refs": {
    "commit": "d3303bcebb9333a6893c10efc4e6f81fa6b766d3"
   },
   "digest": "6e5c79da3bda848cfae42c42860ac1bfbb51bd20a031afb6ea5bf9d3d1d7f08f"
  },
  {
   "id": "ship/gda-group/035b24c6a68f",
   "repo": "repo/gda-group",
   "at": "2026-08-11T16:50:51+00:00",
   "kind": "infra",
   "title": "Wire gord.holdings canonical record into person schema, Michael page, and llms.txt group block",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "refs": {
    "commit": "035b24c6a68f160f60d463c09e5ea9458b9c6963"
   },
   "digest": "384cd25c2eb0ba83da49c7bb8209c39454c8055720847d8f560a207e449d226d"
  },
  {
   "id": "ship/gda-group/dd28e10e69e8",
   "repo": "repo/gda-group",
   "at": "2026-08-11T16:43:23+00:00",
   "kind": "fix",
   "title": "Fix Michael Gord canonical URL on gord.holdings",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "refs": {
    "commit": "dd28e10e69e82eefcf551d4c9059b2a87e36396f"
   },
   "digest": "16e4e014850cb3f0b41be660f464631f3e63ed170c2ff63091dbc663ad494c4e"
  },
  {
   "id": "ship/gda-group/24827b1a2450",
   "repo": "repo/gda-group",
   "at": "2026-08-11T16:43:08+00:00",
   "kind": "feature",
   "title": "Build gord.holdings v1: the principal's canonical record with Person JSON-LD and the group ring",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "refs": {
    "commit": "24827b1a24502c99c6a54ccf277107c0dd49d878"
   },
   "digest": "9d92727510e7b79dc2eda596c02702fe3cb8cc3232836aeffd731d24fbdf2a49"
  },
  {
   "id": "ship/gda-group/1d89dfda93cc",
   "repo": "repo/gda-group",
   "at": "2026-08-11T16:27:46+00:00",
   "kind": "other",
   "title": "RSS feed and per-page-type OG cards across the site",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "refs": {
    "commit": "1d89dfda93ccccc7663eea50d348f812a05ea2b7"
   },
   "digest": "5dc1da2601790e2eee7eec08d60497019d09c755e9f24bd2b63e2b9c4226b953"
  },
  {
   "id": "ship/gda-group/79cce8d86d54",
   "repo": "repo/gda-group",
   "at": "2026-08-11T16:24:07+00:00",
   "kind": "feature",
   "title": "Add David Brierley as Venture Partner in Dubai; Dubai joins offices, map, and Middle East thesis",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "refs": {
    "commit": "79cce8d86d54264e4b8ac932bad062eb17a3cfe8"
   },
   "digest": "6da74f60ea049af1fe1a9b8d16e6d36b6698dccd18ae2b2718f1aaaebf2cc29f"
  },
  {
   "id": "ship/gda-group/49a5171e5c74",
   "repo": "repo/gda-group",
   "at": "2026-08-11T15:59:24+00:00",
   "kind": "other",
   "title": "Flashy Group and Cleo case studies, six emerging-coverage cities, corrected transaction facts, analytics beacon",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "refs": {
    "commit": "49a5171e5c74e711768cbb4cd1c5d304ed08a4c4"
   },
   "digest": "5b7ef17a9b394029c621b21f555f3fee300d4606f35072af790ce5f5079b4e99"
  },
  {
   "id": "ship/gda-group/dd4e7f612d2e",
   "repo": "repo/gda-group",
   "at": "2026-08-11T15:44:10+00:00",
   "kind": "other",
   "title": "Favicon: GDA cube-in-hexagon mark in brand blue with PNG and touch-icon fallbacks",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "refs": {
    "commit": "dd4e7f612d2e18b5e7b1f7e85fce584680661df5"
   },
   "digest": "a46d75dc6d3c13077a824d7c6292b360608f37e546536c2e46b1c47eee2c2898"
  },
  {
   "id": "ship/gda-group/668955f27b29",
   "repo": "repo/gda-group",
   "at": "2026-08-11T15:33:46+00:00",
   "kind": "other",
   "title": "Wave 3 corrected: cluster pages and head terms rebuilt on recovered source",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "refs": {
    "commit": "668955f27b29bdb7fc50dad9b98d27b27cee79d8"
   },
   "digest": "6123c9090f825c11d7273c04507eb502113071dbcb4530d33f1b1ee05ca816e9"
  },
  {
   "id": "ship/gda-group/1e416f277d26",
   "repo": "repo/gda-group",
   "at": "2026-08-11T15:31:17+00:00",
   "kind": "other",
   "title": "Wave 3: Crypto Valley and Greater Bay Area cluster pages; sovereign AI, DePIN, and decentralized compute head terms",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "refs": {
    "commit": "1e416f277d26b9df31eb56778f72321b770e4c29"
   },
   "digest": "aad21d87c56a89af5ccd9ab7470d4a906f5fe23ee1b3ca433a3742794bab6344"
  },
  {
   "id": "ship/gda-group/80b9dfa45b3f",
   "repo": "repo/gda-group",
   "at": "2026-08-11T15:28:38+00:00",
   "kind": "infra",
   "title": "Name Naoris Protocol as the portfolio case across the quantum register",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "refs": {
    "commit": "80b9dfa45b3f494d1b103874f2be6e3a276016bc"
   },
   "digest": "a2cca69a88400525c910f29ea9881221b562d504fb1c500599c89a50a7dce895"
  },
  {
   "id": "ship/gda-group/9fd7e57909e1",
   "repo": "repo/gda-group",
   "at": "2026-08-11T15:25:40+00:00",
   "kind": "other",
   "title": "Waves 1-2: eight India states with sector cells; tokenization, robotics, and quantum answer families",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "refs": {
    "commit": "9fd7e57909e1b4290352c15030dd7261ac154159"
   },
   "digest": "e6ca5ee8b096219217c1ce9e1d9b090d8465c30a56999b9fcaee3c6c68176abe"
  },
  {
   "id": "ship/gda-group/6f0ec19ff390",
   "repo": "repo/gda-group",
   "at": "2026-08-10T21:30:15+00:00",
   "kind": "other",
   "title": "Wave 0: quantum-security and data-infrastructure angles across all 108 intersection pages",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-30",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "refs": {
    "commit": "6f0ec19ff39014788f14beb1b4c40cd0b228d291"
   },
   "digest": "deb3e3aac000820e8ed956fbcc37964135c3a352f30ab7eb8803c4b5c5bd06e6"
  },
  {
   "id": "ship/gda-group/22868528be33",
   "repo": "repo/gda-group",
   "at": "2026-08-10T21:14:52Z",
   "kind": "other",
   "title": "Market-by-sector intersection matrix: 108 hub-sector pages with blockchain, AI, and automation coverage angles",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "refs": {
    "commit": "22868528be33f0b18436e9188471791673e86712"
   },
   "digest": "40728db15e5cece8dfec949cdd40b515bc034360bed6b0d1bbc3bad017d6dcf0"
  },
  {
   "id": "ship/gda-group/c1173e66ab93",
   "repo": "repo/gda-group",
   "at": "2026-08-10T21:08:48Z",
   "kind": "other",
   "title": "For-Gold literature register: 59 institutional summaries plus seven concept pages and glossary coverage",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "refs": {
    "commit": "c1173e66ab9309f0c5317e1cc8188f783eb3382a"
   },
   "digest": "8d581b8243e2d2c9b5d087786bf7232f24c7bd4b65c3b50b6139b034617dcc75"
  },
  {
   "id": "ship/gda-group/a6a70e059c63",
   "repo": "repo/gda-group",
   "at": "2026-08-10T21:01:39Z",
   "kind": "other",
   "title": "AI agent encyclopedia: agent fundamentals, eight industry registers, RWE and RWS; Flashy ecosystem link-outs",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "refs": {
    "commit": "a6a70e059c631ba4b13e7232ce2684450271f50b"
   },
   "digest": "8248d1e06861362094e08e868f2e6fe7f9f061207465f16c1a6824756dd04294"
  },
  {
   "id": "ship/gda-group/65c679fba541",
   "repo": "repo/gda-group",
   "at": "2026-08-10T20:52:23Z",
   "kind": "fix",
   "title": "Fix pillar link on disruptive economy answer",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "refs": {
    "commit": "65c679fba54172637848b959d11686bd7b9cf9e2"
   },
   "digest": "22fd7a144b39368df0cc955e4136d8f86c717124940ac81d6a066fdd611ad2cd"
  },
  {
   "id": "ship/gda-group/87b0a39f6bbf",
   "repo": "repo/gda-group",
   "at": "2026-08-10T20:51:55Z",
   "kind": "other",
   "title": "The agent economy register: ten answers pages and glossary coverage for BaaS, orchestration, A2A, RWV, RWA Rewards, learn-to-earn",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "refs": {
    "commit": "87b0a39f6bbfbb655302fda99428aee797f92d36"
   },
   "digest": "f452d2eeeb60ef4711375d978e10e27c470f64bcaf7ad3308bc8263dcb609a88"
  },
  {
   "id": "ship/gda-group/5863da66300c",
   "repo": "repo/gda-group",
   "at": "2026-08-10T19:53:48Z",
   "kind": "feature",
   "title": "Conversion build-out: report pre-registration, careers form, 404 capture, board-assessment and allocation CTAs, band rewrite",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "refs": {
    "commit": "5863da66300cf5cdd813a42f98ccfa3813fa285b"
   },
   "digest": "f20e4cc036fd81591caabcd67fc4d7473272ece9b1f55fc4846e2c14e845294e"
  },
  {
   "id": "ship/gda-group/0629cc56e510",
   "repo": "repo/gda-group",
   "at": "2026-08-10T19:33:03Z",
   "kind": "other",
   "title": "Lead capture fixes: named selects, page-source tracking, enriched subjects, live mailto routes, contact reassurance line",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "refs": {
    "commit": "0629cc56e51049e7b7b6dd835afc89b7d145f19a"
   },
   "digest": "d30107fbe16260822c4d11c1336c18a374919b90f6e3e097c214175d992c3142"
  },
  {
   "id": "ship/gda-group/e3746d06eb9d",
   "repo": "repo/gda-group",
   "at": "2026-08-07T22:02:15Z",
   "kind": "other",
   "title": "Homepage stat: 8 cities with partners; Who we serve column in Our Firm nav with direct client links",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "refs": {
    "commit": "e3746d06eb9d291e2cff273b5426b0a22ca88d3a"
   },
   "digest": "8dfd5a01f415596b72860f8a49a596a09190fbe13468260b428604860c650142"
  },
  {
   "id": "ship/gda-group/5d9e97fa31c8",
   "repo": "repo/gda-group",
   "at": "2026-08-07T21:53:41Z",
   "kind": "infra",
   "title": "Replace OTC stat with countries of operations on homepage",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "refs": {
    "commit": "5d9e97fa31c82e7f9154b2ac44784dd892f3b857"
   },
   "digest": "0196c0d5fbc6eb6c747211fdf66ce6aedcf5e498cfd2ee9cf2b9cbece1bb4a75"
  },
  {
   "id": "ship/gda-group/0729bdf59625",
   "repo": "repo/gda-group",
   "at": "2026-08-07T21:40:57Z",
   "kind": "fix",
   "title": "Production pass: resolve all remaining review notes, complete TON token naming, flags off site-wide",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "refs": {
    "commit": "0729bdf596252794558989ce0653c9783d2fa4d6"
   },
   "digest": "9a354f640c72f88d84823c33b629da9c04a4b839e8d9762468ece3899e9df97a"
  },
  {
   "id": "ship/gda-group/c0cc4125cd4d",
   "repo": "repo/gda-group",
   "at": "2026-08-07T21:38:06Z",
   "kind": "infra",
   "title": "Remove dataset note from RWA distribution exhibit",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "refs": {
    "commit": "c0cc4125cd4dc2130ee96ae66dca8a56680086a0"
   },
   "digest": "8af6eecc24f6160e6c031f1c80571a6c910779388802965bd9913c968e7b568a"
  },
  {
   "id": "ship/gda-group/e3edfa640e8f",
   "repo": "repo/gda-group",
   "at": "2026-08-07T21:37:07Z",
   "kind": "infra",
   "title": "Remove dataset note from play-for-gold exhibit",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "refs": {
    "commit": "e3edfa640e8f4998b30cd8a775020242eb938b3d"
   },
   "digest": "9c45e99ee67e5caaea2e1943ae0259096089b7af20a409845571bff64cd60233"
  },
  {
   "id": "ship/gda-group/b8d317466f1b",
   "repo": "repo/gda-group",
   "at": "2026-08-07T21:36:21Z",
   "kind": "infra",
   "title": "Remove dataset note from agent-as-a-service exhibit",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "refs": {
    "commit": "b8d317466f1b74a21ea2c587350a3cba2e72a183"
   },
   "digest": "4e87fabaaac19c4788ff6737c29c9a23cce2f2dfd3bc7fe055b35c169cba0050"
  },
  {
   "id": "ship/gda-group/d0d3a1ff80fc",
   "repo": "repo/gda-group",
   "at": "2026-08-07T21:35:50Z",
   "kind": "infra",
   "title": "Remove inbox provisioning note from contact page",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "refs": {
    "commit": "d0d3a1ff80fc68cf730f7b9b5e8131e121093124"
   },
   "digest": "62b875c50b4181de4ced774006aece4caa62f42d7e2c2c781a382525bdd7b6ae"
  },
  {
   "id": "ship/gda-group/714017a0936c",
   "repo": "repo/gda-group",
   "at": "2026-08-07T21:35:34Z",
   "kind": "infra",
   "title": "Remove withheld-content note from Center of Excellence and edition note from Family Office Summit",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "refs": {
    "commit": "714017a0936c4127a16ce46727abe1b6ff3d7cfe"
   },
   "digest": "7be1824fb2bcbdb36dbaf0d43d446ca2d5314eb89c73fbfdc1a6208093e0ab32"
  },
  {
   "id": "ship/gda-group/ce766f6507d3",
   "repo": "repo/gda-group",
   "at": "2026-08-07T21:34:35Z",
   "kind": "infra",
   "title": "Remove dataset note from disruption premium exhibit",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "refs": {
    "commit": "ce766f6507d32da5db25a29e70c39dea0e9f2e1a"
   },
   "digest": "2ee564a0f2a70fdd292e9571128b1a4afd77a7a5db21c25c69a709ef141d6f07"
  },
  {
   "id": "ship/gda-group/4e55eb078313",
   "repo": "repo/gda-group",
   "at": "2026-08-07T21:33:45Z",
   "kind": "infra",
   "title": "Remove appearances register note from Michael Gord page",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "refs": {
    "commit": "4e55eb078313f674df4ae3d76855c58b5ad07e14"
   },
   "digest": "9f362310c4a98fc7b75fed87acc950e0e22fac7d8e742b34f7abf8ef7e953ded"
  },
  {
   "id": "ship/gda-group/6b30de144205",
   "repo": "repo/gda-group",
   "at": "2026-08-07T21:31:54Z",
   "kind": "infra",
   "title": "Remove portraits note from leadership page",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "refs": {
    "commit": "6b30de14420515905304b8cf8a19cb16413ad0f5"
   },
   "digest": "d2adf226731a0fae76f6970e0a5db50b4003c29cc9e987c08e2fa1780febf1cf"
  },
  {
   "id": "ship/gda-group/c2de2213fe9b",
   "repo": "repo/gda-group",
   "at": "2026-08-07T21:30:17Z",
   "kind": "feature",
   "title": "Add Rupert Reid portrait; complete leadership roster and show portraits in bio modal",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "refs": {
    "commit": "c2de2213fe9bfddaeff0efde9267859064cf41a5"
   },
   "digest": "2bce14894e6b508717d84df07c9724e891e783eb8077da6073190a569417e246"
  },
  {
   "id": "ship/gda-group/b2025a9bd990",
   "repo": "repo/gda-group",
   "at": "2026-08-07T21:26:45Z",
   "kind": "feature",
   "title": "Add Nic Seah leadership portrait",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "refs": {
    "commit": "b2025a9bd990e090cbc39306f4cf3f7fa381f4a9"
   },
   "digest": "288f16b3a299ba59226d3e96561da588f7059e40b043db6af9883a3dd9805c86"
  },
  {
   "id": "ship/gda-group/129780e1acb1",
   "repo": "repo/gda-group",
   "at": "2026-08-07T21:26:02Z",
   "kind": "feature",
   "title": "Add Antoine De Vuyst leadership portrait",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "refs": {
    "commit": "129780e1acb11091acd3eb140c703ddadbfcfb16"
   },
   "digest": "3b6fabc5d7f572e061da3f9f35f8e683477b5798af9ada7a50eee30ab9fd9aa9"
  },
  {
   "id": "ship/gda-group/ddd5af43b2b2",
   "repo": "repo/gda-group",
   "at": "2026-08-07T21:25:20Z",
   "kind": "feature",
   "title": "Add Antonio Gomes leadership portrait",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "refs": {
    "commit": "ddd5af43b2b2b454400b035c697c1f9369cb8b7f"
   },
   "digest": "f831e89ca99f0ee4fb7e035b2f7b6fe360f5ae29af8e5fd725c51e5154eebd3a"
  },
  {
   "id": "ship/gda-group/4708d9819264",
   "repo": "repo/gda-group",
   "at": "2026-08-07T21:24:37Z",
   "kind": "feature",
   "title": "Add Patrick Andras leadership portrait",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "refs": {
    "commit": "4708d981926440ed83d42975af3115f53768c5b8"
   },
   "digest": "70da3fe2db73ada6f3b5283aa2441799bab76c5100cb00b8ba1f480a081278e0"
  },
  {
   "id": "ship/gda-group/14cd41418427",
   "repo": "repo/gda-group",
   "at": "2026-08-07T21:23:37Z",
   "kind": "feature",
   "title": "Add Abizar Chitalwala leadership portrait",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "refs": {
    "commit": "14cd4141842724fd11ee49dccfa16c1aaca2965c"
   },
   "digest": "eae7909006acf59e1339d2559c244b29e4fbb5866b60684093b86cdb82979b33"
  },
  {
   "id": "ship/gda-group/3676c85439e0",
   "repo": "repo/gda-group",
   "at": "2026-08-07T21:22:36Z",
   "kind": "feature",
   "title": "Add Joaquim Miro leadership portrait",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "refs": {
    "commit": "3676c85439e03d2e360f09ec68b7266ea8a1fc8b"
   },
   "digest": "c01a5eedc75f2285df61a08c3f85a67e5f66b7a5c12e4a322e3aaa4ac90f2cfe"
  },
  {
   "id": "ship/gda-group/8e676d68dab4",
   "repo": "repo/gda-group",
   "at": "2026-08-07T21:21:46Z",
   "kind": "feature",
   "title": "Add David Shafrir leadership portrait",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "refs": {
    "commit": "8e676d68dab4071504782147defea6eff14f5dd0"
   },
   "digest": "4dea96a15a7f136bda9a927cfc5364273f46ceb0b459ac19695a4c078d306cb2"
  },
  {
   "id": "ship/gda-group/61d69297fcae",
   "repo": "repo/gda-group",
   "at": "2026-08-07T21:20:14Z",
   "kind": "feature",
   "title": "Add Zachary Friedman leadership portrait",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "refs": {
    "commit": "61d69297fcae2c206fa8da3ebe9a5ffea7e9fe7c"
   },
   "digest": "72336a79b480efe36873b5c0fcdbc8527f53d0ee3f639011eaeaab8882510f8b"
  },
  {
   "id": "ship/gda-group/4ea7a61583e9",
   "repo": "repo/gda-group",
   "at": "2026-08-07T21:18:24Z",
   "kind": "feature",
   "title": "Add Michael Gord leadership portrait",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "refs": {
    "commit": "4ea7a61583e9e6455911c37153e0bc71158e6328"
   },
   "digest": "79cb2cb88ab52155654f6e027d63c4cb2514080bcf6166728d4faa8ef8384de5"
  },
  {
   "id": "ship/gda-group/5c522f1b4de2",
   "repo": "repo/gda-group",
   "at": "2026-08-07T21:03:15Z",
   "kind": "other",
   "title": "Leadership portraits: drop-in image pipeline with automatic treatment and placeholder fallback",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "refs": {
    "commit": "5c522f1b4de2941f734e7aa3277ca4706eb272f4"
   },
   "digest": "e65a8bfef70f80236af0e101e85724abfd1bda664ae1000f7ad8451f1ce132f6"
  },
  {
   "id": "ship/gda-group/d2ea9b0ceaa4",
   "repo": "repo/gda-group",
   "at": "2026-08-07T20:34:20Z",
   "kind": "feature",
   "title": "Add Life DeFi to portfolio and six transactions: Life DeFi, Flashy Cash merger, StoryFire, Funny Till U Die, Grami, Good Game Group",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "refs": {
    "commit": "d2ea9b0ceaa4a092cf4660c7dedfabc778bfc7ad"
   },
   "digest": "a68fb5f4a38559c83d875ce3dd00bf6c258797970a614f4160bc628b1b9658ae"
  },
  {
   "id": "ship/gda-group/b5a9f126197b",
   "repo": "repo/gda-group",
   "at": "2026-08-07T20:26:04Z",
   "kind": "other",
   "title": "List MetaYachts on the media and gaming sector page",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "refs": {
    "commit": "b5a9f126197b91688b84f62ba905cac6d8429f50"
   },
   "digest": "e743357dc78a6516cc2670b872f5c330a0c5bca35cc50eaba20bf750fcab759b"
  },
  {
   "id": "ship/gda-group/141b4c61009a",
   "repo": "repo/gda-group",
   "at": "2026-08-07T20:25:51Z",
   "kind": "feature",
   "title": "Add MetaYachts to founded portfolio, acquired by Metaverse Group",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "refs": {
    "commit": "141b4c61009a4b08d0d40686d5b354139ab5d9c6"
   },
   "digest": "e099f21dfbb85caa04d8097b7cb6d9f8f4fe22cee12d5b8018cdc958b25936f3"
  },
  {
   "id": "ship/gda-group/a189c4c5e997",
   "repo": "repo/gda-group",
   "at": "2026-08-07T20:24:59Z",
   "kind": "infra",
   "title": "Update acquisition tags: StoryFire acquired by Flashy; Metaverse Group by Tokens.com then StoryFire",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "refs": {
    "commit": "a189c4c5e997f444706088635f24252a86e514e5"
   },
   "digest": "638332893b3875ca9cae249d815256d75b9254e2e1dce1c3846215dca829de15"
  },
  {
   "id": "ship/gda-group/7fa93156100b",
   "repo": "repo/gda-group",
   "at": "2026-08-07T19:47:10Z",
   "kind": "other",
   "title": "Restructure portfolio acquisitions and add five GDA-led transactions with press links",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "refs": {
    "commit": "7fa93156100b391a4d0a5c5032114c2939ec9464"
   },
   "digest": "b1e4801001421fd15624fb611613655848c31e6a4ad4594472b6827d16318d55"
  },
  {
   "id": "ship/gda-group/9b911421e505",
   "repo": "repo/gda-group",
   "at": "2026-08-07T19:21:19Z",
   "kind": "feature",
   "title": "Add gda.investments register to portfolio: 22 additional investments across all filters",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "refs": {
    "commit": "9b911421e50559139d3c70d6e9b4af275b6d9783"
   },
   "digest": "b8dae2c733a108d674a6e7940871ffe54e796fcc5b0bb35e3414c057697bed69"
  },
  {
   "id": "ship/gda-group/26ef704b92f6",
   "repo": "repo/gda-group",
   "at": "2026-08-07T19:10:50Z",
   "kind": "other",
   "title": "Expand portfolio register with documented GDA investments; add Antoine De Vuyst to leadership",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "refs": {
    "commit": "26ef704b92f6ec626e7f09c2af691aa4afc627dc"
   },
   "digest": "ed96334ee8c15b70a6fa89611f88d3df3df003f7cbf07f8e93059924f534a896"
  },
  {
   "id": "ship/gda-group/0f5992d5342e",
   "repo": "repo/gda-group",
   "at": "2026-08-07T18:29:01Z",
   "kind": "infra",
   "title": "Make governance page production-ready: standards of conduct replace placeholder entities and counterparties",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "refs": {
    "commit": "0f5992d5342ed50bf67e088251916b5a23295d5f"
   },
   "digest": "386fa06db81970f93f91522117f06a1acdde72f1d46f7e0827fd90835738f5aa"
  },
  {
   "id": "ship/gda-group/ce4d9dd70dda",
   "repo": "repo/gda-group",
   "at": "2026-08-07T17:42:25Z",
   "kind": "other",
   "title": "Draft referral note and Disruption Premium Assessment one-pager",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "- drafts/referral-note-top-50.md: Michael's personal note to the top\n  50 relationships with audience variants (allocators, boards,\n  founders) and the operating notes — list buckets, cadence, tracking,\n  and the send-after-domain rule\n- drafts/disruption-premium-assessment.md: the client-facing one-pager\n  converting the research thesis into a four-week board diagnostic,\n  plus the internal playbook — pricing posture, conversion path,\n  30-company target-list criteria, and outbound sequence\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_0198vyysGCrfdioK9uQr3kbs",
   "refs": {
    "commit": "ce4d9dd70dda2b4dae14d350c0118771d47f28bf"
   },
   "digest": "1d237196a09a49a7a7a1301d41dc0284b703ab22baa75992d5397f2301ecdfd7"
  },
  {
   "id": "ship/gda-group/5d7a528a7600",
   "repo": "repo/gda-group",
   "at": "2026-08-07T17:33:25Z",
   "kind": "other",
   "title": "Restructure footer: six balanced columns replace the Discover drawer",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "Firm (about, leadership, clients, CoE, events, careers, governance,\ncontact) · Businesses (five lines + capability guides + sector\ncoverage) · The record (portfolio, transactions, case studies, news,\npressroom) · Intelligence (the category, insights, Digest, The\nReference, answers, glossary) · Markets (five + global locations) ·\nOffices. Legal remains in the bottom disclaimer bar; the 404 preview\nlink is retired from the template source.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_0198vyysGCrfdioK9uQr3kbs",
   "refs": {
    "commit": "5d7a528a76006dbf02129bf21cad26b2d25c1298"
   },
   "digest": "bcc3f4b99e66e29a58dccdfa6e60c9dfb7ad0147515191771e8ba3f6722e11b7"
  },
  {
   "id": "ship/gda-group/f5b69959df77",
   "repo": "repo/gda-group",
   "at": "2026-08-07T17:13:50Z",
   "kind": "feature",
   "title": "Build The Reference: digital asset market segments and networks",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "23 new pages (134 total) — the encyclopedia layer:\n\n- /digital-assets/ hub cataloguing nine market segments (RWA,\n  Infrastructure, DeFi, GameFi, AI, Metaverse, NFTs, SocialFi,\n  Stablecoins & Payments), each with a liftable definition, the\n  institutional read, the firm's engagement evidence, and FAQ schema\n- /digital-assets/networks/ — thirteen settlement networks (Ethereum,\n  TRON, Avalanche, BNB Chain, Solana, XRP Ledger, Cardano, Stellar,\n  TON, Cronos, Polygon, NEAR, Polkadot), each with durable facts,\n  the institutional read, and an engagement record citing on-site\n  evidence (TRON case study, TON/Telegram mini-app, XRP Systems,\n  partner register) or a FIRM TO CONFIRM slot where undisclosed\n- Wired into the Insights nav panel, footer, mobile menu, and llms.txt\n\n134 pages validated: HTML balanced, JSON-LD parsed, zero broken links.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_0198vyysGCrfdioK9uQr3kbs",
   "refs": {
    "commit": "f5b69959df7787e25210b6ad541793b3beb9721b"
   },
   "digest": "8da868bb82ec769747f339828a690ed093edf401ac9fe76d1b8d808505160779"
  },
  {
   "id": "ship/gda-group/091b8159c024",
   "repo": "repo/gda-group",
   "at": "2026-08-06T19:39:39Z",
   "kind": "infra",
   "title": "Remove 'the balance sheet' from North America market lead",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_0198vyysGCrfdioK9uQr3kbs",
   "refs": {
    "commit": "091b8159c02485b1ef4dbfec30541eecc642711f"
   },
   "digest": "53c2e701d82dff2675fd43ab4b75e8d7fed86aa667d429949380810662001343"
  },
  {
   "id": "ship/gda-group/b8a3aa71e9ab",
   "repo": "repo/gda-group",
   "at": "2026-08-06T19:16:01Z",
   "kind": "feature",
   "title": "Add coded world map to About and Locations",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "Flat world plate per the design brief: Natural Earth projection\ngenerated from world-atlas data, thin-line continents, gold star\nmarkers at real coordinates for all eight offices and partner hubs\n(headquarters and Center of Excellence ringed), city labels, legend,\nand ARIA description. Injected above the office register on About and\nthe hub listing on Locations; the map's FIRM TO CONFIRM note is\nresolved and removed. Antarctica cropped from the plate.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_0198vyysGCrfdioK9uQr3kbs",
   "refs": {
    "commit": "b8a3aa71e9ab4e3ffbff1a0968b24389a621b77f"
   },
   "digest": "865ba0b50af723c3bc0441eff6df2d9948d3663f7dd60037c4e6f88d2d0ceeb2"
  },
  {
   "id": "ship/gda-group/73500770f260",
   "repo": "repo/gda-group",
   "at": "2026-08-06T19:05:19Z",
   "kind": "feature",
   "title": "Add social links to footer: LinkedIn, X, Telegram",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "Icon row above the footer legal bar linking the firm's LinkedIn\n(globaldigitalassets), X (GdaGroupCo), and Telegram (gdacapital),\nwith hover states and aria labels; handles added to Organization\nsameAs schema. YouTube and Facebook slots pending confirmed URLs.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_0198vyysGCrfdioK9uQr3kbs",
   "refs": {
    "commit": "73500770f26033a2c42865f64e48cc10393d4333"
   },
   "digest": "51fa92f954a659a3548dbe5e2fd33cb6a9f119664147f826a00ecd6631dc9abe"
  },
  {
   "id": "ship/gda-group/5f8ac4198e0b",
   "repo": "repo/gda-group",
   "at": "2026-08-06T18:32:10Z",
   "kind": "feature",
   "title": "Add events section, Michael Gord profile, and dataset report architecture",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "- /events/ + four programme pages: Global Family Office Summit, Asia\n  and Europe Disruptive Investment Summits, Next Top Blockchain\n  Startup — editions on the record, audience registers, Event schema,\n  cross-linked to markets, locations, news records, and client types\n- /leadership/michael-gord/ — deep-dive profile: writing and research\n  register, convening record, selected appearances, enriched Person\n  schema; leadership page features the profile and events\n- Events wired into nav (Our Firm panel), footer, and mobile menu\n- drafts/state-of-dtcm-report-architecture.md — architecture and table\n  of contents for the State of Disruptive-Technology Capital Markets\n  annual report\n\n111 pages validated: HTML balanced, JSON-LD parsed, zero broken links.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_0198vyysGCrfdioK9uQr3kbs",
   "refs": {
    "commit": "5f8ac4198e0b6554785114af310303130bce6b10"
   },
   "digest": "b89a42874c8541ce180814f59dcf65d35cac2692e7ac22ce709863eac590e116"
  },
  {
   "id": "ship/gda-group/432fb5db18dc",
   "repo": "repo/gda-group",
   "at": "2026-08-06T14:59:16Z",
   "kind": "feature",
   "title": "Launch cleanup: principal's review decisions applied",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "- Moscow removed from Europe transaction footprint (with its review\n  note)\n- Innovation thesis reworded without performance-promise figures: an\n  innovation edge can substantially change how an enterprise is valued,\n  per the firm's published research conditions; counsel flag removed\n- Careers collapsed to the standing introduce-yourself register\n- Legal page carries full refined standard disclaimers (offer/\n  solicitation, illustrative references, jurisdiction/eligibility,\n  forms privacy), maintained under periodic legal review\n- Advisory board section and nav link removed until seated\n- Toronto address (626 King Street West) on contact page and in\n  Organization/FinancialService schema; Mumbai listed without address\n- Global Fund Management removed from governance entities; news\n  archive notes state GFM and Grwth Army are wound down\n- Middle East market page states partner-coverage model, no Gulf office\n- Bios completed for Andras, Reid, and Gomes in role-and-mandate\n  register; review flags removed from all nine biographies\n- /transactions/ gains the Financings and token offerings register:\n  MultiBank, Astra, DigitalBits, TRON, Metaverse Group tombstones with\n  case-study links and a figures provenance note\n\n105 pages validated: HTML balanced, JSON-LD parsed, zero broken links.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_0198vyysGCrfdioK9uQr3kbs",
   "refs": {
    "commit": "432fb5db18dc181c8f699dad8d93b23ad125a7ab"
   },
   "digest": "5572034bf5d7a0dbeea629c79c1c1054a8abbd0ac3fe6a2dcdaf184b853f6dda"
  },
  {
   "id": "ship/gda-group/a6b5ac1b830d",
   "repo": "repo/gda-group",
   "at": "2026-08-05T13:28:57Z",
   "kind": "other",
   "title": "Refine securities disclaimers site-wide, remove review comments",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "- Footer (every page): full institutional disclaimer — informational\n  purposes only, no offer or solicitation of any security or financial\n  instrument, not investment, legal, accounting, or tax advice\n- Public Equity disclosure block: complete disclaimer with eligible-\n  investor and definitive-documentation language; 'Counsel to review'\n  tag replaced with 'Important information'\n- Innovation proof block: 'counsel to review' comment removed\n- India Corridor 3 and allocator pages: disclosure language refined to\n  eligible-investor / defined-legal-structures phrasing, process\n  commentary removed\n- Legal page securities-disclaimer summary updated to match\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_0198vyysGCrfdioK9uQr3kbs",
   "refs": {
    "commit": "a6b5ac1b830dd97feb472552ce9794158b35a984"
   },
   "digest": "febe133b4a9698b9c0dce9b309e095f9c2e6a0ba17e66a9441dc4125ba571848"
  },
  {
   "id": "ship/gda-group/e3e244bed6a6",
   "repo": "repo/gda-group",
   "at": "2026-08-04T16:14:47Z",
   "kind": "feature",
   "title": "Build Digital Asset Digest section with vol. 82 relaunch draft",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "/digest/ index (the 81-volume provenance, archive register link) and\n/digest/vol-82/ — the relaunch issue draft anchored to the digital\nasset treasury query, with EDITOR TO ADD slots for weekly desk items\nso nothing time-sensitive is fabricated. Wired into the Insights nav\npanel and footer.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_0198vyysGCrfdioK9uQr3kbs",
   "refs": {
    "commit": "e3e244bed6a6d4305ed41d31ceac0be22ec6e6b9"
   },
   "digest": "d5ed43514cb860b4d9d4b7749086f3d7e343b581e531a91b44819b09fe3dc7cd"
  },
  {
   "id": "ship/gda-group/43e15111b669",
   "repo": "repo/gda-group",
   "at": "2026-08-04T15:58:12Z",
   "kind": "other",
   "title": "Apply firm-confirmed corrections to figures and contact routing",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "Per the principal's review:\n- Capital stat corrected to $390M+ 'Capital raised and structured'\n  ($70M direct + $200M structured financings + $100M+ public raises\n  + $20M alternative trades), on home and Center of Excellence pages\n- $4B+ OTC figure confirmed and attributed: 'with Secure Digital\n  Markets'\n- banking@gda.group replaced with advisory@gda.group per preference\n- Portfolio flag now calls for reconciling 70+ against the\n  gda.investments register (third-party trackers show 56 technology\n  investments)\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_0198vyysGCrfdioK9uQr3kbs",
   "refs": {
    "commit": "43e15111b669bb5bf4a101a90c2d66f51e62e307"
   },
   "digest": "c6ea5c8f135461c4e3c5f708a9fe2219031b32f0dd9efb74d81e63e2a65da221"
  },
  {
   "id": "ship/gda-group/4a6bc31727f4",
   "repo": "repo/gda-group",
   "at": "2026-08-04T15:52:29Z",
   "kind": "other",
   "title": "Leadership roster with bios, live forms, answers hub, press draft",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "- Leadership: nine partners across Founding/Managing/Venture groups\n  (Gord, Friedman, Shafrir, Miro, Chitalwala, Andras, Seah, Reid,\n  Gomes) with institutional-register biographies rendered in the bio\n  modal; unverified career claims carry FIRM TO CONFIRM flags; Lisbon\n  added as a partner hub; Person schema updates automatically\n- Forms now submit: named fields on contact and subscribe forms, AJAX\n  delivery to michael@gda.capital via formsubmit.co with a graceful\n  mailto fallback on failure\n- Answers hub: /answers/ + ten question pages, each opening with a\n  liftable 40-60 word answer block, FAQ structured data, and deep\n  links; wired into nav, footer, and mobile menu\n- drafts/press-release-category-launch.md: category-launch release\n  draft carrying the canonical descriptor, for firm review\n\n103 pages validated; browser suite passing.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_0198vyysGCrfdioK9uQr3kbs",
   "refs": {
    "commit": "4a6bc31727f4fba67e7e4e819ce71559fabf144f"
   },
   "digest": "090e9e8b88358f29c1e177f1ade17f7729bd1136f265c09b67148f932eb04280"
  },
  {
   "id": "ship/gda-group/f4ae2f95d7a8",
   "repo": "repo/gda-group",
   "at": "2026-08-04T01:31:57Z",
   "kind": "other",
   "title": "Generate llms.txt map of definitive pages for AI assistants",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "Adds /llms.txt (per the llms.txt convention): the canonical firm\ndescriptor plus a grouped, machine-readable index of the site's\ndefinitive pages — category, businesses, capability guides, sectors,\nmarkets, locations, clients, research, transactions, and contact.\nrobots.txt references it.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_0198vyysGCrfdioK9uQr3kbs",
   "refs": {
    "commit": "f4ae2f95d7a8f380ba929465885288027f84c9b6"
   },
   "digest": "e104c59133170b5f7e5ba219a06ddd7b79a3b384ac3fc3ce7d8c54bf73427b9f"
  },
  {
   "id": "ship/gda-group/3525380f7014",
   "repo": "repo/gda-group",
   "at": "2026-08-04T01:29:03Z",
   "kind": "feature",
   "title": "Add client-type pages and transaction tombstone pages",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "10 new pages (92 total), items 01-02 of the bench's build queue:\n\n- /clients/{public-companies,private-companies,enterprises,\n  asset-managers-allocators,early-stage-ventures,governments}/ —\n  one door per audience with thesis, offering register, proof line,\n  and cross-links into capabilities and sectors; the /clients/ index\n  cards now link through with Learn more affordance\n- /transactions/ — the tombstone wall: three formal transaction\n  records plus the six documented mandates, each disclosed deal its\n  own indexable URL; home and portfolio tombstone cards now link\n  through with hover and arrow affordance\n- Nav 'Selected transactions' repointed to /transactions/; footer\n  gains Transactions\n\n92 pages validated: HTML balanced, JSON-LD parsed, zero broken links,\nbrowser suite passing.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_0198vyysGCrfdioK9uQr3kbs",
   "refs": {
    "commit": "3525380f70143c850c1b36c9785118c7677a2236"
   },
   "digest": "38e78eb6585732404e9634d637b9dd03a1c31b0c5c0dc40ad082daec4d9461aa"
  },
  {
   "id": "ship/gda-group/ce1deae25d11",
   "repo": "repo/gda-group",
   "at": "2026-08-04T01:18:14Z",
   "kind": "feature",
   "title": "Add capability guides, link affordance, and internal-link mesh",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "- 9 new pages (82 total): /capabilities/ index + eight capability\n  guides targeting Tier-2 search terms (token financing, digital asset\n  M&A, public market entry, RWA tokenization, token economics, digital\n  asset treasury strategy, private credit for technology, corporate\n  venture building), each with FAQ structured data, glossary anchors,\n  sector links, and case-study proof\n- Link affordance: every navigating row now reads as clickable — whole-\n  row anchors with gold arrows and hover states (sector registers on\n  home/about/private-equity, locations and sectors indices, sector-page\n  research rows, India corridor rows)\n- Internal-link mesh: business pages surface their capability guides;\n  research pages link the capabilities and sectors where they apply;\n  hub pages link their city's sector coverage; nav, footer, and mobile\n  menu carry Capability guides\n\n82 pages validated: HTML balanced, JSON-LD parsed, zero broken links,\nbrowser suite passing.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_0198vyysGCrfdioK9uQr3kbs",
   "refs": {
    "commit": "ce1deae25d118cdfbed86fabc33ac89742753874"
   },
   "digest": "d4abb07b6b78210f62c6f89b1062b2931ada2d3fe25bab8e1c0bdce2613db720"
  },
  {
   "id": "ship/gda-group/aafc169f24f0",
   "repo": "repo/gda-group",
   "at": "2026-08-04T00:58:29Z",
   "kind": "infra",
   "title": "Wire new pages into mobile menu and market-page hub links",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "- Mobile menu gains The category, Sector coverage, Global locations,\n  and Glossary alongside their groups\n- Every market page links the location hubs in its region\n- India market page keeps corridors section followed by location chips\n\nAll 73 pages re-validated; browser suite passing.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_0198vyysGCrfdioK9uQr3kbs",
   "refs": {
    "commit": "aafc169f24f055e4149b9d99d5e96e33bafc7ce0"
   },
   "digest": "de808f705b9b9fba0c73a9607f2297d3c01a378cbc5f3161f326a6e83c2df0b2"
  },
  {
   "id": "ship/gda-group/cd3519068f71",
   "repo": "repo/gda-group",
   "at": "2026-08-04T00:44:36Z",
   "kind": "other",
   "title": "Execute Category Plan phase 1: global grid, India corridors, SEO layer",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "28 new pages (73 total) implementing the site workstreams of the\ncategory-leadership plan:\n\n- /disruptive-technology-merchant-bank/ — category pillar page defining\n  the category, with FAQPage structured data\n- /glossary/ — 47-term institutional glossary (DefinedTermSet schema)\n- /locations/ + 12 Wave-1 hub pages (Toronto, New York, Montreal,\n  London, Zurich, Dubai, Abu Dhabi, Singapore, Hong Kong, Mumbai,\n  New Delhi, GIFT City), each with local thesis, active business\n  lines, disclosed proof, and FIRM TO CONFIRM flags where evidence\n  is pending\n- /sectors/ + 9 sector coverage pages with portfolio proof and\n  research cross-links\n- /markets/india/{enterprises,partners,capital}/ — the three India\n  corridor pages (enterprises->global capital, global partners->India,\n  global capital->mandate-backed ventures), with securities-counsel\n  gating language on Corridor 3; India market page links the corridors\n- JSON-LD on every page: Organization + WebSite site-wide, plus\n  Person, Article, BreadcrumbList, FAQPage, DefinedTermSet, and\n  FinancialService where applicable\n- Branded 1200x630 Open Graph card (assets/og-card.png), og:image +\n  summary_large_image on all pages\n- Sector registers on home/about/private-equity now link to sector\n  pages; footer and nav panels link category, sectors, locations,\n  glossary\n\nAll 73 pages HTML-validated, JSON-LD parsed, zero broken internal\nlinks, full browser interaction suite passing.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_0198vyysGCrfdioK9uQr3kbs",
   "refs": {
    "commit": "cd3519068f7177d1318f5112f423745cbebbe0a0"
   },
   "digest": "98b726ad3efca0dfff6dbae35868359be8b578861d26fc9e03ab4fbdcfdc4079"
  },
  {
   "id": "ship/gda-group/bb4b7ab6928a",
   "repo": "repo/gda-group",
   "at": "2026-08-03T23:45:04Z",
   "kind": "feature",
   "title": "Build gda.group static site from approved design prototype",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "Converts the Claude design prototype (single-file design-canvas app)\ninto a 45-page static site deployable on Vercel with zero build config:\n\n- src/build.mjs: static site generator that compiles the prototype's\n  template dialect (sc-if / sc-for / bindings) against src/data.mjs\n  and emits public/ with real per-page URLs, titles, and meta\n- Pages: home, about, 5 business lines, 5 markets + index, clients,\n  Center of Excellence, portfolio, 6 case studies + index, leadership,\n  insights + 4 research pieces, news + 8 articles, pressroom,\n  governance, brand, careers, contact, legal, 404\n- assets/site.js: nav mega-panels, mobile menu, portfolio and archive\n  filters, leadership bio modal, form states, office clocks, scroll\n  reveals and stat count-ups, all with reduced-motion support\n- Self-hosted Newsreader + Inter (variable woff2, latin subset)\n- robots.txt, sitemap.xml, security headers and font caching in\n  vercel.json; committed public/ deploys as-is (output dir: public)\n\nReplaces the Gord Holdings site files on this branch — this branch is\nthe seed for the FlashyLabs/gda-group repository.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_0198vyysGCrfdioK9uQr3kbs",
   "refs": {
    "commit": "bb4b7ab6928a9a5f21cd86b3dfbeb3fbd94c3709"
   },
   "digest": "a0cf59515c73fc3060d922b3197d8f32ab50e49309a1473bef0fdbb1489a32a1"
  },
  {
   "id": "ship/gda-group/e076c49ebe89",
   "repo": "repo/gda-group",
   "at": "2026-08-03T19:54:37Z",
   "kind": "feature",
   "title": "Add sector coverage register and blockchain/AI-native framing",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "Adds §1.4 canonical sector list (traditional technology, AI, digital\nassets, financial services, consumer, media, healthcare, energy and\nreal assets, industrials), a sectors section on Home and About, sector\nfilters on Portfolio, and 'natively blockchain- and AI-enabled'\npositioning rules.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_0198vyysGCrfdioK9uQr3kbs",
   "refs": {
    "commit": "e076c49ebe896c7529404180dd37db8d5b6efbd3"
   },
   "digest": "62685d3cdbf6da9ad35133a9b6c41b3f5df19fe8823119f1a23c4e34383aac58"
  },
  {
   "id": "ship/gda-group/adc2086d022a",
   "repo": "repo/gda-group",
   "at": "2026-08-03T19:51:21Z",
   "kind": "other",
   "title": "Reposition design prompt: full-spectrum global capital markets firm",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "v2 of the gda.group design brief. GDA is now framed as a disruptive-\ntechnology investment bank operating across private equity, public\nequity, debt capital, and digital assets — 'young Goldman Sachs'\nregister, with digital assets as one business line rather than the\nfirm's identity. Adds Investment Banking as the lead division, five\nbusiness-line pages, tombstone/transaction components, and securities\ndisclaimer requirements.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_0198vyysGCrfdioK9uQr3kbs",
   "refs": {
    "commit": "adc2086d022a832dbed865c3d961a9afd6685cb8"
   },
   "digest": "5d20194223921b067aa8df797d93094efc4d7e6e545674a434157f847fcd7886"
  },
  {
   "id": "ship/gda-group/82f6f8ec5afc",
   "repo": "repo/gda-group",
   "at": "2026-08-03T19:42:37Z",
   "kind": "feature",
   "title": "Add institutional website design prompt for gda.group",
   "by": [
    "agent/claude"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "detail": "Fortune 10-grade design brief covering brand repositioning away from\nthe astronaut/space identity, a full design system (color, type, grid,\nimagery, motion), site architecture, and page-by-page specifications\nfor all pages, plus copy voice and technical quality requirements.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_0198vyysGCrfdioK9uQr3kbs",
   "refs": {
    "commit": "82f6f8ec5afc00ddec3ba0218c1fb3726204c007"
   },
   "digest": "5279b54dc116178b717563a7288496bd3c537a3d97af84eac32f592c264ab95a"
  },
  {
   "id": "ship/gda-group/5fc64a689da2",
   "repo": "repo/gda-group",
   "at": "2026-07-23T10:04:15-04:00",
   "kind": "infra",
   "title": "Redeploy with valid author email",
   "by": [
    "person/michael"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "refs": {
    "commit": "5fc64a689da2dc846a5b7d073c9dc2cdef2f009a"
   },
   "digest": "b58aee1cb4e913d1fe8a3ba58c8b4160a5f79dbb64df75c4880d59a02665b7ad"
  },
  {
   "id": "ship/gda-group/773fe958bfba",
   "repo": "repo/gda-group",
   "at": "2026-07-22T12:53:40-04:00",
   "kind": "infra",
   "title": "Trigger Vercel deployment",
   "by": [
    "person/michael"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "refs": {
    "commit": "773fe958bfbae3ca959c5b16e6565209a7a35c3e"
   },
   "digest": "a88bf1e4f04625551d375195d4f18f749213462c734d9a97519a63c0d67b962f"
  },
  {
   "id": "ship/gda-group/69ca5019c8dc",
   "repo": "repo/gda-group",
   "at": "2026-07-22T12:34:34-04:00",
   "kind": "feature",
   "title": "Build gord.holdings static site",
   "by": [
    "person/michael"
   ],
   "asserted": "2026-08-31",
   "assertedBy": "agent/gda-group-ci",
   "visibility": "public",
   "refs": {
    "commit": "69ca5019c8dca344ba085fec22aa0398e642e912"
   },
   "digest": "245692e7742e5e8a9b4f9e48692e8bfd628dc4aa8c0319368754c89747257916"
  }
 ]
}
