claw-code-parity
claude-code harness — Python clean-room → Rust port / 2026-03-31 origin
50K
スター / 2時間(GitHub 最速記録)
292
コミット / 最初の 4日間
48.6K
Rust LOC(9 クレート)
40
実装済みツール仕様
2026-03-31 — 誕生の経緯
Claude Code のソースコードが流出し開発者コミュニティが騒然となった日、Sigrid Jin(instructkr)は法的リスクを回避するため独自実装の方針を即断した。oh-my-codex (OmX) の $team モード(並列コードレビュー)と $ralph モード(持続的実行ループ)を活用し、日の出前に Python クリーンルーム実装を完成させた。
Sigrid Jin は Wall Street Journal(2026年3月21日付)にも取り上げられた Claude Code の主要パワーユーザーであり、年間 250 億トークンを使用したことでも知られる。本実装はそのハーネスエンジニアリング知見の集大成だ。
方針転換と現在の構成
当初は TypeScript 原本の研究を目的としていたが、倫理的検討を経て「流出スナップショットをそのまま保持しない」方針へ転換。本リポジトリは現在、Python ポーティングワークスペース(ハーネス研究・パリティ監査)と Rust 実装(claw バイナリ)の 2 層構成で発展している。
2 層構成: Python 層はハーネスのポーティング研究・マニフェスト管理を担い、Rust 層が実際の
claw CLI バイナリとして動作する。Python 側はパリティ監査ツールとして機能し続ける。
flowchart TD
USER(["User / Claw Agent"])
CLI["claw CLI\nrusty-claude-cli"]
RUNTIME["ConversationRuntime\nruntime crate"]
API["API Client\napi crate — HTTP/SSE"]
TOOLS["Tool System\n40 tool specs"]
PERM["PermissionEnforcer\nread-only / workspace"]
MOCK["Mock Anthropic Service\ndeterministic parity tests"]
PYTHON["Python Layer\nsrc/ — research & audit"]
USER --> CLI
CLI --> RUNTIME
RUNTIME --> API
RUNTIME --> TOOLS
RUNTIME --> PERM
MOCK -. parity testing .-> API
PYTHON -. parity audit .-> RUNTIME
Rust クレート構成(9 crates)
api
runtime
tools
rusty-claude-cli
mock-anthropic-service
commands / compat-harness / plugins
Python ワークスペース(src/)
port_manifest.py — ワークスペース構造サマリmodels.py — サブシステム・バックログ dataclasscommands.py — コマンドポートメタデータtools.py — ツールポートメタデータquery_engine.py — ポーティングサマリ生成parity_audit.py — TypeScript 原本との差分監査runtime.py — PortRuntime(ルーティング・ループ)session_store.py — セッション永続化2026-04-03 時点。全 9 レーン main マージ済み。292 コミット・3 名コントリビュータ・4 日間(2026-03-31 → 2026-04-03)。
| レーン | 機能 | 状態 | 主要コンポーネント | コミット |
|---|---|---|---|---|
Lane 1 |
Bash validation | merged | bash_validation.rsreadOnlyValidation / destructiveCommandWarning / modeValidation |
36dac6c |
Lane 2 |
CI fix | merged | sandbox.rsunshare 実能力プローブ(binary 存在ではなく実行可否を検査) |
89104eb |
Lane 3 |
File-tool | merged | file_ops.rs 744 LOCバイナリ検出・サイズ制限・ワークスペース境界・シンボリックリンクガード |
284163b |
Lane 4 |
TaskRegistry | merged | task_registry.rs 335 LOCcreate / get / list / stop / update / output スレッドセーフ管理 |
5ea138e |
Lane 5 |
Task wiring | merged | tools/src/lib.rs6 タスクツールを TaskRegistry にバインド |
e8692e4 |
Lane 6 |
Team + Cron | merged | team_cron_registry.rs 363 LOCTeamRegistry + CronRegistry in-memory スレッドセーフ |
c486ca6 |
Lane 7 |
MCP lifecycle | merged | mcp_tool_bridge.rs 406 LOCサーバー接続状態・リソース一覧・ツール dispatch・認証状態 |
730667f |
Lane 8 |
LSP client | merged | lsp_client.rs 438 LOCdiagnostics / hover / definition / references / completion / symbols |
2d66503 |
Lane 9 |
Permission enforcement | merged | permission_enforcer.rs 340 LOCツールゲーティング・ファイル書き込み境界・Bash read-only ヒューリスティック |
66283f4 |
モックパリティハーネス(10 シナリオ)
streaming_text
read_file_roundtrip
grep_chunk_assembly
write_file_allowed
write_file_denied
multi_tool_turn_roundtrip
bash_stdout_roundtrip
bash_permission_prompt_approved
bash_permission_prompt_denied
plugin_tool_roundtrip
ファイル操作
- Bash
- ReadFile
- WriteFile
- EditFile
- GlobSearch
- GrepSearch
タスク管理
- TaskCreate
- TaskGet
- TaskList
- TaskStop
- TaskUpdate
- TaskOutput
チーム・クーロン
- TeamCreate
- TeamDelete
- CronCreate
- CronDelete
- CronList
MCP / LSP
- ListMcpResources
- ReadMcpResource
- McpAuth
- MCP
- LSP
Web / エージェント
- WebFetch
- WebSearch
- Agent
- Skill
- ToolSearch
ユーティリティ
- TodoWrite
- NotebookEdit
- REPL
- PowerShell
- Sleep
- SendUserMessage
設定・制御
- Config
- EnterPlanMode
- ExitPlanMode
- StructuredOutput
- AskUserQuestion
- RemoteTrigger
- Brief
- TestingPermission
Rust 実装状況
- Anthropic API + SSE ✓
- OAuth 認証 ✓
- REPL(rustyline)✓
- CLAUDE.md 対応 ✓
- セッション永続化 ✓
- コスト追跡 ✓
既知の制限:
AskUserQuestion は保留応答ペイロードを返すのみで UI バインディング未実装。RemoteTrigger はスタブ応答。Bash 深い検証(Lane 1 の一部)はブランチのみ。
"clawable" とは AI エージェントがそのまま駆動できる——決定論的・機械可読・自律回復型・イベントファースト——なハーネスのこと。現状 7 つの課題を 5 フェーズで解消する。
Phase 1
Reliable Worker Boot
ワーカーライフサイクルの明示的状態機械(
spawning → trust_required → ready_for_prompt → running → finished)。信頼済みリポジトリの自動トラスト解決。セッション制御 API(create / await-ready / send-task / fetch-state / restart / terminate)の公開。Phase 2
Event-Native Clawhip Integration
型付きレーンイベントスキーマ(
lane.started / lane.red / lane.pr.opened など)の設計。失敗の分類(prompt_delivery / compile / test / mcp_startup / infra)。チャンネル出力をスクレイプされた文字列ではなく構造化イベントから生成。Phase 3
Branch / Test Awareness と Auto-Recovery
広域テスト前に main との差分を検出(古いブランチ起因の誤検知防止)。既知失敗パターン(trust prompt 未解決・古いブランチ・MCP ハンドシェイク失敗)への自動回復レシピ。グリーン性契約(targeted / package / workspace / merge-ready の区別)の確立。
Phase 4
Claws-First Task Execution
型付きタスクパケット(objective / scope / branch policy / acceptance tests / escalation policy)。ポリシーエンジン(merge / retry / rebase / stale cleanup を機械強制)。機械可読なレーンボード(repos / active claws / worktrees / merge readiness / last event)。
Phase 5
Plugin and MCP Lifecycle Maturity
各プラグイン・MCP 統合が config 検証 / startup healthcheck / degraded-mode 動作 / shutdown contract を公開。エンドツーエンド MCP ライフサイクルパリティ(設定ロード → サーバー登録 → spawn/connect → ハンドシェイク → ツール発見 → 呼び出し → エラー処理 → shutdown)の達成。
Rust CLI(claw バイナリ)
# ビルド
cd rust
cargo build --release
# インタラクティブ REPL
./target/release/claw
# ワンショットプロンプト
./target/release/claw prompt "explain this codebase"
# モデル指定(エイリアス使用可)
./target/release/claw --model sonnet prompt "fix the bug in main.rs"
# モックパリティハーネス実行
./scripts/run_mock_parity_harness.sh
Python ワークスペース
# ポーティングサマリ表示
python3 -m src.main summary
# マニフェスト確認
python3 -m src.main manifest
# パリティ監査(TypeScript 原本との差分)
python3 -m src.main parity-audit
# コマンド一覧(先頭 10件)
python3 -m src.main commands --limit 10
# ツール一覧(先頭 10件)
python3 -m src.main tools --limit 10
# テスト実行
python3 -m unittest discover -s tests -v
モデルエイリアス
| エイリアス | 解決先モデル |
|---|---|
opus | claude-opus-4-6 |
sonnet | claude-sonnet-4-6 |
haiku | claude-haiku-4-5-20251213 |
REPL スラッシュコマンド
| コマンド | 説明 |
|---|---|
/help | ヘルプ表示 |
/status | セッション状態(モデル・トークン使用量・コスト) |
/compact | 会話履歴の圧縮 |
/model [name] | 使用モデルの確認・切り替え |
/permissions | 権限モードの確認・切り替え |
/config [section] | 設定確認(env / hooks / model) |
/diff | Git diff 表示 |
/session [id] | 以前のセッションを再開 |
/export [path] | 会話のエクスポート |
関連リンク
- github.com/ultraworkers/claw-code-parity — 本リポジトリ
- github.com/instructkr/claw-code — オリジナル claw-code(移行中)
- oh-my-codex (OmX) — 本実装を駆動した Codex ワークフロー層
- instructkr — 韓国語 LLM コミュニティ(Sigrid Jin 主宰)