Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
766 changes: 436 additions & 330 deletions contracts/evm/package-lock.json

Large diffs are not rendered by default.

6 changes: 4 additions & 2 deletions docs/backlog/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -117,8 +117,10 @@ requests before protected playback can use that identity path.
The Product SDK evidence snapshot used for this replanning is now
`@parity/product-sdk` 0.20.1 and
`@polkadot-community-foundation/polkadot-app-deploy` 0.13.1,
last aligned with the checked-in package set on 2026-08-06. They remain
prototype / reference / unaudited code.
last aligned with the checked-in package set on 2026-08-06 and rechecked
against npm on 2026-08-25. Newer Product SDK/PAPI packages exist and remain a
dedicated compatibility task because the host/mobile boundary is still moving
quickly. They remain prototype / reference / unaudited code.
Product SDK contracts target `pallet-revive` / PolkaVM CDM flows, not Dotify's
current viem + EVM RPC write path; Statement Store is useful for small
ephemeral presence, not full chat, SDP/ICE, durable media metadata, or guest
Expand Down
4 changes: 3 additions & 1 deletion docs/backlog/improvement-plan.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,8 +68,10 @@ sound. Only the baseline rows marked delivered may be presented as live.
Product SDK snapshot used for this plan:

- `@parity/product-sdk` 0.20.1 (aligned with the checked-in package set on
2026-08-06);
2026-08-06; rechecked 2026-08-25 against latest npm `0.23.0`);
- `@polkadot-community-foundation/polkadot-app-deploy` 0.13.1;
- deferred SDK drift: host 0.16.0, statement-store 0.6.5, descriptors 0.10.0,
and `polkadot-api` 3.0.0 need a dedicated compatibility PR;
- explicit prototype / reference / unaudited status;
- Product target: DevNet Asset Hub / People / Bulletin;
- contracts package: `pallet-revive`, PolkaVM artifacts, and CDM manifests;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,12 @@
Status: active execution note; the Product DevNet baseline is delivered on
`dev` and remains tracked through Product compatibility issue #85.

Last Product SDK package alignment: 2026-08-06 against
Last Product SDK package check: 2026-08-25. Dotify still pins
`@parity/product-sdk` 0.20.1 and
`@polkadot-community-foundation/polkadot-app-deploy` 0.13.1.
`@polkadot-community-foundation/polkadot-app-deploy` 0.13.1. npm currently
publishes `@parity/product-sdk` 0.23.0, host 0.16.0, statement-store 0.6.5,
descriptors 0.10.0, and `polkadot-api` 3.0.0; upgrade remains a dedicated
compatibility task, not a casual lockfile bump.
Comment on lines +9 to +11

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Update the public page with the revised SDK roadmap

This changes the active Product roadmap by documenting newer SDK versions and deferring their upgrade to a dedicated compatibility task, but docs/index.html is absent from the commit. The public-facing roadmap therefore does not reflect the revised compatibility gate; update its Adaptive Product/current-gate narrative in the same change.

AGENTS.md reference: AGENTS.md:L50-L55

Useful? React with 👍 / 👎.


## Verdict

Expand Down
13 changes: 12 additions & 1 deletion docs/explanation/product-devnet-architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -450,18 +450,29 @@ one infrastructure adapter at a time.

## Compatibility Gate

The initial baseline is:
The current baseline is:

| Component | Pinned/target value |
| ---------------------------------------------------- | ---------------------------------- |
| Node | 22 |
| `@parity/product-sdk` | `0.20.1` |
| `@parity/product-sdk-host` | `0.15.1` |
| `@parity/product-sdk-statement-store` | `0.6.2` |
| `@parity/product-sdk-descriptors` | `0.8.0` |
| `polkadot-api` | `1.23.3` |
| `@polkadot-community-foundation/polkadot-app-deploy` | `0.13.1` in the deploy command |
| Product network | `devnet` |
| Product domain | `dotify-test01.dot` |
| Public gateway | `https://dotify-test01.dev-dot.li` |
| Asset Hub EVM chain ID | `420420417` |

Checked against npm on 2026-08-25: the Product SDK set has newer published
versions (`@parity/product-sdk` `0.23.0`, host `0.16.0`, statement-store
`0.6.5`, descriptors `0.10.0`, and `polkadot-api` `3.0.0`). Dotify keeps the
older pinned set until a dedicated compatibility branch verifies Product
Desktop, Product Mobile fallback, Product sr25519 key requests, and the
experimental CDM/PAPI adapter together.

For every SDK or deploy-tool upgrade:

1. verify host detection outside and inside the container;
Expand Down
82 changes: 82 additions & 0 deletions docs/operations/dependency-security-status.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
# Dependency and Security Status

Last checked: 2026-08-25.

This record captures the dependency/security evidence for the maintenance pass
that follows the Product payment-label work. It is not a blanket policy change:
future feature PRs should still avoid dependency churn unless the dependency is
inside their reviewed scope.

## Applied In This Pass

| Surface | Change | Reason |
| --- | --- | --- |
| `web` | `brace-expansion` override `5.0.8` -> `5.0.9` | Removes the high-severity `brace-expansion` advisory from the frontend toolchain. |
| `web` | Lockfile updates inside declared ranges: `viem` `2.55.19`, `@polkadot-apps/chain-client` `2.0.6`, `@polkadot-apps/descriptors` `1.0.2` | Keeps the Product/PAPI-facing browser stack current without changing public ranges or SDK major assumptions. |
| `services/api` | Lockfile updates inside declared ranges: `fastify` `5.12.1`, `@fastify/cors` `11.3.0`, `@fastify/multipart` `10.1.1`, `viem` `2.55.19`, `ws` `8.21.0`, `find-my-way` `9.9.0`, `fast-uri` `3.1.6`, `esbuild` `0.28.2` | Brings the backend API audit to zero vulnerabilities without changing the env contract. |
| `contracts/evm` | Lockfile updates inside declared ranges: Hardhat `2.29.1`, Hardhat plugins within the Hardhat 2 line, Mocha `11.8.0`, `viem` `2.55.19` | Reduces dev-tooling audit exposure without migrating to Hardhat 3. |

## Official Version Drift

Checked against npm published versions on 2026-08-25.

| Package | Current pinned/locked value | Latest published value | Decision |
| --- | --- | --- | --- |
| `@parity/product-sdk` | `0.20.1` | `0.23.0` | Defer to a Product SDK compatibility PR; mobile host behavior is still moving. |
| `@parity/product-sdk-host` | `0.15.1` | `0.16.0` | Defer with the Product SDK set. |
| `@parity/product-sdk-statement-store` | `0.6.2` | `0.6.5` | Defer with the Product SDK set. |
| `@parity/product-sdk-descriptors` | `0.8.0` | `0.10.0` | Defer with the Product SDK set because descriptor changes affect the CDM/PAPI adapter. |
| `polkadot-api` | `1.23.3` | `3.0.0` | Defer as a major migration; Product and PAPI generated descriptors need a dedicated validation pass. |
| `@polkadot-community-foundation/polkadot-app-deploy` | `0.13.1` | `0.13.1` | Current. |
| `react` / `react-dom` | `18.3.1` | `19.2.8` | Defer as a UI/runtime migration. |
| `vite` | `6.x` | `8.2.2` | Defer as a build-system migration. |
| `typescript` | `5.6.x` in web/api, `6.0.x` in contracts | `7.0.2` | Defer until PAPI/Product/Hardhat type compatibility is tested together. |
| `fastify` | `5.12.1` | `5.12.1` | Current in `services/api`. |
| `hardhat` | `2.29.1` | `3.14.0` | Defer as a breaking contracts toolchain migration. |

## Residual Audit Risk

`services/api`:

- `npm audit --audit-level=moderate` passes.
- `npm audit --omit=dev --audit-level=moderate` passes.

`web`:

- `brace-expansion` is fixed.
- `npm audit --audit-level=moderate` still reports high-severity transitive
findings through `deepmerge-ts` / `write-package` / `@polkadot-api/cli` and
`nanoid` / `@novasamatech/host-api`.
- `npm audit --omit=dev --audit-level=moderate` reports the same Product/PAPI
chain because those packages are runtime dependencies. npm does not offer a
non-breaking fix for the `deepmerge-ts` path.
- Next safe action: dedicated Product SDK + PAPI migration spike from the
current Host/mobile behavior, not `npm audit fix --force`.

`contracts/evm`:

- `npm audit --omit=dev --audit-level=moderate` passes.
- Full `npm audit --audit-level=moderate` still reports dev-tooling findings
through Hardhat 2, Mocha/Solc transitives, and legacy Ethers 5 transitives.
- npm's forced path moves to Hardhat 3 and newer verification plugins; this is
a breaking migration and should be tested in a dedicated contracts PR.

## Improvement Flags

- Add a Product SDK compatibility branch that tests `@parity/product-sdk`
`0.23.0`, host `0.16.0`, statement-store `0.6.5`, descriptors `0.10.0`,
and `polkadot-api` `3.0.0` against Product Desktop, Product Mobile fallback,
CDM resolver generation, Product sr25519 key requests, and room join links.
- Plan a Hardhat 3 migration separately from app/runtime changes.
- Keep the standalone web/API path first-class; Product SDK mode remains a
progressive enhancement until host signing, WebRTC capability, and runtime
transaction smoke tests are proven.

## Philosophical Alignment

This maintenance work does not add user-visible features. It supports Dotify's
north star by reducing hidden operational fragility while preserving the current
low-friction room/listening behavior and explicit Product-host failure states.
The deferred SDK migrations protect the same principle: do not make the app
depend on a moving host stack until that stack can preserve shared listening,
artist-controlled access, and honest security boundaries.
18 changes: 12 additions & 6 deletions docs/operations/deployment-configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -165,15 +165,21 @@ when deciding whether to refresh a previously opened app.

Current Product host SDK dependencies:

| Package | Current value |
| -------------------------- | ------------- |
| `@parity/product-sdk` | `0.20.1` |
| `@parity/product-sdk-host` | `0.15.1` |
| `engine.io-client` | `6.6.6` |
| Package | Current value | Latest checked 2026-08-25 |
| -------------------------------------------- | ------------- | ------------------------- |
| `@parity/product-sdk` | `0.20.1` | `0.23.0` |
| `@parity/product-sdk-host` | `0.15.1` | `0.16.0` |
| `@parity/product-sdk-statement-store` | `0.6.2` | `0.6.5` |
| `@parity/product-sdk-descriptors` | `0.8.0` | `0.10.0` |
| `polkadot-api` | `1.23.3` | `3.0.0` |
| `@polkadot-community-foundation/polkadot-app-deploy` | `0.13.1` | `0.13.1` |
| `engine.io-client` | `6.6.6` | `6.6.6` |

Keep these pinned exactly during Product DevNet hardening. Recheck the official
Product docs and npm versions before changing them because the mobile host API
is still moving quickly.
is still moving quickly. The 2026-08-25 dependency/security pass intentionally
left the Product SDK set pinned and records the residual audit status in
`docs/operations/dependency-security-status.md`.

`VITE_DOTIFY_ROOM_BEACONS` is off in the tracked profile, so the standard
publication announces no rooms on the Statement Store. The capability ships
Expand Down
Loading
Loading