Reference ยท Governance v1

Proposal template

Every field a real WinLEW governance proposal carries, and the rule each one has to satisfy. This is the reference behind the proposals shown on the Governance page โ€” published so anyone can check that a live proposal is complete and honestly filled in.

You do not need this to take part. To put an idea forward, use Submit a Proposal or /mole propose in Discord โ€” both are plain forms that land in the maintainer review queue. This page is the underlying structure a maintainer fills in when an approved idea becomes a real, votable proposal.
Structure

The proposal record

Every field below is validated before a proposal can go live โ€” missing or invalid fields are caught immediately rather than reaching the page.

{
  id: "short-kebab-case-id-with-year",   // must be unique โ€” checked automatically
  schemaVersion: 1,
  title: "Plain-language title",
  summary: "One or two sentences โ€” this is what shows on the Governance landing page card.",
  fullDescription: "The full proposal text. What is being proposed, and why.",
  author: "Display name or handle",
  authorType: "maintainer",              // or "community-member" / "system"
  category: "features",                  // one of the 14 fixed categories
  governanceMode: "advisory",            // advisory / community-approved /
                                         // maintainer-ratified / binding-within-defined-policy
  status: "draft",                       // start here โ€” every later status must be a
                                         // legal transition from the current one

  createdIso: "2026-01-01T00:00:00Z",
  discussionStartIso: null,              // set once Discord discussion opens
  votingStartIso: null,                  // null means "not yet open for a vote", and
                                         // choices are not required until it is set
  votingEndIso: null,
  executionDeadlineIso: null,            // only if approval implies a deadline for
                                         // maintainer action

  eligibilityRule: {
    authenticatedUser: true,
    verifiedWallet: true,
    minWinlewBalance: 1_000_000,         // matches the standard minimum unless this
                                         // proposal has an explicit, documented reason
                                         // to differ
    proposalSpecificOverride: null,
  },
  votingMethod: "one-wallet-one-vote",
  choices: null,                         // e.g. ["Yes", "No"] once voting is scheduled โ€”
                                         // required (2 or more, no duplicates) only once
                                         // the proposal is actually voteable
  quorumRule: { type: "fixed", minVotes: 0 },
                                         // set a real number before going active โ€” never a
                                         // fabricated percentage of "all holders"
  approvalThresholdOverride: null,       // leave null to use the standard >50%
                                         // (or >2/3 for governance-rules proposals)
  snapshotRule: "per-proposal-boundary-first-check-lock-in",

  supportingEvidence: [],                // [{ label, url }]
  relatedPlatformPages: [],              // e.g. ["/quiz/", "/burn/"]
  financialImpact: "None.",
  tokenImpact: "None.",
  securityConsiderations: "",
  risks: "",
  alternativesConsidered: "",
  implementationPlan: "",
  maintainerPosition: null,              // filled in once a maintainer has reviewed it

  finalResults: null,                    // required once the proposal reaches a closed state
  finalDecision: null,
  executionStatus: "not-applicable",     // not-applicable / pending / in-progress /
                                         // completed / failed / declined
  executionEvidence: [],                 // required (1 or more) once status is "executed"
  cancellationOrRejectionReason: null,

  lastUpdatedIso: "2026-01-01T00:00:00Z",
  publicNotes: "",
  burnDetails: null,                     // REQUIRED if category is "burn-program"

  discussionUrl: "https://discord.gg/dJ7rPhy333",
  metadata: {},                          // optional extras only โ€” nothing load-bearing
}
Extra requirement

If the category is burn-program

Burn proposals carry a required extra block. A burn proposal without it is not valid:

burnDetails: {
  proposedAmountDisplay: "e.g. 5,000,000 WinLEW",
  proposedSource:        "e.g. staged/held burn-wallet balance",
  proposedBenchmark:     "e.g. tied to the August 1 annual benchmark",
  reason:                "Why this burn, why now.",
  effectOnGoal:          "How this moves the long-term 100M goal โ€” reference the Burn
                          Center's live progress, don't restate a stale number.",
  executionAuthority:    "Maintainer, after safety review",
                         // never anything implying automatic or on-chain execution
  executionDeadline:     "e.g. within 30 days of approval, or null",
}
Never write a number here as if it were the canonical current burn total. The proposal page fetches that live from the Burn Center. This block should only ever contain the proposed new amount and its rationale.
Rules

Drafting reminders

These are the same standards the audit trail on the Governance page is held to: no invented history, no proposal that looks more advanced than it is.

Related

Where to go next