/ components / delta / D008-governance.component.cspec
D008-governance.component.cspec
  1  # D008-governance.component.cspec
  2  
  3  metadata:
  4    id: D008
  5    name: governance
  6    version: 1.3.0
  7    domain: delta
  8    stability: high_change
  9    updated: 2026-01-19
 10    cascade_priority: 30
 11    roles:
 12      primary: [Arch, Dev]
 13      review: [Security]
 14    expertise:
 15      required: [governance, voting]
 16      helpful: [smart_contracts, tokenomics]
 17    context_tags: [governance, voting, proposals, timelock, emergency]
 18  
 19  dependencies:
 20    upstream: []
 21    downstream: []
 22  
 23  interface:
 24    types_ref: _registry/types.cspec
 25    types:
 26      DX: delta_governance, decimals:0, supply:1B_fixed, mint:genesis_only, privacy:zk_holdings, state:shielded_record, dividend:yes
 27      DELTA_GOV: proposer, voter, dx_stake:10k
 28      VOTE: 1_staked_wallet=1_vote, min_stake:10k_DX, propose_min:1M_DX, quorum:100%, non_vote:slashed
 29      EMPHATIC_VOTE: stake:100_DX, slots:50_per_side, bonus:10%, proposer_slash:conditional
 30      STANDARD: approval:>67%, timelock:48h  # Delta config changes; 100% quorum, non-voters slashed
 31      CRITICAL: approval:>67%, timelock:7d, scope:[gov_add_remove,emergency,pe_change]
 32      GID: governor_identity, privileged_contract, mint_burn_authority
 33    functions:
 34      submit_proposal: title, description, execution_payload, type -> proposal_id
 35      vote: proposal_id, vote_for|vote_against  # No abstain - non-voters auto-against and slashed
 36      execute_proposal: proposal_id -> execution_result
 37      emergency_veto: proposal_id, requires:80%_against
 38      stake_dx: amount -> voting_eligibility
 39      unstake_dx: amount -> transferable
 40    events:
 41      - proposal_submitted
 42      - vote_cast
 43      - proposal_passed
 44      - proposal_failed
 45      - proposal_executed
 46      - emergency_veto_triggered
 47  
 48  spec:
 49    # === D008: GOVERNANCE MODULE ===
 50    # Delta chain governance - COMPLETELY SEPARATE from Alpha governance
 51  
 52    # === GOVERNANCE SEPARATION PRINCIPLE ===
 53    separation:
 54      principle: alpha_and_delta_governance_are_independent
 55      alpha_scope: alpha_config, alpha_software (governed by governors)
 56      delta_scope: delta_config, delta_software (governed by DX stakers)
 57      joint_scope: platform_wide_software_changes (requires both chains)
 58  
 59    governance:
 60      scope:
 61        delta_only:
 62          adjustable: [fee_tiers, leverage_limits, oracle_providers, oracle_staleness_threshold, insurance_fund_target]
 63          vote_required: [new_markets, oracle_provider_changes]
 64          increase_only: [pe_ratio]
 65        joint_with_alpha:
 66          requires_both: [platform_wide_software_upgrades, core_protocol_changes]
 67  
 68      proposal_lifecycle:
 69        draft: offchain_discussion
 70        submitted: onchain, min_1M_DX_to_propose
 71        voting: 7_day_period
 72        passed_or_failed: threshold_check
 73        execution: timelock_then_execute
 74  
 75      voting:
 76        power: 1_staked_wallet = 1_vote  # Not token-weighted; wallet-based voting
 77        min_stake_to_vote: 10k_DX
 78        min_stake_to_propose: 1M_DX
 79        actions: [vote_for, vote_against, emphatic_yes, emphatic_no]
 80        quorum: 100%  # All eligible DX stakers expected to vote
 81        non_participation:
 82          treatment: auto_cast_against
 83          consequence: slashed  # DX slashing for non-voters
 84          slashing_schedule:
 85            first_miss: free (warning only)
 86            subsequent_misses: 1%_of_staked_DX
 87          slashing_rate_change_threshold: 90%  # Changing slashing rate requires 90% approval
 88          slashed_destination: reward_pool
 89  
 90      # === EMPHATIC VOTING ===
 91      emphatic_voting:
 92        purpose: signal_strong_conviction_with_skin_in_game
 93        stake_required: 100_DX
 94        slots_per_side: 50  # Max 50 emphatic_yes, 50 emphatic_no per proposal
 95  
 96        mechanics:
 97          emphatic_yes:
 98            weight: +1  # Same as regular yes
 99            stake: 100_DX_locked_until_vote_concludes
