spec-manager 0.2.0 → 0.2.1

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/dist/cli/index.js CHANGED
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env node
2
+ import { createRequire } from 'node:module';
2
3
  import { Command } from 'commander';
3
4
  import { registerProject } from './project.js';
4
5
  import { registerSpec } from './spec.js';
@@ -11,11 +12,13 @@ import { registerDictCommands } from './dict.js';
11
12
  import { registerUsabilityCommands } from './usability.js';
12
13
  import { registerViewCommands } from './view.js';
13
14
  import { registerCompletionCommands } from './completion.js';
15
+ const require = createRequire(import.meta.url);
16
+ const { version } = require('../../package.json');
14
17
  const program = new Command();
15
18
  program
16
19
  .name('spec-manager')
17
20
  .description('spec-manager: local-first spec-driven development platform. Portable CLI + multi-agent instructions.')
18
- .version('0.1.0');
21
+ .version(version);
19
22
  registerProject(program);
20
23
  registerSpec(program);
21
24
  registerTaskCommands(program);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAE7D,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAC9B,OAAO;KACJ,IAAI,CAAC,cAAc,CAAC;KACpB,WAAW,CAAC,sGAAsG,CAAC;KACnH,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,eAAe,CAAC,OAAO,CAAC,CAAC;AACzB,YAAY,CAAC,OAAO,CAAC,CAAC;AACtB,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC9B,wBAAwB,CAAC,OAAO,CAAC,CAAC;AAClC,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC/B,sBAAsB,CAAC,OAAO,CAAC,CAAC;AAChC,wBAAwB,CAAC,OAAO,CAAC,CAAC;AAClC,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC9B,yBAAyB,CAAC,OAAO,CAAC,CAAC;AACnC,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC9B,0BAA0B,CAAC,OAAO,CAAC,CAAC;AAEpC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;IAC3C,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;IACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAE7D,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAElD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAC9B,OAAO;KACJ,IAAI,CAAC,cAAc,CAAC;KACpB,WAAW,CAAC,sGAAsG,CAAC;KACnH,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,eAAe,CAAC,OAAO,CAAC,CAAC;AACzB,YAAY,CAAC,OAAO,CAAC,CAAC;AACtB,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC9B,wBAAwB,CAAC,OAAO,CAAC,CAAC;AAClC,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC/B,sBAAsB,CAAC,OAAO,CAAC,CAAC;AAChC,wBAAwB,CAAC,OAAO,CAAC,CAAC;AAClC,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC9B,yBAAyB,CAAC,OAAO,CAAC,CAAC;AACnC,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC9B,0BAA0B,CAAC,OAAO,CAAC,CAAC;AAEpC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;IAC3C,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;IACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "spec-manager",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "description": "spec-manager: local-first spec-driven development platform. Pure markdown storage, no network, no MCP. Portable CLI + multi-agent instructions.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -76,8 +76,8 @@ applies_to: [L2_write, L3_write]
76
76
 
77
77
  ✅ 正确:
78
78
 
79
- - L2: `本 L2 实现 2026-06-04-a1b2c3 的目标 3(演进闭环)。L1 的用户故事详见其正文。`
80
- - L3: `本 L3 对应 2026-06-05-b2c3d4 的 L3 裂变计划,落地 5 份模板文件。`
79
+ - L2: `本 L2 实现 auth-L1 的目标 3(演进闭环)。L1 的用户故事详见其正文。`
80
+ - L3: `本 L3 对应 auth-L2.1 的 L3 裂变计划,落地 5 份模板文件。`
81
81
 
82
82
  ❌ 错误:
83
83
 
package/skill/SKILL.md CHANGED
@@ -1,4 +1,5 @@
1
1
  ---
2
+ name: spec-manager
2
3
  description: "Spec-driven project iteration workflow — L1 PRD → L2 Design → L3 Impl → Agent Task → Deploy, with human review gates at each layer. Pure local markdown storage, no MCP, no network. Use when the user invokes /spec-manager or asks for: new feature/PRD, technical design, implementation spec, agent task, iteration plan, test plan, release notes, runbook, postmortem, or ADR."
3
4
  argument-hint: "<需求描述> | run <taskId>"
4
5
  ---
@@ -56,12 +57,12 @@ PRD → Design → Spec → Agent Task → 部署。**纯本地**,所有数据
56
57
 
57
58
  | 主题 | 规则 | 文件 |
58
59
  |---|---|---|
59
- | 流程控制 | R1-R4 停下审核/状态归用户/frozen 才建 Task | [rules/flow-control.md](rules/flow-control.md) |
60
- | 质量门禁 | R5/R6/R10/R15/R18 不跳步/planJson 校验 | [rules/quality-gate.md](rules/quality-gate.md) |
61
- | 文档治理 | R7/R11/R13/R14/R16-R22 层级绑定/aiSummary | [rules/doc-governance.md](rules/doc-governance.md) |
62
- | 代码纪律 | R8/R9/R12 改代码前自检 | [rules/code-discipline.md](rules/code-discipline.md) |
63
- | 代码调查 | R23 Spec 前必须基于实际代码 | [rules/codebase-survey.md](rules/codebase-survey.md) |
64
- | Delta | R24 delta 必须含 proposal | [rules/delta.md](rules/delta.md) |
60
+ | 流程控制 | R1-R4 停下审核/状态归用户/frozen 才建 Task | [rules/flow-control.md](../rules/flow-control.md) |
61
+ | 质量门禁 | R5/R6/R10/R15/R18 不跳步/planJson 校验 | [rules/quality-gate.md](../rules/quality-gate.md) |
62
+ | 文档治理 | R7/R11/R13/R14/R16-R22 层级绑定/aiSummary | [rules/doc-governance.md](../rules/doc-governance.md) |
63
+ | 代码纪律 | R8/R9/R12 改代码前自检 | [rules/code-discipline.md](../rules/code-discipline.md) |
64
+ | 代码调查 | R23 Spec 前必须基于实际代码 | [rules/codebase-survey.md](../rules/codebase-survey.md) |
65
+ | Delta | R24 delta 必须含 proposal | [rules/delta.md](../rules/delta.md) |
65
66
 
66
67
  ## Spec 状态流
67
68
 
@@ -89,9 +90,9 @@ L3: draft → frozen → implemented
89
90
  <project>/
90
91
  ├── .spec-manager/ # config + audit + incidents
91
92
  ├── specs/<topic>/ # spec 平铺(点分编号自文档化层级)
92
- │ ├── <L1-code>-<date>.md
93
- │ ├── <L2-code>-<date>.md
94
- │ ├── <L3-code>[-desc]-<date>.md
93
+ │ ├── <topic>-L1.md # 如 auth-L1.md
94
+ │ ├── <topic>-L2.1.md # 如 auth-L2.1.md
95
+ │ ├── <topic>-L3.1.1[-desc].md # 如 auth-L3.1.1-jwt.md
95
96
  │ ├── decisions/ # 决策卡片(topic 级别)
96
97
  │ └── tasks/ # Agent Task(topic 级别)
97
98
  │ └── <specCode>-<taskId>.json
@@ -99,4 +100,6 @@ L3: draft → frozen → implemented
99
100
  └── archive/<name>/ # 已合并 change
100
101
  ```
101
102
 
103
+ **文件命名规则**:`<topic>-L<level>[.<序号>][.<序号>][-desc].md`,点分编号自文档化层级关系,topic 前缀必填。必须通过 CLI 命令创建,不要用 Write 工具直接写文件。
104
+
102
105
  违反任一规则视为流程事故,参照 `.spec-manager/incidents/_TEMPLATE.md` 记录。
@@ -20,7 +20,7 @@
20
20
  2. 必走:
21
21
 
22
22
  ```bash
23
- spec-manager decision create 2026-06-04-a1b2c3 \
23
+ spec-manager decision create auth-L1 \
24
24
  --topic auth \
25
25
  --what "采用 JWT 而非 session" \
26
26
  --why "无状态扩展,便于多服务共享身份" \
@@ -63,7 +63,7 @@ JWT 有 alg=none 等已知攻击面...
63
63
  - 决策卡片:DC-002
64
64
 
65
65
  ## 关联
66
- - spec: 2026-06-04-a1b2c3
66
+ - spec: auth-L1
67
67
  - decision: DC-002
68
68
  EOF
69
69
  ```
@@ -43,12 +43,12 @@ affectedCriteria:
43
43
 
44
44
  ```markdown
45
45
  ---
46
- code: 2026-06-04-a1b2c3
46
+ code: auth-L1
47
47
  ---
48
48
 
49
49
  ## MODIFIED Requirements
50
50
 
51
- ### Requirement: 2026-06-04-a1b2c3
51
+ ### Requirement: auth-L1
52
52
  ## 2FA 强制
53
53
 
54
54
  登录成功后系统 **SHALL** 要求 TOTP 二次校验。
@@ -98,8 +98,8 @@ spec-manager change archive add-2fa
98
98
  ```
99
99
  ✓ Change add-2fa archived
100
100
  applied: 2
101
- [MODIFIED] 2026-06-04-a1b2c3
102
- [ADDED] 2026-06-05-d4e5f6
101
+ [MODIFIED] auth-L1
102
+ [ADDED] auth-L3.1.1-new-feature
103
103
  archived to: archive/add-2fa
104
104
  ```
105
105
 
@@ -19,7 +19,7 @@
19
19
  3. **Level 2 代码调查**(R23):Read ≥3 个源文件了解模块
20
20
  4. **创建 L2**:
21
21
  ```bash
22
- spec-manager spec new L2 --topic <topic> --title "..." --parent <L1 code> # --code 不传则自动生成
22
+ spec-manager spec new L2 --topic <topic> --title "..." --parent <L1 code> # --code 不传则自动生成 <topic>-L2.N
23
23
  ```
24
24
  > 🔍 **R7 自检**: L2 是否绑定了父 L1?→ `spec-manager audit hit R7`
25
25
  5. **写正文**:
@@ -48,6 +48,6 @@ R1 / R2 / R4 / R7 / R13 / R14 / R17 / R19 / R22 / R23
48
48
 
49
49
  | 规则 ID | 文件 | 适用场景 |
50
50
  |---|---|---|
51
- | R7/R14/R17 | [rules/doc-governance.md](../rules/doc-governance.md) | 层级绑定 / 跨层引用 / 架构拆解 |
52
- | R19 | [rules/doc-governance.md](../rules/doc-governance.md) | 写 L2 前必读父 L1 全文 |
53
- | R23 | [rules/codebase-survey.md](../rules/codebase-survey.md) | Level 2 模块深潜(≥3 源文件) |
51
+ | R7/R14/R17 | [rules/doc-governance.md](../../rules/doc-governance.md) | 层级绑定 / 跨层引用 / 架构拆解 |
52
+ | R19 | [rules/doc-governance.md](../../rules/doc-governance.md) | 写 L2 前必读父 L1 全文 |
53
+ | R23 | [rules/codebase-survey.md](../../rules/codebase-survey.md) | Level 2 模块深潜(≥3 源文件) |
@@ -24,7 +24,7 @@
24
24
  > ☑ **R23** / **R12** / **R8** — 流程规则,人工把关
25
25
  4. **创建 L3**:
26
26
  ```bash
27
- spec-manager spec new L3 --topic <topic> --title "..." --parent <L2 code> # --code 不传则自动生成
27
+ spec-manager spec new L3 --topic <topic> --title "..." --parent <L2 code> # --code 不传则自动生成 <topic>-L3.N.M[-desc]
28
28
  ```
29
29
  > ☑ **R20** — 流程规则:scope-split L2 时所有子 L3 一次建齐
30
30
  5. **写正文**:
@@ -57,7 +57,7 @@
57
57
  ```
58
58
  > ☑ **R3** — 非 frozen 时 CLI 拒绝并 audit hit
59
59
  10. `spec-manager task start <task-id>`
60
- 11. 逐步 `spec-manager task step <task-id> --no N --type T --name S --status ok --output-json J --latency L`
60
+ 11. 逐步 `spec-manager task step <task-id> --no N --type T --name S --status succeeded --output-json J --latency L`
61
61
  - 禁跳步(R5)
62
62
  - outputJson 必含 summary(R15)
63
63
  - step_report 必须在工作完成后才报(R15)
@@ -87,13 +87,13 @@ R1 / R2 / R3 / R4 / R5 / R6 / R7 / R8 / R10 / R11 / R12 / R13 / R14 / R15 / R18
87
87
 
88
88
  | 规则 ID | 文件 | 适用场景 | 类型 |
89
89
  |---|---|---|---|
90
- | R1/R2/R4 | [rules/flow-control.md](../rules/flow-control.md) | 停下审核 / 状态归用户 / 每层独立 | 流程 |
91
- | R3/R5/R6 | [rules/flow-control.md](../rules/flow-control.md) + [rules/quality-gate.md](../rules/quality-gate.md) | frozen 才建 Task / 不跳步 / task 后校验 | 流程 + 代码 |
92
- | R7/R11/R13/R14/R22 | [rules/doc-governance.md](../rules/doc-governance.md) | 层级绑定 / 粒度 / aiSummary / 跨层引用 / 创建即写正文 | 代码 + 流程 |
93
- | R8/R12 | [rules/code-discipline.md](../rules/code-discipline.md) | 改代码前自检 / 禁凭记忆 | 流程 |
94
- | R10/R15/R18 | [rules/quality-gate.md](../rules/quality-gate.md) | planJson 必含验证 / step 必含 summary / 决策卡片 | 代码 |
95
- | R20 | [rules/doc-governance.md](../rules/doc-governance.md) | scope-split 批量建齐 | 流程 |
96
- | R23 | [rules/codebase-survey.md](../rules/codebase-survey.md) | Level 3 文件级分析 | 流程 |
90
+ | R1/R2/R4 | [rules/flow-control.md](../../rules/flow-control.md) | 停下审核 / 状态归用户 / 每层独立 | 流程 |
91
+ | R3/R5/R6 | [rules/flow-control.md](../../rules/flow-control.md) + [rules/quality-gate.md](../../rules/quality-gate.md) | frozen 才建 Task / 不跳步 / task 后校验 | 流程 + 代码 |
92
+ | R7/R11/R13/R14/R22 | [rules/doc-governance.md](../../rules/doc-governance.md) | 层级绑定 / 粒度 / aiSummary / 跨层引用 / 创建即写正文 | 代码 + 流程 |
93
+ | R8/R12 | [rules/code-discipline.md](../../rules/code-discipline.md) | 改代码前自检 / 禁凭记忆 | 流程 |
94
+ | R10/R15/R18 | [rules/quality-gate.md](../../rules/quality-gate.md) | planJson 必含验证 / step 必含 summary / 决策卡片 | 代码 |
95
+ | R20 | [rules/doc-governance.md](../../rules/doc-governance.md) | scope-split 批量建齐 | 流程 |
96
+ | R23 | [rules/codebase-survey.md](../../rules/codebase-survey.md) | Level 3 文件级分析 | 流程 |
97
97
 
98
98
  **类型说明**:
99
99
  - **代码**:违反时 CLI 自动抛错或 audit hit
@@ -14,7 +14,7 @@
14
14
  3. 写 `plan.md`:
15
15
 
16
16
  ```bash
17
- spec-manager spec show 2026-06-04-b2c3d4 --include-content
17
+ spec-manager spec show auth-L2.1 --include-content
18
18
  ```
19
19
 
20
20
  4. `plan.md` 结构:
@@ -45,7 +45,7 @@ R15 是软约束(warning),缺乏 hard fail 机制
45
45
 
46
46
  ## 关联
47
47
  - incident: INC-20260604-001
48
- - spec: 2026-06-04-c3d4e5
48
+ - spec: auth-L3.1.1
49
49
  - 规则: R15
50
50
  EOF
51
51
  ```
@@ -32,7 +32,7 @@
32
32
  > ☑ **R16** — 流程规则:查重确认无重复 L1
33
33
  4. **创建 L1**:
34
34
  ```bash
35
- spec-manager spec new L1 --topic <topic> --title "..." # --code 不传则自动生成 <YYYY-MM-DD>-<shortId>
35
+ spec-manager spec new L1 --topic <topic> --title "..." # --code 不传则自动生成 <topic>-L1
36
36
  ```
37
37
  5. **写正文**:把 L1-prd.md 模板填好后写到文件
