From b8be9c088f88b2d100f154d018e08bac57d78ebf Mon Sep 17 00:00:00 2001 From: Writer Date: Wed, 14 Oct 2026 07:45:23 +0200 Subject: [PATCH 1/2] The profile names every pack, its talk and what comes next The profile said three packs in four places while four ship, and it linked only the introduction among the talks companygraph.io carries. Each pack now has one line: the kind of company it is for, its types by name, and links to its README and its talk; core links the talk on core and the packs, and the introduction points to the others. The second instance takes every pack, so it is held to use cases and requirements too. What is not built, market and obligation in core and add in the command, moves out of the shipped items into a short section of its own, sourced from the two designs that named them. The pack rule in AGENTS.md now allows a pack's types by name and the two links, never what a type carries, and no sentence counts the packs. Verified: conventions-check and conventions-format pass. Process: Delivery Phase: Implement Track: Prose Co-Authored-By: Claude Opus 5.5 --- AGENTS.md | 8 +++---- profile/README.md | 55 +++++++++++++++++++++++++++++++---------------- 2 files changed, 41 insertions(+), 22 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 219326f..6387974 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -46,10 +46,10 @@ Before adding a sentence here, ask what would have to change if the answer chang roadmap names a type when it ships, by name and never by number, and the sentence that counts them belongs in `meta-model`'s `README`, which ships in the same commit as the type it counts. -- **A pack is named when it ships, and only by what kind of company it is for.** What a - pack is, and what each of its types carries, belongs to `meta-model`'s `README` and the - pack's own. This bullet forbade claiming a pack exists while the mechanism was undesigned; - three ship, and the page has said so since #39. +- **A pack is named when it ships, by what kind of company it is for, with its types by + name and a link to its README and its talk.** What a pack is, and what each of its types + carries, belongs to `meta-model`'s `README` and the pack's own, so the page names a type + and never describes it, as it does for core. - **Nothing identifying the companies the model was extracted from.** The structural claim — two independent instances converged on the same shape — stands without naming either. - **No rate, and no hosted service.** The commercial model is consulting, billed time and diff --git a/profile/README.md b/profile/README.md index 0b0259c..c358ba2 100644 --- a/profile/README.md +++ b/profile/README.md @@ -10,7 +10,7 @@ It is not invented. It is the generalization of a model that already works in tw | Repository | What it is | | --- | --- | -| [**meta-model**](https://github.com/companygraph/meta-model) | The vocabulary: core types and three packs, one schema per type, the conventions that make a graph of Markdown files checkable, a worked example, and the `companygraph` command that makes an instance, keeps it current and installs the Obsidian plugin, from a menu or by name | +| [**meta-model**](https://github.com/companygraph/meta-model) | The vocabulary: core types and the packs a kind of company adds, one schema per type, the conventions that make a graph of Markdown files checkable, a worked example, and the `companygraph` command that makes an instance, keeps it current and installs the Obsidian plugin, from a menu or by name | | [**mental-model**](https://github.com/companygraph/mental-model) | CompanyGraph described in its own vocabulary — the second instance, and the first whose subject is a project rather than a person | | [**mcp-server**](https://github.com/companygraph/mcp-server) | A read-only MCP server over any instance: an agent asks which types a company declares, what one entity says and what evidence a claim rests on, and it draws a part of the model as a diagram; every answer is what the model says at one commit | | [**mcp-companygraph-io**](https://github.com/companygraph/mcp-companygraph-io) | The MCP server running on CompanyGraph's own model, at [mcp.companygraph.io](https://mcp.companygraph.io/mcp), the address to give a client; every answer is what that model says at one pinned commit | @@ -18,7 +18,7 @@ It is not invented. It is the generalization of a model that already works in tw | [**chat-server**](https://github.com/companygraph/chat-server) | A chat over any instance's MCP host: a visitor asks in their own words on a site, the service asks the host's tools and Claude writes the answer from what they said, naming the entity each claim rests on, answering a grouping as a table and a structure as the picture the host drew; it holds no model and pins no commit | | [**companygraph.github.io**](https://github.com/companygraph/companygraph.github.io) | The site at [companygraph.io](https://companygraph.io) — landing page with the vision and values, the [model](https://companygraph.io/model/), its processes, principles and surfaces, the [CLI](https://companygraph.io/cli/), the [talks](https://companygraph.io/talks/), billing, privacy, and a chat that answers from the model | -**New here?** The [short introduction](https://companygraph.io/talks/intro/) is the fastest way in: why a company's knowledge lives everywhere and nowhere, what two companies that never met both arrived at, and what is written today. DE · EN. +**New here?** The [short introduction](https://companygraph.io/talks/intro/) is the fastest way in: why a company's knowledge lives everywhere and nowhere, what two companies that never met both arrived at, and what is written today. DE · EN. The [other talks](https://companygraph.io/talks/) go further: [one on core and the packs](https://companygraph.io/talks/core-and-packs/), one on each pack, and one each on the Obsidian plugin, on how far a model reaches and on what stays when the model changes. ## 🧩 How it fits together @@ -50,7 +50,7 @@ flowchart TB end MM -- "core vendored at a release" --> MENTAL & GGMM - MM -- "core and the three packs, at a release" --> CGMM + MM -- "core and every pack, at a release" --> CGMM MM -- "the parser and checks, by tag · bundled" --> PLUGIN MM -. "the command installs its newest release" .-> PLUGIN MM -- "the instance parser, by tag" --> MCP & SITE & BLUST & GGIO @@ -102,17 +102,27 @@ Core defines a type without obliging you to populate it: a company that does not `risk` and `control`, with a KPI naming the controls it assesses; and `data-processor`, `processing-activity` and `stored-item`, for what a privacy page and a record of processing have to say. A gate stays a section of its phase, saying where failure leads, rather than a - type of its own, and `group` went to the organization pack rather than into core. Still - ahead is the whole of market and obligation. + type of its own, and `group` went to the organization pack rather than into core. The talk + [One core, and the words your company adds](https://companygraph.io/talks/core-and-packs/) + shows what every company shares and where a pack begins. 4. ✅ **Packs** — vocabulary only some kinds of company need at all, vendored beside core. - Three ship. `software` brings domain-driven design to a company that builds software: - bounded contexts, the aggregates and concept designs inside them, domain events and feature - designs. `organization` is for a company of more than one person: its units and the teams - drawn from them, the jobs its people are employed as, the two lines that run through them, - and which human directs which agent. `landscape` is for a company that runs systems: the - systems, what each runs on and holds, the services they provide and the data that passes - between them, aligned to ArchiMate® 4. An instance takes a pack with `init --pack `, - and the second instance takes all three. + An instance takes a pack with `init --pack `, and the second instance takes every + one. Each pack's README says what its types carry and what they draw on, and each pack has + a talk of its own: + - **software**, for a company that builds software, in domain-driven design's terms: + `bounded-context`, `aggregate`, `concept-design`, `domain-event` and `feature-design` — + [README](https://github.com/companygraph/meta-model/tree/main/packs/software) · + [talk](https://companygraph.io/talks/software-pack/) + - **organization**, for a company of more than one person: `group`, `group-kind` and + `job` — [README](https://github.com/companygraph/meta-model/tree/main/packs/organization) · + [talk](https://companygraph.io/talks/organization-pack/) + - **landscape**, for a company that runs systems, aligned to ArchiMate® 4: `system`, + `system-kind`, `service`, `data-object` and `environment` — + [README](https://github.com/companygraph/meta-model/tree/main/packs/landscape) · + [talk](https://companygraph.io/talks/landscape-pack/) + - **requirements**, for a company that says what its products must do before it builds + them: `use-case` and `requirement` — [README](https://github.com/companygraph/meta-model/tree/main/packs/requirements) · + [talk](https://companygraph.io/talks/requirements-pack/) 5. ✅ **Tooling** — the `companygraph` command, shipped inside the meta-model rather than in a repository of its own, and run from a release tag as `npx github:companygraph/meta-model#`. Run with nothing after it at a terminal, it opens @@ -135,8 +145,6 @@ Core defines a type without obliging you to populate it: a company that does not model records, asking a decision model the writing rules once the owner consents, building a profile from a folder of a person's documents, building an instance from a company's web address, and recording the consent a source's content is used under. - Writing a new entity from its schema, the `add` [the design](https://github.com/companygraph/meta-model/blob/main/docs/superpowers/specs/2026-08-25-companygraph-tooling-design.md) - named, is not built. 6. ✅ **The checker** — the checks that are about an instance rather than about the meta-model ship as `companygraph-meta-model/checks`, and an instance runs them through a reusable workflow at the release its manifest names. They read the schemas from the core your @@ -170,9 +178,9 @@ Core defines a type without obliging you to populate it: a company that does not CompanyGraph described in the vocabulary it publishes. The reference instance showed the vocabulary holds a real company; it could not show that it holds one that is not a person. This one describes a project, and the people and agents in it are the seats that do its work. - It takes all three packs: how its software is designed, in the software pack's bounded - contexts; the systems it runs on and what they hold; and the one group its people and agents - sit in, with who directs whom. Its privacy page is built from its processors and stored + It takes every pack: how its software is designed, in the software pack's bounded contexts; + the systems it runs on and what they hold; the one group its people and agents sit in, with + who directs whom; and what its product is held to, as use cases and requirements. Its privacy page is built from its processors and stored items, and what the AI Act asks of a company that lets an agent answer for it is answered from its rules, risks and controls. @@ -196,6 +204,17 @@ Core defines a type without obliging you to populate it: a company that does not hospitality, and it runs the server and the chat beside it at [mcp.guestgraph.io](https://mcp.guestgraph.io/mcp). +## 🔭 What comes next + +What follows is not built, and nothing beyond it is promised: + +1. **Market and obligation in core** — a company's customers, and what it is bound by: + terms, policies and agreements. [The first design](https://github.com/companygraph/meta-model/blob/main/docs/superpowers/specs/2026-08-23-companygraph-design.md) + named them, as `customer` and `legal-document`; neither is designed yet. +2. **`add` in the command** — writing a new entity from its schema, which + [the tooling design](https://github.com/companygraph/meta-model/blob/main/docs/superpowers/specs/2026-08-25-companygraph-tooling-design.md) + named. The Obsidian plugin already does it; the command does not yet. + [companygraph.io](https://companygraph.io) is the home page. The meta-model and its tooling are open source and stay that way; if anything ever costs money it is consulting time, and nothing is sold today — [how it would be billed →](https://companygraph.io/billing/) --- From 4cbbb9cebb442216941b7cdce827415779e8ac47 Mon Sep 17 00:00:00 2001 From: Writer Date: Wed, 14 Oct 2026 07:54:09 +0200 Subject: [PATCH 2/2] What adopters ask for decides the next packs The section on what comes next listed two pieces that are not built, market and obligation in core and add in the command. It now says what decides the next step instead: the packs that come next are the ones the companies adopting the model ask for, a request starts as an issue on the meta-model, and nothing beyond that is promised. With nothing in core left ahead, the core item carries its check mark like every other shipped item. Verified: conventions-check and conventions-format pass. Process: Delivery Phase: Implement Track: Prose Co-Authored-By: Claude Opus 5.5 --- profile/README.md | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/profile/README.md b/profile/README.md index c358ba2..5ec9a9b 100644 --- a/profile/README.md +++ b/profile/README.md @@ -92,7 +92,7 @@ Core defines a type without obliging you to populate it: a company that does not [`robertblust/mental-model`](https://github.com/robertblust/mental-model), a company of one, laid out by hand before the tooling existed. What it taught is §7 of [its spec](https://github.com/companygraph/meta-model/blob/main/docs/superpowers/specs/2026-08-26-reference-instance-design.md). -3. **The rest of core** — after the person cluster came `identity` and `vision`, which let an +3. ✅ **The rest of core** — after the person cluster came `identity` and `vision`, which let an instance name the company it describes and say where it is going; `source`, `identifier` and `localization`; `experience-kind` and `achievement-kind`; `surface`; direction's `strategic-objective`, `strategy` and `kpi`; `seat`, the responsibility a process names @@ -206,14 +206,7 @@ Core defines a type without obliging you to populate it: a company that does not ## 🔭 What comes next -What follows is not built, and nothing beyond it is promised: - -1. **Market and obligation in core** — a company's customers, and what it is bound by: - terms, policies and agreements. [The first design](https://github.com/companygraph/meta-model/blob/main/docs/superpowers/specs/2026-08-23-companygraph-design.md) - named them, as `customer` and `legal-document`; neither is designed yet. -2. **`add` in the command** — writing a new entity from its schema, which - [the tooling design](https://github.com/companygraph/meta-model/blob/main/docs/superpowers/specs/2026-08-25-companygraph-tooling-design.md) - named. The Obsidian plugin already does it; the command does not yet. +What the companies adopting the model ask for decides which packs come next. Nothing beyond that is promised, and a request starts as an [issue on the meta-model](https://github.com/companygraph/meta-model/issues). [companygraph.io](https://companygraph.io) is the home page. The meta-model and its tooling are open source and stay that way; if anything ever costs money it is consulting time, and nothing is sold today — [how it would be billed →](https://companygraph.io/billing/)