@oevery/rsp 3.1.0-beta.3 → 3.1.0-beta.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -34,17 +34,17 @@ RSP derives the next action from the selected Change, repository evidence, verif
34
34
  ## Quick start
35
35
 
36
36
  ```bash
37
- npx -y @oevery/rsp@3.1.0-beta.3 init
38
- npx -y @oevery/rsp@3.1.0-beta.3 doctor
37
+ npx -y @oevery/rsp@3.1.0-beta.5 init
38
+ npx -y @oevery/rsp@3.1.0-beta.5 doctor
39
39
  ```
40
40
 
41
41
  Recommended bootstrap flow:
42
42
 
43
43
  ```bash
44
- npx -y @oevery/rsp@3.1.0-beta.3 init --with-project-setup
44
+ npx -y @oevery/rsp@3.1.0-beta.5 init --with-project-setup
45
45
  # fill .rsp/changes/project-setup.md
46
46
  # fill .rsp/specs/design.md
47
- npx -y @oevery/rsp@3.1.0-beta.3 doctor
47
+ npx -y @oevery/rsp@3.1.0-beta.5 doctor
48
48
  ```
49
49
 
50
50
  ## Artifact foundation
@@ -89,15 +89,16 @@ npx -y @oevery/rsp@3.1.0-beta.3 doctor
89
89
  - An exact blocker line, `- requires \`<change-work-ref>\`: <reason>`, declares a dependency on another executable Change. Free-form blockers stay external; RSP never guesses edges from prose. Archived prerequisites resolve automatically.
90
90
  - Change names are either flat (`<change>`) or one direct grouped child (`<group>/<change>`). Recursive work directories are rejected.
91
91
  - A Change Group is optional and is the only composite work shape. Its non-executable, non-focusable logical identity `<group>/brief`, physically stored as `<group>/00-brief.md`, owns the shared goal, constraints, declared slices, completion conditions, durable outcomes, and blockers for at least two direct child Changes.
92
- - Create a group before its children. Every grouped Change must be declared by the brief, is focused and archived independently, and includes the brief in its context. With no focus, `status` uses Brief declaration order and current blockers to recommend the first executable slice. `status`, `check`, and `doctor` derive group health and completion without persisting another state; `rsp group close` archives only a completed brief. Archived Group identities cannot be reopened.
92
+ - Create a group before its children. Every grouped Change must be declared by the brief, is focused and archived independently, and includes the brief in its context. With no focus, `status` uses Brief declaration order and current blockers to recommend the first executable slice. `status`, `check`, and `doctor` derive group health and completion without persisting another state; `rsp group close` archives only a completed brief. `rsp group create` never reuses an archived identity; `rsp group reopen <group> --reason <text>` explicitly restores one retained Brief snapshot as unfinished, unfocused continuation of that same Group.
93
93
  - A Group Brief blocker is inherited by its direct children as an external blocker in the derived execution plan; it does not create guessed dependency edges.
94
94
  - A Markdown file and directory cannot claim the same work identity.
95
95
  - `rsp status`, `rsp check`, and `rsp doctor` inspect the same complete work tree and dependency facts. `status` derives exact edges with their reasons, ready work, blockers, and stable waves without a graph file; `check` and `doctor` reject incomplete archive inspection, malformed or missing targets, self-dependencies, and cycles. The `changes/` root must exist as a real directory, and existing focus/archive roots and group prefixes must also be real directories. Unsupported directories, non-Markdown entries, symlinks, missing or unreadable current work, incomplete reads, and identity collisions are visible errors. `status` exits non-zero instead of hiding invalid work.
96
96
  - `rsp init`, `rsp update`, `rsp add spec`, and the generated Specs index builder apply the same no-follow managed-path checks. Archive discovery accepts only flat archive files or one real group directory; recursively organized Specs accept only real directories and regular files.
97
97
  - Final managed files—such as the project `AGENTS.md`, focus markers, fallback/config files, the generated Specs index, and placeholders—must also be regular files; RSP rejects static symlink targets before reading or writing them.
98
98
  - Completed changes move to `archives/`. Stable current facts belong in Specs; lasting rationale belongs in Decision Records; stable scoped operating instructions belong in nearest project-owned `AGENTS.md`.
