chore: refresh Product DevNet platform pins - #147
Conversation
✅ Deploy Preview for muzinga ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
c751291 to
e0c4955
Compare
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e0c4955350
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Outcome
Dotify now targets the refreshed September 2026 Product DevNet baseline before
we continue the next implementation contract. The Product app build, Product
SDK pins, Bulletin descriptor, Bulletin deploy defaults, Product CDM registry,
checked-in Product catalog fixture/bootstrap, and public Product architecture
copy are aligned with the post-reset DevNet state.
Issue and context
Refs #85.
The Product DevNet update reset key platform assumptions: new app records must
use the current DotNS/Bulletin tooling, the CDM devnet registry moved, and chain
descriptors had to be refreshed. Dotify had already been redeployed once from
dev, but the repository still carried the pre-reset Product SDK/toolingbaseline and old CDM registry target. Keeping those values would make future
Product host smoke tests ambiguous: a failure could come from Dotify, stale
DotNS tooling, stale Bulletin metadata, or writes to the retired CDM registry.
This PR is intentionally not W06. It is a platform alignment PR that makes W06
and the next Product host checks meaningful.
Local scope and evidence:
docs/backlog/polkadot-product-readiness-and-killer-dapp-roadmap.mddocs/backlog/implementation/evidence/product-devnet-platform-refresh-2026-09.mdExternal context:
Architecture and key concepts
The change keeps Dotify dual-mode:
VITE_DOTIFY_RUNTIME_ADAPTER;The platform alignment has five concrete boundaries:
web/package.jsonso we knowwhich host API and Product SDK graph the bundle was built against.
polkadot-app-deploy@0.16.2so the app publishesthrough the post-reset DotNS/Bulletin path.
so Statement Store types match the new runtime.
wss://bulletin-paseo.tservices.es:8443, avoiding a mixed new-descriptor /old-chain runtime.
0x05662b3dbd5dd9f2ff92d67630477e84b0b37c1f; the old registry remainsdocumented only as a stale-readable address that must not receive new
registrations.
Root
polkadot-apiis not upgraded in this PR. Product SDK0.27.0carriesits own PAPI
2.2.xtree, while the@polkadot-appssigner stack still usesPAPI
1.23.x. Moving Dotify's root PAPI to 3 stays a separate compatibilityPR.
How it works
For a Product DevNet deployment,
npm run deploy:product-devnetnow:MNEMONICexists;dist-productthrough@polkadot-community-foundation/polkadot-app-deploy@0.16.2;[0, 1, 15].For the older single-file Bulletin deployment,
npm run deploy:bulletinnowdefaults to the refreshed Product DevNet Bulletin endpoint and prints the
post-reset Bulletin gateway URL unless
BULLETIN_GATEWAY_URLoverrides it.For CDM,
npm run cdm:publish:testnetremains read-only unless--confirmispassed. The dry-run now checks the new registry and reports the exact
publishLatestplan before any irreversible name ownership/write happens.Design decisions and tradeoffs
are still moving, and exact pins make host smoke evidence reproducible.
with a cross-ecosystem PAPI 3 migration.
registry and updates defaults, but it does not submit irreversible registry
writes during code review.
evidence for the refreshed Bulletin chain and should not be regenerated
implicitly in CI without review.
Product IPFS gateways are appended for artwork/metadata fallback while DAV2
audio remains restricted to Pinata gateways.
Security, failure, and operations
that registry name ownership is effectively permanent.
the DotNS owner mnemonic.
docs/index.htmlnow states the reset and the remaining liverepublication/smoke boundary for the public page.
npm audit fix --forcewas not run. The remaining audit issues requireProduct/PAPI, React/Vite, or Hardhat compatibility decisions, not automatic
lockfile churn.
Review guide
Suggested order
web/package.jsonandweb/package-lock.json- confirm the Product SDK anddeploy tooling pins are exact and scoped to Product DevNet alignment.
web/.papi/polkadot-api.jsonandweb/.papi/descriptors/**- confirm onlyBulletin was re-pinned and generated against the refreshed endpoint.
web/scripts/deploy-bulletin.cjs,web/src/shared/config/network.ts, andweb/src/services/pinata.ts- confirm the old Bulletin/IPFS endpoints arenot active defaults.
contracts/evm/tasks/cdmPublish.tsandcontracts/evm/cdm.json- confirmthe CDM devnet registry points at the new Product registry and the task is
still dry-run by default.
web/polkadot-app-deploy.config.ts,web/fixtures/product-devnet-catalog.json, andweb/src/services/productDevnetCatalogBootstrap.ts- confirm the executableversion bump and aligned 8-item catalog fixture/bootstrap.
readiness from live deployment/CDM publication.
Verify carefully
bypass wallet access?
for standalone listening?
without guessing?
Validation
node --check web/scripts/deploy-bulletin.cjsnpm --prefix web run fmt:checknpm --prefix web run lintnpm --prefix web run test:unitnpm --prefix web run buildnpm --prefix web run build:product-devnetnpm --prefix web run generate:product-catalog-bootstrap:strict -- --input fixtures/product-devnet-catalog.jsonCATALOG_API_URL=http://127.0.0.1:9 npm --prefix web run build:product-devnetnpm --prefix web run smoke:devnetnpm --prefix web run generate:cdmnpm --prefix web run generate:cdm-metadatanpm --prefix contracts/evm run fmt:checknpm --prefix contracts/evm run compilenpm --prefix contracts/evm run cdm:publish:testnetnode scripts/backlog-sync.mjs --check --offlinegit diff --checknpm --prefix web audit --audit-level=moderatenpm --prefix web audit --omit=dev --audit-level=moderatenpm --prefix contracts/evm audit --audit-level=moderatenpm --prefix contracts/evm audit --omit=dev --audit-level=moderate902b5b9claude-reviewstill fails before review because enterprise policy blocks the external Claude marketplace.Known limitations and follow-ups
bundle again so
dotify-test01.dotexposes executable[0, 1, 15].update-version entries to the new registry when the operator runs with
--confirm.connect Product account, create/join room, verify guest audible playback, and
verify Product CDM payment/read-back if that adapter is enabled.
Metadata checklist
Dotify sprints)