lili d09d529d11 fix(p1-monolith): facade 条件装配可靠化 + 跨模块 bean 名冲突修复(单体启动收口·进行中)
让 muse-server 单进程单体可启动(从未装配过的单体逐层暴露问题,本提交修 facade 装配 + 名冲突两类):
- muse-server 新增 MonolithFacadeFallbackAutoConfiguration(@AutoConfiguration 末位 + @Bean
  @ConditionalOnMissingBean):为 6 个全 default 的 content facade(File/KnowledgeDraft/Meta/ParseJob/
  PlanningCandidate/StyleCheck)提供可靠 fail-closed 兜底(真实 impl 仍优先,非 stub)。
- 4 个真实 impl facade 去掉 @Component 上不可靠的 @ConditionalOnBean(单体内依赖恒在,@Primary 总注册):
  AiSuggestionMergeProjectionFacade(ContentAiSuggestionFacade,slice 关键)、ContentMuseWorkOwnerFacade、
  ProjectionSecurityRuntimePermissionFacade、ContentKnowledgeWorkOwnerFacade。
- 4 个 source-owner + SecurityToolGrant + MetaImpact 的 Unavailable 去掉 @Component/@Service 上不可靠的
  @ConditionalOnMissingBean(全仓单实现,直接总注册;fail-closed 不变)。
- 跨模块 bean 名冲突:AccountExportServiceImpl 的 @Resource 字段 exportTaskMapper(类型 AccountExportTaskMapper)
  按名撞 content 的 ExportTaskMapper bean → 改名 accountExportTaskMapper。

背景:Spring 对 @Component/@Service 上的 @ConditionalOnBean/@ConditionalOnMissingBean 不保证可靠(官方仅
@Bean 方法),"从未以单体装配过"的本仓在单进程下顺序混乱致漏注册。build 验证编译通过;启动仍在逐层推进中。

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