Skip to content

docs(concepts): the architecture page's sixth protocol card becomes Marketplace Protocol - #19178

Merged
os-try-charles merged 1 commit into
mainfrom
claude/issue-17387-marketplace-protocol-card
Sep 19, 2026
Merged

os-try-charles merged 1 commit into
mainfrom
claude/issue-17387-marketplace-protocol-card

Conversation

@os-try-charles

Copy link
Copy Markdown
Collaborator

Fixes #17387

Clause-②: no

What changed

content/docs/concepts/architecture.mdx only — 1 file, +5 / -5. No code, no published surface, no workflow, nothing under packages/spec.

The six cards under "The Protocol Stack" map one-to-one onto the protocol namespaces packages/spec publishes, and ./cloud is no longer one of them: PR #17372 moved the cloud control plane's contracts into the cloud repo while the package format stayed as @objectstack/spec/marketplace. The sixth card and the mermaid node under "Why Separated Layers?" were two expressions of that one stale namespace, so both moved together — changing only one would have left the page self-contradictory.

  1. The sixth card is now titled Marketplace Protocol, described as "Packaging: package format, versions, listings, templates."
  2. Multi-tenancy and Licensing leave the page with the card that described them.
  3. The mermaid node System · Automation · Cloud Protocol / Auth · Permissions · Orchestration · Multi-tenancy now reads System · Automation · Marketplace Protocol / Auth · Permissions · Orchestration · Packaging.

Two deviations from the literal ruling text, both declared rather than silent:

  • The card's icon changed too. The card imported the Cloud glyph from lucide-react; a card titled Marketplace Protocol carrying a cloud icon is the same drift in a third expression, so the import and the icon= prop now name Package instead. Package is already the icon other pages use for packaging (content/docs/protocol/kernel/plugin-spec.mdx, content/docs/protocol/objectql/schema.mdx) and it is exported by the installed lucide-react@1.31.0.
  • A trailing period was added to the description, because the other five card descriptions on the same page all carry one. Typography only; the ruling's wording is otherwise verbatim.

Ruling executed, not re-weighed

The card body listed three options and called the choice a framing decision. The director seat ruled A on 2026-09-11T11:53Z (issue comment 5634035531, class-one self-adjudication recorded in the summon #22 ledger for the maintainer's later ratification), on the standing ruling 「文档应该以实际实现为准」. Triage graded it priority:p3 / type Bug (5690506939). This PR executes ruling A; it does not reopen the options.

Evidence

Premise re-verified on this branch's base 30288da04 (the PM measured on 83649b870; the reading is unchanged):

$ git grep -n -i 'cloud protocol' -- content/docs        # before
content/docs/concepts/architecture.mdx:49:    title="Cloud Protocol"
content/docs/concepts/architecture.mdx:63:    OS[... System · Automation · Cloud Protocol ... Multi-tenancy ...]

$ python3 -c "import json;print(sorted(json.load(open('packages/spec/package.json'))['exports']))"
['.', './ai', './api', './automation', './contracts', './data', './identity', './integration',
 './kernel', './marketplace', './meta-spelling', './openapi.json', './package.json', './qa',
 './security', './shared', './studio', './system', './ui']          # no './cloud', './marketplace' present

The card's own predicate, re-measured after the edit, with its same-shape control:

$ git grep -n -i 'cloud protocol' -- content/docs        # after
(no output, exit 1)

$ git grep -l -i 'marketplace protocol' -- content/docs  # control — 6 files before, 7 after
content/docs/concepts/architecture.mdx      (this page joins the existing vocabulary)
content/docs/getting-started/glossary.mdx
content/docs/getting-started/quick-reference.mdx
content/docs/references/index.mdx
content/docs/references/marketplace/index.mdx
content/docs/references/marketplace/marketplace.mdx
content/docs/references/marketplace/meta.json

A zero with no control is not a reading; the control still hits, and it grew by exactly this page.

Gates

node scripts/pm/dispatch-gates.mjs --commands re-derived against the real changed set (not a hand-written list) at 30288da04: 39 commands, all run, all exit 0, reconciled with --ran carrying each exit code:

✓ dispatch-gates --ran: 39 derived famil(ies) accounted for — 39 run,
  0 NOT-MEASURED (a DERIVED zero — all 39 recorded an exit code and none of them is 3).

Five of the 39 first exited 3 / 1 with PREREQUISITE NOT MET (unbuilt @objectstack/lint, @objectstack/formula, @objectstack/spec, @objectstack/client-react). Those are not findings; the packages were built under the shared verify lock and all five then exited 0. Notably check:docs-section-name — the gate the card named — passes both plainly and with --self-test, so the card's claim that no gate reads this page's card titles holds as measured, not as quoted.

Outside the derived 39 and not measured here: the 52 artifact-roster families, the 11 declared wide-population families, the 14 families that would apply once a changeset existed, and the 2 path-scheduled CI jobs (ci.yml · Test Core, ci.yml · Build Docs). CI owns those.

skip-changeset is correct and measured, not assumed: no package's files[] array names anything under content/, and apps/docs is "private": true. Nothing published moves. The ruling names skip-changeset as well.

Acceptance notes

  • Reported, not decided: content/docs/concepts/architecture.mdx:147 carries a third occurrence of the word on the page — - Multi-tenancy and data isolation, a bullet in the "Layer 2: Kernel (Control Protocol)" responsibilities list. It is not part of the card or the mermaid node, it predates this drift, and it states something about the Kernel rather than about a spec namespace. The ruling's Execution paragraph scopes the work to "the card and the mermaid node", so this PR leaves :147 untouched and hands the question up rather than deciding it. If the intended reading of "drop Multi-tenancy from the page" includes that bullet, it is a one-line follow-up.
  • Noted, not filed: the page's ArrowRight and CheckCircle imports are unrelated to this change and were left alone.

Generated by Claude Code

…arketplace Protocol

The six cards on the protocol-stack section map one-to-one onto the namespaces
`packages/spec` publishes, and `./cloud` is no longer one of them: PR #17372 moved
the cloud control plane's contracts to the cloud repo while the package format
stayed as `@objectstack/spec/marketplace`. The card and the mermaid node under
"Why Separated Layers?" were two expressions of that stale namespace.

Rename the sixth card to `Marketplace Protocol` with the description "Packaging:
package format, versions, listings, templates.", swap its `Cloud` icon for
`Package`, and rewrite the mermaid node `System · Automation · Cloud Protocol` /
`… Multi-tenancy` to match. Multi-tenancy and Licensing leave the page with the
card they described.

Claude-Session: https://claude.ai/code/session_017ef78bLdybu3AffehKkhfk
Co-authored-by: Claude <noreply@anthropic.com>
@os-try-charles os-try-charles added the skip-changeset PR has no user-facing published change; bypasses the changeset gate label Sep 19, 2026 — with Claude
@github-actions github-actions Bot added the documentation Improvements or additions to documentation label Sep 19, 2026
@os-try-charles
os-try-charles marked this pull request as ready for review September 19, 2026 07:34
@os-try-charles
os-try-charles added this pull request to the merge queue Sep 19, 2026
Merged via the queue into main with commit eeaa882 Sep 19, 2026
38 checks passed
@os-try-charles
os-try-charles deleted the claude/issue-17387-marketplace-protocol-card branch September 19, 2026 07:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation size/s skip-changeset PR has no user-facing published change; bypasses the changeset gate

Projects

None yet

Development

Successfully merging this pull request may close these issues.

content/docs/concepts/architecture.mdx still presents a "Cloud Protocol" card after the ./cloud subpath left @objectstack/spec

2 participants