nrslib
0e1cfd2eaa
takt: refactor-instruction-field
2026-03-06 09:16:14 +09:00
nrs
16596eff09
takt: refactor-status-handling ( #477 )
2026-03-06 01:40:25 +09:00
nrslib
a8223d231d
refactor: config 3層モデル整理 + supervisor ペルソナのファセット分離是正
...
Config:
- PersistedGlobalConfig → GlobalConfig にリネーム、互換エイリアス削除
- persisted-global-config.ts → config-types.ts にリネーム
- ProjectConfig → GlobalConfig extends Omit<ProjectConfig, ...> の継承構造に整理
- verbose/logLevel/log_level を削除(logging セクションに統一)
- migration 機構(migratedProjectLocalKeys 等)を削除
Supervisor ペルソナ:
- 後方互換コードの検出・その場しのぎの検出・ボーイスカウトルールを除去(review.md ポリシー / architecture.md ナレッジと重複)
- ピース全体の見直しを supervise.md インストラクションに移動
takt-default-team-leader:
- loop_monitor のインライン instruction_template を既存ファイル参照に変更
- implement の「判断できない」ルールを ai_review → plan に修正
2026-03-06 01:29:46 +09:00
nrs
a69e9f4fb3
takt: add-persona-quality-gates ( #472 )
2026-03-05 23:32:32 +09:00
nrs
76cfd771f8
takt: implement-usage-event-logging ( #470 )
2026-03-05 11:27:59 +09:00
nrs
2f268f6d43
[ #320 ] move-allowed-tools-claude ( #469 )
...
* takt: move-allowed-tools-claude
* fix: E2Eフィクスチャの allowed_tools を provider_options.claude に移行
PR #469 で allowed_tools がムーブメント直下から provider_options.claude.allowed_tools に
移動されたが、E2Eフィクスチャとインラインピース定義が旧形式のままだった。
2026-03-05 11:27:48 +09:00
nrs
69dd871404
refactor: observability を logging に再編成し設定構造を体系化 ( #466 )
...
* takt: refactor-logging-config
* fix: resolve merge conflicts
* chore: trigger CI
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-04 20:27:42 +09:00
jake
289a0fb912
.takt/config.yaml(プロジェクト設定)に runtime.prepare を記述するとエラーになる ( #464 )
...
* fix: add missing runtime field to ProjectConfigSchema and unify normalizeRuntime
ProjectConfigSchema.strict() rejected the runtime key in .takt/config.yaml
because the field was never added to the project-level Zod schema. The global
schema and piece-level schema already had it, so only project-level
runtime.prepare was broken ("Unrecognized key: runtime").
- Add runtime to ProjectConfigSchema and ProjectLocalConfig type
- Handle runtime in loadProjectConfig/saveProjectConfig
- Extract normalizeRuntime() into configNormalizers.ts as shared function
- Replace duplicated normalization in globalConfigCore.ts and pieceParser.ts
- Add 9 round-trip tests for project-level runtime.prepare
* fix: remove unnecessary comments from configNormalizers.ts
* fix: replace removed piece field with verbose in runtime test
The piece field was removed from ProjectConfigSchema in PR #465 .
Update the test to use verbose instead.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 20:13:44 +09:00
nrs
4f02c20c1d
Merge pull request #465 from nrslib/takt/420/remove-default-piece-switch
...
feat: デフォルトピースの概念と takt switch コマンドを削除
2026-03-04 18:02:28 +09:00
nrslib
204d84e345
takt: refactor-config-structure
2026-03-04 14:16:12 +09:00
nrs
8430948475
takt: unify-provider-config ( #457 )
2026-03-04 00:34:07 +09:00
あいやま EIichi Yamazaki
ed16c05160
fix: グローバル設定のpieceが解決チェーンで無視されるバグを修正 ( #458 )
2026-03-03 19:36:34 +09:00
nrs
f838a0e656
takt: github-issue-382-feat-purojeku ( #384 )
...
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-03-03 00:10:02 +09:00
nrslib
47612d9dcc
refactor: agent-usecases / schema-loader の移動と pieceExecution の責務分割
...
- agent-usecases.ts を core/piece/ → agents/ へ移動
- schema-loader.ts を core/piece/ → infra/resources/ へ移動
- interactive-summary-types.ts を分離、shared/types/ ディレクトリを追加
- pieceExecution.ts を abortHandler / analyticsEmitter / iterationLimitHandler / outputFns / runMeta / sessionLogger に分割
- buildMergeFn を async → sync に変更(custom merge の file 戦略を削除)
- cleanupOrphanedClone にパストラバーサル保護を追加
- review-fix / frontend-review-fix ピースの IT テストを追加
2026-03-02 21:20:50 +09:00
Tomohisa Takaoka
17232f9940
feat: add GitHub Copilot CLI as a new provider ( #425 )
...
* feat: add GitHub Copilot CLI as a new provider
Add support for GitHub Copilot CLI (@github/copilot) as a takt provider,
enabling the 'copilot' command to be used for AI-driven task execution.
New files:
- src/infra/copilot/client.ts: CLI client with streaming, session ID
extraction via --share, and permission mode mapping
- src/infra/copilot/types.ts: CopilotCallOptions type definitions
- src/infra/copilot/index.ts: barrel exports
- src/infra/providers/copilot.ts: CopilotProvider implementing Provider
- src/__tests__/copilot-client.test.ts: 20 unit tests for client
- src/__tests__/copilot-provider.test.ts: 8 unit tests for provider
Key features:
- Spawns 'copilot -p' in non-interactive mode with --silent --no-color
- Permission modes: full (--yolo), edit (--allow-all-tools --no-ask-user),
readonly (no permission flags)
- Session ID extraction from --share transcript files
- Real-time stdout streaming via onStream callbacks
- Configurable via COPILOT_CLI_PATH and COPILOT_GITHUB_TOKEN env vars
* fix: remove unused COPILOT_DEFAULT_MAX_AUTOPILOT_CONTINUES constant
* fix: address review feedback for copilot provider
- Remove excess maxAutopilotContinues property from test (#1 High)
- Extract cleanupTmpDir() helper to eliminate DRY violation (#2 Medium)
- Deduplicate chunk string conversion in stdout handler (#3 Medium)
- Remove 5 what/how comments that restate code (#4 Medium)
- Log readFile failure instead of silently swallowing (#5 Medium)
- Add credential scrubbing (ghp_/ghs_/gho_/github_pat_) for stderr (#6 Medium)
- Add buffer overflow tests for stdout and stderr (#7 Medium)
- Add pre-aborted AbortSignal test (#8 Low)
- Add mkdtemp failure fallback test (#9 Low)
- Add rm cleanup verification to fallback test (#10 Low)
- Log mkdtemp failure with debug level (#11 Persist)
- Add createLogger('copilot-client') for structured logging
2026-02-28 20:28:56 +09:00
nrs
ae74c0d595
takt: #391 resolveConfigValue の無意味な defaultValue を撲滅する ( #392 )
2026-02-28 12:29:24 +09:00
Junichi Kato
b8b64f858b
feat: プロジェクト単位のCLIパス設定(Claude/Cursor/Codex) ( #413 )
...
* feat: プロジェクト単位のCLIパス設定を支援するconfig層を追加
validateCliPath汎用関数、Global/Project設定スキーマ拡張、
env override、3プロバイダ向けresolve関数(env→project→global→undefined)を追加。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* feat: Claude/Cursor/CodexプロバイダにCLIパス解決を統合
各プロバイダのtoXxxOptions()でproject configを読み込み、
resolveXxxCliPath()経由でCLIパスを解決してSDKに渡す。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* test: per-project CLIパス機能のテストを追加
validateCliPath, resolveClaudeCliPath, resolveCursorCliPath,
resolveCodexCliPath(project config層)のユニットテスト、
および既存プロバイダテストのモック更新。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 09:44:16 +09:00
Junichi Kato
204843f498
Merge pull request #403 from j5ik2o/feature/cursor-agent-cli-provider-spec
...
feat: cursor-agent対応
2026-02-27 01:12:17 +09:00
nrslib
644c318295
fix: unify agent provider/model resolution and remove custom agent overrides
2026-02-27 00:27:52 +09:00
nrslib
798e89605d
feat: TeamLeader に refill threshold と動的パート追加を導入
...
TeamLeaderRunner を4モジュールに分割(execution, aggregation, common, streaming)し、
パート完了時にキュー残数が refill_threshold 以下になると追加タスクを動的に生成する
worker pool 型の実行モデルを実装。ParallelLogger に LineTimeSliceBuffer を追加し
ストリーミング出力を改善。deep-research ピースに team_leader 設定を追加。
2026-02-26 22:33:22 +09:00
Junichi Kato
f6334b8e75
feat: add submodule acquisition support in project config ( #387 )
2026-02-26 01:06:14 +09:00
nrslib
95cd36037a
feat: ProjectLocalConfig に concurrency を追加
2026-02-23 14:59:40 +09:00
nrs
077d19a6b0
Merge pull request #355 from s-kikuchi/takt/20260222T0402-tasuku-purojekuto-takt-config
...
fix: Project-level model config ignored — getLocalLayerValue missing model case
2026-02-22 17:35:33 +09:00
kikuchi
753deb6539
fix: Project-level model config ignored — getLocalLayerValue missing model case
2026-02-22 13:49:32 +09:00
Tomohisa Takaoka
1d7336950e
feat: opt-in auto_fetch and base_branch config for clone
...
Replace the always-on syncDefaultBranch with opt-in resolveBaseBranch:
- Add auto_fetch config (default: false) — only fetch when enabled
- Add base_branch config (project and global) — fallback to current branch
- Fetch-only mode: git fetch origin without modifying local branches
- Use fetched commit hash (origin/<base_branch>) to reset clone to latest
- No more git merge --ff-only or git fetch origin main:main
Config example:
# ~/.takt/config.yaml or .takt/config.yaml
auto_fetch: true
base_branch: develop
Addresses review feedback: opt-in behavior, no local branch changes,
configurable base branch with current-branch fallback.
2026-02-21 12:30:26 -08:00
nrs
dec77e069e
add-model-to-persona-providers ( #324 )
...
* takt: add-model-to-persona-providers
* refactor: loadConfigを廃止しresolveConfigValueにキー単位解決を一元化
loadConfig()による一括マージを廃止し、resolveConfigValue()でキーごとに
global/project/piece/envの優先順位を宣言的に解決する方式に移行。
providerOptionsの優先順位をglobal < piece < project < envに修正し、
sourceトラッキングでOptionsBuilderのマージ方向を制御する。
2026-02-20 11:12:46 +09:00
nrs
4f8255d509
takt: add-draft-pr-option ( #323 )
2026-02-20 00:35:41 +09:00
nrs
99aa22d250
takt: github-issue-259-debug-takt ( #312 )
2026-02-19 16:57:24 +09:00
nrslib
6518faf72e
refactor: 設定の不要要素削除とconfigテンプレート刷新
2026-02-19 11:53:02 +09:00
nrslib
5dc79946f2
refactor: 設定解決をloadConfigへ統一し不要設定を削除
2026-02-19 10:32:59 +09:00
nrslib
16d7f9f979
リトライモード新設と instruct/retry の直接再実行対応
...
失敗タスク専用のリトライモード(retryMode.ts)を追加し、失敗情報・実行ログ・
レポートをシステムプロンプトに注入する方式に変更。instruct モードもタスク情報を
プロンプトに含める専用テンプレートへ移行。requeue のみだった再実行を
startReExecution による即時実行に対応し、既存ワークツリーの再利用も実装。
不要になった DebugConfig を削除。
2026-02-18 22:35:31 +09:00
Junichi Kato
dcfe2b0dc2
Merge pull request #292 from j5ik2o/feat/codex-cli-path-override
...
codex cli path override
2026-02-18 11:25:36 +09:00
nrslib
2460dbdf61
refactor(output-contracts): unify OutputContractEntry to item format with use_judge and move runtime dir under .takt
...
- Remove OutputContractLabelPath (label:path format), unify to OutputContractItem only
- Add required format field and use_judge flag to output contracts
- Add getJudgmentReportFiles() to filter reports eligible for Phase 3 status judgment
- Add supervisor-validation output contract, remove review-summary
- Enhance output contracts with finding_id tracking (new/persists/resolved sections)
- Move runtime environment directory from .runtime to .takt/.runtime
- Update all builtin pieces, e2e fixtures, and tests
2026-02-15 11:17:55 +09:00
nrslib
f065ee510f
feat: resolve movement permissions via provider profiles with required floor
2026-02-15 07:00:03 +09:00
nrslib
6e14cd3c38
feat(runtime): add configurable prepare presets and provider e2e
2026-02-15 05:28:39 +09:00
nrslib
c85f23cb6e
claude code がsandboxで実行されるため、テストが実行できない問題を対処できるオプションを追加
2026-02-13 21:46:11 +09:00
nrslib
479ee7ec25
providerごとに通信を許可する
2026-02-13 16:37:07 +09:00
nrs
a82d6d9d8a
github-issue-244 ( #250 )
...
* dist-tag 検証をリトライ付きに変更(npm レジストリの結果整合性対策)
* takt run 実行時に蓋閉じスリープを抑制
* takt: github-issue-244
* takt: #244/implement-parallel-subtasks
2026-02-12 11:51:34 +09:00
nrs
a3555ebeb4
takt: github-issue-236-feat-claude-codex-opencode ( #239 )
2026-02-11 15:01:52 +09:00
nrs
b80f6d0aa0
takt: opencode ( #222 )
2026-02-11 06:35:50 +09:00
nrs
de6b5b5c2c
takt: github-issue-212-max-iteration-max-movement-ostinato ( #217 )
2026-02-10 23:43:29 +09:00
nrs
6e67f864f5
takt: github-issue-198-e2e-config-yaml ( #208 )
2026-02-10 20:03:17 +09:00
nrs
7e15691ba2
github-issue-200-arpeggio ( #203 )
...
* fix: stable release時にnext dist-tagを自動同期
* takt: github-issue-200-arpeggio
2026-02-10 13:37:15 +09:00
nrslib
222560a96a
プロバイダーエラーを blocked から error ステータスに分離し、Codex にリトライ機構を追加
...
blocked はユーザー入力で解決可能な状態、error はプロバイダー障害として意味を明確化。
PieceEngine で error ステータスを検知して即座に abort する。
Codex クライアントにトランジェントエラー(stream disconnected, transport error 等)の
指数バックオフリトライ(最大3回)を追加。
2026-02-09 22:04:52 +09:00
nrs
39432db10a
takt: override-persona-provider ( #171 )
2026-02-09 08:10:57 +09:00
nrs
f7d540b069
github-issue-154-moodoni4tsuno ( #165 )
...
* caffeinate に -d フラグを追加し、ディスプレイスリープ中の App Nap によるプロセス凍結を防止
* takt 対話モードの save_task を takt add と同じ worktree 設定フローに統一
takt 対話モードで Save Task を選択した際に worktree/branch/auto_pr の
設定プロンプトがスキップされ、takt run で clone なしに実行されて成果物が
消失するバグを修正。promptWorktreeSettings() を共通関数として抽出し、
saveTaskFromInteractive() と addTask() の両方から使用するようにした。
* Release v0.9.0
* takt: github-issue-154-moodoni4tsuno
2026-02-09 00:18:29 +09:00
nrs
cdedb4326e
github-issue-157-takt-run-ni-p ( #160 )
...
* caffeinate に -d フラグを追加し、ディスプレイスリープ中の App Nap によるプロセス凍結を防止
* takt 対話モードの save_task を takt add と同じ worktree 設定フローに統一
takt 対話モードで Save Task を選択した際に worktree/branch/auto_pr の
設定プロンプトがスキップされ、takt run で clone なしに実行されて成果物が
消失するバグを修正。promptWorktreeSettings() を共通関数として抽出し、
saveTaskFromInteractive() と addTask() の両方から使用するようにした。
* Release v0.9.0
* takt: github-issue-157-takt-run-ni-p
2026-02-09 00:17:47 +09:00
nrs
3533946602
takt: github-issue-132-moodono-piisu ( #144 )
2026-02-08 18:05:31 +09:00
nrslib
f324225565
takt: github-issue-143-tasuku-takt-r
2026-02-08 11:59:35 +09:00
nrs
ffc151cd8d
takt: github-issue-125-claude-agent ( #133 )
2026-02-08 08:11:05 +09:00