Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
f8b9d46
takt: github-issue-193-takt-add-issue (#199)
nrslib Feb 9, 2026
cf9a59c
一時的に追加
nrslib Feb 9, 2026
4f2a1b9
Merge remote-tracking branch 'takt/develop' into takt/20260209T2213-a…
nrslib Feb 9, 2026
d73643d
Merge remote-tracking branch 'e2e-repo/takt/20260209T2213-add-e2e-tes…
nrslib Feb 9, 2026
7e15691
github-issue-200-arpeggio (#203)
nrslib Feb 10, 2026
6b207e0
github-issue-201-completetask-completed-tasks-yaml (#202)
nrslib Feb 10, 2026
25f4bf6
Merge branch 'main' into develop
nrslib Feb 10, 2026
8cb3c87
takt: github-issue-204-takt-tasks (#205)
nrslib Feb 10, 2026
38e6956
feat: frontend特化ピースを追加し並列arch-reviewを導入
nrslib Feb 10, 2026
e6ccebf
chore: pieceカテゴリのja/en並びと表記を整理
nrslib Feb 10, 2026
9c44089
takt: github-issue-207-previous-response-source-path (#210)
nrslib Feb 10, 2026
b25e9a7
fix: callAiJudgeをプロバイダーシステム経由に変更(Codex対応)
nrslib Feb 10, 2026
f08c66c
Release v0.11.1
nrslib Feb 10, 2026
1946100
takt/#209/update review history logs (#213)
nrslib Feb 10, 2026
6e67f86
takt: github-issue-198-e2e-config-yaml (#208)
nrslib Feb 10, 2026
d185039
takt: github-issue-194-takt-add (#206)
nrslib Feb 10, 2026
eb32cf0
slug エージェントが暴走するのを対処
nrslib Feb 10, 2026
9546806
暴走抑止
nrslib Feb 10, 2026
79ee353
chore: add completion logs for branch and issue generation
nrslib Feb 10, 2026
3fa99ae
progressをわかりやすくする
nrslib Feb 10, 2026
aeedf87
fix
nrslib Feb 10, 2026
0214f7f
test: add withProgress mock in selectAndExecute autoPr test
nrslib Feb 10, 2026
de6b5b5
takt: github-issue-212-max-iteration-max-movement-ostinato (#217)
nrslib Feb 10, 2026
621b8bd
takt: github-issue-180-ai (#219)
nrslib Feb 10, 2026
11045d1
takt: github-issue-163-report-phase-blocked (#218)
nrslib Feb 10, 2026
dbc296e
Issue  作成時にタスクを積むかを確認
nrslib Feb 10, 2026
b80f6d0
takt: opencode (#222)
nrslib Feb 10, 2026
6bf495f
takt: github-issue-192-e2e-test (#221)
nrslib Feb 10, 2026
36e77ae
takt: issue (#220)
nrslib Feb 10, 2026
166d6d9
ポート競合回避
nrslib Feb 10, 2026
4bc759c
opencode 対応
nrslib Feb 10, 2026
addd702
pass_previous_responseを復活
nrslib Feb 10, 2026
475da03
takt: task-1770764964345 (#225)
nrslib Feb 10, 2026
1e4182b
opencode でプロンプトがechoされる問題を修正
nrslib Feb 10, 2026
c427997
opencode がハングする問題を修正
nrslib Feb 11, 2026
77cd485
worktreeにタスク指示書をコピー
nrslib Feb 11, 2026
fc1dfcc
opencode の question を抑制
nrslib Feb 11, 2026
69bd77a
Provider およびモデル名を出力
nrslib Feb 11, 2026
15fc687
fix: lint errors in merge/resolveTask/confirm
nrslib Feb 11, 2026
ccca094
fix: opencode permission and tool wiring for edit execution
nrslib Feb 11, 2026
2a678f3
opencodeの終了判定が誤っていたので修正
nrslib Feb 11, 2026
ee7f736
add e2e for opencode
nrslib Feb 11, 2026
3ffae2f
add test
nrslib Feb 11, 2026
a3555eb
takt: github-issue-236-feat-claude-codex-opencode (#239)
nrslib Feb 11, 2026
4fb058a
takt: slackweb (#234)
nrslib Feb 11, 2026
9f1c7e6
takt: github-issue-238-fix-opencode (#240)
nrslib Feb 11, 2026
21537a3
Release v0.12.0
nrslib Feb 11, 2026
1705a33
provider event log default false
nrslib Feb 11, 2026
f487330
Merge branch 'main' into release/v0.12.0
nrslib Feb 11, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 39 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,45 @@ 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.12.0] - 2026-02-11

### Added

- **OpenCode プロバイダー**: 第3のプロバイダーとして OpenCode をネイティブサポート — `@opencode-ai/sdk/v2` による SDK 統合、権限マッピング(readonly/edit/full → reject/once/always)、SSE ストリーム処理、リトライ機構(最大3回)、10分タイムアウトによるハング検出 (#236, #238)
- **Arpeggio ムーブメント**: データ駆動バッチ処理の新ムーブメントタイプ — CSV データソースからバッチ分割、テンプレート展開(`{line:N}`, `{col:N:name}`, `{batch_index}`)、並行 LLM 呼び出し(Semaphore 制御)、concat/custom マージ戦略をサポート (#200)
- **`frontend` ビルトインピース**: フロントエンド開発特化のピースを新規追加 — React/Next.js 向けの knowledge 注入、coding/testing ポリシー適用、並列アーキテクチャレビュー対応
- **Slack Webhook 通知**: ピース実行完了時に Slack へ自動通知 — `TAKT_NOTIFY_WEBHOOK` 環境変数で設定、10秒タイムアウト、失敗時も他処理をブロックしない (#234)
- **セッション選択 UI**: インタラクティブモード開始時に Claude Code の過去セッションから再開可能なセッションを選択可能に — 最新10セッションの一覧表示、初期入力・最終応答プレビュー付き (#180)
- **プロバイダーイベントログ**: Claude/Codex/OpenCode の実行中イベントを NDJSON 形式でファイル出力 — `.takt/logs/{sessionId}-provider-events.jsonl` に記録、長大テキストの自動圧縮 (#236)
- **プロバイダー・モデル名の出力表示**: 各ムーブメント実行時に使用中のプロバイダーとモデル名をコンソールに表示

### Changed

- **`takt add` の刷新**: Issue 選択時にタスクへの自動追加、インタラクティブモードの廃止、Issue 作成時のタスク積み込み確認 (#193, #194)
- **`max_iteration` → `max_movement` 統一**: イテレーション上限の用語を統一し、無限実行指定として `ostinato` を追加 (#212)
- **`previous_response` 注入仕様の改善**: 長さ制御と Source Path 常時注入を実装 (#207)
- **タスク管理の改善**: `.takt/tasks/` を長文タスク仕様の置き場所として再定義、`completeTask()` で completed レコードを `tasks.yaml` から削除 (#201, #204)
- **レビュー出力の改善**: レビュー出力を最新化し、過去レポートは履歴ログへ分離 (#209)
- **ビルトインピース簡素化**: 全ビルトインピースのトップレベル宣言をさらに整理

### Fixed

- **Report Phase blocked 時の動作修正**: Report Phase(Phase 2)で blocked 状態の際に新規セッションでリトライするよう修正 (#163)
- **OpenCode のハング・終了判定の修正**: プロンプトのエコー抑制、question の抑制、ハング問題の修正、終了判定の誤りを修正 (#238)
- **OpenCode の権限・ツール設定の修正**: edit 実行時の権限とツール配線を修正
- **Worktree へのタスク指示書コピー**: Worktree 実行時にタスク指示書が正しくコピーされるよう修正
- lint エラーの修正(merge/resolveTask/confirm)

### Internal

- OpenCode プロバイダーの包括的なテスト追加(client-cleanup, config, provider, stream-handler, types)
- Arpeggio の包括的なテスト追加(csv, data-source-factory, merge, schema, template, engine-arpeggio)
- E2E テストの大幅な拡充: cli-catalog, cli-clear, cli-config, cli-export-cc, cli-help, cli-prompt, cli-reset-categories, cli-switch, error-handling, piece-error-handling, provider-error, quiet-mode, run-multiple-tasks, task-content-file (#192, #198)
- `providerEventLogger.ts`, `providerModel.ts`, `slackWebhook.ts`, `session-reader.ts`, `sessionSelector.ts`, `provider-resolution.ts`, `run-paths.ts` の新規追加
- `ArpeggioRunner.ts` の新規追加(データ駆動バッチ処理エンジン)
- AI Judge をプロバイダーシステム経由に変更(Codex/OpenCode 対応)
- テスト追加・拡充: report-phase-blocked, phase-runner-report-history, judgment-fallback, pieceExecution-session-loading, globalConfig-defaults, session-reader, sessionSelector, slackWebhook, providerEventLogger, provider-model, interactive, run-paths, engine-test-helpers

## [0.11.1] - 2026-02-10

### Fixed
Expand Down
12 changes: 6 additions & 6 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -218,7 +218,7 @@ Builtin resources are embedded in the npm package (`builtins/`). User files in `
```yaml
name: piece-name
description: Optional description
max_iterations: 10
max_movements: 10
initial_step: plan # First step to execute

steps:
Expand Down Expand Up @@ -291,7 +291,7 @@ Key points about parallel steps:
|----------|-------------|
| `{task}` | Original user request (auto-injected if not in template) |
| `{iteration}` | Piece-wide iteration count |
| `{max_iterations}` | Maximum iterations allowed |
| `{max_movements}` | Maximum movements allowed |
| `{step_iteration}` | Per-step iteration count |
| `{previous_response}` | Previous step output (auto-injected if not in template) |
| `{user_inputs}` | Accumulated user inputs (auto-injected if not in template) |
Expand Down Expand Up @@ -406,7 +406,7 @@ Key constraints:
- **Ephemeral lifecycle**: Clone is created → task runs → auto-commit + push → clone is deleted. Branches are the single source of truth.
- **Session isolation**: Claude Code sessions are stored per-cwd in `~/.claude/projects/{encoded-path}/`. Sessions from the main project cannot be resumed in a clone. The engine skips session resume when `cwd !== projectCwd`.
- **No node_modules**: Clones only contain tracked files. `node_modules/` is absent.
- **Dual cwd**: `cwd` = clone path (where agents run), `projectCwd` = project root. Reports write to `cwd/.takt/reports/` (clone) to prevent agents from discovering the main repository. Logs and session data write to `projectCwd`.
- **Dual cwd**: `cwd` = clone path (where agents run), `projectCwd` = project root. Reports write to `cwd/.takt/runs/{slug}/reports/` (clone) to prevent agents from discovering the main repository. Logs and session data write to `projectCwd`.
- **List**: Use `takt list` to list branches. Instruct action creates a temporary clone for the branch, executes, pushes, then removes the clone.

## Error Propagation
Expand Down Expand Up @@ -455,10 +455,10 @@ Debug logs are written to `.takt/logs/debug.log` (ndjson format). Log levels: `d
- If persona file doesn't exist, the persona string is used as inline system prompt

**Report directory structure:**
- Report dirs are created at `.takt/reports/{timestamp}-{slug}/`
- Report dirs are created at `.takt/runs/{timestamp}-{slug}/reports/`
- Report files specified in `step.report` are written relative to report dir
- Report dir path is available as `{report_dir}` variable in instruction templates
- When `cwd !== projectCwd` (worktree execution), reports write to `cwd/.takt/reports/` (clone dir) to prevent agents from discovering the main repository path
- When `cwd !== projectCwd` (worktree execution), reports write to `cwd/.takt/runs/{slug}/reports/` (clone dir) to prevent agents from discovering the main repository path

**Session continuity across phases:**
- Agent sessions persist across Phase 1 → Phase 2 → Phase 3 for context continuity
Expand All @@ -470,7 +470,7 @@ Debug logs are written to `.takt/logs/debug.log` (ndjson format). Log levels: `d
- `git clone --shared` creates independent `.git` directory (not `git worktree`)
- Clone cwd ≠ project cwd: agents work in clone, reports write to clone, logs write to project
- Session resume is skipped when `cwd !== projectCwd` to avoid cross-directory contamination
- Reports write to `cwd/.takt/reports/` (clone) to prevent agents from discovering the main repository path via instruction
- Reports write to `cwd/.takt/runs/{slug}/reports/` (clone) to prevent agents from discovering the main repository path via instruction
- Clones are ephemeral: created → task runs → auto-commit + push → deleted
- Use `takt list` to manage task branches after clone deletion

Expand Down
Loading
Loading