oh-my-muse/.agents/knowledge/project-and-architecture.md
lili e181669197 chore(agent-infra): 建立 agent 开发基建、清理历史 churn 并以 BC 违例整改验证
本会话三部分交付,均经 JDK21 真实构建验证(非退出码,读 BUILD SUCCESS + Tests run):

1) Agent 开发基建(机械门禁优先)
- 入口与中枢:AGENTS.md、.agents/{knowledge,rules,skills,workflows}、CLAUDE.md 订正
- 订正 .gitignore:移除对 .agent/.agents 的忽略——它们是版本化 agent 基建,须入库(此前被忽略致克隆即缺)
- 机械门禁:CI 真跑测试(maven.yml JDK21、去 -Dmaven.test.skip)、覆盖台账去硬编码、
  BC 边界 ArchUnit 门(BcBoundaryArchTest)、契约先行门(ContractFirstGateTest:Flyway 卫生 + OpenAPI 结构)
- 单一进度源 docs/mvp/进度总账.md + 7 个 BC per-module .agent + mise.toml(锁 JDK21)
- P1 增量:AiSuggestionMergeProjectionFacade(Gap A)、ContentSourceServiceImpl 事务化 outbox 回流(Gap B)

2) 过期历史文档清理(97 份 churn,git 可恢复)
- 删 docs/memorys(34)、agent-specs 审阅/执行版+迁移review(34)、superpowers/plans+specs(25)、
  design-docs/临时+memorys(4);保留 superpowers/reports/coverage(门禁依赖)
- 唯一干货蒸馏入 .agents/knowledge/external-deps-and-gotchas.md;订正大纲/映射表/基线悬空引用

3) P1 harness 验证:消除已登记 BC 违例 ContentMuseWorkOwnerFacade
- content-api 新增只读端口 MuseContentWorkOwnerApi + content-server 实现(读自有 DAL);
  AI 适配器改消费该端口、移除全部 content.dal 依赖,AI 业务规则与 4 消费者不变
- 删除 ArchUnit 豁免 → 门禁收紧(反向红 31 例 / 正向绿;适配器单测 13/0F、端口实现 7/0F)

注:muse-studio/src(SSE 相关 4 文件)与 muse-module-ai/pom.xml(移除孤儿 contract-server)
为本会话之前已存在的未提交改动,非本次工作,未纳入本提交。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-14 04:38:07 -07:00

3.8 KiB

knowledge:项目定位与架构(蒸馏)

蒸馏自 design-docs(架构-01/02、后端-01/02、产品-01/03)与现状基线 spec。本文件是索引 + 一句话蒸馏,权威细节看被指向文档;过时即修正。

一、是什么 / 为什么

  • 定位:把 Muse 从“设定提取助手 + 提示词面板”升级为面向长篇小说的多角色 AI 创作与资产流通系统——管理员治理系统能力;用户在低认知负担工作台完成 写作/规划/生成/知识治理/质量感知/导入导出;作品 / 智能体 / 知识库作为可授权、可流通资产。
  • 意图:让创作者获得“可控、可解释、越用越懂当前作品”的 AI 协作;核心是用户主权——AI 不黑盒改稿,先审后入
  • 非目标(明确排除):一键全自动黑盒写作机;通用智能体平台 / 通用 RAG SaaS / 阅读分发社区;市场本阶段不做完整电商支付结算 DRM。
  • 详见 design-docs/产品-01-产品定位与核心价值.md产品-03-用户旅程与操作流程.md

二、最高不变式(任何改动不得违反)

  • Shadow→Canonical 双轨主权:AI / 市场 / 外部知识默认不可信,只产候选 / 草稿 / 快照 / 任务结果;正式作品事实只能由用户确认、用户保存,或目标 owner 显式规则写入;正文保存 ≠ 知识入库
  • 逻辑 owner 优先于物理表 / 代码模块 / 页面入口(ADR-015);跨 BC 写入走 owner facade。
  • 详见 架构-02-核心数据结构与双轨模型.md架构-04-状态机与约束清单.md;决策见 tech-decisions.md

三、工程底座

  • Java 21 + Spring Boot 3 + PostgreSQL(JSONB)+ yudao-cloud fork + Sa-Token;模块化单体优先(ADR-001),痛点可量化才拆服务。
  • monorepo:muse-cloud(后端)/ muse-admin(Vben 管理端)/ muse-studio(React 用户端);同一 git 工作树物理承载三仓代码 + CI(见 module-reality-baseline.md 的 A1/R6 订正)。
  • 详见 后端-02-工程结构与模块职责.md

四、业务域 BC(逻辑 owner;台账口径 7 个对外 operation 域)

BC owner 模块 一句话职责 + 关键约束
ai muse-module-ai 链路编排 / 生成 / 分析 / 质量门控 / AI 候选;只产 Shadow,绝不直写 Canonical;grant 与 runtime 包级隔离
content muse-module-content Work/Chapter/Block/正文版本;正文 Canonical 唯一写入方;Block 写入带 expectedRevision 且 revision 单调递增;Accept Suggestion 是候选进正文的唯一合法入口
knowledge muse-module-knowledge Local/User/全局知识、Draft、绑定、投影;进 Local KB 唯一入口=用户确认草稿;依赖 RAGFlow GraphRAG
market muse-module-market 市场资产 / 发布 / 审核 / 授权 / 安装 / 跳转;授权 ≠ 所有权转移,市场非源事实 owner,目标事实回目标 owner
meta muse-module-meta(独立) MetaSchema 元结构定义;admin 写全局、用户作品级覆盖;业务模块经 facade-api 只读消费投影(ADR-016)
events 各 owner + outbox(非独立模块) Source/Authorization 横切契约;事件驱动各模块自治决策 active/disabled,无 needs_recheck(ADR-017/018)
account muse-module-member(承载) Profile/Entitlement/Quota/Usage/Security/Audit;用户可见权益读模型,不反写他域事实;高危审计 append-only
  • 平台底座(gateway/system/infra/pay/bpm/mp/report)= yudao 继承,无“完成”声称。设计文档以“9 BC”口径表述,完整边界见 架构-01-系统全貌与边界上下文.md
  • BC 边界由 ../rules/bc-boundaries.md 的 ArchUnit 机械约束兜底;对外契约见 ../rules/contract-first.md