mirror of
https://github.com/GeWuYou/GFramework.git
synced 2026-05-12 22:03:30 +08:00
- 更新 ai-plan 公共索引,移除 semantic-release-versioning、runtime-generator-boundary 和 github-issue-review-skill 的活跃入口与分支映射 - 归档 三个已完成 topic 的 tracking 与 trace 文档到 ai-plan/public/archive/ 下
2.9 KiB
2.9 KiB
Runtime / Generator Boundary Tracking
Goal
Keep runtime, abstractions, and meta-package modules free from source-generator project references, source-generator attributes, and leaked NuGet dependencies.
Current Recovery Point
- Recovery point: RGB-RP-001
- Phase: remove
GFramework.Gamegenerator coupling and add repository guardrails - Focus:
- delete
GFramework.Game's dependency onGFramework.Core.SourceGenerators.Abstractions - remove unused
[GenerateEnumExtensions]usage fromGFramework.Game - add static and packed-package validation so runtime packages cannot regress
- delete
Active Risks
- A runtime package can still compile locally if it references a non-packable generator helper project, so regressions are easy to miss without an explicit guard.
- A leaked package dependency may only surface when a consumer restores from NuGet, not during normal repository builds.
Completed In This Stage
- Confirmed
GFramework.Gamewas the direct runtime offender andGeWuYou.GFramework.GameleakedGFramework.Core.SourceGenerators.Abstractionsinto its nuspec dependency graph. - Confirmed the two
[GenerateEnumExtensions]usages insideGFramework.Gamedo not need generated output and can be removed outright. - Verified current PR review findings locally: the validator regex still missed standalone attributes, while the
docs/zh-CN/contributing.mdgenerator-boundary text should be removed instead of repositioned because it is maintainer-facing governance rather than reader-facing contribution guidance. - Added a Python regression test for standalone, parameterized, fully qualified, and multi-attribute declarations so future validator edits cannot silently reintroduce the false negative.
- Added comment-line filtering for the validator after the first regex fix started matching XML documentation examples
such as
/// [ContextAware], which would otherwise create false CI failures for reader-facing code comments.
Validation Target
python3 scripts/validate-runtime-generator-boundaries.pypython3 scripts/test_validate_runtime_generator_boundaries.pypython3 scripts/license-header.py --checkdotnet build GFramework.Game/GFramework.Game.csproj -c Releasedotnet build GFramework.Godot/GFramework.Godot.csproj -c Releasedotnet pack GFramework.sln -c Release -p:PackageVersion=<local>
Latest Validation Result
python3 scripts/test_validate_runtime_generator_boundaries.pypassed on 2026-05-05.python3 scripts/validate-runtime-generator-boundaries.pypassed on 2026-05-05.python3 scripts/license-header.py --checkpassed on 2026-05-05.dotnet build GFramework.Game/GFramework.Game.csproj -c Releasepassed on 2026-05-05 with 0 warnings and 0 errors.
Next Recommended Resume Step
Run the boundary validator, the new Python regression tests, and the minimal Release build/pack validation; then push the follow-up commit so the open PR review threads can be resolved against fresh CI.