Capstone システム受け入れ検証・オープンソースデリバリー契約¶
このテンプレートは、「プロジェクトをデモできる」という状態を、「システムを受け入れ検証でき、成果物を検証でき、リポジトリを再現でき、責任を移管できる」状態へ変換するためのものです。
Product Owner、Domain Expert、Agent Architect、Engineering、Quality、Security、SRE、Open-source Maintainer、および実装に参加していない Independent Reviewer が共同で記入することを推奨します。
最初からすべてのセクションを埋めないでください。まず価値の高い Vertical Slice を1つ選び、完全なエビデンスチェーンを構築してから、能力を拡張します。
1. 受け入れ検証憲章¶
acceptance_charter:
project_id: ""
project_name: ""
version: ""
status: draft | review | accepted | conditional | rejected
problem: ""
users: []
primary_goal: ""
value_hypotheses: []
in_scope: []
out_of_scope: []
anti_goals: []
supported_intents: []
supported_risks: []
owners:
product: ""
domain: ""
architecture: ""
engineering: ""
quality: ""
security: ""
sre: ""
open_source: ""
repositories: []
target_release: ""
チェック項目:
- Problem はソリューション名ではなく、ユーザーの損失を記述しています。
- Primary Goal は Outcome によって判定できます。
- In-scope と Out-of-scope の両方が定義されています。
- Agent 数、Token 数、生成文字数を価値指標としていません。
- 高リスクの能力には独立した Owner が割り当てられています。
2. 価値仮説¶
| 仮説 ID | ユーザー / ビジネス Outcome | ベースライン | メトリクス | 判断ルール | Owner |
|---|---|---|---|---|---|
value_hypothesis:
hypothesis_id: ""
statement: ""
population: ""
baseline: ""
metric: ""
target: ""
minimum_samples: 0
measurement_window: ""
confounders: []
if_supported: ""
if_rejected: ""
owner: ""
3. リスク登録簿¶
| リスク ID | シナリオ | ユーザーへの影響 | 発生可能性 | 深刻度 | コントロール | エビデンス | Owner | レビュー期限 |
|---|---|---|---|---|---|---|---|---|
risk:
risk_id: ""
category: product | quality | security | privacy | reliability | operations | legal
scenario: ""
affected_population: ""
impact: ""
likelihood: ""
severity: low | medium | high | critical
controls: []
residual_risk: ""
accepted_by: ""
review_by: ""
4. 成功・安全契約¶
| メトリクス / 不変条件 | 定義 | 対象母集団 | 目標 / ルール | ゲート | エビデンス | Owner |
|---|---|---|---|---|---|---|
| Goal Success | ||||||
| Evidence Coverage | ||||||
| Safe Path | ||||||
| Goal Latency | ||||||
| Cost per Success | ||||||
| Unauthorized Side Effect | equals 0 | hard | ||||
| Cross-tenant Leakage | equals 0 | hard |
5. Requirement レコード¶
requirement:
requirement_id: ""
version: 1
category: business | functional | quality | security | reliability | performance | operations
statement: ""
rationale: ""
user_or_system: ""
risk: low | medium | high | critical
preconditions: []
acceptance:
required_facts: []
required_outcomes: []
required_path: []
thresholds: {}
forbidden: []
verification:
tests: []
evaluations: []
drills: []
runtime_signals: []
owner: ""
approved_by: []
valid_from: ""
review_by: ""
チェック項目:
- Statement は客観的に反証できます。
- Acceptance では Fact、Path、Outcome、Threshold を区別しています。
- Forbidden の動作が構造化された条件になっています。
- Verification が具体的な ID に紐付いています。
- Requirement に Owner と有効期間があります。
6. トレーサビリティマトリクス¶
| Requirement | ADR | Contract | Implementation | Test / Eval | Runtime Evidence | Sign-off |
|---|---|---|---|---|---|---|
traceability_record:
requirement_ref: ""
decision_refs: []
contract_refs: []
implementation_refs: []
verification_refs: []
runtime_evidence_refs: []
owner: ""
coverage_status: complete | partial | missing | obsolete
release: ""
変更時のチェック項目:
- Requirement の変更によって影響を受ける項目の再レビューが開始されます。
- Contract の Major 変更では、すべての Consumer を列挙しています。
- Obsolete Evidence は現在の Release の根拠になりません。
- Sign-off は同一の RC に紐付いています。
7. アーキテクチャブループリント¶
architecture_blueprint:
blueprint_id: ""
version: ""
layers:
experience: []
control: []
agent: []
capability: []
platform: []
trust_boundaries: []
state_owners: []
data_flows: []
side_effect_boundaries: []
deployment_units: []
failure_domains: []
diagrams: []
approved_by: []
7.1 境界レコード¶
| 境界 | 呼び出し元 Identity | 呼び出し先 | Contract | 認可 | State Owner | 障害セマンティクス | エビデンス |
|---|---|---|---|---|---|---|---|
8. ADR インデックス¶
| ADR ID | 意思決定 | ステータス | 代替案 | 主な帰結 | エビデンス | 置換対象 | Owner |
|---|---|---|---|---|---|---|---|
| proposed / accepted / superseded / rejected |
adr:
adr_id: ""
title: ""
status: proposed | accepted | superseded | rejected
context: ""
constraints: []
options:
- name: ""
benefits: []
costs: []
risks: []
decision: ""
consequences:
positive: []
negative: []
validation_evidence: []
rollback_or_revisit: ""
supersedes: []
owner: ""
9. Contract レジストリ¶
| Contract ID | Version | Producer | Consumers | Compatibility | Schema | Tests | Deprecation | Owner |
|---|---|---|---|---|---|---|---|---|
対象に含めるもの:
- Goal
- Execution Plan
- A2A Dispatch
- Team / Worker Result
- Agent Error
- Evidence Reference
- Approval
- Audit / Cost Event
- Checkpoint
- Control Action
9.1 互換性方針¶
compatibility_policy:
public_contracts: []
versioning: semantic
reject_unknown_major: true
additive_minor_fields: allowed
required_field_removal: breaking
enum_extension: consumer_review
consumer_contract_tests: required
deprecation:
announce_at: ""
supported_until: ""
migration_guide: ""
registry: ""
owner: ""
10. システム不変条件¶
| 不変条件 ID | Statement | 適用箇所 | Test | Runtime Signal | Hard Gate? |
|---|---|---|---|---|---|
最小限の不変条件:
-
completedには Contract を満たす結果があります。 -
no_data、tool_error、および業務上の事実が否定であることを区別しています。 - Claim が正しい Tenant、Subject、Version、Evidence に紐付いています。
- 副作用には認可、承認、冪等性、Expected Version があります。
- Late Result は新しい Plan を上書きしません。
- Partial / Degraded では、欠落項目と影響を列挙しています。
11. Vertical Slice 仕様¶
vertical_slice:
slice_id: ""
title: ""
user_goal: ""
risk: ""
entrypoint: ""
boundaries_crossed: []
steps:
- step_id: ""
component: ""
contract: ""
state_change: ""
evidence: ""
success_outcome: ""
allowed_partial_outcomes: []
forbidden_outcomes: []
faults: []
required_observability: []
clean_room_command: ""
owner: ""
11.1 Slice ゲート¶
| ディメンション | 受け入れ基準 | エビデンス | 結果 | Owner |
|---|---|---|---|---|
| 正確性 | ||||
| 状態 | ||||
| セキュリティ | ||||
| 信頼性 | ||||
| オブザーバビリティ | ||||
| 再現性 |
拡張ルール:
expansion_policy:
require_slice_gate_pass: true
next_capability: ""
new_risks: []
new_contracts: []
new_evidence: []
rollback_to_slice: ""
12. マイルストーン Definition of Done¶
milestone_dod:
milestone_id: ""
capability: ""
contract_changes: []
code_refs: []
tests:
unit: []
contract: []
integration: []
e2e: []
adversarial: []
failure: []
traces:
success: []
failure: []
threat_updates: []
golden_updates: []
docs_updates: []
migration: ""
rollback: ""
metric_delta: {}
cost_delta: {}
approved_by: []
13. リポジトリアーキテクチャ¶
repository_architecture:
repository: ""
boundaries:
docs: ""
contracts: ""
services: ""
platform: ""
evals: ""
tests: ""
deploy: ""
examples: ""
dependency_rules: []
forbidden_imports: []
architecture_tests: []
code_owners: []
チェック項目:
- Contract は Service の実装に依存しません。
- Team は他の Team の内部コードをインポートしません。
- Worker は Tool Interface に依存します。
- Eval は公開エントリーポイントを使用します。
- Docs はバージョン管理された ADR、Contract、Runbook にリンクしています。
14. 再現可能な環境¶
environment_contract:
supported_os: []
architectures: []
runtimes: []
package_managers: []
lockfiles: []
container_runtime: ""
required_ports: []
minimum_resources: {}
external_dependencies: []
environment_variables:
- name: ""
required: false
secret: false
safe_default: ""
doctor_command: ""
bootstrap_command: ""
start_command: ""
seed_command: ""
smoke_command: ""
eval_smoke_command: ""
down_command: ""
15. Clean-room 再現¶
clean_room_reproduction:
run_id: ""
reviewer: ""
reviewer_role: ""
prior_project_knowledge: none | limited | substantial
environment:
os: ""
architecture: ""
runtime_versions: {}
source_commit: ""
release_artifact_digest: ""
cache_state: empty
steps:
- command: ""
expected: ""
observed: ""
duration: ""
result: pass | fail
successful_scenarios: []
failure_scenarios: []
trace_refs: []
problems_found: []
undocumented_interventions: []
total_duration: ""
result: pass | conditional | fail
signed_at: ""
必須条件:
- 作成者のローカルキャッシュを使用しません。
- 記録されていないコマンドを使用しません。
- 必須の手順を個別のチャットで入手しません。
- 成功パスと失敗パスの両方を実行します。
- Trace / Evidence を確認できます。
- 環境を完全にクリーンアップできます。
16. Seed マニフェスト¶
seed_manifest:
dataset_id: ""
version: ""
synthetic: true
generator_ref: ""
generator_version: ""
random_seed: 0
entities: {}
edge_cases: []
expected_hashes: {}
pii_status: none | deidentified | restricted
redistribution_rights: ""
license: ""
valid_from: ""
owner: ""
17. 公開データ・Secret レビュー¶
| サーフェス | チェック項目 | Tool / Reviewer | 検出事項 | 是正措置 | 結果 |
|---|---|---|---|---|---|
| Git 履歴 | Secret | ||||
| Source | 社内 URL / Token | ||||
| Dataset | PII / 再識別 | ||||
| Prompt / Policy | 機密ルール | ||||
| Notebook | 出力 / Credential | ||||
| Trace / Dashboard | ユーザーデータ | ||||
| Media | 顔 / ロゴ / 著作権 |
18. エビデンスパッケージマニフェスト¶
evidence_package:
package_id: ""
release_candidate: ""
source_commit: ""
generated_at: ""
product:
charter: ""
journeys: []
acceptance: ""
architecture:
blueprint: ""
adrs: []
contracts: []
implementation:
build_run: ""
deployment_manifest: ""
artifact_digests: []
quality:
golden_dataset: ""
eval_run: ""
n_run_report: ""
known_failures: []
security:
threat_model: ""
red_team_run: ""
sbom: ""
exceptions: []
reliability:
failure_matrix: ""
recovery_report: ""
gameday: ""
operations:
slos: []
dashboards: []
alerts: []
runbooks: []
orr: ""
traceability_index: ""
content_digest: ""
19. エビデンスレコード¶
evidence_record:
evidence_id: ""
claim: ""
requirement_refs: []
decision_refs: []
contract_refs: []
implementation_refs: []
test_refs: []
runtime_refs:
traces: []
context_graphs: []
metrics: []
artifact_digests: []
limitations: []
signed_by: []
valid_for_release: ""
expires_at: ""
20. 品質の受け入れ検証¶
| レイヤー | 品質 Claim | Dataset / Fixture | Evaluator | N-run | Threshold / Rule | 結果 |
|---|---|---|---|---|---|---|
| Planner | ||||||
| Router / Team | ||||||
| Worker / Tool | ||||||
| Consolidator | ||||||
| Decision | ||||||
| System | ||||||
| Safety |
チェック項目:
- Golden と Fixture は現在のバージョンに紐付いています。
- N-run では各回の Path と最悪の Slice を保存します。
- 安全条件を、他の得点で相殺可能な総合スコアに含めません。
- Judge はキャリブレーション済みで、棄権を許可します。
- Baseline と Candidate は同一条件を使用します。
21. セキュリティの受け入れ検証¶
| 脅威サーフェス | シナリオ | コントロール | Red-team Case | Hard Gate | 結果 | 例外 |
|---|---|---|---|---|---|---|
| Prompt Injection | ||||||
| Tool / MCP | ||||||
| A2A Delegation | ||||||
| Memory / RAG | ||||||
| Side Effect | ||||||
| Output / DLP | ||||||
| Supply Chain | ||||||
| Operations |
security_acceptance:
run_id: ""
release_candidate: ""
threat_model_version: ""
red_team_cases: 0
high_risk_n_run: 0
unauthorized_side_effects: 0
cross_tenant_leakage: 0
replay_block_rate: ""
pii_block_rate: ""
secret_scan: pass | fail
sbom_ref: ""
dependency_critical_vulnerabilities: 0
open_exceptions: []
approved_by: []
22. 障害マトリクス¶
| 障害 | 注入方法 | 期待するコントロール | 許容される Outcome | 状態 / 副作用のチェック | エビデンス | 結果 |
|---|---|---|---|---|---|---|
| Provider 利用不能 | ||||||
| Tool タイムアウト | ||||||
| Schema ドリフト | ||||||
| Worker クラッシュ | ||||||
| Knowledge の陳腐化 | ||||||
| Graph / Trace 利用不能 | ||||||
| Cache の混同 |
23. パフォーマンス、キャパシティ、コスト¶
performance_budget:
population: ""
load_model:
arrival_pattern: ""
concurrency: 0
intent_mix: {}
risk_mix: {}
conversation_length: {}
latency:
p50_ms: 0
p95_ms: 0
p99_ms: 0
throughput: ""
queue_age: ""
model_tokens: ""
tool_calls: ""
cost_per_success: ""
retry_amplification: ""
test_environment: ""
known_differences_from_production: []
24. 逐次リリースゲート¶
| ゲート | エントリー条件 | 必須エビデンス | 必須条件 | 判断 | Owner | 署名日時 |
|---|---|---|---|---|---|---|
| G0 Problem | ||||||
| G1 Design | ||||||
| G2 Slice | ||||||
| G3 Quality | ||||||
| G4 Security | ||||||
| G5 Operations |
gate_decision:
gate: ""
release_candidate: ""
decision: pass | conditional | fail
evidence_refs: []
hard_gate_results: {}
conditions:
- condition: ""
scope: ""
owner: ""
due_at: ""
verifier: ""
signed_by: []
signed_at: ""
25. Release Candidate マニフェスト¶
release_manifest:
release: ""
source_commit: ""
contracts: {}
agents: {}
prompts: {}
models: {}
tools: {}
knowledge_snapshot: ""
capability_snapshot: ""
policy_version: ""
checkpoint_schema: ""
container_digests: []
datasets: []
evaluation_run: ""
security_run: ""
sbom_ref: ""
provenance_ref: ""
evidence_index: ""
rollback_to: ""
created_at: ""
整合性のチェック項目:
- すべてのエビデンスが同一の Source Commit と RC を参照しています。
- Artifact には Tag だけでなく Digest を使用しています。
- Prompt、Policy、Knowledge、Contract のバージョンをすべて固定しています。
- 重要な変更があるたびに新しい RC を生成します。
26. SBOM・サードパーティインベントリ¶
third_party_asset:
asset_id: ""
name: ""
version: ""
asset_type: package | container | model | dataset | tool | media | document
source: ""
package_identifier: ""
license_id: ""
copyright: ""
transitive: false
modified: false
redistribution_allowed: false
notice_required: false
vulnerabilities: []
end_of_life: ""
owner: ""
SBOM のチェック項目:
- Direct Dependency と Transitive Dependency を含めています。
- Package Identifier、Version、License を記録しています。
- 現在の Release Artifact に紐付いています。
- 重大な脆弱性に対してブロックまたは例外が設定されています。
- NOTICE / Attribution を生成済みです。
27. ビルド Provenance・Attestation¶
build_provenance:
artifact_name: ""
artifact_digest: ""
source_repository: ""
source_commit: ""
builder_identity: ""
workflow_ref: ""
build_type: ""
external_parameters: {}
resolved_dependencies: []
started_at: ""
finished_at: ""
attestation_ref: ""
signature_verified: false
verification_policy: ""
verification_result: pass | fail
検証項目:
- Artifact Digest と Attestation Subject が一致しています。
- Builder Identity が許可リストに含まれています。
- Workflow と Build Type が想定どおりです。
- External Parameters に未承認のフィールドがありません。
- Source Commit は保護ブランチ上のレビュー済みバージョンです。
- Attestation があることを「脆弱性がない」と誤って記載していません。
28. デプロイ、Canary、ロールバック¶
release_strategy:
shadow:
population: ""
exit: []
canary:
population: ""
slices: []
duration: ""
exit: []
dual_run:
enabled: false
comparison: ""
promote:
conditions: []
rollback:
target_release: ""
command_or_control: ""
state_migration: ""
cache: ""
knowledge: ""
verification: []
retire:
drain: ""
data_retention: ""
support_end: ""
29. Kill / Pause 基準¶
kill_or_pause:
conditions:
- signal: ""
operator: gt | gte | lt | lte | eq
threshold: ""
window: ""
scope: ""
action: pause | rollback | degrade | block
manual_triggers:
- business_owner_request
- security_incident
- legal_request
authority:
requestors: []
approvers: []
audit_ref: ""
recovery_conditions: []
30. 運用準備¶
| 領域 | エビデンス | 結果 | Owner |
|---|---|---|---|
| SLI / SLO | |||
| Error Budget | |||
| Dashboard | |||
| Alert | |||
| Control Plane | |||
| Runbook | |||
| On-call | |||
| GameDay | |||
| Incident Bundle | |||
| Cost / Budget |
31. リポジトリ公開契約¶
repository_public_contract:
repository: ""
visibility: public
project_status: experimental | active | maintenance | archived
readme: ""
license: ""
contributing: ""
code_of_conduct: ""
security: ""
governance: ""
support: ""
changelog: ""
citation: ""
issue_templates: []
pull_request_template: ""
maintainers: []
support_window: ""
32. README 受け入れ検証¶
- 1画面以内で、プロジェクトの目的と対象者を説明しています。
- Out-of-scope と本番運用上の責任に関する声明を明記しています。
- アーキテクチャ図がリポジトリのバージョンと一致しています。
- Quickstart が Clean-room 環境で実行できます。
- 成功パスと失敗パスの両方を示しています。
- Trace / Evidence のエントリーポイントを示しています。
- テスト、評価、セキュリティのコマンドを示しています。
- LICENSE、SECURITY、CONTRIBUTING、SUPPORT にリンクしています。
- 保守ステータスとサポート対象バージョンを説明しています。
33. Asset ライセンスマトリクス¶
| Path / Asset | Type | Copyright | License ID | Source | Modified | Redistribution | Notice |
|---|---|---|---|---|---|---|---|
asset_license:
path: ""
asset_type: code | documentation | data | model | media
copyright_holder: ""
license_id: ""
source: ""
modified: false
redistribution_allowed: false
notice_required: false
approved_by: ""
34. SECURITY.md 契約¶
security_policy:
supported_versions: []
private_reporting_channel: ""
do_not_report_publicly: []
required_report_fields: []
acknowledgement_target: ""
triage_target: ""
remediation_process: ""
coordinated_disclosure: ""
advisory_process: ""
cve_process: ""
security_contacts: []
35. コントリビューション・ガバナンス¶
contribution_contract:
development_setup: ""
branch_policy: ""
commit_policy: ""
required_checks: []
required_evidence: []
review_owners: []
security_review_triggers: []
compatibility_review_triggers: []
dco_or_cla: ""
release_authority: []
governance:
maintainers: []
decision_process: ""
voting_or_consensus: ""
escalation: ""
conflict_of_interest: ""
moderation: ""
maintainer_addition: ""
maintainer_removal: ""
succession: ""
archival_policy: ""
36. Pull Request Definition of Done¶
- Issue / Requirement にリンクしています。
- Contract と Consumer Tests を更新しています。
- 必要に応じて ADR を更新しています。
- Unit、Contract、Integration、E2E がすべて通過しています。
- リスクに応じて Golden、Adversarial、Failure の各ケースを更新しています。
- セキュリティとプライバシーのチェックに合格しています。
- マイグレーション、ロールバック、非推奨化の説明が完全です。
- CHANGELOG とユーザー向けドキュメントを更新しています。
- 新しい Evidence をインデックスに追加しています。
- CODEOWNERS / Owner によるレビューが完了しています。
37. バージョン・リリースノート¶
release_notes:
release: ""
date: ""
status: rc | stable | deprecated | retired
what_works: []
target_users: []
quality_evidence: []
security_evidence: []
known_limitations: []
compatibility: []
migration: []
rollback: []
artifact_digests: []
provenance: ""
support_until: ""
maintainers: []
38. 保守・持続可能性¶
| 責任 | Primary | Backup | 対応方針 | 自動化 | 終了条件 |
|---|---|---|---|---|---|
| Issues | |||||
| PR Review | |||||
| Security Reports | |||||
| Dependency Updates | |||||
| Release | |||||
| Documentation | |||||
| Community Moderation |
39. 既知の制約¶
known_limitation:
limitation_id: ""
description: ""
affected_users: []
affected_versions: []
impact: ""
workaround: ""
detection: ""
planned_resolution: ""
owner: ""
review_by: ""
40. 独立した受け入れ検証¶
independent_acceptance:
review_id: ""
reviewer: ""
reviewer_role: ""
independent_from_implementation: true
source_commit: ""
release_artifact_digest: ""
environment: ""
requirements_sampled: []
evidence_verified: []
clean_room_run: ""
success_scenarios: []
failure_scenarios: []
security_checks: []
operational_checks: []
limitations_confirmed: []
findings: []
result: accepted | conditional | rejected
conditions:
- condition: ""
owner: ""
due_at: ""
verifier: ""
signed_at: ""
41. 最終受け入れ判断¶
final_acceptance:
project_id: ""
release: ""
evidence_package: ""
gate_results:
g0_problem: ""
g1_design: ""
g2_slice: ""
g3_quality: ""
g4_security: ""
g5_operations: ""
independent_review: ""
known_risks: []
decision: accepted | conditional | rejected
conditions: []
approved_by:
product: ""
architecture: ""
engineering: ""
quality: ""
security: ""
operations: ""
open_source: ""
signed_at: ""
最終原則:
システムのデリバリーが完了したと言えるのは、宣言を追跡でき、実行パスを再現でき、リスクを検証でき、成果物を検証でき、制約が可視化され、責任を移管できる場合に限ります。