Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .agents/skills/easyeda-agent/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ description: "通过本地 easyeda CLI、daemon 和连接器操作嘉立创EDA
license: MIT
metadata:
author: zhoushoujianwork
version: "1.15.0"
version: "1.16.0"
homepage: "https://github.com/zhoushoujianwork/easyeda-agent"
---

Expand Down
49 changes: 49 additions & 0 deletions docs/releases/evidence/v1.16.0/baseline.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# v1.16.0 有限专项验收基准

## 原始需求与范围

本版从已发布 v1.15.0 到 origin/main a0aa9620 的已合并改动准备,不纳入本地 dev 的其他开发提交。
用户于 2026-10-31 在确认建议版本 v1.16.0 后要求开始准备。
用户在收到“按本轮修复专项验收、完整小板 E2E 留待后续,并允许只读独立 Agent 复核”的明确方案后,
于 2026-10-31 回复“开始提交吧”,确认本版采用该方案。使用 schema 3:cli-fixes,
full-design-e2e 延至 follow-up;这项范围决定绑定 v1.16.0,不沿用旧版批准。

用户本轮 CBB 需求为 Type-C 接口、CC1/CC2 各一只 5.1kΩ 下拉到 GND,加 KEY-GND 按钮,
做成原生复用模块。KEY 需要外部上拉;未多加第三只电阻,不声称完整 USB/PD 电路或硬件验收。
专项已有证据保留源电路、真实 block_symbol、外部端口连线、保存关闭重开与新回读。

## 候选与环境

候选以 a0aa9620 为基底,CLI/daemon、connector/npm/lock 与 Skill 同步 1.16.0。
正式运行时代码与最近的 v1.15.1-dev.23 现场候选逐文件一致,1043 个 internal/extension/src 文件
路径集合与字节均相同;版本声明、changelog 和发布材料变化单独记录。
候选固定在独立工作树,二进制放在 PATH 之外,避免其他 dev 构建覆盖。
共享 EDA daemon 和其他工程不参与本轮写入;不把在线状态当作设计验收。

## 判据

- 自动测试、typecheck/build、vet、Skill/发布脚本检查通过,固定源码与二进制身份可追溯。
- 现场证据绑定精确工程/文档/对象;写入后有布尔 saved:true、真实关闭重开及新回读。
- CBB 端口已接网名正确,未接端口明确无网,普通器件检查不被块实例特殊路径掩盖。
- ARC 铺铜保留原生弧语义、实际生成铜,非法轮廓拒绝且不新增铜皮。
- 制造文件与官方 getter 的字节/哈希、板语义身份和实际内容匹配,不声称制造适用性。
- 有限专项验收 pass 要求上述专项证据与源码关系经独立复核;不代表发布准备已经完成。
- 正式发布前另须完成精确版本的全资产构建、SHA256、安装升级冒烟及相应独立核验;
这些结果记录在发布验证章节,缺失时不能宣布可发布或已发布。
- 完整需求到小板成品的 E2E 目前未在本版执行;按本轮确认留待 follow-up,不补签完整设计通过。

## 证据归属

原始工程身份、日志和测试资产只保留在本地忽略目录,公开报告只记脱敏事实、文件名与哈希。
旧冻结专项证据不改写,本版通过 source-comparison-to-live-dev23.json 证明源码关系。

本次验收是在最终运行时源码逐文件对齐后,复用并独立重核本轮各修复的原始现场证据;
未在 v1.16.0 声明版本的连接器上重新操作 EDA。测试候选与已验 runtime 的关系明确记入报告。

## 原始需求来源与哈希

来源为本轮用户消息,原始文字逐字如下(UTF-8、无 BOM、无末尾换行参与哈希):

> 那继续验证这个问题,我们要解决。最简单的,我们把做一个Type C,接两个5.1K欧+按钮电路。那种做成复用模块

SHA256:`4ea2ee1bb75055f6137778362a20969a688712ac447b00c7b2a6680a0c64d9a3`。上文的需求叙述是解释,不冒充该原文。
19 changes: 19 additions & 0 deletions docs/releases/evidence/v1.16.0/manifest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"schemaVersion": 3,
"version": "v1.16.0",
"result": "pass",
"independentReview": "pass",
"sha256": {
"test-report.md": "c6e57a91eb6361fec97858a8e89ae1cf2b9b1720dc18633c04ad59389d962b5a",
"baseline.md": "99adac5c30060bf4c43b0191fc6982cc43285a321620f4cfa48309bc0951efbb",
"test-cases.md": "0ad56bca14d5850ff155f923c52f176cbc251c12e548b8b79d2a54b21abac1be"
},
"acceptanceScope": "cli-fixes",
"deferredScope": "full-design-e2e",
"deferredUntil": "follow-up",
"scopeDecision": {
"approvedBy": "user",
"version": "v1.16.0",
"date": "2026-10-31"
}
}
12 changes: 12 additions & 0 deletions docs/releases/evidence/v1.16.0/test-cases.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# v1.16.0 验收用例(cli-fixes)

