From 83618573337ff4c3002198ca40f6ca48640f7746 Mon Sep 17 00:00:00 2001 From: Implementer Date: Sat, 7 Nov 2026 08:49:54 +0100 Subject: [PATCH] Takes conventions v1.53.0 The family resync moves robertblust/conventions in `conventions.json` from v1.52.0 to v1.53.0. The upstream notes are at https://github.com/robertblust/conventions/releases/tag/v1.53.0. Verified: `sh conventions/conventions-sync sync`, `./mvnw -B verify`, `sh service-conventions/regen-er && git diff --exit-code docs/er-schema.mmd`, `sh service-conventions/service-conventions-sync check`, `sh service-conventions/service-conventions-check` and `sh service-conventions/regen-api && git diff --exit-code src/main/resources/api/openapi.yaml` passed. Process: Delivery Phase: Implement Track: Code --- .github/workflows/conventions.yml | 2 +- AGENTS.md | 2 +- conventions.json | 2 +- conventions/AGENTS.md | 2 +- conventions/REPOSITORIES.md | 11 ++++++++--- conventions/manifest.json | 6 +++--- 6 files changed, 15 insertions(+), 10 deletions(-) diff --git a/.github/workflows/conventions.yml b/.github/workflows/conventions.yml index fb92e3e..83fe2ca 100644 --- a/.github/workflows/conventions.yml +++ b/.github/workflows/conventions.yml @@ -5,4 +5,4 @@ on: pull_request: jobs: conventions: - uses: robertblust/conventions/.github/workflows/check.yml@v1.52.0 + uses: robertblust/conventions/.github/workflows/check.yml@v1.53.0 diff --git a/AGENTS.md b/AGENTS.md index 1ea6703..93cc525 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -1,4 +1,4 @@ - + Shared conventions of the robertblust, guestgraph and companygraph organizations live in `conventions/`, vendored from robertblust/conventions at the release `conventions.json` names. Read them before writing or committing anything here. - `conventions/WRITING.md` — how we write: one voice, three registers, English and German. diff --git a/conventions.json b/conventions.json index 67cc03a..ae705f2 100644 --- a/conventions.json +++ b/conventions.json @@ -1 +1 @@ -{ "repo": "robertblust/conventions", "tag": "v1.52.0", "exclude": ["target", ".specify", ".claude", "docs/superpowers"], "format-exclude": ["target", ".specify", ".claude"] } +{ "repo": "robertblust/conventions", "tag": "v1.53.0", "exclude": ["target", ".specify", ".claude", "docs/superpowers"], "format-exclude": ["target", ".specify", ".claude"] } diff --git a/conventions/AGENTS.md b/conventions/AGENTS.md index 3e85f05..abca0d8 100644 --- a/conventions/AGENTS.md +++ b/conventions/AGENTS.md @@ -1,4 +1,4 @@ - + Shared conventions of the robertblust, guestgraph and companygraph organizations live in `conventions/`, vendored from robertblust/conventions at the release `conventions.json` names. Read them before writing or committing anything here. - `conventions/WRITING.md` — how we write: one voice, three registers, English and German. diff --git a/conventions/REPOSITORIES.md b/conventions/REPOSITORIES.md index b09e047..45d6098 100644 --- a/conventions/REPOSITORIES.md +++ b/conventions/REPOSITORIES.md @@ -10,6 +10,7 @@ Three organizations, one family. `robertblust` holds the person and the shared m | robertblust/mental-model | Robert Blust — Mental Model | Robert Blust described in CompanyGraph, the reference instance | main | ~/git/robertblust/mental-model | | robertblust/field-notes | Robert Blust — Field Notes | problems that took real work to understand, one file each | main | ~/git/robertblust/field-notes | | robertblust/mcp-blust-ch | mcp.blust.ch | mcp.blust.ch, the reference instance served over MCP from a pinned commit of the model | main | ~/git/robertblust/mcp-blust-ch | +| robertblust/id-blust-ch | id.blust.ch | id.blust.ch, the identity service the three chats sign readers in at: ZITADEL on Cloud Run and what it holds | main | ~/git/robertblust/id-blust-ch | | guestgraph/guestgraph.github.io | guestgraph.io | guestgraph.io, the landing page, the model pages drawn from GuestGraph's instance, the API and the intro talk | main | ~/git/guestgraph/guestgraph.github.io | | guestgraph/engine | GuestGraph — Engine | identity resolution, guest graph and REST API, the open core | main | ~/git/guestgraph/engine | | guestgraph/connector-apaleo | GuestGraph — Apaleo Connector | the Apaleo connector: reservations and bookings into the guest graph, a client of the engine's API | main | ~/git/guestgraph/connector-apaleo | @@ -22,6 +23,7 @@ Three organizations, one family. `robertblust` holds the person and the shared m | companygraph/mental-model | CompanyGraph — Mental Model | CompanyGraph described in the vocabulary it publishes, the second instance | main | ~/git/companygraph/mental-model | | companygraph/mcp-server | CompanyGraph — MCP Server | a read-only MCP server for any instance: the model's facts, queryable by an agent from one pinned commit | main | ~/git/companygraph/mcp-server | | companygraph/mcp-companygraph-io | mcp.companygraph.io | mcp.companygraph.io, CompanyGraph's own instance served over MCP from a pinned commit of the model | main | ~/git/companygraph/mcp-companygraph-io | +| companygraph/mcp-azure-companygraph-io | mcp.azure.companygraph.io | mcp.azure.companygraph.io, CompanyGraph's own instance served over MCP from a pinned commit of the model, on Azure: the first deployment of the server there | main | ~/git/companygraph/mcp-azure-companygraph-io | | companygraph/chat-server | CompanyGraph — Chat Server | a chat over any instance's MCP host: a visitor's question answered from what the host's tools say, on a site's page, holding no model of its own | main | ~/git/companygraph/chat-server | | companygraph/obsidian-plugin | CompanyGraph — Obsidian Plugin | an Obsidian plugin for any instance: the meta-model's checks while a file is edited, and completion for what its schemas declare | main | ~/git/companygraph/obsidian-plugin | | companygraph/.github | CompanyGraph — Organization | the organization profile GitHub shows, and nothing else | main | ~/git/companygraph/.github | @@ -32,7 +34,7 @@ What is listed here is the family; what is not listed is outside it. An agent wo ## What pins what -The three sites pin `robertblust/design` by tag in `package.json`, and `npm run design` writes the fenced copies. blust.ch pins `robertblust/mental-model`, companygraph.io pins `companygraph/meta-model` and `companygraph/mental-model`, and guestgraph.io pins `guestgraph/mental-model`, each by commit in `source.json`, and each builds its model pages from that commit. All three sites also depend on `companygraph/meta-model` by tag in `package.json` for the instance parser, and take `companygraph/mcp-server` by tag there too. guestgraph.io pins `guestgraph/engine` and `guestgraph/connector-apaleo` by commit in `api-sources.json`, and builds its API pages from the OpenAPI specification each commit holds. The three instances, `robertblust/mental-model`, `companygraph/mental-model` and `guestgraph/mental-model`, each vendor meta-model's `core/` at the release that `core.version` names in their own `.companygraph/manifest.json`. The engine and the connector each vendor `guestgraph/service-conventions` at the tag in `service-conventions.json`, and the connector pins the contracts it implements, which live under the engine's `specs/`, by commit in `src/main/resources/api/sources.json`. The MCP server depends on `companygraph/meta-model` by tag in `package.json` for the same parser; each of its three deployments pins an instance by commit in `source.json`, mcp.blust.ch `robertblust/mental-model`, mcp.companygraph.io `companygraph/mental-model` and mcp.guestgraph.io `guestgraph/mental-model`, and the server and `robertblust/design` by tag in `package.json`, and builds and deploys with the parts the server ships under `deploy/`. The chat server takes `companygraph/mcp-server` by tag in `package.json` as a development dependency and is a client of whichever MCP host a deployment names, and each of the same three deployments pins it and `robertblust/design` by tag in `chat/package.json` and deploys it beside the host from the parts it ships under `deploy/`, so a re-pin of the host is a change the chat sees without one of its own. The Obsidian plugin depends on `companygraph/meta-model` by tag in `package.json` for the parser and the checks, and bundles them into what it releases. Every member pins this repository by tag in `conventions.json`. +The three sites pin `robertblust/design` by tag in `package.json`, and `npm run design` writes the fenced copies. blust.ch pins `robertblust/mental-model`, companygraph.io pins `companygraph/meta-model` and `companygraph/mental-model`, and guestgraph.io pins `guestgraph/mental-model`, each by commit in `source.json`, and each builds its model pages from that commit. All three sites also depend on `companygraph/meta-model` by tag in `package.json` for the instance parser, and take `companygraph/mcp-server` by tag there too. guestgraph.io pins `guestgraph/engine` and `guestgraph/connector-apaleo` by commit in `api-sources.json`, and builds its API pages from the OpenAPI specification each commit holds. The three instances, `robertblust/mental-model`, `companygraph/mental-model` and `guestgraph/mental-model`, each vendor meta-model's `core/` at the release that `core.version` names in their own `.companygraph/manifest.json`. The engine and the connector each vendor `guestgraph/service-conventions` at the tag in `service-conventions.json`, and the connector pins the contracts it implements, which live under the engine's `specs/`, by commit in `src/main/resources/api/sources.json`. The MCP server depends on `companygraph/meta-model` by tag in `package.json` for the same parser; each of its four deployments pins an instance by commit in `source.json`, mcp.blust.ch `robertblust/mental-model`, mcp.companygraph.io and mcp.azure.companygraph.io `companygraph/mental-model` and mcp.guestgraph.io `guestgraph/mental-model`, and the server and `robertblust/design` by tag in `package.json`, and builds and deploys with the parts the server ships under `deploy/`. The chat server takes `companygraph/mcp-server` by tag in `package.json` as a development dependency and is a client of whichever MCP host a deployment names, and three of them, mcp.blust.ch, mcp.companygraph.io and mcp.guestgraph.io, pin it and `robertblust/design` by tag in `chat/package.json` and deploys it beside the host from the parts it ships under `deploy/`, so a re-pin of the host is a change the chat sees without one of its own. The identity service, `robertblust/id-blust-ch`, pins no member: it takes ZITADEL by image tag in `infra/run.tf`, and each of the three deployments with a chat names it in `chat/chat.json` as the issuer its chat verifies a signed-in reader against, a dependency at run time and not a pin. The Obsidian plugin depends on `companygraph/meta-model` by tag in `package.json` for the parser and the checks, and bundles them into what it releases. Every member pins this repository by tag in `conventions.json`. The same pins, drawn: an arrow runs from the member that pins to the repository it pins, and its label says how. Each node is named as its repository is, under its organization. @@ -43,6 +45,7 @@ flowchart TB blust[robertblust.github.io] rbmm[mental-model] mcpblust[mcp-blust-ch] + idblust[id-blust-ch] end subgraph companygraph cgio[companygraph.github.io] @@ -51,6 +54,7 @@ flowchart TB mcpsrv[mcp-server] chat[chat-server] mcpcg[mcp-companygraph-io] + mcpaz[mcp-azure-companygraph-io] obsidian[obsidian-plugin] end subgraph guestgraph @@ -72,12 +76,13 @@ flowchart TB mcpsrv & obsidian -->|tag| meta blust & cgio & ggio -->|tag| mcpsrv chat -->|tag| mcpsrv - mcpblust & mcpcg & mcpgg -->|tag| design + mcpblust & mcpcg & mcpaz & mcpgg -->|tag| design engine & connector -->|tag| svc connector -->|commit| engine mcpblust & mcpcg & mcpgg -->|tag| mcpsrv & chat + mcpaz -->|tag| mcpsrv mcpblust -->|commit| rbmm - mcpcg -->|commit| cgmm + mcpcg & mcpaz -->|commit| cgmm mcpgg -->|commit| ggmm ``` diff --git a/conventions/manifest.json b/conventions/manifest.json index 56eeb18..7ebc88e 100644 --- a/conventions/manifest.json +++ b/conventions/manifest.json @@ -1,10 +1,10 @@ { "repo": "robertblust/conventions", - "tag": "v1.52.0", + "tag": "v1.53.0", "files": { "conventions/WRITING.md": "sha256:51d9a902ec3038392160df07f86aba98d34db1d4dbfaa5f4a647590eaccfb390", "conventions/WORKING.md": "sha256:3a7a6b4ab1bd23f2407fc6ada2dd0512710a49d233fa7c3342951f6fc526ab23", - "conventions/REPOSITORIES.md": "sha256:461654ef06ee307d2e10daba201e97dbcad093cf6b3b7c35b6bad3627f9f4fec", + "conventions/REPOSITORIES.md": "sha256:a47784200b049713b8cbf7ba6d0ff77e3634fe425a3800bc186f6867c5f83bd5", "conventions/PINS.md": "sha256:68df67ae820a8673d3130582aa829d4283176d3c8ec0a69adda3132a1a755b93", "conventions/WRITER.md": "sha256:bc3b92683130b75993f824f0e34073d4344846c91be2009fd90c39099fd4fd48", "conventions/TRANSLATOR.md": "sha256:3a3d2d0916d7230cbc760bced1be249b11cc516956fb41ad010b3216f23024ba", @@ -12,7 +12,7 @@ "conventions/GERMAN.md": "sha256:6a0ab79fd52f93d1361aceb83a1771ce6448124d5ea707af3d71baf9efe35e11", "conventions/EDITOR.md": "sha256:e65d0b2893ac841faefede9b873f7e33c1fd7b02bedf97d37d5362c0e83c08ea", "conventions/BACKREADER.md": "sha256:36b12d4bee8e4fe190469e2f550d50d8a7f6dcab6bec573da17eb1c165c417cd", - "conventions/AGENTS.md": "sha256:45567ff4468265436d3eacd590b750235906ccda8b03a9d75105e8e3907d8584", + "conventions/AGENTS.md": "sha256:363921dd5a6da62f1db28e7110ce552df39cbc7c6aadf5141c93adc465ee4885", "conventions/conventions-sync": "sha256:a190ff79c2d8d3f6f6d9a597e9f261654f2419d30e2ac43abf6c64ebe2c47ed9", "conventions/conventions-check": "sha256:4a633cc53579f4577939702350c439bbb58ebed4ccbf6736d94c01e5fc160147", "conventions/conventions-format": "sha256:2911a0d30dda1bc0f621522a9538b3e39704eee03458e65ba320eccbf39b5c7f",