86 Commits

Author SHA1 Message Date
nrslib
f6d8c353d3 refactor: provider のデフォルト値 'claude' を廃止し明示設定を必須化
暗黙の claude フォールバックを削除し、未設定時は明確なエラーを返すように変更。
permission は未設定時 readonly にフォールバック。テスト・E2E を新挙動に適合。
2026-02-26 02:11:49 +09:00
nrs
6d0bac9d07
[#367] abstract-git-provider (#375)
* takt: abstract-git-provider

* takt: abstract-git-provider

* takt: abstract-git-provider

* fix: pushBranch のインポートパスを infra/task に修正

Git provider 抽象化により pushBranch が infra/github から infra/task に
移動したため、taskSyncAction とテストのインポートパスを更新。
2026-02-26 01:09:29 +09:00
nrslib
e39792259e fix: --task でもワークツリー作成時は tasks.yaml に記録する
--task オプションで skipTaskList=true になるが、ワークツリー作成時は
takt list でのブランチ管理に必要なためタスク記録を保存する。
2026-02-26 00:55:24 +09:00
武田 憲太郎
61959f66a9 feat: AskUserQuestion 対応 (#161) 2026-02-23 15:24:10 +09:00
nrs
e5902b87ad
takt: Execute アクションで tasks.yaml への追加をスキップする skipTaskList オプション (#334)
- SelectAndExecuteOptions に skipTaskList フラグを追加
- routing.ts の Execute アクションで skipTaskList: true を設定
- taskRecord の null チェックで条件分岐を統一
- テストを現在の taskResultHandler API に合わせて修正
2026-02-22 22:05:13 +09:00
nrs
4a7dea48ca
takt: tasuku-taktga-surupull-request (#336) 2026-02-22 21:52:40 +09:00
Tomohisa Takaoka
a08adadfb3
fix: PR creation failure handling + use default branch for base (#345)
* fix: mark task as failed when PR creation fails

Previously, when PR creation failed (e.g. invalid base branch),
the task was still marked as 'completed' even though the PR was
not created. This fix ensures:

- postExecutionFlow returns prFailed/prError on failure
- executeAndCompleteTask marks the task as failed when PR fails
- selectAndExecuteTask runs postExecution before persisting result

The pipeline path (executePipeline) already handled this correctly
via EXIT_PR_CREATION_FAILED.

* fix: use detectDefaultBranch instead of getCurrentBranch for PR base

Previously, baseBranch for PR creation was set to HEAD's current branch
via getCurrentBranch(). When the user was on a feature branch like
'codex/pr-16-review', PRs were created with --base codex/pr-16-review,
which fails because it doesn't exist on the remote.

Now uses detectDefaultBranch() (via git symbolic-ref refs/remotes/origin/HEAD)
to always use the actual default branch (main/master) as the PR base.

Affected paths:
- resolveTask.ts (takt run)
- selectAndExecute.ts (interactive mode)
- pipeline/execute.ts (takt pipeline)
2026-02-22 20:37:14 +09:00
nrs
f557db0908
feat: support --create-worktree in pipeline mode (#361)
Pipeline mode previously ignored the --create-worktree option.
Now when --create-worktree yes is specified with --pipeline,
a worktree is created and the agent executes in the isolated directory.

- Add createWorktree field to PipelineExecutionOptions
- Pass createWorktreeOverride from routing to executePipeline
- Use confirmAndCreateWorktree when createWorktree is true
- Execute task in worktree directory (execCwd) instead of project cwd
2026-02-22 20:32:36 +09:00
nrslib
9e3fb5cf16 fix: validate override piece via resolver including ensemble scope 2026-02-22 02:47:11 +09:00
nrslib
75ce583d0b fix: イテレーション入力待ち中のpoll_tickログ連続出力を抑制
入力待ちフラグ(enterInputWait/leaveInputWait)を導入し、
selectOption待ち中はワーカープールのポーリングログをスキップする。
入力完了で自動復活。
2026-02-20 23:42:38 +09: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
e70bceb4a8
takt: extend-slack-task-notification (#316) 2026-02-19 23:08:17 +09:00
nrslib
743344a51b 既存PRへのコメント追加に対応し、PR重複作成を防止
タスク再実行時に同じブランチのPRが既に存在する場合、新規作成ではなく
既存PRにコメントを追加するようにした。
2026-02-19 21:21:59 +09:00
nrs
43f6fa6ade
takt: takt-list (#310) 2026-02-19 17:20:22 +09:00
nrs
99aa22d250
takt: github-issue-259-debug-takt (#312) 2026-02-19 16:57:24 +09:00
nrslib
67ae3e8ae5 refactor: piece設定解決とconfig優先順位の参照経路を統一 2026-02-19 11:22:49 +09:00
nrslib
cbde7ac654 refactor: 設定参照をresolveConfigValueへ統一 2026-02-19 10:55:03 +09:00
nrslib
5dc79946f2 refactor: 設定解決をloadConfigへ統一し不要設定を削除 2026-02-19 10:32:59 +09:00
nrs
3de574e81b
takt: github-issue-215-issue (#294) 2026-02-18 22:48:50 +09:00
nrslib
16d7f9f979 リトライモード新設と instruct/retry の直接再実行対応
失敗タスク専用のリトライモード(retryMode.ts)を追加し、失敗情報・実行ログ・
レポートをシステムプロンプトに注入する方式に変更。instruct モードもタスク情報を
プロンプトに含める専用テンプレートへ移行。requeue のみだった再実行を
startReExecution による即時実行に対応し、既存ワークツリーの再利用も実装。
不要になった DebugConfig を削除。
2026-02-18 22:35:31 +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
nrs
e52e1da6bf
takt-list (#271)
* refactor: provider/modelの解決ロジックをAgentRunnerに集約

OptionsBuilderでCLIレベルとstepレベルを事前マージしていたのをやめ、
stepProvider/stepModelとして分離して渡す形に変更。
AgentRunnerが全レイヤーの優先度を一括で解決する。

* takt: takt-list
2026-02-14 11:44:01 +09:00
nrslib
9cc6ac2ca7 ポストエクスキューションの共通化とinstructモードの改善
- commit+push+PR作成ロジックをpostExecutionFlowに抽出し、interactive/run/watchの3ルートで共通化
- instructモードはexecuteでcommit+pushのみ(既存PRにpushで反映されるためPR作成不要)
- instructのsave_taskで元ブランチ名・worktree・auto_pr:falseを固定保存(プロンプト不要)
- instructの会話ループにpieceContextを渡し、/goのサマリー品質を改善
- resolveTaskExecutionのautoPrをboolean必須に変更(undefinedフォールバック廃止)
- cloneデフォルトパスを../から../takt-worktree/に変更
2026-02-14 01:02:23 +09:00
nrs
02272e595c
github-issue-255-ui (#266)
* update builtin

* fix: OpenCode SDKサーバー起動タイムアウトを30秒に延長

* takt: github-issue-255-ui

* 無駄な条件分岐を削除
2026-02-13 21:59:00 +09:00
nrslib
0fe835ecd9 fix e2e 2026-02-13 07:24:12 +09:00
nrslib
7d20c016c7 無用なexportを排除 2026-02-12 17:33:39 +09:00
nrslib
bf4196d3b3 takt: github-issue-257 2026-02-12 13:32:28 +09:00
nrs
680f0a6df5
github-issue-237-fix-ctrl-c-provider-graceful-timeout-force (#253)
* dist-tag 検証をリトライ付きに変更(npm レジストリの結果整合性対策)

* takt run 実行時に蓋閉じスリープを抑制

* takt: github-issue-237-fix-ctrl-c-provider-graceful-timeout-force
2026-02-12 11:52:07 +09:00
nrs
4fb058aa6a
takt: slackweb (#234) 2026-02-11 15:02:03 +09:00
nrs
a3555ebeb4
takt: github-issue-236-feat-claude-codex-opencode (#239) 2026-02-11 15:01:52 +09:00
nrslib
15fc6875e2 fix: lint errors in merge/resolveTask/confirm 2026-02-11 11:03:00 +09:00
nrslib
69bd77ab62 Provider およびモデル名を出力 2026-02-11 10:38:03 +09:00
nrslib
77cd485c22 worktreeにタスク指示書をコピー 2026-02-11 10:03:30 +09:00
nrs
475da03d60
takt: task-1770764964345 (#225) 2026-02-11 08:41:38 +09:00
nrs
de6b5b5c2c
takt: github-issue-212-max-iteration-max-movement-ostinato (#217) 2026-02-10 23:43:29 +09:00
nrslib
aeedf87a59 fix 2026-02-10 21:55:19 +09:00
nrslib
3fa99ae0f7 progressをわかりやすくする 2026-02-10 21:44:42 +09:00
nrslib
79ee353990 chore: add completion logs for branch and issue generation 2026-02-10 21:36:11 +09:00
nrs
6e67f864f5
takt: github-issue-198-e2e-config-yaml (#208) 2026-02-10 20:03:17 +09:00
nrslib
b25e9a78ab fix: callAiJudgeをプロバイダーシステム経由に変更(Codex対応)
callAiJudgeがinfra/claude/にハードコードされており、Codexプロバイダー使用時に
judge評価が動作しなかった。agents/ai-judge.tsに移動し、runAgent経由で
プロバイダーを正しく解決するように修正。
2026-02-10 19:32:42 +09:00
nrs
9c4408909d
takt: github-issue-207-previous-response-source-path (#210) 2026-02-10 16:33:38 +09:00
nrs
8cb3c87801
takt: github-issue-204-takt-tasks (#205) 2026-02-10 14:26:37 +09:00
nrslib
b543433a02 Ctrl+C周りの挙動修正 2026-02-10 06:25:58 +09:00
nrslib
0145928061 Ctrl+C周りの挙動修正 2026-02-10 06:10:15 +09:00
nrs
c7305374d7
takt: update-category-spec (#184) 2026-02-09 23:30:17 +09:00
nrs
4ca414be6b
takt: consolidate-tasks-yaml (#187) 2026-02-09 23:29:24 +09:00
nrslib
7d02d939e0 並列実行時のタスク実行時間上限撤廃 2026-02-09 13:08:41 +09:00
nrslib
55559cc41c Codex プロセスのハングによる worker pool スロット占有を防止
Codex CLI プロセスが API 応答待ちで無応答になった場合、for await ループが
永久にブロックし worker pool のスロットを占有し続ける問題に対処。
AbortSignal の伝播経路を整備し、2層のタイムアウトを導入した。

- Codex ストリームのアイドルタイムアウト(10分無応答で中断)
- タスクレベルのタイムアウト(並列実行時、1時間で中断)
- AbortSignal を worker pool → PieceEngine → AgentRunner → Codex SDK まで伝播
2026-02-09 10:00:05 +09:00