| ID | 计划 | 输入、步骤与判据 |
|---|---|---|
| M1 | scoped | 对固定候选运行 Go、Connector、MCP、typecheck/build、vet、发布脚本、agent/Skill 检查;记录日志和退出码,不用旧 CI 代替本轮构建。 |
| F1 | scoped | 核对 Type-C 双 5.1kΩ 按钮模块的真实 block_symbol;两端接线一个未接与三个端口全部接线均须保存重开后网名正确,KEY 关联内部按钮。 |
| F2 | scoped | 核对双 ARC 圆、ARC+L 半圆、混合轮廓和原 points 矩形的持久化原生边界与实际铜;开环与零弧度不写入。 |
| E1 | scoped | 核对官方 Gerber mm/inch、坐标 CSV/XLSX、UTF-16、mm/mil 换算、PCB 身份与文件哈希,明确不含制造验收。 |
| L1 | scoped | 核对 CBB ID 无实例、错误变体、非空符号和 stale 矩形拒绝;图形清理不得改变引脚、polygon 或原工程既有对象。 |
| N1 | scoped | 核对官方 SVG 内嵌静态图、导图审查与布线验收的区分;宿主弹窗通过已有授权处理,未知框不盲目确认,不声称通用自动应答接口。 |
| R1 | scoped | 核对原工程对象保全、专用服务隔离、干净候选及 15 项离线冒烟;发布构建和隔离安装升级另按发布步骤记录,不把准备包当已发布。 |
| E2E | deferred | 用户于本轮确认按 cli-fixes 发布准备,完整 ESP32-S3 最小点灯板端到端留待 follow-up;本版保持 not-run。 |
77 changes: 77 additions & 0 deletions docs/releases/evidence/v1.16.0/test-report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
# v1.16.0 有限专项验收报告

本版范围为用户本轮确认的 cli-fixes,完整小板 full-design-e2e 留待 follow-up。
产品源码基底为 origin/main a0aa9620;本版只新增版本元数据和验收材料,不夹带 dev 的其他提交。
本次重新执行自动测试,并由独立 Agent 从原始现场产物核对各专项;没有在新版本声明的连接器上
重放 EDA 写入。已冻结的现场源码与本版关系逐项证明,不能据此称任意工程或硬件通过。

## 用例结果

| ID | 结果 | 回读与证据 |
|---|---|---|
| M1 | pass | 新候选 Go 5829 项/18 包、Connector 1305 项/0 失败、发布脚本 123 项、MCP、typecheck/build、vet 和 agent/Skill 检查全部退出 0;release-v1.16.0/m1-* 保存本轮日志。 |
| F1 | pass | CBB 原始 native-pin-net-acceptance-result.json、canonical-reload.stdout 和 final-single-frame-target-fresh.stdout 证明真实 block_symbol、两接一未接与三端口接线的保存重开;VBUS/GND/KEY 分别读为 VBUS/GND/CBB244_KEY,authoritative-key-port-expanded-audit.stdout 关联内部 SW1。 |
| F2 | pass | ARC 原始 circle/half/mixed/points-create.json 均 verified/poured;after-reload-pours.json 按精确 ID 保留四轮廓,after-reload-copper.json 有四个实际铜,drc.json passed:true/0;负例开环和零 sweep 拒绝且不写入。priorityVerified:false 不外推为优先级验收。 |
| E1 | pass | 制造导出 gerber-final-mm/inch、placement-final-csv/xlsx/mil 的响应与实际字节可核对官方文件 SHA256、板语义哈希、Gerber MM/IN 头、CSV/XLSX 相同字段及 mm/mil 换算;UTF-16 源字节保留不改写。只验导出契约,不验制造适用性。 |
| L1 | pass | source-exact-rectangle-cleanup-once.stdout、source-single-frame-reopen-fresh.stdout 保留三个 pin 和同一 polygon、删除唯一显式矩形并 saved:true;original-pages-preservation.json 及 final-acceptance-assertions.json 对账原页与源电路;ID 无实例、歧义变体、非空目标和 stale 几何负例由当前自动回归覆盖。 |
| N1 | pass | 导图 drawings-from-original/schematic.svg 与原始导出字节相同,drawings-dev2/manifest.json 的六个图源与 spec/文件 SHA256 对应,designAccepted:false 和 PCB review pending 均保留;弹窗只验流程文档与已有 70% 关闭记录,不声称通用自动应答或已点击后来消失的同步框。 |
| R1 | pass | dev23 的冻结清单 527 个文件与本版 1043 个 internal/extension/src 文件集合/字节独立对齐;clean c1770c69 原生二进制 vcs.modified=false,临时目录 15 项离线 CLI 冒烟通过;共享服务未替换,验收范围限于已记录 fixture 保全与候选身份。 |
| E2E | not-run | 用户于本轮确认本版采用 cli-fixes,完整 ESP32-S3 最小点灯板需求到成品 E2E 延后 follow-up;本版没有重新执行全小板设计,也不改变旧未完成结果。 |