99
- - When later evidence shows that the original acceptance was not actually met, `rsp reopen <work-ref> --reason <text>` restores the same executable WorkRef as focused open work and retains the selected archive as history. Multiple archives require an exact `--from .rsp/archives/...` path. Use a new corrective Change for genuinely new scope or an independently delivered correction; reopening never rewrites Git or published history.
99
+ - When later evidence shows that the original acceptance was not actually met, `rsp reopen <work-ref> --reason <text>` restores the same executable WorkRef as focused open work and retains the selected archive as history. If its Group is closed, first use `rsp group reopen <group> --reason <text>`, then reopen only the incomplete child. Multiple matching Change or Group archives require an exact `--from .rsp/archives/...` path. Group reopen creates no focus and never reopens children or dependents. Use a new corrective Change for genuinely new scope or an independently delivered correction; reopening never rewrites Git or published history.
100
100
  - Do not promote task history, debugging notes, or one-off implementation context into Specs, Decision Records, or project instructions.
101
+ - Managed progress questions report current evidence and do not implicitly pause an authorized run. Explicit pause confirms active work has stopped but preserves the focused WorkRef; only explicit release or `rsp unfocus` clears selection. Blocked or paused runs return a response-only continuation, and resume rereads authority, status, diff, blockers, and verification before requalifying Manage. RSP persists no paused or controller state.
101
102
  - Change `Spec` delta markers (`### ADDED`, `### MODIFIED`, `### REMOVED`) are planning aids only. `rsp archive` does not automatically promote them into Specs or Decision Records. Durable writeback remains an explicit semantic decision.
102
103
  - `rsp check` performs deterministic hygiene checks. It warns about unfinished template placeholders and unresolved clarification markers, but those warnings do not replace the semantic durable-update decision.
103
104
 
@@ -171,7 +172,14 @@ RSP publishes eleven default host-neutral lifecycle Skills for on-demand loading
171
172
 
172
173
  Each lifecycle Skill returns to an existing project or RSP owner. Report-only Pre-Change Design and `rsp-structural-audit` may return one bounded result directly to the user without inventing an artifact owner. The suite adds no hidden workflow state or recursive Skill orchestration. No Skill infers commit, push, publication, deployment, approval, or human-acceptance authority.
173
174
 
174
- Response language and artifact language are independent. Human-facing response headings, labels, explanations, and conclusions follow the requested response language, response-specific project instructions, then the conversation language. Authorized artifact prose follows the requested artifact language, artifact-specific project instructions, then the existing artifact language, and only then the conversation language. Canonical RSP artifact headings, WorkRef values, paths, commands, identifiers, and machine-consumed values remain unchanged; response labels may retain technical tokens in parentheses but never use them as untranslated labels.
175
+ Response language is user/session-owned; artifact and commit-message language are durable project surfaces. Project `.rsp/config.yaml` never selects response language: response prose follows an explicit current request, user/host personal instructions, then conversation language. A project may set one durable `language.default` and independently override `language.artifacts` or `language.commit`. New authorized artifact prose follows an explicit artifact request, the configured effective artifact language, artifact-specific project instructions, then conversation language; existing artifacts keep their established language unless translation is explicitly authorized. Commit prose follows an explicit current commit-language instruction, configured effective commit language, repository commit authority, then clear recent non-merge history. Configuration changes never rewrite existing artifacts. CLI-generated scaffolds contain canonical structural tokens, neutral `<…>` placeholders, and verbatim user input instead of a locale catalog or silent English prose fallback; Core and discipline Skills fill their authorized natural-language content. Canonical RSP headings, paths, commands, identifiers, Conventional Commit types/scopes, trailers, and machine-consumed values remain unchanged; WorkRefs use the safe Unicode identity contract rather than the prose-language fallback chain.
176
+
177
+ ```yaml
178
+ language:
179
+ default: en
180
+ ```
181
+
182
+ `default` is required when the mapping is present and supplies both durable surfaces. Optional `artifacts` and `commit` override only their respective surfaces. `response` is intentionally unsupported because a shared repository must not constrain each collaborator's conversation language. Omit `language` entirely to leave both durable values unset. Plain status shows configured durable values, while status JSON always exposes `language.artifacts` and `language.commit` as a canonical language tag or `null`. Language configuration never grants staging, commit, push, or publication authority.
175
183
 
