Skip to content

[ACP-HARDEN-210] human-decision/v1で承認を対象material digestへbindingする #3659

Description

@ootakazuhiko

Parent: #3655
Depends on: ACP-HARDEN-130, ACP-HARDEN-220
Blocks: ACP-HARDEN-230, ACP-HARDEN-240, ACP-HARDEN-250
Codex lane: contracts/human-decision-v1

背景

現行のwaiver/approval artifactはowner、reason、expiry、Evidence refを保持するが、どの正確なmaterial内容を承認・却下・waiveしたのかを示すsubject digestが十分に標準化されていない。URLやPR番号だけでは、対象内容の変更後に古いapprovalを再利用できる。

Private Matchでは、direct classification、publication、IP、vulnerability、disclosure等の判断を、record/profile/candidate単位のdigestと人間review evidenceへbindingする必要があった。

目的

汎用human-decision/v1を追加し、人間判断をexact subject digest、scope、version、expiryへbindingする。

Codex CLI preflight

  • Assurance Model
  • temporary override/waiver contracts
  • policy decision/change package/claim manifest
  • publication evidence
  • review and approval workflows
  • Contract Catalog
  • execution-result/artifact-refの進行状態
  • Context Pack/Boundary Map

Proposed contract

schema/human-decision-v1.schema.json

最低限:

schemaVersion: human-decision/v1
decisionId
decisionType
scope
subject:
  type
  id
  version
  digest
  artifactRefs
decision:
  approved
  rejected
  waived
  deferred
reviewerRole
evidenceRef
issuedAt
expiresAt
supersedes
artifactStatus:
  real
  test-only
limitations

不変条件

  • subject digestはdomain-separated deterministic materialから再計算可能。
  • decision marker自身をsubject digestへ循環参照させない。
  • subjectのfield、artifact、scope、version変更時は古いdecisionを拒否する。
  • test-only reviewer/decisionはreal approvalを満たさない。
  • human identity/authorityの実在をSchemaだけで証明したとは主張しない。
  • approvedはEvidence outcomeやclaim satisfactionを意味しない。
  • waiverはEvidence upgradeではなく、expiry付き例外として残す。

実装タスク

  • 既存approval/waiver/release/security review contractのinventoryを作る。
  • human-decision Schema、semantic validator、fixtures、Contract Catalog entryを追加する。
  • privacy/security/IP/vulnerability/release/waiver/residual-risk acceptanceのscope enumを閉じる。
  • subject material canonicalizationとdigest domainを定義する。
  • current temporary override/waiverからのadapterまたはreferenceを実装し、破壊的置換を避ける。
  • policy gate/claim manifest/release summaryはdecision refを表示できるが、decisionを自動生成しない。
  • agent/CIがreal human decisionを捏造できないnegative testを追加する。
  • reviewer role、evidence URL、comment/review ID、head SHA等のauthority metadataを閉じた構造にする。
  • subject digest mutation matrixを追加する。
  • expiry、supersession、withdrawal/replacement semanticsをADRへ記録する。

Acceptance criteria

  • subjectの1 fieldを変更すると旧decisionが無効になる。
  • test-only decisionでreal policy gateを満たせない。
  • approved/rejected/waived/deferredの意味がEvidence statusと分離される。
  • expired decisionがactive approvalとして使用されない。
  • superseded decisionの履歴が残る。
  • existing waiver flowの互換性とmigration pathが文書化される。
  • agentがreviewer identityまたはdecisionを自律推測しない。

Validation

  • Schema self-validation
  • subject digest deterministic tests
  • field mutation matrix
  • test-only/expired/superseded negative tests
  • policy/claim/release consumer tests
  • pnpm -s run check:schemas
  • pnpm -s run check:doc-consistency
  • pnpm -s run verify:lite

非目標

  • reviewer本人性の暗号学的証明
  • organization-wide IAMの実装
  • automatic approval
  • legal/patent conclusionの自動化

Stop condition

  • Draft PR
  • exact-head CI success
  • migration/compatibility documented
  • unresolved review threads 0
  • worktree clean

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:contractsSchemas and contractsassurance-control-planeAgent-neutral assurance control plane roadmapcodex-readyIssue body is structured for Codex CLI executionpriority:p1Important next slicerisk:highHigh risk PR (approval and gate labels required)type:taskImplementation task

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions