Skip to content

fix(validation): 让校验模式执行完整数据验证 - #60

Draft
0x5143 wants to merge 1 commit into
masterfrom
agent/validation-p0-p1
Draft

fix(validation): 让校验模式执行完整数据验证#60
0x5143 wants to merge 1 commit into
masterfrom
agent/validation-p0-p1

Conversation

@0x5143

@0x5143 0x5143 commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

变更内容

  • TableTypeDescriptorRegistry 统一表类型的解析、物化、校验、序列化和代码渲染入口。
  • 引入不可变数据快照与统一物化流程,使校验和二进制写出消费同一份已解析数据。
  • 将 tree/graph 的数据语义校验从 serializer 迁移到独立 validator;普通表唯一索引也在输出前校验。
  • 让正常生成与 ValidateOnly 走同一数据校验路径,并补充失败时不落盘的集成测试。
  • 更新表类型与 tree/graph 设计文档,说明新的校验边界。

原因与影响

此前 tree/graph 的部分语义校验仅在 serializer 中执行,ValidateOnly 不会进入该阶段,导致校验命令漏报问题。现在无效数据会在代码和 .bytes 产物写出前被一致地发现,避免生成半成品。

验证

  • dotnet test tests/DataTables.Tests/DataTables.Tests.csproj --no-restore --filter "DataTableProcessorArchitectureTests|GenerationTransactionTests"(26 passed)
  • dotnet test tests/DataTables.Tests/DataTables.Tests.csproj --no-restore --filter "Generator|Schema|Binary|DataTableProcessor|DataType"(25 passed)
  • dotnet build DataTables.sln --no-restore(0 warnings, 0 errors)

- 统一表类型描述符中的解析、物化、验证、序列化与代码渲染入口
- 复用不可变数据快照,确保类型转换仅执行一次并记录内存估算指标
- 迁移 tree 与 graph 数据规则并补充模式对等测试和文档
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.

2 participants