26 Commits

Author SHA1 Message Date
lili
94a23797ff feat(content): B 字段级地基 - planning 字段用量快照表 + Planning 贡献者[P1]
M 全量字段级落地(人类第三轮确认 B):planning content_payload 是自由 map(key≠fieldKey)无法字段级计数,故补每实例字段快照表显式承载。

- V25 muse_content_planning_field_snapshot(section_id/work_id/schema_id/field_key)+ DO + Mapper(走 LambdaQueryWrapperX,tenant/deleted 框架自动注入,避免聚合 SQL 多租户不确定性)。

- SavePlanningItemReqVO 加 usedFieldKeys;ContentPlanningServiceImpl.captureFieldSnapshot 保存时按 work.workSchemaId 写快照(未绑 schema→no-source 只清不写,不伪造 0)。

- ContentPlanningUsageContributor(PLANNING/REAL_COUNT):据快照 distinct section 算实例级关联 + removed/typeChanged/visibility 字段级命中。

验证:content 38/38(ContentPlanningServiceTest 15 含 captureFieldSnapshot、ContentPlanningUsageContributorTest 5、ContentAppServiceTest 18 不破)。execution doc 记录第三轮决策与调查发现。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-21 01:48:15 -07:00
lili
8aad7a4b1b fix(knowledge): 绑定确认回填来源投影 + 唯一键补 work_id
绑定确认为 source binding projection 读模型的权威回填点:bind 成功后写投影行;unbind 按 bindingId 作用域撤销,不误伤同源绑定到其它作品的投影。

唯一键补 work_id(V24):同源 KB 可被同一用户绑定到多个作品,旧唯一键缺 work_id 会把合法跨作品复用误判为冲突;改为含 work_id 的 partial unique index(WHERE deleted=FALSE)。

验证:MuseKnowledgeBindingServiceTest + MuseKnowledgeSourceBindingProjectionMapperTest 11/11,knowledge-server 整套件 214/214 绿(clean 重编译,反假绿)。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-19 09:31:56 -07:00
lili
4ceca21f73 feat(infra): 存储 SDK 异常脱敏 + dev/test 文件配置种子 + RBAC 复核 (U7)
- R4 凭证脱敏(发现真实泄漏):S3/MinIO SdkException 原始 message 内嵌 endpoint/bucket/access key,经 GlobalExceptionHandler 全栈日志 + 落 infra_api_error_log 外泄。FileServiceImpl 在边界 catch SdkException 改抛 ServiceException(FILE_STORAGE_OPERATION_FAIL),只记 errorType、不挂 cause(杜绝 message 经兜底回流)。+2 单测断言假密钥不外泄。
- Provisioning:新增无密钥幂等 LOCAL master FileConfig 种子 sql/dev/muse-file-config-master-seed-postgres.sql(强制走字节代理)+ MinIO env 占位模板。
- RBAC:FileConfigController 全端点 @PreAuthorize('infra:file-config:*') 已满足,无改动。
- FileServiceImplTest 21 绿。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-19 00:59:26 -07:00
lili
2f64397719 fix(market): 系统性修 market 残余 (tenant_id,command_id) partial-index ON CONFLICT bug + 真实 PG IT
续 V22。handoff_event/appeal_material/authorization_summary/appeal_event/appeal 5 表的 (tenant_id,command_id)
在 V15 被建为部分唯一索引(WHERE command_id IS NOT NULL),而对应 mapper insertIgnore 发无谓词
ON CONFLICT (tenant_id,command_id)→PostgreSQL 无法用部分索引作仲裁器→这些链路(handoff/申诉/授权摘要)
活体时 500(潜伏,流程尚无活体触达)。grep 实证仅这 5 表 mapper 确发无谓词 ON CONFLICT;其余 market 部分
command 索引未被当 arbiter,不动。

- V23__fix_market_remaining_command_unique_index.sql:5 表 部分→完整唯一索引(对齐 command/purchase 约定)。
- P1rMarketCommandIndexFlywayMigrationIT(真实 PG):clean→迁移 V1→V23→断言 V22/V23 修复的 9 个命令索引
  均为完整唯一索引(可作 ON CONFLICT 仲裁器),Tests run 1/0F。与 target=V15 的 P1rMarketFlywayMigrationIT 互补。
