syntax = "proto3"; package substrate.attestation.v2; // ─── Layer 3: Governance Claim ────────────────────────────────────── // // Governance state binding: active accords, delegations, and ceremony // state. Hash-chained via governance_epoch for tamper detection. message GovernanceClaim { uint32 layer = 1; // MUST be 3 bytes governance_state_hash = 2; repeated AccordReference active_accords = 3; repeated DelegationReference active_delegations = 4; uint32 pending_ceremonies = 5; uint64 governance_epoch = 6; bytes previous_governance_hash = 7; bytes platform_claim_hash = 8; bytes software_claim_hash = 9; bytes claim_hash = 10; } message AccordReference { string accord_id = 1; bytes accord_hash = 2; string forge_repo = 3; string forge_commit = 4; repeated string parties = 5; string scope = 6; // Summary string activated_at = 7; // ISO 8601 optional string expires_at = 8; string qm_receipt = 9; } message DelegationReference { string delegation_id = 1; string delegator = 2; string delegate = 3; repeated string scope = 4; string delegator_accord = 5; optional string ceremony_id = 6; string qm_receipt = 7; string expires_at = 8; // ISO 8601 }