L2 CONFIDENTIAL

Factory v2 設計書

Factory v2 設計書

概要

Factoryは、AI駆動の自動ソフトウェア開発システムである。タスク管理システム(Plane)からの入力を受け、AIエージェント(OpenClaw)が自律的に実装・テスト・デプロイを行う。

ビジョン

「Issue作成から本番デプロイまで、人間の介入なしに完了する」

最終目標

  • 完全自動化された開発パイプライン
  • 国際標準規格(ISO/CNCF/AAIF)準拠
  • 機械的判断による信頼性の高い処理
  • 人間へのエスカレーション機能
  • 自己改善能力(学習ループ)

アーキテクチャ

コンポーネント構成

┌─────────────────────────────────────────────────────────┐
│                    コントロールプレーン                    │
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────┐      │
│  │ Plane Cloud │  │   Inngest   │  │   Grafana   │      │
│  │ (タスク管理) │  │ (オーケストラ)│  │   (監視)    │      │
│  └──────┬──────┘  └──────┬──────┘  └──────▲──────┘      │
│         │ CloudEvents    │ A2A            │ OTLP        │
└─────────┼────────────────┼────────────────┼─────────────┘
          │                │                │
          ▼                ▼                │
┌─────────────────────────────────────────────────────────┐
│                      実行プレーン                         │
│  ┌────────────────────────────────────────────────────┐ │
│  │                 OpenClaw Agent                     │ │
│  │  Clone → 実装 → テスト → Push → CI確認 → マージ    │ │
│  └────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────┘

役割分担

コンポーネント 役割 責任
Plane Cloud タスク管理 Issue作成、優先度、ラベル
Inngest オーケストレーター 状態管理、ポーリング、リトライ判断
OpenClaw エグゼキューター 自律的な実装作業、状態報告
Grafana 監視基盤 トレース、ログ、メトリクス
GitLab ソースコード管理 リポジトリ、CI/CD

設計原則

1. 機械的判断

推論ではなく、観測可能なデータから機械的に判断する。

✗ AIが推論で「これは型エラーだから...」
✓ exit_code != 0 かつ log contains "TypeError" → 型エラー対応ルール適用

2. ルールベース対応

エラー種別ごとに定義済みルールを適用する。

rules:
  TypeError:
    action: check_tsconfig
    retry: true
  ImportError:
    action: check_dependencies
    retry: true
  Unknown:
    action: escalate
    retry: false

3. エスカレーション

自動で解決できない場合は人間に通知する。

  • retry >= MAX_RETRIES
  • errorType == Unknown
  • timeout >= 30m

4. 監査ログ

全ての判断・アクションを記録する(ISO 42001準拠)。

{
  "timestamp": "2026-03-23T06:00:00Z",
  "task_id": "issue-42",
  "action": "retry",
  "reason": "ci_failed:TypeError",
  "actor": "openclaw",
  "result": "initiated"
}

標準規格準拠

Phase 1: Core(現在)

規格 用途 状態
OpenTelemetry 監視 △ 部分的
MCP ツール接続 △ 部分的
A2A エージェント間 △ 部分的
CloudEvents イベント ✓ 実装済

Phase 2: Quality(次)

規格 用途 状態
ISO 29119 テスト計画・設計 ❌ 未実装
ISO 25010 品質ゲート ❌ 未実装
ISO 42001 監査ログ ❌ 未実装

Phase 3: Security(その次)

規格 用途 状態
SLSA ビルド完全性 ❌ 未実装
SBOM 部品表 ❌ 未実装
ISO 27001 ISMS ❌ 未実装

Phase 4: Enterprise(将来)

規格 用途 状態
ISO 12207 ライフサイクル ❌ 未実装
PMBOK PM ❌ 未実装
TOGAF EA ❌ 未実装

Phase 5: Advanced(発展)

規格 用途 状態
OpenLineage データ系譜 ❌ 未実装
OPA ポリシー ❌ 未実装
NIST AI RMF リスク ❌ 未実装

モジュラーパイプライン

設計

ステージをモジュールとして定義し、設定で有効/無効を切り替え可能にする。

# pipeline.yaml
version: "1.0"
project: cycletree/factory

stages:
  plan:
    enabled: true
  implement:
    enabled: true
    executor: openclaw
  lint:
    enabled: true
    tools: [eslint, tsc]
  security:
    enabled: false
    tools: [npm-audit, trivy]
  test:
    enabled: true
    command: npm test
  coverage:
    enabled: true
    threshold: 80
  audit:
    enabled: true
    store: grafana-loki
  merge:
    enabled: true
    requireApproval: false

rules:
  maxRetries: 3
  timeout: 30m
  escalation:
    channel: discord
    target: "#factory-alerts"

ツールマップ

ステージ ツール コスト
lint ESLint, TSC, Prettier 無料
security npm audit, Trivy, Snyk 無料/無料枠
test Jest 無料
coverage Jest --coverage, Codecov 無料/無料枠
audit Grafana Loki 無料枠

通信プロトコル

Plane → Inngest (CloudEvents)

{
  "event": "issue",
  "action": "created",
  "data": {
    "id": "...",
    "name": "Add feature X",
    "priority": "high"
  }
}

Inngest ↔ OpenClaw (A2A)

// タスク開始
{ "type": "task.start", "task_id": "issue-42", "payload": {...} }

// ステータス確認
{ "type": "task.status", "task_id": "issue-42" }

// ステータス応答
{ "type": "task.status.response", "status": "working", "phase": "testing" }

// 完了通知
{ "type": "task.completed", "result": { "merged": true } }

ロードマップ

2026 Q1(現在)

  • 基本フロー構築
  • Plane Webhook連携
  • OpenClaw経由のAI実装
  • 監査ログ実装
  • 機械的判断ルール

2026 Q2

  • Phase 2 (Quality) 完成
  • モジュラーパイプライン
  • ドッグフーディング開始

2026 Q3

  • Phase 3 (Security) 開始
  • SaaS化検討

2026 Q4

  • β版リリース
  • 外部ユーザーテスト

参照