- V23 已应用 muse_slice_live;全新 muse_p1r_cmdidx_test 库迁移验证。

进度总账 §五C/§四 就地更新。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-15 03:30:11 -07:00
lili
288fce955f feat(studio+market): 市场发布提交审核全链(草稿→检查→提交)活体绿 + V22 补 review_event 索引
承上一提交(草稿切片),完成创作者发布全链到「提交审核」:
- MarketPublish 加 licenseType / 权利声明字段 + 「提交审核」按钮(save→运行检查→检查通过则提交申请);
  useMarketPublish 加 useRunPublishCheck / useSubmitPublishRequest。
- market-publish.spec.ts 3/3 绿(草稿正 / 缺标题负 / 提交全链),DB 证 muse_market_publish_request=submitted
  + muse_market_review_event=submitted 落库;全链测用唯一名→可重复跑。
  整套 e2e 11/11、vitest 47/47 无回归、tsc 绿。

修复:submitPublishRequest 的 writeSubmittedReviewEvent 命中 muse_market_review_event 同款部分索引
ON CONFLICT 不匹配 bug(submit 500);V22 迁移 + muse_slice_live 增补 review_event 索引(部分→完整,共 4 表)。
遗留:handoff/appeal/authorization_summary 等 market 表同类部分索引待对应流程活体时收口。

进度总账 §五C 已就地更新(市场生产侧:发布草稿 + 提交审核全链 ✅)。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-15 02:10:12 -07:00
lili
0b6b1e8887 feat(studio+market): 市场生产侧发布草稿活体纵切 + 修 publish 部分索引 ON CONFLICT 潜伏 bug
studio 生产侧首切片(创作者飞轮起点):新增 /market/publish 发布表单(MarketPublish + useMarketPublish hook),
保存发布草稿经唯一合法入口 POST /marketplace/publish-drafts → my-publish-records 真实回读;
MarketBrowse 加「我要发布资产」入口。market-publish.spec.ts(chromium, MSW off, 真连 48080)正+负绿,
DB 证 muse_market_publish_draft 落库(status=draft);命令幂等键按材料 hash 派生→自包含可重复跑、无需预种。

附带修真实潜伏后端 bug(链路从未活体跑过):publish draft/check/request 的 (tenant_id,command_id)
被 V15 建为部分唯一索引(WHERE command_id IS NOT NULL),而各 mapper insertIgnore 发无谓词
ON CONFLICT (tenant_id,command_id)→PostgreSQL 无法用部分索引作仲裁器→savePublishDraft 500
(BadSqlGrammarException: no unique or exclusion constraint matching the ON CONFLICT specification)。
修=部分→完整唯一索引,对齐 muse_market_command/purchase 既有约定(V22 迁移 + muse_slice_live 已应用,
零 Java 改动/零重启)。遗留:handoff/appeal 等 market 表同类部分索引待对应流程活体时收口。

验证:整套 e2e 10/10 绿、vitest 47/47 无回归、tsc 绿。进度总账 §五C/§四/per-BC 已就地更新。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-15 02:01:18 -07:00
lili
6897fc2ac4 fix(base-schema): 补 member_user.register_terminal + infra_api_error_log_seq(解 account 读 500)
account/profile 等读 member_user 引用 register_terminal,原基座翻译遗漏→500;补列后转干净业务码。
infra_api_error_log 走 @KeySequence 但原用 IDENTITY 无序列→错误日志写入再抛。两处补入基座文件。
活体证(48080):account BC 个人中心读旅程全通,且 market 购买/安装经投影流入 account purchases/licenses
=market→account 跨 BC 端到端。§五:account BC ✅(已 4 个 BC 活体证)。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-14 23:35:32 -07:00
lili
038d2cf387 chore(p1-fullstack): 补 postgres 基座 schema(dev)+ 记录全栈启动 2 墙拆除与第 3 墙诊断
为活体 e2e 起全栈 muse-server,实测拆两墙、定位第三墙:
- 墙1(已修, commit 1f89007):member-server repackage classifier → mvn package 全项目 BUILD SUCCESS。
- 墙2(已解):本仓原无 postgres 基座 dump。新增 muse-cloud/sql/dev/yudao-base-schema-postgres.sql
  (system/infra/member 测试 schema 忠实翻 PostgreSQL,49 表)+ yudao-base-seed-postgres.sql
  (system_tenant id=1 等最小启动种子);实测灌库 0 失败,app Flyway(baseline-on-migrate)成功补
  Muse V1-V21、Tomcat 起、Spring 初始化。
