nrslib
7d8ba10abb
refactor
2026-02-02 17:11:42 +09:00
nrslib
e57e5e7226
refactor
2026-02-02 13:06:12 +09:00
nrslib
f04a950c9e
more refactor
2026-02-02 12:00:47 +09:00
nrslib
710d108f53
structuring
2026-02-02 10:14:12 +09:00
nrslib
482fa51266
refactor
2026-02-02 06:02:26 +09:00
github-actions[bot]
b648a8ea6b
takt add #N でIssue番号をブランチ名・ワークツリーパスに反映する ( #78 )
...
* feat: takt add #N でIssue番号をブランチ名・ワークツリーパスに反映する (#48 )
* remove md
---------
Co-authored-by: nrslib <nrslib@users.noreply.github.com>
Co-authored-by: nrslib <38722970+nrslib@users.noreply.github.com>
2026-02-02 00:05:57 +09:00
nrslib
8990efaebe
fix it
2026-02-02 00:00:54 +09:00
nrslib
942f983ea5
add it
2026-02-01 23:36:33 +09:00
nrslib
d6ac71f0e6
| 作成 | src/task/git.ts | stageAndCommit() 共通関数。git commit ロジックのDRY化 |
...
| 作成 | `src/workflow/instruction-context.ts` | `instruction-builder.ts` からコンテキスト組立ロジック抽出 |
| 作成 | `src/workflow/status-rules.ts` | `instruction-builder.ts` からステータスルールロジック抽出 |
| 変更 | 35ファイル | `getErrorMessage()` 統一、`projectCwd` required 化、`process.cwd()` デフォルト除去、`sacrificeMode` 削除、`loadGlobalConfig` キャッシュ、`console.log` → `blankLine()`、`executeTask` options object 化 |
resolved #44
2026-02-01 22:58:49 +09:00
nrslib
3bc0251aa9
mockを使ったITを追加
2026-02-01 21:58:47 +09:00
nrslib
ff7cfb52f7
--workflow にてpathも指定できるように
2026-02-01 20:58:03 +09:00
nrslib
14130ee958
feat: workflowやconfig指定をオプションで受け入れpath対応にする ( #81 )
2026-02-01 07:45:04 +00:00
nrslib
ed1fe99c3b
feat: detectRuleIndex を最後のマッチに変更する ( #25 )
2026-02-01 03:15:45 +00:00
nrslib
11ae49dc56
Fix failing tests: update ai_fix test and skip flaky workflow test
2026-02-01 09:03:10 +09:00
nrslib
cf393312a2
Add --pipeline flag and improve log file naming
...
- Add --pipeline flag for explicit pipeline/non-interactive mode
- Change log file naming from base36 to YYYYMMDD-HHmmss-random format
- Update --task description to clarify it's an alternative to --issue
- Add tests for new timestamp-based session ID format
Resolves #28
2026-02-01 08:40:18 +09:00
nrslib
d9786c11fb
--worktreeで対話スキップ --create-worktreeで対話スキップ
2026-02-01 00:20:41 +09:00
nrslib
063b0e8d70
resolved #69
2026-01-31 23:24:24 +09:00
nrslib
c36a5b1b07
resolved #66
2026-01-31 21:53:07 +09:00
nrslib
3f2971fb72
resolved #67
2026-01-31 21:52:00 +09:00
nrslib
9e2fb10502
resolved #68
2026-01-31 21:34:51 +09:00
nrslib
7d856287f0
ビルトインワークフロー: review-only(レビュー専用) #60 resolved
2026-01-31 20:03:38 +09:00
nrslib
1e8909d512
resolved #52 , resolved #59
2026-01-31 19:25:50 +09:00
nrslib
e950a3f79c
resolved 52
2026-01-31 18:28:30 +09:00
nrslib
2b35021d45
resolved #38
2026-01-31 17:08:28 +09:00
nrslib
a2ee86c7a2
resolved #50
2026-01-31 17:05:03 +09:00
nrslib
ca9283ee82
resolved
...
#51
2026-01-31 17:04:07 +09:00
nrslib
1c46a76bbd
resolve #23
2026-01-31 17:02:52 +09:00
nrslib
4b924851a8
resolved #35
2026-01-31 11:22:58 +09:00
nrslib
6468fa6345
resolved #45
2026-01-31 09:40:36 +09:00
nrslib
2cfe77977c
resolve #14
2026-01-31 09:24:00 +09:00
nrslib
80a75004a4
fix: takt add #N でIssue内容がAI要約で壊れる問題を修正 ( #46 )
2026-01-31 01:41:10 +09:00
nrslib
7bac0053ff
feat: CLIサブコマンド形式への移行と対話式タスク入力モード ( #47 )
...
- スラッシュコマンド形式をサブコマンド形式に変更(takt run, takt add 等)
- 引数なし takt で対話的にAIとタスク要件を詰めるinteractiveモードを追加
- セッション永続化により takt 再起動後も会話を継続
- 調査用ツール(Read, Glob, Grep, Bash, WebSearch, WebFetch)を許可
- プランニング専用のシステムプロンプトでコード変更を禁止
- executor の buildSdkOptions を未定義値を含めないよう修正(SDK ハング対策)
- help/refreshBuiltinコマンドを削除、ejectコマンドを簡素化
- ドキュメント(CLAUDE.md, README, workflows.md)をサブコマンド形式に更新
2026-01-31 01:14:36 +09:00
nrslib
b520ede80d
fix: reportDirに.takt/reports/プレフィックスを含め、ルート直下へのレポート作成を修正 ( #37 )
2026-01-30 21:32:09 +09:00
nrslib
cd67a2355a
feat: WorkflowEngineのモックインテグレーションテスト追加 ( #17 )
...
runAgentをモックし、ワークフロー全体の状態遷移を検証する
インテグレーションテストを追加。
テストケース:
- 正常フロー(Happy Path)
- 差し戻しフロー(review reject → fix → re-review)
- AI review差し戻し(ai_review → ai_fix → ai_review)
- エラー: ルール未マッチ、runAgent例外
- ループ検出
- イテレーション上限
- blockedハンドリング(onUserInputあり/なし)
- パラレルステップ集約(all/any条件)
- rulesのnextがundefinedのケース
2026-01-30 21:11:41 +09:00
nrslib
748f5afb29
feat: builtinワークフローをパラレルレビュー対応に変更し、エージェントに仕様準拠チェックを追加 ( #31 )
...
- default.yamlのreview/security_reviewを統合しparallelステップ(reviewers)に変更
- improve/security_fixステップを統合fixステップに集約
- parallelサブステップのrulesでnextをoptionalに(スキーマ・型定義)
- planner/architecture-reviewer/supervisorに仕様準拠の確認指示を追加(ja/en)
- parallelレビュー構造の検証テストを追加
2026-01-30 20:42:54 +09:00
nrslib
5265cc0059
feat: Builtin管理をバンドル埋め込み方式に移行し、/ejectコマンドを追加 ( #4 )
...
- ローダーがユーザーファイル優先、なければdist/resources/からbuiltinを読む方式に変更
- /ejectコマンドを追加(builtinを~/.takt/にコピーしてカスタマイズ可能に)
- /refresh-builtinを簡素化(ejectへの移行案内)
- config.yamlにdisabled_builtinsフィールドを追加
- ワークフローYAMLをrules形式に統一
2026-01-30 20:03:38 +09:00
nrslib
1fbc90823e
feat: ログをNDJSON形式に変更し、ストリーミング出力をリアルタイムで書き出す ( #27 )
...
- ログフォーマットを単一JSONからNDJSON(.jsonl)に変更
- ストリーミングチャンク・ステップ開始/完了・ワークフロー完了/中断を逐次追記
- appendFileSyncでopen→write→closeを都度実行(tail -fで追跡可能)
- レガシー.jsonファイルの読み込みも引き続きサポート
- saveSessionLog/addToSessionLogを廃止、initNdjsonLog/appendNdjsonLineに置換
2026-01-30 19:24:36 +09:00
nrslib
84ef8fbaf7
feat: GitHub Issue番号でタスク実行・追加を可能にし、エンジンをリファクタリング ( #10 )
...
- takt "#6 " や /add-task "#6 " "#7 " でIssue内容をタスクとして実行可能に
- gh CLI経由でIssue取得、タイトル・本文・ラベル・コメントをタスクテキストに変換
- engine.tsからフェーズ実行(phase-runner)、ルール評価(rule-evaluator)、
ルールユーティリティ(rule-utils)を分離
2026-01-30 18:49:55 +09:00
nrslib
213e293c06
Phase 1プロンプトにもステータスルールを注入(Phase 3との併用方式)
...
buildInstruction()にセクション7を追加し、タグベースのルールがある場合に
判定基準と出力フォーマットをPhase 1のプロンプトに注入する。
ai()/aggregate条件のみの場合はスキップ。
2026-01-30 17:38:49 +09:00
nrslib
9c05b45e1e
feat: ルールマッチ方法の可視化と5段階フォールバック検出を実装
...
- RuleMatchMethod型を追加し、検出方法(aggregate/phase3_tag/phase1_tag/ai_judge/ai_judge_fallback)を記録
- detectMatchedRuleを5段階フォールバックに拡張(Phase3タグ→Phase1タグ→AI judge→全条件AI judge)
- matchedRuleMethodをセッションログとUI出力の両方に表示
- Phase 3のmaxTurnsを3に増加
- ParallelLoggerによるパラレルステップのプレフィックス付き出力を追加
2026-01-30 17:07:18 +09:00
nrslib
b10773d310
ステータス判定をPhase 3に分離し、デッドコードを整理
...
- buildInstruction からステータスルール注入を除去(Phase 1はステータスタグなし)
- buildStatusJudgmentInstruction を新設(Phase 3: セッション再開でステータスタグ出力)
- detectMatchedRule のシグネチャを (agentContent, tagContent) に変更
- ルール存在時にマッチなしなら即座にthrow(Fail Fast)
- runReportPhase / runStatusJudgmentPhase の共通部分を buildResumeOptions に抽出
- sessionId 欠落時のサイレントフォールバックをエラーに変更
- renderStatusRulesHeader / STATUS_RULES_HEADER_STRINGS を削除(デッドコード)
- StatusJudgmentContext から未使用の cwd を削除
- Status 型および StatusSchema から未使用の in_progress を削除
2026-01-30 16:29:54 +09:00
nrslib
9c597a9b0d
レポート出力をフェーズ2に分離し、本体実行からWriteを除外
...
ステップ実行を2フェーズに分離:
- フェーズ1(本体): allowed_toolsからWriteを除外、レポート情報を注入しない
- フェーズ2(レポート出力): 同一セッションresume、Writeのみ付与、ステータス検出なし
buildInstruction()からレポート関連コードを削除し、
buildReportInstruction()を新設してレポート出力の責務を完全分離。
2026-01-30 15:26:56 +09:00
nrslib
70651f8dd8
feat: ai() 条件式によるAI遷移判断とパラレルステップ実行を実装 ( #9 , #20 )
...
- rules の condition に ai("...") 式を追加し、別AIが遷移先を判断する仕組みを導入
- ワークフローステップに parallel フィールドを追加し、サブステップの並列実行を実装
- all()/any() 集約条件の仕様書を追加
2026-01-30 14:53:25 +09:00
nrslib
cb37baec2c
レポート出力指示を自動生成に統一し、YAML の手動 order/instruction_template を削除
...
- REPORT_OUTPUT_STRINGS (en/ja) と renderReportOutputInstruction() を追加
- 全8ワークフローYAMLから手動の order フィールドとレポート出力指示を削除
- ReportObjectConfig に明示的 order がある場合は後方互換として優先
- .envrc を .gitignore に追加
ref #29
2026-01-30 11:59:06 +09:00
nrslib
706a59d3b6
edit プロパティによるファイル編集制御、ステップ完了時のレポートログ出力、resolveContentPath 追加
...
- edit: true/false をワークフローステップに追加し、エージェントへの編集許可/禁止プロンプトを自動注入
- ステップ完了時に step:report イベントを発火し、レポート内容をコンソール出力
- resolveContentPath() で format/instruction_template の .md ファイル参照に対応
- writeStepReport() を削除し、レポート出力はエージェント責務に統一
- 全8ワークフローYAMLに edit フィールドを付与
resolves #6 , resolves #21 , resolves #22
2026-01-30 11:33:56 +09:00
nrslib
6fe6491948
report 系のformatを利用するように変更、gitdiff廃止
2026-01-30 09:13:32 +09:00
nrslib
79227dffd1
takt: update-report-path-variable
2026-01-30 07:43:17 +09:00
nrslib
f7181fc00c
workflow 変更
2026-01-30 01:50:25 +09:00
nrslib
e67d2648d8
rule機能追加
2026-01-30 00:05:11 +09:00
nrslib
6dd69fc688
takt: npmのupdatenotifierをいれたい
2026-01-29 20:36:42 +09:00