mirror of
https://github.com/GeWuYou/GFramework.git
synced 2026-05-07 00:39:00 +08:00
fix(cqrs): 修正恢复主线与评审提示
- 修复 cqrs-rewrite 跟踪文档的下次恢复建议,使当前主线阶段与 Phase 8 保持一致 - 补充 cqrs-rewrite trace,记录本次 PR review 复核结论与恢复点更新 - 优化 gframework-pr-review 输出,明确 open thread 中的 Addressed in commit 文案仍需本地验证
This commit is contained in:
parent
c44b0667b5
commit
acd638e807
@ -25,6 +25,7 @@ GIT_ENVIRONMENT_KEY = "GFRAMEWORK_WINDOWS_GIT"
|
||||
USER_AGENT = "codex-gframework-pr-review"
|
||||
CODERABBIT_LOGIN = "coderabbitai[bot]"
|
||||
REVIEW_COMMENT_ADDRESSED_MARKER = "<!-- <review_comment_addressed> -->"
|
||||
VISIBLE_ADDRESSED_IN_COMMIT_PATTERN = re.compile(r"✅\s*Addressed in commit\s+[0-9a-f]{7,40}", re.I)
|
||||
DEFAULT_REQUEST_TIMEOUT_SECONDS = 60
|
||||
REQUEST_TIMEOUT_ENVIRONMENT_KEY = "GFRAMEWORK_PR_REVIEW_TIMEOUT_SECONDS"
|
||||
|
||||
@ -359,6 +360,10 @@ def classify_review_thread_status(latest_comment: dict[str, Any]) -> str:
|
||||
return "open"
|
||||
|
||||
|
||||
def contains_visible_addressed_commit_text(body: str) -> bool:
|
||||
return bool(VISIBLE_ADDRESSED_IN_COMMIT_PATTERN.search(body))
|
||||
|
||||
|
||||
def build_latest_commit_review_threads(comments: list[dict[str, Any]]) -> list[dict[str, Any]]:
|
||||
comment_threads: dict[int, dict[str, Any]] = {}
|
||||
|
||||
@ -557,6 +562,12 @@ def format_text(result: dict[str, Any]) -> str:
|
||||
lines.append(f" Root by {root_comment['user']}: {collapse_whitespace(root_comment['body'])}")
|
||||
if latest_comment["id"] != root_comment["id"]:
|
||||
lines.append(f" Latest by {latest_comment['user']}: {collapse_whitespace(latest_comment['body'])}")
|
||||
if contains_visible_addressed_commit_text(root_comment["body"]) or contains_visible_addressed_commit_text(
|
||||
latest_comment["body"]
|
||||
):
|
||||
lines.append(
|
||||
" Note: thread is still open; treat the visible 'Addressed in commit ...' text as unverified until local code matches."
|
||||
)
|
||||
|
||||
lines.append("")
|
||||
lines.append(f"Test reports: {len(result['test_reports'])}")
|
||||
|
||||
@ -470,7 +470,7 @@
|
||||
|
||||
1. 查看 `ai-plan/public/cqrs-rewrite/traces/cqrs-rewrite-migration-trace.md`
|
||||
2. 确认当前恢复点 `CQRS-REWRITE-RP-042` 已对应到最新提交
|
||||
3. 优先继续执行 `ai-plan/migration/CQRS_MODULE_SPLIT_PLAN.md` 中的 Phase 7:
|
||||
3. 优先继续执行 `ai-plan/migration/CQRS_MODULE_SPLIT_PLAN.md` 中的 Phase 8(当前主线):
|
||||
- 先决定是否正式支持旧 `GFramework.Core.Abstractions.Cqrs*` / `GFramework.Core.Cqrs.Extensions` public namespace 兼容,还是明确要求消费端迁到当前 `GFramework.Cqrs*` 路径
|
||||
- 再评估 `CqrsCoroutineExtensions` 是否保留在 `GFramework.Core`,或连同所需协程辅助一起形成更小的可迁移边界
|
||||
4. 在 runtime 项目真正承接实现后,再处理 source-generator、meta package 与消费端 transitive 依赖的迁移
|
||||
|
||||
@ -1412,3 +1412,33 @@
|
||||
|
||||
1. 若继续沿用当前 PR 驱动修复流程,可直接用 `$gframework-pr-review` 复查后续 PR 的 CodeRabbit 评论与测试状态
|
||||
2. 若要验证本轮本地修正已经消除远端 latest head review threads,需要在提交并推送当前分支后重新执行 `$gframework-pr-review`
|
||||
|
||||
## 2026-04-19
|
||||
|
||||
### 阶段:PR review 复核与 FPR 输出澄清(RP-043)
|
||||
|
||||
- 建立 `CQRS-REWRITE-RP-043` 恢复点
|
||||
- 复核 PR `#253` 时确认:
|
||||
- `ai-plan/public/cqrs-rewrite/todos/cqrs-rewrite-migration-tracking.md` 的“下次恢复建议”仍把主线写成 `Phase 7`
|
||||
- 这与 tracking 顶部当前阶段 `Phase 8` 不一致,恢复时会造成执行顺序歧义
|
||||
- 进一步检查 `$gframework-pr-review` 脚本后确认:
|
||||
- 该评论并非“未覆盖”,而是已出现在 latest head commit 的 open review threads 中
|
||||
- 我先前误把评论正文里可见的 `Addressed in commit ...` 文案当成了“已经本地验证修复”
|
||||
- 实际脚本只会在 CodeRabbit thread 带有隐藏 marker `<!-- <review_comment_addressed> -->` 时才将状态归类为 `addressed`
|
||||
- 已据此完成两项修正:
|
||||
- 将 tracking 中的恢复主线更新为 `Phase 8(当前主线)`
|
||||
- 调整 `fetch_current_pr_review.py` 输出:当 open thread 里出现 `Addressed in commit ...` 文案但线程并未真正 closed/addressed 时,显式提示“仍需本地验证,不要视为已解决”
|
||||
|
||||
### 验证
|
||||
|
||||
- `sed -n '469,475p' ai-plan/public/cqrs-rewrite/todos/cqrs-rewrite-migration-tracking.md`
|
||||
- 结果:通过
|
||||
- 备注:恢复建议已切到 `Phase 8(当前主线)`
|
||||
- `python3 -m py_compile .codex/skills/gframework-pr-review/scripts/fetch_current_pr_review.py`
|
||||
- 结果:通过
|
||||
- 备注:脚本语法正确
|
||||
|
||||
### 下一步
|
||||
|
||||
1. 推送当前分支后重新执行 `$gframework-pr-review`,确认 PR `#253` 的 latest head review threads 是否已收敛
|
||||
2. 若后续仍保留 CodeRabbit 的 `Addressed in commit ...` 文案但 thread 继续 open,优先以 latest thread 状态和本地文件事实为准,不再按文案字面判定
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user