Skip to content

Commit 030cc39

Browse files
claude[bot]claude
andauthored
docs(agents): Protocol Domains table names marketplace/ where cloud/ used to be (#17838)
The Protocol Domains table in `AGENTS.md` still listed a `Cloud` / `cloud/` row after the cloud control-plane contracts left the open-source spec and the package & marketplace format moved to `packages/spec/src/marketplace/`, published as `@objectstack/spec/marketplace`. The row sent a reader to a directory the tree no longer has, and omitted the one that replaced it. This replaces that one row with a `Marketplace` / `marketplace/` row at the same alphabetical position (after `Kernel`), described from the directory's actual modules rather than from the card's proposal. One line in, one line out — 1075 lines before and after. Docs-only, `skip-changeset`. Fixes #17370 ## Acceptance notes ### The row ``` -| `Cloud` | `cloud/` | Multi-tenant, deployment, environment | +| `Marketplace` | `marketplace/` | Package, Version, Listing, Install, Template | ``` ### Premise findings, re-taken on `origin/main` `51b024a16` (the PM took them on `d79f2499`; `main` advanced by two `docs(pm)` commits, #17828 and #17823, neither touching `AGENTS.md`) 1. **Holds.** `AGENTS.md:657` read `| `Cloud` | `cloud/` | Multi-tenant, deployment, environment |` directly after the `Kernel` row at `:656`; the file is 1075 lines. 2. **Holds.** `git ls-tree -d origin/main packages/spec/src/marketplace` answers `040000 tree 3f19482…`; `packages/spec/src/cloud` answers nothing. `packages/spec/package.json` exports `./marketplace`, and has no `./cloud`. 3. **Holds.** `git grep -ln "Multi-tenant, deployment, environment" origin/main` hits only `AGENTS.md`; `git grep -ln "Protocol Domains" origin/main -- scripts .github packages/spec/scripts` hits nothing. No gate reads this table. 4. **Holds, re-measured.** All 22 open PRs' file lists scanned at this commit, fully paginated (PR #17076 is the standing Version Packages PR at 383 changed files — four pages read). None touches `AGENTS.md`. 5. **FALSIFIED — the dispatch's line-width premise.** The dispatch named "AGENTS.md's own line-width rule, Prime Directive #8" wrapping at ~84–90 bytes. There is no such rule. Prime Directive #8 is **North Star alignment**; `AGENTS.md` carries no line-width rule at all. The real 120-byte budget is `MAX_LINE_BYTES` in `scripts/pm/check-skill-line-ratchet.mjs`, and it **exempts a markdown table row by shape** (`EXEMPTION_CLASSES.table`: "a wrapped `|` row is a different table"). What actually binds a table row is that script's **second** ratchet, `MAX_TABLE_ROW_BYTES`, pinned for `AGENTS.md` at **768 bytes**, shrink-only, headroom 0. The new row is far under it, and the gate's own verdict lines confirm both pins are untouched: ``` ✓ check-skill-line-ratchet: AGENTS.md: widest table row is 768 bytes (pin 768; headroom 0). ✓ check-skill-line-ratchet: AGENTS.md is 1075 lines (ceiling 1075; headroom 0). ``` The dispatch's *operative* instruction — stay within the table's own widest row — was honoured anyway; see the width note below. ### Work item B — other `cloud/` references in AGENTS.md `git grep -n "cloud/" origin/main -- AGENTS.md` returns exactly one hit: line 657, the row being replaced. Nothing else in the file to report, and nothing else was touched. ### The description, verified against the directory `git ls-tree -r --name-only origin/main packages/spec/src/marketplace` lists ten files — five modules and five test files: ``` index.ts marketplace.zod.ts marketplace.test.ts package.zod.ts package-namespace.test.ts package-version.zod.ts package-l10n.test.ts package-l10n.ts template-manifest-id.test.ts template-manifest.zod.ts ``` The card proposed 「Package identity & versions, marketplace listing / publish / install format, template manifests」. That description is **accurate** — it does not overstate — but it is 132 bytes as a row, against a table whose widest row is 84, and its `&` / ` / ` punctuation is out of register with its neighbours, which are bare comma-separated noun lists of the domain's principal schemas (`Data` → "Object, Field, FieldType, Query, Filter, Sort"; `Security` → "Permission, Role, Policy"). So it was shortened into that register, one noun per real schema family, each traceable to a module's top-level exports: | Noun | Module | Principal exports | |:---|:---|:---| | `Package` | `package.zod.ts` | `PackageSchema`, `PackageTranslationsSchema`, `CreatePackageRequestSchema` | | `Version` | `package-version.zod.ts` | `PackageVersionSchema`, `PackageManifestSchema`, `PublishPackageVersionRequestSchema` | | `Listing` | `marketplace.zod.ts` | `MarketplaceListingSchema`, `PackageSubmissionSchema`, `MarketplaceSearchRequestSchema` | | `Install` | `marketplace.zod.ts` | `MarketplaceInstallRequestSchema`, `MarketplaceInstallResponseSchema` | | `Template` | `template-manifest.zod.ts` | `TemplateManifestSchema` — the on-disk `objectstack.manifest.json` descriptor | `package-l10n.ts` is the listing-localisation resolver over `PackageTranslations` and folds under `Package`; the neighbouring rows do not enumerate helper resolvers either (`Shared` → "Error maps, normalization utilities"). ### Byte width of the new row versus the table's widest | Row | Bytes | |:---|---:| | New `Marketplace` row | **81** | | Table's widest row — `UI` (`:649`) | 84 | | Old `Cloud` row (replaced) | 62 | | `MAX_TABLE_ROW_BYTES` pin for AGENTS.md (the gate) | 768 | The new row is 3 bytes under the table's own widest and 687 under the enforced pin. ### Gates Derived in this worktree with `node scripts/pm/dispatch-gates.mjs --commands --repo objectstack-ai/objectstack` (no paths — the tool takes its own change set from the merge base). 14 families derived, **14 run, all exit 0**: ``` node scripts/check-closing-keyword-parity.mjs :: exit 0 node scripts/check-closing-keyword-parity.mjs --self-test :: exit 0 node scripts/check-comment-mask-corpus.mjs :: exit 0 pnpm check:agent-test-spelling :: exit 0 pnpm check:docs-audit-scope :: exit 0 pnpm check:driver-memory-census :: exit 0 pnpm check:nul-bytes :: exit 0 pnpm check:pm-governed-merges :: exit 0 pnpm check:pm-governed-prose :: exit 0 pnpm check:pm-skill-id-lint :: exit 0 pnpm check:pm-skill-ratchet :: exit 0 pnpm check:refd-timer-probe :: exit 0 pnpm check:required-contexts :: exit 0 pnpm check:watch-hint-literal :: exit 0 ``` Reconciled: `node scripts/pm/dispatch-gates.mjs --repo objectstack-ai/objectstack --ran RANFILE` (exit codes recorded per family) → ``` ✓ dispatch-gates --ran: 14 derived famil(ies) accounted for — 14 run, 0 NOT-MEASURED (a DERIVED zero — all 14 recorded an exit code and none of them is 3). ``` All gate readings above were taken at `f68b09653`, the final commit on this branch. No build or test family is owed: the diff touches no package, so the closure build is empty and no package's `pnpm test` / `pnpm typecheck` is in scope. Control-byte self-scan beyond `check:nul-bytes`: `grep -naP '[\x00-\x08\x0b\x0c\x0e-\x1f\x7f]' AGENTS.md` exits 1 with zero output. ### Changeset `skip-changeset`. Measured, not assumed: of the 76 tracked package manifests, zero published package lists anything matching `AGENTS` in its `files[]`, against a positive control of 70 published packages that do list `README`. `AGENTS.md` is a repo-root instruction file and ships in no tarball, so this PR publishes nothing. ### Governed surface `AGENTS.md` is a governed surface (Prime Directive #14). This PR stays a **draft**; it is never flipped ready, never queued, and auto-merge is never armed by this seat. The PM places the four-piece and the maintainer merges. ## 维护者速读(草稿) **改了什么** — `AGENTS.md` 的 Protocol Domains 表里那一行 `Cloud` / `cloud/` 换成了 `Marketplace` / `marketplace/`,位置不变(仍在 `Kernel` 之后,按字母序),描述按目录里实际有的五个模块重写。整个 PR 就这一行,进一行出一行,文件 1075 行前后不变。 **为什么改** — #16325 把云控制面的协议移出开源 spec(option B「cut by owner」,维护者「同意」),包与市场格式搬到了 `packages/spec/src/marketplace/`。那一行从此指着一个不存在的目录,并且漏掉了顶替它的那个。没有任何门禁读这张表,所以它只会一直烂着,不会变红——这正是要人来修的原因。 **风险与代价(含回滚)** — 风险接近于零:纯文档一行,不触碰任何包,不发布任何东西,14 个派生门禁全绿。回滚就是把这一行改回去,一次 revert 即可,没有任何下游依赖。唯一需要留意的是这是受管面,必须由维护者手工合并。 **席位意见** — (留空,待席位定稿) **你要做的** — 确认 `Marketplace` 行的描述用词是否合你的意:目前是 `Package, Version, Listing, Install, Template`,比卡片原提案短,理由是要和表里其他行同一种写法(裸名词列表)、同一个宽度量级(81 字节,表内最宽 84)。如果你更想保留卡片原来那句更长的描述,告诉我,我改。确认后由你手工合并。 --- _Generated by [Claude Code](https://claude.ai/code/session_01MCLBsUgfykL74aU716rzVK)_ Co-authored-by: Claude <noreply@anthropic.com>
1 parent 7c2c5ae commit 030cc39

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

AGENTS.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -654,7 +654,7 @@ content/docs/ # 📝 Docs content
654654
| `Identity` | `identity/` | User, Organization, Profile |
655655
| `Security` | `security/` | Permission, Role, Policy |
656656
| `Kernel` | `kernel/` | Plugin lifecycle (PluginContext) |
657-
| `Cloud` | `cloud/` | Multi-tenant, deployment, environment |
657+
| `Marketplace` | `marketplace/` | Package, Version, Listing, Install, Template |
658658
| `QA` | `qa/` | Test, validation |
659659
| `Contracts` | `contracts/` | Cross-package interfaces |
660660
| `Integration` | `integration/` | External integrations |

0 commit comments

Comments
 (0)