100          emphatic_no:
101            weight: -1  # Same as regular no
102            stake: 100_DX_locked_until_vote_concludes
103  
104        outcomes:
105          proposal_passes:
106            emphatic_yes_voters: stake_returned_plus_10_percent_bonus
107            emphatic_no_voters: stake_forfeited_to_reward_pool
108            bonus_source: reward_pool
109          proposal_fails_no_slash:
110            emphatic_yes_voters: stake_forfeited_to_reward_pool
111            emphatic_no_voters: stake_returned_plus_10_percent_bonus
112          proposal_fails_with_slash:
113            emphatic_yes_voters: stake_forfeited_to_reward_pool
114            emphatic_no_voters: stake_returned_plus_10_percent_bonus
115            proposer: slashed_10_percent_of_staked_DX
116  
117        proposer_slashing:
118          trigger_formula: emphatic_no_count >= min(total_no_votes * 0.10, 50)
119          condition: proposal_must_also_fail
120          penalty: 10_percent_of_each_proposer_stake  # 2000 DX per signer
121          total_penalty: 10000_DX  # 5 signers × 2000 DX
122          destination: reward_pool
123  
124      thresholds:
125        delta_config_changes:
126          approval: >67%
127          timelock: 48h
128          examples: [fee_changes, new_markets, oracle_updates, pe_ratio]
129        delta_software_updates:
130          approval: >67%
131          timelock: 7d
132        slashing_rate_change:
133          approval: >90%
134          timelock: 7d
135          note: changing_slashing_threshold_for_non_voters
136        joint_approval:
137          approval: >51%
138          note: delta_side_of_joint_vote_for_platform_changes
139  
140      emergency_veto:
141        during_timelock: yes
142        requires: 80%_against
143        effect: proposal_cancelled
144  
145    # === DX STAKING FOR GOVERNANCE ===
146    staking_model:
147      default: staked (opt_out)
148  
149      to_transfer:
150        requirement: unstake_first
151        cooldown: none (instant_unstake)
152  
153      voting_eligibility:
154        minimum: 10k_DX_staked
155  
156      dividend_eligibility:
157        staked: yes
158        unstaked: no
159  
160    # === GOVERNOR REGISTRATION ===
161    governor_registration:
162      process:
163        1: applicant_submits_registration_proposal
164        2: includes: [identity_proof, validator_commitment, stake_source]
165        3: critical_vote (67%_approval, 20%_quorum)
166        4: 7d_timelock
167        5: if_passed: added_to_GID
168  
169      removal_process:
170        trigger: [governance_proposal, severe_violation]
171        vote: critical_threshold
172        effect: status_set_removed_in_GID
173  
174    # === EMERGENCY POWERS ===
175    emergency_actions:
176      scope:
177        - trading_halt
178        - withdrawal_pause
179        - oracle_override
180        - bridge_suspension
181  
182      activation:
183        method: critical_proposal (expedited)
184        approval: 67%
185        quorum: 20%
186        timelock: 24h (reduced_for_emergencies)
187  
188      deactivation:
189        automatic: after_specified_duration
190        manual: governance_vote
191  
192    # === ACTION TYPES ===
193    action_types:
194      # Standard actions (67% approval, 10% quorum, 48h timelock)
195      type_0: UpdateParameter
196      type_5: UpdateMintingRate
197      type_6: UpdateFees
198      type_7: TransferTreasury
199      type_9: AddOracleSource
200      type_11: DeactivateSource
201      type_12: ReactivateSource
202      type_13: UpdateOracleConfig
203  
204      # Critical actions (67% approval, 20% quorum, 7d timelock)
205      type_1: AddGovernor
206      type_2: RemoveGovernor
207      type_3: EmergencyPauseMinting
208      type_4: EmergencyResumeMinting
209      type_8: UpgradeContract
210      type_10: RemoveOracleSource (can_break_ax_pricing)
211  
212    # === ORACLE GOVERNANCE ===
213    oracle_source_management:
214      add_source:
215        action: type_9
216        params: [pair_id, source_name, endpoint_hash, weight_bps]
217        vote_type: standard
218        effect: new_source_added_to_registry
219  
220      remove_source:
221        action: type_10
222        params: [source_id]
223        vote_type: critical
224        warning: removing_all_sources_for_pair_breaks_ax_pricing
225        effect: source_removed_from_registry
226  
227      deactivate_source:
228        action: type_11
229        params: [source_id]
230        vote_type: standard
231        reversible: yes
232        effect: source_skipped_in_aggregation
233  
234      reactivate_source:
235        action: type_12
236        params: [source_id]
237        vote_type: standard
238        effect: source_restored_to_aggregation
239  
240    # === GOVERNANCE CONTRACTS ===
241    contracts:
242      on_delta:
243        governance.delta:
244          - proposal_storage
245          - vote_tallying
246          - execution_queue
247          - timelock_management
248          - oracle_source_actions
249  
250      joint_governance:
251        trigger: platform_wide_software_changes
252        process:
253          - proposal_submitted_to_both_chains_simultaneously
254          - alpha_governance_votes (67% governors required)
255          - delta_governance_votes (51% DX stakers required)
256          - both_must_pass_for_execution
257        attestation: cross_chain_confirmation_of_both_results
258        finality: max(alpha_finality, delta_finality) + timelock
259  
260  changelog:
261    - version: 1.3.0
262      date: 2026-01-19
263      type: feature
264      description: "Add emphatic voting: 100 DX stake, 50 slots/side, bonus/penalty, proposer slashing"
265      breaking: false
266  
267    - version: 1.2.0
268      date: 2026-01-15
269      type: breaking
270      description: "100% quorum model: all DX stakers must vote, non-voters auto-against and slashed"
271      breaking: true
272  
273    - version: 1.1.0
274      date: 2026-01-15
275      type: fix
276      description: "Fixed voting power: 1 staked wallet = 1 vote (not token-weighted)"
277      breaking: false
278  
279    - version: 1.0.0
280      date: 2026-01-07
281      type: initial
282      description: "Migrated from delta_chain.cspec and governance.cspec (merged)"
283      breaking: false