Skip to content

Feat/ai first config#254

Merged
GeWuYou merged 4 commits into
mainfrom
feat/ai-first-config
Apr 19, 2026
Merged

Feat/ai first config#254
GeWuYou merged 4 commits into
mainfrom
feat/ai-first-config

Conversation

@GeWuYou

@GeWuYou GeWuYou commented Apr 19, 2026

Copy link
Copy Markdown
Owner

Summary by CodeRabbit

发行说明

  • 文档
    • 调整启动恢复流程的上下文读取优先级:在活跃主题内优先读取 root 的 todos/traces,按需或在请求历史时再读取归档。
    • 明确任务跟踪与归档规范:活跃 todos/traces 保持精简,已完成且验证的阶段移入主题级 archive 并在活跃文件保留指针。
    • 新增并归档多个主题的跟踪与执行历史,并添加新的活跃主题及其跟踪/待办/追踪记录。
    • 更新治理文档与验证流程,收敛目录语义并引导按主题进行归档与验证。

GeWuYou added 2 commits April 19, 2026 13:00
- 迁移 feat/ai-first-config 工作树的 tracking、next 与 trace 文档到 ai-plan/public/ai-first-config-system\n- 更新 ai-plan 公共索引与治理跟踪,登记当前分支的活跃主题映射\n- 清理 旧本地恢复入口并补充迁移后的结构校验与最小构建验证
- 新增 活跃主题的 archive 目录并归档已完成且已验证的历史 tracking 与 trace\n- 更新 ai-plan 治理规则、README 与 boot skill,明确 active todo 和 trace 必须保持精简\n- 收短 ai-plan-governance、ai-first-config-system 与 cqrs-rewrite 的默认恢复入口并补充归档索引
@coderabbitai

coderabbitai Bot commented Apr 19, 2026

Copy link
Copy Markdown
Contributor

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: cde4c212-fc12-4187-8113-80008b03f9a3

📥 Commits

Reviewing files that changed from the base of the PR and between bc3d50f and 235aa8e.

📒 Files selected for processing (1)
  • ai-plan/public/cqrs-rewrite/archive/todos/cqrs-rewrite-history-through-rp043.md
