diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c4b80392..6e2f6988 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -160,6 +160,7 @@ jobs: rm -rf ./packages dotnet pack GFramework.sln \ -c Release \ + --no-build \ --no-restore \ -o ./packages \ -p:IncludeSymbols=false diff --git a/ai-plan/public/cqrs-rewrite/todos/cqrs-rewrite-migration-tracking.md b/ai-plan/public/cqrs-rewrite/todos/cqrs-rewrite-migration-tracking.md index 93ac148e..2583af84 100644 --- a/ai-plan/public/cqrs-rewrite/todos/cqrs-rewrite-migration-tracking.md +++ b/ai-plan/public/cqrs-rewrite/todos/cqrs-rewrite-migration-tracking.md @@ -9,7 +9,7 @@ CQRS 迁移与收敛。 - 恢复点编号:`CQRS-REWRITE-RP-091` - 当前阶段:`Phase 8` -- 当前 PR 锚点:`待创建` +- 当前 PR 锚点:`PR #331` - 当前结论: - `GFramework.Cqrs` 已完成对外部 `Mediator` 的生产级替代,当前主线已从“是否可替代”转向“仓库内部收口与能力深化顺序” - `dispatch/invoker` 生成前移已扩展到 request / stream 路径,`RP-077` 已补齐 request invoker provider gate 与 stream gate 对称的 descriptor / descriptor entry runtime 合同回归 @@ -27,7 +27,7 @@ CQRS 迁移与收敛。 - 当前 `RP-089` 已补齐 stream invoker reflection / generated-provider 对照,使 generated descriptor 预热收益从 request 扩展到 stream 路径 - 当前 `RP-090` 已收敛 `PR #326` benchmark review:统一 benchmark 最小宿主构建、冻结 GFramework 容器、限制 MediatR 扫描范围,并恢复 request startup cold-start 对照 - 当前 `RP-091` 已把 benchmark 项目发布面隔离与包清单校验前移到 PR:`GFramework.Cqrs.Benchmarks` 明确保持不可打包,`publish.yml` 与 `ci.yml` 复用同一份 packed-modules 校验脚本 - - `ai-plan` active 入口现以 `RP-091` 为最新恢复锚点;`PR #326`、`PR #323`、`PR #307` 与其他更早阶段细节均以下方归档或说明为准 +- `ai-plan` active 入口现以 `RP-091` 为最新恢复锚点;`PR #331`、`PR #326`、`PR #323`、`PR #307` 与其他更早阶段细节均以下方归档或说明为准 ## 当前活跃事实 @@ -70,7 +70,7 @@ CQRS 迁移与收敛。 - 备注:用于验证本轮 request invoker / pipeline / stream invoker 调整与 benchmark workflow 改动后的 Release 编译结果 - `python3 .agents/skills/gframework-pr-review/scripts/fetch_current_pr_review.py --format json --json-output ` - 结果:通过 - - 备注:确认当前分支对应 `PR #326`,本轮剩余 open AI feedback 以 workflow 输入安全、benchmark 对照公平性与 active 文档压缩为主 + - 备注:确认当前分支对应 `PR #331`,本轮 latest-head open AI feedback 已收敛到 `dotnet pack --no-build`、共享包校验脚本跨平台兼容性与 active 文档 PR 锚点同步 - `python3 scripts/license-header.py --check` - 结果:通过 - 备注:当前 WSL worktree 需要显式绑定 `GIT_DIR` / `GIT_WORK_TREE` 后运行 diff --git a/ai-plan/public/cqrs-rewrite/traces/cqrs-rewrite-migration-trace.md b/ai-plan/public/cqrs-rewrite/traces/cqrs-rewrite-migration-trace.md index 76bf5572..6bf3ce36 100644 --- a/ai-plan/public/cqrs-rewrite/traces/cqrs-rewrite-migration-trace.md +++ b/ai-plan/public/cqrs-rewrite/traces/cqrs-rewrite-migration-trace.md @@ -2,6 +2,21 @@ ## 2026-05-06 +### 阶段:PR #331 review 收尾补丁(CQRS-REWRITE-RP-091) + +- 使用 `$gframework-pr-review` 拉取当前分支 `fix/package-validation-guard` 对应的 `PR #331` latest-head review 后,主线程只保留本地复核仍成立的问题: + - `.github/workflows/ci.yml` 的 `dotnet pack` 步骤缺少 `--no-build`,会在已完成 solution `Build` 后重复编译整仓库 + - `scripts/validate-packed-modules.sh` 使用 GNU `find -printf`,在 macOS / BSD `find` 下无法运行 + - `ai-plan/public/cqrs-rewrite/todos/cqrs-rewrite-migration-tracking.md` 的 active PR 锚点仍写成 `待创建`,与当前公开 PR 状态不一致 +- 本轮决策: + - `ci.yml` 的 pack 步骤显式补上 `--no-build`,使其与前置 `Build` 步骤形成单次编译链路 + - 共享包校验脚本改为使用 `find ... -exec basename {} \;`,避免依赖 GNU-only 选项 + - active tracking 同步到 `PR #331`,并把这轮 PR review 的剩余问题描述更新为当前已核验的真实范围 +- 预期结果: + - PR workflow 的 pack 阶段不再对同一 solution 重复编译 + - `validate-packed-modules.sh` 可在 GNU / BSD `find` 环境下保持相同行为 + - `cqrs-rewrite` active 恢复入口继续与当前公开 PR 保持一致 + ### 阶段:benchmark 发布面隔离与包清单校验前移(CQRS-REWRITE-RP-091) - 针对 tag 发布中出现的 `GFramework.Cqrs.Benchmarks` 异常包名单,本轮先复核 benchmark 项目与 solution pack 的本地事实: diff --git a/scripts/validate-packed-modules.sh b/scripts/validate-packed-modules.sh index 74afaab1..b7f421b1 100644 --- a/scripts/validate-packed-modules.sh +++ b/scripts/validate-packed-modules.sh @@ -35,7 +35,7 @@ expected_file="$work_dir/expected-packages.txt" actual_file="$work_dir/actual-packages.txt" mapfile -t actual_packages < <( - find "$package_dir" -maxdepth 1 -type f -name '*.nupkg' -printf '%f\n' \ + find "$package_dir" -maxdepth 1 -type f -name '*.nupkg' -exec basename {} \; \ | sed -E 's/\.[0-9][0-9A-Za-z.-]*\.nupkg$//' \ | sort -u )