## 现场回读

本地原始证据集合如下;公开材料不打包客户/个人工程、凭据或原始私有日志。

- CBB:issue244-typec-cbb-20261031-r02。evidence-sha256-final.json 覆盖 527 文件,
原始 save/reload/close/open 和 fresh 结果保留;最终 strict 检查为 0 findings。
三端口连接未改变全局电源旗语义;KEY 需要外部上拉。原生 DRC passed,但仍有三个
ONENETNAME/SHOWDANDLING advisory,不称完整硬件设计通过。
- ARC:easyeda-pr287-live。实际执行于独立空 PCB,不使用 cases.json 中计划中的 ceshi 身份
代替现场上下文;真实执行身份在各响应中一致。原生返回反向绕行,实际铜及保存重开均保留。
数组包装、重复闭合点仍仅离线覆盖;不证明任意板的优先级、回流或制造质量。
- 制造:issue284-manufacture-20261031。CSV 源数据为宿主原样返回的 UTF-16 表格,
XLSX 字段和单位换算单独核对;单电阻独立 fixture,不称制造/装配验收。
- 导图:acceptance-pr288-pr289-20261031-r01/r02。原 SVG 字节、内嵌静态标志和六图来源
独立对账;原 468 器件白屏与 EP01 成品验收仍未证明已解决。活动页重复打开修复只离线覆盖。
- 电源布局:issue273-bounded-repair-20261031。两个冻结输入的预算均为 3000 候选,
修复前失败,修复后 buck/boost 分别 2966/1663 候选成功,路由节点低于 200000;
当前全量回归覆盖该最小缺陷。本项是离线布局求解契约,现场 EDA not-run,不列为现场通过。

本版 source-comparison-to-live-dev23.json 对 1043 个 internal/extension/src 文件路径与 SHA256
逐项对照、0 差异;独立复核另以 git ls-files cmd pkg extension/config extension/build
go.mod go.sum Makefile 比较 69 个生产/构建文件,也为 0 差异。ARC pcbPourCreate 与 c72542e0 完全相同(独立单元 SHA256 记录在
arc-handler-source-alignment.json);制造导出和 SHA256 模块与 61412ce4 相同;
导图实现与 1719ccd6 对应现场候选相同。仅凭文件关系不能推定新的未测路径已通过。

## 候选构建身份

干净原生候选来自 c1770c690703536a4f5aad98cc5f966f38cd8f22,版本串 v1.16.0,
Go 1.26.3 / macOS arm64,vcs.modified=false;SHA256
`e7158ccaa8b6e46d99540ad3a310054a74b931c8b6619974cf17ef358d067f17`。
该提交之后的报告修改仅为文档,最终正式资产将重新从完成材料的干净提交构建并单独核验。
早期 Git worktree 构建没有 VCS stamp,已如实记录,不拿它当上述干净构建。

## 独立复核

只读独立 Agent 已完成专项复核,结论 pass,仅限 schema 3 声明的 cli-fixes。
复核者未参与现场写入,直接核对原始文件与当前源码,不依据摘要中的通过标记。