176
184
  Compose the suite from evidence: an explicit bounded question may enter report-only Pre-Change Design before Shape; otherwise Shape settles the executable owner and Tracked Design returns one material question to it. Core then chooses Diagnose, TDD, or Implement; Review stays report-only; Resolve Findings corrects accepted findings and requests re-review; Core performs the durable decision before archive. An explicit release operation with a confirmed identity or range may enter Release Docs without a Release Change; create one only for material decisions, coordination, recovery, blockers, or acceptance. Manage is optional: it accepts one selected ready Change or shallow Group that needs independent dispatch, long continuation, or recovery, while small or coupled work stays direct. Projects may keep explicit activation or let Core select eligible managed work automatically.
177
185
 
@@ -197,7 +205,7 @@ New `rsp init` config templates use the shown `auto` plus `lifecycle` policy. If
197
205
 
198
206
  Humans should start with this README. Agents should follow the nearest `AGENTS.md`, prefer `skills/rsp/SKILL.md`, and use `.rsp/rsp-rules.md` only when the Skill is unavailable.
199
207
 
200
- When this README shows `rsp <command>`, it assumes the command is already available in your environment. For opt-in beta evaluation, pin the exact prerelease identity, such as `npx -y @oevery/rsp@3.1.0-beta.3 <command>`; stable users can keep using the unversioned package entrypoint for npm `latest`.
208
+ When this README shows `rsp <command>`, it assumes the command is already available in your environment. For opt-in beta evaluation, pin the exact prerelease identity, such as `npx -y @oevery/rsp@3.1.0-beta.5 <command>`; stable users can keep using the unversioned package entrypoint for npm `latest`.
201
209
 
202
210
  Install the exact package's default lifecycle suite into the current project:
203
211
 
@@ -225,8 +233,8 @@ rsp skills install rsp-structural-audit
225
233
  Both forms install from the package that invoked `rsp`, so prerelease dogfooding can pin one exact npm identity:
226
234
 
227
235
  ```bash
228
- npx -y @oevery/rsp@3.1.0-beta.3 skills install --dry-run
229
- npx -y @oevery/rsp@3.1.0-beta.3 skills install
236
+ npx -y @oevery/rsp@3.1.0-beta.5 skills install --dry-run
237
+ npx -y @oevery/rsp@3.1.0-beta.5 skills install
230
238
  ```
231
239
 
232
240
  Exact prerelease identities avoid depending on a moving dist-tag. `rsp update` refreshes RSP-managed project files only; run `rsp skills install` separately to refresh the package-owned Skill suite.
@@ -280,8 +288,8 @@ Durable review makes two independent semantic choices: whether current facts or
280
288
 
281
289
  New project:
282
290
 
283
- 1. `npx -y @oevery/rsp@3.1.0-beta.3 init`
284
- 2. Prefer `npx -y @oevery/rsp@3.1.0-beta.3 init --with-project-setup`, or run `rsp create project-setup` manually
291
+ 1. `npx -y @oevery/rsp@3.1.0-beta.5 init`
292
+ 2. Prefer `npx -y @oevery/rsp@3.1.0-beta.5 init --with-project-setup`, or run `rsp create project-setup` manually
285
293
  3. Fill `.rsp/specs/design.md`
286
294
  4. Use `rsp add spec <name>` only when a new durable project doc is needed
287
295
  5. Keep lasting rationale in the configured Decision Record directory and stable scoped operating instructions in the nearest project-owned `AGENTS.md`
@@ -295,14 +303,14 @@ New project:
295
303
 
296
304
  Existing project with a rich `AGENTS.md`:
297
305
 
298
- 1. `npx -y @oevery/rsp@3.1.0-beta.3 init`
306
+ 1. `npx -y @oevery/rsp@3.1.0-beta.5 init`
299
307
  2. Keep the managed block thin
300
308
  3. Keep project-wide boundaries and navigation in `.rsp/specs/design.md`, and route cohesive durable facts to the smallest domain Spec
301
309
  4. Use `rsp add spec <name>` only when another durable current-fact document is needed
