Release v0.19.0

This commit is contained in:
nrslib 2026-02-18 22:43:14 +09:00
parent 16d7f9f979
commit bede582362
5 changed files with 61 additions and 8 deletions

View File

@ -6,6 +6,34 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
## [0.19.0] - 2026-02-18
### Added
- Dedicated retry mode for failed tasks — conversation loop with failure context (error details, failed movement, last message), run session data, and piece structure injected into the system prompt
- Dedicated instruct system prompt for completed/failed task re-instruction — injects task name, content, branch changes, and retry notes directly into the prompt instead of using the generic interactive prompt
- Direct re-execution from `takt list` — "execute" action now runs the task immediately in the existing worktree instead of only requeuing to pending
- `startReExecution` atomic task transition — moves a completed/failed task directly to running status, avoiding the requeue → claim race condition
- Worktree reuse in task execution — reuses existing clone directory when it's still on disk, skipping branch name generation and clone creation
- Task history injection into interactive and summary system prompts — completed/failed/interrupted task summaries are included for context
- Previous run reference support in interactive and instruct system prompts — users can reference logs and reports from prior runs
- `findRunForTask` and `getRunPaths` helpers for automatic run session lookup by task content
- `isStaleRunningTask` process helper extracted from TaskLifecycleService for reuse
### Changed
- Interactive module split: `interactive.ts` refactored into `interactive-summary.ts`, `runSelector.ts`, `runSessionReader.ts`, and `selectorUtils.ts` for better cohesion
- `requeueTask` now accepts generic `allowedStatuses` parameter instead of only accepting `failed` tasks
- Instruct/retry actions in `takt list` use the worktree path for conversation and run data lookup instead of the project root
- `save_task` action now requeues the task (saves for later execution), while `execute` action runs immediately
### Internal
- Removed `DebugConfig` from models, schemas, and global config — simplified to verbose mode only
- Added stdin simulation test helpers (`stdinSimulator.ts`) for E2E conversation loop testing
- Added comprehensive E2E tests for retry mode, interactive routes, and run session injection
- Added `check:release` npm script for pre-release validation
## [0.18.2] - 2026-02-18
### Added

View File

@ -6,6 +6,34 @@
フォーマットは [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) に基づいています。
## [0.19.0] - 2026-02-18
### Added
- 失敗タスク専用のリトライモードを追加 — 失敗コンテキスト(エラー詳細、失敗ムーブメント、最終メッセージ)、実行セッションデータ、ピース構成をシステムプロンプトに注入する対話ループ
- 完了/失敗タスクの再指示用に専用 instruct システムプロンプトを追加 — タスク名・内容・ブランチ変更・リトライノートを汎用の対話プロンプトではなく直接プロンプトに注入
- `takt list` からの直接再実行 — "execute" アクションで既存ワークツリー内で即座にタスクを実行pending への再キューだけでなく)
- `startReExecution` によるアトミックなタスクステータス遷移 — completed/failed から直接 running に遷移し、requeue → claim のレースコンディションを回避
- タスク実行時のワークツリー再利用 — 既存のクローンディレクトリがディスク上に残っていればそのまま再利用(ブランチ名生成やクローン作成をスキップ)
- 対話モードおよびサマリーシステムプロンプトにタスク履歴を注入 — completed/failed/interrupted タスクのサマリーをコンテキストとして提供
- 対話モードおよび instruct システムプロンプトに前回実行の参照機能 — ログとレポートを参照可能に
- `findRunForTask` / `getRunPaths` ヘルパー — タスク内容による実行セッションの自動検索
- `isStaleRunningTask` プロセスヘルパーを TaskLifecycleService から抽出し再利用可能に
### Changed
- interactive モジュール分割: `interactive.ts``interactive-summary.ts``runSelector.ts``runSessionReader.ts``selectorUtils.ts` にリファクタリング
- `requeueTask` が汎用の `allowedStatuses` パラメータを受け取るように変更(`failed` のみだった制約を解除)
- `takt list` の instruct/retry アクションがプロジェクトルートではなくワークツリーパスを使用して対話と実行データの参照を行うように変更
- `save_task` アクションはタスクを再キュー(後で実行用に保存)、`execute` アクションは即座に実行
### Internal
- `DebugConfig` をモデル・スキーマ・グローバル設定から削除 — verbose モードのみに簡素化
- stdin シミュレーションテストヘルパー(`stdinSimulator.ts`を追加し、E2E 対話ループテストを実現
- リトライモード、対話ルーティング、実行セッション注入の包括的な E2E テストを追加
- `check:release` npm スクリプトを追加(リリース前検証用)
## [0.18.2] - 2026-02-18
### Added

View File

@ -76,10 +76,6 @@ takt --pipeline --task "バグを修正して" --auto-pr
## 使い方
## 実装メモ
- failed タスクの retry とセッション再開: [`docs/implements/retry-and-session.ja.md`](./implements/retry-and-session.ja.md)
### 対話モード
AI との会話でタスク内容を詰めてから実行するモード。タスクの要件が曖昧な場合や、AI と相談しながら内容を整理したい場合に便利です。
@ -453,7 +449,7 @@ movements:
| 種類 | 構文 | 説明 |
|------|------|------|
| タグベース | `"条件テキスト"` | エージェントが `[STEP:N]` タグを出力し、インデックスでマッチ |
| タグベース | `"条件テキスト"` | エージェントが `[MOVEMENTNAME:N]` タグを出力し、インデックスでマッチ |
| AI判定 | `ai("条件テキスト")` | AIが条件をエージェント出力に対して評価 |
| 集約 | `all("X")` / `any("X")` | パラレルサブムーブメントの結果を集約 |
@ -945,6 +941,7 @@ export TAKT_OPENCODE_API_KEY=...
- [Faceted Prompting](./faceted-prompting.ja.md) - AIプロンプトへの関心の分離Persona, Policy, Instruction, Knowledge, Output Contract
- [Piece Guide](./pieces.md) - ピースの作成とカスタマイズ
- [Agent Guide](./agents.md) - カスタムエージェントの設定
- [Retry and Session](./implements/retry-and-session.ja.md) - failed タスクの retry とセッション再開
- [Changelog](../CHANGELOG.md) ([日本語](./CHANGELOG.ja.md)) - バージョン履歴
- [Security Policy](../SECURITY.md) - 脆弱性報告
- [ブログ: TAKT - AIエージェントオーケストレーション](https://zenn.dev/nrs/articles/c6842288a526d7) - 設計思想と実践的な使い方ガイド

4
package-lock.json generated
View File

@ -1,12 +1,12 @@
{
"name": "takt",
"version": "0.18.2",
"version": "0.19.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "takt",
"version": "0.18.2",
"version": "0.19.0",
"license": "MIT",
"dependencies": {
"@anthropic-ai/claude-agent-sdk": "^0.2.37",

View File

@ -1,6 +1,6 @@
{
"name": "takt",
"version": "0.18.2",
"version": "0.19.0",
"description": "TAKT: TAKT Agent Koordination Topology - AI Agent Piece Orchestration",
"main": "dist/index.js",
"types": "dist/index.d.ts",