Context
The repo pins exact versions in several places (react 19.2.7, vite 8.1.3, poseidon-bls12381 1.0.2) and uses carets in others (@stellar/stellar-sdk ^16.2.0 in two workspaces,
^16.0.1 in a third — already a version skew across workspaces). scripts/check-stellar-sdk-version.mjs
exists to police that one dependency specifically, which suggests the problem has bitten before.
A dependency audit runbook was written; a cadence and a policy were not.
Where to build it
CONTRIBUTING.md or a new docs/dependencies.md.
scripts/check-stellar-sdk-version.mjs — the existing guard.
- The four
package.json files and contracts/Cargo.toml.
What to do
Acceptance criteria
- Every workspace agrees on the Stellar SDK version range.
- The pinning rationale for the crypto dependencies is written down.
Context
The repo pins exact versions in several places (
react 19.2.7,vite 8.1.3,poseidon-bls12381 1.0.2) and uses carets in others (@stellar/stellar-sdk ^16.2.0in two workspaces,^16.0.1in a third — already a version skew across workspaces).scripts/check-stellar-sdk-version.mjsexists to police that one dependency specifically, which suggests the problem has bitten before.
A dependency audit runbook was written; a cadence and a policy were not.
Where to build it
CONTRIBUTING.mdor a newdocs/dependencies.md.scripts/check-stellar-sdk-version.mjs— the existing guard.package.jsonfiles andcontracts/Cargo.toml.What to do
poseidon-bls12381and its circom twin must move together and are correctly pinned; state that reasoning.@stellar/stellar-sdkskew betweenapp(^16.0.1) and the others (^16.2.0).npm audit+cargo audit, quarterly minor bumps) and who does it.just verifylocally before merge.Acceptance criteria