Skip to content

[Master Plan] OpenCode Claude Code Parity — 実装ロードマップ #51

@terisuke

Description

@terisuke

目的

OpenCodeをClaude Codeと同等の品質で使えるようにするための実装ロードマップ。
BenevolentDirectorプロジェクトでのAlpha実装率調査で判明した構造的差異を解消する。

判明した問題

OpenCodeはAlpha実装率を68%と報告したが、実態は約50%だった。差異の根本原因:

能力 Claude Code OpenCode 影響
永続メモリ 40+エントリの構造化メモリ セッション履歴のみ 過去のIssueクローズを想起できない
Hook強制 47+hookで品質ガードレール なし ファクトチェックが強制されない
多層ルール 4グローバルルール+CLAUDE.md AGENTS.md 1ファイル 品質基準が注入されない
並列サブエージェント 型付き専門エージェント並列起動 基礎的subagentのみ 深い並列調査ができない
ファクトチェック hook + ルールで裏取り強制 なし ドキュメントを鵜呑み

Epicと子Issue一覧

Wave 1: P0 基盤(並列実装可能)

Epic #37: 永続メモリシステム

Epic #38: Hookシステム

Wave 2: P1 品質向上(Wave 1依存)

Epic #39: 多層プロジェクト指示

Epic #40: 型付きサブエージェント

Epic #41: ファクトチェックパイプライン

Epic #42: 品質ルールエンジン

実装順序

Wave 1 (並列)
├── #43 メモリストレージ ─→ #44 自動ロード ─→ #45 自動保存
└── #46 Hookスキーマ ─→ #47 Hook実行エンジン

Wave 2 (#37, #38 完了後)
├── #48 ルール読み込み (Epic #39 + #42)
├── #49 サブエージェント (Epic #40)
└── #50 ファクトチェック (Epic #41, depends on #47)

既存OpenCodeコードベースとの接合点

新機能 接合先ファイル 変更内容
メモリ session/session.sql.ts memoryテーブル追加
メモリロード session/instruction.ts AGENTS.md後にmemory注入
Hook tool/tool.ts ツール実行前後にhookイ��ターセプター
Hook設定 config/config.ts hooks設定スキーマ追加
ルール config/paths.ts rulesディレクトリパス
サブエージェント agent/agent.ts 型付きエージェント生成
ファクトチェック Hook経由 シェルスクリプトhook

完了基準

同一プロジェクト(BenevolentDirector)で同一タスク(Alpha実装率調査)を実行し:

  • staleなチェックリストを検出できる
  • クローズ済みIssueの未更新を指摘できる
  • 独立した3点突合(Issue/ADR/Code)を実施できる
  • effort-weighted進捗率を算出できる

技術スタック

OpenCode: TypeScript + Bun + SQLite (Drizzle ORM) + TUI (Ink/React)
テスト: Playwright E2E + Bun test
CI: GitHub Actions

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions