Upgrade to Calcit 0.13.77 and validate strict dispatch / 升级并验证严格 dispatch - #40
Conversation
There was a problem hiding this comment.
🟡 Changes recommended
The updated store is now a nominal Store value but its snapshot schema metadata still declares Map, which can undermine type checking/analysis.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
Upgrades the project to Calcit 0.13.77 and aligns the provider dependency graph/lockfile, while tightening application typing to satisfy strict dispatch/dynamic-method analysis and strengthening CI validation (including Node 24 extension packaging checks).
Changes:
- Pin
@calcit/procsto 0.13.77 and update Calcit/provider versions indeps.cirru(Respo/Reel/UI/Markdown/etc). - Update
calcit.cirruto narrow stream receiver typing viastream-textand initializestoreas a nominalStore. - Harden CI (
upload.yaml) with strict caps/toolchain verification, canonical snapshot idempotence check, quality/tests, dynamic-method analysis, and PR validation-only (no deploy).
File summaries
| File | Description |
|---|---|
yarn.lock |
Locks @calcit/procs to 0.13.77 with updated checksum/resolution. |
package.json |
Pins @calcit/procs dependency to 0.13.77. |
deps.cirru |
Bumps Calcit to 0.13.77 and aligns Respo provider versions. |
calcit.cirru |
Narrows stream parsing receiver typing and constructs initial store as a Store. |
.github/workflows/upload.yaml |
Adds stricter CI validation (toolchain, canonical snapshot, tests, Node 24 build/extension validation) and gates deploy steps to push on main. |
history/202609051630-upgrade-calcit-01377.md |
Adds upgrade/validation notes and provider dynamic-method inventory documentation. |
Review details
Suppressed comments (1)
.github/workflows/upload.yaml:81
- The “Select deployment path” step is now gated to
pushonmain, so the shellif [ "$EVENT_NAME" = "pull_request" ]branch is dead code andEVENT_NAMEenv is unused. Simplifying this reduces maintenance overhead and avoids confusing future readers about PR deploy behavior.
- name: Select deployment path
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
id: deploy-path
env:
EVENT_NAME: ${{ github.event_name }}
REPOSITORY: ${{ github.repository }}
- Files reviewed: 6/7 changed files
- Comments generated: 1
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
|
@copilot review Please re-review the latest head |
Re-reviewed head |
There was a problem hiding this comment.
🟢 Approval recommended
The changes are consistent across deps/snapshot/CI, and the updated workflow validates formatting determinism, strict typing, dynamic-method budgets, quality, tests, and Node 24 extension packaging.
Review details
- Files reviewed: 6/7 changed files
- Comments generated: 0 new
- Review effort level: Lite
Summary / 摘要
pin Calcit and
@calcit/procsto exact 0.13.77 while preserving application version 0.0.5align the exact released Respo provider graph and immutable Yarn lock
narrow application-owned stream receiver typing and construct the initial nominal
Store, reaching zero application dynamic-method findingsstrengthen CI with strict Caps/toolchain, canonical Snapshot, quality/tests, Node 24 extension packaging, least privilege, and validation-only pull requests
将 Calcit 与
@calcit/procs精确固定到 0.13.77,并保持应用版本 0.0.5对齐已发布的精确 Respo provider graph 与不可变 Yarn lock
收窄应用自有 stream receiver 类型并构造 nominal
Store,使应用 dynamic-method findings 归零强化 CI:strict Caps/toolchain、Snapshot 幂等、quality/tests、Node 24 扩展打包、最小权限,以及 PR 仅验证不部署
Validation / 验证
caps --strict --cicaps verify --toolchainyarn install --immutablecalcit calcit.cirru edit formathash/diff checkcalcit calcit.cirru --check-onlycalcit calcit.cirru analyze dynamic-methods --max 0 --format json(0 application findings)calcit calcit.cirru analyze dynamic-methods --deps --format json(26 classified provider findings)calcit calcit.cirru analyze quality --baseline config/calcit-quality.cirrucalcit calcit.cirru test --summary-only --format json(5/5)fnm exec --using=24 yarn buildand extension manifest/assets/Node syntax checksTracks calcit-lang/calcit#863, calcit-lang/calcit#684, and calcit-lang/calcit#580.
Release metadata is intentionally excluded. After this implementation PR is reviewed, green, CLEAN, merged, and exact post-merge main Actions succeed, the next application release will be performed separately from synchronized
main.