Skip to content

Fix governance policy wire canonicality#455

Draft
carrion256 wants to merge 1 commit into
audit/governance-proposal-identity-and-timelock-semanticsfrom
audit/wire-governance-canonicality-a090
Draft

Fix governance policy wire canonicality#455
carrion256 wants to merge 1 commit into
audit/governance-proposal-identity-and-timelock-semanticsfrom
audit/wire-governance-canonicality-a090

Conversation

@carrion256

@carrion256 carrion256 commented May 22, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Reject SetGovernancePolicy payloads that carry fields irrelevant to the selected policy kind.
  • Adds regression coverage proving sparse governance policy actions no longer have multiple accepted wire encodings for the same effective action.
  • Updates an existing integration test to use a registered governance contract, matching the branch's production topology validation.

Findings

  • #FIND-092 / Nexus 28360a4f-b33c-45fd-bef9-67a7acbf0dc0
  • #FIND-090 / Nexus 109dc6ff-46cf-4974-bec7-089886e8560c is triaged as not requiring a code change: shared-types already exposes distinct CodecError variants and enforces strict cursor exhaustion; the public contract boundary intentionally maps malformed client payloads to compact InvalidInput.

Verification

  • cargo test -p templar-soroban-runtime runtime_governance_policy_rejects_irrelevant_fields --test integration_tests -- --nocapture
  • cargo test -p templar-soroban-runtime --test integration_tests -- --nocapture
  • post-commit Soroban size-budget-check hook passed: 97270 bytes

This change is Reviewable

@coderabbitai

coderabbitai Bot commented May 22, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 4dae22a2-7a9d-4e8d-9818-5b0b6506ff2c

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch audit/wire-governance-canonicality-a090

Comment @coderabbitai help to get the list of available commands and usage tips.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant