@calcit/procs 0.12.52 → 0.12.54
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.yarn/install-state.gz +0 -0
- package/README.md +9 -10
- package/RFCs/03-18-query-def-tree-show-chunked-display-plan.md +1 -1
- package/RFCs/04-13-type-slot-mechanism-rfc.md +516 -115
- package/RFCs/04-16-wasm-data-structures.md +1 -1
- package/RFCs/07-06-semantic-tree-navigation-rfc.md +10 -10
- package/RFCs/07-26-agent-docs-and-evaluation-rfc.md +33 -0
- package/RFCs/07-26-agent-machine-protocol-rfc.md +102 -0
- package/RFCs/07-26-safe-structured-editing-rfc.md +66 -0
- package/RFCs/07-26-static-semantic-analysis-rfc.md +105 -0
- package/RFCs/07-28-git-module-store-rfc.md +59 -0
- package/RFCs/07-28-persistent-tree-cursor-rfc.md +287 -0
- package/RFCs/README.md +9 -2
- package/editing-history/2026-02-23-2321-ns-imports-code-fixes.md +7 -7
- package/editing-history/2026-02-27-2200-split-def-command.md +3 -3
- package/editing-history/2026-02-27-2212-tree-raise-wrap.md +4 -4
- package/editing-history/2026-03-10-1040-edit-schema-primitive-tag-support.md +4 -4
- package/editing-history/2026-07-26-1313-cli-long-option-hints.md +14 -0
- package/editing-history/2026-07-26-1341-method-display-literals.md +5 -0
- package/editing-history/2026-07-26-2104-agent-semantic-interface-rfc.md +11 -0
- package/editing-history/2026-07-26-2107-static-analysis-agent-cli.md +30 -0
- package/editing-history/2026-07-28-1346-edit-transaction.md +27 -0
- package/editing-history/2026-07-28-1454-persistent-tree-cursor.md +30 -0
- package/editing-history/2026-07-28-1651-cursor-focus-stack-clipboard.md +30 -0
- package/editing-history/2026-07-28-1719-cursor-navigation-search-selection.md +21 -0
- package/editing-history/2026-07-28-1958-agent-rfc-split.md +14 -0
- package/editing-history/2026-07-28-2004-cursor-editing-docs.md +14 -0
- package/editing-history/2026-07-28-2132-cursor-recoverable-clipboard.md +18 -0
- package/editing-history/2026-07-28-2151-cursor-native-structural-editing.md +20 -0
- package/editing-history/2026-07-28-2158-document-cursor-native-workflows.md +13 -0
- package/editing-history/2026-07-29-0022-add-cursor-cli-options.md +7 -0
- package/editing-history/2026-07-29-0022-audit-cursor-development-scenarios.md +6 -0
- package/editing-history/2026-07-29-0022-complete-cursor-structural-edits.md +8 -0
- package/editing-history/2026-07-29-0022-document-cursor-edit-recipes.md +8 -0
- package/editing-history/2026-07-29-0022-echo-cursor-commands.md +6 -0
- package/editing-history/2026-07-29-0022-edit-target-cursor-alias.md +6 -0
- package/editing-history/2026-07-29-0022-guide-agents-through-cursor-workflows.md +7 -0
- package/editing-history/2026-07-29-0022-query-from-active-cursor.md +8 -0
- package/editing-history/2026-07-29-0022-tree-target-cursor-alias.md +5 -0
- package/editing-history/2026-07-29-1242-agent-guide-cold-start-validation.md +15 -0
- package/editing-history/2026-07-29-1242-cirru-quote-input-errors.md +13 -0
- package/editing-history/2026-07-29-1242-internal-wasm-doc-boundary.md +13 -0
- package/editing-history/2026-07-30-1130-pr-281-review-fixes.md +5 -0
- package/editing-history/20260728-1500-caps-module-status.md +17 -0
- package/editing-history/20260728-1501-release-0.12.53.md +6 -0
- package/editing-history/20260729-1421-consolidate-local-state-and-cursor-tools.md +22 -0
- package/editing-history/20260729-1422-document-calcit-local-state.md +15 -0
- package/editing-history/20260729-1952-strengthen-polymorphism-diagnostics.md +21 -0
- package/editing-history/202607301429-entry-type-slots.md +29 -0
- package/editing-history/202607301435-release-0.12.54.md +22 -0
- package/editing-history/archived/2026-03-20-1229-query-window-3-with-parent-preview.md +5 -5
- package/editing-history/archived/2026-03-23-1137-command-echo-tool-output-cleanup.md +2 -2
- package/lib/calcit.procs.d.mts +1 -0
- package/lib/package.json +3 -2
- package/package.json +3 -2
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# Cursor 与 transaction 使用文档
|
|
2
|
+
|
|
3
|
+
## 概要
|
|
4
|
+
|
|
5
|
+
- 在 Agent 指南中补充通过搜索结果设置 cursor、用 `@cursor` 进行连续树形编辑、导航栈与结构化 clipboard 的推荐流程。
|
|
6
|
+
- 在结构化编辑参考中完整记录 cursor sidecar、focus/node/full 展示、mutation 后坐标维护与 `--cursor-after` 回显控制。
|
|
7
|
+
- 记录 Cirru EDN transaction 的主要输入形式、quoted code、dry-run、revision 检查与 JSON 兼容边界。
|
|
8
|
+
- 将新增命令加入 Agent 能力地图和文档 frontmatter,便于结构化文档查询定位。
|
|
9
|
+
|
|
10
|
+
## 一致性
|
|
11
|
+
|
|
12
|
+
- 文档示例沿用既有 `cr` 子命令风格,不引入 Cargo 风格命令。
|
|
13
|
+
- 所有路径仍指向 Snapshot 中的 Cirru tree,展示用 `CURSOR` 不改变真实源码与 path。
|
|
14
|
+
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Cursor clipboard 可恢复提交与精简状态
|
|
2
|
+
|
|
3
|
+
## 概要
|
|
4
|
+
|
|
5
|
+
- `.calcit-cursor.cirru` 升级到 schema v3,继续读取 v1/v2;active、history 与 stack 不再重复保存完整 subtree preview,展示时从当前 Snapshot 重建。
|
|
6
|
+
- `cursor cut` 和 `cursor paste` 在修改任何目标文件前先生成 Snapshot 与 sidecar staged 文件,避免序列化或临时文件失败造成半成品。
|
|
7
|
+
- cut 按 sidecar→Snapshot 顺序提交,确保 Snapshot 提交失败时完整表达式已经存在于结构化 clipboard。
|
|
8
|
+
- paste 按 Snapshot→sidecar 顺序提交;若第二步失败,错误明确说明源码已经修改并禁止盲目重试。
|
|
9
|
+
- `cursor show` 构造真实节点和 focus preview 时复用同一次 Snapshot 读取,减少重复解析。
|
|
10
|
+
|
|
11
|
+
## 验证
|
|
12
|
+
|
|
13
|
+
- 新增 cut 第二阶段失败时 clipboard 已持久化的故障注入测试。
|
|
14
|
+
- 新增 paste cursor 提交失败时 Snapshot 已提交且错误包含 partial-success 指引的测试。
|
|
15
|
+
- sidecar round-trip 断言 schema v3 且不包含 `:preview`。
|
|
16
|
+
- `cargo test --bin cr cursor`
|
|
17
|
+
- `cargo clippy --bin cr -- -D warnings`
|
|
18
|
+
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Cursor 原生结构编辑与跨层导航
|
|
2
|
+
|
|
3
|
+
## 概要
|
|
4
|
+
|
|
5
|
+
- 新增 `cursor apply <operation>`,由 active cursor 推导 definition target 与 tree path,再复用既有 tree handler,避免 Agent 在连续操作中重复传递坐标。
|
|
6
|
+
- 新增 `cursor slurp-next` 与 `cursor barf-last`,通过已有 `edit mv` 完成跨 parent 的 Paredit 风格节点移动,cursor 始终跟随原先选中的 list。
|
|
7
|
+
- 新增 `cursor forward/backward --count N`,按 definition 的深度优先结构顺序跨 list 边界移动,并把整次多步移动记录为一条 history。
|
|
8
|
+
- 当顶层使用 `--cursor-after focus` 时,set、search 选中、普通导航与 history/stack 恢复会立即输出 focus preview。
|
|
9
|
+
- 非法 root、leaf、空 list、缺少 sibling、零步和越界操作均在写 Snapshot 前失败。
|
|
10
|
+
|
|
11
|
+
## 验证
|
|
12
|
+
|
|
13
|
+
- `cargo fmt`
|
|
14
|
+
- `cargo clippy -- -D warnings`
|
|
15
|
+
- `cargo test`
|
|
16
|
+
- `yarn compile`
|
|
17
|
+
- `yarn check-agent-interface`
|
|
18
|
+
- `yarn check-all`
|
|
19
|
+
- `cr docs check-md` 检查 Agent 指南和 tree editing 文档。
|
|
20
|
+
- 全局安装当前 `cr` 后,在 Respo workflow 临时副本往返执行 depth-first navigation、swap、slurp/barf;Snapshot 与原文件逐字节一致,`cr js` 成功。
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# 补充 Cursor 原生工作流文档
|
|
2
|
+
|
|
3
|
+
## 概要
|
|
4
|
+
|
|
5
|
+
- RFC 增加 `cursor apply`、`slurp-next`、`barf-last`、`forward/backward` 的命令契约、复用边界和验收项。
|
|
6
|
+
- Agent 快速指南说明同级导航与跨 list 深度优先导航的区别,并加入 cursor 原生 mutation 的选择建议。
|
|
7
|
+
- tree editing 指南补充完整命令示例、`--cursor-after focus` 的导航反馈,以及 `unwrap` 并非任意 wrapper 的严格逆操作这一边界。
|
|
8
|
+
|
|
9
|
+
## 验证
|
|
10
|
+
|
|
11
|
+
- `target/debug/cr calcit/test.cirru docs check-md docs/CalcitAgent.md --entry calcit/test.cirru`
|
|
12
|
+
- `target/debug/cr calcit/test.cirru docs check-md docs/run/edit-tree.md --entry calcit/test.cirru`
|
|
13
|
+
- `git diff --check`
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# Cursor CLI surface
|
|
2
|
+
|
|
3
|
+
- Added symmetric `slurp-prev` and `barf-first` cursor commands.
|
|
4
|
+
- Added `cursor duplicate --at before|after`.
|
|
5
|
+
- Added `--start-path` to structural expression search.
|
|
6
|
+
|
|
7
|
+
Validation for the complete change set: `cargo fmt`, `cargo clippy -- -D warnings`, `cargo test`, `yarn compile`, `yarn check-agent-interface`, and `yarn check-all`.
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
# Audit cursor development scenarios
|
|
2
|
+
|
|
3
|
+
- Mapped the cursor contract to high-frequency development workflows.
|
|
4
|
+
- Specified symmetric Paredit operations, duplication, target aliases, and subtree search.
|
|
5
|
+
- Clarified transaction, source-undo, and concurrent-agent boundaries.
|
|
6
|
+
- Kept workspace, module, and project-wide operations explicit rather than cursor-dependent.
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
# Complete cursor structural edits
|
|
2
|
+
|
|
3
|
+
- Implemented leftward slurp/barf operations and clipboard-preserving duplication.
|
|
4
|
+
- Used staged Snapshot and sidecar writes with explicit partial-success diagnostics.
|
|
5
|
+
- Added reusable active target/path resolution for `@cursor` aliases.
|
|
6
|
+
- Covered selection tracking, invalid boundaries, and parallel-test temporary-directory collisions.
|
|
7
|
+
|
|
8
|
+
The operations were round-trip tested on a temporary copy of `respo-calcit-workflow` with the globally installed `cr`.
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
# Document cursor edit recipes
|
|
2
|
+
|
|
3
|
+
- Added concrete recipes for cursor-aware query, tree, and edit commands.
|
|
4
|
+
- Documented symmetric slurp/barf and clipboard-preserving duplicate operations.
|
|
5
|
+
- Added cursor-scoped leaf and structural searches.
|
|
6
|
+
- Clarified navigation history and multi-agent boundaries.
|
|
7
|
+
|
|
8
|
+
The documented workflow was exercised against a temporary Respo project and finished with a successful JS build.
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
# Cursor command echo
|
|
2
|
+
|
|
3
|
+
- Added machine-readable command echo fields and human explanations for the new cursor operations.
|
|
4
|
+
- Included structural search start paths in echoed query commands.
|
|
5
|
+
|
|
6
|
+
This keeps CLI diagnostics consistent with the existing command protocol.
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
# Edit target cursor alias
|
|
2
|
+
|
|
3
|
+
- Added `@cursor` definition targets to definition, metadata, copy/move, rename, and split operations.
|
|
4
|
+
- Defined the alias as the source for two-target commands while keeping destinations explicit.
|
|
5
|
+
- Reused a single active target/path resolution when an edit references both.
|
|
6
|
+
- Left transaction operation files self-contained with concrete targets and paths.
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# Guide agents through cursor workflows
|
|
2
|
+
|
|
3
|
+
- Documented cursor target aliases and subtree-scoped search for agents.
|
|
4
|
+
- Added symmetric structural editing and duplication guidance.
|
|
5
|
+
- Clarified that cursor history is navigation-only and the sidecar is not a concurrency primitive.
|
|
6
|
+
|
|
7
|
+
All executable Markdown blocks passed `cr docs check-md`.
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
# Query from the active cursor
|
|
2
|
+
|
|
3
|
+
- Allowed definition-oriented queries to use `@cursor` as their target.
|
|
4
|
+
- Added cursor-scoped structural expression search with absolute result paths.
|
|
5
|
+
- Made `query type-at @cursor --path @cursor` resolve one validated cursor state.
|
|
6
|
+
- Rejected conflicting explicit filters for cursor-scoped searches.
|
|
7
|
+
|
|
8
|
+
Real-project checks covered search selection, type evidence, and bounded semantic context.
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
# Tree target cursor alias
|
|
2
|
+
|
|
3
|
+
- Allowed every target-bearing `cr tree` command to resolve `@cursor` as both definition target and structural path.
|
|
4
|
+
- Reused one validated active cursor when both aliases occur in the same command.
|
|
5
|
+
- Preserved target mismatch rejection for explicit definitions.
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Agent guide cold-start validation
|
|
2
|
+
|
|
3
|
+
- Reworked the embedded Agent guide around Snapshot identity, Cirru AST boundaries, query-to-cursor workflows, structural editing, and layered validation.
|
|
4
|
+
- Preserved the high-frequency Cirru rules that fresh agents commonly misapply, while routing lower-frequency operations through live CLI documentation.
|
|
5
|
+
- Added practical cursor guidance for sibling insertion, clipboard state, inherited sidecars, focused previews, invalid navigation, and non-invertible unwrap operations.
|
|
6
|
+
- Corrected error recovery guidance so current stderr takes precedence over stale persisted runtime stacks.
|
|
7
|
+
- Validated the guide through isolated cold-start trials in a real Respo project without committing experimental changes.
|
|
8
|
+
|
|
9
|
+
Validation:
|
|
10
|
+
|
|
11
|
+
- `bash scripts/check-docs-md.sh` (52 files, 286 blocks)
|
|
12
|
+
- `yarn check-agent-interface` (12 scenarios)
|
|
13
|
+
- `cargo test cli_handlers::docs::tests::agents_docs_default_to_the_version_matched_embedded_guide`
|
|
14
|
+
- Isolated `cr --check-only` and `cr js` trials in `respo-calcit-workflow` copies
|
|
15
|
+
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Cirru quote input diagnostics
|
|
2
|
+
|
|
3
|
+
- Clarified CLI errors for missing or malformed `quote` transport wrappers.
|
|
4
|
+
- Distinguished symbol, string, and expression payload examples in parser hints.
|
|
5
|
+
- Added coverage for ambiguous bare forms and multi-payload quote input.
|
|
6
|
+
|
|
7
|
+
Validation:
|
|
8
|
+
|
|
9
|
+
- `cargo fmt`
|
|
10
|
+
- `cargo clippy -- -D warnings`
|
|
11
|
+
- `cargo test`
|
|
12
|
+
- `yarn check-all`
|
|
13
|
+
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Internal WASM documentation boundary
|
|
2
|
+
|
|
3
|
+
- Removed `cr-wasm` from installation, quick-reference, feature, and public CLI documentation.
|
|
4
|
+
- Kept the WASM backend implementation and validation workflow unchanged.
|
|
5
|
+
- Moved the detailed backend notes under `scripts/` and reframed them as repository-internal validation documentation.
|
|
6
|
+
- Reduced `cr ir` coverage to a short compiler-debugging note instead of presenting it as a normal project workflow.
|
|
7
|
+
|
|
8
|
+
Validation:
|
|
9
|
+
|
|
10
|
+
- `bash scripts/check-docs-md.sh`
|
|
11
|
+
- `yarn check-all`
|
|
12
|
+
- `git diff --check`
|
|
13
|
+
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
# PR 281 review fixes
|
|
2
|
+
|
|
3
|
+
- Guard recursive static definition inference, falling back to `:dynamic` for cycles.
|
|
4
|
+
- Validate dependency module paths before filesystem or Git operations and avoid reporting a reset for untracked-only changes.
|
|
5
|
+
- Correct JS FFI intent classification, bounded cursor state recovery, and CLI/documentation consistency.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# 2026-07-28 caps 模块状态检查与重置
|
|
2
|
+
|
|
3
|
+
## 修改概要
|
|
4
|
+
|
|
5
|
+
- 为 `caps` 增加 `status` 子命令,检查 `deps.cirru` 声明模块的版本、缺失状态和本地 Git 修改。
|
|
6
|
+
- 为 `caps` 增加 `reset` 子命令,重置已安装模块的 tracked 本地修改。
|
|
7
|
+
- 普通 `caps` 同步前增加本地模块状态提示。
|
|
8
|
+
- 补充依赖加载文档。
|
|
9
|
+
|
|
10
|
+
## 验证
|
|
11
|
+
|
|
12
|
+
- `cargo fmt`
|
|
13
|
+
- `cargo clippy -- -D warnings`
|
|
14
|
+
- `cargo test`
|
|
15
|
+
- `yarn compile`
|
|
16
|
+
- `yarn check-all`
|
|
17
|
+
- `yarn check-agent-interface`
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Consolidate local state and cursor tools
|
|
2
|
+
|
|
3
|
+
## Summary
|
|
4
|
+
|
|
5
|
+
- Consolidated project-local sidecar files under `.calcit/`: cursor state now uses `.calcit/cursor.cirru`, and persisted runtime errors use `.calcit/error.cirru`.
|
|
6
|
+
- Added one-time migration from `.calcit-cursor.cirru` and `.calcit-error.cirru` without dual writes.
|
|
7
|
+
- Kept state paths relative to the selected snapshot, including commands invoked from another working directory.
|
|
8
|
+
- Extended cursor schema v4 with one region anchor, up to 16 named marks, and a compact last-query descriptor.
|
|
9
|
+
- Added `cursor anchor`, `clear-anchor`, `region`, `mark`, `goto`, `marks`, and `rm-mark`, plus `query next` and `query prev`.
|
|
10
|
+
- Applied the same path transforms to the active cursor, anchor, and marks during structural edits; stale query continuation is rejected after a snapshot revision change.
|
|
11
|
+
- Bounded the complete cursor file to 64 KiB and retained existing history, stack, and mark count limits.
|
|
12
|
+
|
|
13
|
+
## Validation
|
|
14
|
+
|
|
15
|
+
- `cargo fmt`
|
|
16
|
+
- `cargo clippy --all-targets -- -D warnings`
|
|
17
|
+
- `cargo test`
|
|
18
|
+
- `yarn compile`
|
|
19
|
+
- `yarn check-all`
|
|
20
|
+
- `yarn check-agent-interface`
|
|
21
|
+
- Real-project regression on a temporary Respo workflow copy, including legacy migration, region/marks/query continuation, and successful `cr js` compilation.
|
|
22
|
+
- Release binary changed from 8,196,752 bytes to 8,280,352 bytes on the same arm64 build environment (about 1.02%).
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Document Calcit local state
|
|
2
|
+
|
|
3
|
+
## Summary
|
|
4
|
+
|
|
5
|
+
- Documented `.calcit/` as the bounded project-local state directory and recommended ignoring the directory as a unit.
|
|
6
|
+
- Updated cursor RFC and Agent guidance for anchor/region, named marks, query continuation, migration behavior, and state-size limits.
|
|
7
|
+
- Moved the recommended multiline snippet location to `.calcit/snippets/`.
|
|
8
|
+
- Updated error-stack references to `.calcit/error.cirru` while preserving historical editing records.
|
|
9
|
+
- Clarified that `.compact-inc.cirru` remains the existing watcher protocol rather than project-local diagnostic state.
|
|
10
|
+
- Corrected repository-local Agent examples and replaced the obsolete binary-size threshold with a same-platform exact-byte baseline comparison.
|
|
11
|
+
|
|
12
|
+
## Validation
|
|
13
|
+
|
|
14
|
+
- `target/debug/cr docs check-md docs/CalcitAgent.md --entry calcit/test.cirru` (4/4 blocks passed)
|
|
15
|
+
- `git diff --check`
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# Strengthen polymorphism diagnostics
|
|
2
|
+
|
|
3
|
+
## Summary
|
|
4
|
+
|
|
5
|
+
- Clarified the static-semantics RFC around parametric generics, trait bounds, applied data types, callback contracts, enums, optionals, and type slots.
|
|
6
|
+
- Restored the intended compatibility rule that legacy `:any` is parsed and serialized as `:dynamic`, rather than acting as a separate static top type.
|
|
7
|
+
- Added generic and trait-bound evidence to type-coverage reports.
|
|
8
|
+
- Added stable aggregate diagnostics for coverage gaps and unresolved dynamic debt, including per-occurrence impact and relationship-aware suggestions for Agents.
|
|
9
|
+
- Reduced false positives from generated metadata namespaces, `defimpl` declarations, and singleton-list wrappers around Cirru data declarations.
|
|
10
|
+
- Updated Agent and feature documentation with a concise workflow for replacing accidental dynamic types with concrete types, type variables, trait bounds, parameterized containers, or enums.
|
|
11
|
+
|
|
12
|
+
## Validation
|
|
13
|
+
|
|
14
|
+
- `cargo fmt`
|
|
15
|
+
- `cargo clippy -- -D warnings`
|
|
16
|
+
- `cargo test`
|
|
17
|
+
- `yarn compile`
|
|
18
|
+
- `yarn check-agent-interface` (12/12 scenarios)
|
|
19
|
+
- `yarn check-all`
|
|
20
|
+
- `cr docs check-md` for `docs/CalcitAgent.md`, `docs/features/static-analysis.md`, and `docs/features/polymorphism.md`
|
|
21
|
+
- Real-project regression on a temporary Respo workflow copy, including type reports and successful `cr js` compilation.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Entry-level type slots
|
|
2
|
+
|
|
3
|
+
Date: 2026-07-30 14:29 +0800
|
|
4
|
+
|
|
5
|
+
## Context
|
|
6
|
+
|
|
7
|
+
`with-type-slot` represented a build-wide type choice as a body wrapper. Its single-body and multi-body preprocessing paths diverged, so adding an otherwise meaningless `do` could decide whether a runtime `with-type-slot` call leaked into generated code. Respo also needs the same dispatch `Op` type across a large component call graph without passing generics through every API.
|
|
8
|
+
|
|
9
|
+
## Changes
|
|
10
|
+
|
|
11
|
+
- Added optional `:type-slots` maps to default and named entry configurations.
|
|
12
|
+
- Added `cr config type-slots`, `set-type-slot`, and `rm-type-slot` commands.
|
|
13
|
+
- Installed the selected entry's bindings before preprocessing and validated configured full type paths after module loading.
|
|
14
|
+
- Kept named entry configurations independent instead of inheriting default bindings.
|
|
15
|
+
- Made `with-type-slot` compile-time-only for both single and multiple bodies; codegen now rejects leaked forms.
|
|
16
|
+
- Preserved unrelated raw Snapshot EDN when a type-slot config command writes its map.
|
|
17
|
+
- Migrated type-slot fixtures and added round-trip, entry isolation, diagnostic, and multi-body erasure coverage.
|
|
18
|
+
- Updated the static-analysis, entry, project-structure, core API, and RFC documentation.
|
|
19
|
+
|
|
20
|
+
## Validation
|
|
21
|
+
|
|
22
|
+
- `cargo fmt --all`
|
|
23
|
+
- `cargo clippy -- -D warnings`
|
|
24
|
+
- `cargo test`
|
|
25
|
+
- `yarn compile`
|
|
26
|
+
- `yarn check-agent-interface`
|
|
27
|
+
- `yarn check-all`
|
|
28
|
+
- Calcit Markdown checks for the updated static-analysis and entry documentation
|
|
29
|
+
- Respo main/test entry regression, JS codegen, Node tests, and all Markdown code blocks with the new CLI
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Release 0.12.54
|
|
2
|
+
|
|
3
|
+
Date: 2026-07-30 14:35 +0800
|
|
4
|
+
|
|
5
|
+
## Release scope
|
|
6
|
+
|
|
7
|
+
- Entry-level `:type-slots` configuration and CLI management commands.
|
|
8
|
+
- Compile-time-only `with-type-slot` erasure for single and multiple bodies.
|
|
9
|
+
- Snapshot/config preservation, type-slot diagnostics, regression fixtures, and documentation.
|
|
10
|
+
- The earlier PR 281 review fixes already carried by the same branch.
|
|
11
|
+
|
|
12
|
+
## Pre-release evidence
|
|
13
|
+
|
|
14
|
+
- Feature commit `5e180a2e` passed the repository Test workflow on PR #282.
|
|
15
|
+
- Local validation passed `cargo fmt`, Clippy with warnings denied, all Rust tests, TypeScript compilation, Agent interface checks, and the full Rust/JS/WASM integration suite.
|
|
16
|
+
- Respo passed check-only, JS codegen, Node tests, and all Markdown checks with the new CLI.
|
|
17
|
+
|
|
18
|
+
## Version changes
|
|
19
|
+
|
|
20
|
+
- `Cargo.toml`: `0.12.54`
|
|
21
|
+
- `package.json`: `0.12.54`
|
|
22
|
+
- `Cargo.lock`: refreshed with `cargo update --workspace`
|
|
@@ -60,13 +60,13 @@
|
|
|
60
60
|
- 可见 `--detail-offset` 参数。
|
|
61
61
|
- `cargo run --bin cr -- /Users/jon.chen/repo/respo/respo/calcit.cirru query search --help`
|
|
62
62
|
- `--start-path` 示例为点号格式。
|
|
63
|
-
- `cargo run --bin cr -- /Users/jon.chen/repo/respo/respo/calcit.cirru query search state
|
|
63
|
+
- `cargo run --bin cr -- /Users/jon.chen/repo/respo/respo/calcit.cirru query search state --filter respo.app.comp.todolist/comp-todolist --detail-offset 5`
|
|
64
64
|
- 输出降噪,路径为点号,窗口外压缩。
|
|
65
|
-
- `cargo run --bin cr -- /Users/jon.chen/repo/respo/respo/calcit.cirru query search state
|
|
65
|
+
- `cargo run --bin cr -- /Users/jon.chen/repo/respo/respo/calcit.cirru query search state --filter respo.app.comp.todolist/comp-todolist --detail-offset 0`
|
|
66
66
|
- 详情窗口为 `[0, 3)`,每条命中仅展示一行(优先父节点预览)。
|
|
67
|
-
- `cargo run --bin cr -- /Users/jon.chen/repo/respo/respo/calcit.cirru query search state
|
|
67
|
+
- `cargo run --bin cr -- /Users/jon.chen/repo/respo/respo/calcit.cirru query search state --filter respo.app.comp.todolist/comp-todolist --detail-offset 0 --exact`
|
|
68
68
|
- 精确命中不再把 `states` 视觉误判为 `state`;且不显示“add --exact”提示。
|
|
69
|
-
- `cargo run --bin cr -- /Users/jon.chen/repo/respo/respo/calcit.cirru query search-expr state
|
|
69
|
+
- `cargo run --bin cr -- /Users/jon.chen/repo/respo/respo/calcit.cirru query search-expr state --filter respo.app.comp.todolist/comp-todolist --detail-offset 0`
|
|
70
70
|
- 输出样式一致(单行预览)。
|
|
71
|
-
- `cargo run --bin cr -- /Users/jon.chen/repo/respo/respo/calcit.cirru query search-expr state
|
|
71
|
+
- `cargo run --bin cr -- /Users/jon.chen/repo/respo/respo/calcit.cirru query search-expr state --filter respo.app.comp.todolist/comp-todolist --detail-offset 0 --exact`
|
|
72
72
|
- 结果为 `No matches found`,符合结构精确匹配预期。
|
|
@@ -60,8 +60,8 @@
|
|
|
60
60
|
- `cargo run --bin cr -- calcit/test.cirru analyze js-unescape 'demo_$q_'`
|
|
61
61
|
- `cargo run --bin cr -- calcit/test.cirru query ns app.main`
|
|
62
62
|
- `cargo run --bin cr -- calcit/test.cirru query find render`
|
|
63
|
-
- `cargo run --bin cr -- calcit/test.cirru tree show app.main/test-json
|
|
64
|
-
- `cargo run --bin cr -- calcit/test.cirru docs search chunk
|
|
63
|
+
- `cargo run --bin cr -- calcit/test.cirru tree show app.main/test-json --path ''`
|
|
64
|
+
- `cargo run --bin cr -- calcit/test.cirru docs search chunk --filename agent-advanced.md`
|
|
65
65
|
- `cargo run --bin cr -- demos/calcit.cirru docs check-md docs/CalcitAgent.md`
|
|
66
66
|
- `cargo run --bin cr -- /tmp/calcit-cli-demo/calcit.cirru tree replace ...` 多次人工检查 replace 输出形态
|
|
67
67
|
|
package/lib/calcit.procs.d.mts
CHANGED
package/lib/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@calcit/procs",
|
|
3
|
-
"version": "0.12.
|
|
3
|
+
"version": "0.12.54",
|
|
4
4
|
"main": "./lib/calcit.procs.mjs",
|
|
5
5
|
"devDependencies": {
|
|
6
6
|
"@types/node": "^25.7.0",
|
|
@@ -18,7 +18,8 @@
|
|
|
18
18
|
"test-snippets": "cargo test -q snippets::tests",
|
|
19
19
|
"bench-recur-smoke": "cargo run --bin cr -- calcit/test.cirru js && node --input-type=module -e \"import { test_loop } from './js-out/test-recursion.main.mjs'; const n=3000; const t0=process.hrtime.bigint(); for(let i=0;i<n;i++) test_loop(); const dt=Number(process.hrtime.bigint()-t0)/1e6; console.log('test_loop_ms='+dt.toFixed(3));\"",
|
|
20
20
|
"check-smooth": "yarn fmt-rs && yarn lint-rs && yarn test-rs && yarn check-all",
|
|
21
|
-
"check-all": "yarn compile && yarn try-rs && yarn try-js && yarn try-ir && yarn try-wasm",
|
|
21
|
+
"check-all": "yarn compile && yarn check-agent-interface && yarn try-rs && yarn try-js && yarn try-ir && yarn try-wasm",
|
|
22
|
+
"check-agent-interface": "cargo build --bin cr && node scripts/check-agent-interface.mjs",
|
|
22
23
|
"try-all": "yarn check-all",
|
|
23
24
|
"try-rs": "cargo run --bin cr -- calcit/test.cirru",
|
|
24
25
|
"warn-dyn-method": "cargo run --bin cr -- calcit/test.cirru --warn-dyn-method",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@calcit/procs",
|
|
3
|
-
"version": "0.12.
|
|
3
|
+
"version": "0.12.54",
|
|
4
4
|
"main": "./lib/calcit.procs.mjs",
|
|
5
5
|
"devDependencies": {
|
|
6
6
|
"@types/node": "^25.7.0",
|
|
@@ -18,7 +18,8 @@
|
|
|
18
18
|
"test-snippets": "cargo test -q snippets::tests",
|
|
19
19
|
"bench-recur-smoke": "cargo run --bin cr -- calcit/test.cirru js && node --input-type=module -e \"import { test_loop } from './js-out/test-recursion.main.mjs'; const n=3000; const t0=process.hrtime.bigint(); for(let i=0;i<n;i++) test_loop(); const dt=Number(process.hrtime.bigint()-t0)/1e6; console.log('test_loop_ms='+dt.toFixed(3));\"",
|
|
20
20
|
"check-smooth": "yarn fmt-rs && yarn lint-rs && yarn test-rs && yarn check-all",
|
|
21
|
-
"check-all": "yarn compile && yarn try-rs && yarn try-js && yarn try-ir && yarn try-wasm",
|
|
21
|
+
"check-all": "yarn compile && yarn check-agent-interface && yarn try-rs && yarn try-js && yarn try-ir && yarn try-wasm",
|
|
22
|
+
"check-agent-interface": "cargo build --bin cr && node scripts/check-agent-interface.mjs",
|
|
22
23
|
"try-all": "yarn check-all",
|
|
23
24
|
"try-rs": "cargo run --bin cr -- calcit/test.cirru",
|
|
24
25
|
"warn-dyn-method": "cargo run --bin cr -- calcit/test.cirru --warn-dyn-method",
|