{ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "acceptance-event.schema.json", "title": "acceptance / supersession event (P1-G #14)", "description": "append-only 원장 /acceptance-events.jsonl 의 한 줄(JSON). 리포트는 불변 스냅샷이고, 리뷰 결정(수락/변경요청/차단)과 대체(supersede)는 리포트를 수정하는 대신 이 이벤트로 append 된다. acceptance_log.py 가 기록/질의한다. additionalProperties 허용(향후 확장).", "type": "object", "required": ["acceptance-event-id", "report-id", "decision", "effective-at"], "properties": { "acceptance-event-id": { "type": "string", "description": "이벤트 고유 id (예: ae--)." }, "report-id": { "type": "string", "description": "이 결정의 대상 report-id(불변 스냅샷)." }, "decision": { "type": "string", "enum": ["accepted", "changes-requested", "blocked"], "description": "리뷰 결정. review-output 이 emit 한다." }, "accepted-report-id": { "type": "string", "description": "decision=accepted 일 때 수락된 report-id(기본 = report-id)." }, "rejected-report-id": { "type": "string", "description": "decision=changes-requested|blocked 일 때 거부된 report-id(기본 = report-id)." }, "supersedes-report-id": { "type": "string", "description": "이 결정이 대체하는 이전 report-id(계보). report_tags 가 이 대상들을 기본 제외한다." }, "workflow-id": { "type": "string", "description": "질의 필터용(‘이 workflow 의 최신 수락 리포트?’)." }, "role-id": { "type": "string", "description": "질의 필터용(‘이 role 의 최신 수락 리포트?’)." }, "effective-at": { "type": "string", "description": "이벤트 발효 UTC 시각(예: 2026-07-10T12:00:00Z)." }, "report-sha256": { "type": "string", "description": "선택. 수락 대상 report 파일의 sha256 — venture-decision human-gate 위조·재사용 방지 바인딩(P1 §9.4)." }, "artifact-sha256": { "type": "string", "description": "결정 대상 immutable artifact revision의 sha256." }, "artifact-kind": {"type": "string"}, "producer-role-id": {"type": "string"}, "reviewer": { "type": "object", "required": ["actor-id", "role-id"] }, "authorization": { "type": "object", "required": ["expected-reviewer-capability", "producer-role-id", "self-review"] } } }