Skip to content

docs(cli): narrow the dev --fresh isolation claim to what it actually covers (#5594) - #5640

Merged
baozhoutao merged 1 commit into
mainfrom
claude/issue-5594-fresh-claim-scope
Aug 5, 2026
Merged

docs(cli): narrow the dev --fresh isolation claim to what it actually covers (#5594)#5640
baozhoutao merged 1 commit into
mainfrom
claude/issue-5594-fresh-claim-scope

Conversation

@baozhoutao

Copy link
Copy Markdown
Contributor

Fixes #5594

按 PM 裁定走 issue 的处置 1:把 --fresh 的声明口径收窄到真实覆盖面。⛔ 不做处置 2(app 声明的相对路径改锚 OS_HOME)—— 那是行为变更 + 契约题("relative to cwd" 还是 "relative to this run's home"),issue 正文自己也声明不预设,要做须另立单拍板。

前提复核(先证后改)

基于 origin/main @ 2614aefb3(≥ a287d1ce1,#5601 之后)核对,注释措辞仍在:

packages/cli/src/commands/dev.ts:183
// Creates a unique scratch dir that owns ALL persistent state for
// this run: the SQLite DB (via OS_HOME → ...

前提成立。

真实覆盖面

--fresh 覆盖的是这条命令自己放置的状态:

一句话:OS_HOME 键控的框架态 + 本块向 serve 子进程发布的 env 通道。

不覆盖:app 自己声明的相对路径所指向的状态。这类路径由各自的消费者按进程 cwd 解析,而 --fresh 并不移动 cwd,于是文件落在项目树里、退出后仍在。活体样本是刻意设计而非 bug —— showcase 的 showcase-external datasource 声明 filename: '.objectstack/data/showcase_external.db',其自身注释就写明按项目 cwd 解析;因此 --fresh 跑 showcase 会留下该文件(含 -wal/-shm)。本 PR 未改动该 datasource 声明。

改动面

未改 serve.ts:2987:那里是 #4968 的历史叙述,原文以过去时引用旧承诺("dev --fresh promised … uploads actually landed under the project cwd"),作为 bug 史实仍然准确,且 serve.ts 是 CLI 里最热的文件,不必为一句历史引用制造冲突面。

验证

零行为变更(只改注释、help 字符串与文档),故无新增测试;既有测试无一断言 "ALL state" 措辞(packages/cli/test/commands.test.ts 只断言 command 级 description,flag description 无 pin)。

  • pnpm --filter @objectstack/cli testTest Files 82 passed (82) / Tests 812 passed (812)
  • pnpm --filter @objectstack/cli typechecktsc --noEmit,无输出
  • node scripts/check-role-word.mjs → OK(43 baselined,无新增)
  • node scripts/check-doc-authoring.mjs → 362 files clean
  • node scripts/docs-audit/check-audit-scope.mjs → in sync
  • node scripts/check-nul-bytes.mjs → OK(5537 files,无裸控制字节)

Changeset

带了 .changeset/dev-fresh-claim-scope.md(@objectstack/cli: patch)。虽是口径修正,但 --freshflag help 文本随包发布、用户 --help 直接可见,属用户可见变更,按 AGENTS.md 走真实 changeset 而非 skip-changeset 标签;若 PM 判定不该发版,改挂 skip-changeset 并删除该 changeset 即可。


Generated by Claude Code

…#5594)

`--fresh` 的注释声明 tempdir "owns ALL persistent state for this run",
但 app 自己声明的 cwd 相对路径(如 showcase 的 `showcase_external.db`)
由各自的消费者按进程 cwd 解析,而 `--fresh` 并不移动 cwd —— 这类状态写在
项目树里、退出后仍在。#4968 之后真实覆盖面是「`OS_HOME` 键控的框架态 +
CLI 发布的 env 通道(`OS_DATABASE_URL` / `OS_STORAGE_LOCAL_ROOT`)」。

本 PR 只让承诺句变真,不让行为变大:改写 `dev.ts` 的 `--fresh` 注释块与
flag help,并在 `content/docs/deployment/cli.mdx` 的 `os dev` 选项表旁补一段
范围说明。刻意不做 issue 的处置 2(相对路径改锚 `OS_HOME`)—— 那是契约变更。

零行为变更;showcase 的 datasource 声明是刻意设计,未改动。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016FNvXhtSdnEGEfLEsMmvxh
@vercel

vercel Bot commented Aug 5, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
objectstack Ignored Ignored Aug 5, 2026 9:22pm

Request Review

@github-actions github-actions Bot added documentation Improvements or additions to documentation tooling size/s labels Aug 5, 2026
@github-actions

github-actions Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

📓 Docs Drift Check

This PR changes 1 package(s): @objectstack/cli.

21 hand-written doc(s) reference the affected code and may need an implementation-accuracy re-verification:

  • content/docs/ai/skills-reference.mdx (via packages/cli)
  • content/docs/api/client-sdk.mdx (via @objectstack/cli)
  • content/docs/api/data-flow.mdx (via @objectstack/cli)
  • content/docs/api/environment-routing.mdx (via @objectstack/cli)
  • content/docs/api/error-catalog.mdx (via @objectstack/cli)
  • content/docs/automation/hook-bodies.mdx (via packages/cli)
  • content/docs/deployment/backup-restore.mdx (via @objectstack/cli)
  • content/docs/deployment/cli.mdx (via @objectstack/cli)
  • content/docs/deployment/self-hosting.mdx (via @objectstack/cli)
  • content/docs/deployment/validating-metadata.mdx (via packages/cli)
  • content/docs/getting-started/your-first-project.mdx (via @objectstack/cli)
  • content/docs/kernel/runtime-services/data-service.mdx (via packages/cli)
  • content/docs/kernel/runtime-services/index.mdx (via packages/cli)
  • content/docs/permissions/authentication.mdx (via @objectstack/cli)
  • content/docs/plugins/index.mdx (via @objectstack/cli)
  • content/docs/plugins/packages.mdx (via @objectstack/cli)
  • content/docs/protocol/kernel/plugin-spec.mdx (via @objectstack/cli)
  • content/docs/protocol/kernel/realtime-protocol.mdx (via @objectstack/cli)
  • content/docs/releases/implementation-status.mdx (via @objectstack/cli)
  • content/docs/releases/v16.mdx (via @objectstack/cli)
  • content/docs/releases/v17.mdx (via @objectstack/cli)

Advisory only. To re-verify, run the docs-accuracy-audit workflow scoped to these files:
node scripts/docs-audit/affected-docs.mjs origin/main → pass the list as args.docs.

@baozhoutao
baozhoutao marked this pull request as ready for review August 5, 2026 21:31
@baozhoutao
baozhoutao enabled auto-merge August 5, 2026 21:31
@baozhoutao
baozhoutao added this pull request to the merge queue Aug 5, 2026
Merged via the queue into main with commit 9c4a14c Aug 5, 2026
25 checks passed
@baozhoutao
baozhoutao deleted the claude/issue-5594-fresh-claim-scope branch August 5, 2026 21:45
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

Projects

None yet

2 participants