Release v0.6.0-rc

This commit is contained in:
nrslib 2026-02-05 17:37:57 +09:00
parent ee0cb8e13a
commit 0d36b08f96
5 changed files with 46 additions and 19 deletions

View File

@ -4,6 +4,35 @@ 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/). The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
## [0.6.0-rc] - 2026-02-05
### Added
- `coding` ビルトインピース: 設計→実装→並列レビュー→修正の軽量開発ピースplan/supervise を省略した高速フィードバックループ)
- `conductor` エージェント: Phase 3 判定専用エージェント。レポートやレスポンスを読んで判定タグを出力する
- Phase 3 判定のフォールバック戦略: AutoSelect → ReportBased → ResponseBased → AgentConsult の4段階フォールバックで判定精度を向上 (`src/core/piece/judgment/`)
- セッション状態管理: タスク実行結果(成功/エラー/中断)を保存し、次回インタラクティブモード起動時に前回の結果を表示 (#89)
- TAKT メタ情報(ピース構造、進行状況)をエージェントに引き渡す仕組み
- `/play` コマンド: インタラクティブモードでタスクを即座に実行
- E2Eテスト基盤: mock/provider 両対応のテストインフラ、10種のE2Eテストスペック、テストヘルパーisolated-env, takt-runner, test-repo
- レビューエージェントに「論理的に到達不可能な防御コード」の検出ルールを追加
### Changed
- Phase 3 判定ロジックをセッション再開方式から conductor エージェント+フォールバック戦略に変更(判定の安定性向上)
- CLI ルーティングを `executeDefaultAction()` として関数化し、スラッシュコマンドのフォールバックから再利用可能に (#32)
- `/``#` で始まる入力をコマンド/Issue 未検出時にタスク指示として受け入れるよう変更 (#32)
- `isDirectTask()` を簡素化: Issue 参照のみ直接実行、それ以外はすべてインタラクティブモードへ
- 全ビルトインピースから `pass_previous_response: true` を削除(デフォルト動作のため不要)
### Internal
- E2Eテスト設定ファイル追加vitest.config.e2e.ts, vitest.config.e2e.mock.ts, vitest.config.e2e.provider.ts
- `rule-utils.ts``getReportFiles()`, `hasOnlyOneBranch()`, `getAutoSelectedTag()` を追加
- `StatusJudgmentBuilder` にレポートコンテンツ・レスポンスベースの判定指示生成を追加
- `InstructionBuilder` にピースメタ情報(構造、反復回数)の注入を追加
- テスト追加: judgment-detector, judgment-fallback, sessionState, pieceResolver, cli-slash-hash, e2e-helpers
## [0.5.1] - 2026-02-04 ## [0.5.1] - 2026-02-04
### Fixed ### Fixed

View File

@ -78,12 +78,12 @@ takt
takt hello takt hello
``` ```
**Note:** If you specify a string with spaces, Issue reference (`#6`), or `--task` / `--issue` options, interactive mode will be skipped and the task will be executed directly. **Note:** Issue references (`#6`) and `--task` / `--issue` options skip interactive mode and execute the task directly. All other inputs (including text with spaces) enter interactive mode for requirement refinement.
**Flow:** **Flow:**
1. Select piece 1. Select piece
2. Refine task content through conversation with AI 2. Refine task content through conversation with AI
3. Finalize task instructions with `/go` (you can also add additional instructions like `/go additional instructions`) 3. Finalize task instructions with `/go` (you can also add additional instructions like `/go additional instructions`), or use `/play <task>` to execute a task immediately
4. Execute (create worktree, run piece, create PR) 4. Execute (create worktree, run piece, create PR)
#### Execution Example #### Execution Example
@ -125,22 +125,21 @@ Proceed with these task instructions? (Y/n) y
### Direct Task Execution ### Direct Task Execution
When task content is clear, you can skip interactive mode and execute directly. Use the `--task` option to skip interactive mode and execute directly.
```bash ```bash
# Specify task content directly (string with spaces)
takt "Add login feature"
# Specify task content with --task option # Specify task content with --task option
takt --task "Fix bug" takt --task "Fix bug"
# Specify piece # Specify piece
takt "Add authentication" --piece expert takt --task "Add authentication" --piece expert
# Auto-create PR # Auto-create PR
takt "Fix bug" --auto-pr takt --task "Fix bug" --auto-pr
``` ```
**Note:** Passing a string as an argument (e.g., `takt "Add login feature"`) enters interactive mode with it as the initial message.
### GitHub Issue Tasks ### GitHub Issue Tasks
You can execute GitHub Issues directly as tasks. Issue title, body, labels, and comments are automatically incorporated as task content. You can execute GitHub Issues directly as tasks. Issue title, body, labels, and comments are automatically incorporated as task content.

View File

@ -74,12 +74,12 @@ takt
takt hello takt hello
``` ```
**注意:** スペースを含む文字列や Issue 参照(`#6`)、`--task` / `--issue` オプションを指定すると、対話モードをスキップして直接タスク実行されます。 **注意:** Issue 参照(`#6`)や `--task` / `--issue` オプションを指定すると、対話モードをスキップして直接タスク実行されます。それ以外の入力(スペースを含む文字列を含む)はすべて対話モードに入ります。
**フロー:** **フロー:**
1. ピース選択 1. ピース選択
2. AI との会話でタスク内容を整理 2. AI との会話でタスク内容を整理
3. `/go` でタスク指示を確定(`/go 追加の指示` のように指示を追加することも可能) 3. `/go` でタスク指示を確定(`/go 追加の指示` のように指示を追加することも可能)、または `/play <タスク>` で即座に実行
4. 実行worktree 作成、ピース実行、PR 作成) 4. 実行worktree 作成、ピース実行、PR 作成)
#### 実行例 #### 実行例
@ -121,22 +121,21 @@ Select piece:
### 直接タスク実行 ### 直接タスク実行
タスク内容が明確な場合は、対話モードをスキップして直接実行できます。 `--task` オプションを使うと、対話モードをスキップして直接実行できます。
```bash ```bash
# タスク内容を直接指定(スペースを含む文字列)
takt "ログイン機能を追加する"
# --task オプションでタスク内容を指定 # --task オプションでタスク内容を指定
takt --task "バグを修正" takt --task "バグを修正"
# ピース指定 # ピース指定
takt "認証機能を追加" --piece expert takt --task "認証機能を追加" --piece expert
# PR 自動作成 # PR 自動作成
takt "バグを修正" --auto-pr takt --task "バグを修正" --auto-pr
``` ```
**注意:** `takt "ログイン機能を追加する"` のように引数として文字列を渡した場合は、対話モードの初期メッセージとして使用されます。
### GitHub Issue タスク ### GitHub Issue タスク
GitHub Issue を直接タスクとして実行できます。Issue のタイトル、本文、ラベル、コメントが自動的にタスク内容として取り込まれます。 GitHub Issue を直接タスクとして実行できます。Issue のタイトル、本文、ラベル、コメントが自動的にタスク内容として取り込まれます。

4
package-lock.json generated
View File

@ -1,12 +1,12 @@
{ {
"name": "takt", "name": "takt",
"version": "0.5.1", "version": "0.6.0-rc",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "takt", "name": "takt",
"version": "0.5.1", "version": "0.6.0-rc",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@anthropic-ai/claude-agent-sdk": "^0.2.19", "@anthropic-ai/claude-agent-sdk": "^0.2.19",

View File

@ -1,6 +1,6 @@
{ {
"name": "takt", "name": "takt",
"version": "0.5.1", "version": "0.6.0-rc",
"description": "TAKT: Task Agent Koordination Tool - AI Agent Piece Orchestration", "description": "TAKT: Task Agent Koordination Tool - AI Agent Piece Orchestration",
"main": "dist/index.js", "main": "dist/index.js",
"types": "dist/index.d.ts", "types": "dist/index.d.ts",