# Term Vault Governance

The governance infrastructure of Term Strategy Vaults is built on a foundation of clearly defined roles and permissions. This structure ensures secure and transparent management while allowing for operational flexibility and depositor protection.

***

**Role Architecture**

The governance system defines two primary roles in `Strategy.sol`: **MANAGER** and **GOVERNOR\_ROLE**, each with distinct responsibilities and permissions.

| **Role**           | **Responsibilities**                                                               |
| ------------------ | ---------------------------------------------------------------------------------- |
| **MANAGER**        | Executes auction-related operations and manages auction offers.                    |
| **GOVERNOR\_ROLE** | Oversees governance actions, risk parameter configuration, and emergency controls. |

***

**MANAGER Role**:

* **Responsibilities**:
  * Submitting auction offers.
  * Managing and canceling existing auction offers.
* **Permissioned Functions**:

  ```solidity
  submitAuctionOffer()   // Submit auction offers.
  deleteAuctionOffers()  // Cancel or remove auction offers.
  ```

***

**GOVERNOR\_ROLE**:

* **Responsibilities**:
  * Configuring protocol risk parameters.
  * Managing governance and integration updates.
  * Executing emergency controls.
* **Permissioned Functions**:

  ```solidity
  // Pause Controls
  pauseDeposit()
  unpauseDeposit()
  pauseStrategy()
  unpauseStrategy()

  // Governance
  setPendingGovernor()       // Initiate governor transfer.
  setTermController()        // Update TERM protocol version.
  setDiscountRateAdapter()   // Update price oracle.

  // Risk Parameters
  setTimeToMaturityThreshold()  // Set max duration risk.
  setRequiredReserveRatio()    // Set minimum liquidity ratio.
  setRepoTokenConcentrationLimit() // Set position size limits.
  setDiscountRateMarkup()      // Set pricing premium.
  setCollateralTokenParams()   // Define collateral requirements.
  setRepoTokenBlacklist()      // Blacklist specific tokens.
  ```

***

**Governance System Overview**

The governance system integrates vault LPs as DAO members, providing them with direct oversight and the ability to veto proposals during the timelock period. This layered framework balances operational efficiency with depositor protection.

1. **Governor Implementation**:
   * Gnosis Safe with a 7-day timelock via the Zodiac Delay Module.
   * Actions are initiated through a Proposer Safe for review before execution.
2. **Proposal Flow**:
   * **Flow**: Proposer Safe → Delay Module (7-day timelock) → Governor Safe → Vault.
   * **Review Period**: Proposals are reviewed and discussed during the timelock.
3. **Veto Mechanism**:
   * Vault LPs, as DAO members, can veto proposals by voting to skip the transaction.
   * If the DAO vote passes, it triggers a call to `setTxNonce` on the Delay Module, invalidating the transaction.

***

**Governance Flow Example**

1. **Proposal Initiation**: Proposer Safe submits a governance action (e.g., parameter change).
2. **Timelock Period**:
   * Proposal enters the 7-day timelock in the Delay Module.
   * Vault LPs, as DAO members, review and discuss the proposal.
3. **Veto Option**:
   * If the community opposes the proposal, the DAO votes to skip the transaction.
   * If passed, `setTxNonce` is called, invalidating the transaction.
4. **Execution**:
   * If no veto occurs, the proposal executes after the timelock.

This system empowers vault LPs by giving them direct control over governance decisions, ensuring their interests are safeguarded.

***

**Event Monitoring**

Key governance actions trigger the following events to ensure transparency:

| **Event**                            | **Description**                           |
| ------------------------------------ | ----------------------------------------- |
| `TimeToMaturityThresholdUpdated`     | Logs updates to duration caps.            |
| `RequiredReserveRatioUpdated`        | Logs changes to reserve ratios.           |
| `RepoTokenConcentrationLimitUpdated` | Tracks updates to position size limits.   |
| `DiscountRateMarkupUpdated`          | Tracks changes to rate premiums.          |
| `DepositPaused`, `DepositUnpaused`   | Indicates deposit state changes.          |
| `NewGovernor(address)`               | Records governor role transfers.          |
| `RepoTokenBlacklistUpdated`          | Tracks updates to repoToken blacklisting. |

***

#### Summary

Starting with a clear **Role Architecture** and integrating vault LPs as DAO members, this governance system ensures secure, transparent, and efficient management. With defined roles, multi-layered protections, and direct community oversight, it balances operational flexibility with depositor protection.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developers.term.finance/periphery-contracts/curated-vaults/administration/term-vault-governance.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
