Architecture: Domain Model
Language: English | 日本語 Last updated: 2026-04-30 Update history:
- 2026-04-30: 5 ドメインモデルに拡張 — Doc Flow 追加 (#54)
- 2026-04-25: terminology rebalance per #40 EN canonical: 2026-04-30 of wiki/en/Architecture-Domain-Model.md Audience: エージェント開発者
このページはもとの Architecture.md を 3 ページに分割したもの(#42)です。Aphelion の概念的ドメインモデル(5 ドメインモデル・セッション分離戦略・PRODUCT_TYPE 分岐)を扱います。プロトコルと運用ルールは関連ページを参照してください: プロトコル、運用ルール。
5 ドメインモデル
Section titled “5 ドメインモデル”Aphelion はソフトウェア開発ライフサイクルを 5 つの独立したドメインに分割します:
flowchart LR
DR["DISCOVERY_RESULT.md"]
DLR["DELIVERY_RESULT.md"]
OPR["OPS_RESULT.md"]
MR["MAINTENANCE_RESULT.md\n(Major only)"]
DCR["DOC_FLOW_RESULT.md\n+ deliverables/{slug}/*.md"]
Discovery["Discovery Flow\n(6 agents)"] -->|generates| DR
DR -->|input for| Delivery["Delivery Flow\n(12 agents)"]
Delivery -->|generates| DLR
DLR -->|input for| Ops["Operations Flow\n(4 agents)\nservice only"]
Ops -->|generates| OPR
Maintenance["Maintenance Flow\n(3 new agents + reuse)"] -->|Major| MR
MR -.->|handoff| Delivery
Doc["Doc Flow\n(1 orchestrator + 6 authors)\non demand"] -->|generates| DCR
Discovery は要件を探索・構造化し、DISCOVERY_RESULT.md を生成します。
Delivery は設計・実装・テスト・レビューを行い、DELIVERY_RESULT.md を生成します。
Operations はインフラ構築・DB運用・運用計画を行い、OPS_RESULT.md を生成します。PRODUCT_TYPE: service の場合のみ実行されます。
Maintenance(独立した第 4 のフロー) はバグ報告・CVE アラート・パフォーマンス劣化・既存プロジェクトの小規模機能追加を契機に起動します。change-classifier によって Patch / Minor / Major をトリアージします。Patch と Minor は単独で完結し、Major は MAINTENANCE_RESULT.md を生成して前処理フローとして Delivery Flow に引き渡します。詳細は Maintenance フローのトリアージ を参照してください。
Doc(独立した第 5 のフロー、オンデマンド) は既存の Aphelion 成果物から顧客向け納品ドキュメント(HLD・LLD・API リファレンス・運用マニュアル・ユーザーマニュアル・引継ぎ資料)を生成します。SPEC.md と ARCHITECTURE.md が揃ったプロジェクトライフサイクルの任意のタイミングで /doc-flow で手動起動します。他のフローからの自動連鎖はありません。詳細は Doc フローのトリアージ と Agents Reference: Doc Domain を参照してください。
| 原則 | 説明 |
|---|---|
| ドメイン分離 | 各ドメインは独立したClaude Codeセッションで実行される |
| ファイルハンドオフ | ドメイン間の接続は自動APIコールではなく .md ファイルを通じて行われる |
| 自動チェーンなし | 各ドメインは前ドメインの出力をレビューした後、ユーザーが手動で起動する必要がある |
| トリアージ適応 | 各 Flow Orchestrator(フローオーケストレーター)はプロジェクト規模を評価してプランティアを選択する |
| 独立起動 | 入力ファイルが揃っていれば、どのエージェントも単独で起動できる |
エージェントフロー
Section titled “エージェントフロー”各ドメインのエージェント実行順序を示します。
flowchart LR
D["Discovery<br/>(6 agents)<br/>interviewer → ... → scope-planner"]
DV["Delivery<br/>(12 agents)<br/>spec-designer → ... → releaser"]
O["Operations<br/>(4 agents)<br/>infra-builder → ... → ops-planner"]
M["Maintenance<br/>(3 agents + reuse)<br/>change-classifier → impact-analyzer → analyst → ..."]
DC["Doc<br/>(1 orchestrator + 6 authors)<br/>doc-flow → hld-author → ... → handover-author"]
S["Standalone<br/>analyst / codebase-analyzer / sandbox-runner"]
D -->|DISCOVERY_RESULT.md| DV
DV -->|DELIVERY_RESULT.md| O
M -.->|MAINTENANCE_RESULT.md<br/>Major のみ| DV
DC -.->|on demand<br/>no chaining| DC
S -.optional.-> DV
ドメインごとの詳細: Discovery · Delivery · Operations · Maintenance · Doc · Standalone
Maintenance は Discovery → Delivery → Operations の主パイプラインから独立した第 4 のフローであり、/maintenance-flow により既存プロジェクトの保守タスクに対して起動されます。Patch / Minor プランは単独完結し、Major プランのみ MAINTENANCE_RESULT.md を介して Delivery に引き渡します。各エージェントの詳細は エージェントリファレンス → Maintenance と トリアージシステム → Maintenance フローのトリアージ を参照してください。
Doc は 全フローから独立した第 5 のフローであり、SPEC.md と ARCHITECTURE.md が揃ったプロジェクトライフサイクルの任意のタイミングで /doc-flow で手動起動されます。Discovery / Delivery / Operations / Maintenance フローからの自動連鎖には参加しません。各エージェントの詳細は エージェントリファレンス → Doc Domain と トリアージシステム → Doc フローのトリアージ を参照してください。
セッション分離
Section titled “セッション分離”各ドメインは独立したClaude Codeセッションで実行されます。これは意図的な設計上の選択です:
- コンテキストウィンドウのオーバーフロー防止: プロジェクト全体のライフサイクルには何千行ものコンテキストが含まれる場合があります。すべてを1つのセッションで実行するとトークン制限に達するリスクがあります。
- 専門化の実現: 各 Flow Orchestrator は自ドメインに関連するルールとエージェントのみをロードします。
- 明示的なチェックポイントの強制: ユーザーは次のドメインを起動する前に各ドメインの出力をレビューする必要があり、品質ゲートのスキップを防ぎます。
5 つの Flow Orchestrator(discovery-flow、delivery-flow、operations-flow、maintenance-flow、doc-flow)が各セッションのエントリーポイントとなります。
PRODUCT_TYPE分岐
Section titled “PRODUCT_TYPE分岐”Discovery フェーズで決定された PRODUCT_TYPE フィールドにより、実行されるドメインが決まります:
| PRODUCT_TYPE | Discovery | Delivery | Maintenance | Operations | Doc |
|---|---|---|---|---|---|
service | 実行 | 実行 | 実行 (必要時) | 実行 | 実行 (オンデマンド) |
tool | 実行 | 実行 | 実行 (必要時) | スキップ | 実行 (user-manual / ops-manual は自動スキップ) |
library | 実行 | 実行 | 実行 (必要時) | スキップ | 実行 (user-manual / ops-manual は自動スキップ) |
cli | 実行 | 実行 | 実行 (必要時) | スキップ | 実行 (user-manual / ops-manual は自動スキップ) |
インフラ・DB運用・デプロイ手順が必要なのは service プロダクトのみです。Maintenance はリリース後の変更が必要な場合、全 PRODUCT_TYPE で利用できます。Doc Flow は全 PRODUCT_TYPE でオンデマンド実行できますが、UI_SPEC.md またはインフラ成果物がない場合(tool / library / cli で典型)、user-manual-author と ops-manual-author は自動スキップされます。
- Architecture: Protocols
- Architecture: Operational Rules
- ホーム
- Triage System
- Agents Reference: Orchestrators & Cross-Cutting
- Agents Reference: Doc Domain
- Rules Reference
- .claude/rules/aphelion-overview.md — ワークフローモデルと設計原則(自動ロード)
- .claude/orchestrator-rules.md — トリアージ、ハンドオフスキーマ、承認ゲート、差し戻しルール
- .claude/rules/agent-communication-protocol.md — AGENT_RESULT形式とSTATUSの定義