302
310
 
303
311
  AI-assisted setup:
304
312
 
305
- 1. `npx -y @oevery/rsp@3.1.0-beta.3 init --agents-mode print --with-project-setup`
313
+ 1. `npx -y @oevery/rsp@3.1.0-beta.5 init --agents-mode print --with-project-setup`
306
314
  2. Keep the managed block as generated and adapt only the surrounding human-owned content if needed
307
315
  3. Have the AI review and fill `.rsp/changes/project-setup.md`
308
316
  4. Have the AI fill `.rsp/specs/design.md`
@@ -320,9 +328,11 @@ rsp skills list [--json] List bundled Skills and exact project installati
320
328
  rsp skills install [name] [--dry-run] [--force]
321
329
  Install the default eleven Skills or one exact optional Skill into .agents/skills
322
330
  rsp add spec <name> Create .rsp/specs/<name>.md and rebuild specs index
323
- rsp create <name> [summary] Create .rsp/changes/<name>.md; add --lite for a shorter template
331
+ rsp create <name> [summary] Create .rsp/changes/<name>.md; add --lite or --issue <url> [--issue-relation relates|closes]
324
332
  rsp group create <name> [goal] Create an unfocused .rsp/changes/<name>/00-brief.md
325
333
  rsp group close <name> Archive a completed Group Brief after every child is archived
334
+ rsp group reopen <name> --reason <text> [--from <archive-path>]
335
+ Restore the same Group Brief as unfinished, unfocused open work and retain history
326
336
  rsp focus <name> Mark an open change as currently focused
327
337
  rsp unfocus <name> Remove an open change from the current focus set
328
338
  rsp archive <name> Archive to .rsp/archives/
@@ -349,7 +359,7 @@ Use `skills/rsp/SKILL.md` for operations. When the skill is unavailable, use `.r
349
359
 
350
360
  On a real interactive terminal, bare `rsp` opens the same read-only dashboard as `rsp ui`. CI, pipes, redirected streams, and `TERM=dumb` stay on static command output; use `rsp status` for a human snapshot or `rsp status --json` for automation. The dashboard never creates, focuses, or archives work.
351
361
 
352
- Dashboard keys: `Tab` cycles Changes/Groups/History, arrows or `j`/`k` move, `/` filters the active scope, `Enter` opens full-width detail, `r` refreshes the active scope, `?` shows help, and `q`, `Ctrl-C`, or top-level `Esc` exits. History is loaded only when first visited, uses the default bounded recent result, and loads one selected record's structured detail by its unique archive path only after `Enter`; use `rsp history` filters for older work. Set `RSP_UI_LANG=en|zh-CN` or pass `rsp ui --lang`; only dashboard-owned labels are localized. Existing CLI help, plain output, JSON, WorkRefs, paths, commands, Skills, and RSP artifacts remain English.
362
+ Dashboard keys: `Tab` cycles Changes/Groups/History, arrows or `j`/`k` move, `/` filters the active scope, `Enter` opens full-width detail, `r` refreshes the active scope, `?` shows help, and `q`, `Ctrl-C`, or top-level `Esc` exits. History is loaded only when first visited, uses the default bounded recent result, and loads one selected record's structured detail by its unique archive path only after `Enter`; use `rsp history` filters for older work. Set `RSP_UI_LANG=en|zh-CN` or pass `rsp ui --lang`; only dashboard-owned labels are localized. This UI setting does not localize CLI help, plain output, JSON, paths, commands, Skills, or existing artifacts. WorkRefs may use the safe Unicode identity contract, and new artifact prose follows the project language policy described above.
353
363
 
354
364
  When there is no focused change, `rsp status` and `rsp show --focused --json` print `nextActions` instead of guessing which open change is current.
355
365
 
@@ -371,6 +381,8 @@ The JSON-producing inspection commands `status`, `show`, `ready`, `check`, `doct
371
381
 
372
382
  `rsp create --lite` is a shorter template for explicitly tracked small changes; simple current-session tasks should not create RSP changes unless tracking is intentionally needed.
373
383
 
