Skip to content
frontmatter
キー値
specdojo.idprj-0001:pjr-seqc-timeline-gantt-chart-timeline
specdojo.typeproject
specdojo.statusready
specdojo.rulebookspecdojo:pjr-rulebook
specdojo.part_ofprj-0001:pjr-index
specdojo.item_typetodo
specdojo.item_statusdone
specdojo.prioritymedium
specdojo.ownerARC
specdojo.registered_at2026-08-14T15:08:17Z
specdojo.due_on2026-08-31
specdojo.completed_at2026-08-15T04:43:43Z

PJR-SEQC timelineをgantt-chartへ改名し、timelineをトラック順序計画として新設する ​

1. 概要 ​

現状のtimeline(sch-track群から生成するGantt可視化)をgantt-chartへ改名し、空いたtimelineという名前を、成果物カタログ作成〜トラック実行までのマクロな順序を人間が決めて記録する新しい成果物種別(tml-)として新設する。設計判断は本チケットで確定済みのため、以降の実装はAI Agentが本文の仕様に沿って進めてよい。

2. 確定した設計(実装の前提) ​

2.1. tml-index.yaml の仕様 ​

  • 記述形式: YAML。
  • 配置先: docs/ja/projects/prj-0001/timeline/tml-index.yaml(schedule/等と同様、プロジェクト直下の横断ディレクトリ)。
  • ID: prj-0001:tml-index。prefixは tml-。
  • Kata: specdojo:tml-rulebook のみ新設する(sch-rulebook.md が recipe: none / sample: none / template: none であるのに倣い、recipe/sample/templateは作らない)。
  • 保持するフィールド(最低限):
yaml
id: prj-0001:tml-index
type: project
status: draft
rulebook: specdojo:tml-rulebook
project_id: prj-0001
tracks:
  - track: <track-id> # sch-strategy-<track>/sch-track-<track> の <track> と対応
    domains: [<dct-<domain>.yaml の domain 値の配列>]
    catalog_status: not_started | draft | primary # カタログ作成状況
    catalog_duration_estimate_days: <number> # draft→primaryに要する見積り工期
    order: <int> # 逐次実行時の順序。同値は並行可能候補
    parallel_group: <string> # 任意。同じ値を持つtrack同士は並行実行してよい
    depends_on: [<track-id>, ...] # 依存する他トラック(先に着手すべきtrack)
    note: <string> # 任意の補足
  • catalog_status は3値固定(not_started/draft/primary)。フル成果物カタログ化(カタログ作成自体を子カタログとしてdone_criteria付きで管理する案)は今回は採用せず、この軽量フィールドと工期見積りで進捗管理する。将来フル化する可能性はtml-rulebook.mdの「今後の検討」節に明記する。

2.2. dct/Schedule との接続方針 ​

schedule build 側がtml-index.yamlを読み込む形にはしない。代わりに 新コマンド specdojo timeline build を新設し、tml-index.yamlを入力として、dct-<domain>.yaml未作成のtrackへのcatalog scaffold相当の準備、およびdepends_on/order/parallel_groupから算出した着手順序の提示(generated/配下への出力)など、後続コマンド(catalog scaffold・schedule build)への入力情報を作る一方通行の生成コマンドとする。既存の「正本→build系コマンド→生成物」という流れに合わせる。具体的な生成内容は実装時にtimeline-build.tsで設計してよい。

2.3. sch-milestones.yaml との関係 ​

廃止しない。sch-milestones.yamlは各trackのphase_gates/group_milestonesから実行後に集計・生成される実績、tml-index.yamlは着手前に人間が決める計画という役割分担をtml-rulebook.mdに明記する。

2.4. 既存生成物・カタログ登録 ​

  • 改名後、docs/ja/projects/prj-0001/execution/generated/timeline*.svg/timeline*.md(現状8ファイル)を削除し、specdojo exec refreshでgantt-chart*として再生成する。
  • tml-indexをdct-project-management.yamlへ成果物カタログエントリとして登録する(sch-milestones等と同様の粒度)。

