@accelerator-mzq/forge 3.1.1 → 4.0.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/commands/archive.d.ts +32 -33
- package/dist/cli/commands/archive.d.ts.map +1 -1
- package/dist/cli/commands/archive.js +339 -667
- package/dist/cli/commands/archive.js.map +1 -1
- package/dist/cli/commands/legacy-bridge.js +1 -1
- package/dist/cli/commands/legacy-bridge.js.map +1 -1
- package/dist/cli/commands/monitor.d.ts.map +1 -1
- package/dist/cli/commands/monitor.js +30 -6
- package/dist/cli/commands/monitor.js.map +1 -1
- package/dist/cli/commands/preflight.d.ts.map +1 -1
- package/dist/cli/commands/preflight.js +98 -0
- package/dist/cli/commands/preflight.js.map +1 -1
- package/dist/cli/commands/upgrade.d.ts.map +1 -1
- package/dist/cli/commands/upgrade.js +2 -51
- package/dist/cli/commands/upgrade.js.map +1 -1
- package/dist/cli/commands/validate.d.ts.map +1 -1
- package/dist/cli/commands/validate.js +4 -25
- package/dist/cli/commands/validate.js.map +1 -1
- package/dist/cli/index.js +0 -9
- package/dist/cli/index.js.map +1 -1
- package/dist/core/archive/index.d.ts +2 -3
- package/dist/core/archive/index.d.ts.map +1 -1
- package/dist/core/archive/index.js +7 -5
- package/dist/core/archive/index.js.map +1 -1
- package/dist/core/archive/summary-builder.d.ts +26 -21
- package/dist/core/archive/summary-builder.d.ts.map +1 -1
- package/dist/core/archive/summary-builder.js +115 -223
- package/dist/core/archive/summary-builder.js.map +1 -1
- package/dist/core/archive/summary-render.d.ts +5 -3
- package/dist/core/archive/summary-render.d.ts.map +1 -1
- package/dist/core/archive/summary-render.js +38 -44
- package/dist/core/archive/summary-render.js.map +1 -1
- package/dist/core/lock.d.ts +46 -0
- package/dist/core/lock.d.ts.map +1 -0
- package/dist/core/lock.js +98 -0
- package/dist/core/lock.js.map +1 -0
- package/dist/core/markers/types.d.ts +27 -134
- package/dist/core/markers/types.d.ts.map +1 -1
- package/dist/core/markers/types.js +10 -1
- package/dist/core/markers/types.js.map +1 -1
- package/dist/core/migrate/index.js +1 -1
- package/dist/core/migrate/index.js.map +1 -1
- package/dist/core/monitor/artifact-observer.d.ts.map +1 -1
- package/dist/core/monitor/artifact-observer.js +28 -78
- package/dist/core/monitor/artifact-observer.js.map +1 -1
- package/dist/core/monitor/divergence-map.d.ts.map +1 -1
- package/dist/core/monitor/divergence-map.js +9 -7
- package/dist/core/monitor/divergence-map.js.map +1 -1
- package/dist/core/monitor/health-verdict.d.ts.map +1 -1
- package/dist/core/monitor/health-verdict.js +2 -1
- package/dist/core/monitor/health-verdict.js.map +1 -1
- package/dist/core/monitor/trace-store.d.ts +1 -1
- package/dist/core/monitor/trace-store.js +2 -2
- package/dist/core/monitor/trace-store.js.map +1 -1
- package/dist/core/monitor/types.d.ts +1 -1
- package/dist/core/monitor/types.d.ts.map +1 -1
- package/dist/core/monitor/types.js +0 -1
- package/dist/core/monitor/types.js.map +1 -1
- package/dist/core/schemas/archive-summary.d.ts +39 -109
- package/dist/core/schemas/archive-summary.d.ts.map +1 -1
- package/dist/core/schemas/archive-summary.js +15 -23
- package/dist/core/schemas/archive-summary.js.map +1 -1
- package/dist/core/templates/commands/apply.md +49 -112
- package/dist/core/templates/commands/archive.md +43 -160
- package/dist/core/templates/commands/review.md +49 -74
- package/dist/core/templates/commands/upgrade.md +21 -40
- package/dist/core/templates/commands/verify.md +43 -146
- package/dist/core/templates/skills/_shared/tier23-command-bridge.md +8 -8
- package/dist/core/templates/skills/receiving-code-review.md +14 -45
- package/dist/core/templates/skills/requesting-code-review.md +4 -4
- package/dist/core/templates/skills/subagent-driven-development.md +25 -30
- package/dist/core/templates/skills/subagent-driven-discipline.md +28 -28
- package/dist/core/templates/skills/using-forge.md +50 -23
- package/dist/core/templates/skills/verification-before-completion.md +4 -4
- package/dist/core/templates/skills/verifying-three-dimensions.md +93 -169
- package/dist/core/validate/archive-summary-schema.d.ts +1 -1
- package/dist/core/validate/archive-summary-schema.d.ts.map +1 -1
- package/dist/core/validate/archive-summary-schema.js +101 -125
- package/dist/core/validate/archive-summary-schema.js.map +1 -1
- package/dist/core/validate/index.d.ts +0 -1
- package/dist/core/validate/index.d.ts.map +1 -1
- package/dist/core/validate/index.js +2 -1
- package/dist/core/validate/index.js.map +1 -1
- package/dist/core/validate/marker-schema.d.ts +12 -4
- package/dist/core/validate/marker-schema.d.ts.map +1 -1
- package/dist/core/validate/marker-schema.js +98 -605
- package/dist/core/validate/marker-schema.js.map +1 -1
- package/package.json +4 -5
|
@@ -1,16 +1,27 @@
|
|
|
1
1
|
import { Command } from 'commander';
|
|
2
2
|
import type { SyncCheckInput } from '../../core/legacy-bridge/sync-check.js';
|
|
3
|
+
/**
|
|
4
|
+
* Forge archive 命令工厂 — v4 简版(沿 plan §6.1 v9 伪代码)
|
|
5
|
+
*
|
|
6
|
+
* 9 步主流程:
|
|
7
|
+
* 1. forgeRoot + changeId selection
|
|
8
|
+
* 2. legacy-bridge preflight(可 graceful skip)
|
|
9
|
+
* 3. spec validate(blocking,永远跑)
|
|
10
|
+
* 4. marker check + v2 schema validate
|
|
11
|
+
* 5. task progress confirm(--yes 跳过)
|
|
12
|
+
* 6. spec deltas(--skip-specs 跳;否则 readDeltas + confirm + applyDeltas)
|
|
13
|
+
* 7. mv change → archive/<archiveDate>-<changeId>(算一次 archiveDate)
|
|
14
|
+
* 8. buildArchiveSummary + 写 archive_summary.yaml
|
|
15
|
+
* 9. legacy-bridge posthook + generateBacklog + appendTraceEvent
|
|
16
|
+
*/
|
|
3
17
|
export declare function buildArchiveCommand(): Command;
|
|
4
18
|
/**
|
|
5
|
-
* preflight 结果 union — caller
|
|
6
|
-
* 与 archive.ts 现有"business-rule fail 处理"convention 一致(line 154 / 160 等)。
|
|
19
|
+
* preflight 结果 union — caller 根据 kind 退出
|
|
7
20
|
*
|
|
8
21
|
* kind 'ok':可继续 archive(graceful skip / 无 affected anchor / --api 跑完无 critical)
|
|
9
|
-
* kind 'ack-missing':ack 未就绪,
|
|
10
|
-
* kind 'critical-pending':**仅 --api
|
|
11
|
-
*
|
|
12
|
-
* kind 'halted-for-fulfillment':**仅 agent 模式产生** —— emit manifest +
|
|
13
|
-
* 暂停态文件已写,archive 应 halt,caller await release + exit 2
|
|
22
|
+
* kind 'ack-missing':ack 未就绪,exit 2
|
|
23
|
+
* kind 'critical-pending':**仅 --api 模式** —— 进程内跑 sync-check 后发现 critical pending
|
|
24
|
+
* kind 'halted-for-fulfillment':**仅 agent 模式** —— emit manifest + 暂停态文件已写,exit 2
|
|
14
25
|
*/
|
|
15
26
|
export type PreflightResult = {
|
|
16
27
|
kind: 'ok';
|
|
@@ -35,27 +46,20 @@ export type PreflightResult = {
|
|
|
35
46
|
* 4. legacy_bridge.enforce_sync != true
|
|
36
47
|
* 5. 无受影响 anchor / 全部读取失败(buildSyncCheckTask 返 null)
|
|
37
48
|
*
|
|
38
|
-
*
|
|
39
|
-
* - **agent 模式(
|
|
40
|
-
*
|
|
41
|
-
* - **--api 模式**:进程内直连 Anthropic API 跑 sync-check + 写 sync-state →
|
|
42
|
-
* 含 critical pending 返 {kind:'critical-pending'};否则返 {kind:'ok'} 续跑 archive。
|
|
49
|
+
* 双模式:
|
|
50
|
+
* - **agent 模式(默认)**:emit sync-check manifest + 暂停态 → halted-for-fulfillment
|
|
51
|
+
* - **--api 模式**:进程内直连 API 跑 sync-check + 写 sync-state → critical-pending 或 ok
|
|
43
52
|
*
|
|
44
|
-
* ack 不就绪
|
|
45
|
-
*
|
|
46
|
-
* **不再调 process.exit / console.error**:caller(archive 命令)负责打印消息 +
|
|
47
|
-
* release archive.lock + exit,避免本函数内 process.exit 跳过 caller finally
|
|
48
|
-
* 导致 archive.lock 文件残留。
|
|
53
|
+
* ack 不就绪 → ack-missing。
|
|
49
54
|
*/
|
|
50
55
|
export declare function runArchivePreflight(forgeRoot: string, changeId: string, opts?: {
|
|
51
56
|
api: boolean;
|
|
52
57
|
}): Promise<PreflightResult>;
|
|
53
58
|
/**
|
|
54
|
-
* Plan 7 §2.5 + Task 6.3:post-archive hook —
|
|
55
|
-
* enforce_sync=true 已由 preflight 跑过;graceful skip 路径同 preflight。
|
|
59
|
+
* Plan 7 §2.5 + Task 6.3:post-archive hook — 不阻塞,enforce_sync=false 时跑(产报告)。
|
|
56
60
|
*
|
|
57
|
-
* agent 模式:emit sync-check manifest(非阻塞,archive
|
|
58
|
-
* --api 模式:进程内直连 API 跑 sync-check + 写 sync-state(
|
|
61
|
+
* agent 模式:emit sync-check manifest(非阻塞,archive 已完成)
|
|
62
|
+
* --api 模式:进程内直连 API 跑 sync-check + 写 sync-state(非阻塞)
|
|
59
63
|
*
|
|
60
64
|
* I-2:archiveDate 由 archive 主流程透传(不自己算 new Date(),避免跨午夜偏一天)。
|
|
61
65
|
*/
|
|
@@ -75,28 +79,23 @@ export declare function emitPreflightSyncCheck(forgeRoot: string, changeId: stri
|
|
|
75
79
|
kind: 'halted-for-fulfillment' | 'skip';
|
|
76
80
|
}>;
|
|
77
81
|
/**
|
|
78
|
-
* agent 模式:enforce_sync=false 时 post-archive emit sync-check manifest(
|
|
82
|
+
* agent 模式:enforce_sync=false 时 post-archive emit sync-check manifest(非阻塞)。
|
|
79
83
|
*
|
|
80
84
|
* archive 已完成;fulfill 后跑 forge legacy-bridge sync-check --apply 出报告。
|
|
81
|
-
* 调用前 gate 检查由 runArchivePostHook 负责。
|
|
82
|
-
*
|
|
83
|
-
* @param ctx 已拼好的 SyncCheckInput(可选;不传则内部自拼,供测试直接调用)
|
|
84
85
|
*/
|
|
85
86
|
export declare function emitPostHookSyncCheck(forgeRoot: string, changeId: string, ctx?: SyncCheckInput): Promise<{
|
|
86
87
|
kind: 'emitted' | 'skip';
|
|
87
88
|
}>;
|
|
88
89
|
/**
|
|
89
|
-
* Task 6.4:forge archive --resume 的 gate
|
|
90
|
+
* Task 6.4:forge archive --resume 的 gate 复核(legacy 留存 — v4 archive 主流程已无 --resume,
|
|
91
|
+
* 但 tests/cli/legacy-bridge/archive-dualpath.test.ts 直接 import 测试此 gate 逻辑,需保留)。
|
|
90
92
|
*
|
|
91
93
|
* 复核两项:
|
|
92
|
-
* ① 产物绑定 — sync-state
|
|
93
|
-
*
|
|
94
|
-
* ② critical 幂等重评 — sync-state 中不得有 severity=critical + status=pending 的差异;
|
|
95
|
-
* 若有,说明 agent 未完全 resolve,不可续跑 archive。
|
|
94
|
+
* ① 产物绑定 — sync-state.produced_from 必须等于暂停态文件的 manifest_hash
|
|
95
|
+
* ② critical 幂等重评 — sync-state 中不得有 severity=critical + status=pending 的差异
|
|
96
96
|
*
|
|
97
|
-
*
|
|
98
|
-
*
|
|
99
|
-
* @returns { ok: true } 表示 gate 通过;{ ok: false, reason } 表示拒绝并附原因
|
|
97
|
+
* v4 备注:archive 命令本身不再调用此函数;legacy-bridge sync-check 命令(若有 resume 路径)
|
|
98
|
+
* 可调用此函数验证 sync-state 绑定。本函数留存为 sync-check 子系统的 building block。
|
|
100
99
|
*/
|
|
101
100
|
export declare function resumeArchiveGateCheck(forgeRoot: string, changeId: string): Promise<{
|
|
102
101
|
ok: true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"archive.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/archive.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"archive.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/archive.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqBpC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAwI7E;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAuN7C;AAMD;;;;;;;GAOG;AACH,MAAM,MAAM,eAAe,GACvB;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,GACd;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACxC;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACpE;IAAE,IAAI,EAAE,wBAAwB,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAExD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE;IAAE,GAAG,EAAE,OAAO,CAAA;CAAmB,GACtC,OAAO,CAAC,eAAe,CAAC,CAuE1B;AAED;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,OAAO,CAAA;CAAE,GAC1C,OAAO,CAAC,IAAI,CAAC,CAwDf;AAkDD;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAC1C,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,GAAG,CAAC,EAAE,cAAc,GACnB,OAAO,CAAC;IAAE,IAAI,EAAE,wBAAwB,GAAG,MAAM,CAAA;CAAE,CAAC,CA0BtD;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CACzC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,GAAG,CAAC,EAAE,cAAc,GACnB,OAAO,CAAC;IAAE,IAAI,EAAE,SAAS,GAAG,MAAM,CAAA;CAAE,CAAC,CAUvC;AA8BD;;;;;;;;;;GAUG;AACH,wBAAsB,sBAAsB,CAC1C,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAqDvD"}
|