This plan defines the user-facing flows that must be exercised before mainnet real-funds operation. It complements the existing Devnet load and resilience evidence; it does not fabricate real-device captures.
Minimum target matrix:
- Phantom desktop on Devnet
- Solflare desktop on Devnet
- Backpack desktop on Devnet
- Glow desktop on Devnet
- Android or mobile browser path when supported
- open the live product
- connect wallet on Devnet
- open runtime diagnostics
- copy the diagnostics snapshot
- confirm no console errors for wallet detection or RPC reads
Expected evidence:
- wallet label
- network
- diagnostics snapshot
- screenshot or recording reference
- create or select the Devnet DAO
- create a simple proposal
- commit a vote
- reveal with the same salt and vote
- finalize after the reveal window
- execute after the timelock
Expected evidence:
- proposal PDA
- transaction signatures for lifecycle transitions
- explorer links
- final status
- create a confidential payroll or bonus proposal
- verify aggregate payout metadata is visible without plaintext compensation data
- run the governance lifecycle
- execute only after the required settlement or evidence path is present
- confirm no plaintext private payroll data appears in logs or UI output
Expected evidence:
- proposal PDA
- payout plan PDA where applicable
- execution signature
- confirmation that private details were not exposed
- initialize or inspect
DaoSecurityPolicy - record
ProposalExecutionPolicySnapshot - record proof verification evidence for the proposal
- attempt finalize without valid proof evidence and confirm rejection
- finalize with valid strict evidence
- execute confidential payout with single-use settlement evidence
- attempt evidence replay and confirm rejection
Expected evidence:
- policy account
- proof verification account
- settlement evidence account
- consumption record
- rejection signature or error for replay attempt
- reveal with the wrong salt and confirm rejection
- attempt late cancel after meaningful participation and confirm V2 rejection
- attempt execution before timelock and confirm rejection
- attempt duplicate execution and confirm rejection
- attempt settlement evidence replay and confirm rejection
Expected evidence:
- error code or transaction failure reason
- proposal account state remains non-corrupted
- no treasury movement for rejected actions
For each failed or successful test, preserve:
- wallet
- browser/client
- network
- transaction signature or error
- console error, if any
- Network tab failure, if any
- explorer URL for successful Devnet transactions
The repository already contains Devnet load and resilience evidence. Real-device wallet readiness is not complete until the captures are recorded through:
npm run record:real-device-runtime -- /path/to/capture.json
npm run build:real-device-runtime
npm run verify:real-device-runtime