Skip to content

docs(create-objectstack): say the blank template's note object is a sample to delete - #30671

Merged
objectstack-fleet[bot] merged 2 commits into
mainfrom
claude/project-thread-qjnxn4
Nov 5, 2026
Merged

objectstack-fleet[bot] merged 2 commits into
mainfrom
claude/project-thread-qjnxn4

Conversation

@objectstack-fleet

Copy link
Copy Markdown
Contributor

Requested by Elon · project thread
Fixes #30125

Clause-②: no
Metadata-protocol: none

维护者速读

  • 改了什么:create-objectstack 空白模板生成的 README 新增「The sample note object」一节,note.object.ts 开头加一段注释,都说明 note 是示例对象,并给出删除或替换的三步。
  • 为什么改:First-run flow: small frictions a new deployment's first people meet #30125 第 5 项。新项目里的 note 会随构建发布、出现在 REST 和 MCP 的对象列表里,而生成的项目里没有任何地方说它只是示例,开发者可能一直带着它上线。
  • 风险与回滚:只改模板里的文档和注释,不动对象定义、测试和 os g object。回滚即 revert 本 PR。
  • 先看:packages/create-objectstack/src/templates/blank/README.md 新增一节;src/objects/note.object.ts 头部注释。
  • 两分钟验证:pnpm --filter create-objectstack exec vitest run --maxWorkers=2,预期 24 个测试文件全过。
  • 需要你做的:无,席位落地。

What changes

  • templates/blank/README.md: a new section, "The sample note object", says src/objects/note.object.ts is a sample that ships in every build, is served over REST and is listed to MCP clients until removed, and gives the three steps to delete or replace it (delete the file and its export line in src/objects/index.ts; point note.test.ts at one of your own objects, since it imports Note; run pnpm validate and pnpm test). The Layout bullet for src/objects/ links to it.
  • templates/blank/src/objects/note.object.ts: a header comment saying the same, so a developer or coding agent opening the object file reads it there too.
  • One root changeset, create-objectstack: patch.

Not changed, on purpose: the sample object itself (note.test.ts depends on it) and os g object.

Tests

pnpm --filter create-objectstack exec vitest run --maxWorkers=2 under the verify lock on 7eea2807: Test Files 24 passed (24), Tests 369 passed (369), VERDICT command-exit 0. This covers the template pins that read these two files (starter-comments-self-contained, blank-template-console-disclosure, blank-readme-validate-disclosure). No ablation: the diff changes documentation and a comment, no tested behaviour.

Acceptance notes

  • Premise measured on origin/main f4d568ba before editing: neither the template README nor note.object.ts said the object is a sample; the object's description called it "the starter object for a blank environment" only.
  • The new comment carries no repo-internal reference (no ADR id, issue number or monorepo path), as starter-comments-self-contained.test.ts requires of shipped comments.

Verification

