型付き辺: 出 2 / 入 0
ADR-0159: bizlp-gas-accounting に MAS 専属クローンを新設し main を orchestrator 化する
- Status: Accepted (本 PR merge = 受理の規約により 2026-06-20 受理・代表取締役判断)
- Mode: Standard
- Kruchten Type: Executive/Property
- Scope: platform
- Implementation Status: Not Started
- 起案者: [email protected]
- 起案日時 (JST): 2026-06-20 02:08
- 承認日時 (JST): 2026-06-20 15:49
- Approver Role: platform
- Approver Who: [email protected]
- Driver: [email protected]
- Consulted: Decision Pipeline AI 審査 (Gate 0-4)
コンテキスト
§1.1 背景
同一モノレポ bizlp-gas-accounting を 4 クローン {main, doc, ocr, drp} に分離し役割ごとにファイル編集境界を分けて並行運用している (ADR-0156)。Phase D (2026-06-17・PR #2074 / #2075) のクローン集約で ~/projects/bizlp/{main, doc, ocr, drp} に整列したが、MAS (GAS 会計本体) は依然として main クローンの mas/ サブディレクトリに同居している。
§1.2 現状 (As-Is)
独立クローン化された drp / ocr / doc の 3 ドメインと対称ではない非対称構造が MAS にのみ残る。main セッションは orchestration (ADR/DRP 起案・横断 docs・CI 配線・tasks/prompts inbox 発火) と GAS 実装の両責務を持つ。memory [background-agent-branch-bundling] に並行作業衝突の事故事例 4 件 (うち 2026-06-10 単日 3 件) が記録されている。memory [open-dir-by-domain] は「DRP=drp/、GAS/横断=ルート、docs=-doc/-sub」と cwd 切替を要求しているが、MAS は cwd=ルートで両責務を兼ねる。
§1.3 課題
- 並行作業衝突 (構造的): main セッションの責務二重化により branch / worktree 取り合いが構造的に発生。事故事例 4 件 (2026-06-10 単日 3 件) は drp / ocr が独立クローン化で構造解消したが MAS は未解消。
- 役割分担の非対称: 「dir 名 = 役割名 = handover 命名」標準化 (ADR-0156) 後、MAS だけ main 同居の例外が残り、新規参画者 (Jr 2026-10 入社想定) の onboarding 説明コストが恒久残存。
- nested CLAUDE.md ロードの非対称: MAS は最初の一手で専属規律を on-demand ロードする経路が確立できない。
§1.4 制約・要件
- memory
[full-clone-uniformity]L11 が sparse-checkout / サブディレクトリ切り出し / 別 repo 化を禁則化。 - workspace_rules.md L16 が「worktree は git 操作が干渉しやすいため非推奨」と明示。
- cross-cutting 依存 (
webapp_client/scripts/sync-engines.mjs/scripts/docs-build.mjs/scripts/pre-push-check.sh/.github/workflows/deploy.ymlpaths='mas/**' /.github/workflows/adr0129-rules-loading-lint.yml) を破壊しない。 - ADR-0156 (4 クローン構成) と整合する amends 関係で拡張。
- Jr 入社 (2026-10) 前に onboarding 整備完了。
§1.5 目標 (To-Be)
~/projects/bizlp/mas/ を 5 つ目のフル clone (同 origin) として新設し OCR/DRP/doc と完全対称な 5 クローン構成へ拡張。main クローンは GAS 実装権限を喪失 (論理層) し orchestration に純化。Non-Goals: origin 側 mas/ 物理削除・.clasp.* 物理削除・別 repo 化は採用しない。
決定
~/projects/bizlp/mas/ を bizlp-gas-accounting の 5 つ目のフル clone (同 origin・別 directory) として新設し OCR/DRP/doc と完全対称な 5 クローン構成へ拡張する。main クローンの GAS 実装権限剥奪は 4 段の論理ガード (①main 用 CLAUDE.local.md 新規作成で編集可/読み取り専用リスト宣言 / ②main package.json から GAS push/deploy scripts 9 件 (push:dev / push:prod / deploy:dev / deploy:prod / switch:dev / switch:prod / open:dev / open:prod / status) を削除し mas 側で新設 / ③scripts/hooks/pre_bash_guard.sh に cwd 判定追加 ($PWD ~ ~/projects/bizlp/main かつ mas/** touch で permissionDecision=ask) / ④workspace_rules.md ファイル担当マトリクスを 5 列化) で実装する。Phase a (2026-07-15 期限) / Phase b (2026-07-31 期限) / Phase c (2026-08-31 期限) で段階移行する。
| Phase | 内容 | 担当領分 | 完了期限 |
|---|---|---|---|
| Phase a | workspace_manifest.yaml に mas clone エントリ追加 + workspace_rules.md マトリクス 5 列化 + main 用 CLAUDE.local.md 新規作成 + root CLAUDE.md 索引 1 行修正 + 本 ADR 受理 | main | 2026-07-15 |
| Phase b | mas clone の物理新設 (git clone 手元実行) + main package.json から GAS scripts 9 件削除 + mas package.json に GAS scripts 9 件新設 + memory project_mas_clone_separation 新設 + memory open_dir_by_domain 改訂 | mas (新) | 2026-07-31 |
| Phase c | scripts/hooks/pre_bash_guard.sh に cwd 判定追加 + tracking docs (BUG_tracking.md / changelog.md / git_workflow.md / hooks_setup.md / todo_master_tables.md ほか 37 ファイル) に「MAS 実装は mas clone を参照」注記追加 + rollback runbook 追加 | mas (新) | 2026-08-31 |
判断基準 (Decision Drivers)
3.1 評価軸
| # | 軸 | 重要度 (係数) | 案件特有の解釈 |
|---|---|---|---|
| 1 | #usable | Must (×2.0) | 並行作業衝突回避 + 役割分担対称化を構造的に達成するか |
| 2 | #maintainable | Must (×2.0) | 認知負荷低減・nested CLAUDE.md ロード最適化・main の責務単一化 |
| 3 | #operable | High (×1.0) | clasp / CI / GAS deploy / audit_log / cross-cutting 依存が保全されるか |
| 4 | #reliable | High (×1.0) | rollback コスト・stickiness・不可逆性 |
| 5 | #efficient | Medium (×0.5) | 移行工数 (人時 + LLM ドル + PR 本数) と達希の手間 |
K.O. criterion: Must 軸 (#usable / #maintainable) の score < 3 は不採用。
3.2 評価軸 × 案スコア表
| 軸 | 係数 | 採択 案 A (フル clone 新設) | 案 B (sparse-checkout) | 案 C (別 repo 完全分離) | 案 D (現状維持 + 規律強化) |
|---|---|---|---|---|---|
#usable (Must) | ×2.0 | 5 | 2 | 3 | 1 |
#maintainable (Must) | ×2.0 | 5 | 2 | 4 | 2 |
#operable (High) | ×1.0 | 3 | 3 | 2 | 5 |
#reliable (High) | ×1.0 | 4 | 2 | 1 | 5 |
#efficient (Medium) | ×0.5 | 3 | 4 | 1 | 5 |
| 加重和 (正規化) | 0.877 | 0.462 | 0.538 | 0.569 | |
| K.O. 通過 (Must ≥3) | ✓ | ❌ (#usable=2) | ✓ | ❌ (#usable=1) |
加重和計算: 満点 = 5、Σ 係数 = 6.5、満点 × Σ係数 = 32.5。
- 案 A: (5×2 + 5×2 + 3×1 + 4×1 + 3×0.5) / 32.5 = 28.5 / 32.5 ≈ 0.877
- 案 B: (2×2 + 2×2 + 3×1 + 2×1 + 4×0.5) / 32.5 = 15.0 / 32.5 ≈ 0.462
- 案 C: (3×2 + 4×2 + 2×1 + 1×1 + 1×0.5) / 32.5 = 17.5 / 32.5 ≈ 0.538
- 案 D: (1×2 + 2×2 + 5×1 + 5×1 + 5×0.5) / 32.5 = 18.5 / 32.5 ≈ 0.569
K.O. 通過は案 A と案 C。加重和タイブレークで 案 A 採択。
検討した代替案 (Alternatives Considered)
- 案 A: フル clone 新設 (採用) —
~/projects/bizlp/mas/を bizlp-gas-accounting の 5 つ目のフル clone (同 origin) として新設。drp / ocr / doc と完全対称な構造で memory[full-clone-uniformity]の禁則 (sparse / 別 repo 化禁止) とも整合。 - 案 B: sparse-checkout 方式 (不採用) —
~/projects/bizlp/mas/をgit clone --filter=blob:none+ sparse-checkout でmas/**のみ展開する partial clone。memory[full-clone-uniformity]L11 が「sparse checkout・サブディレクトリのみの切り出し」を明示禁則化しているため#maintainable=2 で K.O. 失格。 - 案 C: 別 repo 完全分離 (不採用) —
mas/をgit filter-repoで履歴ごと bizlp-mas という別 GitHub repo に切り出し。drp / ocr が同一 origin 内の別 clone なのに対し本案だけ別 origin となり 4 クローン対称運用 (ADR-0156) の構造が崩れる。K.O. は形式上通過するがreliable=1 (rollback 事実上不能・ADR-0156 amends の上位 ADR が必要で工数膨大) + 加重和 0.538 で案 A 未満。 - 案 D: 現状維持 + 規律強化 (不採用) — 物理 clone を新設せず main 同居のまま git worktree + nested CLAUDE.md + .claude/rules/gas.md + pre_bash_guard hook で規律強化。workspace_rules.md L16 自身が「worktree は git 操作が干渉しやすいため非推奨」と明示し動機 (α) を構造的に解消できず
#usable=1 で K.O. 失格。
影響 (Consequences)
§5.1 正の影響 (Good)
- main セッションの責務が orchestration に単一化し、ADR/DRP 起案中に GAS 実装が必要な場面の branch / worktree 取り合い事故が構造的に消える (memory
[background-agent-branch-bundling]の事故事例 4 件への構造解)。 - drp / ocr / doc と完全対称な「dir 名 = 役割名 = handover 命名」が 5 クローン全体に揃い、Jr 入社 (2026-10) 時の onboarding 例外説明コストがゼロ化 (ADR-0156 §5.1 の精神を MAS まで拡張)。
- memory
[open-dir-by-domain]が定める cwd 切替原則が MAS まで一貫し、最初の一手から MAS 専属規律 (.claude/rules/gas.md+ 必要に応じてmas/CLAUDE.md) が確実にロードされる。 - ADR-Y (MAS Build/Verify ライフサイクル) の前提条件「MAS 実装の所在」が確定し ADR-Y の DRP 投入が進められる。
§5.2 負の影響 (Bad)
- 5 クローン構成への移行は workspace_manifest.yaml / workspace_rules.md / main CLAUDE.local.md (新規) / root CLAUDE.md の 4 ファイル改訂 + 本 ADR 起案で 16-24 人時を要し LLM コスト $40-80 が発生する。
- 移行期 (Phase b 完了〜Phase c 完了の数週間) は main と mas の両方に
.clasp.*(tracked) と GAS push 経路が物理的に存在する期間が生じる。Phase b 最終 PR で「main package.json から GAS scripts 9 件削除」を atomic に実施するが、PR マージからローカル pull 完了までのタイムラグ (数日〜数週間) は main クローンの旧 package.json がキャッシュされ push:prod が実行可能な状態が続き、clasp は楽観的ロックを持たず後勝ち上書きするため本番 GAS が無音でデグレードする経路が残る (盲点 #1)。pre_bash_guard.sh の cwd ガードは Phase c 完了後に初めて機能するため、Phase b 完了〜Phase c 完了の数週間はガードなしの二重 push 期間が本番 GAS に直撃するリスクがある。緩和策として Phase b の DoD に「main クローンの.clasp.jsonをgit rmし、GAS scripts 削除 PR と.clasp.json削除 PR を同一 merge train に乗せること」+ deploy.yml の paths フィルタと cron トリガーを mas クローン専用ブランチのみに書き換えるチェックリストを追加する。 - webapp_client cross-clone 同期リスク (盲点 #2): mas クローンで
mas/400_domainを編集しコミット後、main クローンでgit fetchを忘れると古いコミットを参照したsync-engines.mjsが実行され本番 HTML テンプレートとエンジンが乖離したまま push される経路がある。pre-push-check.shL36-41 は drift を検知するが fetch 漏れによる乖離は検知前に push が通る。緩和策: webapp_client cross-clone runbook の骨子 (コマンド列・確認チェックリスト) を Phase b の DoD に含める。代替設計として mas clone push 時に GitHub Actions がsync-engines.mjsを実行し artifact を main へ自動 PR する案も Phase b 着手前に実現可否を評価する。
§5.3 中立・トレードオフ (Neutral / Trade-offs)
- 既存 drp / ocr クローンの
CLAUDE.local.md(本 ADR 採択時点で「main = GAS 実装」前提で書かれている) は古くなる。drp / ocr CLAUDE.local.md の文言を「GAS 実装は mas clone 担当」へ書き換える雛形提示を Phase a に含める。 - mas クローン用の Claude スペース (
~/.claude/projects/-Users-ts-kuma-projects-bizlp-mas/) が新規発生し memory 索引の住み分け要 (drp clone 分離時の前例: main から 8 件移管・auth 系は main 残置)。memory 所在マップ未定義リスク (盲点 #3): GAS 関連 memory ([gas-run-infinity-null]/[clasp-push-silent-skip]等) の所在判断を「Phase b で行う」と先送りすると、横断障害発生時にどのスペースの memory を参照すべきか判断できず MTTR が伸びる。Jr エンジニア (2026-10) 初回オンコール時点で分断が解消されていないリスク。緩和策: Phase b 完了時に「memory 所在マップ」をdocs/_internal/05_how-to/workspace_rules.mdに追記し横断障害用参照順序 (main → mas → drp) を明示 (Confirmation #9 として KPI 化)。 webapp_client/は main クローン残置で SPA build artifact (webapp_client/scripts/sync-engines.mjsのmas/400_domain → src/engines/・pre-push-check.shL36-41 のmas/templates/*.htmldrift 検知) は同一 origin/同一 commit の共有経路で機能する。mas クローン owner は SPA build artifact のコミット手順を fetch + commit のシーケンスで実行する (Phase b で runbook 化)。mas クローン固有の webapp_client cross-clone 待ち合わせ手順は drp / ocr / doc には存在しない新たな非対称性を生む (盲点 #7)。Confirmation テーブルに「mas クローン固有手順書が Phase b 完了時点で存在し Jr エンジニアがレビューして理解できる」を KPI #10 として追加し、onboarding 例外ゼロの定義を「mas 固有手順の文書化完了」まで含む形に拡張する。
撤退条件 (Rollback Plan)
- 3 ヶ月後 (2026-10) ロールバック判定: Phase b 完了から 3 ヶ月時点で memory
[background-agent-branch-bundling]と同型の MAS↔ADR/DRP 並行作業衝突が 2 件以上 再発した場合 → 案 A 全体を revert し案 D へ撤退。判定はgit log --grep='並行セッション\|commit 混入' --since=Phase-b-mergeでカウント + handover/memory での衝突言及件数。ただし検証有効条件 (盲点 #6): 3 ヶ月間に MAS 実装タスクが mas clone で 5 件以上実行されていない場合は「検証機会なし」とみなし検証期間を 3 ヶ月延長する。 - 6 週間後 (2026-08 中旬) 認知負荷判定: Phase b 完了から 6 週間時点で達希の主観的認知負荷 (mas clone の cwd 切替・GAS push 前の cwd 確認・webapp_client build artifact の cross-clone 待ち合わせ) が main 同居時より明確に増加し生産性が低下したと達希が判断した場合 → mas clone を保留 (休眠) し main 同居に戻す。判定は達希の自己申告 +
gh run list --workflow=deploy.yml --created='>Phase-b-merge'で GAS 週次デプロイ回数の前後比較 (移行前比 50% 以上の低下 を境界)。 - stickiness デッドライン: Phase b 完了から 6 週間時点で mas clone を前提とした後続 ADR が 3 本以上 Accepted 化されたら rollback は実質不可とみなし本 ADR を恒久化。判定は
adr-index.jsonのrelates_to集計で機械検証可能。 - webapp_client パイプライン部分撤退: webapp_client →
mas/templates/*.htmlの commit パイプラインが安定稼働せずpre-push-check.shの drift 検知が誤検知/見逃しで 3 回以上 事故った場合 → 案 A 全体は止めず webapp_client を mas clone 同梱に切り替える部分 rollback で対応 (完全 revert ではない)。 - rollback コスト: 16-24 人時 + 5-7 PR (mas clone 側 commit の reverse / workspace_manifest.yaml 5→4 戻し / workspace_rules.md マトリクス 4 列化 / main CLAUDE.local.md 削除 / root CLAUDE.md 索引 1 行 revert / memory
project_mas_clone_separationの ARCHIVE.md 移動 / ADR-0156 amends 関係を Superseded 化する新 ADR 起案) + LLM $25-40。
コスト試算
| 項目 | 楽観値 | 最悪値 (各 Phase で 1 回手戻り発生) |
|---|---|---|
| Phase a (workspace_manifest + workspace_rules + main CLAUDE.local.md + root CLAUDE.md 修正 + 本 ADR 起案 + DRP Cross-Validation 受理待ち) | 約 4-6 人時 | 約 6-9 人時 |
| Phase b (mas clone 新設 + package.json 移送 + memory 新設・mas 起票) | 約 6-10 人時 (mas clone セットアップ + 物理移送 PR 3 本 + memory 新設) | 約 10-15 人時 (CI fail 3 回想定) |
| Phase c (pre_bash_guard cwd 判定 + tracking docs 37 ファイル注記 + rollback runbook・mas 起票) | 約 6-8 人時 (cross-cutting 注記 + lint 追加 + runbook) | 約 12-16 人時 (37 ファイル中 10 ファイル注記漏れ再起票想定) |
| 初期合計 | 約 16-24 人時 | 約 30-40 人時 (盲点 #4) |
| LLM 課金 | 約 $40-80 (本 ADR 起案 $5-10 + Cross-Validation 1-2 ループ $5-10 + Workflow 多面評価 1 走分 $30-60 — 既消費) | 約 $80-120 (context window 圧迫による再起動増加分込み) |
| 達希の手間 | 初回 mas clone セットアップ 2-3 人時 + 慣れるまで 1-2 セッション (cwd 切替・GAS push 前 cwd 確認・webapp_client build artifact 待ち合わせ) | — |
| 年間運用 | 5 クローン構成の scripts/workspace-manifest-lint.mjs 検証 (CI) 約 0.1 人時/月。drift 予防 grep (CI WARN) は ADR-0156 と同基盤 | — |
Phase c の 37 ファイル注記作業は scripts/add-mas-clone-note.sh 等の sed/awk 一括挿入スクリプトの実現可否を Phase b 着手前に評価する。判断基準として「自動化不可能なファイル数が 10 を超える場合は自動化必須」を設定する (盲点 #5 緩和)。
ROI: 動機 (α) 並行作業衝突の構造解消 (memory [background-agent-branch-bundling] で記録された 2026-06-10 単日 3 件の事故が毎月発生していた場合、月 1-2 人時の事故対応工数が消える) + 動機 (δ) 役割対称化による Jr 入社 (2026-10) onboarding 整備 (例外説明コストゼロ化)。初期 16-24 人時は Jr 入社前の整備として 2026-09 末までに完了を目指す。
Confirmation
| # | 指標 (KPI) | 目標値 | 検証手段 | 実行頻度 | 違反時対応 |
|---|---|---|---|---|---|
| 1 | workspace_manifest.yaml の clones 配列が 5 要素 (main, doc, ocr, drp, mas) | 5 件 | scripts/workspace-manifest-lint.mjs の REQUIRED_CLONE_KEYS 検証 | CI (PR ごと) | lint fail で merge ブロック |
| 2 | workspace_rules.md のファイル担当マトリクスで mas/000_infra/ 行が main 列 × / mas 列 ○ | 完全一致 | grep + manifest 一致 lint | CI (PR ごと) | lint fail で merge ブロック |
| 3 | main クローン用 CLAUDE.local.md が新規作成され編集可/読み取り専用リストが明示 | ファイル存在 + リスト 2 行以上 | 達希の手元で ls /Users/ts_kuma/projects/bizlp/main/CLAUDE.local.md (gitignore のため CI 検証不可) | Phase a 完了時に達希確認 | 不存在なら Phase a 起票やり直し |
| 4 | main package.json から GAS push/deploy scripts 9 件が削除され mas package.json に同等 9 件が新設 | 完全移送 (差分ゼロ) | jq '.scripts | keys[] | select(startswith("push") or startswith("deploy") or startswith("switch") or startswith("open") or . == "status")' で main=0 / mas=9 | Phase b 最終 PR の CI | 差分残存で merge ブロック |
| 5 | scripts/hooks/pre_bash_guard.sh に cwd 判定が追加され $PWD ~ ~/projects/bizlp/main + mas/** 触り = ask が動作 | hook 関数存在 + テスト 1 件 pass | scripts/hooks/test_pre_bash_guard.sh の cwd=main + cmd=mas/* で ask 返却テスト | CI (PR ごと) | テスト fail で merge ブロック |
| 6 | ADR-0156 ↔ 本 ADR の双方向辺 (amends / amended_by) が一致 | 一致 | scripts/adr-lint.mjs --check-edges --enforce | CI (PR ごと) | lint fail で merge ブロック |
| 7 | 3 ヶ月後 (2026-10) MAS↔ADR/DRP 並行作業衝突件数 (検証有効条件: 期間中に MAS 実装タスクが mas clone で 5 件以上実行) | 0 件 / 月 (許容 1 件未満・2 件以上で rollback) | git log --grep='並行セッション|commit 混入' --since=Phase-b-merge + handover/memory での衝突言及件数 + MAS 実装 PR 件数集計 | 月次手動 | 2 件以上で rollback 検討。MAS 実装タスク 5 件未満なら検証期間を 3 ヶ月延長 |
| 8 | 6 週間後 (2026-08) GAS 週次デプロイ回数の前後比較 | 移行前と同等 (±20%) | gh run list --workflow=deploy.yml --created='>Phase-b-merge' を月次集計 | 月次手動 | 50% 以上の低下で達希認知負荷判定 |
| 9 | memory 所在マップが docs/_internal/05_how-to/workspace_rules.md に追記され横断障害用参照順序 (main → mas → drp) が明示 | セクション存在 + 表 1 件以上 | grep で「memory 所在マップ」見出し検出 + 参照順序記述検証 | Phase b 完了時 CI | 不存在で merge ブロック |
| 10 | mas クローン固有手順書 (webapp_client cross-clone runbook) が Phase b 完了時点で存在し Jr エンジニアがレビューして理解できる | runbook ファイル存在 + コマンド列 + 確認チェックリスト記載 | grep で runbook ファイル検出 + Jr レビュー署名 (handover 記録) | Phase b 完了時 + Jr 入社 (2026-10) 時 | 不存在で Phase b 完了を取り消し |
参照 (References)
- 関連 ADR:
- ADR-0156: ワークスペース役割名を sub から doc へ統一 — Amends — 「4 クローン {main, doc, ocr, drp}」を「5 クローン {main, doc, ocr, drp, mas}」へ拡張する。ADR-0156 §1.5 To-Be 表 / Confirmation #1 を本 ADR で書き換える。受理後に ADR-0156 frontmatter
amended_by: [ADR-XXXX]を双方向辺として追記する。 - ADR-0152: UC スライス開発ワークフローを DRP discovery と MAS GAS-MVP の 2 ライフサイクルに構造分割 — 補完 — umbrella ADR-0028 を ADR-X (DRP Discovery) / ADR-Y (MAS Build/Verify) に分割する親 ADR。本 ADR は ADR-Y の前提条件「MAS 実装の所在」を確定する (軸違いで refines ではなく relates_to)。
- ADR-0028: 6 段階ワークフロー UC スライス開発 CD GAS-MVP — 並立 — UC スライス 6 段ワークフローの umbrella ADR (status: accepted → umbrella 化予定・ADR-0152 §決定)。本 ADR の決定範囲 (workspace 物理層) と ADR-0028 (ワークフロー段階定義) は直交。
- ADR-0129: CLAUDE.md 階層化 + path-scoped rule — 補完 — 本 ADR は ADR-0129 の枠組み (nested CLAUDE.md / path-scoped rule のロード機構) を 5 クローン目に拡張するのみで枠組み変更なし。
- ADR-0156: ワークスペース役割名を sub から doc へ統一 — Amends — 「4 クローン {main, doc, ocr, drp}」を「5 クローン {main, doc, ocr, drp, mas}」へ拡張する。ADR-0156 §1.5 To-Be 表 / Confirmation #1 を本 ADR で書き換える。受理後に ADR-0156 frontmatter
- 関連 PR/Issue:
- PR #1636 (2026-06-10): MAS を
mas/配下に集約 (前提条件) - PR #2074 (2026-06-17): workspace_manifest.yaml 新設 + drp clone 反映 (本 ADR の Phase a が踏襲するパターン)
- PR #1904 (2026-06-12): OCR クローン分離 (本 ADR の前例)
- PR #1636 (2026-06-10): MAS を
- 外部資料 (memory):
- memory
[full-clone-uniformity]: フル clone のみ・sparse / 別 repo 化禁則 - memory
[background-agent-branch-bundling]: 並行作業衝突の事故事例 - memory
[open-dir-by-domain]: cwd 切替原則・本 ADR 受理で MAS 行追加 - memory
[subsystem-naming-convention]: ドメイン名称・役割名 - memory
[ocr-clone-separation]: 本 ADR の前例 memory
- memory