syntax = "proto3";

package macp.modes.proposal.v1;

message ProposalPayload {
  string proposal_id = 1;
  string title = 2;
  string summary = 3;
  bytes details = 4;
  repeated string tags = 5;
}

message CounterProposalPayload {
  string proposal_id = 1;
  string supersedes_proposal_id = 2;
  string title = 3;
  string summary = 4;
  bytes details = 5;
}

message AcceptPayload {
  string proposal_id = 1;
  string reason = 2;
}

message RejectPayload {
  string proposal_id = 1;
  bool terminal = 2;
  string reason = 3;
}

message WithdrawPayload {
  string proposal_id = 1;
  string reason = 2;
}

// Proposal Mode terminates with macp.v1.CommitmentPayload.
