Skip to content
CCPEDIAby Unity Nodes
In Review#91 Pull request

Proposal: Party-Aware Daml Upgrade and Vetting Planner

Opened 16-03-2026 by pmensik, last activity 26d ago

  1. Incoming6.3 days19-03-2026
  2. Needs Champion83 days25-03-2026
  3. In Review127 days so far16-06-2026
  4. Ready for Votenot reached
  5. Voting Livenot reached
  6. Approvednot reached
Waiting on
Waiting on the committee
idle 27 days
Discussion
23 messages
9 people

Development Fund Proposal Submission

Proposal file: /rfps/protocol-infrastructure-scalability-resilience/2026-03-RubyNodes-daml-upgrade-migration-planner.md


RFP Alignment

Primary RFP: RFP 3 — Automated Application Management
Roadmap Category: Protocol, Infrastructure, Scalability & Resilience
Secondary Alignment: RFP 18 — Integration into SDLCs

This proposal responds to RFP 3 by providing the evidence and planning layer between Canton package-vetting primitives and the application, Validator, and party decisions required to adopt and upgrade Daml applications safely. Its CI/CD integration also supports RFP 18.

Ecosystem Need and Adoption

Daml application upgrades require package compatibility, dependency, active-contract, vetting, synchronizer, party-hosting, and topology evidence to be evaluated together. Canton provides authoritative primitives for the individual checks, but application teams and operators still assemble them manually into rollout decisions and bespoke runbooks.

The planner benefits application providers and release teams deploying upgrades, Validator operators reviewing package support, hosted parties or their delegates evaluating application readiness, and platform and SRE teams controlling production changes. By making upgrades easier to evaluate, rehearse, and approve, the project reduces the operational cost and uncertainty of adopting and maintaining applications on Canton.

Digital Asset is developing party-level package vetting as the authoritative mechanism through which hosted parties control package adoption. This proposal does not implement or replace that mechanism. V1 remains read-only and single-participant: party-aware means evaluating observable support for explicitly configured readiness parties and returning INCOMPLETE_EVIDENCE when party-level or hosting-participant evidence is unavailable.


Summary

This proposal introduces the Party-Aware Daml Upgrade and Vetting Planner, a CLI-first common-good tool designed to automate and derisk smart contract upgrades on Canton. It connects to a live participant, evaluates existing package, contract, vetting, and visible topology state against proposed DARs, and computes a deterministic, reviewable migration plan covering upload order, multi-synchronizer vetting, readiness evidence, safety preconditions, and rollback guidance.


Checklist

  • Proposal moved into the matching RFP category folder
  • RFP number and category identified
  • Ecosystem beneficiaries and adoption impact described
  • Milestones and funding amounts defined
  • Acceptance criteria included

Notes for Reviewers

  • Uses authoritative Canton primitives: The tool combines existing Canton capabilities such as dpm upgrade-check, ValidateDarFile, GetPreferredPackages, and UpdateVettedPackages dry-run rather than reimplementing Daml-LF compatibility or party-level vetting.
  • Bounded scope: The tool remains read-only and plans from one participant at a time. It reports observable support for configured external participants and readiness parties but does not coordinate remote participants or submit vetting transactions.
  • Operational realism: The design records incomplete evidence, state provenance, topology serials, and rollback asymmetry instead of presenting a participant-local observation as global readiness.

Milestones 7

  1. Working Vertical SliceWeek 3
  2. Complete State Discovery, Configuration, and DAR AnalysisWeek 6
  3. Package Graph, Vetting, and Readiness PlanningWeek 10
  4. Unvetting Safety, Policies, Rollback, and ReportingWeek 12
  5. Dry-Run Validation, Multi-Network Comparison, and CI GateWeek 15
  6. Documentation, Packaging, and End-to-End ValidationWeek 18
  7. Adoption Validation