3. 完了条件 ​

  • 既存timeline関連モジュール(exec-schedule-timeline.ts/exec-schedule-timeline-scope.ts/exec-schedule-timeline-render.ts)と参照元(exec-schedule.ts/exec-schedule-calendar.ts)のtimelineという語がgantt-chartへ改名されていること(export名・内部変数名を含む)。
  • 生成ファイル名(timeline.svg/timeline.md/timeline-milestones.*/timeline-track-<track>.*)がgantt-chart*系へ改名され、command-reference.md/schedule-design-guide.md/docs/ja/projects/prj-0001/execution/README.mdの記述が追随していること。
  • 既存の生成済みtimeline*ファイル(8件)が削除され、gantt-chart*として再生成されていること。
  • docs/ja/specdojo/rulebooks/tml-rulebook.md が「2.1」の仕様で新設されていること。
  • docs/ja/projects/prj-0001/timeline/tml-index.yaml が新設され、プロジェクトの既存track(launch/data-flow)と、まだtrack化していないドメインについてcatalog_status・order等を記載していること。
  • specdojo timeline build コマンドが実装され、「2.2」の contract を満たすこと。
  • tml-index が dct-project-management.yaml に登録されていること。
  • docs/specdojo/schemas/v1/tml-index.schema.yaml が新設され、tml-rulebook.mdから参照されていること(sch-track.schema.yaml等の既存パターンに倣う)。
  • id-and-file-naming-standard.md に tml- prefixの命名規則が追記されていること。
  • sch-milestones.yamlとの役割分担がtml-rulebook.mdに明記されていること。
  • docs/ja/specdojo/guides/timeline-design-guide.mdが新設され、timeline buildの生成フロー・運用タイミング・track-design-guide.mdとの関係が記載されていること(sch-がsch-rulebook.mdとschedule-design-guide.mdの両方を持つ構成に揃える)。
  • npm run -s lint:md/npm run typecheck/npm run build/npm run docs:build が成功すること。

4. 作業内容 ​

No作業担当状態メモ
1exec-schedule-timeline*.tsのモジュール名・export名・内部変数名の改名ARCdone3ファイルをexec-schedule-gantt-chart*.tsへgit mv。buildTimelineSvg→buildGanttChartSvg等のexport名、exec-schedule-calendar.tsのtimelineStartDate→ganttChartStartDate等、内部変数timelineStart/timelineEndまで改名
2生成ファイル名の改名(timeline* → gantt-chart*)ARCdoneexec-schedule-gantt-chart-scope.tsのfileBaseとexec-schedule.tsのmetadata.json derived_files一覧を変更
3ドキュメント記述の追随ARCdonecommand-reference.md/schedule-design-guide.md/execution/README.mdを更新。.vitepress/sidebar-config.tsは権限不足で未変更(申し送り)
4既存生成物timeline*(8件)の削除・gantt-chart*としての再生成ARCdone本worktreeではgenerated/が未生成だったため削除対象なし。exec refreshでgantt-chart*8件(md/svg各4)を生成
5tml-rulebook.mdの新設ARCdone2.1の仕様、2.3の役割分担(sch-milestones.yamlとの比較表)、今後の検討(フル成果物カタログ化)を記載
6tml-index.yamlの新設ARCdone既存track(launch/data-flow)+未着手16トラックを6 waveで記載。status: draft、notesに_UNDECIDED_を明記
7specdojo timeline buildコマンドの実装ARCdonesrc/timeline-build.ts(ロジック)+src/timeline.ts(CLI)を新設しsrc/specdojo.tsへ登録。timeline build/timeline whereを提供
8tml-indexをdct-project-management.yamlへ登録ARCdoneタイムライングループ(base_path: timeline)を追加し、done_criteria5件を定義
9docs/specdojo/schemas/v1/tml-index.schema.yamlの新設ARCdonesch-track.schema.yamlに倣い$defs/TrackPlanで定義。tml-rulebook.mdの本文構成から参照
10id-and-file-naming-standard.mdへのtml-prefix追記ARCdone14.1のプロジェクト関係ドキュメント表へ「トラック順序計画 / Timeline / tml- / tml-index」を追加
11検証コマンド実行ARCdonetypecheck/lint:ts/test(1075件)/build/docs:build/catalog validate すべて成功
12specdojo timeline buildを実プロジェクトで初回実行するARCdonespecdojo timeline build --project prj-0001を実行し、timeline/generated/へtimeline-order.md/catalog-scaffold.md/timeline.json(6 wave、catalog_scaffold_targets: 0)を生成。generated/は他成果物と同様gitignore対象のためコミット対象外
13Timeline設計ガイドの新設ARCdoneレビューで、sch-がsch-rulebook.md(記述ルール)とschedule-design-guide.md(生成フロー・運用ガイド)の両方を持つのに対し、tml-はrulebookのみで運用ガイドを欠いている点を指摘された。docs/ja/specdojo/guides/timeline-design-guide.mdを新設し、timeline buildの生成アルゴリズム(wave算出・整合性検証・catalog scaffold対象判定)・運用タイミング(tml-index更新のたびに再実行する運用コマンドであること)・track-design-guide.mdとの関係・アンチパターンを記載。command-reference.mdのtimeline節とspecdojo-overview-guide.md8.3節から参照を追加

5. 対応結果 ​

  • 既存timelineをgantt-chartへ改名し、tml-系の新成果物種別としてtimelineを新設した。両者の名前空間は完全に分離し、src/・tests/にtimelineという語のGantt由来の用法は残っていない。
  • Gantt側の改名は、モジュール名・export名・内部変数名・生成ファイル名・ドキュメント記述の5層すべてで実施した。生成物はgantt-chart.{md,svg}/gantt-chart-milestones.{md,svg}/gantt-chart-track-{launch,data-flow}.{md,svg}の8件。
  • 新timelineは「着手前に人間が決める計画」、sch-milestones.yamlは「実行後に集計される実績」という役割分担をtml-rulebook.mdに明記し、sch-milestones.yamlは廃止していない。
  • specdojo timeline buildはtml-index.yamlを入力に、timeline-order.md(着手wave一覧)・catalog-scaffold.md(カタログ未作成ドメインと実行コマンド)・timeline.json(機械可読サマリー)をtimeline/generated/へ出力する一方通行の生成コマンドとして実装した。depends_onの未定義参照・循環・orderとの矛盾・track id重複を検出すると終了コード1で停止する。
  • カタログの突き合わせは、data-model/business-modelのように1ドメインが複数ファイルへ分割される実態に合わせ、ファイル名ではなく各dct-*.yamlのdomain値で行う実装とした。
  • tml-index.yamlのorder・catalog_duration_estimate_daysはtrack-design-guide.mdのウォーターフォール段階分けを基にした初期案であり、status: draftのまま人間レビューに委ねる。本チケットの完了条件はスキーマ・仕組みの整備であり、着手順の最終確定は含まない。
  • レビュー対応としてspecdojo timeline build --project prj-0001を実行し、生成物が実際に問題なく出力されることを確認した。launch/data-flowトラックはtml-index.yaml導入前からprimaryかつSchedule実行済みのため、この2トラックについては追認的な記録(retrofit)である旨を新設したtimeline-design-guide.mdに明記した。
  • レビュー対応としてdocs/ja/specdojo/guides/timeline-design-guide.mdを新設した。sch-(sch-rulebook.md+schedule-design-guide.md)と同じ「rulebook(記述規範)+guide(生成フロー・運用)」の2文書構成にTimelineも揃え、command-reference.md・specdojo-overview-guide.mdから参照を追加した。guide-authoring-standard.mdの導入ブロック・見出し番号・章タイトル参照規約に従い、npm run lint:md/npm run -s lint:fm/npm run docs:build(mermaid 2図含む)で検証済み。

6. 関連ドキュメント ​