# Muse 1.0.0 真验证清单 > 版本:v1.0(2026-06-27,E0 消假绿地基) > 作用:给 E1-E7 的 done 判据提供统一口径。本文只记录“什么证据算真验证、如何复跑、哪些只算台账/跳过/mock”,不记录功能进度流水。 --- ## 1. 结论 1. **默认 CI 只证明纯本地层**:`mvn -B package --file pom.xml` 能跑单测、ArchUnit、契约结构和 coverage 台账门,但不证明真实 PostgreSQL / RAGFlow / New-API 链路。 2. **`P1r*RealApiGateTest` 是台账门禁**:它们只读 `docs/superpowers/reports/p1r-api-coverage.json`,防止 coverage 回退;不打 HTTP、不连 DB、不调用外部服务,不得计入业务真验证。 3. **`P1r*IT` 才是后端真验证主体**:其中 real-PG 层会 `flyway.clean()` 指定 `_test` 库;external-live 层还会真实调用 New-API/RAGFlow,必须显式 opt-in。 4. **live 默认跳过不是绿证**:未设置 `MUSE_P1R_EXTERNAL_ACCEPTANCE=true` 时,live IT 通过 `assumeTrue` 跳过,应在交付记录中标为 `SKIPPED`,不能标为 `PASSED`。 --- ## 2. 分层口径 | 层级 | 证据类型 | 命令入口 | 计入 1.0.0 真 done | |---|---|---|---| | `local-ci` | 普通单测、ArchUnit、契约结构、coverage/RealApiGate 台账门 | 根 workflow `.github/workflows/maven.yml` 或 `bash muse-cloud/scripts/run-p1r-verification.sh local` | 只能证明本地静态/单测门,不证明业务闭环 | | `real-pg` | 非 live 的 `P1r*IT`,MockMvc/真实 mapper/真实 PostgreSQL `_test` 库 | `bash muse-cloud/scripts/run-p1r-verification.sh real-pg` | 可计入后端真验证 | | `external-live` | New-API / RAGFlow / 端到端 runtime live IT | `bash muse-cloud/scripts/run-p1r-verification.sh external-live` | 可计入外部链路真验证 | | `frontend-e2e` | MSW-off Playwright 真后端/真 DB 旅程 | 各前端现有 Playwright 命令 | 可计入用户可达闭环 | | `mock-only` | Mockito/Vitest/MSW/mock 数据 | 各模块单测 | 只能证明局部逻辑,不计入上线闭环 | | `skipped` | `assumeTrue` 或环境缺失导致跳过 | 测试报告中 skipped | 不计入通过 | --- ## 3. 一键复跑 ### 纯本地层 ```bash bash muse-cloud/scripts/run-p1r-verification.sh local ``` 该层不读取凭据、不连接 PG/Redis/RAGFlow/New-API。 ### real-PG 层 ```bash set -a && . "$HOME/.config/muse-repo/infra.env" && set +a P1R_FLYWAY_URL='jdbc:postgresql://100.64.0.8:5433/<专属_test库>' \ P1R_FLYWAY_USER='root' \ bash muse-cloud/scripts/run-p1r-verification.sh real-pg ``` 硬闸: - `P1R_FLYWAY_URL` 的真实 database name 必须以 `_test` 结尾。 - 目标 `_test` 库必须经人类 DDL 闸门预建;脚本只做存在性预检,不自动 `CREATE DATABASE`。 - JDBC URL 不得携带 `password` / `token` / `secret` / `api-key` 等 query。 - 密码只走 `P1R_FLYWAY_PASSWORD` 或 `MUSE_POSTGRES_PASSWORD` 环境变量。 - 批量 IT 必须 `-DreuseForks=false`,避免脱敏后的 `p1r.flyway.url` 污染同 JVM 后续测试。 ### external-live 层 ```bash set -a . "$HOME/.config/muse-repo/infra.env" . "muse-cloud/scripts/dev/p1r-external-acceptance.env" set +a export MUSE_P1R_EXTERNAL_ACCEPTANCE=true P1R_FLYWAY_URL='jdbc:postgresql://100.64.0.8:5433/muse_p1r_live_test' \ P1R_FLYWAY_USER='root' \ bash muse-cloud/scripts/run-p1r-verification.sh external-live ``` 该层会真实调用 New-API/RAGFlow。脚本会清 JVM SOCKS/HTTP/HTTPS 代理,避免把 tailnet 外部依赖误判为 502/不可用。 --- ## 4. 当前基线 已验证事实(来自代码/配置只读核验): - 根 Maven CI 已接在 `.github/workflows/maven.yml`,默认只跑本地层。 - 子目录 `muse-cloud/.github/workflows/maven.yml` 已移除,避免远端不扫描造成假绿。 - 7 个 `P1r*RealApiGateTest` 全部只读 coverage JSON。 - 仓内有 51 个 `P1r*IT.java`,其中 5 类 live 入口需要显式 `MUSE_P1R_EXTERNAL_ACCEPTANCE=true`。 E0 fresh 基线(2026-06-26 本轮实跑): - `bash muse-cloud/scripts/run-p1r-verification.sh local`:61 tests / 0 failures / 0 errors / 0 skipped,`BUILD SUCCESS`。 - 根 CI 等价命令 `mvn -B package --file pom.xml`(工作目录 `muse-cloud`):3060 tests / 0 failures / 0 errors / 148 skipped,`BUILD SUCCESS`。 - `bash muse-cloud/scripts/run-p1r-verification.sh real-pg`(真实 PostgreSQL `_test` 库,live IT 显式排除):189 tests / 0 failures / 0 errors / 0 skipped,`BUILD SUCCESS`,耗时 09:24。 - `bash muse-cloud/scripts/run-p1r-verification.sh external-live`:server live 8 tests / 0 failures / 0 errors / 0 skipped,`BUILD SUCCESS`,耗时 02:12;module live 4 tests / 0 failures / 0 errors / 1 skipped,`BUILD SUCCESS`,耗时 12.395s。1 个 skip 为 GraphRAG attribution 未配置;New-API、RAGFlow health/upload/parse/chunks/retrieval、AI runtime、knowledge runtime、market KB fork 物化主链路均 fresh 通过。 - 脚本错误路径已验:缺 `P1R_FLYWAY_URL`、非 `_test` 库、JDBC URL 携带敏感 query、缺目标 `_test` 库、`external-live` 未 opt-in 均在 Maven 前失败。 live 边界: - GraphRAG attribution 仍因开关未启用而跳过,不能标为 passed。 - E1-E7 若修改 live 相关链路,必须按 `external-live` 层重新提供 fresh 证据;本条只作为 E0 基线。 1.0.0 RC fresh 总验(2026-06-27,本轮实跑): - `local`:`bash muse-cloud/scripts/run-p1r-verification.sh local`,61 tests / 0 failures / 0 errors / 0 skipped,`BUILD SUCCESS`。本轮同步修正 `P1r*RealApiGateTest` 台账边界到 coverage `241/241 completed`,仍只作为 coverage 门禁,不计业务真跑。 - `local-ci/package`:根 CI 等价命令 `mvn -B package --file pom.xml`(工作目录 `muse-cloud`)首次暴露契约登记表滞后:OpenAPI 241 个操作,`MuseApiContractSupport` 只登记 233 个,缺 `update/archive/list/activate/archive agent version`、`slot unbind`、`block revisions`、`knowledge retrieval` 等 8 个入口;补齐后 `MuseApiContractSupportTest` 4 tests / 0 failures / 0 errors / 0 skipped,最终根 package 61 个 reactor 模块全 SUCCESS,`BUILD SUCCESS`。 - `real-pg`:`bash muse-cloud/scripts/run-p1r-verification.sh real-pg`,真实 PostgreSQL `_test` 库 `muse_p1r_100_release_test`,47 份 fresh surefire 报告 / 194 tests / 0 failures / 0 errors / 0 skipped,`BUILD SUCCESS`。先前同轮暴露的 1F/2E 已修:market 召回断言从旧 `TARGET_OWNER_UNAVAILABLE` 对齐为当前来源状态事件发布语义;content 两个 IT 补齐测试上下文依赖;修后 targeted 6/0,再全量 194/0。 - `external-live`:`bash muse-cloud/scripts/run-p1r-verification.sh external-live`,真实 New-API/RAGFlow + `_test` 库,server live 8 tests / 0 failures / 0 errors / 0 skipped,module live 4 tests / 0 failures / 0 errors / 1 skipped,`BUILD SUCCESS`。真跑证据覆盖 New-API completion、AI runtime 写 usage/quota/attribution、RAGFlow health/upload/parse/chunks/retrieval、Knowledge runtime、Market KB D0-fork 物化与 after-commit;唯一 skip 为 GraphRAG attribution 独立 opt-in 未配置,不计为 passed。 - 反假绿补记:手工直跑 server IT 时必须让 surefire forked JVM 收到 `p1r.flyway.*` 与代理清理参数;优先使用脚本。改过 module 后跑 server IT 需 `-am` 或先 `mvn install`,否则会拿旧 jar 产生 stale-jar 假红。 - `frontend-local` Studio:`./node_modules/.bin/tsc -b --force` 通过;`./node_modules/.bin/eslint .` 0 errors / 1 warning(既有 `public/mockServiceWorker.js` unused eslint-disable);`./node_modules/.bin/vitest run` 27 files / 119 tests passed。首次 Vitest 红在 `useAgents.test.tsx` 固定断言旧 total=3,E4 后真实 fixture 增加“已安装市场智能体”,已改为按列表长度与关键项断言。 - `frontend-local` Admin:`pnpm -F @vben/web-antd run typecheck` 通过;`pnpm test:unit` 50 files / 347 tests passed。当前 Node v26.3.0 超出 package engines 推荐范围(`^20.19.0 || ^22.18.0 || ^24.0.0`),但本轮测试通过;已补 `vitest.setup.ts` 桥接 `localStorage/sessionStorage` 到 `globalThis`,避免 Node v26 下 happy-dom 测试假红。 - `frontend-e2e` Studio:MSW-off 全量 Playwright `./node_modules/.bin/playwright test`,61 tests = 60 passed / 1 skipped / 0 failed,耗时约 1.4m,真实 muse-server 48080 + 共享 `muse_slice_live` + New-API/RAGFlow。首次全量红 5 项:3 项账户额度不足、1 项 AI Agent 不存在、1 项知识库状态定位器 strict-mode 歧义;修复为 Playwright global setup 每轮复位 user1 `ai_calls`、隔离 `agent-slot-bind` 到 work2 并刷新作品列表可见性、恢复 work1 AI 主链槽位、收窄知识库卡片定位。跳过项为 `market-install-kb-retrieval.spec.ts` D0-fork UI 物化用例 `test.fixme`,不计为 passed。 - `frontend-e2e` 反假绿补记:全量 Playwright 曾暴露 `KnowledgePage` 自建/已安装 KB `kbId` 重复导致 React key warning;已改用 `source/installId/kbId` 复合 key。该修复不放宽断言,只消除渲染层隐患。 E1 fresh 切片证据(2026-06-27,本轮实跑): - 功能链路:Content 采纳 AI suggestion 时同步调用 AI owner,写 `accepted` 状态、accepted decision archive、AI command 与 business audit;Studio 支持“改后合并”提交 `finalContent`;IndexedDB 草稿键改为 `workId+blockId+revision`;Content 正文变更后通过 Knowledge owner API 将关联 pending draft 标为 `conflicted/needs_recheck` 并写 Knowledge draft decision archive;工作台补知识/导入/导出/记录最小入口;保存/采纳后写 `muse_content_block_revision_snapshot`,Studio 历史 Tab 只读展示 Canonical revision 快照。 - `mock-only` 局部单测:`ContentSourceServiceTest` 25 tests / 0 failures / 0 errors,`ContentAppServiceTest` 19 tests / 0 failures / 0 errors,`MuseKnowledgeDraftInvalidationServiceTest` 3 tests / 0 failures / 0 errors,`AiSuggestionMergeProjectionFacadeTest` 7 tests / 0 failures / 0 errors,`BUILD SUCCESS`。 - `local-ci` 契约/覆盖门:`ContractFirstGateTest` 4 tests / 0 failures / 0 errors;`P1rApiCoverageReportTest` 8 tests / 0 failures / 0 errors;coverage JSON 已把 `listBlockRevisions` 纳入 completed/testFiles。 - `real-pg` 后端切片:`P1rContentCoreCompletedApprovalIT` 13 tests / 0 failures / 0 errors / 0 skipped,`P1rContentMergeSuggestionIT` 5 tests / 0 failures / 0 errors / 0 skipped,`P1rContentMergeGeneratedSuggestionIT` 1 test / 0 failures / 0 errors / 0 skipped,`BUILD SUCCESS`。运行使用真实 PostgreSQL `_test` 库,限定 `P1R_REAL_PG_TESTS='P1rContentCoreCompletedApprovalIT,P1rContentMergeSuggestionIT,P1rContentMergeGeneratedSuggestionIT'`。 - 前端静态/局部验证:`tsc -b --force` 通过;`npm run lint` 0 errors(仅既有 `public/mockServiceWorker.js` unused eslint-disable warning);Vitest 3 files / 12 tests passed;补跑 `AIPanel.contract.test.tsx` + `sse.test.ts` 2 files / 22 tests passed,覆盖 done 无 chunk 时回源读取 suggestion detail 的真实红点。 - `frontend-e2e` 活体验证:`accept-suggestion.spec.ts` 2 tests / 0 failures / 0 errors(MSW-off,真实 muse-server 48080 + 共享 `muse_slice_live` + 真 New-API/RAGFlow 配置)。正路证据:真生成 suggestionId=79,authz=`rpe-local-*`,Block revision 160→161,`sourceAttribution.lineage.parentSuggestionId` 指向本轮真生成候选,AI owner 归档 `accepted` 且 decision archive 非空;负路 stale `expectedBlockRevision` 返回业务冲突。 - 边界:本轮只跑 Studio `accept-suggestion` 黄金旅程,没有重跑 studio 全量 56 e2e;`muse-studio/src/types/content.ts` 生成类型未同步,新版本 `openapi-typescript` 会带出大量历史 string/number 与 version/revision 机械漂移,本轮仅在 hook 内维护 `BlockRevision` 最小类型。 RC 后导入向导 fresh 证据(2026-06-28,本轮实跑): - 功能链路:Studio 完整导入向导走上传扫描 → Content 创建外部上传任务 → AI owner 读取稳定 storageRef 并创建 parse job → 产出 pending-review Shadow 章节 → 用户批量确认 → Knowledge owner 创建 pending Draft;确认链路不直写 Knowledge Canonical。AI owner 支持 txt/markdown/docx/epub 抽取;`full_book/llm_full_book` 策略调用 New-API LLM 全书解析,timeout/429/5xx/连接失败可重试。 - `local-ci` 后端切片:`MuseAiImportParseServiceTest` + `NewApiMuseAiImportLlmParserTest` + 相关 content/infra/knowledge targeted 测试通过;docx/epub 成功与异常、LLM 502 后重试成功、401 不重试均有单测覆盖。 - `external-live` AI parser:`P1rImportLlmNewApiLiveAcceptanceIT` 显式 opt-in 1 test / 0 failures / 0 errors / 0 skipped,真实调用 New-API,输出 endpoint、凭据已配置标记、模型、章节数和摘要 hash,不输出凭据、原文或 provider 原始响应。 - `real-pg`/`external-live` 完整向导:`P1rContentImportWizardCompletedApprovalIT` 使用真实 PostgreSQL `_test` 库 clean+migrate 到 V34+;默认 docx 链路 2 tests / 0 failures / 0 errors / 1 skipped,显式 opt-in New-API live LLM 完整链路 1 test / 0 failures / 0 errors / 0 skipped。live 链路 providerStatusCode=200,写入 2 条 AI Shadow 章节并创建 2 条 pending Knowledge Draft,`muse_knowledge_entity` 仍为 0。 - 前端静态/局部验证:Studio `useWorks.test.tsx` + `ExportWorkModal.test.tsx` 12 tests / 0 failures / 0 errors;`tsc -b --force` 通过。 - `frontend-e2e` 活体验证:`import-wizard.spec.ts` 1 test / 0 failures / 0 errors(MSW-off,真实 muse-server 48080 + 共享 `muse_slice_live` + 真 New-API 配置)。浏览器上传 txt 文件后真打 `upload-returning-path`、`import-tasks`、`parse-jobs`、`batch-confirm`;DB 反查 parse job `completed`、2 条 confirmed Shadow、2 条 pending Knowledge Draft,Canonical entity 计数不变;用例结束清理本轮导入测试行。 - `frontend-e2e` 活体验证:`export-download.spec.ts` 1 test / 0 failures / 0 errors(MSW-off,真实 muse-server 48080 + 共享 `muse_slice_live` + 本地 FileService master)。浏览器创建 TXT 导出任务后真打 `downloads/{credentialId}`,请求头携带 `Authorization`/`tenant-id`/`X-API-Version`;真实浏览器 download 事件读取到的文件包含作品标题与正文片段;DB 反查导出任务 `completed`、`packageRef/credentialId` 非空并清理本轮任务与文件记录。 - 边界:Knowledge Draft 进入 Local KB Canonical 仍需用户后续显式审核确认;FileApi/对象存储异常按合同 fail-closed,不伪造解析成功。 E2 fresh 切片证据(2026-06-27,本轮实跑): - 功能链路:用户自建 Agent 支持创建初始版本、编辑生成新 active version、版本列表/激活/归档非当前版本、归档 Agent;作品槽位支持真实 unbind;Studio “放弃修改”从本地清 UI 改为调用 AI owner reject 写 decision archive。 - `local-ci` 后端切片:`MuseAgentServiceTest` + `MuseAgentSlotServiceTest` + `AppMuseAgentControllerAnnotationTest` + `AppMuseAgentSlotControllerAnnotationTest` 共 63 tests / 0 failures / 0 errors,`BUILD SUCCESS`。 - `local-ci` 契约门:`ContractFirstGateTest` 4 tests / 0 failures / 0 errors;AI OpenAPI 已补 update/archive Agent、versions list/activate/archive、slot unbind 契约。 - 前端静态/局部验证:`tsc -b --force` 通过;目标 ESLint(E2 e2e + global-setup)0 errors;Vitest `useAgents.test.tsx` + `AIPanel.contract.test.tsx` + `sse.test.ts` 3 files / 29 tests passed。 - 启动修红:最新 muse-server clean package 后首次启动红在 `muse.codegen.importEnable` 缺省;已在 `muse-server/src/main/resources/application.yaml` 补 `import-enable: false`,随后 `muse-server` 重新 `BUILD SUCCESS` 并在 48080 启动成功,真 HTTP `/app-api/muse/agents` smoke 返回 `code=0`。 - `frontend-e2e` 活体验证:`agent-create.spec.ts` + `agent-slot-bind.spec.ts` + `accept-suggestion.spec.ts` 共 5 tests / 0 failures / 0 errors(MSW-off,真实 muse-server 48080 + 共享 `muse_slice_live` + 真 New-API/RAGFlow 配置)。证据:采纳真生成 suggestionId=80、authz=`rpe-local-*`、Block revision 161→162 且 AI owner accepted decision archive 非空;拒绝真生成 suggestionId=81 后 `status=rejected` 且 decision archive 非空;Agent 生命周期 DB 核验 `current_version_id` v1/v2 切换与 v2 archived;Slot unbind DB 核验 revision 2→3、status=`archived`、响应 `sourceStatus=unbound`。 - 边界:质量评测执行器仍未落地,明确不计入 1.0.0 线 A done,后置线 B;本轮没有重跑 studio 全量 e2e,只跑 E2 相关真后端切片。 E3 fresh 切片证据(2026-06-27,本轮实跑): - 功能链路:Studio 知识页新增主动检索面板,用户可对作品已绑定知识来源发起真实检索;无 dataset 时返回用户可见治理提示;自建知识库资料上传走真实后端并在列表读回;market KB handoff 兑现后可进入作品知识绑定链路;AI 生成链路真实消费 Knowledge Source 检索上下文。 - `local-ci` 后端切片:`MuseKnowledgeRetrievalAppServiceTest`、`AppMuseKnowledgeRetrievalControllerTest`、`MuseKnowledgeRetrievalApiImplTest`、`AppMuseKnowledgeBindingControllerTest`、`AppMuseKnowledgeDocumentControllerTest` 共 25 tests / 0 failures / 0 errors / 0 skipped,`BUILD SUCCESS`。 - `local-ci` 契约/迁移门:`P1rKnowledgeMigrationSqlTest`、`ContractFirstGateTest`、`P1rApiCoverageReportTest` 共 21 tests / 0 failures / 0 errors / 0 skipped,`BUILD SUCCESS`;coverage JSON 当前 `241/241 completed`。V33 `allow_market_kb_precheck_without_local_kb` 已落 live,`muse_knowledge_bind_precheck.kb_id` 为 nullable,修正 market_kb 预检阶段尚未物化本地 KB 时的 schema 漂移。 - 前端静态/局部验证:Knowledge 相关 Vitest 4 files / 19 tests passed;目标 ESLint 0 errors;`tsc -b --force` 通过。`useKnowledge` 已把真实后端返回的 numeric `documentId/kbId` 归一为前端字符串,避免上传后列表被类型守卫过滤。 - `frontend-e2e` 活体验证一:`knowledge-retrieval.spec.ts` + `knowledge-bindings.spec.ts` + `handoff-knowledge.spec.ts` + `market-handoff-precheck.spec.ts` 共 6 tests / 0 failures / 0 errors(MSW-off,真实 muse-server 48080 + 共享 `muse_slice_live` + RAGFlow/New-API 配置)。覆盖 market KB handoff 正/负路、绑定投影读回、no_dataset 治理提示、上传真落库读回、市场授权预检。 - `frontend-e2e` 活体验证二:`ai-generation.spec.ts` 1 test / 0 failures / 0 errors(MSW-off,真 New-API 生成 suggestionId=82)。用例反查 `muse_ai_generation.source_summary->contextAssembly`,确认 `chunkCount>0`、`retrievedKbIds`、`authorizationSnapshotIds` 非空,证明 Knowledge Source 被 AI 生成真实消费。 - 边界:本轮只跑 E3 相关 Studio e2e 与 AI 生成 Source 消费切片,没有重跑 studio 全量 56;知识图谱/发布深面仍按后续模块进度推进;已物化 KB 的召回触达归 E4。 E4 fresh 切片证据(2026-06-27,本轮实跑): - 功能链路:market agent handoff 由 AI 后端按 market asset 解析发布者 agent,并物化为安装者本地 user agent 后绑定作品槽位;该槽位可真实创建 AI task 并完成 New-API runtime。market KB 召回由 Market 发布来源状态事件,Knowledge AFTER_COMMIT 消费后把已物化 installed_ref KB projection 置 `recalled/blocked`,作品检索返回 `omittedSources`,不再检索该 KB。市场详情页渲染来源引用、当前授权、治理状态三类可信信息。 - `local-ci` 后端切片:`MuseAgentSlotServiceTest`、`AdminMarketGovernanceServiceTest`、`MuseKnowledgeSourceEventServiceTest`、`KnowledgeMarketSourceStatusChangedConsumerTest` 共 50 tests / 0 failures / 0 errors,`BUILD SUCCESS`。 - `local-ci` 契约/覆盖门:`ContractFirstGateTest` 4 tests / 0 failures / 0 errors;`P1rApiCoverageReportTest` 8 tests / 0 failures / 0 errors;AI OpenAPI 已收敛 market agent precheck/bind 不再要求客户端提交 `sourceAgentId/sourceAgentVersion`。 - 前端静态/局部验证:`npx tsc -b` 通过;`npm run lint` 0 errors(仅既有 `public/mockServiceWorker.js` unused eslint-disable warning);Vitest `useMarket.test.tsx` + `AgentHandoffLanding.test.tsx` 2 files / 11 tests passed。 - `frontend-e2e` 活体验证一:`handoff-agent.spec.ts` + `market-asset-detail.spec.ts` + `market-kb-recall.spec.ts` 共 4 tests / 0 failures / 0 errors(MSW-off,真实 muse-server 48080 + 共享 `muse_slice_live` + New-API/RAGFlow 配置)。覆盖 agent 物化、本地槽位 runtime 完成态、伪造 token 拒绝、可信信息面板渲染、KB 召回传播到 Knowledge projection 并在检索中省略。 - `frontend-e2e` 活体验证二:`market-governance-impact.spec.ts` + `market-handoff-precheck.spec.ts` 共 2 tests / 0 failures / 0 errors(MSW-off,真实后端)。覆盖治理影响读面与 market 来源侧授权预检回归。 - 边界:本轮未重跑 Studio 全量 56 e2e;market KB 副本资源回收、下架/撤权更细粒度补偿仍后置线 B;测试夹具会在 Playwright global setup 或新用例 finally 中复位被召回的 handoff KB 资产,避免污染后续 e2e。 E5 fresh 切片证据(2026-06-27,本轮实跑): - 功能链路:AI 生成入口先经 Account owner 预占配额;生成成功后写 `muse_member_usage_record` 并累加 quota used,生成失败终态释放预占;用量 attribution worker 消费 queued job 写 attribution item;quota request worker 调 New-API 管理口并把 request/integration call 推进到终态。 - `local-ci` 后端切片:`MuseAiTaskServiceTest`、`MuseAiRuntimeProjectionServiceTest`、`AccountUsageServiceTest`、`AccountQuotaServiceTest`、`AccountAttributionServiceTest`、`AccountNewApiBindingServiceTest`、`MuseAccountUsageApiImplTest`、`NewApiAccountFacadeConfigurationTest`、`RealNewApiAccountFacadeTest` 共 120 tests / 0 failures / 0 errors,`BUILD SUCCESS`。 - `real-pg` account 切片:`P1rAccountQuotaRequestCompletedApprovalIT` 5 tests / 0 failures / 0 errors / 0 skipped,`P1rAccountAdminWritesCompletedApprovalIT` 3 tests / 0 failures / 0 errors / 0 skipped,`P1rAccountNewApiBindingClusterCompletedApprovalIT` 4 tests / 0 failures / 0 errors / 0 skipped,`P1rAccountUsageObservabilityCompletedApprovalIT` 4 tests / 0 failures / 0 errors / 0 skipped,`BUILD SUCCESS`。运行库为真实 PostgreSQL `_test` 库 `muse_p1r_account_e5_test`。 - `external-live` New-API 管理口:`RealNewApiAccountFacadeLiveAcceptanceIT` 显式 opt-in 1 test / 0 failures / 0 errors / 0 skipped,`BUILD SUCCESS`;证据只输出 endpoint、`newApiUserId` 哈希前缀、`quotaApplied=100000000`、binding/quota external call 布尔值,不输出凭据。未 opt-in 的默认运行是 honest skipped,不计为 live passed。 - `external-live` AI→Account 串联:`P1rAiRuntimeEndToEndLiveAcceptanceIT` 3 tests / 0 failures / 0 errors / 0 skipped,`BUILD SUCCESS`。反查 `accountUsageRecordCount=1`、`accountQuotaUsedAmount=1`、reserve audit 1、release audit 0、usage total tokens 550;attribution processedCount 1、jobStatus completed、itemStatus completed、attributionType work。 - `local-ci` 构建兜底:`mvn -pl muse-module-ai/muse-module-ai-server,muse-module-member/muse-module-member-server,muse-server -am -DskipTests test-compile` 通过。 - 边界:quota request worker 仍默认 disabled,生产启用需显式配置 `muse.account.events.quota-request-worker.enabled=true`;本轮 New-API live 创建/刷新专用测试用户,未输出或落库任何凭据;未重跑 Studio/Admin 前端 e2e,E6 将继续 admin 权限与 AI 配置接线。 E6 fresh 切片证据(2026-06-27,本轮实跑): - 功能链路:Muse 管理端账号页新增 system 管理员权限 Tab,可读取 system 管理员、角色、用户角色并提交角色分配/启停用;system 后端在可信边界拒绝自禁用、自改角色。AI 配置页 Prompt 激活、质量评估启动、质量策略版本创建、system Agent 创建/版本发布/归档停用、Tool Grant 登记/调整均调用真实 admin API,最近评估只展示本页真实提交返回,不展示硬编码评分;system Agent 归档后同步归档 active 槽位绑定。Market 管理端申诉 `restored` 分支经真实 PG IT 覆盖,恢复会消费治理预览、重新上架资产并写 restore governance action。 - `local-ci` 后端切片:`AdminUserServiceImplTest` 36 tests / 0 failures / 0 errors / 0 skipped,`PermissionServiceTest` 25 tests / 0 failures / 0 errors / 0 skipped,`BUILD SUCCESS`。 - `frontend-local` Admin 账号治理:`npx -y pnpm@10.33.0 --dir muse-admin test:unit -- --run apps/web-antd/src/views/muse/__tests__/governance-pages.test.ts` 触发根 Vitest,50 test files / 345 tests passed。 - `frontend-local` Admin AI 配置:`npx -y pnpm@10.33.0 --dir muse-admin test:unit -- --run apps/web-antd/src/views/muse/ai/__tests__/index.test.ts` 触发根 Vitest,50 test files / 347 tests passed;`npx -y pnpm@10.33.0 --dir muse-admin --filter @vben/web-antd typecheck` 通过。 - `frontend/backend-local` Admin AI RC 后补写命令:`pnpm -F @vben/web-antd run typecheck` 通过;`vitest run --dom apps/web-antd/src/views/muse/ai/__tests__/index.test.ts apps/web-antd/src/api/muse/ai/__tests__/index.spec.ts` 2 files / 9 tests passed;后端 `MuseAgentServiceTest`+`AdminMuseAgentControllerAnnotationTest` 31/0F/0E/0S,`MuseToolGrantServiceTest`+`LocalSecurityToolGrantApprovalFacadeTest` 13/0F/0E/0S;契约/覆盖门 `ContractFirstGateTest`+`P1rApiCoverageReportTest`+`P1rAiRouteOwnershipTest`+`P1rAiRealApiGateTest` 27/0F/0E/0S。 - `real-pg` market restore 切片:`P1rMarketAdminAppealCompletedApprovalIT` 7 tests / 0 failures / 0 errors / 0 skipped,运行库为真实 PostgreSQL `_test` 库 `muse_p1r_market_admin_appeal_test`。断言 restored 分支 preview status=`consumed`、preview revision=2、asset listing/status=`listed`、governance action type=`restore`、command/event 幂等各 1 条、事件/动作快照包含 `impactPreviewId`。 - `local-ci` 构建兜底:`mvn -pl muse-module-system/muse-module-system-server,muse-server -am -DskipTests test-compile` 通过。 - 边界:account 业务账号 status/role/group 写契约仍不存在,账号页继续明确提示“不伪造未定义 account 写接口”;system 角色菜单/数据范围仍沿用 Yudao 既有页面和权限模型;本轮未跑 Admin Playwright e2e;质量策略回滚仍保持 preview-only,不计为真写。 E7 fresh 切片证据(2026-06-27,本轮实跑): - 功能链路:Content 动态字段预校验从 Meta active projection 读取字段定义/校验规则/废弃信息,执行 required、类型、enum、数值/文本范围、regex/pattern、deprecated、unknown field 校验,并返回 stale 标记、当前版本、dataRevision 和 write route。Admin MetaSchema 新建草稿在 schemaKey 不存在时创建默认 content/work/work 根对象;治理状态机走草稿→校验→预览→发布→激活→v2 发布→回滚,真实写 command/audit/validation/preview/version 状态。 - `local-ci` 后端切片:`MetaProjectionQueryApiImplTest` 4 tests / 0 failures / 0 errors / 0 skipped,`MetaSchemaServiceTest` 50 tests / 0 failures / 0 errors / 0 skipped,`RealContentMetaFacadeTest` 8 tests / 0 failures / 0 errors / 0 skipped,`ContentMetaProjectionServiceTest` 7 tests / 0 failures / 0 errors / 0 skipped,`BUILD SUCCESS`。 - `real-pg` Content/Meta 投影校验:`P1rContentMetaProjectionClusterCompletedApprovalIT` 4 tests / 0 failures / 0 errors / 0 skipped,运行真实 PostgreSQL `_test` 库,走真实 `/app-api/muse/works/{workId}/dynamic-fields/validate`。断言无 schema 时 fail-closed;绑定 active schema 后 regex/enum/range/deprecated/unknown field 错误命中,routeSuggestions 指向 Content planning owner 命令,全程不写 Content fact。 - `real-pg` Admin Meta 生命周期:`P1rMetaAdminSchemaLifecycleCompletedApprovalIT` 2 tests / 0 failures / 0 errors / 0 skipped,运行真实 PostgreSQL `_test` 库,走真实 `/admin-api/muse/governance/meta-schemas/**` + method security。断言新 schema 根对象 `domain=content/scope=work/targetType=work/status=draft`,v1/v2 validation/preview 成功,发布不隐式激活,激活/回滚同步切 `active_version_id` 与 schema 根 `status=active`,6 条写命令、4 条治理审计、2 条 validation、2 条 preview 真实落库。 - `local-ci` 构建兜底:`mvn -pl muse-module-meta/muse-module-meta-api,muse-module-meta/muse-module-meta-server,muse-module-content/muse-module-content-server,muse-server -am -DskipTests test-compile` 通过;变更范围 `git diff --check` 通过。 - 边界:Meta production impact preview 仍要求 5 个 owner usage contributor all-real;本轮 lifecycle IT 用 5 个 `VERIFIED_ZERO` 测试 contributor 只证明 Meta admin 状态机和 preview 服务可用,不等价于完成外部 owner 用量投影建模;未跑 Admin Playwright e2e;server IT 前必须先 `mvn install` 改过的 meta/content 模块,否则会拿旧 jar 产生 stale-jar 假红。 --- ## 5. E1-E7 使用规则 每个 Epic 收口时必须列出: | 字段 | 要求 | |---|---| | 功能链路 | 用一句话描述用户或后端闭环 | | 验证层级 | `local-ci` / `real-pg` / `external-live` / `frontend-e2e` / `mock-only` / `skipped` | | 命令 | 给出可复跑命令,隐去凭据 | | 结果 | tests / failures / errors / skipped,不能只写“通过” | | 边界 | 明确哪些路径未验、哪些依赖后置 | 未满足上述信息的完成记录,只能标为“实现候选”或“待真验证”,不得写成 1.0.0 done。