384
+ `rsp create <name> --issue <url>` attaches one validated external issue without network access and defaults to `relation: relates`; `--issue-relation closes` must be explicit and requires `--issue`. Issue options never update an existing Change: that invocation fails without changing the Change or focus. RSP stores only the canonical URL and relationship, never credentials, fetched title/body, or retrieval state. `status --json`, `show`, and `history` preserve valid relationships; immutable archives with older issue metadata remain readable but omit that opaque legacy projection. Shape may use available host access to retrieve real issue content, but failed access degrades to login retry, pasted source data, or a link-only draft rather than fabrication. Commit may add a closing keyword only for a terminal commit with completed acceptance and an owned `closes` relationship; otherwise it keeps a non-closing canonical URL reference.
385
+
374
386
  `rsp doctor --fix` runs only safe deterministic repairs. Its `fixed` JSON entries report actual filesystem changes; a healthy project returns `fixed: []` and the human output says no safe fixes are needed.
375
387
 
376
388
  ## Platform-agnostic
package/README.zh-CN.md CHANGED
@@ -34,17 +34,17 @@ RSP 根据 selected Change、仓库证据、验证结果和 blockers 推导下
34
34
  ## 快速开始
35
35
 
36
36
  ```bash
37
- npx -y @oevery/rsp@3.1.0-beta.3 init
38
- npx -y @oevery/rsp@3.1.0-beta.3 doctor
37
+ npx -y @oevery/rsp@3.1.0-beta.5 init
38
+ npx -y @oevery/rsp@3.1.0-beta.5 doctor
39
39
  ```
40
40
 
41
41
  推荐启动流程:
42
42
 
43
43
  ```bash
44
- npx -y @oevery/rsp@3.1.0-beta.3 init --with-project-setup
44
+ npx -y @oevery/rsp@3.1.0-beta.5 init --with-project-setup
45
45
  # 填写 .rsp/changes/project-setup.md
46
46
  # 填写 .rsp/specs/design.md
47
- npx -y @oevery/rsp@3.1.0-beta.3 doctor
47
+ npx -y @oevery/rsp@3.1.0-beta.5 doctor
48
48
  ```
49
49
 
50
50
  ## Artifact foundation
@@ -170,7 +170,14 @@ RSP 发布十一个默认、宿主无关、按需加载的生命周期 Skills,
170
170
 
171
171
  每个生命周期 Skill 都把结果返回现有项目或 RSP owner。只读的 Pre-Change Design 与 `rsp-structural-audit` 可以把一个有界结果直接返回用户,而不虚构 artifact owner。套件不引入隐藏 workflow state 或递归 Skill 编排。任何 Skill 都不会推断 commit、push、publication、deployment、approval 或 human-acceptance 权限。
172
172
 
173
- 响应语言与产物语言相互独立。面向人的响应标题、标签、解释和结论依次遵循明确指定的响应语言、项目中针对响应的指令和会话语言;已授权写入的产物正文依次遵循明确指定的产物语言、项目中针对产物的指令、目标产物的现有语言,最后才回退到会话语言。RSP 的 canonical artifact headings、WorkRef 值、路径、命令、标识符和机器消费值保持不变;响应标签可以在括号中保留技术 token,但不能直接使用未翻译的 token 作为标签。
173
+ 响应语言归用户和会话所有;产物与 commit message 语言才是项目持久表面。项目 `.rsp/config.yaml` 绝不选择响应语言:响应正文依次遵循当前明确请求、用户/宿主个人指令和会话语言。项目可以设置共享的 `language.default`,并通过 `language.artifacts` 或 `language.commit` 分别覆盖。新产物正文依次遵循明确产物语言、有效产物语言、项目产物指令和会话语言;已有产物除非明确授权翻译,否则保持现有语言。Commit 正文依次遵循当前明确的 commit 语言、有效 commit 语言、仓库 commit 规则和清晰的近期非 merge 历史。配置变化不会重写历史。CLI 生成的脚手架只包含 canonical 结构 token、中立的 `<…>` 占位符和用户原样输入,不维护 locale 字典,也不会静默回退为英文正文;Core 与 discipline Skills 再按授权语言填写自然语言内容。RSP 的 canonical headings、路径、命令、标识符、Conventional Commit type/scope、trailers 和机器消费值保持不变;WorkRef 遵循安全 Unicode 身份契约。
174
+
175
+ ```yaml
176
+ language:
177
+ default: en
178
+ ```
179
+
180
+ 配置了 `language` mapping 时,`default` 必填并同时为产物和 commit 提供持久默认值;可选的 `artifacts` 与 `commit` 只覆盖对应表面。`response` 被明确禁止,因为共享仓库不应限制每位协作者的会话语言。完全省略 `language` 时,两项持久有效值都保持未设置。普通 status 显示持久语言值,status JSON 则始终把 `language.artifacts` 与 `language.commit` 投影为规范化语言标签或 `null`。语言配置不会授予 stage、commit、push 或 publication 权限。
174
181
 
175
182
  按证据组合套件:Shape 确定 owner;Design 返回一个关键问题;Core 在 Diagnose、TDD 与 Implement 之间选择;Review 保持只读;Resolve Findings 修正 accepted findings 并请求复审;Core 在 archive 前执行 durable decision。显式 release operation 在 identity 或 range 已确认时,可以不创建 Release Change 就进入 Release Docs;只有重大决策、协调、恢复、blocker 或 acceptance 需要持久 owner 时才创建。Manage 是可选能力:它接受一个 selected ready Change 或 shallow Group,并要求独立调度、长时 continuation 或恢复需求;小型或紧耦合工作保持直接执行。项目可以保持显式启用,也可以让 Core 自动选择符合条件的 managed work。
176
183
 
@@ -196,7 +203,7 @@ Change 粒度由一个可观察结果及其共享的 acceptance、verification
196
203
 
197
204
  人类应从本 README 开始;agent 应遵循 nearest `AGENTS.md`,优先加载 `skills/rsp/SKILL.md`,仅在 Skill 不可用时读取 `.rsp/rsp-rules.md`。
198
205
 
199
- 如果文档中写的是 `rsp <command>`,默认前提是你的环境里已经能直接运行 `rsp`。进行 opt-in beta 评估时,应固定精确 prerelease 身份,例如 `npx -y @oevery/rsp@3.1.0-beta.3 <command>`;stable 用户仍可使用不带版本的入口获取 npm `latest`。
206
+ 如果文档中写的是 `rsp <command>`,默认前提是你的环境里已经能直接运行 `rsp`。进行 opt-in beta 评估时,应固定精确 prerelease 身份,例如 `npx -y @oevery/rsp@3.1.0-beta.5 <command>`;stable 用户仍可使用不带版本的入口获取 npm `latest`。
200
207
 
201
208
  将当前精确包内置的默认生命周期 Skill 套件安装到当前项目:
202
209
 
@@ -224,8 +231,8 @@ rsp skills install rsp-structural-audit
224
231
  两种形式都从调用 `rsp` 的同一个包安装,因此 beta 评估可以固定精确 npm 身份:
225
232
 
226
233
  ```bash
227
- npx -y @oevery/rsp@3.1.0-beta.3 skills install --dry-run
228
- npx -y @oevery/rsp@3.1.0-beta.3 skills install
234
+ npx -y @oevery/rsp@3.1.0-beta.5 skills install --dry-run
235
+ npx -y @oevery/rsp@3.1.0-beta.5 skills install
229
236
  ```
230
237
 
231
238
  精确 prerelease 身份可以避免依赖持续移动的 dist-tag。`rsp update` 只刷新由 RSP 管理的项目文件;刷新 package-owned Skill 套件需要单独运行 `rsp skills install`。
@@ -279,8 +286,8 @@ durable review 包含两个独立语义判断:是否更新当前事实或作
279
286
 
280
287
  新项目:
281
288
 
282
- 1. `npx -y @oevery/rsp@3.1.0-beta.3 init`
283
- 2. 优先使用 `npx -y @oevery/rsp@3.1.0-beta.3 init --with-project-setup`,或手动执行 `rsp create project-setup`
289
+ 1. `npx -y @oevery/rsp@3.1.0-beta.5 init`
290
+ 2. 优先使用 `npx -y @oevery/rsp@3.1.0-beta.5 init --with-project-setup`,或手动执行 `rsp create project-setup`
284
291
  3. 填写 `.rsp/specs/design.md`