- 墙3(定位,开 chip):muse-server 卡 bean 装配——5 个 biz.system CommonApi 是 @FeignClient
  (yudao-cloud RPC),单进程单体下未注册本地 bean。即项目从未以单体真正启动过(基线"未实跑"根因),
  需阶段7「cloud→monolith RPC 桥接」(真实接 system 本地 impl,非 permissive stub=假绿)。

knowledge §六 记全栈启动配方 + 三墙状态;进度总账加时间线。MVP #1 纵切仍以 4 个真实 PG IT 为正确性证据。
未推送(等用户)。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-14 11:18:35 -07:00
zizi
6f5b9b3469 feat(p1r): 接入 Content 事件传播真实链路
将 saveBlock 首次成功后的 active source attribution 写入 Content 本域 outbox,并通过默认关闭的 worker 发布 Events notification/source_status_change。V21 增加 outbox 表、幂等约束、active-only check 与 claim/retry/dead-letter 状态字段。
2026-06-08 23:17:41 +08:00
zizi
0e10caf324 feat(p1r): 接入 Account 事件传播真实链路 2026-06-08 02:49:02 +08:00
zizi
b36b153b96 feat(p1r): 接入 Market 事件传播真实链路 2026-06-07 22:28:39 +08:00
zizi
cef686b968 feat(p1r): 接入 Knowledge 事件传播真实链路 2026-06-07 10:00:04 +08:00
zizi
3db5fbedfd feat(p1r): 接入 AI 事件传播真实链路 2026-06-06 20:24:01 +08:00
zizi
165579521a feat(p1r): 落地 Events SSE 真实 API 2026-06-05 22:20:48 +08:00
zizi
621d45a16b feat(p1r): 落地 Market 真实 API 2026-06-05 10:51:58 +08:00
zizi
7155285940 feat(p1r): 实现 Knowledge RAGFlow dedicated gate
将 P1R-5 Knowledge 59 个 operation 从合同兜底推进到专用 Knowledge controller/service/DAL/DDL 与 gate 测试,状态保持 dedicated / needs_verification,不标记 completed。
2026-06-02 19:36:02 +08:00
zizi
4f38bf0da1 feat(p1r): 实现 AI 真实 API dedicated gate
将 P1R-4 AI 41 个 operation 推进到 dedicated / needs_verification,退役 AI contract fallback,并补齐 runtime、SSE、job、audit、source、coverage 与 PostgreSQL/Flyway 门禁。

保留 completedOperations=0;真实 New-API chat、Security owner、Knowledge/RAGFlow、Market 和统一 events 仍留在后续验收。
2026-06-01 00:37:29 +08:00
zizi
1389bb56a7 fix(p1r): 补齐调用归因 revision 校验 2026-05-29 13:17:19 +08:00
zizi
cc376048ab fix(p1r): 收紧 Account 命令与凭证基础合同 2026-05-29 00:13:30 +08:00
zizi
03747c3f29 fix(p1r): 加固 Account 基础设施质量门禁 2026-05-28 23:24:40 +08:00
zizi
891079f4cb fix(p1r): 补齐 Account 审计合规字段 2026-05-28 22:18:40 +08:00
zizi
ce4b0a5bdb feat(p1r): 增加 Account 真实 API 基础设施 2026-05-28 21:31:53 +08:00
zizi
4d9a2424fe feat(p1r): 推进 Meta 真实 API 收口 2026-05-28 12:30:46 +08:00
zizi
3230382d0f feat(p1r): 推进 Content 真实 API 收口
将 Content 域 51 个 operation 从合同兜底推进到 dedicated / needs_verification,补齐专用 Controller、Application Service、DTO、持久化、facade 边界、幂等、审计和阶段门禁。

同时保留 P1R-1 口径:当前不宣称 completed,后续仍需真实外部 owner 和集成验收推进。
2026-05-27 02:24:48 +08:00
zizi
6410604e88 feat(muse-cloud): 持久化 Muse 合同入口 2026-05-25 12:11:27 +08:00
zizi
43d6806434 feat(muse-cloud): 纳入主仓库并搭建 P1 后端基座 2026-05-24 23:15:08 +08:00