kiro-spec-engine 1.47.1 → 1.47.3
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/CHANGELOG.md +5 -0
- package/README.md +5 -2
- package/README.zh.md +5 -2
- package/docs/autonomous-control-guide.md +35 -0
- package/docs/command-reference.md +42 -1
- package/lib/commands/auto.js +1219 -257
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -8,6 +8,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
10
|
### Added
|
|
11
|
+
- **Controller checkpoint resume**: `close-loop-controller` now supports `--controller-resume <latest|id|file>` plus persisted controller session snapshots (`.kiro/auto/close-loop-controller-sessions`) with retention controls (`--controller-session-id`, `--controller-session-keep`, `--controller-session-older-than-days`, `--no-controller-session`).
|
|
12
|
+
- **Controller concurrency lease lock**: Added queue lease lock controls (`--controller-lock-file`, `--controller-lock-ttl-seconds`, `--no-controller-lock`) to prevent concurrent queue corruption and allow stale-lock takeover under bounded TTL.
|
|
13
|
+
- **Persistent close-loop queue controller**: Added `kse auto close-loop-controller [queue-file]` with queue drain/poll runtime (`--queue-format`, `--dequeue-limit`, `--wait-on-empty`, `--poll-seconds`, runtime budgets, done/failed archives) so broad goals can be continuously executed through `close-loop-program` without manual re-invocation.
|
|
11
14
|
- **KPI sample generator command**: Added `kse value metrics sample` to generate a ready-to-use KPI input JSON scaffold (`kpi-input.json`) for first-time observability runs.
|
|
12
15
|
- **Value observability documentation track**: Added dedicated EN/ZH guides for KPI snapshot/baseline/trend workflow (`docs/value-observability-guide.md`, `docs/zh/value-observability-guide.md`) and wired entry links from README + docs indexes for faster discovery of measurable delivery capabilities.
|
|
13
16
|
- **Release communication assets**: Added bilingual v1.46.2 release notes (`docs/releases/v1.46.2.md`, `docs/zh/releases/v1.46.2.md`) and a reusable pre-release checklist (`docs/release-checklist.md`).
|
|
@@ -88,6 +91,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
88
91
|
- **Live orchestration status streaming**: Added event/interval-driven status persistence callback support in `runOrchestration()` and wired `auto close-loop` live progress output (`--no-stream` to disable).
|
|
89
92
|
|
|
90
93
|
### Changed
|
|
94
|
+
- **Controller queue hygiene default**: `close-loop-controller` now deduplicates duplicate broad goals by default (`--no-controller-dedupe` to preserve raw duplicates), and summary telemetry includes dedupe/lock/session metadata.
|
|
91
95
|
- **Positioning and onboarding messaging**: Strengthened EN/ZH README and quick-start docs with explicit kse advantage matrix, 90-second value proof, and KPI observability positioning to improve first-contact clarity.
|
|
92
96
|
- **CLI first-screen positioning text**: Updated `kse --help` top description in EN/ZH locales to reflect current core strengths: Spec workflow, orchestration, and KPI observability.
|
|
93
97
|
- **Offline onboarding consistency**: Refreshed `START_HERE.txt`, `INSTALL_OFFLINE.txt`, and `docs/OFFLINE_INSTALL.md` to v1.46.2 guidance and aligned quick-start prerequisites with current runtime requirement (Node.js >= 16).
|
|
@@ -100,6 +104,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
100
104
|
- **Autonomous operator UX**: Expanded docs with semantic decomposition and live stream behavior for close-loop command usage.
|
|
101
105
|
|
|
102
106
|
### Fixed
|
|
107
|
+
- **Controller summary semantics**: `close-loop-controller` now reports final `pending_goals` from the persisted queue snapshot and only marks `cycle-limit-reached` as exhausted when pending work remains (or empty-polling mode explicitly consumes cycle budget).
|
|
103
108
|
- **npm package hygiene**: Excluded transient Python bytecode artifacts (`__pycache__`, `*.pyc/pyo/pyd`) from published package contents to reduce package noise and size.
|
|
104
109
|
- **Documentation contact placeholders**: Replaced `yourusername` placeholder repository links in onboarding docs with the canonical project URL and removed stale example email contact.
|
|
105
110
|
- **Jest force-exit dependency**: Removed `forceExit` from `jest.config.js` and `jest.config.ci.js`; test scripts now complete without explicit force-exit configuration.
|
package/README.md
CHANGED
|
@@ -57,6 +57,7 @@ graph LR
|
|
|
57
57
|
| Multi-agent scale-out | DAG orchestration (`orchestrate run/status/stop`) | Parallel delivery without manual terminal juggling |
|
|
58
58
|
| Auto portfolio decomposition | Master/Sub spec split + dependency wiring | Complex goals become executable parallel plans automatically |
|
|
59
59
|
| Program self-healing closure | `auto close-loop-program` auto recovery + learned remediation memory | Failed/partial runs continue autonomously until bounded convergence |
|
|
60
|
+
| Queue-driven autonomous runtime | `auto close-loop-controller` persistent queue drain | Program-scale backlogs continue without manual re-triggering |
|
|
60
61
|
| Autonomous convergence governance | Program gate (`min-success-rate` + `max-risk-level`) + audit JSON output | Program completion is policy-verified and traceable |
|
|
61
62
|
| Measurable outcomes | KPI automation (`value metrics snapshot/baseline/trend`) | Delivery quality can be tracked week-over-week |
|
|
62
63
|
| Tool-agnostic adoption | Works across Claude/Cursor/Windsurf/Copilot/Kiro | No lock-in to a single AI IDE |
|
|
@@ -532,6 +533,8 @@ kse create-spec <name> # Legacy: create empty Spec folder only
|
|
|
532
533
|
kse auto close-loop "<goal>" # Auto split goal into master/sub specs and execute to closure
|
|
533
534
|
kse auto close-loop "<goal>" --dry-run --json # Preview decomposition plan only
|
|
534
535
|
kse auto close-loop-program "<goal>" --program-govern-until-stable --program-govern-use-action 1 --json # Program-level recovery + governance with remediation action execution
|
|
536
|
+
kse auto close-loop-controller .kiro/auto/program-queue.lines --wait-on-empty --dequeue-limit 2 --json # Queue-driven autonomous controller for broad-goal backlogs
|
|
537
|
+
kse auto close-loop-controller --controller-resume latest --json # Resume autonomous controller from latest persisted checkpoint
|
|
535
538
|
|
|
536
539
|
# Spec workflow (recommended)
|
|
537
540
|
kse spec bootstrap --name <spec> --non-interactive # Generate requirements/design/tasks draft
|
|
@@ -736,6 +739,6 @@ A deep conversation about AI development trends, Neo-Confucian philosophy, and s
|
|
|
736
739
|
|
|
737
740
|
---
|
|
738
741
|
|
|
739
|
-
**Version**: 1.
|
|
740
|
-
**Last Updated**: 2026-02-
|
|
742
|
+
**Version**: 1.47.3
|
|
743
|
+
**Last Updated**: 2026-02-15
|
|
741
744
|
|
package/README.zh.md
CHANGED
|
@@ -55,6 +55,7 @@ graph LR
|
|
|
55
55
|
| 多 Agent 扩展 | DAG 编排(`orchestrate run/status/stop`) | 并行交付,不再手工开多终端 |
|
|
56
56
|
| 自动主从拆分 | 目标自动拆成 Master/Sub Spec 并建立依赖 | 复杂需求自动转成可并行执行计划 |
|
|
57
57
|
| 程序级自愈闭环 | `auto close-loop-program` 自动恢复 + 策略记忆 | 失败/部分失败会自动续跑,直到有界收敛 |
|
|
58
|
+
| 队列驱动自治执行 | `auto close-loop-controller` 持续消费目标队列 | 程序级积压目标无需人工反复触发 |
|
|
58
59
|
| 自治收敛治理 | Program Gate(最小成功率 + 最大风险)+ 审计 JSON 导出 | 完成结果可按策略验收且全程可追溯 |
|
|
59
60
|
| 结果可量化 | KPI 自动化(`value metrics snapshot/baseline/trend`) | 周度趋势可追踪、可审计 |
|
|
60
61
|
| 工具无锁定 | 兼容 Claude/Cursor/Windsurf/Copilot/Kiro | 团队可保留现有 AI 工具链 |
|
|
@@ -449,6 +450,8 @@ kse create-spec <name> # 兼容旧版:仅创建空 Spec 目录
|
|
|
449
450
|
kse auto close-loop "<目标>" # 自动拆分 Master/Sub Spec 并推进到完成态
|
|
450
451
|
kse auto close-loop "<目标>" --dry-run --json # 仅预览拆分与依赖计划
|
|
451
452
|
kse auto close-loop-program "<目标>" --program-govern-until-stable --program-govern-use-action 1 --json # 程序级自动恢复 + 治理循环(含 remediation action 执行)直到稳定
|
|
453
|
+
kse auto close-loop-controller .kiro/auto/program-queue.lines --wait-on-empty --dequeue-limit 2 --json # 队列驱动自治控制器,持续处理广义目标积压
|
|
454
|
+
kse auto close-loop-controller --controller-resume latest --json # 从最近一次 controller 检查点恢复自治推进
|
|
452
455
|
|
|
453
456
|
# Spec 工作流(推荐)
|
|
454
457
|
kse spec bootstrap --name <spec> --non-interactive # 生成 requirements/design/tasks 初稿
|
|
@@ -600,7 +603,7 @@ kse spec bootstrap --name 01-00-my-first-feature --non-interactive
|
|
|
600
603
|
|
|
601
604
|
---
|
|
602
605
|
|
|
603
|
-
**版本**:1.
|
|
604
|
-
**最后更新**:2026-02-
|
|
606
|
+
**版本**:1.47.3
|
|
607
|
+
**最后更新**:2026-02-15
|
|
605
608
|
|
|
606
609
|
|
|
@@ -87,6 +87,24 @@ kse auto close-loop-program \
|
|
|
87
87
|
--program-audit-out .kiro/reports/close-loop-program-audit.json \
|
|
88
88
|
--json
|
|
89
89
|
|
|
90
|
+
# Controller command: drain queue goals with autonomous close-loop-program runtime
|
|
91
|
+
kse auto close-loop-controller .kiro/auto/program-queue.lines \
|
|
92
|
+
--dequeue-limit 2 \
|
|
93
|
+
--max-cycles 20 \
|
|
94
|
+
--controller-done-file .kiro/auto/program-done.lines \
|
|
95
|
+
--controller-failed-file .kiro/auto/program-failed.lines \
|
|
96
|
+
--json
|
|
97
|
+
|
|
98
|
+
# Persistent controller mode: keep polling queue and execute new goals automatically
|
|
99
|
+
kse auto close-loop-controller .kiro/auto/program-queue.lines \
|
|
100
|
+
--wait-on-empty \
|
|
101
|
+
--poll-seconds 30 \
|
|
102
|
+
--max-cycles 1000 \
|
|
103
|
+
--max-minutes 240
|
|
104
|
+
|
|
105
|
+
# Resume from latest persisted controller session
|
|
106
|
+
kse auto close-loop-controller --controller-resume latest --json
|
|
107
|
+
|
|
90
108
|
# Recovery command: consume diagnostics and auto-recover unresolved goals
|
|
91
109
|
kse auto close-loop-recover latest --json
|
|
92
110
|
kse auto close-loop-recover .kiro/auto/close-loop-batch-summaries/batch-20260215090000.json \
|
|
@@ -282,6 +300,23 @@ Close-loop program command:
|
|
|
282
300
|
- Summary also includes `program_diagnostics` (`failure_clusters`, `remediation_actions`) to drive automatic follow-up and convergence recovery.
|
|
283
301
|
- Summary includes `program_coordination` (master/sub topology, unresolved goal indexes, scheduler telemetry) and `auto_recovery` metadata.
|
|
284
302
|
|
|
303
|
+
Close-loop controller command:
|
|
304
|
+
- Command: `kse auto close-loop-controller [queue-file]`
|
|
305
|
+
- Runs a queue-driven autonomous loop: dequeue broad goals, execute each by `close-loop-program`, persist remaining queue, and continue until stop condition.
|
|
306
|
+
- Queue file defaults to `.kiro/auto/close-loop-controller-goals.lines`; supports `auto|json|lines` parsing via `--queue-format`.
|
|
307
|
+
- `--controller-resume <session-or-file>` resumes queue/controller context from persisted controller session (`latest`, session id, or file path).
|
|
308
|
+
- Duplicate broad goals are deduped by default; use `--no-controller-dedupe` to preserve raw queue duplicates.
|
|
309
|
+
- `--dequeue-limit <n>` controls how many queued goals are consumed in one cycle (`1-100`, default `1`).
|
|
310
|
+
- `--wait-on-empty` + `--poll-seconds <n>` enables long-running poll mode for continuously appended program queues.
|
|
311
|
+
- `--max-cycles <n>` + `--max-minutes <n>` bound controller runtime to prevent unbounded loops.
|
|
312
|
+
- Controller lease lock is enabled by default to prevent concurrent queue corruption (`--controller-lock-file`, `--controller-lock-ttl-seconds`, `--no-controller-lock`).
|
|
313
|
+
- `--stop-on-goal-failure` stops controller immediately on the first failed dequeued goal.
|
|
314
|
+
- `--controller-done-file` / `--controller-failed-file` append per-goal archive lines for downstream ops and replay.
|
|
315
|
+
- Controller summaries are persisted by default (`.kiro/auto/close-loop-controller-sessions`); use `--controller-session-id`, `--controller-session-keep`, `--controller-session-older-than-days`, `--no-controller-session` as needed.
|
|
316
|
+
- `--controller-print-program-summary` prints each nested program summary in realtime during controller execution.
|
|
317
|
+
- Supports full program governance/gate/recovery policy controls (`--program-*`, `--batch-*`, `--continue-on-error`, `--recovery-memory-scope`, `--dry-run`, `--json`).
|
|
318
|
+
- Output summary includes `history`, `results`, final `pending_goals`, `stop_reason`, `exhausted`, dedupe/lock/session, and resume-source telemetry.
|
|
319
|
+
|
|
285
320
|
Close-loop recovery command:
|
|
286
321
|
- Command: `kse auto close-loop-recover [summary]` (defaults to `latest` if summary is omitted).
|
|
287
322
|
- Loads unresolved goals from a prior summary and applies selected remediation strategy patch automatically.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
> Quick reference for all kse commands
|
|
4
4
|
|
|
5
|
-
**Version**: 1.
|
|
5
|
+
**Version**: 1.47.3
|
|
6
6
|
**Last Updated**: 2026-02-15
|
|
7
7
|
|
|
8
8
|
---
|
|
@@ -344,6 +344,24 @@ kse auto close-loop-program \
|
|
|
344
344
|
--program-audit-out .kiro/reports/close-loop-program-audit.json \
|
|
345
345
|
--json
|
|
346
346
|
|
|
347
|
+
# Controller command: drain queued broad goals with close-loop-program runtime
|
|
348
|
+
kse auto close-loop-controller .kiro/auto/program-queue.lines \
|
|
349
|
+
--dequeue-limit 2 \
|
|
350
|
+
--max-cycles 20 \
|
|
351
|
+
--controller-done-file .kiro/auto/program-done.lines \
|
|
352
|
+
--controller-failed-file .kiro/auto/program-failed.lines \
|
|
353
|
+
--json
|
|
354
|
+
|
|
355
|
+
# Persistent controller mode: keep polling queue and execute new goals automatically
|
|
356
|
+
kse auto close-loop-controller .kiro/auto/program-queue.lines \
|
|
357
|
+
--wait-on-empty \
|
|
358
|
+
--poll-seconds 30 \
|
|
359
|
+
--max-cycles 1000 \
|
|
360
|
+
--max-minutes 240
|
|
361
|
+
|
|
362
|
+
# Resume from latest persisted controller session
|
|
363
|
+
kse auto close-loop-controller --controller-resume latest --json
|
|
364
|
+
|
|
347
365
|
# Recovery command: replay unresolved goals from summary using remediation action strategy
|
|
348
366
|
kse auto close-loop-recover latest --json
|
|
349
367
|
kse auto close-loop-recover .kiro/auto/close-loop-batch-summaries/batch-20260215090000.json \
|
|
@@ -548,6 +566,29 @@ Close-loop program (`kse auto close-loop-program "<goal>"`) options:
|
|
|
548
566
|
- Program summary includes `program_diagnostics` with `failure_clusters` and `remediation_actions` (prioritized follow-up commands for convergence).
|
|
549
567
|
- Program summary includes `program_coordination` (master/sub topology, unresolved goal indexes, scheduler snapshot) and `auto_recovery` metadata.
|
|
550
568
|
|
|
569
|
+
Close-loop controller (`kse auto close-loop-controller [queue-file]`) options:
|
|
570
|
+
- `queue-file`: optional queue file path (default `.kiro/auto/close-loop-controller-goals.lines`)
|
|
571
|
+
- `--controller-resume <session-or-file>`: resume from persisted controller session (`latest`, session id, or file path)
|
|
572
|
+
- `--queue-format <auto|json|lines>`: queue parser mode (default `auto`)
|
|
573
|
+
- `--no-controller-dedupe`: disable duplicate broad-goal deduplication (default dedupe enabled)
|
|
574
|
+
- `--dequeue-limit <n>`: consume up to `n` goals per controller cycle (`1-100`, default `1`)
|
|
575
|
+
- `--wait-on-empty`: keep polling when queue is empty instead of stopping
|
|
576
|
+
- `--poll-seconds <n>`: polling interval for `--wait-on-empty` (`1-3600`, default `30`)
|
|
577
|
+
- `--max-cycles <n>`: max controller cycles (`1-100000`, default `1000`)
|
|
578
|
+
- `--max-minutes <n>`: elapsed-time budget in minutes (`1-10080`, default `120`)
|
|
579
|
+
- `--controller-lock-file <path>`: explicit lease lock file (default `<queue-file>.lock`)
|
|
580
|
+
- `--controller-lock-ttl-seconds <n>`: stale lock takeover threshold (`10-86400`, default `1800`)
|
|
581
|
+
- `--no-controller-lock`: disable controller lease lock (unsafe for concurrent controllers)
|
|
582
|
+
- `--stop-on-goal-failure`: stop immediately when one dequeued goal fails
|
|
583
|
+
- `--controller-session-id <id>`: set explicit persisted controller session id
|
|
584
|
+
- `--controller-session-keep <n>` / `--controller-session-older-than-days <n>`: retention policy for persisted controller sessions
|
|
585
|
+
- `--no-controller-session`: disable controller session persistence
|
|
586
|
+
- `--controller-out <path>`: write controller summary JSON
|
|
587
|
+
- `--controller-done-file <path>` / `--controller-failed-file <path>`: append completed/failed goals into line archives
|
|
588
|
+
- `--controller-print-program-summary`: print each nested `close-loop-program` summary during controller execution
|
|
589
|
+
- Supports program execution controls (`--program-*`, `--batch-*`, `--continue-on-error`, `--recovery-memory-scope`, `--dry-run`, `--json`) and runs each dequeued queue goal through full autonomous program flow.
|
|
590
|
+
- Summary includes controller telemetry (`history`, `results`, final `pending_goals`, `stop_reason`, `exhausted`, dedupe/lock/session metadata) plus optional done/failed archive file paths.
|
|
591
|
+
|
|
551
592
|
Close-loop recovery (`kse auto close-loop-recover [summary]`) options:
|
|
552
593
|
- `summary`: optional summary file path; defaults to `latest` persisted batch summary
|
|
553
594
|
- `--use-action <n>`: choose remediation action index from diagnostics (`1` by default)
|