Skip to content

chore(release): bump version set to 10.0.12 - #2073

Merged
Jurij89 merged 1 commit into
mainfrom
release/10.0.12-bump
Aug 4, 2026
Merged

chore(release): bump version set to 10.0.12#2073
Jurij89 merged 1 commit into
mainfrom
release/10.0.12-bump

Conversation

@Jurij89

@Jurij89 Jurij89 commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Summary

Release-prep bump for 10.0.12, per RELEASE_PROCESS.md §3. Moves the root package and all 20 packages/* workspaces to 10.0.12 in lockstep and converts [Unreleased] into the 10.0.12 CHANGELOG entry.

Last gate before the comprehensive devnet run (§4) and the signed tag (§5). No functional changes — all 10.0.12 code landed via #2072.

Changes

  • Version set → 10.0.12 (21 package.json files). Internal deps use workspace:*, so a partial bump would ship a skewed dependency graph.
  • CHANGELOG.md: new ## [10.0.12] section with an ### Upgrading from 10.0.11 matrix. [Unreleased] is now empty.

Version-only: pnpm-lock.yaml untouched. engines.node ranges from 10.0.10 preserved.

Why the CHANGELOG was rewritten rather than extended

The prior [Unreleased] body documented #2006 only — 8 of the 9 PRs in the release had no entry — in a single 2,834-character bullet, under a ### Operator knobs heading that appears nowhere else in the file. Since §6c copies this section verbatim into the GitHub Release, that would have shipped 1-of-9 coverage. The new section covers all nine PRs with the #2006 headline cut to house length (1,043 chars).

Why an upgrade matrix

§10 requires guidance for a breaking or builder-impacting release. Five independently builder-impacting changes, each verified in the shipped code:

  • A public export was removed from a published package — CATCHUP_BACKPRESSURE_RETRY_DELAYS_MS is in packages/agent/src/index.ts at v10.0.11 and absent at f9922f262. retryDelaysMs is now typed never (sync/catchup-policy.ts:145) and rejected at runtime (:245). No node is affected — the CLI depends on the agent as workspace:* — but external consumers of @origintrail-official/dkg-agent break at compile time and runtime.
  • New 503 on subscribe (CATCHUP_SHUTTING_DOWN).
  • DKGAgent.stop() now rejects on a drain timeout where 10.0.11 warned and continued.
  • sync-global operation becomes <work class>:<source> — dashboards grouping on it need updating.
  • Write routes validate a qualified contextGraphId at the point instead of falling back to a catalog scan; a qualified ID for an unsynced graph now gets a fast 400.

⚠️ One defect ships knowingly

Recorded under ### Known issues, not silently:

On sync-global, per-lane state in GET /api/diagnostics/backpressure cannot reflect a full global queue. packages/agent/src/sync/priority-admission-queue.ts:177-180 calls updatePressureCapacity({ queueLimit, inflightLimit }) with no lanes map, while packages/storage/src/store-priority-scheduler.ts:313 does pass one; packages/core/src/backpressure-observability.ts:361-362 reads lane limits only from capacity.lanes?.[lane], so both the queue-full and utilization branches are dead for every sync lane. A saturated sync-global scheduler can report every lane healthy until queue age or a rejection moves it.

Scope is the per-lane state field only — the scheduler rollup that /api/status publishes is computed from totals.queueLimit and is correct, and the store scheduler is unaffected. All 18 review threads on #2003 remain unresolved. Worth deciding whether this blocks the tag or ships as documented.

Prior-review follow-through

Concerns raised on earlier reviews of this work, checked against the shipped code:

Concern PR Verdict
Retry loop's updated_at touch defeats the TTL prune, removing a self-heal #2002 RESOLVED — prune unchanged; a bounded 7-day retry budget now retires a row to REJECTED
CAS after apply ⇒ double-write #2002 NOT REPRODUCED — ordering unchanged by this PR
Jammed sync lane reads healthy #2003 NOT RESOLVED — see above
Gates added by W2a are green-and-inert #2051/#2059 RESOLVED — mutation-tested; the abandoned form survived the same mutation
Catch-up early stop must be curator-only, empty must be whole-round #2007 RESOLVED — verified at catchup-runner-worker-impl.ts:490 and catchup-runner.ts:802-841

Green-and-inert gates: none found. Every newly added gate in the range was probed for whether it can actually fail.

Open before tagging

Test Plan

  • pnpm release:verify-versions --version 10.0.12 → passes, 21/21
  • Version-only diff; pnpm-lock.yaml untouched; engines.node preserved
  • Removed-export and lane-attribution claims verified directly against both refs
  • CI green
  • §4 devnet gate on the resulting main commit

Related

All 10.0.12 code landed via #2072. #1985 and #1971 remain open and are not in this release.

🤖 Generated with Claude Code

Move the root package and all 20 packages/* workspaces to 10.0.12 in
lockstep, per RELEASE_PROCESS.md §3, and convert the [Unreleased]
section into the 10.0.12 CHANGELOG entry.

Version-only bump: pnpm-lock.yaml is untouched, so
`pnpm install --frozen-lockfile` stays valid.
`pnpm release:verify-versions --version 10.0.12` passes (21/21). The
engines.node ranges added in 10.0.10 are preserved unchanged.

CHANGELOG: the prior [Unreleased] body documented only #2006, in a
single 2.8k-character bullet, under a non-house-style `### Operator
knobs` heading. It is replaced by a full section covering all nine PRs
(#2067, #2053, #2059, #2051, #2033, #2007, #2010, #2003, #2002) with
the #2006 headline cut to house length.

Carries an `### Upgrading from 10.0.11` matrix, required by §10. The
release removes a public export from a published package — verified:
CATCHUP_BACKPRESSURE_RETRY_DELAYS_MS is exported from
packages/agent/src/index.ts at v10.0.11 and absent at f9922f2, and
`retryDelaysMs` is now typed `never` (sync/catchup-policy.ts:145) and
rejected at runtime (:245). Also covered: a new 503 on subscribe,
DKGAgent.stop() now rejecting on a drain timeout, the sync-global
`operation` dimension becoming `<work class>:<source>`, and the
write-preflight tightening.

Known issues records a defect that ships knowingly: on sync-global,
per-lane `state` cannot reflect a full global queue because
priority-admission-queue.ts:177-180 calls updatePressureCapacity without
a `lanes` map, while backpressure-observability.ts:361-362 reads lane
limits only from capacity.lanes. The scheduler rollup that /api/status
publishes is correct; the store scheduler is unaffected.

No Solidity source, ABI, or deployment-registry changes since v10.0.11,
so no contract deployment. Dashboard SQLite stays at SCHEMA_VERSION 31.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@Jurij89
Jurij89 merged commit 843f521 into main Aug 4, 2026
31 checks passed

@otReviewAgent otReviewAgent left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Review Agent completed this review and found no issues.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants