目次
- Unit of Work Dependency — continuum
- 1. Dependency Matrix
- 1.1 依存ハイライト
- 1.2 共有パッケージ依存
- 2. Dependency Graph
- 2.1 Text Alternative
- 2.2 循環依存の解消(U-4 ↔ U-7)
- 3. Parallelization Analysis(Phase 2 並列最大化 / Q8=B)
- 3.1 開発順序(最適並列スケジュール)
- 3.2 並列度の上限
- 3.3 Phase 3 開発順序(5/31〜6/26 約4週間)
- 4. Critical Path Analysis
- 4.1 Phase 2 Critical Path
- 4.2 Phase 3 Critical Path
- 4.3 リスク識別
- 5. Cross-Unit Coordination Points
- 5.1 Sprint 0 完了時
- 5.2 Sprint 1 完了時
- 5.3 Sprint 2 完了時
- 5.4 Phase 2 → Phase 3 移行時
- 6. Deployment Coordination
- 6.1 CDK Stack デプロイ順序(Q7=C Layered Stacks)
- 6.2 Phase 別デプロイ戦略
- 7. Inter-Unit API Contract
- 7.1 Maturity → Inbound/Outbound
- 7.2 Outbound → MACP
- 7.3 Realtime API
Unit of Work Dependency — continuum
Project: continuum Phase: INCEPTION — Units Generation (Part 2) Date: 2026-05-08
1. Dependency Matrix
行: 依存元(this Unit needs...)/ 列: 依存先。✓ = 直接依存、~ = 間接依存、– = 依存なし。
🔄 SCOPE REVISION 2026-05-08:
shared/agentcore-clientは廃止(各 Lambda から AWS SDK 直呼び)。マトリクス列・行を削除。
| ↓ from / to → | U-1 | U-2 | U-3 | U-4 | U-5 | U-6 | U-7 | U-8 | U-9 | U-10 | s/types |
|---|---|---|---|---|---|---|---|---|---|---|---|
| U-1 Foundation | — | – | – | – | – | – | – | – | – | – | ✓ |
| U-2 ContactMgmt | ✓ | — | – | – | – | – | – | – | – | – | ✓ |
| U-3 Inbound | ✓ | ✓ | — | – | ✓ | – | – | – | – | – | ✓ |
| U-4 Outbound | ✓ | ✓ | – | — | ✓ | – | ✓ | ~ | – | – | ✓ |
| U-5 Maturity | ✓ | – | – | – | — | – | – | – | – | – | ✓ |
| U-6 Dashboard | ✓ | – | – | – | ✓ | — | – | – | – | – | ✓ |
| U-7 MACP-Simulator | ✓ | ✓ | – | ✓ | – | – | — | – | ✓ | – | ✓ |
| U-8 MACP-Federated | ✓ | ✓ | – | ✓ | – | – | ✓ | — | ✓ | – | ✓ |
| U-9 Realtime | ✓ | – | – | – | – | – | – | – | — | – | ✓ |
| U-10 DemoSetPiece | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | — | ✓ |
| shared/shared-types | – | – | – | – | – | – | – | – | – | – | — |
1.1 依存ハイライト
- U-1 Foundation は最上流: 他すべての Unit が依存(認証基盤)
- U-3, U-4 は U-2 に依存: コンタクトデータが必要
- U-3, U-4, U-7, U-8 は U-5 に依存: フェーズ判定が必要
- U-7 (MACP Simulator) は U-4 (Outbound) からトリガー: Outbound 送信前の MACP 試行
- U-8 (MACP Federated) は U-7 を拡張: 既存の演出ロジックを Federated 化
- U-10 DemoSetPiece は最下流: 全 Unit を統合してデモシナリオを構築
1.2 共有パッケージ依存
- shared/shared-types: 全 Unit が依存(型定義は基盤)
shared/agentcore-client: 2026-05-08 改訂で廃止。U-3 / U-4 / U-8 は AWS SDK(@aws-sdk/client-bedrock-runtime等)を直接呼び出す
2. Dependency Graph
graph TD
Types["shared/shared-types<br/>(共有型)"]
%% AC["shared/agentcore-client"] — 2026-05-08 改訂で廃止
U1["U-1 Foundation<br/>認証・PWA Shell<br/><b>Phase 2 Must</b>"]
U2["U-2 ContactMgmt<br/>コンタクト + Mock Feed<br/><b>Phase 2 Must</b>"]
U3["U-3 Inbound<br/>受信応答エンジン<br/><b>Phase 2 Must</b>"]
U4["U-4 Outbound<br/>戦略的アウトリーチ<br/><b>Phase 2 Must</b>"]
U5["U-5 Maturity<br/>フェーズ管理<br/><b>Phase 2 Must</b>"]
U6["U-6 Dashboard<br/>分析・可視化<br/><b>Phase 2 Must</b>"]
U7["U-7 MACP-Simulator<br/>Phase 2 簡易版<br/><b>Phase 2 Must</b>"]
U8["U-8 MACP-Federated<br/>Phase 3 本実装<br/><b>Phase 3 Must</b>"]
U9["U-9 Realtime<br/>WebSocket 基盤<br/><b>Phase 2 Should/3 Must</b>"]
U10["U-10 DemoSetPiece<br/>決勝演出<br/><b>Phase 3 Must</b>"]
%% AC --> Types — 2026-05-08 改訂で agentcore-client 廃止
U1 --> Types
U2 --> U1
U2 --> Types
U3 --> U1
U3 --> U2
U3 --> U5
U3 --> Types
%% U3 --> AC — 廃止: AWS SDK 直呼び
U4 --> U1
U4 --> U2
U4 --> U5
U4 --> U7
U4 --> Types
%% U4 --> AC — 廃止: AWS SDK 直呼び
U5 --> U1
U5 --> Types
U6 --> U1
U6 --> U5
U6 --> Types
U7 --> U1
U7 --> U2
U7 --> U4
U7 --> U9
U7 --> Types
U8 --> U1
U8 --> U2
U8 --> U4
U8 --> U7
U8 --> U9
U8 --> Types
%% U8 --> AC — 廃止: AWS SDK 直呼び
U9 --> U1
U9 --> Types
U10 --> U1
U10 --> U2
U10 --> U3
U10 --> U4
U10 --> U5
U10 --> U6
U10 --> U7
U10 --> U8
U10 --> U9
U10 --> Types
style U1 fill:#4CAF50,stroke:#1B5E20,color:#fff
style U2 fill:#4CAF50,stroke:#1B5E20,color:#fff
style U3 fill:#4CAF50,stroke:#1B5E20,color:#fff
style U4 fill:#4CAF50,stroke:#1B5E20,color:#fff
style U5 fill:#4CAF50,stroke:#1B5E20,color:#fff
style U6 fill:#4CAF50,stroke:#1B5E20,color:#fff
style U7 fill:#4CAF50,stroke:#1B5E20,color:#fff
style U8 fill:#FFA726,stroke:#E65100,color:#000
style U9 fill:#FFC107,stroke:#F57C00,color:#000
style U10 fill:#FFA726,stroke:#E65100,color:#000
style Types fill:#90CAF9,stroke:#1565C0,color:#000
style AC fill:#90CAF9,stroke:#1565C0,color:#000
2.1 Text Alternative
依存階層(上から下へ依存方向):
Layer 0(基盤):
- shared/shared-types
- ~~shared/agentcore-client~~ — 2026-05-08 改訂で廃止(AWS SDK 直呼び)
Layer 1(最上流 Unit):
- U-1 Foundation
- U-9 Realtime(U-1 のみに依存)
Layer 2(U-1 の上に構築):
- U-2 ContactMgmt
- U-5 Maturity
Layer 3(U-2 / U-5 を利用):
- U-3 Inbound(U-1, U-2, U-5)
- U-6 Dashboard(U-1, U-5)
Layer 4(U-7 を経由):
- U-7 MACP-Simulator(U-1, U-2, U-4, U-9)
- U-4 Outbound(U-1, U-2, U-5, U-7) ※循環: U-4 ↔ U-7
Layer 5(Phase 3):
- U-8 MACP-Federated(U-1, U-2, U-4, U-7, U-9)
Layer 6(最下流):
- U-10 DemoSetPiece(全 Unit)
2.2 循環依存の解消(U-4 ↔ U-7)
問題: U-4 Outbound は MACP 試行で U-7 を呼び出し、U-7 は完了時に U-4 のキューに反映 → 双方向依存
解消策:
- U-7 MACPCoordinator のインターフェースを
shared/shared-typesに定義 - U-4 OutboundOrchestrator は インターフェース経由で U-7 を呼ぶ(実装は依存しない)
- U-7 が完了通知を行う際は EventBridge イベント経由(直接 U-4 を呼ばない)
- これによりコンパイル時の循環依存を排除し、ランタイムは EventBridge で疎結合
3. Parallelization Analysis(Phase 2 並列最大化 / Q8=B)
3.1 開発順序(最適並列スケジュール)
[Day 1-2] Phase 2 Sprint 0 - 基盤先行
─────────────────────────────────────
- shared/shared-types ← 全 Unit のブロッカー、最優先
- U-1 Foundation ← 全 Unit のブロッカー
- infrastructure/single-stack ← Cognito + IAM + DynamoDB(Phase 2 は Single Stack)
- (shared/agentcore-client は 2026-05-08 改訂で廃止 — AWS SDK 直呼び)
[Day 3-7] Phase 2 Sprint 1 - 並列着手(最大 5 並列)
─────────────────────────────────────
- U-2 ContactMgmt ← 並列実装可
- U-5 Maturity ← 並列実装可
- U-9 Realtime(基盤のみ) ← 並列実装可
- infrastructure/data-stack ← 並列
- infrastructure/application-stack(基本部分) ← 並列
[Day 8-12] Phase 2 Sprint 2 - 機能 Unit 並列(最大 4 並列)
─────────────────────────────────────
- U-3 Inbound ← U-2, U-5 完了後
- U-4 Outbound ← U-2, U-5 完了後
- U-6 Dashboard ← U-5 完了後
- U-7 MACP-Simulator ← U-2, U-4, U-9 完了後
[Day 13-15] Phase 2 Sprint 3 - 統合・予選会準備
─────────────────────────────────────
- 統合テスト(全 Unit ハッピーパス)
- デモシナリオ準備
- プレゼン資料作成
- バグ修正・UX 調整
3.2 並列度の上限
- Sprint 0: 4 並列(基盤)
- Sprint 1: 5 並列(U-2, U-5, U-9, data-stack, app-stack)
- Sprint 2: 4 並列(U-3, U-4, U-6, U-7)
- Sprint 3: 統合フェーズ
AI フル実装(Q12=C)の利点を最大化するには、各 Sprint 内で並列タスクとして AI に委譲する形が望ましい。
3.3 Phase 3 開発順序(5/31〜6/26 約4週間)
[Week 1: 5/31-6/6] AWS デプロイ + Federated 実装着手
─────────────────────────────────────
- AWS Production 環境への完全デプロイ
- U-8 MACP-Federated 実装開始(AgentCore Identity/Gateway/Memory 統合)
- Phase 2 Should の取りこぼし対応(U-3 US-3.5, U-4 US-4.6, U-5 US-5.6, U-6 US-6.2)
[Week 2: 6/7-6/13] Phase 3 Must 中核実装
─────────────────────────────────────
- U-4 Phase 3 Must(US-4.4 Conflict Detection, US-4.5 Plausibility Engineering)
- U-5 US-5.5(Lv5 Nirvana Auto-Detection)
- U-6 US-6.3(Outbound Metrics)
- U-2 US-2.3(Critical タグ)
[Week 3: 6/14-6/20] Demo Set Piece + 統合演出
─────────────────────────────────────
- U-10 DemoSetPiece 実装(DS-1〜DS-4)
- Phase 3 Stretch(U-3 US-3.6, U-4 US-4.3 Heartbeat, U-6 US-6.4, U-8 US-7.5)
[Week 4: 6/21-6/26] 仕上げ + リハーサル
─────────────────────────────────────
- 統合テスト + パフォーマンス調整
- X-Ray 統合(Q9=D Phase 3)
- 決勝プレゼン資料 + デモ動画作成
- リハーサル
4. Critical Path Analysis
4.1 Phase 2 Critical Path
最長のクリティカルパス:
shared/shared-types
→ U-1 Foundation
→ U-2 ContactMgmt + U-5 Maturity (並列)
→ U-7 MACP-Simulator (U-2 + U-4 + U-9 完了後)
→ 統合テスト
所要日数概算:
- shared/shared-types: 0.5日
- U-1 Foundation: 1.5日
- U-2 + U-5 並列: 2日
- U-3 + U-4 + U-6 並列: 3日(U-4 が Signal Extraction で重い)
- U-7 MACP-Simulator: 2日
- 統合: 2日
合計: 約 11 日(5/16〜5/26)→ 5/30 予選会まで余裕 4日
4.2 Phase 3 Critical Path
U-8 MACP-Federated(AgentCore 学習 + 実装)
→ U-10 DemoSetPiece 統合
→ 統合テスト + リハーサル
所要日数概算:
- AWS 環境準備: 3日
- U-8 MACP-Federated: 7日
- U-10 DemoSetPiece: 5日
- Phase 3 Must その他: 5日(並列)
- 統合 + リハーサル: 5日
合計: 約 25 日(5/31〜6/24)→ 決勝 6/26 まで余裕 2日
4.3 リスク識別
| Unit | リスク | 緩和策 |
|---|---|---|
| U-3 Inbound | Bedrock 応答 5秒以内達成 | 早期にスループットテスト、プロンプト最適化 |
| U-4 Outbound (Signal Extractor) | Mock Feed 解析の品質 | 早期に多様なシナリオでテスト |
| U-7 MACP-Simulator | デモ演出の自然さ | デモシナリオを早期に実機確認 |
| U-8 MACP-Federated | AgentCore Gateway 学習コスト | Phase 3 早期着手、AWS ドキュメント参照 |
| U-10 DemoSetPiece | Split-Screen UI の演出品質 | UX レビューを2回以上実施 |
5. Cross-Unit Coordination Points
並列開発中の同期が必要な箇所:
5.1 Sprint 0 完了時
- shared/shared-types の API(型定義)が確定
- U-1 Foundation の認証フローが動作
- → 全 Unit が依存できる状態に
5.2 Sprint 1 完了時
- U-2 ContactHandler の API が確定
- U-5 MaturityPhaseManager の
shouldReviewInbound/OutboundAPI が確定 - → U-3, U-4, U-7 が並行開始可能
5.3 Sprint 2 完了時
- 全機能 Unit の Backend API が動作
- Frontend View が組み込み完了
- → 統合テストフェーズ
5.4 Phase 2 → Phase 3 移行時
- U-7 MACP-Simulator の挙動を保ちつつ U-8 MACP-Federated に拡張
- U-7 と U-8 で共通する Theatrical Performance ロジックは shared/shared-types に抽出
6. Deployment Coordination
6.1 CDK Stack デプロイ順序(Q7=C Layered Stacks)
1. FoundationStack
└─ Cognito User Pool, IAM Roles, ACM, Route 53
2. DataStack ← FoundationStack 後
└─ DynamoDB Single-Table, Connection Table, Secrets Manager
3. ApplicationStack ← DataStack 後
└─ Lambda × 10, API Gateway (REST + WS), EventBridge, CloudFront, S3
依存関係:
- ApplicationStack の Lambda は DataStack の DynamoDB ARN を参照
- ApplicationStack の API Gateway Authorizer は FoundationStack の Cognito User Pool ID を参照
6.2 Phase 別デプロイ戦略
- Phase 2: ローカル開発主体、必要に応じて AWS(Cognito + DynamoDB)の最小構成
- Phase 3: 完全 AWS デプロイ、CloudFront + Route 53 + ACM 含む
7. Inter-Unit API Contract
7.1 Maturity → Inbound/Outbound
// MaturityPhaseManager → InboundResponseEngine / OutboundOrchestrator
interface MaturityGuard {
shouldReviewInbound(userId: string, message: InboxMessage, contact: Contact): Promise<boolean>;
shouldReviewOutbound(userId: string, candidate: OutboundCandidate): Promise<boolean>;
getCurrentPhase(userId: string): Promise<Phase>;
}
7.2 Outbound → MACP
// OutboundOrchestrator → MACPCoordinator
interface MACPInitiator {
attemptMACP(candidate: OutboundCandidate): Promise<MACPSession | null>;
}
7.3 Realtime API
// WebSocketBroker(U-9)の利用 API
interface RealtimePublisher {
pushToUser(userId: string, event: WebSocketEvent): Promise<void>;
broadcastDemo(event: WebSocketEvent): Promise<void>;
}