Skip to content

update-workflow-terms#561

Draft
nrslib wants to merge 1 commit intomainfrom
takt/560/update-workflow-terms
Draft

update-workflow-terms#561
nrslib wants to merge 1 commit intomainfrom
takt/560/update-workflow-terms

Conversation

@nrslib
Copy link
Copy Markdown
Owner

@nrslib nrslib commented Mar 30, 2026

Summary

Execution Report

Piece takt-default completed successfully.

@nrslib
Copy link
Copy Markdown
Owner Author

nrslib commented Mar 30, 2026

#560 の仕様を更新しました。この PR は、その更新後の仕様をまとめて満たす形で進めてください。

今回この PR で必要なのは次です。

  1. 表示用語の置換
  • CLI help
  • 対話 UI
  • エラーメッセージ
  • 実行ログ
  • docs
  • prompts
  • i18n
    piece/movement から workflow/step に寄せる
  1. 互換レイヤーの実装
  • CLI: --workflow を追加し、--piece も引き続き受理
  • task data: workflow / piece, start_step / start_movement
  • piece YAML: steps / movements, initial_step / initial_movement
  • config: interactive_preview_steps / interactive_preview_movements, step_permission_overrides / movement_permission_overrides
  1. 内部正規化
  • 外向きには新旧両方を受ける
  • 内部では既存名 (piece, movement, movements, initial_movement) に正規化する
  • PieceEngine など内部実装名は変えない
  1. 今回入れないもの
  • 用語変更と無関係な独立リファクタ
  • 例: runAllTasks の別ファイル切り出しのような差分は、この PR の目的から外れるので外してほしいです

要するに、この PR は「ユーザー向け用語変更 + 互換レイヤーを一気に完了する PR」にしてください。

@nrslib
Copy link
Copy Markdown
Owner Author

nrslib commented Mar 30, 2026

workflows/ も今回の対象に含めて進めてください。

#560 を更新して、配置ディレクトリも仕様に入れました。今回この PR で必要なのは以下です。

  1. 表示用語の置換
  • CLI help
  • 対話 UI
  • エラーメッセージ
  • 実行ログ
  • docs
  • prompts
  • i18n
    piece/movement から workflow/step に寄せる
  1. 互換レイヤーの実装
  • CLI: --workflow を追加し、--piece も引き続き受理
  • task data: workflow / piece, start_step / start_movement
  • piece YAML: steps / movements, initial_step / initial_movement
  • config: interactive_preview_steps / interactive_preview_movements, step_permission_overrides / movement_permission_overrides
  • ディレクトリ: .takt/workflows/ / .takt/pieces/, ~/.takt/workflows/ / ~/.takt/pieces/ の両対応
  1. ディレクトリ方針
  • 新しい正式名称は workflows/
  • 既存の pieces/ は互換として当面サポート
  • help / docs / エラーメッセージ / 新規案内は workflows/ を優先表記
  • 同名が両方にある場合の優先順位は明示して実装
  1. 内部正規化
  • 外向きには新旧両方を受ける
  • 内部では既存名 (piece, movement, movements, initial_movement) に正規化する
  • PieceEngine など内部実装名は変えない
  1. 今回入れないもの
  • 用語変更と無関係な独立リファクタ
  • 例: runAllTasks の別ファイル切り出しのような差分は、この PR の目的から外れるので外してほしいです

@nrslib
Copy link
Copy Markdown
Owner Author

nrslib commented Mar 30, 2026

#560 の方針を更新しました。

重要なのはこれです。

  • piece / movement は互換入力としてだけ残す
  • 通常のユーザー向け表示・help・docs・案内では旧用語を使わない
  • 旧用語を知らなくても使える状態にする

この PR で必要なのは次です。

  1. 表示用語の全面置換
  • CLI help
  • 対話 UI
  • エラーメッセージ
  • 実行ログ
  • docs
  • prompts
  • i18n
    workflow/step に統一する
  1. 互換レイヤーの実装
  • CLI: --workflow を追加し、--piece も引き続き受理
  • task data: workflow / piece, start_step / start_movement
  • piece YAML: steps / movements, initial_step / initial_movement
  • config: interactive_preview_steps / interactive_preview_movements, step_permission_overrides / movement_permission_overrides
  • ディレクトリ: .takt/workflows/ / .takt/pieces/, ~/.takt/workflows/ / ~/.takt/pieces/ の両対応
  1. UX 方針
  • 新規案内、ヘルプ、通常表示は workflows/, workflow, step を使う
  • piece / movement は互換説明や移行注記以外では出さない
  • 互換入力で旧キーを受けても、表示上は新用語に寄せる
  1. 今回入れないもの
  • 用語変更と無関係な独立リファクタ

@nrslib
Copy link
Copy Markdown
Owner Author

nrslib commented Mar 30, 2026

#560 の仕様をそのまま実装要件として明示します。この PR は以下を満たす必要があります。

本仕様

  • 新しい正規のユーザー向け用語は workflow / step とする
  • piece / movement は互換入力としてのみ残す
  • 旧用語は、ユーザー向け表示・help・docs・新規作成先案内・通常のエラーメッセージでは原則使わない
  • 旧用語を知らなくても操作・設定・理解ができる状態にする
  • 内部実装名 (PieceEngine など) は当面変更しない

今回この PR で完了すべきこと

  1. 表示用語の全面置換
  • CLI help
  • 対話 UI
  • エラーメッセージ
  • 実行ログ
  • docs
  • prompts
  • i18n
    workflow/step に統一する
  1. 互換レイヤーの実装
  • CLI: --workflow を追加し、--piece も引き続き受理
  • task data: workflow / piece, start_step / start_movement
  • piece YAML: steps / movements, initial_step / initial_movement
  • config: interactive_preview_steps / interactive_preview_movements, step_permission_overrides / movement_permission_overrides
  • ディレクトリ: .takt/workflows/ / .takt/pieces/, ~/.takt/workflows/ / ~/.takt/pieces/ の両対応
  1. ディレクトリ方針
  • 新しい正式名称は workflows/
  • 既存の pieces/ は互換として当面サポート
  • help / docs / エラーメッセージ / 新規案内は workflows/ を優先表記
  • workflows/pieces/ の両方に同名がある場合の優先順位は明示して実装
  1. UX 方針
  • 新規案内、ヘルプ、通常表示は workflows/, workflow, step を使う
  • piece / movement は互換説明や移行注記以外では出さない
  • 互換入力で旧キーを受けても、表示上は新用語に寄せる
  1. 内部正規化
  • 外向きには新旧両方を受ける
  • 内部では既存名 (piece, movement, movements, initial_movement) に正規化する
  • PieceEngine など内部実装名は変えない

この PR の差分として追加で必要な対応

現状差分を見る限り、少なくとも以下はまだ不足しています。

  • CLI

    • src/app/cli/program.ts
      • --workflow の追加
      • --piece を互換 alias として残す
    • src/app/cli/routing.ts など
      • opts.workflow / opts.piece の両対応
  • task data 互換

    • src/infra/task/schema.ts
      • workflow / piece
      • start_step / start_movement
        の両受理と内部正規化
    • task の保存・読込・再実行まわり
      • src/features/tasks/add/index.ts
      • src/features/tasks/execute/resolveTask.ts
      • src/features/tasks/list/taskRetryActions.ts
        などで新旧キー両対応
  • piece YAML 互換

    • src/core/models/schemas.ts
      • steps / movements
      • initial_step / initial_movement
        の両受理
    • src/infra/config/loaders/pieceParser.ts
      • 読み込み時の正規化
  • config 互換

    • interactive_preview_steps / interactive_preview_movements
    • step_permission_overrides / movement_permission_overrides
      を schema / normalizer / loader / serializer の各層で両対応にする
  • ディレクトリ互換

    • ~/.takt/workflows/, .takt/workflows/ を正式な探索先に追加
    • 既存の ~/.takt/pieces/, .takt/pieces/ も互換で維持
    • 説明文やエラー文言は workflows/ 優先に更新

この PR で外すべき差分

  • 用語変更と無関係な独立リファクタ
  • 例: runAllTasks の別ファイル切り出しのような差分は、この PR の目的から外れるので除外してください

要するに、この PR は「ユーザー向け用語変更 + 互換レイヤー + workflows ディレクトリ対応」を一気に完了する PR にしてください。

@github-actions
Copy link
Copy Markdown
Contributor

🚀 cc-resolve started: View logs

@github-actions
Copy link
Copy Markdown
Contributor

✅ cc-resolve completed. View logs

@nrslib
Copy link
Copy Markdown
Owner Author

nrslib commented Mar 30, 2026

補足です。リファクタ自体を一律で否定したいわけではありません。

ボーイスカウトとして正当化できる範囲なら、この PR に含めてもよいと思います。条件は次です。

  • 今回の用語移行に近接した箇所の整理であること
  • 今回の実装を進めるうえで可読性や変更容易性を実際に上げること
  • 挙動変更がないこと
  • 本題の差分を隠さず、レビュー可能性を落とさないこと

なので、例えば runAllTasks の切り出しも、

  • 用語変更の作業に伴って責務分離が必要だった
  • 挙動不変である
  • 本題との差分境界が説明されている
    のであれば、必ずしも外す必要はありません。

一方で、その説明がないまま混ざると「今回の命名変更と独立した差分」に見えやすいです。入れるなら、なぜこの PR で一緒にやるのかを明示してください。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant