diff --git a/CHANGELOG.md b/CHANGELOG.md index 58c561b..ff05686 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,40 @@ 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.20.0] - 2026-02-19 + +### Added + +- **Faceted Prompting module** (`src/faceted-prompting/`): Standalone library for facet composition, resolution, template rendering, and truncation — zero dependencies on TAKT internals. Includes `DataEngine` interface with `FileDataEngine` and `CompositeDataEngine` implementations for pluggable facet storage +- **Analytics module** (`src/features/analytics/`): Local-only review quality metrics collection — event types (review findings, fix actions, movement results), JSONL writer with date-based rotation, report parser, and metrics computation +- **`takt metrics review` command**: Display review quality metrics (re-report counts, round-trip ratio, resolution iterations, REJECT counts by rule, rebuttal resolution ratio) with configurable time window (`--since`) +- **`takt purge` command**: Purge old analytics event files with configurable retention period (`--retention-days`) +- **`takt reset config` command**: Reset global config to builtin template with automatic backup of the existing config +- **PR duplicate prevention**: When a PR already exists for the current branch, push and comment on the existing PR instead of creating a duplicate (#304) +- Retry mode now positions the cursor on the failed movement when selecting which movement to retry +- E2E tests for run-recovery and config-priority scenarios + +### Changed + +- **README overhaul**: Compressed from ~950 lines to ~270 lines — details split into dedicated docs (`docs/configuration.md`, `docs/cli-reference.md`, `docs/task-management.md`, `docs/ci-cd.md`, `docs/builtin-catalog.md`) with Japanese equivalents. Redefined product concept around 4 value axes: batteries included, practical, reproducible, multi-agent +- **Config system refactored**: Unified configuration resolution to `resolveConfigValue()` and `loadConfig()`, eliminating scattered config access patterns across the codebase +- **`takt config` command removed**: Replaced by `takt reset config` for resetting to defaults +- Builtin config templates refreshed with updated comments and structure +- `@anthropic-ai/claude-agent-sdk` updated to v0.2.47 +- Instruct mode prompt improvements for task re-instruction + +### Fixed + +- Fixed issue where builtin piece file references used absolute path instead of relative (#304) +- Removed unused imports and variables across multiple files + +### Internal + +- Unified `loadConfig`, `resolveConfigValue`, piece config resolution, and config priority paths +- Added E2E tests for config priority and run recovery scenarios +- Added `postExecution.test.ts` for PR creation flow testing +- Cleaned up unused imports and variables + ## [0.19.0] - 2026-02-18 ### Added diff --git a/docs/CHANGELOG.ja.md b/docs/CHANGELOG.ja.md index 47c7b1e..8a67ad0 100644 --- a/docs/CHANGELOG.ja.md +++ b/docs/CHANGELOG.ja.md @@ -6,6 +6,40 @@ フォーマットは [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) に基づいています。 +## [0.20.0] - 2026-02-19 + +### Added + +- **Faceted Prompting モジュール** (`src/faceted-prompting/`): ファセット合成・解決・テンプレートレンダリング・トランケーションのスタンドアロンライブラリ — TAKT 内部への依存ゼロ。プラガブルなファセットストレージのための `DataEngine` インターフェースと `FileDataEngine`、`CompositeDataEngine` 実装を含む +- **Analytics モジュール** (`src/features/analytics/`): ローカル専用のレビュー品質メトリクス収集 — イベント型(レビュー指摘、修正アクション、ムーブメント結果)、日付ローテーション付き JSONL ライター、レポートパーサー、メトリクス計算 +- **`takt metrics review` コマンド**: レビュー品質メトリクスを表示(再報告カウント、ラウンドトリップ率、解決イテレーション数、ルール別 REJECT カウント、反論解決率)。`--since` で時間枠を設定可能 +- **`takt purge` コマンド**: 古いアナリティクスイベントファイルを削除。`--retention-days` で保持期間を設定可能 +- **`takt reset config` コマンド**: グローバル設定をビルトインテンプレートにリセット(既存設定の自動バックアップ付き) +- **PR 重複防止**: 現在のブランチに既に PR が存在する場合、新規作成ではなく既存 PR へのプッシュとコメント追加で対応 (#304) +- リトライ時のムーブメント選択で失敗箇所にカーソルを初期配置 +- run-recovery と config-priority シナリオの E2E テストを追加 + +### Changed + +- **README を大幅改訂**: 約950行から約270行に圧縮 — 詳細情報を専用ドキュメント(`docs/configuration.md`、`docs/cli-reference.md`、`docs/task-management.md`、`docs/ci-cd.md`、`docs/builtin-catalog.md`)に分離し、日本語版も作成。プロダクトコンセプトを4軸(すぐ始められる、実用的、再現可能、マルチエージェント)で再定義 +- **設定システムのリファクタリング**: 設定解決を `resolveConfigValue()` と `loadConfig()` に統一し、コードベース全体に散在していた設定アクセスパターンを解消 +- **`takt config` コマンド削除**: デフォルトへのリセットを行う `takt reset config` に置き換え +- ビルトイン設定テンプレートのコメントと構造を刷新 +- `@anthropic-ai/claude-agent-sdk` を v0.2.47 に更新 +- タスク再指示のインストラクトモードプロンプトを改善 + +### Fixed + +- ビルトインピースのファイル参照が相対パスではなく絶対パスを使用していた問題を修正 (#304) +- 複数ファイルにまたがる未使用 import・変数を削除 + +### Internal + +- `loadConfig`、`resolveConfigValue`、ピース設定解決、設定優先順位パスの統一 +- config-priority と run-recovery シナリオの E2E テストを追加 +- PR 作成フローテスト用の `postExecution.test.ts` を追加 +- 未使用 import・変数のクリーンアップ + ## [0.19.0] - 2026-02-18 ### Added diff --git a/docs/cli-reference.ja.md b/docs/cli-reference.ja.md index 9dea3e5..8f195ca 100644 --- a/docs/cli-reference.ja.md +++ b/docs/cli-reference.ja.md @@ -273,18 +273,38 @@ takt catalog personas takt prompt [piece] ``` -### takt config - -パーミッションモードを設定します。 - -```bash -takt config -``` - ### takt reset -Piece カテゴリをビルトインのデフォルトにリセットします。 +設定をデフォルトにリセットします。 ```bash +# グローバル設定をビルトインテンプレートにリセット(バックアップ付き) +takt reset config + +# Piece カテゴリをビルトインのデフォルトにリセット takt reset categories ``` + +### takt metrics + +アナリティクスメトリクスを表示します。 + +```bash +# レビュー品質メトリクスを表示(デフォルト: 直近30日) +takt metrics review + +# 時間枠を指定 +takt metrics review --since 7d +``` + +### takt purge + +古いアナリティクスイベントファイルを削除します。 + +```bash +# 30日以上前のファイルを削除(デフォルト) +takt purge + +# 保持期間を指定 +takt purge --retention-days 14 +``` diff --git a/docs/cli-reference.md b/docs/cli-reference.md index 1fc0b6a..22c4cb3 100644 --- a/docs/cli-reference.md +++ b/docs/cli-reference.md @@ -273,18 +273,38 @@ Preview assembled prompts for each movement and phase. takt prompt [piece] ``` -### takt config - -Configure permission mode. - -```bash -takt config -``` - ### takt reset -Reset piece categories to builtin defaults. +Reset settings to defaults. ```bash +# Reset global config to builtin template (with backup) +takt reset config + +# Reset piece categories to builtin defaults takt reset categories ``` + +### takt metrics + +Show analytics metrics. + +```bash +# Show review quality metrics (default: last 30 days) +takt metrics review + +# Specify time window +takt metrics review --since 7d +``` + +### takt purge + +Purge old analytics event files. + +```bash +# Purge files older than 30 days (default) +takt purge + +# Specify retention period +takt purge --retention-days 14 +``` diff --git a/package-lock.json b/package-lock.json index 5536a47..2909798 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "takt", - "version": "0.19.0", + "version": "0.20.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "takt", - "version": "0.19.0", + "version": "0.20.0", "license": "MIT", "dependencies": { "@anthropic-ai/claude-agent-sdk": "^0.2.47", diff --git a/package.json b/package.json index 3465da9..b7a42fd 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "takt", - "version": "0.19.0", + "version": "0.20.0", "description": "TAKT: TAKT Agent Koordination Topology - AI Agent Piece Orchestration", "main": "dist/index.js", "types": "dist/index.d.ts",