chore: release v10.0.0-rc.4 (depends on #377 + #372)#378
Merged
branarakic merged 1 commit intomainfrom May 4, 2026
Merged
Conversation
Hotfix release on top of v10.0.0-rc.3. No contract redeploy on Base Sepolia beyond the Profile/Identity upgrade landed in #372 — the chainResetMarker is intentionally unchanged so per-node state (oxigraph store, RS WAL, publish journals) is preserved across the operator update. Ships: - PR #377: random-sampling kc-extractor accepts v9-style <owner>/<slug> context graph names again — restores ValidProofSubmitted on testnet for slash-named CGs (which is most of them). Includes unit + e2e regression tests and a devnet.sh quoting fix that was the precondition for validating the fix on a local devnet. - PR #372: Base Sepolia Profile v1.0.0 → v1.1.0 + Identity re-deploy in lockstep, so the post-PR-#366 ensureProfile flow can finally register op[1]/op[2] ACK signers via the new addOperationalWallets external function. Both contracts are pure logic; no migration; existing identities 1-14 unaffected. See CHANGELOG.md for the full per-PR breakdown. Co-authored-by: Cursor <cursoragent@cursor.com>
0a9d04b to
e8c0f55
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Release-prep for v10.0.0-rc.4, a hotfix on top of
v10.0.0-rc.3. Bumps root +packages/cliversions from10.0.0-rc.3→10.0.0-rc.4and adds a new[10.0.0-rc.4] - 2026-05-04section toCHANGELOG.mddescribing what landed.What's in this rc
fix(random-sampling): resolve CG names with "/" so v9-style <owner>/<slug> CGs sync #377 —
fix(random-sampling): resolve CG names with "/" so v9-style <owner>/<slug> CGs syncRestores random-sampling proof submission on testnet for slash-named CGs, which is most of them. The kc-extractor's
resolveContextGraphNameFromOnChainIdwas rejecting any CG name containing/, so finalized KCs surfaced asKCNotFoundErrorand silently dropped every RS proof for v9-style namespaces. Validation now usesassertSafeIrion the derived meta-graph URI (the actual SPARQL injection surface) instead of an over-tight name-level allowlist. Reproduced first as a unit test, then end-to-end in hardhat, then validated on a local devnet (registered a0xdeadbeef…/devnet-slash-testCG, published into it, mined past the proofing-period boundary, observedsolved=trueon chain with zerokc-not-syncedwarnings).chore(deploy): upgrade Profile + Identity on Base Sepolia (enable 3-op-wallet ACK flow) #372 —
chore(deploy): upgrade Profile + Identity on Base Sepolia (enable 3-op-wallet ACK flow)Profilev1.0.0→v1.1.0andIdentityre-deploy in lockstep. The new Profile carries theaddOperationalWallets(uint72, address[])external function the post-PR-Release: auto-register operational ACK wallets #366ensureProfileflow expects; without itop[1]/op[2]ACK signer registration silently failed and onlyop[0]ever made it on-chain. Both contracts are pure logic; no per-identity state migration is required.Cut-over checklist (after merge)
Out of scope (deferred to v10.0.0-rc.5)
The other open testnet-incident PRs ship in the next rc:
fix(publisher): drop random fallback wallet + audit Wallet.createRandomfix(agent): refuse to register a CG that can never satisfy global quorumPhase B operator-hardening (
--epochs Nflag,/api/rs/statusendpoint, StorageACK success/rejection logs, TooLowBalance preflight) is not yet opened and ships in rc.5 or rc.6 depending on review velocity.Test plan
[10.0.0-rc.4]section accurately reflects what merged in fix(random-sampling): resolve CG names with "/" so v9-style <owner>/<slug> CGs sync #377 and chore(deploy): upgrade Profile + Identity on Base Sepolia (enable 3-op-wallet ACK flow) #372 (re-verify after both merge — rebase if rewording is needed)package.json+packages/cli/package.jsonare both at10.0.0-rc.4and no other monorepopackage.jsonfiles were bumped (matches the rc.2 → rc.3 release policy)markitdown-linux-x64,markitdown-darwin-arm64,markitdown-win32-x64.exe) to the GH Releasepnpm -r publish,npm view @origintrail-official/dkg versionreturns10.0.0-rc.4dkg update 10.0.0-rc.4 --allow-prereleasesucceeds,readlink "$DKG_HOME/releases/current"points at the new slot,cat "$DKG_HOME/.current-version"reads10.0.0-rc.4, no.update-pending.jsonValidProofSubmittedevent on chain within one proofing period, zero[rs.tick.kc-not-synced]warningsop[1]andop[2]are visible onProfile.getOperationalKeys(identityId)(no silentop[0]-only registration)Made with Cursor