38
38
  ```bash
@@ -62,11 +62,11 @@ R1 / R2 / R4 / R7 / R13 / R14 / R16 / R17 / R19 / R22 / R23
62
62
 
63
63
  | 规则 ID | 文件 | 适用场景 | 类型 |
64
64
  |---|---|---|---|
65
- | R1/R2/R4 | [rules/flow-control.md](../rules/flow-control.md) | 停下审核 / 状态归用户 / 每层独立 | 流程 |
66
- | R7 | [rules/doc-governance.md](../rules/doc-governance.md) | 层级绑定(虽 L1 无父,但确认子层要绑) | 代码 |
67
- | R13/R21 | [rules/doc-governance.md](../rules/doc-governance.md) | aiSummary 必传 + ≤300 字符 | 代码 |
68
- | R14 | [rules/doc-governance.md](../rules/doc-governance.md) | 跨层引用 — L1 不复述上层 | 流程 |
69
- | R16 | [rules/doc-governance.md](../rules/doc-governance.md) | L1 去重搜索 | 流程 |
70
- | R19 | [rules/doc-governance.md](../rules/doc-governance.md) | 研究期读 aiSummary 而非全文 | 流程 |
71
- | R22 | [rules/doc-governance.md](../rules/doc-governance.md) | 创建后立即写正文 | 代码(CLI 在 `confirm` 时强制) |
72
- | R23 | [rules/codebase-survey.md](../rules/codebase-survey.md) | 写 L1 前 Level 1 架构概览 | 流程 |
65
+ | R1/R2/R4 | [rules/flow-control.md](../../rules/flow-control.md) | 停下审核 / 状态归用户 / 每层独立 | 流程 |
66
+ | R7 | [rules/doc-governance.md](../../rules/doc-governance.md) | 层级绑定(虽 L1 无父,但确认子层要绑) | 代码 |
67
+ | R13/R21 | [rules/doc-governance.md](../../rules/doc-governance.md) | aiSummary 必传 + ≤300 字符 | 代码 |
68
+ | R14 | [rules/doc-governance.md](../../rules/doc-governance.md) | 跨层引用 — L1 不复述上层 | 流程 |
69
+ | R16 | [rules/doc-governance.md](../../rules/doc-governance.md) | L1 去重搜索 | 流程 |
70
+ | R19 | [rules/doc-governance.md](../../rules/doc-governance.md) | 研究期读 aiSummary 而非全文 | 流程 |
71
+ | R22 | [rules/doc-governance.md](../../rules/doc-governance.md) | 创建后立即写正文 | 代码(CLI 在 `confirm` 时强制) |
72
+ | R23 | [rules/codebase-survey.md](../../rules/codebase-survey.md) | 写 L1 前 Level 1 架构概览 | 流程 |
@@ -26,10 +26,10 @@ cat > releases/v1.2.0-release.md <<'EOF'
26
26
  # v1.2.0 — <主题>
27
27
 
28
28
  ## 新增
29
- - 2FA 强制登录(2026-06-04-a1b2c3 MODIFIED)
29
+ - 2FA 强制登录(auth-L1 MODIFIED)
30
30
 
31
31
  ## 修复
32
- - JWT 过期返回 401 而非 500(2026-06-04-c3d4e5 bugfix)
32
+ - JWT 过期返回 401 而非 500(auth-L3.1.1-jwt bugfix)
33
33
 
34
34
  ## 变更
35
35
  - 数据库 schema: users 表加 mfa_secret 字段(migration 2026_05_11)
@@ -30,7 +30,7 @@ cat > runbooks/auth-service-down.md <<'EOF'
30
30
  - 切回上一版本:`docker compose up -d --scale auth-service=0 && git checkout v1.1.0 && docker compose up -d`
31
31
 
32
32
  ## 关联
33
- - 关联 spec:2026-06-04-a1b2c3
33
+ - 关联 spec:auth-L1
34
34
  - 历史 incident:INC-20260513-001
35
35
  EOF
36
36
  ```
@@ -11,7 +11,7 @@
11
11
  1. 读 L3 spec + 父 L2
12
12
 
13
13
  ```bash
14
- spec-manager spec show 2026-06-04-c3d4e5 --include-content
14
+ spec-manager spec show auth-L3.1.1 --include-content
15
15
  ```
16
16
 
17
17
  2. 创建 testplan:
@@ -19,7 +19,7 @@ spec-manager spec show 2026-06-04-c3d4e5 --include-content
19
19
  ```bash
20
20
  # 用 git 直接写,或:
21
21
  mkdir -p testplans/auth
22
- cat > testplans/auth/2026-06-04-c3d4e5-testplan.md <<'EOF'
22
+ cat > testplans/auth/auth-L3.1.1-testplan.md <<'EOF'
23
23
  # <L3 title> 测试方案
24
24
 
25
25
  ## 单元测试
@@ -127,8 +127,8 @@ Expert guidelines:
127
127
 
128
128
  | L3 code | 范围 | 前置依赖 |
129
129
  |---|---|---|
130
- | 2026-06-06-c3d4e5 | ... | 无 |
131
- | 2026-06-07-d4e5f6 | ... | 2026-06-06-c3d4e5 implemented |
130
+ | auth-L3.1.1 | ... | 无 |
131
+ | auth-L3.1.2 | ... | auth-L3.1.1 implemented |
132
132
 
133
133
  ## 关联
134
134
 
@@ -24,7 +24,7 @@ Expert guidelines:
24
24
 
25
25
  ## 目标
26
26
 
27
- <一句话 + 引用父 L2 的 deliverable 编号。形如"实施 2026-06-05-b2c3d4 的 deliverables 1/2/3">
27
+ <一句话 + 引用父 L2 的 deliverable 编号。形如"实施 auth-L2.1 的 deliverables 1/2/3">
28
28
 
29
29
  **前置依赖**:<前序 L3 specCode 已 implemented 声明,若无则"无">
30
30