模块化单体与目录边界
Catalog 保留 24 个业务域和 192 个稳定功能编号,但运行时公共记录能力收敛到 Record Kernel;当前为 168 项 partial,IDN-001、IDN-002、IDN-003、IDN-004、IDN-005、IDN-006、IDN-007、IDN-008、MEM-001、MEM-002、MEM-003、MEM-004、MEM-005、MEM-006、MEM-007、MEM-008、TAX-001、TAX-002、TAX-003、TAX-004、TAX-005、TAX-006、TAX-007、TAX-008 为 implemented_local。FeatureRegistry 执行层只暴露已具备专用纵向证据的功能;partial 候选可以登记专用声明,但不会生成可执行 Handler 或成功执行入口。
apps/api/src/kernel/records/ presentation/ application/ domain/ infrastructure/ apps/api/src/record-policies/ apps/api/src/feature-registry/ apps/api/src/platform/maintenance/ apps/api/src/platform/database/record-kernel-migration/ apps/web/app/pages/modules/[moduleCode]/ apps/mobile/src/pages/module + pages/record/
RecordAggregate 不解释 payload;RecordKernelService 只依赖 SystemRecordPolicyPort;SystemRecordPolicyRegistry 在内核外精确覆盖 Catalog 24 个模块,并按“专用规范化、跨字段规则、Catalog 字段规则”的顺序失败关闭。Routine、Decision、Memory、Interview 保留既有专用规范化,未知模块不使用 fallback。
带幂等键的 cache miss 先在事务中取得数据库预占,再执行无副作用策略预检;策略拒绝会让预占、记录、revision、execution 和 audit 一并回滚。cache hit 先按最小引用恢复首次成功结果,不读取最新记录、不重复解释当前请求。真实 record-action 的 recordPatch 在写入副作用前再次经过同一策略。该行为等价层只防止普通记录绕过现有模块规则,不把 168 项 partial 升级为领域完成。
Batch 003 固定规范大写 ULID、标题 200/摘要 1000 字符合同、payload 顶层覆盖与 payloadRemove 删除语义、受控 JSON 资源上限、递归敏感字段治理、幂等最小引用和精确 revision/execution 回放。0009 只追加 summary CHECK 与 owner/module[/status] + id DESC 匹配索引。
revision 的 owner 由数据库复合外键保护,module 由父记录 join 与不可变 snapshot 一致性检查失败关闭;真实 PostgreSQL owner/module、并发乐观锁和历史回放测试只在一次性 Testcontainer 中执行。公共加固不改变功能状态,当前为 24 项 implemented_local 与 168 项 partial。
Batch 004 的 0010 继续保持 Expand-only:只追加 record_revision.module_code 可空边界、memory_text_entry_v2、record_migration_operation 与 maintenance_state,不执行旧业务数据 UPDATE/DELETE/COPY/DROP,也不切换 MEM-001 或运行主链。
普通数据库写入通过持久化维护状态与 shared transaction advisory lock 失败关闭;维护激活把数据库操作互斥锁、active 状态、exclusive 排空锁和 operation 的 PostgreSQL 排空证据放在同一外层事务,超时、台账冲突或证据失败都会整体回滚。Capture 长流程使用 session shared lease,避免在 Provider 或长计算期间持有长数据库事务。
Batch 005R 已实现 Catalog 固定的 24 模块/72 来源表映射、版本化 canonical JSON、七类 reconciliation、Planning/Frozen Preflight、只复制 legacy_only 的 Copy、响应丢失精确重放和新事务独立 Verify。Frozen/Copy/Verify 会在数据库事务内复核 running operation、maintenance owner 与 PostgreSQL drain proof,并按固定顺序取得来源/目标表锁;台账只保存计数和 SHA-256,不保存业务正文。
迁移阶段仍固定为 preflight → maintenance → copy → verify → cutover → runtime_acceptance → completed。文档生成器不执行数据库迁移、Copy、Verify 或恢复演练;这些状态必须读取同一轮独立运行报告,不能从源码存在或本机工具可用性推导。
模块目录用于白名单、字段呈现和功能状态;目录、文件和页面数量不构成领域完成证据。