kiro-spec-engine 1.47.15 → 1.47.26
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/docs/331-poc-adaptation-roadmap.md +64 -3
- package/docs/331-poc-weekly-delivery-checklist.md +53 -0
- package/docs/autonomous-control-guide.md +15 -14
- package/docs/command-reference.md +92 -23
- package/docs/moqui-capability-matrix.md +51 -0
- package/docs/release-checklist.md +15 -0
- package/docs/zh/release-checklist.md +15 -0
- package/lib/commands/auto.js +1776 -153
- package/lib/commands/orchestrate.js +22 -0
- package/lib/commands/scene.js +1778 -117
- package/lib/orchestrator/orchestration-engine.js +96 -9
- package/lib/orchestrator/status-monitor.js +7 -1
- package/lib/scene-runtime/scene-template-linter.js +129 -1
- package/package.json +1 -1
|
@@ -29,12 +29,73 @@
|
|
|
29
29
|
11. 新增跨轮次回归分析:
|
|
30
30
|
- `kse auto handoff regression` 对比相邻批次成功率/风险/失败目标/耗时变化。
|
|
31
31
|
- `handoff run` 结果中自动附加 regression 摘要。
|
|
32
|
+
12. 新增断点续跑能力:
|
|
33
|
+
- `kse auto handoff run --continue-from <session|latest|file>`。
|
|
34
|
+
- 支持 `--continue-strategy auto|pending|failed-only`。
|
|
35
|
+
13. 新增 release evidence 自动归并:
|
|
36
|
+
- `handoff run` 结束后自动将批次结果合并到 `.kiro/reports/release-evidence/handoff-runs.json`。
|
|
37
|
+
- 按 `session_id` 去重更新,失败时写 warning 不阻塞主流程。
|
|
38
|
+
14. 新增回归可视化报表增强:
|
|
39
|
+
- `handoff regression` 输出增加 `risk_layers` 风险分层视图(low/medium/high/unknown)。
|
|
40
|
+
- markdown 报表新增 `Trend Series` 与 `Risk Layer View`,支持多轮趋势快速审阅。
|
|
41
|
+
15. 新增 release evidence 趋势窗口快照:
|
|
42
|
+
- `handoff run` 支持 `--release-evidence-window <n>`(默认 5)。
|
|
43
|
+
- release evidence 自动写入 `latest_trend_window` 与每个 session 的 `trend_window`,支持发布包一键审阅。
|
|
44
|
+
16. 新增 release evidence 快速审阅命令:
|
|
45
|
+
- `kse auto handoff evidence` 直接聚合当前批次 gate/ontology/regression/risk-layer 概览。
|
|
46
|
+
- 支持 JSON/markdown 输出与 `--window` 会话窗口聚合。
|
|
47
|
+
17. 新增 release draft 自动生成:
|
|
48
|
+
- `kse auto handoff evidence --release-draft <path>` 一次命令生成 evidence 审阅 markdown + release notes 草稿。
|
|
49
|
+
- 草稿自动注入当前批次 gate/ontology/regression/risk-layer 摘要与证据路径。
|
|
50
|
+
18. 新增 CI 发布链路集成:
|
|
51
|
+
- `release.yml` 在 tag 发布时自动尝试基于 `handoff-runs.json` 生成 release notes 草稿。
|
|
52
|
+
- 若证据缺失或生成失败,自动回退到默认 CHANGELOG 引导文案,避免发布流水卡死。
|
|
53
|
+
19. 新增 release evidence 附件发布:
|
|
54
|
+
- tag 发布时自动将 release notes 草稿、evidence 审阅 markdown、summary JSON 作为 GitHub Release 资产上传。
|
|
55
|
+
- 无 evidence 时至少上传 fallback notes,保证发布资产结构稳定。
|
|
56
|
+
20. 新增可配置发布门禁(workflow 级):
|
|
57
|
+
- 支持通过 `KSE_RELEASE_*` 仓库变量配置 success rate/risk/ontology 阈值。
|
|
58
|
+
- 支持 advisory(默认)与 enforce(阻断发布)两种模式,且门禁在 `npm publish` 前执行。
|
|
59
|
+
21. 新增 release gate 审计产物:
|
|
60
|
+
- 每次 tag 发布生成 `release-gate-<tag>.json`,记录阈值、观测信号、违规项和判定结果。
|
|
61
|
+
- `release-gate` 报告随 GitHub Release 资产一起发布,便于后续追溯。
|
|
62
|
+
22. 增强多 Agent 限流韧性:
|
|
63
|
+
- 编排引擎在 429/RateLimit 错误重试时,支持解析 `Retry-After`/`try again in` 提示并抬升 backoff。
|
|
64
|
+
- 减少服务端限流窗口内的无效重试与“卡死感”。
|
|
65
|
+
23. 新增 release gate 历史索引命令:
|
|
66
|
+
- `kse auto handoff gate-index` 聚合 `release-gate-*.json` 为跨版本历史索引。
|
|
67
|
+
- 支持与已有历史索引合并去重(按 tag/file),输出门禁通过率与风险分布聚合指标。
|
|
68
|
+
24. 发布流程自动产出门禁历史索引:
|
|
69
|
+
- `release.yml` 在 gate 评估后自动执行 `handoff gate-index`,生成 `release-gate-history.json` 与当次 summary。
|
|
70
|
+
- 两份索引产物随 GitHub Release 资产发布,便于对外审计与回放。
|
|
71
|
+
25. 发布流程支持跨版本历史增量:
|
|
72
|
+
- `release.yml` 在构建索引前自动尝试下载上一版 Release 的 `release-gate-history.json`。
|
|
73
|
+
- 当前 tag 发布时基于上一版历史做增量合并,持续积累趋势数据。
|
|
74
|
+
26. 发布说明自动注入门禁趋势摘要:
|
|
75
|
+
- `release.yml` 在发布前将 `release-gate-history` 的近 5 版趋势追加到 Release Notes。
|
|
76
|
+
- 发布页可直接看到 gate pass ratio、风险分布与近期版本轨迹。
|
|
77
|
+
27. 新增 gate-index Markdown 趋势卡片:
|
|
78
|
+
- `kse auto handoff gate-index --markdown-out <path>` 直接产出可读趋势卡片。
|
|
79
|
+
- 便于在 PR/Issue 中复用,降低历史门禁审阅成本。
|
|
80
|
+
28. 发布流程附带趋势卡片资产:
|
|
81
|
+
- `release.yml` 自动生成并上传 `release-gate-history-<tag>.md`。
|
|
82
|
+
- Release Notes 趋势段落附带卡片资产文件名,便于发布后检索。
|
|
83
|
+
29. Release Notes 资产链接增强:
|
|
84
|
+
- 趋势段落自动生成 `release-gate-history` 相关资产的可点击下载链接。
|
|
85
|
+
- 发布页可直接跳转趋势卡片/索引 JSON,无需手工查找资产列表。
|
|
86
|
+
30. 发布说明新增门禁漂移告警:
|
|
87
|
+
- 自动检测连续 gate 失败、高风险占比过高、短期风险占比上升。
|
|
88
|
+
- 在 Release Notes 中显式给出 drift alerts,提前暴露质量恶化趋势。
|
|
89
|
+
31. 漂移告警阈值参数化:
|
|
90
|
+
- 支持通过 `KSE_RELEASE_DRIFT_*` 仓库变量调节 fail streak/high-risk share/delta 阈值。
|
|
91
|
+
- 不同项目可按发布策略调整灵敏度,减少误报或漏报。
|
|
92
|
+
32. 漂移告警阻断模式:
|
|
93
|
+
- 新增 `KSE_RELEASE_DRIFT_ENFORCE`,可在漂移告警触发时阻断发布。
|
|
94
|
+
- 保留默认 advisory 模式,确保历史数据不足时不误阻断。
|
|
32
95
|
|
|
33
96
|
## 下一阶段(P2)
|
|
34
97
|
|
|
35
|
-
1.
|
|
36
|
-
2. 增加 `handoff run --continue-from <session>` 断点续跑能力。
|
|
37
|
-
3. 增加回归对比可视化报表(多轮趋势图 + 风险分层视图)。
|
|
98
|
+
1. 将 drift alerts 结果写入 `release-gate-<tag>.json`,统一门禁与漂移审计口径。
|
|
38
99
|
|
|
39
100
|
## 长期目标(P3)
|
|
40
101
|
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# 331-poc Weekly Delivery Checklist (For KSE Integration)
|
|
2
|
+
|
|
3
|
+
Use this checklist before each integration batch.
|
|
4
|
+
|
|
5
|
+
## Required Inputs From 331-poc
|
|
6
|
+
|
|
7
|
+
- Complete spec bundle for each target spec:
|
|
8
|
+
- `requirements.md`
|
|
9
|
+
- `design.md`
|
|
10
|
+
- `tasks.md`
|
|
11
|
+
- `custom/scene.yaml`
|
|
12
|
+
- `custom/scene-package.json`
|
|
13
|
+
- Exported template folder:
|
|
14
|
+
- `.kiro/templates/exports/<template-name>/`
|
|
15
|
+
- Handoff package:
|
|
16
|
+
- `docs/handoffs/handoff-manifest.json`
|
|
17
|
+
- ontology validation evidence in the same batch window
|
|
18
|
+
|
|
19
|
+
## Mandatory Quality Constraints
|
|
20
|
+
|
|
21
|
+
- `specs[]` is non-empty.
|
|
22
|
+
- `templates[]` is non-empty.
|
|
23
|
+
- `ontology_validation` exists and is recent.
|
|
24
|
+
- Dependency relations (`depends_on`) are present for multi-spec batches.
|
|
25
|
+
- High-risk gaps have mitigation notes.
|
|
26
|
+
|
|
27
|
+
## KSE Acceptance Commands
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
npx kse auto handoff run --manifest ../331-poc/docs/handoffs/handoff-manifest.json \\
|
|
31
|
+
--require-ontology-validation \\
|
|
32
|
+
--min-spec-success-rate 95 \\
|
|
33
|
+
--max-risk-level medium \\
|
|
34
|
+
--json
|
|
35
|
+
|
|
36
|
+
npx kse auto handoff template-diff --manifest ../331-poc/docs/handoffs/handoff-manifest.json --json
|
|
37
|
+
npx kse auto handoff regression --session-id latest --json
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Scene Package Gate Commands
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
npx kse scene package-registry --template-dir .kiro/templates/scene-packages --strict --json
|
|
44
|
+
npx kse scene package-gate-template --out .kiro/templates/scene-package-gate-policy.json --profile three-layer --force --json
|
|
45
|
+
npx kse scene package-gate --registry .kiro/templates/scene-packages/registry.json --policy .kiro/templates/scene-package-gate-policy.json --strict --json
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Batch Exit Criteria
|
|
49
|
+
|
|
50
|
+
- No strict validation error.
|
|
51
|
+
- Ontology graph is valid and traceable.
|
|
52
|
+
- Close-loop execution is successful for the batch.
|
|
53
|
+
- Evidence snapshot is archived and linked to release notes.
|
|
@@ -117,24 +117,26 @@ kse auto close-loop-recover .kiro/auto/close-loop-batch-summaries/batch-20260215
|
|
|
117
117
|
--program-audit-out .kiro/reports/close-loop-recover-audit.json \
|
|
118
118
|
--dry-run --json
|
|
119
119
|
|
|
120
|
+
# Default autonomous batch run (continue-on-error + adaptive scheduling + retry-until-complete)
|
|
121
|
+
kse auto close-loop-batch .kiro/goals.json --json
|
|
122
|
+
|
|
120
123
|
# Batch parallel mode: run multiple goals concurrently
|
|
121
|
-
kse auto close-loop-batch .kiro/goals.json --batch-parallel 3 --
|
|
124
|
+
kse auto close-loop-batch .kiro/goals.json --batch-parallel 3 --json
|
|
122
125
|
|
|
123
126
|
# Batch with global agent budget (automatic per-goal maxParallel throttling)
|
|
124
127
|
kse auto close-loop-batch .kiro/goals.json \
|
|
125
128
|
--batch-parallel 3 \
|
|
126
129
|
--batch-agent-budget 6 \
|
|
127
|
-
--
|
|
130
|
+
--json
|
|
128
131
|
|
|
129
132
|
# Batch priority scheduling with aging (favor complex goals, prevent starvation)
|
|
130
133
|
kse auto close-loop-batch .kiro/goals.json \
|
|
131
134
|
--batch-priority critical-first \
|
|
132
135
|
--batch-aging-factor 3 \
|
|
133
|
-
--
|
|
136
|
+
--json
|
|
134
137
|
|
|
135
138
|
# Auto-retry failed/stopped goals in the same batch run
|
|
136
139
|
kse auto close-loop-batch .kiro/goals.json \
|
|
137
|
-
--continue-on-error \
|
|
138
140
|
--batch-retry-rounds 1 \
|
|
139
141
|
--batch-retry-strategy adaptive \
|
|
140
142
|
--json
|
|
@@ -145,9 +147,9 @@ kse auto close-loop-batch .kiro/goals.json \
|
|
|
145
147
|
--batch-retry-max-rounds 10 \
|
|
146
148
|
--json
|
|
147
149
|
|
|
148
|
-
#
|
|
150
|
+
# Disable autonomous closed-loop batch policy (only when you need legacy/manual tuning)
|
|
149
151
|
kse auto close-loop-batch .kiro/goals.json \
|
|
150
|
-
--batch-autonomous \
|
|
152
|
+
--no-batch-autonomous \
|
|
151
153
|
--json
|
|
152
154
|
|
|
153
155
|
# Resume a stopped/failed batch from previous summary output
|
|
@@ -270,15 +272,15 @@ Batch multi-goal autonomous execution:
|
|
|
270
272
|
- `--resume-from-summary <path>`: resume only pending goals from previous batch summary
|
|
271
273
|
- `--resume-from-summary latest`: resolve and resume from latest persisted batch summary session
|
|
272
274
|
- `--resume-strategy <pending|failed-only>`: control whether summary resume includes unprocessed goals (`pending`) or only failed/error goals (`failed-only`)
|
|
273
|
-
- `--batch-parallel <n>`: run multiple goals concurrently (`1-20`, default
|
|
275
|
+
- `--batch-parallel <n>`: run multiple goals concurrently (`1-20`, default adaptive under autonomous policy)
|
|
274
276
|
- `--batch-agent-budget <n>`: set global agent parallel budget shared across all active goals (`1-500`)
|
|
275
|
-
- `--batch-priority <strategy>`: choose `fifo
|
|
276
|
-
- `--batch-aging-factor <n>`: increase waiting-goal score per scheduling cycle (`0-100`, default `
|
|
277
|
-
- `--batch-retry-rounds <n>`: automatically retry failed/stopped goals for `n` extra rounds (`0-5`, default `0
|
|
277
|
+
- `--batch-priority <strategy>`: choose `fifo`, `complex-first`, `complex-last`, or `critical-first` scheduling (default `complex-first` under autonomous policy)
|
|
278
|
+
- `--batch-aging-factor <n>`: increase waiting-goal score per scheduling cycle (`0-100`, default `2` under autonomous policy)
|
|
279
|
+
- `--batch-retry-rounds <n>`: automatically retry failed/stopped goals for `n` extra rounds (`0-5`, default `0`, or until-complete under autonomous policy)
|
|
278
280
|
- `--batch-retry-strategy <strategy>`: choose `adaptive` (default) or `strict` retry behavior
|
|
279
281
|
- `--batch-retry-until-complete`: enable goal-draining retry mode until completion or max rounds
|
|
280
282
|
- `--batch-retry-max-rounds <n>`: max extra rounds for until-complete mode (`1-20`, default `10`)
|
|
281
|
-
- `--batch-autonomous`:
|
|
283
|
+
- `--no-batch-autonomous`: disable autonomous defaults and use explicit batch flags only
|
|
282
284
|
- `--batch-session-id <id>`: set explicit id for persisted batch summary session
|
|
283
285
|
- `--batch-session-keep <n>`: keep newest `n` persisted batch summary sessions (`0-1000`)
|
|
284
286
|
- `--batch-session-older-than-days <n>`: when pruning persisted batch summaries, only delete sessions older than `n` days (`0-36500`)
|
|
@@ -292,8 +294,7 @@ Batch multi-goal autonomous execution:
|
|
|
292
294
|
- `--spec-session-max-duplicate-goals <n>`: goal-input duplicate guard for batch inputs (`0-500000`)
|
|
293
295
|
- `--spec-session-budget-hard-fail`: fail run when spec count exceeds `--spec-session-max-total` before/after execution
|
|
294
296
|
- `--no-batch-session`: disable persisted batch summary session archive for this run
|
|
295
|
-
- `--
|
|
296
|
-
- `--continue-on-error`: continue remaining goals when one goal fails
|
|
297
|
+
- `--continue-on-error`: continue remaining goals when one goal fails (enabled by default under autonomous policy)
|
|
297
298
|
- Returns one summary with per-goal statuses (`completed`, `failed`, `error`, `planned`)
|
|
298
299
|
- Summary includes `resource_plan` and aggregate `metrics` (success rate, status breakdown, avg sub-spec count, avg replan cycles)
|
|
299
300
|
- `--program-goals` requires `--decompose-goal`, and goal sources are mutually exclusive (`<goals-file>` vs `--resume-from-summary` vs `--decompose-goal`)
|
|
@@ -343,7 +344,7 @@ Close-loop controller command:
|
|
|
343
344
|
- Queue file defaults to `.kiro/auto/close-loop-controller-goals.lines`; supports `auto|json|lines` parsing via `--queue-format`.
|
|
344
345
|
- `--controller-resume <session-or-file>` resumes queue/controller context from persisted controller session (`latest`, session id, or file path).
|
|
345
346
|
- Duplicate broad goals are deduped by default; use `--no-controller-dedupe` to preserve raw queue duplicates.
|
|
346
|
-
- `--dequeue-limit <n>` controls how many queued goals are consumed in one cycle (`1-100`, default
|
|
347
|
+
- `--dequeue-limit <n>` controls how many queued goals are consumed in one cycle (`1-100`, default: all pending goals).
|
|
347
348
|
- `--wait-on-empty` + `--poll-seconds <n>` enables long-running poll mode for continuously appended program queues.
|
|
348
349
|
- `--max-cycles <n>` + `--max-minutes <n>` bound controller runtime to prevent unbounded loops.
|
|
349
350
|
- Controller lease lock is enabled by default to prevent concurrent queue corruption (`--controller-lock-file`, `--controller-lock-ttl-seconds`, `--no-controller-lock`).
|
|
@@ -382,27 +382,26 @@ kse auto close-loop-recover .kiro/auto/close-loop-batch-summaries/batch-20260215
|
|
|
382
382
|
--program-audit-out .kiro/reports/close-loop-recover-audit.json \
|
|
383
383
|
--dry-run --json
|
|
384
384
|
|
|
385
|
-
#
|
|
386
|
-
kse auto close-loop-batch .kiro/goals.json --
|
|
385
|
+
# Default autonomous batch run (continue-on-error + adaptive scheduling + retry-until-complete)
|
|
386
|
+
kse auto close-loop-batch .kiro/goals.json --json
|
|
387
387
|
|
|
388
388
|
# Run batch goals with concurrent close-loop workers
|
|
389
|
-
kse auto close-loop-batch .kiro/goals.json --batch-parallel 3 --
|
|
389
|
+
kse auto close-loop-batch .kiro/goals.json --batch-parallel 3 --json
|
|
390
390
|
|
|
391
391
|
# Apply global agent budget across all concurrent goals
|
|
392
392
|
kse auto close-loop-batch .kiro/goals.json \
|
|
393
393
|
--batch-parallel 3 \
|
|
394
394
|
--batch-agent-budget 6 \
|
|
395
|
-
--
|
|
395
|
+
--json
|
|
396
396
|
|
|
397
397
|
# Prioritize complex goals first and enable anti-starvation aging
|
|
398
398
|
kse auto close-loop-batch .kiro/goals.json \
|
|
399
399
|
--batch-priority critical-first \
|
|
400
400
|
--batch-aging-factor 3 \
|
|
401
|
-
--
|
|
401
|
+
--json
|
|
402
402
|
|
|
403
403
|
# Automatically retry failed/stopped goals for one extra round
|
|
404
404
|
kse auto close-loop-batch .kiro/goals.json \
|
|
405
|
-
--continue-on-error \
|
|
406
405
|
--batch-retry-rounds 1 \
|
|
407
406
|
--batch-retry-strategy adaptive \
|
|
408
407
|
--json
|
|
@@ -413,9 +412,9 @@ kse auto close-loop-batch .kiro/goals.json \
|
|
|
413
412
|
--batch-retry-max-rounds 10 \
|
|
414
413
|
--json
|
|
415
414
|
|
|
416
|
-
#
|
|
415
|
+
# Disable autonomous batch policy explicitly (only when you need legacy/manual tuning)
|
|
417
416
|
kse auto close-loop-batch .kiro/goals.json \
|
|
418
|
-
--batch-autonomous \
|
|
417
|
+
--no-batch-autonomous \
|
|
419
418
|
--json
|
|
420
419
|
|
|
421
420
|
# Resume only pending goals from a previous batch summary
|
|
@@ -529,7 +528,7 @@ kse auto handoff regression --session-id latest --json
|
|
|
529
528
|
kse auto handoff regression --session-id latest --window 5 --json
|
|
530
529
|
kse auto handoff regression --session-id latest --format markdown --out .kiro/reports/handoff-regression.md --json
|
|
531
530
|
kse auto handoff regression --session-id latest --window 5 --out .kiro/reports/handoff-regression.json --json
|
|
532
|
-
kse auto close-loop-batch .kiro/auto/handoff-goals.lines --format lines --
|
|
531
|
+
kse auto close-loop-batch .kiro/auto/handoff-goals.lines --format lines --json
|
|
533
532
|
```
|
|
534
533
|
|
|
535
534
|
DoD-related options:
|
|
@@ -570,15 +569,15 @@ Close-loop batch (`kse auto close-loop-batch <goals-file>`) options:
|
|
|
570
569
|
- `--resume-from-summary <path>`: derive pending goals from an existing batch summary (reruns failed/error and previously unprocessed goals)
|
|
571
570
|
- `--resume-from-summary latest`: load the most recent persisted batch session summary automatically
|
|
572
571
|
- `--resume-strategy <strategy>`: `pending` (default) or `failed-only` for summary resume scope
|
|
573
|
-
- `--batch-parallel <n>`: run up to `n` goals concurrently (`1-20`, default
|
|
572
|
+
- `--batch-parallel <n>`: run up to `n` goals concurrently (`1-20`, default adaptive under autonomous policy)
|
|
574
573
|
- `--batch-agent-budget <n>`: global agent parallel budget shared by all running goals (`1-500`)
|
|
575
|
-
- `--batch-priority <strategy>`: scheduling strategy `fifo
|
|
576
|
-
- `--batch-aging-factor <n>`: waiting-goal aging boost per scheduling cycle (`0-100`, default `
|
|
577
|
-
- `--batch-retry-rounds <n>`: retry failed/stopped goals for `n` additional rounds (`0-5`, default `0
|
|
574
|
+
- `--batch-priority <strategy>`: scheduling strategy `fifo`, `complex-first`, `complex-last`, or `critical-first` (default `complex-first` under autonomous policy)
|
|
575
|
+
- `--batch-aging-factor <n>`: waiting-goal aging boost per scheduling cycle (`0-100`, default `2` under autonomous policy)
|
|
576
|
+
- `--batch-retry-rounds <n>`: retry failed/stopped goals for `n` additional rounds (`0-5`, default `0`, or until-complete under autonomous policy)
|
|
578
577
|
- `--batch-retry-strategy <strategy>`: retry strategy `adaptive` (default) or `strict`
|
|
579
578
|
- `--batch-retry-until-complete`: keep retrying until no failed/stopped goals remain or max rounds reached
|
|
580
579
|
- `--batch-retry-max-rounds <n>`: max extra rounds for `--batch-retry-until-complete` (`1-20`, default `10`)
|
|
581
|
-
- `--batch-autonomous`:
|
|
580
|
+
- `--no-batch-autonomous`: disable autonomous closed-loop defaults and rely on explicit batch flags
|
|
582
581
|
- `--batch-session-id <id>`: set explicit persisted batch session id
|
|
583
582
|
- `--batch-session-keep <n>`: keep newest `n` persisted batch summaries after each run (`0-1000`)
|
|
584
583
|
- `--batch-session-older-than-days <n>`: when pruning persisted batch summaries, only delete sessions older than `n` days (`0-36500`)
|
|
@@ -592,15 +591,15 @@ Close-loop batch (`kse auto close-loop-batch <goals-file>`) options:
|
|
|
592
591
|
- `--spec-session-max-duplicate-goals <n>`: goal-input duplicate guard for batch runs (`0-500000`)
|
|
593
592
|
- `--spec-session-budget-hard-fail`: fail run when spec count exceeds `--spec-session-max-total` before/after execution
|
|
594
593
|
- `--no-batch-session`: disable automatic persisted batch summary session archive
|
|
595
|
-
- `--
|
|
596
|
-
- `--continue-on-error`: continue remaining goals after a failed/error goal
|
|
594
|
+
- `--continue-on-error`: continue remaining goals after a failed/error goal (enabled by default under autonomous policy)
|
|
597
595
|
- `--out <path>`: write batch summary JSON output file
|
|
598
596
|
- `--resume` and `--session-id` are not supported in batch mode (sessions are per-goal)
|
|
599
597
|
- `--program-goals` requires `--decompose-goal`
|
|
600
598
|
- `<goals-file>`, `--resume-from-summary`, and `--decompose-goal` are mutually exclusive goal sources
|
|
601
|
-
- Batch summary includes `resource_plan` (budget/effective parallel/per-goal maxParallel/scheduling strategy/aging/starvation wait metrics/criticality summary) and `metrics` (`success_rate_percent`, `status_breakdown`, `average_sub_specs_per_goal`, `average_replan_cycles_per_goal`)
|
|
599
|
+
- Batch summary includes `resource_plan` (budget/effective parallel/per-goal maxParallel/scheduling strategy/aging/starvation wait metrics/criticality summary) and `metrics` (`success_rate_percent`, `status_breakdown`, `average_sub_specs_per_goal`, `average_replan_cycles_per_goal`, `total_rate_limit_signals`, `average_rate_limit_signals_per_goal`, `total_rate_limit_backoff_ms`)
|
|
602
600
|
- Under budget mode, scheduler is complexity-weighted (`goal_weight`/`scheduling_weight`) so higher-complexity goals consume more shared slots and can reduce same-batch concurrency.
|
|
603
601
|
- Batch summary includes `batch_retry` telemetry (strategy, until-complete mode, configured/max/performed rounds, exhausted flag, per-round history).
|
|
602
|
+
- Under `--batch-retry-strategy adaptive`, retry history includes rate-limit pressure and next-round backpressure decisions (`applied_batch_parallel`, `next_batch_parallel`, `adaptive_backpressure_applied`).
|
|
604
603
|
- Batch summary includes `batch_session` metadata when persisted (session id + file path).
|
|
605
604
|
- When using `--decompose-goal`, summary includes `generated_from_goal` metadata (strategy, target count, produced count, clause/category diagnostics, decomposition `quality`, and refinement telemetry).
|
|
606
605
|
|
|
@@ -646,7 +645,7 @@ Close-loop program (`kse auto close-loop-program "<goal>"`) options:
|
|
|
646
645
|
- With `--program-govern-until-stable`, summary additionally includes:
|
|
647
646
|
- `program_governance` (round history, stop reason, exhausted/converged state)
|
|
648
647
|
- `program_governance` includes action-selection metadata (`auto_action_enabled`, `action_selection_enabled`, `pinned_action_index`, per-round `selected_action*`).
|
|
649
|
-
- `program_kpi_trend` and `program_kpi_anomalies` (anomaly-aware governance context)
|
|
648
|
+
- `program_kpi_trend` and `program_kpi_anomalies` (anomaly-aware governance context, including `rate-limit-spike` pressure that can auto-reduce `batchParallel`/`batchAgentBudget`).
|
|
650
649
|
- Program summary includes `program_diagnostics` with `failure_clusters` and `remediation_actions` (prioritized follow-up commands for convergence).
|
|
651
650
|
- Program summary includes `program_coordination` (master/sub topology, unresolved goal indexes, scheduler snapshot) and `auto_recovery` metadata.
|
|
652
651
|
|
|
@@ -655,7 +654,7 @@ Close-loop controller (`kse auto close-loop-controller [queue-file]`) options:
|
|
|
655
654
|
- `--controller-resume <session-or-file>`: resume from persisted controller session (`latest`, session id, or file path)
|
|
656
655
|
- `--queue-format <auto|json|lines>`: queue parser mode (default `auto`)
|
|
657
656
|
- `--no-controller-dedupe`: disable duplicate broad-goal deduplication (default dedupe enabled)
|
|
658
|
-
- `--dequeue-limit <n>`: consume up to `n` goals per controller cycle (`1-100`, default `
|
|
657
|
+
- `--dequeue-limit <n>`: consume up to `n` goals per controller cycle (`1-100`, default `all` pending goals)
|
|
659
658
|
- `--wait-on-empty`: keep polling when queue is empty instead of stopping
|
|
660
659
|
- `--poll-seconds <n>`: polling interval for `--wait-on-empty` (`1-3600`, default `30`)
|
|
661
660
|
- `--max-cycles <n>`: max controller cycles (`1-100000`, default `1000`)
|
|
@@ -682,7 +681,7 @@ Close-loop recovery (`kse auto close-loop-recover [summary]`) options:
|
|
|
682
681
|
- `--recover-max-minutes <n>`: elapsed-time budget for recovery loop (minutes, default unlimited)
|
|
683
682
|
- `--recovery-memory-ttl-days <n>`: prune stale recovery memory entries before auto action selection (`0-36500`)
|
|
684
683
|
- `--recovery-memory-scope <scope>`: scope key for recovery memory isolation (default auto: project + git branch)
|
|
685
|
-
- Supports batch controls (`--batch-parallel`, `--batch-agent-budget`, `--batch-priority`, `--batch-aging-factor`, `--batch-retry*`, `--batch-autonomous`)
|
|
684
|
+
- Supports batch controls (`--batch-parallel`, `--batch-agent-budget`, `--batch-priority`, `--batch-aging-factor`, `--batch-retry*`, `--no-batch-autonomous`)
|
|
686
685
|
- Supports spec retention controls (`--spec-session-keep`, `--spec-session-older-than-days`, `--no-spec-session-protect-active`)
|
|
687
686
|
- Includes `--spec-session-protect-window-days` to tune recent-reference protection window.
|
|
688
687
|
- Includes `--spec-session-max-total` and optional `--spec-session-budget-hard-fail` for spec-count budget governance.
|
|
@@ -747,7 +746,7 @@ Autonomous KPI trend:
|
|
|
747
746
|
- `kse auto kpi trend [--weeks <n>] [--mode <all|batch|program|recover|controller>] [--period <week|day>] [--csv] [--out <path>] [--json]`: aggregate periodic KPI trend from persisted autonomous summary sessions.
|
|
748
747
|
- `--period <week|day>` selects weekly (default) or daily buckets.
|
|
749
748
|
- `--csv` prints CSV rows to stdout and writes CSV when used with `--out` (JSON remains default).
|
|
750
|
-
- JSON output includes `mode_breakdown` (batch/program/recover/controller/other run distribution), `anomaly_detection`, and flattened `anomalies` (latest-period regression checks against historical baseline).
|
|
749
|
+
- JSON output includes `mode_breakdown` (batch/program/recover/controller/other run distribution), `anomaly_detection`, and flattened `anomalies` (latest-period regression checks against historical baseline, including rate-limit pressure via `average_rate_limit_signals` / `average_rate_limit_backoff_ms`).
|
|
751
750
|
|
|
752
751
|
Unified observability snapshot:
|
|
753
752
|
- `kse auto observability snapshot [--days <n>] [--status <csv>] [--weeks <n>] [--trend-mode <mode>] [--trend-period <period>] [--out <path>] [--json]`: generate one unified observability snapshot that combines close-loop session stats, batch stats, controller stats, governance session stats, governance health, and KPI trend.
|
|
@@ -766,18 +765,35 @@ Dual-track handoff integration:
|
|
|
766
765
|
- `kse auto handoff plan --manifest <path> [--out <path>] [--strict] [--strict-warnings] [--json]`: parse handoff manifest (source project, specs, templates, known gaps) and generate an executable KSE integration phase plan.
|
|
767
766
|
- `kse auto handoff queue --manifest <path> [--out <path>] [--append] [--no-include-known-gaps] [--dry-run] [--json]`: generate close-loop batch goal queue from handoff manifest and optionally persist line-based queue file (default `.kiro/auto/handoff-goals.lines`).
|
|
768
767
|
- `kse auto handoff template-diff --manifest <path> [--json]`: compare manifest templates against local template exports/registry and report `missing_in_local` and `extra_in_local`.
|
|
769
|
-
- `kse auto handoff run --manifest <path> [--out <path>] [--queue-out <path>] [--append] [--no-include-known-gaps] [--continue-from <session|latest|file>] [--continue-strategy <auto|pending|failed-only>] [--dry-run] [--strict] [--strict-warnings] [--no-dependency-batching] [--min-spec-success-rate <n>] [--max-risk-level <level>] [--require-ontology-validation] [--json]`: execute handoff end-to-end (`plan -> queue -> close-loop-batch -> observability`) with automatic report archive to `.kiro/reports/handoff-runs/<session>.json`.
|
|
768
|
+
- `kse auto handoff run --manifest <path> [--out <path>] [--queue-out <path>] [--append] [--no-include-known-gaps] [--continue-from <session|latest|file>] [--continue-strategy <auto|pending|failed-only>] [--dry-run] [--strict] [--strict-warnings] [--no-dependency-batching] [--min-spec-success-rate <n>] [--max-risk-level <level>] [--require-ontology-validation] [--release-evidence-window <n>] [--json]`: execute handoff end-to-end (`plan -> queue -> close-loop-batch -> observability`) with automatic report archive to `.kiro/reports/handoff-runs/<session>.json`.
|
|
770
769
|
- Default mode is dependency-aware: spec integration goals are grouped into dependency batches and executed in topological order.
|
|
771
770
|
- `--continue-from` resumes pending goals from an existing handoff run report (`latest`, session id, or JSON file path). For safety, KSE enforces manifest-path consistency between the previous report and current run.
|
|
772
771
|
- `--continue-strategy auto|pending|failed-only` controls resumed scope. `auto` (default) derives the best strategy from prior run state (`pending` when unprocessed/planned goals exist, otherwise `failed-only` for pure failure replay).
|
|
772
|
+
- Non-dry runs auto-merge release evidence into `.kiro/reports/release-evidence/handoff-runs.json` with session-level gate/ontology/regression snapshots. Merge failures are recorded as warnings without aborting the run.
|
|
773
|
+
- `--release-evidence-window` controls trend snapshot window size (2-50, default `5`) used in merged release evidence (`latest_trend_window` and per-session `trend_window`).
|
|
773
774
|
- Run result includes `recommendations` with executable follow-up commands (for example, auto-generated `--continue-from <session>` on failed/incomplete batches).
|
|
774
775
|
- Gate defaults: `--min-spec-success-rate` defaults to `100`, `--max-risk-level` defaults to `high`.
|
|
775
776
|
- When `--require-ontology-validation` is enabled, run fails fast at precheck if manifest ontology evidence is missing or not passed.
|
|
776
777
|
- `kse auto handoff regression [--session-id <id|latest>] [--window <n>] [--format <json|markdown>] [--out <path>] [--json]`: compare one handoff run report with its previous run and output trend deltas (success-rate/risk/failed-goals/elapsed time).
|
|
777
778
|
- `--window` (2-50, default `2`) returns multi-run `series`, `window_trend`, and `aggregates` for broader regression visibility.
|
|
779
|
+
- Regression JSON now includes `risk_layers` (low/medium/high/unknown buckets with per-layer session list and quality aggregates).
|
|
778
780
|
- `--format` supports `json` (default) and `markdown` for human-readable report rendering.
|
|
781
|
+
- Markdown report includes `Trend Series` (ASCII success/ontology bars per session) and `Risk Layer View`.
|
|
779
782
|
- `--out` writes the generated regression report using the selected format.
|
|
780
783
|
- Output includes `recommendations` to guide next action when trend degrades or risk escalates.
|
|
784
|
+
- `kse auto handoff evidence [--file <path>] [--session-id <id|latest>] [--window <n>] [--format <json|markdown>] [--out <path>] [--json]`: quick-review merged release evidence and render current-batch gate/ontology/regression/risk-layer overview.
|
|
785
|
+
- Default evidence file is `.kiro/reports/release-evidence/handoff-runs.json`.
|
|
786
|
+
- `--window` (1-50, default `5`) controls how many recent sessions are aggregated in review.
|
|
787
|
+
- JSON output includes `current_overview`, `aggregates.status_counts`, `aggregates.gate_pass_rate_percent`, and `risk_layers`.
|
|
788
|
+
- Markdown output includes `Current Gate`, `Current Ontology`, `Current Regression`, `Trend Series`, and `Risk Layer View`.
|
|
789
|
+
- Add `--release-draft <path>` to auto-generate a release notes draft and evidence review markdown in one run.
|
|
790
|
+
- `--release-version` sets draft version tag (defaults to `v<package.json version>`), and `--release-date` accepts `YYYY-MM-DD` (default: current UTC date).
|
|
791
|
+
- Use `--review-out <path>` to override the generated evidence review markdown path (default `.kiro/reports/release-evidence/handoff-evidence-review.md`).
|
|
792
|
+
- `kse auto handoff gate-index [--dir <path>] [--history-file <path>] [--keep <n>] [--out <path>] [--json]`: aggregate `release-gate-*.json` audits into a cross-version history index.
|
|
793
|
+
- Default scan dir is `.kiro/reports/release-evidence`, default output file is `.kiro/reports/release-evidence/release-gate-history.json`.
|
|
794
|
+
- `--history-file` merges an existing index (for example, previous release asset) before dedup/refresh.
|
|
795
|
+
- `--keep` retains latest N entries (`1-5000`, default `200`).
|
|
796
|
+
- `--markdown-out <path>` writes a human-readable trend card markdown for PR/Issue handoff.
|
|
781
797
|
|
|
782
798
|
Recommended `.kiro/config/orchestrator.json`:
|
|
783
799
|
|
|
@@ -799,7 +815,7 @@ Recommended `.kiro/config/orchestrator.json`:
|
|
|
799
815
|
}
|
|
800
816
|
```
|
|
801
817
|
|
|
802
|
-
`rateLimit*` settings provide dedicated retry/backoff and adaptive parallel throttling when providers return 429 / too-many-requests errors.
|
|
818
|
+
`rateLimit*` settings provide dedicated retry/backoff and adaptive parallel throttling when providers return 429 / too-many-requests errors. Engine retry now also honors `Retry-After` / `try again in ...` hints from provider error messages when present, and pauses launching new pending specs during the active backoff window to reduce request bursts (launch hold remains active even if adaptive parallel throttling is disabled).
|
|
803
819
|
|
|
804
820
|
### Scene Template Engine
|
|
805
821
|
|
|
@@ -817,6 +833,59 @@ kse scene template-render --package <name> --values <json-or-path> --out <dir>
|
|
|
817
833
|
kse scene template-render --package scene-erp --values '{"entity_name":"Order"}' --out ./output --json
|
|
818
834
|
```
|
|
819
835
|
|
|
836
|
+
### Scene Package Batch Publish
|
|
837
|
+
|
|
838
|
+
```bash
|
|
839
|
+
# Publish scene package templates from a handoff manifest (default: completed specs only)
|
|
840
|
+
kse scene package-publish-batch --manifest docs/handoffs/handoff-manifest.json --json
|
|
841
|
+
|
|
842
|
+
# Use 331-poc preset defaults (manifest/docs paths + completed filter)
|
|
843
|
+
kse scene package-publish-batch --from-331 --json
|
|
844
|
+
|
|
845
|
+
# Preview batch publish plan without writing template files
|
|
846
|
+
kse scene package-publish-batch --manifest docs/handoffs/handoff-manifest.json --dry-run --json
|
|
847
|
+
|
|
848
|
+
# Publish selected specs only
|
|
849
|
+
kse scene package-publish-batch --manifest docs/handoffs/handoff-manifest.json --include 62-00-moqui-full-capability-closure-program,62-01-moqui-capability-itemized-parity-matrix --json
|
|
850
|
+
|
|
851
|
+
# Disable status filter and use docs/* fallback paths for manifest entries missing scene paths
|
|
852
|
+
kse scene package-publish-batch --manifest docs/handoffs/handoff-manifest.json --status all --fallback-spec-package docs/scene-package.json --fallback-scene-manifest docs/scene.yaml --force --json
|
|
853
|
+
|
|
854
|
+
# Read specs from non-standard manifest path
|
|
855
|
+
kse scene package-publish-batch --manifest docs/handoffs/handoff-manifest.json --manifest-spec-path handoff.spec_items --json
|
|
856
|
+
|
|
857
|
+
# Enforce ontology validation + semantic quality threshold before publish
|
|
858
|
+
kse scene package-publish-batch --from-331 --require-ontology-validation --ontology-min-score 70 --json
|
|
859
|
+
|
|
860
|
+
# Persist ontology/publish batch report for governance tracking
|
|
861
|
+
kse scene package-publish-batch --from-331 --dry-run --ontology-report-out .kiro/reports/scene-package-ontology-batch.json --json
|
|
862
|
+
|
|
863
|
+
# Enforce batch-level ontology portfolio gate (average score + valid-rate)
|
|
864
|
+
kse scene package-publish-batch --from-331 --dry-run --ontology-min-average-score 60 --ontology-min-valid-rate 90 --json
|
|
865
|
+
|
|
866
|
+
# Export ontology remediation task draft markdown
|
|
867
|
+
kse scene package-publish-batch --from-331 --dry-run --ontology-task-out .kiro/reports/scene-package-ontology-task-draft.md --json
|
|
868
|
+
|
|
869
|
+
# Export ontology remediation queue lines (directly consumable by close-loop-batch)
|
|
870
|
+
kse scene package-publish-batch --from-331 --dry-run --ontology-task-queue-out .kiro/auto/ontology-remediation.lines --json
|
|
871
|
+
```
|
|
872
|
+
|
|
873
|
+
### Scene Package Ontology Backfill Batch
|
|
874
|
+
|
|
875
|
+
```bash
|
|
876
|
+
# Backfill ontology_model from a handoff manifest (commit mode)
|
|
877
|
+
kse scene package-ontology-backfill-batch --manifest docs/handoffs/handoff-manifest.json --spec-package-path docs/scene-package.json --json
|
|
878
|
+
|
|
879
|
+
# Use 331-poc preset defaults in dry-run mode
|
|
880
|
+
kse scene package-ontology-backfill-batch --from-331 --dry-run --json
|
|
881
|
+
|
|
882
|
+
# Backfill selected specs only
|
|
883
|
+
kse scene package-ontology-backfill-batch --from-331 --include 62-00-moqui-full-capability-closure-program,62-01-moqui-capability-itemized-parity-matrix --dry-run --json
|
|
884
|
+
|
|
885
|
+
# Export detailed backfill report for governance review
|
|
886
|
+
kse scene package-ontology-backfill-batch --from-331 --dry-run --out-report .kiro/reports/scene-package-ontology-backfill-report.json --json
|
|
887
|
+
```
|
|
888
|
+
|
|
820
889
|
### Moqui ERP Integration
|
|
821
890
|
|
|
822
891
|
```bash
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# Moqui Capability Matrix For KSE
|
|
2
|
+
|
|
3
|
+
This document defines the execution boundary for converting Moqui capabilities into KSE capabilities.
|
|
4
|
+
|
|
5
|
+
## Scope
|
|
6
|
+
|
|
7
|
+
- Goal: turn Moqui ERP resources into reusable KSE scene templates.
|
|
8
|
+
- Method: `extract -> normalize -> package-gate -> handoff-run -> release evidence`.
|
|
9
|
+
- Output: template assets with ontology, governance, and runtime-safe bindings.
|
|
10
|
+
|
|
11
|
+
## Capability Mapping
|
|
12
|
+
|
|
13
|
+
| Priority | Moqui Capability | KSE Scene Pattern | Template ID | Ontology Anchors | Governance/Gate Focus | Status |
|
|
14
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
15
|
+
| P0 | Order read (`OrderHeader`, `OrderItem`, query services) | `query` | `kse.scene--erp-order-query-read--0.1.0` | `order_header`, `order_item`, `order_projection`, `customer_party` | low risk, idempotent query, lineage complete | template-ready |
|
|
16
|
+
| P0 | Order fulfillment (reserve, payment, release) | `workflow` | `kse.scene--erp-order-fulfillment-workflow--0.1.0` | `order_header`, `order_item`, `inventory_reservation`, `payment_authorization`, `fulfillment_execution` | medium risk, approval required, compensation strategy | template-ready |
|
|
17
|
+
| P0 | Inventory reserve + adjust | `workflow/crud hybrid` | `kse.scene--erp-inventory-reserve-adjust--0.1.0` | `inventory_item`, `inventory_reservation`, `inventory_adjustment`, `inventory_snapshot` | medium risk, approval required, non-negative stock rule | template-ready |
|
|
18
|
+
|
|
19
|
+
## Ownership Boundary
|
|
20
|
+
|
|
21
|
+
### 331-poc owns
|
|
22
|
+
|
|
23
|
+
- Business truth and domain semantics.
|
|
24
|
+
- Complete specs (`requirements/design/tasks`) and scene manifests.
|
|
25
|
+
- Handoff package (`docs/handoffs/handoff-manifest.json`) and ontology evidence.
|
|
26
|
+
- Real-world acceptance cases and risk context.
|
|
27
|
+
|
|
28
|
+
### KSE owns
|
|
29
|
+
|
|
30
|
+
- Template contract normalization and packaging format.
|
|
31
|
+
- Ontology/gate enforcement and strict checks.
|
|
32
|
+
- Runtime routing, fallback behavior, and retry resilience.
|
|
33
|
+
- Close-loop orchestration and release evidence aggregation.
|
|
34
|
+
|
|
35
|
+
## Batch Workflow
|
|
36
|
+
|
|
37
|
+
1. 331-poc exports spec/template/handoff artifacts.
|
|
38
|
+
2. KSE runs `auto handoff run` with strict gates.
|
|
39
|
+
3. KSE validates template registry and ontology consistency.
|
|
40
|
+
4. KSE executes close-loop batch and snapshots observability.
|
|
41
|
+
5. KSE archives evidence and publishes release.
|
|
42
|
+
|
|
43
|
+
## Definition Of Done
|
|
44
|
+
|
|
45
|
+
A capability is considered absorbed by KSE when all checks pass:
|
|
46
|
+
|
|
47
|
+
- `kse scene package-validate --strict`
|
|
48
|
+
- `kse scene lint --strict`
|
|
49
|
+
- `kse scene score --threshold 85`
|
|
50
|
+
- `kse scene ontology validate`
|
|
51
|
+
- `kse auto handoff run --require-ontology-validation`
|
|
@@ -96,5 +96,20 @@ Ensure:
|
|
|
96
96
|
- `package.json` version is correct.
|
|
97
97
|
- `CHANGELOG.md` includes release-relevant entries.
|
|
98
98
|
- Release notes draft exists (for example `docs/releases/vX.Y.Z.md`).
|
|
99
|
+
- Optional: configure release evidence gate with repository variables (`Settings -> Secrets and variables -> Actions -> Variables`):
|
|
100
|
+
- `KSE_RELEASE_GATE_ENFORCE`: `true|false` (default advisory, non-blocking)
|
|
101
|
+
- `KSE_RELEASE_GATE_REQUIRE_EVIDENCE`: require `handoff-runs.json` summary
|
|
102
|
+
- `KSE_RELEASE_GATE_REQUIRE_GATE_PASS`: require evidence gate `passed=true` (default true when evidence exists)
|
|
103
|
+
- `KSE_RELEASE_GATE_MIN_SPEC_SUCCESS_RATE`: minimum allowed success rate percent
|
|
104
|
+
- `KSE_RELEASE_GATE_MAX_RISK_LEVEL`: `low|medium|high|unknown` (default `unknown`)
|
|
105
|
+
- `KSE_RELEASE_GATE_MAX_UNMAPPED_RULES`: maximum allowed unmapped ontology business rules
|
|
106
|
+
- `KSE_RELEASE_GATE_MAX_UNDECIDED_DECISIONS`: maximum allowed undecided ontology decisions
|
|
107
|
+
- Optional: tune release drift alerts in release notes:
|
|
108
|
+
- `KSE_RELEASE_DRIFT_ENFORCE`: `true|false` (default `false`), block publish when drift alerts are triggered
|
|
109
|
+
- `KSE_RELEASE_DRIFT_FAIL_STREAK_MIN`: minimum consecutive failed gates to trigger alert (default `2`)
|
|
110
|
+
- `KSE_RELEASE_DRIFT_HIGH_RISK_SHARE_MIN_PERCENT`: minimum high-risk share in latest 5 versions (default `60`)
|
|
111
|
+
- `KSE_RELEASE_DRIFT_HIGH_RISK_SHARE_DELTA_MIN_PERCENT`: minimum short-vs-long high-risk share delta (default `25`)
|
|
112
|
+
- Optional local dry-run for gate history index artifact:
|
|
113
|
+
- `kse auto handoff gate-index --dir .kiro/reports/release-evidence --out .kiro/reports/release-evidence/release-gate-history.json --json`
|
|
99
114
|
|
|
100
115
|
Then proceed with your release workflow (tag, push, npm publish, GitHub release).
|
|
@@ -96,5 +96,20 @@ git log --oneline -n 15
|
|
|
96
96
|
- `package.json` 版本号正确;
|
|
97
97
|
- `CHANGELOG.md` 已记录发布相关变化;
|
|
98
98
|
- 发布说明草稿已就绪(如 `docs/releases/vX.Y.Z.md`)。
|
|
99
|
+
- 可选:通过仓库变量配置 release evidence 门禁(`Settings -> Secrets and variables -> Actions -> Variables`):
|
|
100
|
+
- `KSE_RELEASE_GATE_ENFORCE`:`true|false`(默认 advisory,不阻断发布)
|
|
101
|
+
- `KSE_RELEASE_GATE_REQUIRE_EVIDENCE`:是否要求存在 `handoff-runs.json` 摘要
|
|
102
|
+
- `KSE_RELEASE_GATE_REQUIRE_GATE_PASS`:是否要求 evidence gate `passed=true`(有 evidence 时默认要求)
|
|
103
|
+
- `KSE_RELEASE_GATE_MIN_SPEC_SUCCESS_RATE`:最小允许成功率(百分比)
|
|
104
|
+
- `KSE_RELEASE_GATE_MAX_RISK_LEVEL`:`low|medium|high|unknown`(默认 `unknown`)
|
|
105
|
+
- `KSE_RELEASE_GATE_MAX_UNMAPPED_RULES`:ontology 业务规则未映射最大允许值
|
|
106
|
+
- `KSE_RELEASE_GATE_MAX_UNDECIDED_DECISIONS`:ontology 决策未定最大允许值
|
|
107
|
+
- 可选:通过仓库变量调节 Release Notes 中的漂移告警阈值:
|
|
108
|
+
- `KSE_RELEASE_DRIFT_ENFORCE`:`true|false`(默认 `false`),触发 drift alert 时阻断发布
|
|
109
|
+
- `KSE_RELEASE_DRIFT_FAIL_STREAK_MIN`:触发告警的最小连续失败次数(默认 `2`)
|
|
110
|
+
- `KSE_RELEASE_DRIFT_HIGH_RISK_SHARE_MIN_PERCENT`:近 5 版 high 风险占比告警阈值(默认 `60`)
|
|
111
|
+
- `KSE_RELEASE_DRIFT_HIGH_RISK_SHARE_DELTA_MIN_PERCENT`:短期相对长期 high 风险占比增量阈值(默认 `25`)
|
|
112
|
+
- 可选本地预演 release gate 历史索引产物:
|
|
113
|
+
- `kse auto handoff gate-index --dir .kiro/reports/release-evidence --out .kiro/reports/release-evidence/release-gate-history.json --json`
|
|
99
114
|
|
|
100
115
|
然后再执行你的正式发布流程(打 tag、push、npm publish、GitHub Release)。
|