node scripts/pm/dispatch-gates.mjs --commands --repo objectstack-ai/objectstack derived 52 families on 7eea2807; the list is identical on the merge head 22f58ae4 (merge of origin/main b77c160a, which adds no change of this PR's own). --ran reconciliation: 52 accounted, 48 run with exit 0, 4 NOT MEASURED (exit 3, PREREQUISITE NOT MET: they read built dist/ trees, and this diff touches no package source; CI builds and runs them). check:commit-card-trailers --range origin/main..HEAD exit 0.

Gate exit codes (52)
node scripts/check-adr-0087-registration.mjs --base origin/main :: exit 0
node scripts/check-adr-0087-registration.mjs --self-test :: exit 0
node scripts/check-changeset-no-major.mjs --base origin/main :: 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-adoption.mjs :: exit 0
node scripts/check-comment-mask-adoption.mjs --self-test :: exit 0
node scripts/check-comment-mask-corpus.mjs :: exit 0
node scripts/check-dts-emitted.mjs --self-test :: exit 0
node scripts/check-empty-changeset.mjs --base origin/main :: exit 0
node scripts/check-empty-changeset.mjs --self-test :: exit 0
node scripts/check-issue-citations.mjs :: exit 0
node scripts/check-plugin-teardown-shape.mjs :: exit 0
node scripts/check-plugin-teardown-shape.mjs --self-test :: exit 0
node scripts/ci/assert-turbo-remote-cache.mjs --self-test :: exit 0
node scripts/ci/plan-test-core-shards.mjs --self-test :: exit 0
node scripts/ci/prune-turbo-cache.mjs --self-test :: exit 0
node scripts/docs-audit/check-affected-docs.mjs :: exit 0
node scripts/docs-audit/check-drift-comment.mjs :: exit 0
node scripts/pm/release-rehearsal-clone.mjs --self-test :: exit 0
node scripts/release-pending-publish.mjs --self-test :: exit 0
pnpm --filter @objectstack/spec run check:duration-unit-keys :: exit 0
pnpm --filter @objectstack/spec run check:template-manifests :: exit 0
pnpm check:changeset-gate-self-tests :: exit 0
pnpm check:ci-filter-parity :: exit 0
pnpm check:closed-ceremony-text :: exit 0
pnpm check:cross-package-test-inputs :: exit 0
pnpm check:doc-authoring :: exit 0
pnpm check:driver-memory-census :: exit 0
pnpm check:dts-closure :: exit 3
pnpm check:dual-build-cjs-loads :: exit 3
pnpm check:gitlink-declared :: exit 0
pnpm check:issue-citations :: exit 0
pnpm check:keyed-text-bounds :: exit 0
pnpm check:lean-entry-closure :: exit 3
pnpm check:logger-receiver-detach :: exit 0
pnpm check:nul-bytes :: exit 0
pnpm check:org-identifier :: exit 0
pnpm check:page-declaration-shape :: exit 0
pnpm check:platform-object-tenancy-census :: exit 0
pnpm check:published-files :: exit 0
pnpm check:refd-timer-probe :: exit 0
pnpm check:registry-log-declared :: exit 0
pnpm check:rest-log-spy-declared :: exit 0
pnpm check:slot-lookup :: exit 0
pnpm check:sourcemap-no-sources-content :: exit 3
pnpm check:system-context-census :: exit 0
pnpm check:template-version-sync :: exit 0
pnpm check:test-source-alias :: exit 0
pnpm check:tier-file-adoption :: exit 0
pnpm check:undeclared-dep-imports :: exit 0
pnpm check:watch-hint-literal :: exit 0

🤖 Generated with Claude Code

https://claude.ai/code/session_016WV4cz8vMayjbrsVxur2KN

…ample to delete

The generated README gains a section naming src/objects/note.object.ts as a
sample, with the steps to delete or replace it, and the object file opens with
a comment saying the same.

Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016WV4cz8vMayjbrsVxur2KN
@github-actions github-actions Bot added size/s documentation Improvements or additions to documentation tooling Fix lands in tooling, not a product package — enters pm:queue only with Unblocks: or a named surface labels Nov 5, 2026
@github-actions

github-actions Bot commented Nov 5, 2026

Copy link
Copy Markdown
Contributor

📓 Docs Drift Check

⚠️ 2 changed file(s) yielded no anchor (packages/create-objectstack/src/templates/blank/README.md, packages/create-objectstack/src/templates/blank/src/objects/note.object.ts), so the pages documenting them are NOT COVERED by this run — this is not a clean bill of health for those files. Nothing else in this diff resolved to a documentable surface (no symbol, route or SDK anchor derived from 1 changed package(s)).

What this run could not see
  • 2 changed file(s) yielded no anchor (packages/create-objectstack/src/templates/blank/README.md, packages/create-objectstack/src/templates/blank/src/objects/note.object.ts) — pages documenting those are invisible to this run
  • a page that states a rule by its inputs shares no identifier with the emitter that implements the rule, so an emitter-only diff cannot list it — not on this run and not on any run. Measured on fix(driver-sql): emit varchar(maxLength) for a text field a declared index keys on #11430: content/docs/protocol/objectql/types.mdx documents the text-family column mapping by the ObjectQL type names it maps FROM (text / textarea / html) while the diff changed createColumn; it went unlisted, and it was the page that diff falsified, in four places. No shared token exists to detect this on, so a rule your change carries has to be re-read by hand in the pages that restate it.
  • a key NAME is not a key, so the hand re-read the line above prescribes can land on the wrong schema. The same spelling is authorable on one governed type and a [REMOVED] tombstone on another for each of active, aria, joins, objects, template, tools and version (censused on [finding] tools is a key on BOTH AgentSchema (tombstoned, dead) and SkillSchema (live, cloud-attested), so a name-based search attributes skill examples to the agent key — it produced a false stop-the-line alarm on PR #19059 #19093 over the liveness ledger's governed types, top-level keys); nothing in a search result distinguishes the two, so a grep hit on a LIVE example reads as evidence about the DEAD key. Measured on fix(spec): the agent.tools liveness row says dead — it claimed live on a key the schema tombstoned #19059: content/docs/ai/agents.mdx was reported as contradicting the agent.tools tombstone over its tools: example at :161, which is inside the defineSkill({ block opened at :155 — the page was already correct. Settle ownership by PARSING the value against both schemas, never by the name: that literal PASSES SkillSchema, and as an AgentSchema it FAILS at tools with the tombstone prescription. ⛔ These names are not the whole class — a key retired through a .strict() guidance map leaves no tombstone in the walked shape and none of them here (tool.category, live as AIToolDefinition.category).

Coarse fallback — 1 page(s) merely mention a changed package (the pre-#9192 predicate, kept for the deliberately-wide backstop): node scripts/docs-audit/affected-docs.mjs --json b77c160a02c2bb69ad6c986461b2633fa8d28c18 → packageMentionDocs.

@objectstack-fleet

Copy link
Copy Markdown
Contributor Author

domain:devx#1 · os-elon-musk · session_016WV4cymvo9YoyLwKCXXBNw

席位核对 · ACCEPT · #30125 item 5 · 2026-11-05T22:18Z

Head-sha: 22f58ae4dc6c716f5e4ea5d19489e837d7cc8bd2

@objectstack-fleet
objectstack-fleet Bot marked this pull request as ready for review November 5, 2026 22:20
@objectstack-fleet
objectstack-fleet Bot added this pull request to the merge queue Nov 5, 2026
Merged via the queue into main with commit a98e5cd Nov 5, 2026
51 checks passed
@objectstack-fleet
objectstack-fleet Bot deleted the claude/project-thread-qjnxn4 branch November 5, 2026 22:58
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 tooling Fix lands in tooling, not a product package — enters pm:queue only with Unblocks: or a named surface

Projects

None yet

Development

Successfully merging this pull request may close these issues.

First-run flow: small frictions a new deployment's first people meet

1 participant