285
292
  4. 仅在需要新的长期项目文档时使用 `rsp add spec <name>`
286
293
  5. 将长期理由写入配置的 Decision Record 目录,将稳定的作用域操作指令写入 nearest project-owned `AGENTS.md`
@@ -293,14 +300,14 @@ durable review 包含两个独立语义判断:是否更新当前事实或作
293
300
 
294
301
  已有复杂 `AGENTS.md` 的项目:
295
302
 
296
- 1. `npx -y @oevery/rsp@3.1.0-beta.3 init`
303
+ 1. `npx -y @oevery/rsp@3.1.0-beta.5 init`
297
304
  2. 保持受管块尽量薄
298
305
  3. 将项目级边界与导航放在 `.rsp/specs/design.md`,把成组的长期事实放入最小领域 Spec
299
306
  4. 只有需要额外的 durable current-fact 文档时才使用 `rsp add spec <name>`
300
307
 
301
308
  AI 协助接入:
302
309
 
303
- 1. `npx -y @oevery/rsp@3.1.0-beta.3 init --agents-mode print --with-project-setup`
310
+ 1. `npx -y @oevery/rsp@3.1.0-beta.5 init --agents-mode print --with-project-setup`
304
311
  2. 保持受管块原样,只在需要时调整周围由人维护的内容
305
312
  3. 让 AI 审阅并填写 `.rsp/changes/project-setup.md`
306
313
  4. 让 AI 填写 `.rsp/specs/design.md`
@@ -345,7 +352,7 @@ rsp doctor [--fix] [--json [--compact]] [--verbose]
345
352
 
346
353
  在真实交互式终端中,裸 `rsp` 会打开与 `rsp ui` 相同的只读仪表盘。CI、管道、重定向流和 `TERM=dumb` 继续使用静态命令输出;人类快照使用 `rsp status`,自动化使用 `rsp status --json`。仪表盘不会创建、聚焦或归档工作。
347
354
 
348
- 仪表盘快捷键:`Tab` 按 Changes/Groups/History 顺序切换,方向键或 `j`/`k` 移动,`/` 筛选当前 scope,`Enter` 打开全宽详情,`r` 刷新当前 scope,`?` 显示帮助,`q`、`Ctrl-C` 或顶层 `Esc` 退出。History 首次进入时才加载默认有界的近期结果,只有选中记录并按 `Enter` 后才按唯一 archive path 加载结构化详情;更早的记录使用 `rsp history` 过滤查询。可设置 `RSP_UI_LANG=en|zh-CN` 或传入 `rsp ui --lang`;只有仪表盘自有标签会本地化。现有 CLI help、纯文本输出、JSON、WorkRef、路径、命令、Skills 和 RSP artifacts 仍保持英文。
355
+ 仪表盘快捷键:`Tab` 按 Changes/Groups/History 顺序切换,方向键或 `j`/`k` 移动,`/` 筛选当前 scope,`Enter` 打开全宽详情,`r` 刷新当前 scope,`?` 显示帮助,`q`、`Ctrl-C` 或顶层 `Esc` 退出。History 首次进入时才加载默认有界的近期结果,只有选中记录并按 `Enter` 后才按唯一 archive path 加载结构化详情;更早的记录使用 `rsp history` 过滤查询。可设置 `RSP_UI_LANG=en|zh-CN` 或传入 `rsp ui --lang`;只有仪表盘自有标签会本地化。该 UI 设置不会本地化 CLI help、纯文本输出、JSON、路径、命令、Skills 或已有产物。WorkRef 可使用安全 Unicode 身份契约,新产物正文则遵循上文的项目语言策略。
349
356
 
350
357
  当没有 focused change 时,`rsp status` 和 `rsp show --focused --json` 会输出 `nextActions`,但不会自动猜测哪个 open change 是当前工作。
351
358
 
@@ -5,7 +5,7 @@ import {
5
5
  inspectManagedDirectory,
6
6
  inspectManagedFileTree,
7
7
  resolveManagedDirectoryChain
8
- } from "./chunk-OTJFL6XH.mjs";
8
+ } from "./chunk-UVYEXKYS.mjs";
9
9
 
10
10
  // src/commands/skills.ts
11
11
  import { randomUUID } from "crypto";