AIに、ウォーターフォールを守らせる。 Making AI Agents Honor Waterfall Discipline
「成果物だけでなく、その作り方ごと納品する」
AIの"賢さ"ではなく、"作られ方の確かさ"を設計する。
"Shipping the process alongside the deliverable."
Engineering the certainty of how it's built—not the cleverness of the AI.
AIにコードを書かせると、確かに速い。けれど——
✓頼んでいない箇所まで、勝手に書き換えていないか?
✓出てきたコードを、後から「正しく作られた」と証明できるか?
✓誰が、どこまで責任を持つのか?
AIの開発は速さと引き換えに、この「作られ方の確かさ」を失いがちです。
本報告は、その確かさを"仕組み"で担保するための、三嶋電算の現時点での最適解を示す検証記録です。
Letting AI write code is undeniably fast. But—
✓Did it quietly change files you never asked it to touch?
✓Can you later prove the code was built the right way?
✓Who is accountable, and for what?
AI-assisted development tends to trade away this "certainty of how things were built."
This report documents Mishima Computing's current optimal solution to restore that certainty by design.
1. 設計思想 Design philosophy
生成量を盲目的に最大化するのではなく、書き込み前の権限を最小化します。最初にワークスペースを分類し、「実装(Claude)」「監査(Codex Auditor)」「採用・ローカルコミット(Supervisor Codex)」「最終リリース(Human Owner)」のように、各役割に付与する権限を明確に分離します。生成された未加工のアーティファクト(raw artifacts)は漏洩リスクを持つものとして扱い、LLMの推論・判断よりも、決定論的なゲート(deterministic gates)を優先します。 We do not maximize generation blindly. We minimize authority before writes, classify the workspace first, and strictly separate authorities among specific actors: Implementation (Claude), Audit (Codex Auditor), Adoption (Supervisor Codex), and Release (Human Owner). Raw artifacts are treated as carrying exposure risk, and we prefer deterministic gates over LLM judgment.
2. なぜ必要か Why this exists
AIは優秀ですが、放っておくと作業範囲を広げすぎます。「新しい枝(ブランチ)を切れば安全」と思われがちですが、それだけでは古い作業の残りカスや、手元の余計な情報が紛れ込むのを防げません。
AI is capable, but left alone it takes on too much. People assume "just branching is safe," but branching alone cannot stop leftover state or stray local information from slipping in.
LLMは有能ですが、既定では範囲を広げすぎます。単にGitブランチを切るだけでは、汚れたワークツリー(dirty worktree)や古いプロジェクト状態の継承、クラウド同期における生ログやローカルメタデータの流出を防げません。これらを防ぐため、監査バンドル(audit bundles)やベースSHA識別(base SHA identity)、そして有限の修正ループ(bounded revision loops)を持つガバナンス層が必要です。 LLMs are capable but overbroad by default. Branches alone do not prevent the inheritance of dirty worktrees or old project states. Cloud-sync paths can inadvertently expose raw logs and local metadata. Candidate patches thus require audit bundles, base SHA identities, and bounded revision loops to ensure isolation and security.
3. 上流工程・SLCP・ウォーターフォール語彙との接続 Connecting with Upstream Engineering, SLCP, and Waterfall Discipline
この仕組みは単に「設計を先に固める」だけではなく、IPAや経産省(METI)が定義する「企画・要件定義・システム化計画・作業工程・監査証拠」といった上流工程の語彙や概念と深く連動します。AIエージェントの運用をエンタープライズのITガバナンスとして組み込むための設計です。
This model is not merely "design first, implementation later." It maps AI agent operations directly to upstream engineering concepts such as requirement definition, work products, traceability, audit evidence, and IT governance.
本ガバナンスモデルにおける段階分離(分類 → 実装 → 監査 → 採用 → リリース)は、伝統的なウォーターフォール構造やSLCP(ソフトウェアライフサイクルプロセス)と整合します。たとえば、実装担当エージェント(Claude)が作成した「ソースコードの状態(base SHA)」に対し、独立した監査エージェント(Codex Auditor)が「監査ログ(audit bundle)」を発行します。これらが確定した中間生成物(作業成果物)となり、それがそのまま「正しく作られた」ことを示す監査証拠として機能します。 The strict separation of stages directly maps to a waterfall paradigm where subsequent phases depend entirely on previously locked designs. For instance, an independent auditor (Codex Auditor) issues an "audit bundle" against the "code state (base SHA)" produced by the implementer (Claude). These intermediate outputs become undeniable, auditable provenance for AI-assisted work.
上流統制としてのAIエージェント運用 AI agent governance as upstream control
AIエージェント開発における真の課題は、単にコード生成の精度を高めることではありません。「上流で合意した適用範囲・責任分界・成果物の基準・確認手続を、後工程(エージェント)に逸脱させないこと」にあります。
したがって本モデルでは、classification、Ask Gate、candidate patch、audit bundle、base SHA、bounded revision loop などの各要素を、AI固有のバズワードとしてではなく、構成管理・変更管理・監査証跡といった「上流工程の語彙」で説明可能なガバナンス・オブジェクトとして扱います。
The core issue in AI-assisted development is not only code-generation accuracy. It is whether later phases can be prevented from drifting beyond the scope, responsibilities, work products, and review procedures defined upstream. This model therefore treats classification, Ask Gate, candidate patches, audit bundles, base SHA identity, and bounded revision loops as governance objects that can be explained in the vocabulary of upstream engineering, configuration control, change management, and audit evidence.
| AI Governance Term | Waterfall / IPA-METI adjacent term Waterfall / Upstream Term | Meaning in this report Meaning in this report |
|---|---|---|
| workspace classification | 企画・適用範囲定義・プロジェクト標準 Planning, Scope Definition, Project Standards | AIが触れてよい範囲とルールを事前に定義する作業 Pre-defining the scope and rules for AI operations |
| no writes before classification | 要件確定前の実装抑止 Preventing Implementation Before Requirements | ルールの事前定義なしにソースコードの変更を許さない制約 Constraint forbidding code changes before rule definition |
| Ask Gate | 未決事項管理・合意形成ゲート Pending Issue Management, Consensus Gate | AIが判断に迷った際、人間に仕様確認を求めるプロセス Process where AI requests human clarification on specifications |
| candidate patch | 工程アウトプット・作業成果物 Phase Output, Work Product | まだ承認されていない、AIによるコードの修正案 Unapproved code modification proposed by AI |
| candidate_base_sha | 構成識別子・ベースライン Configuration Identifier, Baseline | 修正案が作られた時点での正確なコードの状態(ハッシュ値) The exact code state (hash) at the time the patch was generated |
| current_target_sha | 適用先構成の再確認 Target Configuration Re-verification | パッチを適用する直前に、他の変更と競合していないかの確認 Verifying no conflicts exist before applying the patch |
| deterministic gates | 検証・レビュー・テスト記録 Verification, Review, Test Records | AIの推論ではなく、テストやリンターによる機械的・決定論的な品質チェック Mechanical, deterministic quality checks by tests/linters |
| audit bundle | 監査証拠・監査調書相当 Audit Evidence, Audit Working Papers | AIの思考過程やツールの実行結果をまとめた証跡 Consolidated evidence of AI reasoning and tool execution results |
| Codex Auditor | 独立監査者・客観的評価者 Independent Auditor, Objective Evaluator | 実装者(Claude)とは別に、成果物を第三者視点でチェックするエージェント An agent reviewing work products from a third-party perspective |
| Human Owner | 発注者・利用部門・最終受入責任者 Ordering Party, Final Acceptance Authority | 最終的なシステムへのマージやデプロイを承認する権限を持つ人間 The human authorized to approve final merges and deployments |
| bounded revision loop | 変更管理・是正処置の上限 Change Management, Corrective Action Limits | エラー時の自動修正試行回数に上限を設け、無限ループを防ぐ仕組み Mechanism limiting automated fix attempts to prevent infinite loops |
| .agent-runs/ raw artifacts | 生ログ・監査対象外の未加工証跡 Raw Logs, Unprocessed Evidence | AIが実行時に出力した生のデータ。機密情報を含むリスクがあるためコミットしない Raw AI execution data. Not committed due to confidentiality risks. |
| sanitized summary | 提出可能な要約証跡 Submittable Summarized Evidence | 生ログから機密情報をマスクし、リポジトリに保存できる形にした記録 Records masked of confidential info, safe for repository storage |
| cloud-sync hard stop | 情報管理・漏洩リスク管理 Information Management, Leak Risk Control | 機密な生ログが誤ってクラウドに同期されないようにするための安全停止 Safety stop preventing accidental cloud synchronization of confidential raw logs |
4. 6つの役割と境界 Roles & Authority Boundaries
作成者(Producer)、評価者(Reviewer)、採用者(Adopter)、リリース権限者(Release Authority)の各ロールを明確に分離し、最終的な受入とシステム稼働の責任は人間が負う体制を構築します。下の図と表は、その役割分担と工程統制ループを示します。
We establish a strict separation between producer, reviewer, adopter, and release authority, ensuring that the ultimate acceptance and operational responsibility rest with a human. The diagram and table below illustrate this division of roles and the control loop.
AI Agent Waterfall Control Loop / AIエージェント工程統制ループ
👤 Human Owner
(Local Tooling Pod)
(Audit Bundle)
by Supervisor
👤 Human Owner
| 役割 (Role) Role | 権限と境界 Authority & Scope |
|---|---|
| Human Owner | Merge, Push, Deploy, Publishの最終権限を持つ。本番データ・認証情報・法的決定権を管理。 Controls merge, push, deploy, publish, production data, credentials, and legal/privacy/brand decisions. |
|
|
タスクのルーティング、パッチの検証と採用、ローカルコミットを実行。※デプロイは行わない。 Routes tasks, adopts accepted patches, verifies work, and creates local commits. Cannot deploy. |
|
|
独立した読み取り専用(read-only)のレビュワー。構造化された監査結果を返す。 Independent read-only reviewer. Returns structured deterministic findings. |
|
|
パッチ候補のみを作成する実装者。 Produces patch-only candidates without adoption authority. |
|
|
UI/UX/ブラウザのレビュースペシャリスト。既定では読み取り専用で、バックエンドやDB・パッケージ変更を行わない。 UI/UX/graphic/browser review specialist. Defaults to review-only; does not change backend, auth, or DB logic. |
| Local Tooling Pod | 決定論的なエビデンス(テスト実行結果など)を生成する。 Generates deterministic execution evidence. |
責任分界と受入 Responsibility boundaries and acceptance
本モデルでは、作成者(producer)、評価者(reviewer)、採用者(adopter)、リリース権限者(release authority)という古典的かつ確実な職責の分離に従っています。
Human Ownerは、ビジネス側のオーナー・発注者・最終受入責任者に相当しますが、単一の法的な役割と完全に同一視されるものではありません。一方で、Candidate Implementerは純粋なパッチ生成者(作業成果物の作成者)であり、採用権限を持ちません。Supervisor Codexは承認されたパッチをローカル環境で採用(コミット)できますが、本番環境へのプッシュやデプロイ、公開の権限は規定により遮断されています。また、Codex Auditorは実装から独立した読み取り専用(read-only)の監査者としての客観性を維持します。
This follows the classical separation between producer, reviewer, adopter, and release authority. The Human Owner is analogous to the business-side owner, ordering party, and acceptance authority (though not identical to any specific legal role). The Candidate Implementer is strictly a patch producer, possessing no acceptance authority. The Supervisor Codex can adopt accepted patches locally but cannot push, deploy, or publish by default. The Codex Auditor must remain read-only and strictly independent from the implementation.
非機能要求としてのAI運用 AI operations as non-functional requirements
生のプロンプト、標準出力・標準エラー出力(stdout/stderr)、スクリーンショットやブラウザ録画、ローカルパスやクラウド同期パスといったデータは、単なる「実装の副産物(詳細)」ではありません。これらは機密性(confidentiality)、追跡可能性(traceability)、監査可能性(auditability)、および運用管理上の要請といった非機能要求(運用要求・情報管理要求)として厳格に扱われます。
.agent-runs/ ディレクトリに出力されるデータは、あくまで生の実行時証拠(raw runtime evidence)であり、一般に公開すべき成果物ではありません。そのため、機密情報を除去した「無害化されたサマリ(sanitized summaries)」のみが、デフォルトでコミット履歴に残るアーティファクトとして許可されます。
Raw prompts, stdout/stderr, screenshots, browser recordings, local paths, and cloud-sync paths are not merely implementation details. We treat them as critical concerns regarding confidentiality, traceability, auditability, and operational control (non-functional requirements).
Therefore, .agent-runs/ is designated as raw runtime evidence, not public deliverable material. By default, only sanitized summaries are committed as historical artifacts.
5. 中核契約 Core contracts
安全に動かすために、システムが必ず守る「最低限の約束事」です。
These are the minimum rules the system always follows to operate safely.
システムを安全に動作させるための機械的なガバナンスルールです: Mechanical governance rules required to operate the system securely:
- 設計分類(classification)前にコードを書かない No writes allowed before classification is finalized
- 汚れたリポジトリ(dirty repo)では動作を停止する Hard stop enforced if the repository is dirty
- 生成途中の生データ(.agent-runs/)はコミットせず、無害化されたサマリ(sanitized summaries)のみをコミットする Raw artifacts in `.agent-runs/` are ignored; only sanitized summaries are committed
6. 非目標 (Non-goals) 6. Non-goals
誤解を避けるため、この仕組みが「やらないこと」も明記します。
To avoid misunderstanding, we also state clearly what this system does not do.
当ブートストラップ(ガバナンス層)は、以下の機能を提供しません。
自律的なデプロイ機能、シークレット(鍵情報)の自動ハンドリング、本番データへのアクセス権限、CIやプロバイダ設定の代行。また、スキャナーがシークレット不在を完全に証明する保証も行いません。本システムはあくまで「ガバナンス層」であり、アプリケーションコードやデプロイ設定そのものではありません。
This bootstrap does not provide autonomous deployment, secret handling, production data access, or CI/provider configuration. It does not guarantee that scanners prove the complete absence of secrets. It is strictly a governance layer, not application code or deploy configuration.
オープンソースで公開中 Available Open Source
本ガバナンス層のコアとなるブートストラップ定義やポリシーは、GitHubにて公開されています(ライセンス選定中)。また、これらを応用したシステム開発・技術検証に関するご相談も承っております。 The core bootstrap definitions and policies for this governance layer are published on GitHub. We also welcome consultations for applying these models to your mission-critical system validation.