- 独立重算 CBB 冻结清单 527 文件全部匹配;1043 个 runtime/internal 文件路径和 SHA256
与 dev23 均一致;额外 69 个生产/构建文件也一致。
- 69 文件按排序后的 `path + NUL + sha256 + LF` 拼接,其整体 SHA256 为
`cd4a90389291bd2dd8f847a6b84e12bad96400ecaa70f68f541ab6d59fb6c43f`。
- 从 CBB raw 回执确认已接网、未接对照、内部按钮关联、保存关闭重开和矩形清理保全。
- ARC 负例前有三个边界,拒绝两个非法输入后只增加 legacy points 的返回 ID;
重开后四个 ID 恰好相符,实际铜四个且 DRC 0,不把 priorityVerified:false 改成优先级通过。
- 制造五份文件实字节与官方 SHA256 匹配;mm/inch Gerber 各九层的大小、哈希、MO 单位
逐项核验;UTF-16 CSV 与 XLSX 字段相同,mil/mm 坐标换算重算一致。
- 两套导图各七项 fileHashes 全部一致,designAccepted:false 与三项 PCB review pending 保留。
- 原生二进制 SHA256、vcs.revision 与 vcs.modified=false 相符;需求原话的 SHA256 独立重算一致。
- 首轮发现基准缺原始需求哈希、专项 pass 与发布完成条件混淆,均已修正文档后重新核验。

此结论不覆盖尚未执行的完整发布构建和安装升级步骤;该部分完成后另做第二阶段核验。

## 发布资产与安装验证

正式全资产构建与安装升级验证在验收材料通过后继续执行,并单独记录结果;
未打标签、未上传、未发布。PR 通过不等于外部平台的公开包已经更新。
55 changes: 54 additions & 1 deletion docs/releases/next-release.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,57 @@
# v1.15.0 发布准备
# v1.16.0 发布准备

候选基于已合并的 `origin/main`(`a0aa9620`),不纳入本地 dev 上的其他开发提交。
版本元数据与发布说明已准备;本节是准备状态,不是正式发布记录。

## 本版范围

- 原生 CBB 的官方库查询、身份核对、归档导出、受控符号创建与实际放置;
按当前工程本地 type 17 符号证明变体,修复展开网表缺席导致的误报,保留真悬空判据。
- CBB 默认矩形库存与精确清理,保存重开后保留引脚和自定义 polygon。
- 原生 ARC 铺铜轮廓,及经过实际内容与官方文件哈希核对的 Gerber/坐标文件导出。
- 官方 SVG 内嵌静态 SVG、PCB 图面审查、批量活动文档读取与密集电源布局求解修复。
- 宿主弹窗感知与恢复工作流;没有通用自动弹窗应答 CLI。

连接器运行时代码相对 v1.15.0 已变化,因此按发布契约递增 minor 至 v1.16.0;
用户需更新连接器才能得到本版行为。CLI/daemon、连接器、npm/lock 与 Skill 使用同一版本。

## 验收与发布状态

用户于本轮确认 v1.16.0 按 cli-fixes 专项验收,完整小板 full-design-e2e 留待 follow-up;
只读独立 Agent 已重算原始证据与源码对应,专项结论 pass。验收材料见 evidence/v1.16.0。
不把先前专项通过写成完整小板端到端通过,不把发布回执当作外部平台公开可安装。
自动检查已通过:Go 5829 项、Connector 1305 项、发布脚本 123 项,另含 MCP、typecheck/build、vet 和 agent/Skill 检查。
干净 c1770c69 原生候选的 15 项离线 CLI 冒烟通过;标准本地发布构建、全资产校验与隔离安装升级验证均已完成;第二阶段只读独立核验 pass:资产字节、二进制身份、冻结验收包、Skill/连接器、安装脚本与三轮安装结果均独立核对一致。
尚未打标签、上传或发布;原始记录在本地 release-v1.16.0 证据目录。


## 本地发布资产与安装验证

标准 `make release-check VERSION=v1.16.0` 通过。独立干净 clone 基于
`a5f948b7` 执行 `make release-build VERSION=v1.16.0`,生成五平台 CLI、连接器、
192 文件 Skill、两种安装脚本、验收包与 checksums 共十一文件。
十个资产 SHA256 全部匹配,五个二进制 build info 均为同一源码提交、v1.16.0、
`vcs.modified=false`。其中 macOS arm64 CLI SHA256 为
`db16f4ffff109973adf7951feb8ca91f4889a6d25b9b724f2fca51113e5a4a4a`。
完整 `make release-smoke` 通过,包含资产/验收包验证与本机十五项离线 CLI 冒烟。
其他平台构建完成不等于这些发布二进制已在对应平台运行。

原样 `install.sh` 在临时 bin 和临时 Claude Skill 目录执行,未修改 HOME/CODEX_HOME,
没有启动 daemon 或更换系统工具。三轮分别为首次安装 v1.16.0、安装已发布 v1.15.0、
从该版本升级 v1.16.0;每轮 CLI 实字节与输入资产一致、版本正确,192 个 Skill 文件逐字节
匹配,升级移除了旧包哨兵文件。v1.15.0 的二进制与 Skill 从 GitHub 下载后先与官方
checksums 比对;v1.16.0 使用本地候选资产。下载通道为仅允许对应精确 URL 的本地 curl
替身,不把此测试称为尚未发布的 v1.16.0 远端下载或 `easyeda update` 联网升级验收。

原始日志与哈希记录保存在本地 release-v1.16.0 中的 release-build.log、release-smoke.log、
release-assets-identity.json、installer-smoke-result.json 和三次安装日志。
验收四份材料保持构建时已审核内容,发布包中 test-evidence.zip 与其逐字节对应。
本节记录的是候选 a5f948b7 的本地资产验证;正式发布须从最终已审阅提交重新构建、
核验附注标签、远端资产与公开下载,不能把准备完成当成已经发布。

---

## v1.15.0 发布准备

用户于 2026-10-24 要求按 v1.15.0、有限验收范围准备发布:先修 CI 版本不一致,再写本文、跑现场验收、
独立复核,最后再确认是否执行 `make release`(尚未批准执行)。连接器运行时自 v1.14.0 起有改动(新增
Expand Down
9 changes: 9 additions & 0 deletions extension/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,15 @@

## [Unreleased]

## [1.16.0] - 2026-10-31

- 原生 CBB:新增官方库搜索、身份核对、归档导出,以及受控个人库样件创建、符号构建与放置;按当前工程目录解析本地 type 17 符号,写后必须回读为真实 block_symbol。修复已接块端口被展开网表缺席误报的问题,保留悬空端口和普通器件检查。
- CBB 符号库存覆盖默认 Rectangle,拒绝把含图形目标误判为空;提供精确矩形清理入口,核对归属、几何、保留引脚与 polygon 和显式保存。专用 createCbbSymbol 仍可能只返回未落地 ID,支持路径为已验证的官方通用符号创建。
- PCB 制造导出:新增官方 Gerber/坐标文件导出,绑定导出前后 PCB 身份及官方文件哈希;校验实际内容并正确处理 UTF-16 表格坐标文件,不把文件扩展名或下载成功当作内容有效。
- 导图与布局:官方 SVG 导出支持经校验的内嵌静态 SVG;区分 PCB 图面审查与布线验收,避免批量检查反复打开活动文档。密集电源布局在冻结候选预算内求解,不放松保护判据。
- 宿主弹窗:公开 Skill 要求操作后主动检查、已有授权内精确应答、检查下一层提示和迟到写入,再做 typed 数据回读;这是操作流程改进,未新增通用自动弹窗应答 CLI。
- 发布目标修正为 SkillHub 的公开条目;外部平台的上传回执与公开可下载安装结果分别核验,不把审核中的版本当作已上线。

- `pcb.pour.create` / `easyeda pcb pour` now accept a closed native `L`/`ARC` polygon `source` as an alternative to `points`. Signed arc sweeps remain native in the pour boundary; exact-ID fresh readback checks segment type, endpoints and sweep (including rotated/reversed encoding) before copper rebuild. Malformed/open paths and mixed inputs fail before mutation. Web 4.1.78 定向现场验证通过:双 ARC 圆、ARC+L 半圆、混合 L/ARC 轮廓及原有 points 矩形均生成实际铜,保存重载后精确 ID 边界与铜对象回读一致,原生 DRC passed:true、0 违例;开环与零弧度输入拒绝且未新增铜皮。宿主实际返回反向轮廓;单轮廓数组包装及重复闭合点仍只有离线回归覆盖。本结论限于独立测试板,不代表完整设计 E2E 或任意板卡验收。

## [1.15.0] - 2026-10-24
Expand Down
2 changes: 1 addition & 1 deletion extension/extension.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"uuid": "4dae27407c1d43be98e8e210d45fe587",
"displayName": "EDA Agent Connector",
"description": "Bridges the local agent daemon to the official eda.* API over a local WebSocket, dispatching typed schematic and PCB actions.",
"version": "1.15.0",
"version": "1.16.0",
"publisher": "zhoushoujian",
"engines": {
"eda": "~3.2.0"
Expand Down
Loading
Loading