38 Commits

Author SHA1 Message Date
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
nrs
de6b5b5c2c
takt: github-issue-212-max-iteration-max-movement-ostinato (#217) 2026-02-10 23:43:29 +09:00
nrs
194610018a
takt/#209/update review history logs (#213)
* fix: callAiJudgeをプロバイダーシステム経由に変更(Codex対応)

callAiJudgeがinfra/claude/にハードコードされており、Codexプロバイダー使用時に
judge評価が動作しなかった。agents/ai-judge.tsに移動し、runAgent経由で
プロバイダーを正しく解決するように修正。

* takt: github-issue-209
2026-02-10 19:58:38 +09:00
nrs
9c4408909d
takt: github-issue-207-previous-response-source-path (#210) 2026-02-10 16:33:38 +09:00
nrslib
1466a7176d takt: # タスク指示書: Output Contracts と Quality Gates の実装
## 概要
仕様ドキュメント `/Users/m_naruse/work/git/takt/task_planning/output-contracts-and-quality-gates.md` に基づき、YAML構造の変更を実装する。

---

## タスク一覧

### 【高】トップレベル構造の変更
- 現在の `output_contracts` を `report_formats` にリネーム
- レポートテンプレート定義として機能させる

### 【高】Movement内の output_contracts 構造変更
- 各 movement の `output_contracts` が直接レポート配列を持つ構造に変更
- `output_contracts.report` の `report` キーを廃止

**変更後の構造:**
```yaml
report_formats:           # トップレベル(テンプレート定義)
  plan: ...

movements:
  - name: plan
    output_contracts:     # 直接配列(reportキー不要)
      - name: 00-plan.md
        format: plan
```

### 【中】quality_gates の実装
- エージェントへの通達として機能させる(自動検証は将来実装)
- Movement完了時にエージェントが参照できる形式で定義

---

## 制約(ユーザー明示)
- 後方互換性は不要

---

## 確認方法
- 既存のピース定義YAMLが新構造でパースできること
- テストが通ること
2026-02-07 22:03:43 +09:00
nrslib
2c7bd4834f Faceted Prompting リネーム: stances→policies, report_formats→output_contracts
5つの関心を Persona, Policy, Instruction, Knowledge, Output Contract に統一。
ディレクトリ、YAMLキー、ソースコード、テンプレート、テスト、ドキュメントを全面更新。
2026-02-07 20:04:09 +09:00
nrslib
6f94681359 change agent to persona 2026-02-07 08:52:37 +09:00
nrslib
ed367f27df Phase 3判定ロジックをconductorエージェント+フォールバック戦略に分離
Phase 3でレビュアーエージェントが判定タグを出力せず新しい作業を開始する問題を解決。
判定専用のconductorエージェントと4段階フォールバック戦略(AutoSelect→ReportBased→ResponseBased→AgentConsult)を導入し、
ParallelRunnerのlastResponse未配線問題とJudgmentDetectorのアンダースコア対応も修正。
2026-02-05 11:34:23 +09:00
nrslib
792f61df55 TAKTのメタ情報をエージェントに引き渡す。またTAKTの前回セッションの情報をscoreフェーズに追加 resolved #89 2026-02-05 09:20:18 +09:00
nrslib
38d43f2168 pieceに完全移行 2026-02-04 11:07:41 +09:00
nrslib
887365c4eb 無用な後方互換削除 2026-02-04 04:04:56 +09:00
nrslib
6378ee6174 プロンプトを見通しやすく変更 2026-02-04 03:33:48 +09:00
nrslib
49c780465b レポート出力するのを抑制 2026-02-03 21:24:18 +09:00
nrslib
62de1ede3c Phase システムをエージェントに注入する 2026-02-03 20:31:20 +09:00
nrslib
0e76f5b532 対話モードのブラッシュアップ 2026-02-03 15:23:46 +09:00
nrslib
b944349d8f refacotr 2026-02-02 21:52:40 +09:00
nrslib
7d8ba10abb refactor 2026-02-02 17:11:42 +09:00
nrslib
e57e5e7226 refactor 2026-02-02 13:06:12 +09:00
nrslib
710d108f53 structuring 2026-02-02 10:14:12 +09:00
nrslib
a2ee86c7a2 resolved #50 2026-01-31 17:05:03 +09:00
nrslib
213e293c06 Phase 1プロンプトにもステータスルールを注入(Phase 3との併用方式)
buildInstruction()にセクション7を追加し、タグベースのルールがある場合に
判定基準と出力フォーマットをPhase 1のプロンプトに注入する。
ai()/aggregate条件のみの場合はスキップ。
2026-01-30 17:38:49 +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
ee0d846c5b worktreeのバグフィックス 2026-01-29 20:26:27 +09:00
nrslib
7bb54067b4 ステータス出力ルールのヘッダーを自動生成に変更
- renderStatusRulesHeader() を追加して言語別にヘッダーを生成
- 全ワークフローYAMLから重複していたヘッダー部分を削除
- buildInstruction() で statusRulesPrompt にヘッダーを自動付加
2026-01-29 02:38:01 +09:00
nrslib
0f2aa896ae Execution Rules に cd 禁止ルールを追加
エージェントがBashコマンドで明示的にcdしてmainディレクトリで
作業してしまう問題を解決するため、「cdを使用しないでください」
というルールをmetadataに追加。
2026-01-29 01:42:04 +09:00
nrslib
48e055ac8a Execution Rules メタデータを追加(git commit 禁止)
buildInstruction で自動付与される実行ルールを追加。
エージェントがコミットすると git diff が空になりレビューできなくなる問題を防ぐ。
2026-01-29 01:30:37 +09:00
nrslib
277d490eeb ExecutionMetadataからProject Rootを削除
worktreeモードでタスク実行時、エージェントがmainディレクトリで
作業してしまうバグの修正。metadataでProject Rootを見せていたため
Claudeがそちらで作業していた可能性がある。

- ExecutionMetadataインターフェースからprojectRootを削除
- buildExecutionMetadataからprojectRoot設定を削除
- METADATA_STRINGSからprojectRootとmodeを削除
- renderExecutionMetadataからProject Root表示を削除
- 関連テストを更新
2026-01-29 00:49:34 +09:00
nrslib
722c827cc4 言語設定を追加 2026-01-28 19:50:52 +09:00
nrslib
60f7c0851d worktreeを利用した際に別の場所で作業してしまう問題を修正 2026-01-28 19:17:40 +09:00
nrslib
2c738d8009 worktree時にディレクトリを正しく読み込めるように修正 2026-01-28 16:47:27 +09:00