📜 Recent review details
⏰ Context from checks skipped due to timeout of 900000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
  • GitHub Check: Analyze (C#)
  • GitHub Check: Build and Test
  • GitHub Check: Code Quality & Security
🧰 Additional context used
📓 Path-based instructions (2)
ai-plan/**

📄 CodeRabbit inference engine (AGENTS.md)

Never write secrets, tokens, credentials, private keys, machine usernames, home-directory paths, hostnames, IP addresses, proprietary URLs, or other sensitive environment details into any ai-plan/** file

Never record absolute file-system paths in ai-plan/**; use repository-relative paths, branch names, PR numbers, or stable document identifiers instead

Files:

  • ai-plan/public/cqrs-rewrite/archive/todos/cqrs-rewrite-history-through-rp043.md
ai-plan/public/**/{todos,traces}/**

📄 CodeRabbit inference engine (AGENTS.md)

Active tracking and trace files are recovery entrypoints, not append-only changelogs; they MUST stay concise enough for boot to locate the current recovery point quickly

Files:

  • ai-plan/public/cqrs-rewrite/archive/todos/cqrs-rewrite-history-through-rp043.md
🧠 Learnings (5)
📓 Common learnings
Learnt from: CR
Repo: GeWuYou/GFramework PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-19T04:14:17.799Z
Learning: For any multi-step refactor, migration, or cross-module task, contributors MUST create or adopt a dedicated recovery document under `ai-plan/public/<topic>/todos/` before making substantive code changes.
Learnt from: CR
Repo: GeWuYou/GFramework PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-19T04:14:17.799Z
Learning: When a task spans multiple commits or is likely to exceed a single agent context window, update both the recovery document and the trace in `ai-plan/` at each meaningful milestone before pausing or handing work off.
Learnt from: CR
Repo: GeWuYou/GFramework PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-19T04:14:17.799Z
Learning: Recovery documents in `ai-plan/` MUST record the current phase, the active recovery point identifier, known risks, and the next recommended resume step so another contributor or subagent can continue the work safely.
Learnt from: CR
Repo: GeWuYou/GFramework PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-19T04:14:17.799Z
Learning: Tracking updates in `ai-plan/` MUST reflect completed work, newly discovered issues, validation results, and the next recommended recovery point.
Learnt from: CR
Repo: GeWuYou/GFramework PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-19T04:14:17.799Z
Learning: `ai-plan/public/README.md` MUST list only active topics. Do not add `ai-plan/public/archive/**` content to the default boot index.
Learnt from: CR
Repo: GeWuYou/GFramework PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-19T04:14:17.799Z
Learning: When working from a tracked implementation plan, contributors MUST update the corresponding tracking document under `ai-plan/public/<topic>/todos/` in the same change.
Learnt from: CR
Repo: GeWuYou/GFramework PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-19T04:14:17.799Z
Learning: Contributors MUST maintain a matching execution trace under `ai-plan/public/<topic>/traces/` for complex work. The trace should record the current date, key decisions, validation milestones, and the immediate next step.
Learnt from: CR
Repo: GeWuYou/GFramework PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-19T04:14:17.799Z
Learning: When a worktree-to-topic mapping changes, or when a topic becomes active/inactive, contributors MUST update `ai-plan/public/README.md` in the same change.
Learnt from: CR
Repo: GeWuYou/GFramework

Timestamp: 2026-04-19T07:40:15.058Z
Learning: Prefer the project-relevant tools listed in `@.ai/environment/tools.ai.yaml` instead of assuming every installed system tool is fair game
Learnt from: CR
Repo: GeWuYou/GFramework

Timestamp: 2026-04-19T07:40:15.058Z
Learning: When working in WSL against this repository's Windows-backed worktree, prefer Windows Git from WSL (for example `git.exe`) instead of the Linux `git` binary
Learnt from: CR
Repo: GeWuYou/GFramework

Timestamp: 2026-04-19T07:40:15.058Z
Learning: Every completed task MUST pass at least one build validation before it is considered done
Learnt from: CR
Repo: GeWuYou/GFramework

Timestamp: 2026-04-19T07:40:15.058Z
Learning: Use `dotnet build` with the smallest build command that still proves the result compiles, preferring solution-level or affected-project builds for multi-project changes
Learnt from: CR
Repo: GeWuYou/GFramework

Timestamp: 2026-04-19T07:40:15.058Z
Learning: Commit messages MUST use Conventional Commits format: `<type>(<scope>): <summary>` with summary in simplified Chinese and body using unordered list items starting with verbs such as `新增`, `修复`, `优化`, `更新`, `补充`, `重构`
Learnt from: CR
Repo: GeWuYou/GFramework

Timestamp: 2026-04-19T07:40:15.058Z
Learning: Branch naming rule for a new task branch is `<type>/<topic-or-scope>`, where `<type>` should match the intended Conventional Commit category
Learnt from: CR
Repo: GeWuYou/GFramework

Timestamp: 2026-04-19T07:40:15.058Z
Learning: Core framework components such as Architecture, Module, System, Context, Registry, Service Module, and Lifecycle types MUST include high-level explanations of responsibilities, lifecycle, interaction with other components, why the abstraction exists, and when to use it instead of alternatives
Learnt from: CR
Repo: GeWuYou/GFramework

Timestamp: 2026-04-19T07:40:15.058Z
Learning: Keep abstractions projects free of implementation details and engine-specific dependencies
Learnt from: CR
Repo: GeWuYou/GFramework

Timestamp: 2026-04-19T07:40:15.058Z
Learning: Preserve existing module boundaries; do not introduce new cross-module dependencies without clear architectural need
Learnt from: CR
Repo: GeWuYou/GFramework

Timestamp: 2026-04-19T07:40:15.058Z
Learning: Every non-trivial feature, bug fix, or behavior change MUST include tests or an explicit justification for why a test is not practical
Learnt from: CR
Repo: GeWuYou/GFramework

Timestamp: 2026-04-19T07:40:15.058Z
Learning: Public API changes must be covered by unit or integration tests
Learnt from: CR
Repo: GeWuYou/GFramework

Timestamp: 2026-04-19T07:40:15.058Z
Learning: When a public API defines multiple contract branches, tests MUST cover the meaningful variants, including null, empty, default, and filtered inputs when those branches change behavior
Learnt from: CR
Repo: GeWuYou/GFramework

Timestamp: 2026-04-19T07:40:15.058Z
Learning: Regression fixes should include a test that fails before the fix and passes after it
Learnt from: CR
Repo: GeWuYou/GFramework

Timestamp: 2026-04-19T07:40:15.058Z
Learning: Mirror the source structure in test projects whenever practical
Learnt from: CR
Repo: GeWuYou/GFramework

Timestamp: 2026-04-19T07:40:15.058Z
Learning: Keep tests focused on observable behavior, not implementation trivia
Learnt from: CR
Repo: GeWuYou/GFramework

Timestamp: 2026-04-19T07:40:15.058Z
Learning: Minimize new package dependencies; add them only when necessary and keep scope narrow
Learnt from: CR
Repo: GeWuYou/GFramework

Timestamp: 2026-04-19T07:40:15.058Z
Learning: When implementation plans, traces, reviews, or design notes say 'reference a third-party project', prefer the repository-local path under `ai-libs/` instead of an unspecified upstream repository
Learnt from: CR
Repo: GeWuYou/GFramework

Timestamp: 2026-04-19T07:40:15.058Z
Learning: Prefer invoking `$gframework-boot` when the user uses short startup prompts such as `boot`, `continue`, `next step`, `按 boot 开始`, `先看 AGENTS`, `继续当前任务`
Learnt from: CR
Repo: GeWuYou/GFramework

Timestamp: 2026-04-19T07:40:15.058Z
Learning: The boot skill is a startup convenience layer, not a replacement for this document; if the skill and `AGENTS.md` diverge, follow `AGENTS.md` first and update the skill in the same change
Learnt from: CR
Repo: GeWuYou/GFramework

Timestamp: 2026-04-19T07:40:15.058Z
Learning: Use subagents only when the task is complex, the context is likely to grow too large, or the work can be split into independent parallel subtasks
Learnt from: CR
Repo: GeWuYou/GFramework

Timestamp: 2026-04-19T07:40:15.058Z
Learning: Use `explorer` subagents for read-only discovery, comparison, tracing, and narrow codebase questions
Learnt from: CR
Repo: GeWuYou/GFramework

Timestamp: 2026-04-19T07:40:15.058Z
Learning: Use `worker` subagents only for bounded implementation tasks with an explicit file or module ownership boundary
Learnt from: CR
Repo: GeWuYou/GFramework

Timestamp: 2026-04-19T07:40:15.058Z
Learning: Prefer lightweight models such as `gpt-5.1-codex-mini` for narrow exploration, indexing, and comparison tasks
Learnt from: CR
Repo: GeWuYou/GFramework

Timestamp: 2026-04-19T07:40:15.058Z
Learning: Prefer stronger models such as `gpt-5.4` for cross-module design work, non-trivial refactors, and tasks that require higher confidence reasoning
Learnt from: CR
Repo: GeWuYou/GFramework

Timestamp: 2026-04-19T07:40:15.058Z
Learning: Use `ai-plan/public/**` only for durable, handoff-safe task state; put temporary notes, local experiments, or worktree-specific scratch recovery data under `ai-plan/private/`
Learnt from: CR
Repo: GeWuYou/GFramework

Timestamp: 2026-04-19T07:40:15.058Z
Learning: For any multi-step refactor, migration, or cross-module task, contributors MUST create or adopt a dedicated recovery document under `ai-plan/public/<topic>/todos/` before making substantive code changes
Learnt from: CR
Repo: GeWuYou/GFramework

Timestamp: 2026-04-19T07:40:15.058Z
Learning: When a stage inside an active topic is fully complete, move the finished artifacts into that topic's `archive/` directory instead of leaving every completed step in the default boot path
Learnt from: CR
Repo: GeWuYou/GFramework

Timestamp: 2026-04-19T07:40:15.058Z
Learning: When completed and validated stages begin to accumulate, contributors MUST archive their detailed history out of the active `todos/` and `traces/` entry files in the same change, keeping only the current recovery point, active facts, active risks, immediate next step, and pointers to the relevant archive files
Learnt from: CR
Repo: GeWuYou/GFramework

Timestamp: 2026-04-19T07:40:15.058Z
Learning: When a task spans multiple commits or is likely to exceed a single agent context window, update both the recovery document and the trace at each meaningful milestone before pausing or handing work off
📚 Learning: 2026-04-19T04:14:17.799Z
Learnt from: CR
Repo: GeWuYou/GFramework PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-19T04:14:17.799Z
Learning: For any multi-step refactor, migration, or cross-module task, contributors MUST create or adopt a dedicated recovery document under `ai-plan/public/<topic>/todos/` before making substantive code changes.

Applied to files:

  • ai-plan/public/cqrs-rewrite/archive/todos/cqrs-rewrite-history-through-rp043.md
📚 Learning: 2026-04-19T04:14:17.799Z
Learnt from: CR
Repo: GeWuYou/GFramework PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-19T04:14:17.799Z
Learning: Recovery documents in `ai-plan/` MUST record the current phase, the active recovery point identifier, known risks, and the next recommended resume step so another contributor or subagent can continue the work safely.

Applied to files:

  • ai-plan/public/cqrs-rewrite/archive/todos/cqrs-rewrite-history-through-rp043.md
📚 Learning: 2026-04-19T04:14:17.799Z
Learnt from: CR
Repo: GeWuYou/GFramework PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-19T04:14:17.799Z
Learning: Applies to **/**.Tests/**/*.cs : Preserve snapshot-based verification patterns in C# source generator tests already used in the repository.

Applied to files:

  • ai-plan/public/cqrs-rewrite/archive/todos/cqrs-rewrite-history-through-rp043.md
📚 Learning: 2026-04-19T04:14:17.799Z
Learnt from: CR
Repo: GeWuYou/GFramework PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-19T04:14:17.799Z
Learning: Tracking updates in `ai-plan/` MUST reflect completed work, newly discovered issues, validation results, and the next recommended recovery point.

Applied to files:

  • ai-plan/public/cqrs-rewrite/archive/todos/cqrs-rewrite-history-through-rp043.md
🪛 LanguageTool
ai-plan/public/cqrs-rewrite/archive/todos/cqrs-rewrite-history-through-rp043.md

[uncategorized] ~20-~20: 数词与名词之间一般应存在量词,可能缺少量词。
Context: ...沉到 GFramework.Cqrs - 已将 generator 从“整程序集回退”推进到“可见 handlers 走 typeof(...) 直注册,...

(wa5)


[uncategorized] ~22-~22: 您的意思是“"不"齐”?
Context: ...runtime fallback marker” - 已为手写/第三方程序集补齐正式的精确 fallback 入口:`CqrsReflectionFallba...

(BU)


[uncategorized] ~26-~26: 您的意思是“"不"齐”?
Context: ...只做常量时间绑定”的模式 - 已在 CqrsDispatcher 热路径补齐 service-type 缓存,减少 PublishAsync / `S...

(BU)


[uncategorized] ~27-~27: 您的意思是“"不"齐”?
Context: ... invoker method-definition 查找收敛为静态一次解析,并补齐 request/no-pipeline、request/with-pipel...

(BU)


[uncategorized] ~41-~41: 您的意思是“"不"反射”?
Context: ...Attribute` 对具体 handler implementation 定向补反射”; 若 runtime 合同不提供该 marker,则生成器保守地...

(BU)


[uncategorized] ~43-~43: 您的意思是“"不"齐”?
Context: ...y,避免静默漏注册 - 已完成一轮 review follow-up 小修:补齐 dispatcher string pipeline cache 清理,...

(BU)


[uncategorized] ~44-~44: 您的意思是“"不"齐”?
Context: ...用缓存与编译错误诊断输出 - 已完成三轮 review follow-up:补齐 ICqrsRuntime 异常/上下文约束文档,明确 `DefaultC...

(BU)


[uncategorized] ~47-~47: 您的意思是“"不"洞”?
Context: ...mainingReflectedHandlerInterfaces(...) 补洞推进到“按程序集名 + metadata name 定向 lookup”;I...

(BU)


[uncategorized] ~55-~55: 您的意思是“"不"齐”?
Context: ...-libs/**观察写入 active plan/trace 的触发条件,并补齐模板/接口注释中的旧Rule` 命名空间残留 ## 本轮计划 ### ...

(BU)


[uncategorized] ~93-~93: 您的意思是“"不"齐”?
Context: ...口 - [x] 提升 CqrsTestRuntime 反射绑定的签名鲁棒性并补齐 XML 文档 - [x] 将剩余 Mediator 兼容入口推进到正式弃...

(BU)


[uncategorized] ~141-~141: 数词与名词之间一般应存在量词,可能缺少量词。
Context: ...构 - [x] 将 partial reflection fallback 从“整程序集 GetTypes() 扫描”推进到“generator 输出精确 han...

(wa5)


[uncategorized] ~142-~142: 您的意思是“"不"齐”?
Context: ...embly.GetType(...)` 补扫” - [x] 为手写/第三方程序集补齐精确 fallback metadata 入口,避免这类场景只能依赖旧版空 m...

(BU)


[uncategorized] ~143-~143: 您的意思是“"不"齐”?
Context: ...rker 或脆弱的字符串约定 - [x] 为 CqrsDispatcher 补齐 notification/request/stream service-ty...

(BU)


[uncategorized] ~144-~144: 您的意思是“"不"齐”?
Context: ...ericType重复开销 - [x] 为CqrsDispatcher` 补齐 invoker method-definition 静态缓存,并把 requ...

(BU)


[uncategorized] ~159-~159: 数词与名词之间一般应存在量词,可能缺少量词。
Context: ...载精确 fallback handler 类型名清单;当清单为空时,仍保持旧版“整程序集补扫”的兼容语义。 - `GFramework.Cqrs/CqrsReflec...

(wa5)


[uncategorized] ~171-~171: 您的意思是“"不"位”?
Context: ...出现新的未覆盖类型形态,则改由程序集级 targeted fallback 合同补位 - `GFramework.SourceGenerators/Cqrs/Cq...

(BU)


[uncategorized] ~182-~182: 能愿动词不能成为‘把’字句、‘被’字句的谓语动词。应该是:"能把……“"。
Context: ...Cqrs/CqrsHandlerRegistryGenerator.cs现已把“生成注册器顶层上下文是否能合法书写某个类型”改为通过Compilation.IsSymbolAcces...

(wa3)


[uncategorized] ~186-~186: 您的意思是“"不"洞”?
Context: ... 内部的 implementation 级 GetInterfaces() 补洞辅助逻辑: - 不再生成 `RegisterRemainingReflec...

(BU)


[uncategorized] ~189-~189: 您的意思是“"不"反射”?
Context: ...Attribute对具体 handler implementation 定向补反射 -GFramework.SourceGenerators.Tests/...

(BU)


[uncategorized] ~196-~196: 您的意思是“"不"齐”?
Context: ...sMetadataReferenceTestBuilder.cs` 已补齐多程序集测试基础设施,允许 CQRS generator 回归显式追加内存元数...

(BU)


[uncategorized] ~197-~197: 数词与名词之间一般应存在量词,可能缺少量词。
Context: ...Assembly.GetType(...)补扫;只有缺少精确元数据时才继续走整程序集GetTypes()扫描。 -GFramework.Cqrs.Te...

(wa5)


[uncategorized] ~218-~218: 您的意思是“"不"入”?
Context: ...d已完成最小同步: - 根 README 的模块表、仓库结构与安装指引已补入GFramework.Cqrs` 以及拆分后的 SourceGenerat...

(BU)


[uncategorized] ~229-~229: 您的意思是“"不"齐”?
Context: ...ork.Cqrs.Abstractions/GlobalUsings.cs已补齐基础 system 命名空间,避免新项目在关闭ImplicitUsings...

(BU)


[uncategorized] ~236-~236: 您的意思是“"不"齐”?
Context: ...alUsings.csLogging/TestLogger.cs已补齐,确保新测试项目不再隐式依赖GFramework.Core.Tests` ...

(BU)


[uncategorized] ~242-~242: 您的意思是“"不"反射”?
Context: ...写/第三方程序集或 generator 仍未直接覆盖的场景需要 runtime 补反射”的程序集级兼容入口。 - `GFramework.SourceGenera...

(BU)


[uncategorized] ~297-~297: 您的意思是“"不"回”?
Context: ...handler”回归已适配 seam 方案:在裸容器 Clear() 后显式补回测试基础设施,再验证程序集去重状态重置。 - `ai-plan/migrati...

(BU)


[uncategorized] ~325-~325: 您的意思是“"不"齐”?
Context: ...r以及MessageHandlerDelegate` 的 XML 文档已补齐迁移后的契约边界,明确旧 Command/Query 总线与新 CQRS ...

(BU)


[uncategorized] ~333-~333: 您的意思是“"不"齐”?
Context: ...behavior 链式执行 - CqrsHandlerRegistrar 已补齐三项运行时硬化: - 按程序集名、处理器类型名与处理器接口名稳定排序,...

(BU)


[uncategorized] ~343-~343: 您的意思是“"不"齐”?
Context: ...注册 + warning 已记录”。 - CqrsTestRuntime 已补齐 XML 文档,并改为按 `IIocContainer + IEnumerab...

(BU)


[uncategorized] ~362-~362: 数词与名词之间一般应存在量词,可能缺少量词。
Context: ...处理器(例如私有嵌套 handler),生成注册器会改走定向反射注册,而不是退回整程序集补扫 - CqrsHandlerRegistrar 已改为优先查找 `Cq...

(wa5)


[uncategorized] ~366-~366: 您的意思是“"不"齐”?
Context: ...sts/Cqrs/CqrsHandlerRegistrarTests.cs` 已补齐: - 生成器输出快照测试 - 私有嵌套 handler 走 gene...

(BU)


[uncategorized] ~379-~379: 您的意思是“"不"齐”?
Context: ...ions.DependencyInjectionusing, 已补齐以恢复 IServiceCollection` 编译通过。 - 当前验证状态...

(BU)


[uncategorized] ~491-~491: 您的意思是“"不"齐”?
Context: ...径恢复验证链路: - scripts/GlobalUsings.cs 已补齐新的 GFramework.Cqrs.Abstractions.Cqrs*...

(BU)


[uncategorized] ~513-~513: 您的意思是“"不"齐”?
Context: ...首次访问时只执行一次容器解析 - ArchitectureContext 已补齐公开构造函数 XML 文档,以及 CqrsRuntime 惰性初始化的并发...

(BU)


[uncategorized] ~518-~518: 您的意思是“"不"齐”?
Context: ... GFramework.Cqrs.Tests 已通过链接编译同一份共享源码并补齐 global using, 避免两个测试项目继续维护分叉的反射绑定逻...

(BU)


[uncategorized] ~593-~593: 您的意思是“"不"齐”?
Context: ...qrs.Abstractions/Cqrs/ICqrsRuntime.cs已补齐三个公开方法的 XML 契约: -null参数对应Argume...

(BU)


[uncategorized] ~616-~616: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:细"地"回归
Context: ...lias + duplicate registration 组合场景再补一条更细的回归测试 ## 2026-04-16 补充记录(RP-033) ### 阶段...

(wb4)


[uncategorized] ~623-~623: 您的意思是“"不"齐”?
Context: ...eTests.csClearDispatcherCaches()已补齐 RequestPipelineInvokerCache...

(BU)

🔇 Additional comments (1)
ai-plan/public/cqrs-rewrite/archive/todos/cqrs-rewrite-history-through-rp043.md (1)

1-738: 归档文档结构合理,符合项目规范。

本文档作为 CQRS 重写迁移的历史归档,已正确放置于 archive/todos/ 目录中。文档明确标注为"历史归档快照"(第 503-504 行),并引导后续维护者在活动 todos/traces/ 中维护当前恢复点。归档文档可以保留详细历史记录,无需遵守活动跟踪文档的简洁性要求。

关键合规点:

  • ✅ 所有路径均为仓库相对路径,无绝对文件系统路径
  • ✅ 未包含敏感信息(密钥、凭证、机器用户名等)
  • ✅ 归档位置符合学习规则:"完成阶段应移入 archive/ 目录"
  • ✅ 明确指引读者在活动文档中维护当前状态

静态分析工具的语法提示(如"您的意思是'不齐'"等)可安全忽略,这些是 LanguageTool 对技术文档的误判。

Based on learnings: When completed and validated stages begin to accumulate, contributors MUST archive their detailed history out of the active todos/ and traces/ entry files, keeping only the current recovery point, active facts, active risks, immediate next step, and pointers to the relevant archive files.


📝 Walkthrough

Walkthrough

PR 调整了启动/恢复上下文的读取顺序与步骤编号,明确活动 todos/traces 为默认恢复入口并要求将已完成历史迁入各主题内 archive/,并为 ai-first-config-system、ai-plan-governance 与 cqrs-rewrite 添加/重组多个跟踪与归档文档。

Changes

Cohort / File(s) Summary
启动工作流与 artifact 规则
​.codex/skills/gframework-boot/SKILL.md, ​.codex/skills/gframework-boot/references/startup-artifacts.md
更新启动/恢复上下文顺序与编号:优先读取活动主题的 todos/traces 作为入口,只有在指针或请求历史时才读取 archive/;重编号步骤并说明活动文件应保持简短。
任务追踪与目录语义
AGENTS.md, ai-plan/README.md, ai-plan/public/README.md
统一任务追踪与归档语义:将活动 todos/traces 定义为恢复入口(非追加日志),要求已完成阶段移入 archive/todos/archive/traces/;在 ai-plan/public/README.md 注册 ai-first-config-system 并映射分支 feat/ai-first-config
ai-first-config-system:归档历史
ai-plan/public/ai-first-config-system/archive/todos/..., ai-plan/public/ai-first-config-system/archive/traces/...
新增大量归档文档(todos/traces),记录 2026-03-30 至 2026-04-19 的执行历史、关键字支持与跨端实现/测试细节(多份长文档)。
ai-first-config-system:活跃入口与待办
ai-plan/public/ai-first-config-system/todos/ai-first-config-system-tracking.md, ai-plan/public/ai-first-config-system/todos/ai-first-config-system-csharp-experience-next.md, ai-plan/public/ai-first-config-system/traces/ai-first-config-system-trace.md
新增活跃跟踪、下一步清单与精简 active trace,记录当前恢复点、已完成能力摘要与后续优先项(C# 体验、聚合注册、关键字子集等)。
ai-plan-governance:归档与活动调整
ai-plan/public/ai-plan-governance/archive/todos/..., ai-plan/public/ai-plan-governance/archive/traces/..., ai-plan/public/ai-plan-governance/todos/ai-plan-governance-tracking.md, ai-plan/public/ai-plan-governance/traces/ai-plan-governance-trace.md
新增治理历史归档(RP-002..RP-004)并将活动追踪调整为 RP-005:收敛目录语义、验证命令与归档索引,明确将历史移出默认启动路径并列出验证步骤。
cqrs-rewrite:归档与活动精简
ai-plan/public/cqrs-rewrite/archive/todos/cqrs-rewrite-history-through-rp043.md, ai-plan/public/cqrs-rewrite/todos/cqrs-rewrite-migration-tracking.md
新增 CQRS 重写长期归档(多轮 RP 聚合),并压缩活动追踪内容、将恢复点更新为 RP-044,聚焦当前恢复建议与下一步。

Sequence Diagram(s)

(已评估:变更为文档/归档规则与新增文档,未引入新的多组件控制流或功能性序列,故省略序列图。)

预计代码审核工作量

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed PR标题'Feat/ai first config'与本次变更的核心内容不完全匹配。变更涉及AI-First Config System的多个文档和追踪文件新增,但更重要的是对ai-plan目录结构和启动工作流的全面重构,包括恢复上下文排序、主题索引、归档策略等系统级改进。标题未能充分反映这些关键变更。
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/ai-first-config

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions

Copy link
Copy Markdown

Summary

Tests 📝 Passed ✅ Failed ❌ Skipped ⏭️ Other ❓ Flaky 🍂 Duration ⏱️
2103 2103 0 0 0 0 1ms

Test Results

passed 2103 passed

Details

tests 2103 tests
clock 36.5s
tool nunit
build CI - Build & Test arrow-right build-and-test link #884
pull-request Feat/ai first config link #254

Insights

Average Tests per Run Total Flaky Tests Total Failed Slowest Test (p95)
2103 0 0 3.6s

build-and-test: Run #884

Tests 📝 Passed ✅ Failed ❌ Skipped ⏭️ Pending ⏳ Other ❓ Flaky 🍂 Duration ⏱️
2103 2103 0 0 0 0 0 36.5s

🎉 All tests passed!

Slowest Tests

Test 📝 Results 📊 Duration (avg) ⏱️ Duration (p95) ⏱️
SendRequestAsync_Should_ResolveCqrsRuntime_OnlyOnce_When_AccessedConcurrently 1 3.6s 3.6s
Does_Not_Report_When_FieldInjectedModel_Is_Registered 1 2.3s 2.3s
Generates_Scene_Behavior_Boilerplate 1 2.0s 2.0s
CleanupDuringAcquire_Should_NotCauseRaceCondition 1 1.1s 1.1s
Append_ShouldNotBlock 1 1.0s 1.0s
Context_Caching_Should_Improve_Performance 1 779ms 779ms
PendingCount_ShouldReflectQueuedEntries 1 501ms 501ms
Cleanup_Should_NotRemoveActiveLocks 1 404ms 404ms
Cleanup_Should_RemoveUnusedLocks 1 401ms 401ms
Generates_Precise_Assembly_Type_Lookups_For_Inaccessible_External_Protected_Types 1 336ms 336ms

🎉 No failed tests in this run. | 🍂 No flaky tests in this run.

Github Test Reporter by CTRF 💚

@github-actions

github-actions Bot commented Apr 19, 2026

Copy link
Copy Markdown

MegaLinter analysis: Success

Descriptor Linter Files Fixed Errors Warnings Elapsed time
✅ REPOSITORY gitleaks yes no no 3.25s
✅ REPOSITORY trufflehog yes no no 3.82s

See detailed reports in MegaLinter artifacts
Set VALIDATE_ALL_CODEBASE: true in mega-linter.yml to validate all sources, not only the diff

MegaLinter is graciously provided by OX Security
Show us your support by starring ⭐ the repository

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 6

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In
`@ai-plan/public/ai-first-config-system/archive/todos/ai-first-config-system-history-through-2026-04-17.md`:
- Around line 454-557: There are duplicate third-level headings "### 2026-04-09"
and similar that trigger MD024; locate the repeated headings (e.g., the blocks
starting with "### 2026-04-09", "### 2026-04-09(bootstrap 与 schema 子集)", and the
"### 2026-04-08" groups) and make each heading unique by appending short context
qualifiers (for example "(索引能力)", "(bootstrap 与 schema 子集)", "(schema 校验对齐修正)"
or similar) to the conflicting "### 2026-04-09" / "### 2026-04-08" titles so
anchors and TOC entries are unambiguous.

In
`@ai-plan/public/ai-first-config-system/todos/ai-first-config-system-csharp-experience-next.md`:
- Around line 87-95: 在“下次恢复点”段落末尾补齐标准恢复元信息:插入一个带有显式恢复点标识符(例如
RP-编号)、当前阶段(阶段名)、已知风险清单、最近的验证结果与验证时间,以及下一步推荐的恢复操作的“恢复块”;在
ai-first-config-system-csharp-experience-next.md
的“下次恢复点”下追加该恢复块,确保字段名清晰(阶段/RecoveryPoint/Risks/Validation/NextSteps)并使用同一文档格式填充实际值以满足
ai-plan/public/*/todos/**/* 的恢复文档要求。

In
`@ai-plan/public/ai-first-config-system/todos/ai-first-config-system-tracking.md`:
- Around line 8-16: 在“当前恢复点”条目下为恢复点标识 AI-FIRST-CONFIG-RP-002 和当前阶段 C# Runtime +
Source Generator + Consumer DX 补充一个“已知风险”小节,列出明确风险项(例如:语义一致性风险 — if/then/else 在
Runtime/Generator/Tooling 三端语义不一致的风险;工具链验证风险 — VS Code 与 CI/发布管道验证覆盖不足;非阻塞项回退风险
— 将 VS Code
功能标为非阻塞但导致主线回退的风险),并为每项给出一行简短缓解建议,确保恢复文档满足“阶段、恢复点标识、已知风险、下一步”四要素要求以便交接。

In
`@ai-plan/public/ai-first-config-system/traces/ai-first-config-system-trace.md`:
- Around line 3-25: Add a new "### 验证" subsection to
ai-first-config-system-trace.md that records concrete validation milestones and
results: list the check commands or tests executed (e.g., config validation,
schema conformance commands), the dates they were run, brief pass/fail
summaries, and any artifact references (e.g., the archive files or ticket IDs)
so the trace meets the project guideline that traces include date, key
decisions, validation milestones, and next steps; place this subsection after
the "Archive Context" block and before "下一步" and include at least one explicit
validation entry covering the current restoration/boot behavior change.

In `@ai-plan/public/ai-plan-governance/todos/ai-plan-governance-tracking.md`:
- Around line 15-23: 在 “当前恢复点” 小节(找到标题 “当前恢复点”、恢复点编号 `AI-PLAN-GOV-RP-005` 和阶段
`Phase 3`)下新增一个 “已知风险” 子小节,列出本阶段的失败面与可观测信号(例如:归档遗漏、入口回膨胀、跨文档语义漂移
等),并确保恢复文档包含四项必备信息:当前阶段(Phase
3)、活跃恢复点标识(AI-PLAN-GOV-RP-005)、已知风险条目以及下一步推荐的恢复操作(next recommended resume
step/下一步),以便后续接手者能依据这些信号安全续作。

In
`@ai-plan/public/cqrs-rewrite/archive/todos/cqrs-rewrite-history-through-rp043.md`:
- Around line 384-389: There are stray isolated list markers (`-`) creating
orphaned list items around the two backticked dotnet test lines; remove those
lone `-` lines and convert each test command into a proper Markdown list element
(e.g., prepend a single `- ` before each backticked command like the ``dotnet
test GFramework.Core.Tests/...` entries) or combine them into one coherent list
block so the Markdown renders and lints correctly.
🪄 Autofix (Beta)

✅ Autofix completed


ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 9fab84eb-40db-47bd-af7b-b7673f5b44aa

📥 Commits

Reviewing files that changed from the base of the PR and between f5b3cfd and 9b90470.

📒 Files selected for processing (18)
  • .codex/skills/gframework-boot/SKILL.md
  • .codex/skills/gframework-boot/references/startup-artifacts.md
  • AGENTS.md
  • ai-plan/README.md
  • ai-plan/public/README.md
  • ai-plan/public/ai-first-config-system/archive/todos/ai-first-config-system-history-through-2026-04-17.md
  • ai-plan/public/ai-first-config-system/archive/traces/ai-first-config-system-history-through-2026-04-17.md
  • ai-plan/public/ai-first-config-system/todos/ai-first-config-system-csharp-experience-next.md
  • ai-plan/public/ai-first-config-system/todos/ai-first-config-system-tracking.md
  • ai-plan/public/ai-first-config-system/traces/ai-first-config-system-trace.md
  • ai-plan/public/ai-plan-governance/archive/todos/ai-plan-governance-history-rp002-rp004.md
  • ai-plan/public/ai-plan-governance/archive/traces/ai-plan-governance-history-rp002-rp004.md
  • ai-plan/public/ai-plan-governance/todos/ai-plan-governance-tracking.md
  • ai-plan/public/ai-plan-governance/traces/ai-plan-governance-trace.md
  • ai-plan/public/cqrs-rewrite/archive/todos/cqrs-rewrite-history-through-rp043.md
  • ai-plan/public/cqrs-rewrite/archive/traces/cqrs-rewrite-history-through-rp043.md
  • ai-plan/public/cqrs-rewrite/todos/cqrs-rewrite-migration-tracking.md
  • ai-plan/public/cqrs-rewrite/traces/cqrs-rewrite-migration-trace.md

Comment thread ai-plan/public/ai-first-config-system/traces/ai-first-config-system-trace.md Outdated
Comment thread ai-plan/public/cqrs-rewrite/archive/todos/cqrs-rewrite-history-through-rp043.md Outdated
@coderabbitai

coderabbitai Bot commented Apr 19, 2026

Copy link
Copy Markdown
Contributor

Note

Autofix is a beta feature. Expect some limitations and changes as we gather feedback and continue to improve it.

Fixes Applied Successfully

Fixed 6 file(s) based on 6 unresolved review comments.

Files modified:

  • ai-plan/public/ai-first-config-system/archive/todos/ai-first-config-system-history-through-2026-04-17.md
  • ai-plan/public/ai-first-config-system/todos/ai-first-config-system-csharp-experience-next.md
  • ai-plan/public/ai-first-config-system/todos/ai-first-config-system-tracking.md
  • ai-plan/public/ai-first-config-system/traces/ai-first-config-system-trace.md
  • ai-plan/public/ai-plan-governance/todos/ai-plan-governance-tracking.md
  • ai-plan/public/cqrs-rewrite/archive/todos/cqrs-rewrite-history-through-rp043.md

Commit: bc3d50f07e9201be30114681478e7a5cc9df4232

The changes have been pushed to the feat/ai-first-config branch.

Time taken: 4m 29s

Fixed 6 file(s) based on 6 unresolved review comments.

Co-authored-by: CodeRabbit <noreply@coderabbit.ai>
@github-actions

Copy link
Copy Markdown

Summary

Tests 📝 Passed ✅ Failed ❌ Skipped ⏭️ Other ❓ Flaky 🍂 Duration ⏱️
2103 2103 0 0 0 0 36.6s    ↑91ms

Test Results

passed 2103 passed

Details

tests 2103 tests
clock 36.6s ↑91ms
tool nunit
build CI - Build & Test arrow-right build-and-test link #885
pull-request Feat/ai first config link #254

Insights

Average Tests per Run Total Flaky Tests Total Failed Slowest Test (p95)
2103 0 0 4.1s

build-and-test: Run #885

Tests 📝 Passed ✅ Failed ❌ Skipped ⏭️ Pending ⏳ Other ❓ Flaky 🍂 Duration ⏱️
2103 2103 0 0 0 0 0 36.6s

🎉 All tests passed!

Slowest Tests

Test 📝 Results 📊 Duration (avg) ⏱️ Duration (p95) ⏱️
SendRequestAsync_Should_ResolveCqrsRuntime_OnlyOnce_When_AccessedConcurrently 2 3.9s 4.1s
Does_Not_Report_When_FieldInjectedModel_Is_Registered 2 2.3s 2.3s
Generates_Scene_Behavior_Boilerplate 2 2.0s 2.0s
CleanupDuringAcquire_Should_NotCauseRaceCondition 2 1.1s 1.1s
Append_ShouldNotBlock 2 1.0s 1.0s
Context_Caching_Should_Improve_Performance 2 781ms 783ms
PendingCount_ShouldReflectQueuedEntries 2 501ms 501ms
Cleanup_Should_NotRemoveActiveLocks 2 404ms 404ms
Cleanup_Should_RemoveUnusedLocks 2 401ms 401ms
Generates_Precise_Assembly_Type_Lookups_For_Inaccessible_External_Protected_Types 2 338ms 341ms

± Comparison with run #884 at 2944810 | 🎉 No failed tests detected across all runs. | 🍂 No flaky tests detected across all runs. | ⏱️ Measured over 2 runs.

Github Test Reporter by CTRF 💚

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
ai-plan/public/cqrs-rewrite/archive/todos/cqrs-rewrite-history-through-rp043.md (1)

503-504: 建议去掉“主恢复点”表述,避免 archive 与 active 入口语义混淆。

这里建议改成“历史归档快照/历史阶段记录”,不要把归档文件描述为“当前任务主恢复点”,否则会误导后续 boot/接手流程的入口选择。

✏️ 建议修改
-- 本文档是当前任务的主恢复点,后续每个关键阶段完成后都要更新
-- 发生方向调整时,不覆盖旧结论,直接追加阶段记录与新的恢复点编号
+- 本文档是历史归档快照,用于回溯 `CQRS-REWRITE-RP-043` 及之前阶段
+- 后续请在 active `todos/` 与 `traces/` 维护当前恢复点,并将完成阶段继续归档

As per coding guidelines: “Active tracking and trace files are recovery entrypoints, not append-only changelogs. They MUST stay concise enough for boot to locate the current recovery point quickly”.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
`@ai-plan/public/cqrs-rewrite/archive/todos/cqrs-rewrite-history-through-rp043.md`
around lines 503 - 504, Replace the phrase "主恢复点" (e.g., the line
"本文档是当前任务的主恢复点,后续每个关键阶段完成后都要更新") with a non-ambiguous archival wording such as
"历史归档快照" or "历史阶段记录", and remove any text that implies this archive file is the
active recovery/boot entrypoint; update any other occurrences of "主恢复点" in the
document to the new wording and add a short clarifying note that archives are
append-only historical snapshots (not the active recovery/boot entrypoint) so
boot/接手 flows will not treat this file as the current recovery point.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In
`@ai-plan/public/cqrs-rewrite/archive/todos/cqrs-rewrite-history-through-rp043.md`:
- Around line 503-504: Replace the phrase "主恢复点" (e.g., the line
"本文档是当前任务的主恢复点,后续每个关键阶段完成后都要更新") with a non-ambiguous archival wording such as
"历史归档快照" or "历史阶段记录", and remove any text that implies this archive file is the
active recovery/boot entrypoint; update any other occurrences of "主恢复点" in the
document to the new wording and add a short clarifying note that archives are
append-only historical snapshots (not the active recovery/boot entrypoint) so
boot/接手 flows will not treat this file as the current recovery point.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 555a3bda-e079-4329-bdc9-fd9bd2510af5

📥 Commits

Reviewing files that changed from the base of the PR and between 9b90470 and bc3d50f.

📒 Files selected for processing (6)
  • ai-plan/public/ai-first-config-system/archive/todos/ai-first-config-system-history-through-2026-04-17.md
  • ai-plan/public/ai-first-config-system/todos/ai-first-config-system-csharp-experience-next.md
  • ai-plan/public/ai-first-config-system/todos/ai-first-config-system-tracking.md
  • ai-plan/public/ai-first-config-system/traces/ai-first-config-system-trace.md
  • ai-plan/public/ai-plan-governance/todos/ai-plan-governance-tracking.md
  • ai-plan/public/cqrs-rewrite/archive/todos/cqrs-rewrite-history-through-rp043.md
✅ Files skipped from review due to trivial changes (2)
  • ai-plan/public/ai-first-config-system/traces/ai-first-config-system-trace.md
  • ai-plan/public/ai-first-config-system/todos/ai-first-config-system-tracking.md
📜 Review details
⏰ Context from checks skipped due to timeout of 900000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: Analyze (C#)
  • GitHub Check: Code Quality & Security
🧰 Additional context used
📓 Path-based instructions (5)
**/*.md

📄 CodeRabbit inference engine (AGENTS.md)

If existing documentation conflicts with code or tests, update the documentation to match the implementation instead of preserving outdated wording

Do not publish example code, setup steps, or package guidance that cannot be traced back to code, tests, or a verified consumer project

Files:

  • ai-plan/public/ai-plan-governance/todos/ai-plan-governance-tracking.md
  • ai-plan/public/ai-first-config-system/archive/todos/ai-first-config-system-history-through-2026-04-17.md
  • ai-plan/public/ai-first-config-system/todos/ai-first-config-system-csharp-experience-next.md
  • ai-plan/public/cqrs-rewrite/archive/todos/cqrs-rewrite-history-through-rp043.md
ai-plan/**/*.md

📄 CodeRabbit inference engine (AGENTS.md)

Contributors MUST keep committed ai-plan/public/** content safe to publish in Git history; never write secrets, tokens, credentials, private keys, machine usernames, home-directory paths, hostnames, IP addresses, proprietary URLs, or other sensitive environment details into any ai-plan/** file

Never record absolute file-system paths in ai-plan/**; use repository-relative paths, branch names, PR numbers, or stable document identifiers instead

Use ai-plan/public/** only for durable, handoff-safe task state; put temporary notes, local experiments, or worktree-specific scratch recovery data under ai-plan/private/

Files:

  • ai-plan/public/ai-plan-governance/todos/ai-plan-governance-tracking.md
  • ai-plan/public/ai-first-config-system/archive/todos/ai-first-config-system-history-through-2026-04-17.md
  • ai-plan/public/ai-first-config-system/todos/ai-first-config-system-csharp-experience-next.md
  • ai-plan/public/cqrs-rewrite/archive/todos/cqrs-rewrite-history-through-rp043.md
ai-plan/public/*/todos/*.md

📄 CodeRabbit inference engine (AGENTS.md)

When working from a tracked implementation plan, contributors MUST update the corresponding tracking document under ai-plan/public//todos/ in the same change

Tracking updates MUST reflect completed work, newly discovered issues, validation results, and the next recommended recovery point

For any multi-step refactor, migration, or cross-module task, contributors MUST create or adopt a dedicated recovery document under ai-plan/public//todos/ before making substantive code changes

Recovery documents MUST record the current phase, the active recovery point identifier, known risks, and the next recommended resume step so another contributor or subagent can continue the work safely

Files:

  • ai-plan/public/ai-plan-governance/todos/ai-plan-governance-tracking.md
  • ai-plan/public/ai-first-config-system/todos/ai-first-config-system-csharp-experience-next.md
ai-plan/public/**/*.md

📄 CodeRabbit inference engine (AGENTS.md)

Active tracking and trace files are recovery entrypoints, not append-only changelogs; they MUST stay concise enough for boot to locate the current recovery point quickly

When completed and validated stages begin to accumulate, contributors MUST archive their detailed history out of the active todos/ and traces/ entry files in the same change; keep only the current recovery point, active facts, active risks, immediate next step, and pointers to the relevant archive files in the default boot path

When a task spans multiple commits or is likely to exceed a single agent context window, update both the recovery document and the trace at each meaningful milestone before pausing or handing work off

If subagents are used on a complex task, the main agent MUST capture the delegated scope and any accepted findings in the active recovery document or trace before continuing implementation

Files:

  • ai-plan/public/ai-plan-governance/todos/ai-plan-governance-tracking.md
  • ai-plan/public/ai-first-config-system/archive/todos/ai-first-config-system-history-through-2026-04-17.md
  • ai-plan/public/ai-first-config-system/todos/ai-first-config-system-csharp-experience-next.md
  • ai-plan/public/cqrs-rewrite/archive/todos/cqrs-rewrite-history-through-rp043.md
ai-plan/public/*/archive/**/*.md

📄 CodeRabbit inference engine (AGENTS.md)

When a stage inside an active topic is fully complete, move the finished artifacts into that topic's archive/ directory instead of leaving every completed step in the default boot path

Files:

  • ai-plan/public/ai-first-config-system/archive/todos/ai-first-config-system-history-through-2026-04-17.md
  • ai-plan/public/cqrs-rewrite/archive/todos/cqrs-rewrite-history-through-rp043.md
🧠 Learnings (17)
📓 Common learnings
Learnt from: CR
Repo: GeWuYou/GFramework PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-19T04:14:17.799Z
Learning: For any multi-step refactor, migration, or cross-module task, contributors MUST create or adopt a dedicated recovery document under `ai-plan/public/<topic>/todos/` before making substantive code changes.
Learnt from: CR
Repo: GeWuYou/GFramework PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-19T04:14:17.799Z
Learning: Tracking updates in `ai-plan/` MUST reflect completed work, newly discovered issues, validation results, and the next recommended recovery point.
Learnt from: CR
Repo: GeWuYou/GFramework PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-19T04:14:17.799Z
Learning: When a task spans multiple commits or is likely to exceed a single agent context window, update both the recovery document and the trace in `ai-plan/` at each meaningful milestone before pausing or handing work off.
Learnt from: CR
Repo: GeWuYou/GFramework PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-19T04:14:17.799Z
Learning: For integration-oriented features such as the AI-First config system, documentation MUST cover: project directory layout and file conventions, required project or package wiring, minimal working usage example, and migration or compatibility notes when behavior changes.
Learnt from: CR
Repo: GeWuYou/GFramework PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-19T04:14:17.799Z
Learning: When working from a tracked implementation plan, contributors MUST update the corresponding tracking document under `ai-plan/public/<topic>/todos/` in the same change.
Learnt from: CR
Repo: GeWuYou/GFramework PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-19T04:14:17.799Z
Learning: `ai-plan/public/README.md` MUST list only active topics. Do not add `ai-plan/public/archive/**` content to the default boot index.
Learnt from: CR
Repo: GeWuYou/GFramework PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-19T04:14:17.799Z
Learning: Recovery documents in `ai-plan/` MUST record the current phase, the active recovery point identifier, known risks, and the next recommended resume step so another contributor or subagent can continue the work safely.
Learnt from: CR
Repo: GeWuYou/GFramework PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-19T04:14:17.799Z
Learning: When a worktree-to-topic mapping changes, or when a topic becomes active/inactive, contributors MUST update `ai-plan/public/README.md` in the same change.
Learnt from: CR
Repo: GeWuYou/GFramework PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-19T04:14:17.799Z
Learning: Contributors MUST maintain a matching execution trace under `ai-plan/public/<topic>/traces/` for complex work. The trace should record the current date, key decisions, validation milestones, and the immediate next step.
Learnt from: CR
Repo: GeWuYou/GFramework PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-19T04:14:17.799Z
Learning: Completing code changes without updating the active tracking document in `ai-plan/` is considered incomplete work.
Learnt from: CR
Repo: GeWuYou/GFramework

Timestamp: 2026-04-19T07:30:34.329Z
Learning: Read `@.ai/environment/tools.ai.yaml` before choosing runtimes or CLI tools; prefer project-relevant tools listed there instead of assuming every installed system tool is fair game
Learnt from: CR
Repo: GeWuYou/GFramework

Timestamp: 2026-04-19T07:30:34.329Z
Learning: When working in WSL against a Windows-backed worktree, prefer Windows Git from WSL (for example `git.exe`) instead of the Linux `git` binary
Learnt from: CR
Repo: GeWuYou/GFramework

Timestamp: 2026-04-19T07:30:34.329Z
Learning: Every completed task MUST pass at least one build validation before it is considered done
Learnt from: CR
Repo: GeWuYou/GFramework

Timestamp: 2026-04-19T07:30:34.329Z
Learning: If the required build passes and there are task-related staged or unstaged changes, contributors MUST create a Git commit automatically instead of leaving the task uncommitted, unless the user explicitly says not to commit
Learnt from: CR
Repo: GeWuYou/GFramework

Timestamp: 2026-04-19T07:30:34.329Z
Learning: Commit messages MUST use Conventional Commits format: `<type>(<scope>): <summary>`, with summary in simplified Chinese, and body using unordered list items with verbs such as `新增`、`修复`、`优化`、`更新`、`补充`、`重构`
Learnt from: CR
Repo: GeWuYou/GFramework

Timestamp: 2026-04-19T07:30:34.329Z
Learning: If a new task starts while the current branch is `main`, contributors MUST first try to update local `main` from the remote, then create and switch to a dedicated branch before making substantive changes
Learnt from: CR
Repo: GeWuYou/GFramework

Timestamp: 2026-04-19T07:30:34.329Z
Learning: The branch naming rule for a new task branch is `<type>/<topic-or-scope>`, where `<type>` should match the intended Conventional Commit category
Learnt from: CR
Repo: GeWuYou/GFramework

Timestamp: 2026-04-19T07:30:34.329Z
Learning: Prefer invoking `$gframework-boot` when the user uses short startup prompts such as `boot`、`continue`、`next step`、`按 boot 开始`、`先看 AGENTS`、`继续当前任务`
Learnt from: CR
Repo: GeWuYou/GFramework

Timestamp: 2026-04-19T07:30:34.329Z
Learning: The boot skill is a startup convenience layer, not a replacement for AGENTS.md. If the skill and AGENTS.md diverge, follow AGENTS.md first and update the skill in the same change
Learnt from: CR
Repo: GeWuYou/GFramework

Timestamp: 2026-04-19T07:30:34.329Z
Learning: Use subagents only when the task is complex, the context is likely to grow too large, or the work can be split into independent parallel subtasks
Learnt from: CR
Repo: GeWuYou/GFramework

Timestamp: 2026-04-19T07:30:34.329Z
Learning: The main agent MUST identify the critical path first. Do not delegate the immediate blocking task if the next local step depends on that result
Learnt from: CR
Repo: GeWuYou/GFramework

Timestamp: 2026-04-19T07:30:34.329Z
Learning: Missing required documentation is a coding standards violation; code that does not meet the documentation rules is considered incomplete
Learnt from: CR
Repo: GeWuYou/GFramework

Timestamp: 2026-04-19T07:30:34.329Z
Learning: Keep abstractions projects free of implementation details and engine-specific dependencies
Learnt from: CR
Repo: GeWuYou/GFramework

Timestamp: 2026-04-19T07:30:34.329Z
Learning: Preserve existing module boundaries; do not introduce new cross-module dependencies without clear architectural need
Learnt from: CR
Repo: GeWuYou/GFramework

Timestamp: 2026-04-19T07:30:34.329Z
Learning: Every non-trivial feature, bug fix, or behavior change MUST include tests or an explicit justification for why a test is not practical
Learnt from: CR
Repo: GeWuYou/GFramework

Timestamp: 2026-04-19T07:30:34.329Z
Learning: Treat source code, *.csproj, tests, generated snapshots, and packaging metadata as the primary evidence for documentation updates; treat CoreGrid as a secondary evidence source; treat existing README.md files and docs/zh-CN/ pages as editable outputs, not authoritative truth
Learnt from: CR
Repo: GeWuYou/GFramework

Timestamp: 2026-04-19T07:30:34.329Z
Learning: Adding a new top-level module directory without a README.md is considered incomplete work
Learnt from: CR
Repo: GeWuYou/GFramework

Timestamp: 2026-04-19T07:30:34.329Z
Learning: Completing code changes without updating the active tracking document is considered incomplete work
📚 Learning: 2026-04-19T04:14:17.799Z
Learnt from: CR
Repo: GeWuYou/GFramework PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-19T04:14:17.799Z
Learning: Tracking updates in `ai-plan/` MUST reflect completed work, newly discovered issues, validation results, and the next recommended recovery point.

Applied to files:

  • ai-plan/public/ai-plan-governance/todos/ai-plan-governance-tracking.md
  • ai-plan/public/ai-first-config-system/archive/todos/ai-first-config-system-history-through-2026-04-17.md
  • ai-plan/public/ai-first-config-system/todos/ai-first-config-system-csharp-experience-next.md
  • ai-plan/public/cqrs-rewrite/archive/todos/cqrs-rewrite-history-through-rp043.md
📚 Learning: 2026-04-19T04:14:17.799Z
Learnt from: CR
Repo: GeWuYou/GFramework PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-19T04:14:17.799Z
Learning: For any multi-step refactor, migration, or cross-module task, contributors MUST create or adopt a dedicated recovery document under `ai-plan/public/<topic>/todos/` before making substantive code changes.

Applied to files:

  • ai-plan/public/ai-plan-governance/todos/ai-plan-governance-tracking.md
  • ai-plan/public/ai-first-config-system/archive/todos/ai-first-config-system-history-through-2026-04-17.md
  • ai-plan/public/ai-first-config-system/todos/ai-first-config-system-csharp-experience-next.md
  • ai-plan/public/cqrs-rewrite/archive/todos/cqrs-rewrite-history-through-rp043.md
📚 Learning: 2026-04-19T04:14:17.799Z
Learnt from: CR
Repo: GeWuYou/GFramework PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-19T04:14:17.799Z
Learning: When working from a tracked implementation plan, contributors MUST update the corresponding tracking document under `ai-plan/public/<topic>/todos/` in the same change.

Applied to files:

  • ai-plan/public/ai-plan-governance/todos/ai-plan-governance-tracking.md
  • ai-plan/public/ai-first-config-system/archive/todos/ai-first-config-system-history-through-2026-04-17.md
  • ai-plan/public/cqrs-rewrite/archive/todos/cqrs-rewrite-history-through-rp043.md
📚 Learning: 2026-04-19T04:14:17.799Z
Learnt from: CR
Repo: GeWuYou/GFramework PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-19T04:14:17.799Z
Learning: Recovery documents in `ai-plan/` MUST record the current phase, the active recovery point identifier, known risks, and the next recommended resume step so another contributor or subagent can continue the work safely.

Applied to files:

  • ai-plan/public/ai-plan-governance/todos/ai-plan-governance-tracking.md
  • ai-plan/public/ai-first-config-system/todos/ai-first-config-system-csharp-experience-next.md
  • ai-plan/public/cqrs-rewrite/archive/todos/cqrs-rewrite-history-through-rp043.md
📚 Learning: 2026-04-19T04:14:17.799Z
Learnt from: CR
Repo: GeWuYou/GFramework PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-19T04:14:17.799Z
Learning: When a worktree-to-topic mapping changes, or when a topic becomes active/inactive, contributors MUST update `ai-plan/public/README.md` in the same change.

Applied to files:

  • ai-plan/public/ai-plan-governance/todos/ai-plan-governance-tracking.md
📚 Learning: 2026-04-19T04:14:17.799Z
Learnt from: CR
Repo: GeWuYou/GFramework PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-19T04:14:17.799Z
Learning: When a task spans multiple commits or is likely to exceed a single agent context window, update both the recovery document and the trace in `ai-plan/` at each meaningful milestone before pausing or handing work off.

Applied to files:

  • ai-plan/public/ai-plan-governance/todos/ai-plan-governance-tracking.md
  • ai-plan/public/ai-first-config-system/todos/ai-first-config-system-csharp-experience-next.md
📚 Learning: 2026-04-19T04:14:17.799Z
Learnt from: CR
Repo: GeWuYou/GFramework PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-19T04:14:17.799Z
Learning: `ai-plan/public/README.md` MUST list only active topics. Do not add `ai-plan/public/archive/**` content to the default boot index.

Applied to files:

  • ai-plan/public/ai-plan-governance/todos/ai-plan-governance-tracking.md
📚 Learning: 2026-04-19T04:14:17.799Z
Learnt from: CR
Repo: GeWuYou/GFramework PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-19T04:14:17.799Z
Learning: Completing code changes without updating the active tracking document in `ai-plan/` is considered incomplete work.

Applied to files:

  • ai-plan/public/ai-plan-governance/todos/ai-plan-governance-tracking.md
📚 Learning: 2026-04-19T04:14:17.799Z
Learnt from: CR
Repo: GeWuYou/GFramework PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-19T04:14:17.799Z
Learning: When a topic is fully complete, move the entire topic directory under `ai-plan/public/archive/<topic>/` and remove it from `ai-plan/public/README.md` in the same change.

Applied to files:

  • ai-plan/public/ai-plan-governance/todos/ai-plan-governance-tracking.md
📚 Learning: 2026-04-19T04:14:17.799Z
Learnt from: CR
Repo: GeWuYou/GFramework PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-19T04:14:17.799Z
Learning: Contributors MUST maintain a matching execution trace under `ai-plan/public/<topic>/traces/` for complex work. The trace should record the current date, key decisions, validation milestones, and the immediate next step.

Applied to files:

  • ai-plan/public/ai-plan-governance/todos/ai-plan-governance-tracking.md
  • ai-plan/public/ai-first-config-system/archive/todos/ai-first-config-system-history-through-2026-04-17.md
📚 Learning: 2026-04-19T04:14:17.799Z
Learnt from: CR
Repo: GeWuYou/GFramework PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-19T04:14:17.799Z
Learning: Never record absolute file-system paths in `ai-plan/**`; use repository-relative paths, branch names, PR numbers, or stable document identifiers instead.

Applied to files:

  • ai-plan/public/ai-plan-governance/todos/ai-plan-governance-tracking.md
📚 Learning: 2026-04-19T04:14:17.799Z
Learnt from: CR
Repo: GeWuYou/GFramework PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-19T04:14:17.799Z
Learning: Use `ai-plan/public/**` only for durable, handoff-safe task state. Put temporary notes, local experiments, or worktree-specific scratch recovery data under `ai-plan/private/`.

Applied to files:

  • ai-plan/public/ai-plan-governance/todos/ai-plan-governance-tracking.md
📚 Learning: 2026-04-19T04:14:17.799Z
Learnt from: CR
Repo: GeWuYou/GFramework PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-19T04:14:17.799Z
Learning: For integration-oriented features such as the AI-First config system, documentation MUST cover: project directory layout and file conventions, required project or package wiring, minimal working usage example, and migration or compatibility notes when behavior changes.

Applied to files:

  • ai-plan/public/ai-first-config-system/archive/todos/ai-first-config-system-history-through-2026-04-17.md
  • ai-plan/public/ai-first-config-system/todos/ai-first-config-system-csharp-experience-next.md
📚 Learning: 2026-04-19T04:14:17.799Z
Learnt from: CR
Repo: GeWuYou/GFramework PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-19T04:14:17.799Z
Learning: Applies to **/*.cs : Any change to public API, lifecycle semantics, module behavior, or extension points in C# MUST update the related XML docs.

Applied to files:

  • ai-plan/public/ai-first-config-system/todos/ai-first-config-system-csharp-experience-next.md
📚 Learning: 2026-04-19T04:14:17.799Z
Learnt from: CR
Repo: GeWuYou/GFramework PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-19T04:14:17.799Z
Learning: If a module's responsibilities, setup, public API surface, generator inputs, or adoption path change in C#, update that module's `README.md` in the same change.

Applied to files:

  • ai-plan/public/ai-first-config-system/todos/ai-first-config-system-csharp-experience-next.md
📚 Learning: 2026-04-19T04:14:17.799Z
Learnt from: CR
Repo: GeWuYou/GFramework PR: 0
File: AGENTS.md:0-0
Timestamp: 2026-04-19T04:14:17.799Z
Learning: Applies to **/**.Tests/**/*.cs : Preserve snapshot-based verification patterns in C# source generator tests already used in the repository.

Applied to files:

  • ai-plan/public/cqrs-rewrite/archive/todos/cqrs-rewrite-history-through-rp043.md
🪛 LanguageTool
ai-plan/public/ai-first-config-system/archive/todos/ai-first-config-system-history-through-2026-04-17.md

[uncategorized] ~9-~9: 能愿动词不能成为‘把’字句、‘被’字句的谓语动词。应该是:"可把……本地"。
Context: ...ot可直接命中本主题 - 迁移后的公共文档已清洗绝对路径与机器相关信息,避免把本地环境细节继续带入可提交恢复文档 ## 1. 目标 基于当前GFramework` 设计结论...

(wa3)


[uncategorized] ~33-~33: 您的意思是“"不"齐”?
Context: ...目标: - 建立只读配置表抽象 - 建立配置注册表抽象 - 提供内存实现 - 补齐基础测试 状态:已完成 ### Phase 2: YAML Loader ...

(BU)


[uncategorized] ~94-~94: 您的意思是“"不"齐”?
Context: ...缺失必填字段、未知字段和类型不匹配数据 - [x] 为运行时 schema 校验补齐回归测试 - [x] 让 Source Generator 在消费项目中自动拾...

(BU)


[uncategorized] ~99-~99: 您的意思是“"不"齐”?
Context: ...与说明 - [x] 增加一个端到端消费者集成测试 ### P1: 强烈建议尽快补齐 - [x] 扩展最有价值的一批 schema 关键字到 Runtime +...

(BU)


[uncategorized] ~118-~118: 您的意思是“"不"齐”?
Context: ...equireddependentSchemasallOf` 的基础上补齐下一批关键字与约束映射 - [x] 评估是否需要为高频查询字段生成可选只读索引...

(BU)


[uncategorized] ~142-~142: 您的意思是“"不"建”?
Context: ...public/ai-first-config-system/traces/已补建本轮执行 trace - 根据 review 继续收紧allOf`:Run...

(BU)


[uncategorized] ~148-~148: 您的意思是“"不"齐”?
Context: ...Config/YamlConfigLoaderAllOfTests.cs同步补齐运行时坏 schema 回归 -docs/zh-CN/game/confi...

(BU)


[uncategorized] ~165-~165: 您的意思是“"不"齐”?
Context: ...现在会拒绝非 object 节点上的dependentSchemas,补齐 TryBuildInlineSchemaSummary(..., incl...

(BU)


[uncategorized] ~166-~166: 您的意思是“"不"齐”?
Context: ...lConfigLoaderDependentSchemasTests.cs现补齐“trigger 未在同级 properties 中声明时拒绝”分支,并与...

(BU)


[uncategorized] ~221-~221: 您的意思是“"不"齐”?
Context: ...,把 not` 运行时回归从 3800 行主 fixture 中独立出来,并补齐“未命中 not 时允许通过”“对象完整命中时拒绝”“对象仅命中属性子集时允许...

(BU)


[uncategorized] ~256-~256: 您的意思是“"不"默认”?
Context: ...tion](Z|±HH:mm),避免 time-only 文本在不同宿主上隐式补默认日期或本地时区 - GFramework.Game.Tests/Confi...

(BU)


[uncategorized] ~274-~274: 您的意思是“"不"齐”?
Context: ...alization.jslocalizationKeys.js同步补齐format 解析、诊断、本地化文案和表单 hint;configVa...

(BU)


[uncategorized] ~276-~276: 您的意思是“"不"齐”?
Context: ...运行时拒绝路径和表单元数据说明,明确当前 format 只支持稳定子集 - 补齐 format 剩余 schema 级分支回归:`YamlConfigLo...

(BU)


[uncategorized] ~299-~299: 您的意思是“"不"齐”?
Context: ...rk-config-tool/src/extension.js与本地化文本已补齐const` hint 展示;标量字段在 YAML 缺值时会优先回填 sc...

(BU)


[uncategorized] ~313-~313: 您的意思是“"不"齐”?
Context: ...amework-config-tool/src/extension.js- 补齐contains 剩余运行时契约分支:YamlConfigLoader...

(BU)


[uncategorized] ~321-~321: 您的意思是“"不"齐”?
Context: ...rk-config-tool/src/configValidation.js` 补齐与 C# runtime 对齐的 schema 级拒绝:拒绝 nested-a...

(BU)


[uncategorized] ~348-~348: 您的意思是“"不"齐”?
Context: ...S Code 宿主中做交互式手工验证 ### 2026-03-31 - 开始补齐面向正式可用的第一批缺口 - 已将 P0 项拆分为运行时 schema 校验、...

(BU)


[uncategorized] ~360-~360: 您的意思是“"不"齐”?
Context: ...configValidation.test.js` - VS Code 插件校验补齐未知字段、数组元素类型和顶层 YAML 结构检查 - VS Code 表单编辑...

(BU)


[uncategorized] ~361-~361: 您的意思是“"不"齐”?
Context: ...齐未知字段、数组元素类型和顶层 YAML 结构检查 - VS Code 表单编辑补齐顶层标量数组支持,复杂对象仍回退到 raw YAML ### 2026-04...

(BU)


[uncategorized] ~380-~380: 您的意思是“"不"齐”?
Context: ... - VS Code 表单入口支持嵌套对象字段编辑 - VS Code 表单入口补齐对象数组编辑,支持新增 / 删除对象项,以及对象项中的标量、标量数组和嵌套对象...

(BU)


[uncategorized] ~426-~426: 数词与名词之间一般应存在量词,可能缺少量词。
Context: ...multipleOf` 的判定实现:运行时与 JS 工具优先按十进制字面量做精确整倍数判断,仅在无法精确归一化时才退回浮点容差兜底,避免同时出现大数十进制步进误拒和大...

(wa5)


[uncategorized] ~426-~426: 您的意思是“"不"进”?
Context: ...做精确整倍数判断,仅在无法精确归一化时才退回浮点容差兜底,避免同时出现大数十进制步进误拒和大数量级非整倍数误放 - YamlConfigLoaderTests...

(BU)


[uncategorized] ~426-~426: 数词与名词之间一般应存在量词,可能缺少量词。
Context: ...在无法精确归一化时才退回浮点容差兜底,避免同时出现大数十进制步进误拒和大数量级非整倍数误放 - YamlConfigLoaderTests 新增大数十进制步进回归...

(wa5)


[uncategorized] ~427-~427: 您的意思是“"不"进”?
Context: ...非整倍数误放 - YamlConfigLoaderTests 新增大数十进制步进回归用例,覆盖 10000000.2 配合 `multipleOf: 0....

(BU)


[uncategorized] ~427-~427: 数词与名词之间一般应存在量词,可能缺少量词。
Context: ....2配合multipleOf: 0.1时运行时会接受应当合法的十进制整倍数 -YamlConfigLoaderTests` 新增大数量级非整倍数回归用...

(wa5)


[uncategorized] ~428-~428: 数词与名词之间一般应存在量词,可能缺少量词。
Context: ...十进制整倍数 - YamlConfigLoaderTests 新增大数量级非整倍数回归用例,覆盖 1000000000000.4 配合 `multipleOf...

(wa5)


[uncategorized] ~433-~433: 您的意思是“"不"齐”?
Context: ...zh-CN/game/config-system.md新增“推荐接入模板”,补齐项目目录布局、仓库内csproj 引用模板、GFrameworkCon...

(BU)


[uncategorized] ~492-~492: "间"不能与“边界”搭配,请换量词
Context: ...aximum子集支持:运行时与 VS Code 校验会拒绝模式、数组长度和开区间边界违规值,生成代码 XML 文档与表单 hint 同步暴露这些约束 -Ya...

(wa5)


[uncategorized] ~493-~493: "间"不能与“数值”搭配,请换量词
Context: ...figSchemaValidator 新增数组元素数量约束模型与字符串正则/开区间数值边界校验,YamlConfigLoaderTests` 补充三类回归测试 ...

(wa5)


[uncategorized] ~495-~495: "间"不能与“数值”搭配,请换量词
Context: ...configValidation.test.js 新增对模式、数组元素数量和开区间数值边界的回归覆盖 - 补齐上下界对称回归:YamlConfigLoaderT...

(wa5)


[uncategorized] ~496-~496: 您的意思是“"不"齐”?
Context: ...on.test.js 新增对模式、数组元素数量和开区间数值边界的回归覆盖 - 补齐上下界对称回归:YamlConfigLoaderTests新增exc...

(BU)


[uncategorized] ~497-~497: 您的意思是“"不"成功”?
Context: ...otstrap生命周期改为单锁保护的原子状态提交:初始化和热重载启动只会在整步成功后才发布_loader/_hotReload`,并为并发进入与热...

(BU)


[uncategorized] ~506-~506: 您的意思是“"不"齐”?
Context: ...测试,extension.jslocalization.js 同步补齐表单 hint 和诊断文案 - 已执行:`dotnet test GFrame...

(BU)


[uncategorized] ~529-~529: 您的意思是“"不"齐”?
Context: ...辅助与模块化接入) - GeneratedConfigCatalog 继续补齐启动与诊断辅助,新增 `GetTablesInConfigDomain(......

(BU)


[uncategorized] ~547-~547: 您的意思是“"不"齐”?
Context: ...configValidation.js放宽number` 标量兼容判定,补齐科学计数法,并同步让 YAML 回写路径沿用同一组数值 / 布尔标量判定 - ...

(BU)


[uncategorized] ~562-~562: 您的意思是“"不"齐”?
Context: ...sextension.jslocalization.js 同步补齐对象属性数量诊断、本地化文案和表单 hint;configValidatio...

(BU)


[uncategorized] ~568-~568: 您的意思是“"不"齐”?
Context: ...operties与倒置范围的坏 schema 回归 - 根据 review 补齐tools/gframework-config-tool/test/con...

(BU)


[uncategorized] ~579-~579: 您的意思是“"不"齐”?
Context: ...alization.jslocalizationKeys.js 同步补齐数组 contains 匹配计数诊断、本地化文案和表单 hint;confi...

(BU)


[uncategorized] ~591-~591: 您的意思是“"不"齐”?
Context: ...ure宿主专用的GameConfigModule 均已落地 - 本轮已补齐:patternminItemsmaxItemsexclu...

(BU)


[uncategorized] ~592-~592: 您的意思是“"不"齐”?
Context: ...lusiveMinimumexclusiveMaximum- 本轮额外补齐:可选只读索引x-gframework-indexGenerated...

(BU)


[uncategorized] ~593-~593: 您的意思是“"不"齐”?
Context: ...动诊断辅助,以及 GameConfigModule 模块化接入入口 - 最新补齐:数组级 contains / minContains / `maxC...

(BU)


[uncategorized] ~594-~594: 您的意思是“"不"齐”?
Context: ...ns/minContains/maxContains- 最新补齐:稳定字符串format子集date/date-time`...

(BU)

ai-plan/public/ai-first-config-system/todos/ai-first-config-system-csharp-experience-next.md

[uncategorized] ~34-~34: 能愿动词不能成为‘把’字句、‘被’字句的谓语动词。应该是:"可把……当前"。
Context: ...内版本,或轻量 runtime host / installer - 价值:把当前“文档模板”升级为可复用实现,继续减少消费者样板 ## P1:强烈建议尽快补齐 - [x] 继续...

(wa3)


[uncategorized] ~36-~36: 您的意思是“"不"齐”?
Context: ...当前“文档模板”升级为可复用实现,继续减少消费者样板 ## P1:强烈建议尽快补齐 - [x] 继续扩展最有价值的 JSON Schema 子集 - 原则...

(BU)


[uncategorized] ~40-~40: 您的意思是“"不"齐”?
Context: .../ Generator / Tooling 三端都能稳定解释的关键字 - 已补齐:enum(当前覆盖标量、对象、数组节点,以及标量数组元素)、`const...

(BU)


[uncategorized] ~48-~48: 您的意思是“"不"齐”?
Context: ...性扫描 - [x] 用 GeneratedConfigCatalog 继续补齐启动与诊断辅助 - 目标:让消费者可以稳定枚举已生成表、按表名反查元数据,...

(BU)


[uncategorized] ~50-~50: 您的意思是“"不"齐”?
Context: ...以稳定枚举已生成表、按表名反查元数据,并为后续分组注册做铺垫 - 当前产出:补齐 GetTablesInConfigDomain()、`GetTables...

(BU)


[uncategorized] ~76-~76: 您的意思是“"不"齐”?
Context: ...建议执行顺序 1. 用 GeneratedConfigCatalog 继续补齐启动与诊断辅助 2. 补一条比 `Architecture.OnInitial...

(BU)


[uncategorized] ~78-~78: 您的意思是“"不"齐”?
Context: ...块化接入建议 当前状态:第 1 项和第 2 项已完成,allOf 也已补齐;下一步转到仍不改变生成形状的组合关键字评估(优先看 if / `then...

(BU)


[uncategorized] ~103-~103: 您的意思是“"不"齐”?
Context: ...- 工具链非阻塞风险:将 VS Code 功能标为非阻塞后,可能导致 C# 主线补齐新关键字时缺少工具侧同步验证 - 复杂关键字回退风险:allOf 已收...

(BU)

ai-plan/public/cqrs-rewrite/archive/todos/cqrs-rewrite-history-through-rp043.md

[uncategorized] ~20-~20: 数词与名词之间一般应存在量词,可能缺少量词。
Context: ...沉到 GFramework.Cqrs - 已将 generator 从“整程序集回退”推进到“可见 handlers 走 typeof(...) 直注册,...

(wa5)


[uncategorized] ~22-~22: 您的意思是“"不"齐”?
Context: ...runtime fallback marker” - 已为手写/第三方程序集补齐正式的精确 fallback 入口:`CqrsReflectionFallba...

(BU)


[uncategorized] ~26-~26: 您的意思是“"不"齐”?
Context: ...只做常量时间绑定”的模式 - 已在 CqrsDispatcher 热路径补齐 service-type 缓存,减少 PublishAsync / `S...

(BU)


[uncategorized] ~27-~27: 您的意思是“"不"齐”?
Context: ... invoker method-definition 查找收敛为静态一次解析,并补齐 request/no-pipeline、request/with-pipel...

(BU)


[uncategorized] ~41-~41: 您的意思是“"不"反射”?
Context: ...Attribute` 对具体 handler implementation 定向补反射”; 若 runtime 合同不提供该 marker,则生成器保守地...

(BU)


[uncategorized] ~43-~43: 您的意思是“"不"齐”?
Context: ...y,避免静默漏注册 - 已完成一轮 review follow-up 小修:补齐 dispatcher string pipeline cache 清理,...

(BU)


[uncategorized] ~44-~44: 您的意思是“"不"齐”?
Context: ...用缓存与编译错误诊断输出 - 已完成三轮 review follow-up:补齐 ICqrsRuntime 异常/上下文约束文档,明确 `DefaultC...

(BU)


[uncategorized] ~47-~47: 您的意思是“"不"洞”?
Context: ...mainingReflectedHandlerInterfaces(...) 补洞推进到“按程序集名 + metadata name 定向 lookup”;I...

(BU)


[uncategorized] ~55-~55: 您的意思是“"不"齐”?
Context: ...-libs/**观察写入 active plan/trace 的触发条件,并补齐模板/接口注释中的旧Rule` 命名空间残留 ## 本轮计划 ### ...

(BU)


[uncategorized] ~93-~93: 您的意思是“"不"齐”?
Context: ...口 - [x] 提升 CqrsTestRuntime 反射绑定的签名鲁棒性并补齐 XML 文档 - [x] 将剩余 Mediator 兼容入口推进到正式弃...

(BU)


[uncategorized] ~141-~141: 数词与名词之间一般应存在量词,可能缺少量词。
Context: ...构 - [x] 将 partial reflection fallback 从“整程序集 GetTypes() 扫描”推进到“generator 输出精确 han...

(wa5)


[uncategorized] ~142-~142: 您的意思是“"不"齐”?
Context: ...embly.GetType(...)` 补扫” - [x] 为手写/第三方程序集补齐精确 fallback metadata 入口,避免这类场景只能依赖旧版空 m...

(BU)


[uncategorized] ~143-~143: 您的意思是“"不"齐”?
Context: ...rker 或脆弱的字符串约定 - [x] 为 CqrsDispatcher 补齐 notification/request/stream service-ty...

(BU)


[uncategorized] ~144-~144: 您的意思是“"不"齐”?
Context: ...ericType重复开销 - [x] 为CqrsDispatcher` 补齐 invoker method-definition 静态缓存,并把 requ...

(BU)


[uncategorized] ~159-~159: 数词与名词之间一般应存在量词,可能缺少量词。
Context: ...载精确 fallback handler 类型名清单;当清单为空时,仍保持旧版“整程序集补扫”的兼容语义。 - `GFramework.Cqrs/CqrsReflec...

(wa5)


[uncategorized] ~171-~171: 您的意思是“"不"位”?
Context: ...出现新的未覆盖类型形态,则改由程序集级 targeted fallback 合同补位 - `GFramework.SourceGenerators/Cqrs/Cq...

(BU)


[uncategorized] ~182-~182: 能愿动词不能成为‘把’字句、‘被’字句的谓语动词。应该是:"能把……“"。
Context: ...Cqrs/CqrsHandlerRegistryGenerator.cs现已把“生成注册器顶层上下文是否能合法书写某个类型”改为通过Compilation.IsSymbolAcces...

(wa3)


[uncategorized] ~186-~186: 您的意思是“"不"洞”?
Context: ... 内部的 implementation 级 GetInterfaces() 补洞辅助逻辑: - 不再生成 `RegisterRemainingReflec...

(BU)


[uncategorized] ~189-~189: 您的意思是“"不"反射”?
Context: ...Attribute对具体 handler implementation 定向补反射 -GFramework.SourceGenerators.Tests/...

(BU)


[uncategorized] ~196-~196: 您的意思是“"不"齐”?
Context: ...sMetadataReferenceTestBuilder.cs` 已补齐多程序集测试基础设施,允许 CQRS generator 回归显式追加内存元数...

(BU)


[uncategorized] ~197-~197: 数词与名词之间一般应存在量词,可能缺少量词。
Context: ...Assembly.GetType(...)补扫;只有缺少精确元数据时才继续走整程序集GetTypes()扫描。 -GFramework.Cqrs.Te...

(wa5)


[uncategorized] ~218-~218: 您的意思是“"不"入”?
Context: ...d已完成最小同步: - 根 README 的模块表、仓库结构与安装指引已补入GFramework.Cqrs` 以及拆分后的 SourceGenerat...

(BU)


[uncategorized] ~229-~229: 您的意思是“"不"齐”?
Context: ...ork.Cqrs.Abstractions/GlobalUsings.cs已补齐基础 system 命名空间,避免新项目在关闭ImplicitUsings...

(BU)


[uncategorized] ~236-~236: 您的意思是“"不"齐”?
Context: ...alUsings.csLogging/TestLogger.cs已补齐,确保新测试项目不再隐式依赖GFramework.Core.Tests` ...

(BU)


[uncategorized] ~242-~242: 您的意思是“"不"反射”?
Context: ...写/第三方程序集或 generator 仍未直接覆盖的场景需要 runtime 补反射”的程序集级兼容入口。 - `GFramework.SourceGenera...

(BU)


[uncategorized] ~297-~297: 您的意思是“"不"回”?
Context: ...handler”回归已适配 seam 方案:在裸容器 Clear() 后显式补回测试基础设施,再验证程序集去重状态重置。 - `ai-plan/migrati...

(BU)


[uncategorized] ~325-~325: 您的意思是“"不"齐”?
Context: ...r以及MessageHandlerDelegate` 的 XML 文档已补齐迁移后的契约边界,明确旧 Command/Query 总线与新 CQRS ...

(BU)


[uncategorized] ~333-~333: 您的意思是“"不"齐”?
Context: ...behavior 链式执行 - CqrsHandlerRegistrar 已补齐三项运行时硬化: - 按程序集名、处理器类型名与处理器接口名稳定排序,...

(BU)


[uncategorized] ~343-~343: 您的意思是“"不"齐”?
Context: ...注册 + warning 已记录”。 - CqrsTestRuntime 已补齐 XML 文档,并改为按 `IIocContainer + IEnumerab...

(BU)


[uncategorized] ~362-~362: 数词与名词之间一般应存在量词,可能缺少量词。
Context: ...处理器(例如私有嵌套 handler),生成注册器会改走定向反射注册,而不是退回整程序集补扫 - CqrsHandlerRegistrar 已改为优先查找 `Cq...

(wa5)


[uncategorized] ~366-~366: 您的意思是“"不"齐”?
Context: ...sts/Cqrs/CqrsHandlerRegistrarTests.cs` 已补齐: - 生成器输出快照测试 - 私有嵌套 handler 走 gene...

(BU)


[uncategorized] ~379-~379: 您的意思是“"不"齐”?
Context: ...ions.DependencyInjectionusing, 已补齐以恢复 IServiceCollection` 编译通过。 - 当前验证状态...

(BU)


[uncategorized] ~491-~491: 您的意思是“"不"齐”?
Context: ...径恢复验证链路: - scripts/GlobalUsings.cs 已补齐新的 GFramework.Cqrs.Abstractions.Cqrs*...

(BU)


[uncategorized] ~513-~513: 您的意思是“"不"齐”?
Context: ...首次访问时只执行一次容器解析 - ArchitectureContext 已补齐公开构造函数 XML 文档,以及 CqrsRuntime 惰性初始化的并发...

(BU)


[uncategorized] ~518-~518: 您的意思是“"不"齐”?
Context: ... GFramework.Cqrs.Tests 已通过链接编译同一份共享源码并补齐 global using, 避免两个测试项目继续维护分叉的反射绑定逻...

(BU)


[uncategorized] ~593-~593: 您的意思是“"不"齐”?
Context: ...qrs.Abstractions/Cqrs/ICqrsRuntime.cs已补齐三个公开方法的 XML 契约: -null参数对应Argume...

(BU)


[uncategorized] ~616-~616: 动词的修饰一般为‘形容词(副词)+地+动词’。您的意思是否是:细"地"回归
Context: ...lias + duplicate registration 组合场景再补一条更细的回归测试 ## 2026-04-16 补充记录(RP-033) ### 阶段...

(wb4)


[uncategorized] ~623-~623: 您的意思是“"不"齐”?
Context: ...eTests.csClearDispatcherCaches()已补齐 RequestPipelineInvokerCache...

(BU)

🔇 Additional comments (4)
ai-plan/public/ai-plan-governance/todos/ai-plan-governance-tracking.md (1)

17-31: 恢复文档关键信息已补齐,方向正确。

RP-005Phase 3已知风险下一步 四项都已明确,且与“active 入口保持精简、历史迁入 topic 内 archive”的治理目标一致。

Based on learnings: “Recovery documents in ai-plan/ MUST record the current phase, the active recovery point identifier, known risks, and the next recommended resume step so another contributor or subagent can continue the work safely.”

Also applies to: 67-69

ai-plan/public/ai-first-config-system/archive/todos/ai-first-config-system-history-through-2026-04-17.md (2)

454-557: 可选:解决重复的三级标题(MD024)以改善文档导航。

当前文件中仍存在多个同名的 ### 2026-04-09### 2026-04-08 标题(出现在 Line 454、514、527、557 附近),可能导致锚点冲突与目录跳转歧义。

由于本文件已归档到 archive/todos/,修复优先级较低,但如果后续需要改进文档可读性,可以在标题中追加上下文限定符(例如 (生命周期与同步桥接)(索引构建逻辑修复与聚合注册能力)(bootstrap 与 schema 子集) 等)以保持标题唯一性。


1-10: 归档说明清晰,符合 ai-plan 治理规范。

迁移说明明确记录了以下关键信息:

  • ✅ 归档时间与治理规范依据
  • ✅ 分支登记状态(feat/ai-first-config 已登记到 ai-plan/public/README.md
  • ✅ 清洗动作(已移除绝对路径与机器相关信息)

这与本 PR 的整体目标一致:将详细历史移入 archive/,让活跃的 todos/traces/ 保持简洁,便于 boot 快速定位当前恢复点。Based on coding guidelines: "When completed and validated stages begin to accumulate, contributors MUST archive their detailed history out of the active todos/ and traces/ entry files".

ai-plan/public/ai-first-config-system/todos/ai-first-config-system-csharp-experience-next.md (1)

97-112: 恢复块补齐完整,满足恢复文档规范。

当前恢复块已包含所有必需元信息:

  • ✅ 恢复点编号:AI-FIRST-CONFIG-RP-002
  • ✅ 当前阶段:明确为 C# Runtime + Source Generator + Consumer DX
  • ✅ 已知风险:列出语义一致性、工具链非阻塞、复杂关键字回退三类风险
  • ✅ 最近验证:记录时间与结果
  • ✅ 下一步:给出具体的 3 步恢复操作

这正是 coding guidelines 中 ai-plan/public/*/todos/*.md 要求的恢复文档标准格式,能够支持其他贡献者或 subagent 安全继续工作。Based on coding guidelines: "Recovery documents MUST record the current phase, the active recovery point identifier, known risks, and the next recommended resume step".

coderabbitai[bot]
coderabbitai Bot previously approved these changes Apr 19, 2026
- 将文档标识为历史归档快照,用于回溯 CQRS-REWRITE-RP-043 及之前阶段
- 添加说明指导后续在 active todos/ 与 traces/ 维护当前恢复点
- 明确完成阶段需继续归档到历史记录中
@github-actions

Copy link
Copy Markdown

Summary

Tests 📝 Passed ✅ Failed ❌ Skipped ⏭️ Other ❓ Flaky 🍂 Duration ⏱️
2103 2103 0 0 0 0 36.7s    ↑131ms

Test Results

passed 2103 passed

Details

tests 2103 tests
clock 36.7s ↑131ms
tool nunit
build CI - Build & Test arrow-right build-and-test link #886
pull-request Feat/ai first config link #254

Insights

Average Tests per Run Total Flaky Tests Total Failed Slowest Test (p95)
2103 0 0 4.1s

build-and-test: Run #886

Tests 📝 Passed ✅ Failed ❌ Skipped ⏭️ Pending ⏳ Other ❓ Flaky 🍂 Duration ⏱️
2103 2103 0 0 0 0 0 36.7s

🎉 All tests passed!

Slowest Tests

Test 📝 Results 📊 Duration (avg) ⏱️ Duration (p95) ⏱️
SendRequestAsync_Should_ResolveCqrsRuntime_OnlyOnce_When_AccessedConcurrently 3 3.9s 4.1s
Does_Not_Report_When_FieldInjectedModel_Is_Registered 3 2.2s 2.3s
Generates_Scene_Behavior_Boilerplate 3 2.0s 2.0s
CleanupDuringAcquire_Should_NotCauseRaceCondition 3 1.1s 1.1s
Append_ShouldNotBlock 3 1.0s 1.0s
Context_Caching_Should_Improve_Performance 3 780ms 783ms
PendingCount_ShouldReflectQueuedEntries 3 501ms 501ms
Cleanup_Should_NotRemoveActiveLocks 3 404ms 406ms
Cleanup_Should_RemoveUnusedLocks 3 401ms 401ms
Generates_Precise_Assembly_Type_Lookups_For_Inaccessible_External_Protected_Types 3 337ms 341ms

± Comparison with run #885 at 21bfa1c | 🎉 No failed tests detected across all runs. | 🍂 No flaky tests detected across all runs. | ⏱️ Measured over 3 runs.

Github Test Reporter by CTRF 💚

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant