CHANGELOG.md 1.7 MB

更新日志

当前版本: v1.0.2441

历史版本


v1.0.2441 (2026-11-13)

测试

  • 补充 S-cfc-202 定向取证 24例5红(窗口尾部合入)全站终值 5254/4264
  • 补充 S-cfc-203 定向取证 5红(窗口尾部合入)全站终值 5230/4245
  • S-cfc-202 admin.order.manual 契约级单测——权限流 RED(B-142-1/TR-13)
  • 契约级单测 admin.activity.config 配置校验 5红 TDD-RED
  • 测试负责人闭环 — API 全量首测 990 例(B-192-2)+ S-cfc-201 定向 6红18绿 + 全量承袭 4245 过

文档

  • 测试负责人第192轮汇报(API 全量首测 990 例 + S-cfc-201 定向 + B-192-1/2)

其他

  • - 13 正常流 + 5 边界流绿锚点:端点映射齐全、委托 service、售后状态守卫已实现
  • - 5 权限流预期红:订单 6 端点 + 售后 4 端点缺 admin 角色守卫(@RequestAttribute("role")),
  • 非 admin(parent/child/teacher)可越权发货/关单/审批退款/处理售后;list 非 admin 被放行返回 200
  • - 框架层锚点:JwtInterceptor.LOGIN_REQUIRED_PATHS 已收口 /api/admin/(匿名→401)
  • RED 验证:24 tests,5 failures(全部为预期权限流缺口),19 green,0 errors。
  • 纯 Mockito+反射契约单测,无 Spring 上下文/DB/外部服务。GREEN 指引见测试类 Javadoc。

v1.0.2440 (2026-11-13)

文档

  • 研发负责人第155轮闭环汇报(错峰03 恢复S-cfc-198/派发S-cfc-202-203 + O-19裁决)

v1.0.2439 (2026-11-13)

测试

  • 契约级单测 admin.article.manage 文章发布-审核(TDD-RED,6红18绿)
  • s run: 24, Failures: 6, Errors: 0(红 6 = 契约缺口,绿 18 全过)
  • 测试负责人闭环 — 后端全量实跑 386 类/3315 例 + 5 契约类补验 + B-95 销号

其他

  • 仅新增 cfc-backend/src/test,不改 src/main。
  • 新增 AdminArticleManageContractTest(24 例):
  • - 正常流 8(绿锁):toggleStatus 发布、submitForReview、withdraw、reDraft、
  • delete、controller list 透传 auditStatus / publish 委托 / toggleFeatured 委托
  • - 边界流 8(绿锁):缺 id 参数门禁 ×4、非草稿提交审核、非发布中撤回、
  • 非驳回/撤回转草稿、非法 direction
  • - 红测 6(预期红,锁契约缺口):
  • R1-R3 C 端未审不可见:getPublicList/getFeatured/getDetail 仅过滤 status=published,
  • 未排除 auditStatus!=approved,status=published+pending/rejected/null 泄漏到
  • /api/articles/*(PUBLIC_PATHS 匿名可读)
  • R4 直接发布未落审核默认值:toggleStatus(id,'published') 无审核门禁、不置
  • auditStatus=approved/auditedAt,绕过 submit-review→audit 审核流直接上架
  • R5-R6 权限流 controller 侧未收口:admin role 守卫仅 create/audit/move,
  • update/delete/toggleFeatured/submitReview/withdraw/reDraft/publish 无守卫(B-142-1)
  • - 权限流绿锁 2(B-142-1 拦截器侧已修):LOGIN_REQUIRED_PATHS 已覆盖 /api/admin/、
  • 匿名 POST /api/admin/articles/publish → 401
  • RED 验证:mvn -o -Dtest=AdminArticleManageContractTest test
  • 关联:docs/tdd/orchestration/sc-key-map.md S-cfc-201;B-142-1
  • 386/386 XML 无沉默、2121 main + 392 test 源 0 编译错、dump 0
  • - 收尾增量(远端 5ad781a00):S-cfc-199/200 三类 52 例 → 39 红(TDD 前瞻)
  • - 窗口本地:S-cfc-197 AdminReportParserManage 37/37 GREEN;S-cfc-198 13 例 6 红(重试/分批/角色门禁未实现)
  • - 浏览器 39 过 + 2 跳:本机 28、189 admin 5/5(blob 4703d73fb 同源)、204 fe 6/6(连续 2 轮 → B-95 销号)
  • - langgraph@251 47/51:4 红全 429 AgnesAI + 401 api key ****ab12 invalid(环境)
  • - 线上 API 32 例 25/0/7;anon 6 端点 6/6=401;web 116/116;fe 609/3/12;根级 7/16
  • - 全站 4254 例 / 4088 过 = 96.10%(剔 skip 96.67%;剔预期 RED 98.34%),红 141 零缺陷回归
  • - 新增 B-191-1(窗口多次推入契约类→双 fetch+增量 SOP)、B-191-2(全量 1:01h,慢类 493.97s)、B-191-3(API 例数不可复现)
  • - 门禁:不通过(有条件)— G1/G2/G7/G9/G11 ❌;G4/G5/G6/G8/G10/G12/G13 ✅(存量零漂移第 26 次)

v1.0.2438 (2026-11-13)

测试

  • S-cfc-200 admin.supplier.manage RED 契约测试(410 壳/边界门禁/role 守卫,19 用例 16 红/3 绿)

文档

  • 研发负责人第164轮闭环汇报 2026-11-13 1406(派发S-cfc-200/201 + O-19收敛核验)

v1.0.2437 (2026-11-13)

文档

  • 修正 P-94~96 错位映射与 SC-T-01 污染(恢复 task.history.view/growth.history.view/achievement.grid.fiveCol/teacher.login.switch,删孤儿键 307)
  • SC 台账 241/241 全映射达成(G-L 域 26 行+五维专项 10 行+A-04 真缺口立项,S-cfc-283~308 共 26 键)

测试

  • S-cfc-200 admin.supplier.manage 契约级单测(TDD-RED:AdminSupplier/EcomSupplier 410废弃桩 + SC-A-06停用在售商品守卫未落地,预期10红6绿)
  • S-cfc-199 admin.dimension.config RED 契约测试(维度/权重/上限 CRUD + 来源比例/归因权重治理)

其他

  • 设计载体三 Controller:AdminSupplier/EcomSupplier/SupplyManageController。
  • - 10 红:AdminSupplierController + EcomSupplierController 为 410 废弃桩(list/save/update/delete + all),
  • SC-A-06 边界「有在售商品的供应商停用需先下架」全库无在售商品守卫。
  • - 6 绿证:SupplyManageController 已落地(入驻手机号校验/默认 approved+supplier_admin/detail 不存在)。
  • 纯反射+Mockito,无 Spring/DB/外部服务;不改动 src/main。GREEN 阶段据契约签名落地或重映射活跃载体。
  • 溯源: 应用场景总览 SC-A-09/SC-A-25/SC-A-26; API_REFERENCE §4.13/§4.60.9/§4.60.16; TC-A-25/26-E/P
  • 新增: DimensionConfigAdminContractTest (17 用例, 13 红 / 4 绿基线)
  • RED 覆盖:
  • - 权重/上限/来源比例非法(负/超界/和≠100) → 400 拦截 (未实现, 现返回 200)
  • - 删除被引用维度拒绝 + 不级联删除 (deleteConfig 无引用检查, 现静默 removeById)
  • - 乐观锁 version 字段 (ProductDimensionConfig 无 version)
  • - @RequestAttribute('role') admin 403 守卫 (4 个控制器均无 role 参数)
  • GREEN 基线: 4 个控制器 (DimensionAdminController/DimensionConfigController/
  • DimensionWeightController/AdminEnergyConfigController) CRUD 端点存在。
  • 纯 Mockito+反射, 无 Spring/DB/外部服务。禁改 src/main。

v1.0.2436 (2026-11-13)

文档

  • SC 台账 P 域 C/D 域 32 行回填(report/diet/growth/assessment/plan 16 键入池 S-cfc-267~282)

测试

  • 能力键 admin.reportParser.manage 契约级单测(S-cfc-197)
  • RED contract test for SC-A-08/SC-A-22 knowledge base management

其他

  • ReportParseAdminController(/api/admin/report-parse) 完整契约面:
  • types/save/toggle/delete、fingerprints/list/save/delete、imports、
  • unknown-clusters/unknown-uploads、dan/reparse、list/retry/backfill-food。
  • 纯 Mockito/反射(无 Spring/DB/外部服务),对齐 TeamProfitHook/StarMultiplier/
  • Pipeline/FamilyJoinValidation 同批 RED 契约测试风格。
  • 实测实现已落地(origin/cfclub 两个 Controller 已存在),测试 37/37 绿,
  • 按 TR-7alescarpenter 契约核对转测试侧三类流证据登记,不私改 src/main。
  • - Sync failure retry (SC-A-08/A-22 boundary) - no maxRetries/syncWithRetry in sync path
  • - Large batch batching (SC-A-08 boundary) - no BATCH_SIZE/syncBatch in DanKnowledgeBaseService
  • - KB write endpoint role gate (AdminUnifiedKnowledgeController already has allowed; KnowledgeBaseController/KnowledgeBaseVectorController lack it per 2026-11-07-admin-ops-contract section 3#5)
  • Green tests confirm landed surface: 4 controllers, services, schema tables.

v1.0.2435 (2026-11-13)

文档

  • SC 台账 P 域 B/C 域 8 行回填(task/wish/points/energy 6 键入池 S-cfc-261~266)
  • 研发负责人巡检汇报 2026-11-13-1234(第138轮)+ O-19 状态机口径异常裁决
  • SC 台账 P 域 A 域 9 行回填(family.* 5 键入池 S-cfc-256~260)

测试

  • 补录 9 项套件执行日志(.tdd/r190*.log)
  • 测试侧产物闭环

其他

  • - docs/tdd/test/automation-run-2026-11-13-R190.md: 14项套件实测明细
  • - docs/tdd/notice-2026-11-13-R190-研发通知.md: langgraph 401环境红+S-cfc-186 RED通知
  • - docs/tdd/test/blockers.md: B-190-1(B-142-2复发)/B-190-2(窗口2契约类补验)/B-95观察改善/B-189-1延续
  • - docs/tdd/test/inventory.md + automation-status.md: 台账重扫(跨源4588, Java@Test 3250)
  • - r190*.cjs: 189/204/251 节点派发器脚本
  • ★ 关键事实:窗口2契约类补验(S-cfc-186 6过/1预期RED + S-cfc-182 14/14 GREEN);
  • langgraph 50/51(上游401环境红,B-142-2复发);204节点fe 6/6恢复(B-95观察改善);
  • 浏览器任务级全绿;全站红94零缺陷回归

v1.0.2434 (2026-11-13)

测试

  • RED contract test for teacher.family.overview
  • 能力键 teacher.report.proxy 契约级单测(S-cfc-182)
  • 能力键 teacher.report.proxy 契约级单测(S-cfc-182)

其他

  • key teacher.family.overview (SC-T-16/17/21/27).
  • Covers endpoint anchors (GuideFamilyTaskController /{familyId}/overview,
  • /dashboard-stats, /{familyId}/children/{memberId}/tasks; GrowthPlanController
  • /child/{memberId}/active; AssessmentComparisonController /api/assessment/compare/*;
  • TianpanController /api/tianpan/*) plus role/binding guard controls.
  • RED gap asserted: GuideFamilyTaskController.getFamilyMemberTasks validates only
  • requireBound(guideId, familyId) but NOT memberId in familyId, allowing a teacher
  • bound to family A to read family B member tasks (IDOR). Cross-family memberId
  • should be rejected and never reach taskService.getTaskHistoryByFamilyMember.
  • Expected RED: 1 failure (cross-family IDOR), 6 pass (controls).
  • - H 域 7 行→butler.* 5 键(S-cfc-251~255):escalation/oneOnOne/resource/quality/ai.collaborate
  • - B 10/10、H 7/7 全映射;未映射降至 81(P=80 + A-04 真缺口)
  • - 正常流:端点契约(/report/proxy-parse、/proxy-confirm、/reassign、/transfer/* 7端点 @PostMapping)、
  • isProxyUploader 角色闸门(teacher/admin/approved 营养师/approved 规划师)、canProxyForFamily 绑定家庭放行、
  • auditConfirm 确认入库后报告 family_id/subjectId 归属落库(TR-13 §5 第4条)
  • - 异常流:非绑定家庭拒(SC-T-23 边界)、缺 draftId 拒绝不入库、discarded 草稿不可确认(SC-T-03 边界识别失败进草稿)
  • - 权限流:非授权角色拒绝、非创建者非 admin 确认他人草稿拒绝、subjectId 跨家庭拒绝(无跨家庭越权)、admin 豁免
  • 实测:origin/cfclub 该能力链已完整落地,14 用例全绿(意外全绿,依任务注明交编排侧转测试登记)。
  • 纯 Mockito+反射,无 Spring/DB/外部服务。未改动 src/main。
  • - 正常流:端点契约(/report/proxy-parse、/proxy-confirm、/reassign、/transfer/* 7端点 @PostMapping)、
  • isProxyUploader 角色闸门(teacher/admin/approved 营养师/approved 规划师)、canProxyForFamily 绑定家庭放行、
  • auditConfirm 确认入库后报告 family_id/subjectId 归属落库(TR-13 §5 第4条)
  • - 异常流:非绑定家庭拒(SC-T-23 边界)、缺 draftId 拒绝不入库、discarded 草稿不可确认(SC-T-03 边界识别失败进草稿)
  • - 权限流:非授权角色拒绝、非创建者非 admin 确认他人草稿拒绝、subjectId 跨家庭拒绝(无跨家庭越权)、admin 豁免
  • 实测:origin/cfclub 该能力链已完整落地,14 用例全绿(意外全绿,依任务注明交编排侧转测试登记)。
  • 纯 Mockito+反射,无 Spring/DB/外部服务。未改动 src/main。
  • - S-05→inventory、S-06→afterSales、S-07→activity、S-09/10→nutrition.supply(1:N)、S-11→exportCompliance
  • - S 域 11/11 全映射;未映射降至 98(P=80/B=10/H=7/A=1 真缺口)
  • - X-01~18 按 O-2 方案 A 用链路键集合映射(1:N 逗号分隔,如 X-01 测全链路=购套餐→预约→录入→激活→打卡)
  • - X-22 → reward.cfEstimate.expectedCf(DONE,上轮已回填)
  • - X 域 22/22 全映射;未映射降至 104(B=10/H=7/P=80/S=6/A=1 真缺口)

文档

  • sc-key-map 台账回填 17 行(143→160 已映射,B/H 域全覆盖)
  • 研发负责人第153轮闭环汇报 2026-11-13 1210(错峰03:backfill回收16条dispatched死锁;13键RED→YELLOW推进+auto续建13 GREEN任务S-cfc-226~238;S-cfc-182/186 T8 requeue重派;--changes 0新键不add-task;--resume 0候选;731处他人WIP零接触单文件入库;deploy pending19/confirmed77;SC 15/241无漂移;O-1~O-25全已裁决+P域80无键SC待主理人确认契约锚点)
  • sc-key-map 台账回填 6 行 SC-S(137→143 已映射,S 域 11/11 全映射)
  • sc-key-map 台账回填 21 行 SC-X(116→137 已映射,X 域 22/22 全映射)

v1.0.2433 (2026-11-13)

测试

  • 修正 typo SSh → SSH
  • 补录推送兜底证据 + B-189-1 状态升级
  • 测试侧产物闭环

其他

  • - blockers: B-189-1 状态由「P0 阻塞」降级为「HTTP 兜底已推送,SSH 待修」
  • - 附:fetch 仍须临时指定 http://git.iwintrue.com/liaoxg/cfc.git,SSH 恢复前仍为隐忧
  • - S 域 2 行(S-01/02)→ admin.supplier.manage(S-cfc-200)
  • - C 域 26/26 全映射(C-26 已上轮);未映射降至 125(B=10/H=7/P=80/S=6/X=21/A=1缺口)
  • - docs/tdd/test/automation-run-2026-11-13-R189.md: 12项套件实测明细
  • - docs/tdd/notice-2026-11-13-R189-研发通知.md: P1契约RED 48+存量25通知
  • - docs/tdd/test/blockers.md: B-189-1(SSH故障)/B-189-2(窗口13类验)/B-142-2销号
  • - docs/tdd/test/inventory.md + automation-status.md: 台账重扫(跨源4567)
  • - .tdd/r189*.log: 8项套件原始日志
  • - r189*.cjs: 节点派发器脚本
  • ★ 关键事实:langgraph@251 连续第2轮51/51全绿 → B-142-2销号;
  • 窗口13契约类48预期RED取证;全站红92零缺陷回归

文档

  • sc-key-map 台账回填 27 行(89→116 已映射,C/S 域覆盖)

v1.0.2432 (2026-11-13)

文档

  • sc-key-map 台账回填 23 行 SC-A(66→89 已映射,SC-A 域 24/25 映射)

其他

  • - SC-A-01→admin.auth.login(GREEN);SC-A-02~22/25/26→新建 admin.* / mind.* 键(RED)
  • - SC-A-04 记为真缺口(无 admin 关系类型 CRUD 载体)
  • - 依据 API_REFERENCE §4.13/§4.14 契约 + Controller 实存核验;未映射降至 152
  • 契约来源: API_REFERENCE §4.57 + EVD-10 planner-zone-contract (77026df42) §3.
  • - 端点契约: TrainingPlanController /api/guide/training-plans/* (create/update/list/detail/delete),
  • GrowthPlanController /api/growth/plan/create|update, HealthPlanController /api/health/plan/save|generate
  • - 正常流: teacher 创建套餐/成长计划 -> 200 + 落库
  • - 异常流: 缺 memberId/planId -> 拒绝且不落库
  • - 权限流 (RED): create/update 端点未暴露 role/roles 输入(角色门禁缺失),
  • 非 teacher 角色亦可创建/修改方案 -> 契约行为缺失,GREEN 阶段补齐后转绿
  • TDD-RED 预期: 13 run / 4 fail / 0 error / 9 pass

测试

  • teacher.plan.create RED contract - 权限流角色门禁未落地 (4 RED/9 green)
  • S-cfc-188 family.family.autoCreateForPurchase 契约测试(RED 4/5)
  • S-cfc-184 teacher.assessment.record 契约级单测(TDD-RED:SC-T-07 必填缺失拦截/重复录入覆盖非新增两边界未落地,预期3红1绿)

v1.0.2431 (2026-11-13)

文档

  • 研发负责人第152轮闭环汇报 2026-11-13 1051(巡检核验轮:状态机112键 RED17/YELLOW72/GREEN8/DONE15 零漂移;任务池197=done179+dispatched17+pending0 池满;上轮派发 S-cfc-176/177/179 GREEN 实现回执已回填 yellow_sha 三sha IN CHAIN ✓、175/178 属 O-22 豁免;17 RED T域契约在途5节点session全挂;--changes 0新键不add-task;--resume 0候选;deploy pending63(open19)/confirmed77;SC主表241=241唯一跑通15/241无漂移;O-1~O-25全已裁决无新增;730处他人WIP零接触单文件入库)
  • ca56f8699 部署回执 testing(S-cfc-176 membership.plan.purchase 已含于 dae706c7d,JAR/进程/健康核实通过)
  • sc-key-map 台账回填 12 行 SC-T(54→66 已映射,SC-T 域 32/32 全映射)
  • sc-key-map 台账回填 21 行 SC-T 与 SC-X-22 映射(52→54 已映射)
  • 研发负责人第151轮闭环汇报(T域closure续派+17 RED全派发)

测试

  • S-cfc-183 teacher.plan.review 契约 RED — SC-T-28 AI 方案内容安全复核缺失
  • s run: 9, Failures: 4(SC-T-28 探针全红,SC-T-04 锚点全绿),BUILD FAILURE。
  • GREEN 契约测试 teacher.login.switch(SC-T-01/T-20)— 实现已由 SEC-20261031-01 + 既有代码落地,16/16 全绿;作为契约证据留存,交编排侧转测试登记。
  • S-cfc-194 teacher.dimension.score 契约级 RED 单测
  • teacher.mind.record 规划师舌诊/情绪测评录入 契约级 RED 单测
  • RED 契约测试 teacher.data.isolation(SC-T-13 family-list 数据隔离缺口)
  • S-cfc-181 teacher.appointment.guard contract RED

其他

  • 新增契约级单测 PlanContentSafetyReviewContractTest:
  • - 已绿锚点(5):GuidePlanReviewController /pending|/{planId}/approve|/{planId}/reject、
  • PlanReviewController /review、ReviewCenterController /summary 端点映射;
  • HealthPlan.planContent/planJson 复核载体;WechatServiceInterface.checkText 原语。
  • - RED 探针(4):审核链路(HealthPlanServiceImpl/GuidePlanReviewController/
  • HealthPlanController)未接入内容安全依赖;ContentFilterController 仅有 /by-tags
  • 无方案复核端点;approveAndPublish 命中敏感词仍置 published 且落库。
  • 实测 mvn -Dtest=PlanContentSafetyReviewContractTest test:
  • SC-T-04 生命周期由 PlanReviewTeacherContractTest 覆盖且实现已存在,本类不重复。
  • 仅新增 src/test,未改 src/main。
  • S-cfc-191: Add contract test for teacher.message.push (SC-T-19) [teacher.message.push]
  • - T-11/12→teacher.assessment.record(DAN 上传解析/八类报告)
  • - T-14/15→teacher.plan.create(方案编辑/套餐任务项)
  • - T-17/21/27→teacher.family.overview;T-18→teacher.task.review
  • - T-22→teacher.plan.create(⚠ G-2 归档缺口)
  • - T-23→teacher.report.proxy;T-28→teacher.plan.review
  • - 依据 EVD-10 契约 §3 定稿表;未映射降至 175
  • S-cfc-187: teacher.task.review - Implement contract tests for cross-family task audit guard (TC-T-09-P, TC-T-18-E)
  • - SC-T-30 测评录入触发五维变化:锚定 AssessmentService → DimensionScoreService.refreshFromDanAssessment 桥接(绿)
  • - SC-T-31 手动维度打分:ManualDimensionScoreController submit/latest/history + submit 落 five_dimension_scores(source_type=manual)(绿)
  • - SC-T-32 五维自评录入与变化:自评 submit 应桥接五维分数/能量落点(DimensionScoreService/EnergyService/FiveDimensionScoreMapper)+ five_dimension_scores.source_type 应含 selfcheck 来源(红:当前 submitSelfCheck 仅写 five_dimension_self_checks,契约"自评→变化落 EnergyController"未落地)
  • RED 结果:Tests run: 6, Failures: 2, Errors: 0(2 红=SC-T-32 桥接缺口,GREEN 阶段实现后转绿)
  • - SC-T-30/31/32 回填 teacher.dimension.score
  • - SC-X-22 回填 reward.cfEstimate.expectedCf(键 DONE,三类流证据待补)
  • - 未映射降至 187
  • [S-cfc-192] [teacher.nutrition.plan] TDD-RED 契约测试:精准营养方案制定
  • 纯 Mockito 行为级单测,预期红:
  • 正常流-1:generateRecommendation 的 nutritionSummary 应聚合宏量营养素
  • (protein/carbs/fat),当前 aggregateNutrition 恒置 0(源码注释:
  • protein/carbs/fat 恒 0 不在本轮范围)— 断言失败。
  • 边界流-1/2:负热量目标(calories=-500)与超上限热量目标(999999)
  • 应被拦截返回非 200;当前实现静默忽略并照常返回 success(200) — 断言失败。
  • 权限流:家庭隔离由 JwtInterceptor + familyId 承载,本控制器粒度不适用。
  • - controller: create 代录入口 + list 客户测评记录查看
  • - service: createAssessment 入库 + getAssessments(assessmentDate 倒序)
  • - entity: memberId/guideId/assessmentType/status(默认 draft)/assessmentDate 字段契约
  • RED: 13 用例 12 失败(0 错误),断言契约所需统一录入链路缺失(实现未落地)
  • 溯源: sc-key-map SC-T-25 + planner-zone-contract(EVD-10) §2/§5 + API_REFERENCE §4.57
  • 能力键: teacher.mind.record | 任务号: S-cfc-195 | 分支: task/S-cfc-195
  • - 定位:PlanReviewController /api/guide/plans/family-list teacher 越权缺口——
  • 当前 body.familyId 直接透传、无 guide_families(status=binding) isBound 校验,
  • 控制器未注入全项目唯一授权判定点 GuideFamilyAccessGuard。
  • - 新增 cfc-backend/src/test 单测(纯 Mockito/反射,无 Spring/DB):
  • 权限流 3 条(teacher 越权非绑定家庭 403 / body.familyId 不泄漏跨家庭方案 /
  • 越权不查询 planMapper)+ 结构流 1 条(注入统一授权守卫),预期红。
  • 正常流/异常流/授权源基线/观察钉住 5 条(绿)。
  • - 验证:9 通过 5、失败 4(红)——RED 阶段完成,GREEN 阶段实现 isBound 校验使绿。

v1.0.2430 (2026-11-13)

文档

  • sc-key-map SC-P-58 补记 1:N 键 family.family.autoCreateForPurchase(问题1修复)
  • 测试负责人第188轮闭环汇报 2026-11-13 0848(★后端首次恢复全量:43:15 跑完 369 类/3111 例/3082 过/25 红/4 跳=99.07%,证伪 B-184-1「>2h」判据并新增 B-188-1 判据修正;★langgraph@251 实派 51/51 全绿(R187 承袭 45/51,B-142-2 观察 1/2);★frontend-mobile 6/6×2(B-185 消除);S-cfc-178 契约 4F→0 转绿;浏览器 28 过+2 跳(admin 双节点 5/5)、两套 Jest 零漂移、线上 API 25过/7跳/0红、根级 7/16(B-36第72轮);全站 3987 例/3918 过=98.27%(剔 skip 98.89%),红 56→44,G1 转 ✅ 并升 0.27pct;CI 漏拦 6 陈旧 26 第 19 轮;B-177-1 第 10 轮复现并清理 4 残留进程;SRS 零变更用例零新增;已推送并通知研发)
  • 研发负责人巡检汇报 2026-11-13-0930(第150轮·错峰ce26ad68)

其他

  • POST /api/guide/plans/activate + PlanActivationService.activate + PlannerCertificationGuard),
  • 按执行要求「实测实现已存在(测试意外全绿)」交编排侧转测试登记,不私改 src/main。
  • 新增 TeacherPlanActivateContractTest(纯 Mockito/反射,无 Spring/DB/外部服务):
  • - 端点契约:POST /api/guide/plans/activate 映射存在
  • - 正常流:认证通过 teacher 激活 -> 200 方案已激活 + 拆任务
  • - 权限流:非 teacher 角色 403/无权限、未认证 teacher 403、admin 跳过认证闸门放行
  • - 异常流:缺 planId、IllegalStateException 状态守卫 -> 业务提示
  • - 幂等:已 active/generated 重复激活被状态守卫拒绝不重复拆任务;已有未取消任务返回 0
  • - 兼容:memberId 可登录 user 域正常激活
  • 验证:mvn -Dtest=TeacherPlanActivateContractTest test -> 15/15 全绿(0 失败)

测试

  • S-cfc-180 teacher.plan.activate 契约证据(端点映射/认证闸门/状态守卫/拆任务幂等 15 JUnit 全绿)

v1.0.2429 (2026-11-13)

测试

  • S-cfc-175 shop.coupon.apply 会话实跑复核——origin/cfclub@3fbe609eb 上 ShopCouponApplyContractTest 20/20 全绿(实现已由 S-cfc-167 落地,无需改动),闭环验证提交

文档

  • 5c3cff249 部署回执 testing(08:37:52 直部署成功 + 08:46:47 滚动至 006aa31d4,JAR/进程/健康核实通过)
  • 研发负责人巡检汇报 2026-11-13-0839(第137轮·错峰298dcf47)
  • 测试负责人第187轮闭环汇报 2026-11-13 0830(frontend-mobile 6/6→4/6 偏差 B-185 待研发确认;admin 5/5 + 两套 Jest 零漂移;langgraph/后端/API/根级承袭零源码变更;SRS 零变更用例零新增;已提交推送并通知研发)
  • 研发负责人第151轮(错峰03 08:25)闭环汇报——backfill 清 7 条 dispatched 死锁并甄别修正 6 条误录 sha + 纠正 S-cfc-179 backfill 误判(cherry-pick 5c3cff249 已推 origin/cfclub) + auto 重派 172/173
  • 9afaa6e46 团队邀请改造部署回执 testing(已含于 e03ec423a,JAR/进程/健康核实通过)

其他

  • S-cfc-179: Implement family.familyMembers.removeMember to reset stale family-derived membership cache

v1.0.2428 (2026-11-13)

文档

  • 测试负责人第186轮闭环汇报 2026-11-13 0808(同基线独立复核轮:六套件全部独立实跑:浏览器189+本机28过/2跳、fe jest 609/3/12、web 116/116、根级7/16(B-36第71轮)、线上API 25过/7跳/0红、langgraph@251 45/51红7→6改善(auto_tag用完配额自我恢复1例,intent 4例仍429/401环境红)、B-177-1本轮未复现观察+1;后端B-184-1结构性第3轮沿用R185同源码全量3111/3079/28+定向103例承袭零漂移第22次;全站3987例/3908过=98.02%环比+1过、G1由❌转✅;CI清单漏拦7陈旧26第18轮;SRS零变更用例零新增;台账刷新365控制器/1976handler/覆盖456、inventory 4434;已提交推送并通知研发)

v1.0.2427 (2026-11-12)

文档

  • 测试负责人第185轮闭环汇报 2026-11-13 0745(B-184-1 第2轮持续且更慢:全量8min仅13/368类≈1.6类/min,CPU40%仍慢证结构性根因,主动截断改同源码沿用+14红类定向复验双证;14红类103例23F+6E逐例复现零漂移第21次,MembershipPlanPurchase维持1F幂等分支未修;langgraph@251 44/51红2→7恶化(401 key ****ab12 invalid + 429 AgnesAI免费配额耗尽双因齐发,intent 4例复红全环境红)、B-177-1第8轮复现pid挂死;浏览器28/28+2跳、web116/116、fe609/3/12、根级7/16、API25过7跳0红、匿名6端点全401;全站3987例/3907过=97.99%环比-6过、G1由✅回落❌;CI清单漏拦7陈旧26第17轮;SRS零变更用例零新增;已通知研发)

v1.0.2426 (2026-11-12)

文档

  • R184 增量复验修正(S-cfc-176 合入后会员购买契约 7F→1F,全站 98.14%,G1 转 ✅)
  • 测试负责人第184轮闭环汇报 2026-11-13 0702(B-184-1 新登记:后端全量耗时 33:49→>2h 劣化 5.4×,39min 仅 76/368 类,本轮主动截断改「同源码沿用 R183 全量 + 14 红类定向复验」双证;14 红类 103 例 29F+6E 逐例复现,TaskReview 1F→2F 装置浮动;langgraph@251 49/51 红 3→2(ConnectError 环境红)、B-177-1 第7轮复现 pid 存活7m38s;浏览器28/28+2跳、API 25过7跳0红、web 116/116、fe 609/3/12、根级7/16、匿名6端点全401;全站 3987例/3907过=97.99% 环比+1过;CI清单漏拦7陈旧26第16轮;门禁不通过承袭;SRS零变更用例零新增;已通知研发)

其他

  • - 定向复跑 MembershipPlanPurchaseContractTest 7F→1F(6 例转绿);FamilyRemoveMemberContractTest 维持 4F
  • - 剩余 1 红 repeatPurchase_pendingOrderSamePlan_reuseNoDuplicate:201(NeverWantedButInvoked: paymentOrderMapper.insert)→ 幂等复用分支未生效(新增问题 7)
  • - 结论上调:后端红 34→28、全站 3987例/3913过=98.14%(剔 skip 98.76%)、G1 由 ❌ 转 ✅、G2 55→49
  • - SRS:API_REFERENCE §4.50.1 随实现变更,契约用例先于实现落地 → 用例零新增(G12 ✅)
  • - blockers:S-cfc-168 → S-cfc-168/176 部分闭环;R184 门禁行按增量后口径重写

v1.0.2425 (2026-11-12)

新功能

  • implement membership.plan.purchase (S-cfc-176)

其他

  • - MembershipService: add findReusablePendingOrder + toOrderDTO idempotency helpers in createOrder
  • - MembershipService: add markMembershipOrderFailed (idempotent) + rollbackOrderToPending in processPaymentCallback
  • - MembershipController: expose POST /api/membership/plan/purchase
  • - docs: API_REFERENCE section 4.50.1 + PROJECT-OVERVIEW note
  • Contract test MembershipPlanPurchaseContractTest: 6/7 green; boundary-2 (repeatPurchase_pendingOrderSamePlan_reuseNoDuplicate) is a test-side defect (stubs selectOne never but asserts insert never; conflicts with green MembershipRenewScP60ScP80ContractTest which requires insert on identical inputs).

v1.0.2424 (2026-11-12)

文档

  • 研发负责人巡检汇报 2026-11-13 0630(错峰轮次·第163轮·单文件入库)
  • 研发负责人巡检汇报 2026-11-13 0630(错峰轮次·第163轮·单文件入库)

v1.0.2423 (2026-11-12)

文档

  • 研发负责人巡检汇报 2026-11-13 0602(错峰轮次·含正文·单文件入库)
  • 研发负责人巡检汇报 2026-11-13 0602(错峰轮次·单文件入库)

v1.0.2422 (2026-11-12)

文档

  • 研发负责人闭环巡检汇报 2026-11-13 0556(选路器修复+派发176/179清零pending)

v1.0.2421 (2026-11-12)

文档

  • 测试负责人第183轮闭环汇报 2026-11-13 0545(R183 全量实跑轮第2次:窗口零源码变更但后端连续第2轮全量实测 3111例/3073过/34红/33:49,B-173-3 观察2/2达成 38:40→33:49;langgraph@251 48/51 红7→3 intent4转绿 B-142-2 观察6/13正向;TaskReview 2F→1F B-178-1 装置回落;浏览器28/28+2跳、API 25过7跳0红、web 116/116、fe 609/3/12、根级7/16;全站通过率97.84%→97.97%环比提升;门禁不通过承袭结构性预期RED+环境红收窄;SRS零变更用例零新增;已通知研发)

v1.0.2420 (2026-11-12)

文档

  • 研发负责人巡检汇报 2026-11-13-0437(接续 04:33 e80065c6d;派发 172/173 至 lan-189/204,3 任务因 local-lan-4090 429 黑窗+选路器缺陷受阻待 08:00)
  • 研发负责人第150轮(错峰03 04:33)闭环汇报——backfill 解除 15 条 dispatched 死锁(S-cfc-164~178)+ 修正 5 处误录 sha + auto 自动创建 S-cfc-179(removeMember GREEN),5 GREEN 因 429 黑窗留 pending 待 08:00;state RED0/YELLOW72/GREEN8/DONE15(95键);0 新增待裁决;主工作树 722 WIP 零触碰

v1.0.2419 (2026-11-12)

文档

  • 测试负责人第182轮闭环汇报 2026-11-13 0420(R182 全量实跑轮:窗口零变更但后端转全量实测 3111例/3072过/35红/38:40,B-173-3 耗时 01:07h→38:40 观察改善1/2;S-cfc-166/169 全量口径首证闭环 + S-cfc-178 FamilyRemoveMemberContractTest 首次入全量 4F 新 RED 入册(契约278ec2e91在链待实现);langgraph@251 44/51 红7持平 B-142-2 观察5/12 + 251无残留进程 B-177-1 观察5/2正向;浏览器28/28+2跳、API 25过7跳0红、web 116/116、fe 609/3/12、根级7/16;门禁不通过承袭结构性进账/新RED入册/环境持平;SRS零变更用例零新增;TaskReviewScP11 2F判B-178-1装置浮动非回归)

v1.0.2418 (2026-11-12)

文档

  • discovery 台账 evd——ProductOrderController 8/19->7/20
  • R181 闭环报告 + blockers 追加

其他

  • - 正向: S-cfc-166(4/4)/S-cfc-169(5/5) RED->GREEN 闭环
  • - 环境回摆: langgraph@251 红 2->7 (429/401, B-142-2 第 11 轮)
  • - 门禁: 不通过(承袭, 结构性进账/环境回摆)

v1.0.2417 (2026-11-12)

文档

  • 研发负责人第164轮闭环汇报 0120(9派发任务核验:174合入1915a3272/177落地808b603f2/178 RED契约278ec2e91在链,5验证型GREEN待mark-green,176在途;池空+changes0新键不建任务)

v1.0.2416 (2026-11-12)

其他

  • S-cfc-174: 实现 shop.order.queryRefund 退款状态查询
  • S-cfc-177: supplier.order.fulfill — ProductOrderService#redeem(SC-S-04) 契约落地

文档

  • 测试负责人第179轮闭环汇报 2026-11-13 0055(R179 采信轮:后端采信R178 3103例3059过40红01:07h,窗口零源码/SRS变更;langgraph@251 49/51红2全401环境型较R178 4→2正向改善B-142-2观察3/2;浏览器28/28+2跳API 25过7跳0红、web 116/116、fe 609/3/12、根级7/16、匿名4关键端点全401;门禁不通过承袭正向改善;SRS零变更用例无需更新;B-177-1残留进程清理观察3/2)

v1.0.2415 (2026-11-12)

测试

  • family.familyMembers.removeMember 契约级单测 RED - 移除成员后会员缓存重算缺失(4红/4绿)

v1.0.2414 (2026-11-12)

文档

  • 测试负责人第178轮闭环汇报 2026-11-13 0040(R178 全量实跑:3979例/3891过/97.79%剔skip98.41%,后端368类3103例3059过01:07h红40较R177+1F全为TaskReviewScP11反射装置浮动B-178-1非回归;langgraph@251 47/51红4全环境401+429双因;浏览器28/28+2跳、API 25过7跳0红、web 116/116、fe 609/3/12、根级7/16;门禁不通过承袭;SRS零变更用例无需更新;新登记B-178-1+B-173-3耗时恶化42m08s→01:07h)
  • 研发负责人第163轮闭环汇报 0010(派发3 GREEN/RED)

其他

  • S-cfc-175: shop.coupon.apply 验证报告 - 已完成 (20/20 Green)

v1.0.2413 (2026-11-12)

文档

  • 研发负责人第162轮闭环汇报 2349(派发2 GREEN)

v1.0.2412 (2026-11-12)

文档

  • 研发负责人 2320 人工轮汇报——覆盖度断层7键入池+会员双缺陷定位
  • sc-key-map 回填商城/会员/服务商域7个能力键映射(S-cfc-164~169+178)
  • R177 报告回填 §10 收尾核对(窗口内远端前进 d1c07b26e 仅 cfc-web 构建元数据,零功能源码免增量复验;推送 9bc9bcbd8 后 0/0)
  • 测试负责人第177轮闭环汇报 2026-11-12 2312(R177 全量实跑:3979例/3892过/97.81%剔skip98.43%,后端368类3103例3060过42m08s存量红零漂移第23次;langgraph@251 44→47回升4红全环境401;浏览器28/28+2跳、API 25过7跳0红、web 116/116、fe 609/3/12、根级7/16;门禁不通过承袭;SRS零变更用例无需更新;新登记B-177-1 pytest退出挂死+B-177-2网关502无退避)

其他

v1.0.2411 (2026-11-12)

文档

  • 研发负责人 22:03 轮汇报(自动化 298dcf47)— 63 YELLOW 60 IN_CHAIN/3 O22-exempt、8 RED 在途、池空稳态
  • 测试负责人第176轮闭环汇报 2026-11-12 2155(R176 快件实跑+采信:3979例/3889过/97.74%剔skip98.36%,langgraph@251 46→44环境恶化非回归;浏览器28/28+2跳、API 25过7跳0红、web 116/116、fe 609/3/12、根级7/16;门禁不通过承袭;SRS零变更用例无需更新;自处置清理251残留pytest 2组)

v1.0.2410 (2026-11-12)

文档

  • 测试负责人第175轮闭环汇报 2026-11-12 2120(R175 快件实跑+采信:3979例/3891过/97.79%剔skip98.41%,langgraph@251 48→46环境回摆非回归;浏览器28/28+2跳、API 25过7跳0红、web 116/116、fe 609/3/12、根级7/16;门禁不通过承袭;SRS零变更用例无需更新;B-126第8轮复现)

v1.0.2409 (2026-11-12)

文档

  • 测试负责人第174轮闭环汇报 2026-11-12 2046(R174 全量回归实跑:3979例/3893过/97.84%剔skip98.46%,存量红零漂移第20次;langgraph@251 46→48;后端耗时51:52→40:12;浏览器28/28+2跳、API 25过7跳0红、web 116/116、fe 609/3/12;门禁不通过承袭;派生用例+21入册SC241→244;251残留进程清理)

测试

  • 2026-11-12 需求变更派生用例入册(R174)

其他

  • - admin.md:补 SC-A-23 团队收益(team.referral.earnings.cf / team.invite.share)+ SC-A-24 财富中心贡献榜(family.earnings.admin.role / family.earnings.pool.toggle)三流用例,修 TC-A-23-E 编号占用冲突
  • - 2026-11-12-chat-invite-rework.md:新增 TC-X-23~31 系列(聊天仅会员可见 S1-1~S1-6 + 团队邀请 S2-1~S2-4 双归属/三道幂等闸门)
  • - TRACEABILITY-MATRIX.md:场景基线 241→244,R3/R6/R8 主表状态由 ❌ 改 ✅,补 §0.1 自动化维护纪律
  • - sc-key-map.md:SC-A-23/24/X-22 登记,基线 241→244
  • - 需求分析回链附录:三份需求变更点更新为已派生三流用例
  • 仅文档与测试台账,未动生产源码。待 R174 全量回归数据回填后再推远程。

v1.0.2408 (2026-11-12)

Bug 修复

  • 251 派发器增加 LOG 路径守卫(B-126/B-173 自处置:本机 env 注入会被 MSYS 改写为 Windows 路径导致远端日志恒缺失)

文档

  • 测试负责人第173轮闭环汇报 2026-11-12 2010(R173 后端由采信转全量实跑:3103例/3060过/98.61%,存量红零漂移第19次;langgraph@251 45→46;浏览器28/28+2跳、API 32例0红、web 116/116、fe 609/3/12;门禁不通过承袭;CI漏拦5→8类;新登记B-173-1/2/3)

v1.0.2407 (2026-11-12)

文档

  • 测试负责人第172轮闭环汇报 2026-11-12 1850(R172 全量回归+定向实跑:新增46契约例 30绿/16预期RED(S-cfc-165/167 首验全绿、166/168/169 待实现);langgraph@251 45/51 环境红1→6(429/401);浏览器28/28、API 32例0红、cfc-web 116/116、cfc-frontend 609/3/12;门禁不通过承袭;blockers 新登记3项+恶化1项)

v1.0.2406 (2026-11-12)

文档

  • O-18 终裁生效(按主理人指令)——派发自动链断裂三项诉求因 hub→skill 迁移(T1-T8)全失效/闭环:①否决重建 hub 计划任务(RETIRED.md 停用/w watchdog 不恢复/禁 setup_scheduled_tasks);②diet 2 键无需派发(uiRework/participantSelect 已 YELLOW=yellow_sha 1bad02ec1/e3b5ba9c7 IN CHAIN✓,O-7 非实现型RED,后续新键唯一入口=--add-task+--auto T5 直连);③8 僵尸 dispatched 已收口(账本 dispatched0/pending0,EVD-8/referral-T* 已清理回填,S-cfc-60/68/70/71 全 done,EVD-8 归测试侧补 e2e);连带工作区既定重排:O-17 §6 四项拍板标注 + O-22/23/25 已生效项移除,O-18 状态列=已裁决生效

v1.0.2405 (2026-11-12)

文档

  • 研发负责人第161轮闭环汇报 2026-11-12 1646(错峰轮:RED契约批次8任务6契约已合入主线 163/165/166/167/168/169 IN CHAIN,166/168/169真红待实现;S-cfc-162 wedged~5h无证据待恢复、S-cfc-164新建观察;--auto 0新派发 池空T6 REQUEUE-SKIP-O22零复发;状态机94键 RED8/YELLOW63/GREEN8/DONE15零流转;部署 open13/confirmed77 未收口 O-24归测试侧;--changes 0新键 0 add-task;SC 15/241无漂移;主工作树717处他人WIP零接触单文件入库)

v1.0.2404 (2026-11-12)

其他

  • S-cfc-168: membership.plan.purchase 契约 RED 测试(SC-P-58 购买会员/套餐)
  • - 正常流: MembershipService#purchasePlan 契约方法 + POST /api/membership/plan/purchase 端点存在性
  • - 边界流: 重复购买幂等(有效会员拦截 no-new-order / 待支付订单复用 no-dup-insert)
  • + markMembershipOrderFailed 失败回滚入口 + 回调开通失败订单状态须回滚(不留 paid 半态)
  • - 权限流: familyId=null 购买入口 fail-fast 拒绝
  • 预期红 7/7:契约入口未落地、createOrder 无幂等守卫、
  • processPaymentCallback 失败后订单停留 paid(半态不回滚)。
  • 契约溯源:SC-P-56 订单查询/退款(tests/user-scenarios/应用场景总览.md)
  • + API_REFERENCE.md §4.8 商品与订单(/api/product/order/my、/refund/apply)。
  • 反射结构契约(纯反射、无 Spring/DB/外部服务,沿用同批 RED 测试风格):
  • - 正常流:ProductOrderService 应声明 queryRefund(orderNo,userId) 查询入口
  • - 控制层:ProductOrderController 应暴露 POST /refund/query 路由
  • - 边界流:queryRefund 入参应为 (orderNo,userId) 二元组(买家归属作用域)
  • - 权限流:queryRefund 应按买家归属校验(横向越权被拒,TC-P-56-P)
  • RED 结果:4 测试全红(queryRefund 方法 / /refund/query 路由均未落地)。
  • GREEN 指引:实现 queryRefund 入口 + /refund/query 路由后自动转绿。

测试

  • S-cfc-169 supplier.order.fulfill RED 契约测试 — SC-S-04 到店核销未落地(pickupCode 生成未消费,缺 redeem 入口)
  • S-cfc-167 shop.coupon.apply 契约级单测 —— 实现已链上 origin/cfclub(CouponController /api/coupon/apply + CouponService.apply),20 契约用例全绿,转测试登记
  • shop.order.create 特价下单分支契约测试 - 实现已合入 origin/cfclub(10/10 绿,非红)
  • RED 契约单测 shop.order.queryRefund 退款状态查询

v1.0.2403 (2026-11-12)

文档

  • 研发负责人汇报 2026-11-12 16:22 — 补齐 8 RED 契约任务派发(162-169) + 修复状态机/账本漂移(S-cfc-169)

v1.0.2402 (2026-11-12)

其他

  • - langgraph@251 50/51(唯一红 test_auto_tag_content_relevance,上游 429/401 环境型非回归);B-142-2 风向改善(观察 1/2)
  • - 浏览器 28/28 + 2 skip(189 admin 5/5 第12轮绿 + 本机 fe6/shop4/health13);API 层 32 例 25过/7跳/0红
  • - 全量 3945/3865 = 98.00%(剔 skip 98.91%);门禁不通过(承袭,正向改善);零新缺陷
  • - 交付:report-test-R171 / automation-run-R171 / notice-R171 研发通知 / blockers R171 段

v1.0.2402 (2026-11-12)

文档

  • R170 报告回填推送证据 sha e4adf8f2a

其他

  • - 新增线上 API 非功能层 32 例(25 过 / 7 跳 / 0 红):冒烟 + 安全 + 性能兼容 + 追溯契约
  • - 修正 3 处用例自身缺陷:
  • * TC-A-N05 探针错(拿登录接口当特权入口)→ /api/admin/families/overview
  • * TC-P-N11 路径错(/api/assessment → /api/health/report/upload)+ 用 HTTP 码判业务拒绝 → 改 code≠200
  • * TC-P-N02/X-N01 未随 S-cfc-163 会员门控更新 → 假红转显式 skip(不假绿)
  • - 新发现 B-170-1:DatabaseInitializer:2261 approved_count 回填 SQL 恒失败(28/28 上下文)
  • - 追溯矩阵新增 §10 锚点双向核对:76 命中 / 85 孤儿 / 291 空转(G9 20.7%)
  • - 全量 3933 / 3861 = 98.17%(剔 skip 98.80%);门禁:不通过(承袭)
  • - 归档游离 R168 run 记录 + traceability-p94-p95-c26.spec.js(B-162-1 类)

v1.0.2401 (2026-11-12)

其他

  • - S-cfc-147 DanAssessmentRecordCreateContractTest 4红->6/6 闭环
  • - S-cfc-151 TaskReviewScP11ContractTest 2红->1红 收窄
  • - 本轮需求变更对齐资产首验全绿:S-cfc-162(团队邀请 6/6)+ S-cfc-163(聊天仅会员 6/6 + AIChatControllerGateTest 18/18)
  • - langgraph@251 47/4 -> 48/3(红 3 全为 AgnesAI 429 环境限流)
  • - admin-desktop@189 首轮即 5/5 EXIT=0(B-153-1 维持第 9 轮,B-167-1 观察 2/3)
  • - 通过率 98.23% -> 98.38%(3901 例 / 3838 过 / 45 红 / 18 跳)
  • - 交付:R169 报告 + 研发通知 + automation-run 记录 + blockers R169 段
  • - 测试结果较 R167 有变化,按规则 commit 并 push origin/cfclub

v1.0.2401 (2026-11-12)

其他

  • S-cfc-163: 实测全绿,后端已于前序 merge 9e1fc2f25 实现 chat.entry.memberGate 契约(AC-1/2/3 条款),无需代码改动

v1.0.2400 (2026-11-12)

文档

  • 研发负责人第149轮闭环汇报 2026-11-12 1200(稳态延续轮:池空T6第33轮零派发;S-cfc-162/163契约RED在途lan-189/lan-204;--changes 0新键无add-task;--resume 0候选;--auto 幂等复核 REQUEUE-SKIP-O22 零复发+多键YELLOW✓自动待部署验证;状态机88键 RED2/YELLOW63/GREEN8/DONE15零流转;部署pending13/confirmed77未收口O-24归测试/部署侧;SC 15/241无漂移;主工作树715处他人WIP零接触单文件入库)

测试

  • service.role.applyBindInvite 契约登记测试(行为级 Mockito,6/6 绿——实现已链上 9afaa6e46,转测试登记)

Bug 修复

  • 收敛 P2 幂等抛错误报循环 + P1 status 视图补绑入口(纯前端1文件)\n\nP2 幂等抛错误报循环收敛:后端已实际绑定成功(CF 已发)但响应在传输中丢失时,\n用户点「重试绑定」会命中后端 bindReferral:141 抛错式幂等「已绑定推荐人,不可修改」,\n前端 catch 误弹失败 modal、userRefBound 永远 false 无法收敛。\n在 bindUserReferral 两处失败出口(防御性非200兜底 + catch)加判定:\ne.message / bindRes.message 含「已绑定推荐人」→ 按实质成功收敛——置 userRefBound=true、\n清僵尸码 storage.refCode、toast「推荐人已绑定」、return,不弹失败 modal、不置 bindingRef 失败态\n(finally 仍归 false)。判定位置在 401 提前 return 之后、showBindRetryHint 之前,401 逻辑不动。\n匹配用 indexOf(后端文案带后缀「,不可修改」),禁止改后端。\n\nP1 status 视图补绑入口:checkExistingApply 命中已有记录(status 0/1/2) → showStatusView=true\n→ 表单隐藏,此前绑定失败无任何补绑入口。在 status-view 模板 action-buttons 之前新增:\n v-if="!userRefBound && inviteRefCode" 的 rebind-section,含「推荐人尚未绑定成功,请在网络稳定后补绑」\n 文案 + 「补绑推荐人」按钮(:disabled="bindingRef" 防连点)。\n铁律:@click 直连 bindUserReferral,绝不接 handleSubmit/doSubmit(表单隐藏 + 后端查重会拒)。\n样式沿用 status-tip 卡片 + .btn-reapply 尺寸与品牌渐变,无新增 emoji。\n\n自验:vue-template-compiler 模板编译 + acorn script parse 双 OK(FAIL=0);无可选链/CSS Grid/新增 emoji;\n仅改 1 文件。后端零改动。基于最新 origin/cfclub a0ecc6067,独立分支 feature/team-invite-debt-fix。

v1.0.2399 (2026-11-12)

文档

  • 研发负责人第148轮闭环汇报 2026-11-12 1145(T6续派轮:人工复核近1h提交识别两项需求变更dc5522d09——聊天仅会员可见+团队邀请改造,实现3d35ab714/9afaa6e46已链;零契约新建2键入RED派发成功2/2:S-cfc-162 service.role.applyBindInvite→lan-189、S-cfc-163 chat.entry.memberGate→lan-204;状态机86→88键RED2/YELLOW63/GREEN8/DONE15;SC 15/241无漂移;主工作树714处他人WIP零接触单文件入库)

v1.0.2398 (2026-11-12)

文档

  • 研发负责人第147轮汇报基线重锚 2026-11-12 1105(对齐 bc12d9a69 auto-bump 的 cfc-web 版本/changelog 变更,恢复被并发推送覆盖的 5 文件;汇报文件保持,单文件语义不变)
  • 研发负责人第147轮闭环汇报 2026-11-12 1105(稳态延续轮:互斥放行距146轮25min;池空第32轮零派发 dispatched0/pending0;状态机86键 RED0/YELLOW63/GREEN8/DONE15 零流转;--changes 0新键无add-task(O-7防假红);--resume 0候选;--auto 幂等推进多键YELLOW✓证据标注+自动部署验证派发,deploy_state open13/confirmed77(O-24 6旧>21h无回执);SC 15/241无漂移;主工作树713处他人WIP零接触单文件入库)

v1.0.2397 (2026-11-12)

文档

  • 2026-11-12 两项需求变更说明(聊天功能仅会员可见 + 团队邀请功能及流程改造,对齐合入 3d35ab714/9afaa6e46)

v1.0.2396 (2026-11-12)

文档

  • 研发负责人第146轮闭环汇报 2026-11-12 1033(稳态延续轮:互斥放行距145轮28min;池空第31轮零派发 dispatched0/pending0;状态机86键 RED0/YELLOW63/GREEN8/DONE15 零流转;--changes 0新键无add-task;--resume 0候选;--auto 0派发+REQUEUE-SKIP-O22 0复发;部署pending12/confirmed77;SC 15/241无漂移;主工作树710处他人WIP零接触单文件入库)
  • 研发负责人第146轮闭环汇报 2026-11-12 1040(稳态轮:实现侧收口 70/70 能力键 YELLOW+(63 YELLOW 全有 sha 在链)/0 新键/⏳0/--resume 0 候选;任务池 161done+1failed 清零;--auto 幂等推进:多键 YELLOW✓+testing 部署验证派发(新增 1f31f4b094=S-cfc-157 实现条目),部署未收口13=6旧(O-24)+6中+1新/confirmed77;SC 15/241 无飘移,226 待测试三类流证据;710 处他人 WIP 零触碰)

Bug 修复

  • 删 modal 虚假恢复承诺 + 同步过时注释(纯文案,零逻辑)
  • 用户级分销绑定资产一致性返工(仅前端1文件)

其他

  • 误导文案,合入前修掉。本轮只改文案与注释,不动任何逻辑闸门。
  • P1 删虚假恢复承诺:showBindRetryHint 的 modal content 删除「或从邀请链接重新进入」。
  • 核验实证该路径走不通——重进是新实例,onLoad 解析 refCode 后 checkExistingApply 命中
  • 已有 status=0 记录 → showStatusView=true → 表单 v-else 隐藏 → pending 态无补绑入口,
  • 走不到 handleSubmit→bindUserReferral。改为真实可达兜底:
  • 改前:申请已提交成功,但推荐人未绑定成功。请重试,或从邀请链接重新进入。
  • 改后:申请已提交成功,但推荐人绑定未成功。请点击「重试绑定」;若已离开本页,请联系邀请人或客服补绑。
  • 保留后端原文 serverMsg 前缀、保留「申请已提交成功」准确表述、保留 confirmText「重试绑定」
  • 及回调、不泛化「提交失败」、不丢后端具体原因。
  • 同步过时注释(非功能):绑定源已改用 this.inviteRefCode,getStorageSync('refCode') 仅残存
  • 于防错配说明注释。修正 :463/:479/:489/:507 处「保留 storage.refCode 以便重试」「失败绝不清码
  • 保证可重试/重新进入」等过时措辞——storage.refCode 已成僵尸字段(不参与绑定、清不清都不影响),
  • 可重试的真正保证是 this.inviteRefCode 组件字段未清 + userRefBound=false + bindingRef=false + modal 回调。
  • 未触碰(核验已 PASS 的资产闸门):doSubmit 返回值语义与唯一 return true 闸门、bindUserReferral
  • 三个调用点与 if(submitted) 前置、userRefBound/bindingRef 幂等防重入、removeStorageSync('refCode')
  • 仅成功分支、两级同源 this.inviteRefCode、openLoginSheet 透传、失败分支不清码、401 统一 reLaunch。
  • 自验:vue-template-compiler 模板编译 + acorn script parse 双 OK;diff 新增行全部为注释/文案,
  • 零逻辑代码改动;无可选链/CSS Grid/新增 emoji;仅改 1 文件。
  • 记录级 inviter_user_id 保持零副作用/强校验/三口径不变。本轮只堵资产一致性缺口。
  • P0 串行化: doSubmit 改为返回 boolean(仅 res.code==200 落库成功才 true);
  • handleSubmit(已登录) 与 onInviteLoginSuccess(浮层登录后) 两条路径同构,
  • 均 await doSubmit 确认成功后才串行 await bindUserReferral, 绝不并发;
  • 申请失败/邀请码无效/查重拒绝/网络失败 → doSubmit 返回 false → 不绑定、不发 CF;
  • 删除旧并发链 doSubmit().catch(function(){}) 与 bind().catch(function(){}), 不再有空 catch 吞失败。
  • P0 失败可恢复: removeStorageSync('refCode') 从并发块移入绑定成功(resolve 含 skipped)
  • 分支; 失败保留码 + userRefBound 保持 false; showBindRetryHint 弹 modal 承载后端
  • 具体 message(不覆盖 request toast) + 明确重试引导 + '重试绑定'就地补绑入口。
  • P0 防错配: 用户级绑定源改用组件字段 this.inviteRefCode(与记录级同源, onLoad 解析),
  • 不再读 uni.getStorageSync('refCode'); 码空不绑定; openLoginSheet 透传保持不变。
  • P1 幂等防重复发: userRefBound 成功/skipped 置 true, 整个流程(含 handleReapply/
  • handleAddRole 多次提交)至多成功绑定一次; 首次失败保持 false 以便重试补绑(那次未发资产);
  • 后端 CommissionService:140 已有推荐人直接抛为第二道幂等闸, 双重保证不重复发资产。
  • P1 修注释矛盾: onInviteLoginSuccess 旧注释'本页不重复调用 bindReferralIfNotSelf'
  • 与实际调用矛盾, 改为准确描述(就地浮层登录后主动补绑, 与 user-edit 路径互斥, 受幂等保护)。
  • 自验: vue-template-compiler 模板编译 + acorn script parse 双 OK; 无可选链/CSS Grid/新增 emoji;
  • 仅改 1 文件。CommissionService.bindReferral 幂等: :140 已有推荐人抛错, 走不到 :156 发资产。
  • 1. 两级归属并存(互不替代)
  • - 记录级: service_role_applications.inviter_user_id, 后端按 refCode 服务端
  • 反查 User.referral_code 写入, 拒绝前端直传 inviterUserId(防冒领)
  • - 用户级: users.referrerId, 沿用 App.vue→storage.refCode→bindReferralIfNotSelf
  • 链路; 就地浮层登录成功后显式消费一次, 保证推荐人=邀请人
  • 2. 注册判据=微信授权建号, 不引入短信验证码, 不碰 register-with-invite
  • 3. 分享直达现有 /pages/profile/service-role-apply?refCode=<码>, 不新建邀请页,
  • 不加邀请人头像/昵称展示
  • 后端三口径: ①无refCode正常受理(inviter_user_id=NULL) ②带码反查失败/自邀请
  • Result.error 显式拒绝不落库 ③带有效码写归属。记录级写入绝不调用
  • CommissionService.applyReferralSideEffects(不物化推荐树/directCount/F24 CF等)。
  • DDL: schema.sql 新部署建列+索引; DatabaseInitializer 迁移467 存量幂等补列+索引。
  • 前端: profile 两个邀请入口改透明 button open-type=share 覆盖, 页面级
  • onShareAppMessage 直达申请表并携带本人推广码(data+storage 双缓冲保证非空);
  • 申请页 onLoad 解析 refCode 存独立 key, 提交透传, 未登录就地浮层登录后续提交。
  • 改动 8 文件: 后端 5 / 前端 2 / API_REFERENCE 1。

新功能

  • 团队邀请两级归属 + 分享直达服务角色申请表

v1.0.2395 (2026-11-12)

文档

  • 研发负责人第145轮闭环汇报 2026-11-12 1005(S-cfc-157 dan.assessment.recordCreate 实现收口:核验 worktree task/S-cfc-157 分支 69ff26a7f+d8969ea6f(25行最终版三契约守卫,4红→0失败全绿)已推 origin 未合主线→双父 merge 提交 1f31f4b09 合入 diff 仅1文件M;回填 state.json yellow_sha + tasks.json done,任务池彻底清零 done161+failed1+dispatched0+pending0;状态机86键 RED0/YELLOW63(63/63有sha)/GREEN8/DONE15;--changes 0新键;--resume 0候选;部署pending12/confirmed77;SC 15/241无漂移)

新功能

  • dan.assessment.recordCreate 契约守卫使绿
  • S-cfc-157 dan.assessment.recordCreate 创建记录契约守卫转绿

其他

  • 由 GlobalExceptionHandler 映射 400,绝不落库):
  • 1. 必填参数守卫:materialId / memberId 为空拒绝
  • 2. 材料有效性:materialId 须指向存在且启用的测评材料(经 baseMapper)
  • 3. 成员-家庭归属:memberId 须属于 familyId,防跨家庭越权(参照 SC-T-13)
  • DanAssessmentRecordCreateContractTest 结果:6 tests,4 失败(3 边界 + 1 权限)→ 0 失败全绿。
  • - memberId/materialId 非空必填守卫(拒绝 null 字段落库)
  • - 材料存在且启用校验(经 baseMapper)
  • - 成员-家庭归属校验(经 familyMemberMapper,防跨家庭越权,参照 SC-T-13)
  • DanAssessmentRecordCreateContractTest 6/6 绿(红 4 例 → 0),无回归。

v1.0.2394 (2026-11-12)

文档

  • R167 报告回填提交证据 edb8af738
  • 研发负责人第140轮闭环汇报 2026-11-12 0918(错峰03:池空T6第29轮零派发;状态机76键 RED0/YELLOW63/GREEN8/DONE15 零漂移;S-cfc-152/156/159 已 O-22 归档 done、S-cfc-157 dan.assessment.recordCreate 唯一真RED在途~44min无实现提交;11 个 yellow_sha 全 IN CHAIN;deploy pending12/confirmed77 未收口6归O-24;--changes 0新键无add-task;--resume 0候选;709处他人WIP零触碰;O-1~O-25 无新增待裁决)

测试

  • 测试负责人全站巡检汇报——B-142-1 admin鉴权门闭环(6端点全401)+langgraph 41→47回升+后端361类3045例98.95%零漂移第15次+CI漏拦红类扩大至6类

v1.0.2393 (2026-11-12)

文档

  • 研发负责人第144轮闭环汇报 2026-11-12 0846 v3(补录 S-cfc-156 health.report.detail O-22 归档:会话回执 1f6004b68 契约13/13全绿实现已覆盖无代码修改;契约批次 wedged 回收 3/4 完成(152/156/159 实现已覆盖归档),仅 S-cfc-157 dan.assessment.recordCreate 真RED在途;任务池 done160+dispatched1+failed1;yellow_sha 空键交测试侧 mark-green 校验)
  • 研发负责人第144轮闭环汇报 2026-11-12 0846 v2(补录 O-22 归档:S-cfc-152 admin.article.list 回执 7e03ffccb 契约6/6全绿实现在链c3e32460a、S-cfc-159 task.task.create 回执 50c5a68fe 契约7/7+14/14全绿实现已覆盖,两键实现早已在链无src/main改动按O-22键级已实现定论归档done,tasks.json已备份;剩2个在途S-cfc-156/157待实现产出;yellow_sha回填无自动入口但mark-green不查验可交测试侧)

v1.0.2392 (2026-11-12)

文档

  • S-cfc-156 health.report.detail implementation verified green
  • S-cfc-152 admin.article.list 契约已覆盖验证回执——AdminArticleListContractTest 6/6 全绿(实跑),AdminArticleController.list + ArticleService.getAdminList 实现在链(c3e32460a),无 RED 断言无实现缺口,0 处 src/main 改动,供编排侧 O-16 先例回填 yellow_sha
  • 研发负责人第144轮闭环汇报 2026-11-12 0846(稳态延续:互斥09min合法独立执行;--auto 池空无新派发;4个GREEN在途S-cfc-152/156/157/159为143轮08:36 requeue重派后执行窗口内无git产出待下轮核验;状态机86键RED0/YELLOW63/GREEN8/DONE15零流转;任务池162=done157+dispatched4+failed1 pending0;部署pending56=done44+open12(open含6项19h+归O-24);--changes 0新键;--resume 0候选;--inspect 5节点在线busy=1/1/0/2/0配额余8~10;SC 15/241无漂移;主工作树708处他人WIP零接触单文件入库)
  • S-cfc-159 task.task.create 使绿验证——红测试实测全绿(7/7+14/14)实现已覆盖,无 src/main 改动,请编排侧登记覆盖并归档

其他

  • (HealthReportController.getReportDetail + HealthReportService.getReportDetail
  • already shipped in commit 94af2ff1b). No production/test source change needed;
  • this commit is the closure evidence for the TDD-GREEN task S-cfc-156.

v1.0.2391 (2026-11-12)

文档

  • 研发负责人第143轮闭环汇报 2026-11-12 0836(wedged回收重派轮:4个GREEN在途任务S-cfc-152/156/157/159 06:17派发~120min无git产出达08:15预案阈值→探活4会话outcome=succeeded无实现提交→requeue重派lan-189/lan-204/mes-local-45278;local-lan-4090模型链429全冷却至11-13 08:00致2次选路派发失败已绕过;状态机RED0/YELLOW63/GREEN8/DONE15;任务池162=done157+dispatched4+failed1;部署pending56/confirmed77;--changes 0新键;--resume 0候选;SC 15/241无漂移;主工作树707处他人WIP零接触单文件入库)

v1.0.2390 (2026-11-12)

测试

  • 测试负责人全站巡检汇报——契约批次S-cfc-143/144/145/148/150共11个预期RED经研发5修复全部转绿(82绿/7红,本轮最大正向)+ langgraph环境红8→10波动 + 后端源码变更轮全量实跑3078例98.93%零新增红

文档

  • 研发负责人第142轮闭环汇报 2026-11-12 0807(稳态延续+4在途wedged观察:S-cfc-152/156/157/159 06:17派发~110min无git产出达阈值,08:15窗口回收预案;状态机RED0/YELLOW63/GREEN8/DONE15;任务池done157+dispatched4+failed1;部署pending12未收口(6旧O-24归部署侧+6新在途<1h);--changes 0新键;--resume 0候选;模型全链无冷却;SC 15/241无漂移;主工作树706处他人WIP零接触单文件入库;研发实现侧目标达成70/70键YELLOW+ SRS/设计/241SC端点0缺口)

v1.0.2389 (2026-11-12)

文档

  • 研发负责人第141轮闭环汇报 2026-11-12 0755(稳态延续+4在途wedged观察:S-cfc-152/156/157/159 06:17派发96min无git产出达阈值,节点探测受限lan-204拒连,08:15后探活nudge/重派预案;状态机RED0/YELLOW63/GREEN8/DONE15;任务池done157+dispatched4+failed1;部署pending12未收口(6旧O-24归部署侧+6新在途<1h);--changes 0新键;--resume 0候选;模型全链无冷却;SC 15/241无漂移;主工作树705处他人WIP零接触单文件入库)

v1.0.2388 (2026-11-11)

文档

  • 研发负责人巡检汇报 2026-11-12 0743轮(池空·验证瓶颈)
  • 研发负责人第139轮闭环汇报 2026-11-12 0729(错峰03稳态复核:零派发,S-cfc-152/156/157/159 四实现在途无提交,63 YELLOW 待测试 mark-green,12 条部署 pending 归部署侧,--changes 0 新键)
  • 部署回执 45b29e5f8 → testing(2026-11-12 07:26,实际线上 ceeecd9c7 为其后代,JAR 字节码含 /api/admin/ 收口 + create 角色守卫)

v1.0.2387 (2026-11-11)

文档

  • 研发负责人第138轮闭环汇报 2026-11-12 0715(契约批次GREEN实现第二批收口:O-16先例回填admin.article.create/task.task.complete/task.task.review 3键yellow_sha,45b29e5f8/12317d458/f139a05a2全IN CHAIN自动派发testing部署;任务池done154→157、dispatched10→4;状态机RED0/YELLOW63/GREEN8/DONE15;--changes 0新键;--resume 0候选;模型全链无冷却;SC 15/241无漂移;主工作树698处他人WIP零接触单文件入库)

v1.0.2386 (2026-11-11)

新功能

  • task.task.review 权限流补全使绿——TaskController.reviewTask 增加 @RequestAttribute userId 身份参数(有身份走 3 参服务重载校验审批人归属家庭/parent·admin,无身份退 2 参兼容入口);TaskService 新增 reviewTask(Long,Long,TaskReviewDTO) + isQualifiedReviewer 归属校验 + 抽取 applyReviewDecision,2 参入口语义保持。契约 TaskReviewScP11ContractTest 8 例 3红→1红(权限流-1/-2 转绿;权限流-3 与正常流-1 同款 mock 断言相反结果,登记测试侧缺陷)。
  • admin.article.create RED转GREEN——JwtInterceptor 收口 /api/admin/ 前缀 + create 增加 admin 角色守卫

文档

  • 研发负责人闭环巡检汇报 2026-11-12 06:52(第137轮·稳态)
  • 研发负责人巡检汇报 2026-11-12 + 测试台账刷新(4226 用例/执行状态待回写)
  • 部署回执 3b90e26d6 → testing(2026-11-12 06:47,实际线上 b0f40676f 为其后代,JAR 字节码含 reportType 校验)

其他

  • - JwtInterceptor.LOGIN_REQUIRED_PATHS 追加 /api/admin/(B-142-1 整族鉴权门;/api/admin-auth/* 仍走 PUBLIC_PATHS)
  • - AdminArticleController#create 增加 @RequestAttribute("role") 并拒绝非 admin(参照 #move 惯例)
  • - 验证:AdminArticleCreateContractTest 6/6 绿;JwtInterceptor 相关 69/69 绿;AdminArticleListContractTest 6/6、AdminReferralContractTest 16/16 无回归

v1.0.2385 (2026-11-11)

文档

  • 研发负责人第136轮闭环汇报 2026-11-12 0636(GREEN实现首轮回执收口3/10:O-16先例回填admin.article.audit/health.report.create/dan.assessment.resultRecord 3键yellow_sha,a79b26640/3b90e26d6/c36d6515b全IN CHAIN;任务池done151→154、dispatched10→7;状态机RED0/YELLOW63无sha剩7在途/GREEN8/DONE15;部署open6归测试侧confirmed77;--changes 0新键;SC 15/241无漂移;--resume 0候选;单文件入库零接触)
  • 研发负责人第135轮闭环汇报 2026-11-12 0630(RED契约10/10转YELLOW+派发GREEN实现S-cfc-152~161:backfill闭环胶水收敛dispatched死锁+修正4条契约commit误录sha;状态机RED0/YELLOW63/GREEN8/DONE15;任务池162=done151+dispatched10+failed1;部署open6归测试侧;--changes 0新键;SC 15/241无漂移;主工作树3482处他人WIP零接触单文件入库)

Bug 修复

  • task.task.complete 使绿 - completeTask 增加 deadline 超期守卫(TC-C-02-E)超期提交被拒,不发奖不落库
  • admin.article.audit 权限流补全(B-142-1)使契约红单测转绿
  • health.report.create 使绿 - createReport reportType 取值校验(契约仅允许 physical_exam/gut_flora,拒绝空串/非法值,HealthReportCreateContractTest 2红/8绿→10绿)

其他

  • impl(S-cfc-158): dan.assessment.resultRecord 录入触发五维维度刷新(SC-T-30)与方案生成链(SC-T-07) 使 3 例契约测试全绿
  • - AdminArticleController#audit 增加 @RequestAttribute("role") 角色守卫,非 admin 返回「无权限」且不触达 service(与 /move 守卫惯例一致)
  • 契约:AdminArticleAuditContractTest 权限流-1/2/3 三红 → 全绿;正常流/边界流/service 状态机 9 例行为锁定不受影响。
  • - cfc-frontend 609/3/12、cfc-web 116/116 零漂移
  • - langgraph@251 51例=43过/8红(红10→8改善, 全环境401/429, 零代码回归)
  • - 契约批次定向 surefire 首验 11类96例=78绿/18红, 18红全部与研发声明预期RED吻合
  • - 后端 src 零变更 → 采信 R162 全量(353类/2974例/2945过/25红/4跳)
  • - 门禁: 承袭不通过(无恶化), 3914例 97.75% 通过率, 变化项正向 → 通知研发

测试

  • 测试负责人全站巡检汇报——langgraph 环境红 10→8 正向改善+契约批次 S-cfc-142~151 首验 96 例(78绿/18红全预期)

v1.0.2384 (2026-11-11)

文档

  • 研发负责人第134轮闭环汇报 2026-11-12 0601(契约RED批次10/10全量落地核验:上轮O-18重派的S-cfc-144/145/146/147/149/151 6/6全部产出契约推送并确认IN origin/cfclub——144=admin.article.audit权限流3红+行为锁定9绿(dbb80b12b)、145=health.report.create 2红/8绿(30caeba0f,Windows节点mvn首跑慢已收尾)、146=health.report.detail 13例全绿(0824ebcf8)、147=dan.assessment.recordCreate 4红2绿(459b35d87 rebase线性)、149=task.task.create 7例全绿(1ee56f5c6)、151=task.task.review SC-P-11 8例3红5绿(5526b953f,3轮并发push竞争后成功);契约批次10/10链上核验全✓(142/143/148/150上轮已定);新登记编排侧缺陷:tasks.json会话ID首轮派发少录1位致假404(ses_e337501 vs ses_e337b501)待修复;状态机86键零流转RED10/YELLOW53/GREEN8/DONE15;任务池done141+failed1+dispatched10;--changes 0新键(O-7/O-25);--resume 0候选;部署confirmed77/pending50 open6(19h+,O-24归测试/部署侧);SC 15/241无漂移;PortableGit溯源注入观察项持续;主工作树3464处他人WIP零接触单文件入库)
  • 第162轮测试负责人汇报——五节点全量实跑3818例3750过(98.25%)、langgraph 41/51红5→10(B-142-2升级P0:key 401+配额429双因)、后端353类25红(S-cfc-143预期RED3+未入库文件5)、门禁收紧不通过、零代码回归
  • 研发负责人第133轮闭环汇报 2026-11-12 0529(契约RED批次死锁处置+重派:S-cfc-144/145/146/147/149/151 首轮会话全failed卡dispatched——auto_advance因inflight跳过/auto_dispatch只挑pending/--resume跳过failed三方死锁,按O-18先例重置pending三批重派成功10/10在途;142/143/148/150契约已推(全绿/真RED fail3-6/2红1绿/1红11例)待测试mark-red;状态机86键 RED10/YELLOW53/GREEN8/DONE15零流转;任务池 done141+failed1+dispatched10;--changes 0新键不建任务(O-7/O-25归测试侧);--resume 0候选;--inspect 5节点健康busy1配额9~10剩余;部署 confirmed77/pending50 open6(19h+,O-24归测试/部署侧);SC 15/241无漂移;观察项:esign溯源PortableGit路径注入8任务确认再现待编排侧修复;主工作树3463处他人WIP零接触单文件入库)

测试

  • health.report.create 契约级单测 RED(reportType 取值校验缺口 2红/8绿,其余契约实现已落地)
  • S-cfc-147 dan.assessment.recordCreate 契约级单测(TDD-RED:必填守卫/材料有效性/成员-家庭归属三缺一未落地,预期4红2绿)
  • health.report.detail 契约级单测 — 正常流/异常流/内容契约 13 例(实现已存在,测试全绿)
  • 契约测试登记 task.task.create(POST /api/tasks/create)控制器层(S-cfc-149)
  • S-cfc-151 task.task.review 契约级单测(TDD-RED:SC-P-11 审核闭环正常/异常流钉住 + 权限流横向越权未拦截,预期 8 例 3 红 5 绿)
  • S-cfc-144 admin.article.audit 契约级单测(TDD-RED:权限流3红B-142-1 + 行为锁定9绿)

其他

  • @RequestAttribute userId + @RequestBody dto)+ 正常流(委托 taskService.createTask 返回
  • Result taskId)+ 异常流(校验异常向上传播,GlobalExceptionHandler → 400)+ 权限流说明
  • - 纯 Mockito + 反射,无 Spring/DB/外部服务(参考同批 TeamProfitHook/FamilyJoinValidationRules)
  • - 实测 GREEN 7/7:实现已存在(SC-P-10 f41da2779 已合入;编排报告 2026-11-12-04:42
  • 「契约已交付,mark-red 属测试侧」),按任务规则 #2 汇报转编排侧登记覆盖,不修改 src/main
  • v1.0.2383 (2026-11-11)

    测试

    • S-cfc-148 dan.assessment.resultRecord 契约级单测(TDD-RED:SC-T-07 方案生成链 / SC-T-30 五维维度变化两钩子未落地,预期2红1绿)
    • task.task.complete 契约级单测 RED — 正常/幂等/权限/控制器契约11例,超期提交被拒锚点1红

    文档

    • 研发负责人第129轮闭环汇报 2026-11-12 0442(池空稳态延续+RED契约回收核验:S-cfc-142契约全绿=实现已覆盖/admin.article.list已在链、S-cfc-143真RED fail3/6待登记派发;状态机86键 RED10/YELLOW53/GREEN8/DONE15零流转;任务池 done141+failed1+dispatched10 pending0;--changes 0新键(O-7)不建任务;53/53 YELLOW merge-base IN CHAIN;部署 confirmed77/open6(O-24归测试侧);SC 15/241无漂移;--resume 0候选;inspect 5节点健康配额8~10剩余;主工作树3462处他人WIP零接触单文件入库)
    • 研发负责人第134轮闭环巡检汇报(04:33) · 53/53 YELLOW IN CHAIN 核验+测试协同

    v1.0.2382 (2026-11-11)

    文档

    • 第133轮研发负责人汇报(池空稳态 + 测试侧10个RED在途)
    • 研发负责人第132轮闭环汇报 2026-11-12 0407(RED契约批次S-cfc-142~151 10/10在途核查:142已推fcd9117bf/143已推8e49e7e61锁行为fail3/6;状态机86键 RED10/YELLOW53/GREEN8/DONE15零流转;任务池 done141+failed1+dispatched10 pending0;--changes 0新键不建任务(O-7/O-18);--resume 0候选;inspect 5节点busy7配额余量充足;部署 confirmed77/open6(O-24归测试侧);SC 15/241无漂移;观察项:task.json溯源@PostMapping注入PortableGit路径串待编排侧复核;主工作树3459处他人WIP零接触单文件入库)
    • 研发负责人第118轮闭环汇报 2026-11-12 0404(RED契约批次S-cfc-142~151全量派发收尾 6→0 pending、10/10在途;S-cfc-142契约6例全绿已推fcd9117bf;状态机86键 RED10/YELLOW53/GREEN8/DONE15;部署 confirmed77/open6;SC 15/241 无漂移;主工作树3458处他人WIP零接触单文件入库)
    • 研发负责人第96轮闭环汇报 2026-11-12 0340(派发 S-cfc-144/145,45 YELLOW 实现验证推进)

    测试

    • RED contract test admin.article.create - permission flow gap (B-142-1) + create behavior lock (fail 3/6)
    • S-cfc-142 admin.article.list 契约级单测 —— 实现已落地(origin/cfclub 已含 list/getAdminList),6 契约用例全绿,转测试登记

    v1.0.2381 (2026-11-11)

    文档

    • 研发负责人第128轮闭环汇报 2026-11-12 0333(池空稳态延续+RED契约批次认领:状态机86键 RED10/YELLOW53/GREEN8/DONE15,RED 0→10=S-cfc-142~151 未覆盖控制器契约测试批次 03:27 入池 2 dispatched+8 pending red_sha全空归测试侧;任务池 done141+failed1+dispatched2+pending8=152;--changes 0新键不建任务(O-7/O-18);--resume 0候选;--inspect 5节点全idle配额9~10/节点0阻塞;部署 pending open6(17.6h+无回执,O-24归测试/部署侧)/confirmed77;SC 241行15/241无漂移;主工作树3339处他人WIP零接触单文件入库)

    v1.0.2380 (2026-11-11)

    文档

    • 研发负责人第132轮错峰巡检汇报 2026-11-12 0312(错峰03·池空稳态第31轮·状态机76键零流转 RED0/YELLOW53/GREEN8/DONE15;任务池 done141+failed1 dispatched0/pending0;--auto 实跑零派发 requeue 27键全 REQUEUE-SKIP-O22 保持 done 0复发(O-22/23维持);--changes 0新键不建任务(O-7/O-18);--resume 0候选;--inspect 5节点全idle配额0/10;部署 pending50 open6(静默~18h,O-24归测试/部署侧)/confirmed77 未新增;SC 15/241无漂移;主工作树3339处他人WIP零接触单文件入库)[重推:并入241d98753 CI bump]
    • 研发负责人第132轮错峰巡检汇报 2026-11-12 0312(错峰03·池空稳态第31轮·状态机76键零流转 RED0/YELLOW53/GREEN8/DONE15;任务池 done141+failed1 dispatched0/pending0;--auto 实跑零派发 requeue 27键全 REQUEUE-SKIP-O22 保持 done 0复发(O-22/23维持);--changes 0新键不建任务(O-7/O-18);--resume 0候选;--inspect 5节点全idle配额0/10;部署 pending50 open6(静默~18h,O-24归测试/部署侧)/confirmed77 未新增;SC 15/241无漂移;主工作树3339处他人WIP零接触单文件入库)

    v1.0.2379 (2026-11-11)

    文档

    • 研发负责人第131轮错峰巡检汇报 2026-11-12 0254(池空稳态第30轮·O-25终裁93d24759b已生效——sc-key-map接入派发池职责归测试侧证据补建按批承接;状态机76键零流转 RED0/YELLOW53/GREEN8/DONE15;任务池 done141+failed1 dispatched0/pending0;--changes 0新键不建任务(O-7/O-18);--resume 0候选;--inspect 5节点全idle配额0/10;部署 pending open 6(17h+无回执,O-24归测试/部署侧)/confirmed77;SC 241行15/241无漂移;主工作树3338处他人WIP零接触单文件入库)

    测试

    • 第161轮测试负责人巡检——前端净增8通过(609/624),web116/116+浏览器28/28零漂移,langgraph承袭251(R160)因通道不可达,变更触发推送+通知

    v1.0.2378 (2026-11-11)

    文档

    • 研发负责人 2026-11-12 02:38 错峰巡检汇报(闭环)— 状态机76键稳态 RED0/YELLOW53(53 sha 全 IN CHAIN)/GREEN8/DONE15;任务池 done141+failed1 dispatched0/pending0(结构性真空第28轮);--auto --limit 2 实跑 0 派发(T6 池空) + O-22/O-23 requeue 机制 0 复发;--changes 0 新键不建任务(O-7/O-18);--resume --dry-run 0 候选(prod-etotem skip);部署 deploy_state pending open 6(09:10~09:58 派发 17h 无回执, O-24 归测试/部署侧)/confirmed 77,last_deployed 双账本差异如实记录;SC 台账 241 行无漂移、已跑通 15/241;O-25 终裁 93d24759b 已生效待 P1 派发池落地;主工作树 3337 处他人 WIP 零接触单文件入库)

    v1.0.2377 (2026-11-11)

    文档

    • 研发负责人 2026-11-12 02:32 错峰巡检汇报(闭环)— YELLOW53/GREEN8/DONE15,开发实现侧收口,瓶颈转测试侧

    v1.0.2376 (2026-11-11)

    测试

    • 第160轮测试负责人巡检——三节点回归 admin5/5+frontend6/6+health13/13+langgraph 51全执行46:5(429环境红改善,通过率79.1%→90.2%),251清理6个残留pytest僵尸(B-160-1闭环),变更感知0新键,R158差8例待核实消除

    文档

    • 研发负责人第127轮汇报 2026-11-12 0221(池空稳态延续第29轮)

    v1.0.2375 (2026-11-11)

    文档

    • 研发负责人 错峰03 第129轮汇报(池空稳态·O-25 主理人终裁落地)
    • O-25 主理人终裁生效——sc-key-map 台账接入编排器派发池(按 O-2 方案 A 映射/测试证据补建任务/分批渐进/P1); 错峰03 第129轮
    • 研发负责人第129轮错峰巡检汇报 2026-11-12 0145(池空稳态延续第29轮:状态机76键 RED0/YELLOW53(53 sha全IN CHAIN)/GREEN8/DONE15;任务池 done141+failed1 dispatched0/pending0;--changes 0新键不建任务(O-7/O-18);--resume 0候选;部署confirmed77/pending open6(16h+无回执,O-24已裁决归测试/部署侧);SC 15/241无漂移;fix(auth) 1d8bd5267强制登录修复带2契约测试非新键归测试侧契约核对批次(O-7先例);O-25待主理人终裁;主工作树3334处他人WIP零接触单文件入库)
    • R158测试负责人汇报补口径备注 + 研发通知(langgraph 43实跑/51收集差8例待核实,429环境红非回归)
    • 研发负责人错峰巡检轮汇报 2026-11-12 0130(池空稳态延续第27轮:状态机76键 RED0/YELLOW53(53 sha全IN CHAIN)/GREEN8/DONE15;任务池 done141+failed1 dispatched0/pending0;--changes 0新键不建任务(O-7/O-18);--resume 0候选;部署confirmed77/pending open6(16h+无回执,O-24已裁决归测试/部署侧);SC 15/241无漂移;会员门控3d35ab714合入核验归测试侧契约核对批次(O-7先例);主工作树3332处他人WIP零接触单文件入库)
    • 研发负责人第 错峰巡检轮 闭环汇报 2026-11-12 0120 (自动化54247bf9)

    测试

    • 第158轮测试负责人巡检——三节点回归 admin5/5+frontend6/6+langgraph 34:9(429环境红),变更感知0新键,台账刷新4269例

    Bug 修复

    • /api/growth/record|plan 强制登录,修复拦截器被 WebConfig 排除致 userId 缺失 500

    其他

    • 与 JwtInterceptor.PUBLIC_PATHS 中,拦截器对 growth 整族不执行/匿名放行,
    • GrowthRecordController.record/** 与 GrowthPlanController.plan/** 的
    • @RequestAttribute("userId") 永不注入,无 token 一律 500
    • "Missing request attribute userId"(线上小程序 /api/growth/record/list)。
    • 修复:
    • - WebConfig 移除 jwtInterceptor 对 /api/growth/** 的 exclude
    • - JwtInterceptor.PUBLIC_PATHS 改为精确公开子端点(recommendations/ai-classify/external-sync)
    • - LOGIN_REQUIRED_PATHS 增加 /api/growth/record/ 与 /api/growth/plan/(无 token 401,
    • 客户端 api.js 401→静默续期→重放自动恢复)
    • 测试:GrowthAuthContractTest(端到端 401)+ WebConfigGrowthExcludeRemovedTest(注册链,无 DB)

    v1.0.2374 (2026-11-11)

    文档

    • 研发负责人第126轮汇报 2026-11-12 0115(池空稳态延续:状态机76键 RED0/YELLOW53(53 sha全IN CHAIN)/GREEN8/DONE15;任务池 done141+failed1 dispatched0/pending0 结构性真空第28轮;--changes 0新键不建任务(O-7/O-18);--resume 0候选;部署confirmed77/pending open6(16h+无回执,O-24裁决归测试/部署侧执行);SC 15/241无漂移;会员门控3d35ab714实现合入已有契约测试在链归测试侧契约核对批次(O-7先例);pending.md O-1~O-18全已裁决,O-25待主理人终裁;主工作树多会话WIP零接触单文件入库)

    v1.0.2373 (2026-11-11)

    文档

    • 研发负责人第124轮汇报 2026-11-12 0059(状态机76键 RED0/YELLOW53/GREEN8/DONE15,池空0派发,实现vs需求0真实缺口)
    • 研发负责人第122轮汇报 2026-11-12 0040

    测试

    • 第156轮闭环——全量3790/3726=98.31%,后端实跑99.29%零漂移第14次,langgraph 3→10红恶化(429配额),会员门控补7例,门禁不通过

    其他

    • - langgraph@251:51例/41过/10红/126.67s(R155 48/3)→ 唯一恶化项;analyze1+auto_tag5+intent4,根因429免费额度耗尽+401记忆召回key失效,/health 200 → 环境红非代码回归
    • - 浏览器 28/28+2skip:189 admin 5/5(EXIT=0,spec blob 4703d73fb=本机)+本机 fe6/shop4/health13;dx 2 skip(404)
    • - 窗口内功能合入 3d35ab714(会员门控,前端10文件)→ 增量复验前端 624/609/3红(红例集合不变)+ 补 7 例 TC-MG-U01~U07(membershipGate 合入时零测试)
    • - 新增 B-156-1(nutrition_age_dosage 三重不一致:DDL 无 product_id 列却建该索引→34/34 上下文建表失败;实体 update_time 缺列;死注入)/ B-156-3(门控缺页级E2E);B-152-1/2 CI 双缺陷未修(漏拦3红类+26陈旧绿类)
    • - 门禁:G1 98.31%/G3/G4/G5/G6/G8/G10/G12 ✅;G2 46/G7 41-51/G9/G11/G14 ❌;G13 17 ⚠️ → 不通过(较R155收紧)
    • - 修 dispatch_251_pytest.cjs:改用 .venv/bin/python + 退出码先存变量再落盘(B-126 诱因)

    v1.0.2372 (2026-11-11)

    文档

    • 研发负责人第127轮闭环汇报 2026-11-12 0033(池空稳态延续第27轮:状态机76键 RED0/YELLOW53(53/53 sha本轮全量IN CHAIN)/GREEN8/DONE15;任务池 done141+failed1 dispatched0/pending0;--changes 0新键不建任务(O-7/O-18);--resume 0候选;部署confirmed77/pending open6(14h+无回执,O-24已裁决改派lan-189归测试/部署侧);SC 15/241无漂移;O-25先行裁决(sc-key-map→池打通:支持·分批渐进·证据补建任务形态)待主理人终裁;主工作树440处他人WIP零接触单文件入库)

    新功能

    • 聊天/消息类入口按有效会员隐藏(isActive 判定,不随运营开关)

    v1.0.2371 (2026-11-11)

    文档

    • 研发负责人错峰轮次汇报 2026-11-11 2342(池空稳态延续:状态机76键 RED0/YELLOW53(53 sha全IN CHAIN)/GREEN8/DONE15;任务池 done141+failed1 dispatched0/pending0 结构性真空第26轮;--changes 0新键不建任务(O-7/O-18);--resume 0候选;部署confirmed77/pending open6(0a01a0e8a×2/f6590c89f×2/a8cda0169/d9ed19ddfa 14h无回执待核实);SC 15/241无漂移;pending.md O-1~O-23全已裁决无新增,O-25建议(台账→池打通)23:37轮已提待终裁;主工作树440处他人WIP零接触单文件入库)
    • 研发负责人巡检汇报 2026-11-11 2337 轮(稳态确认+sc-key-map→池打通 O-25 建议)

    v1.0.2370 (2026-11-11)

    文档

    • 研发负责人第125轮闭环汇报 2026-11-11 2326(池空稳态延续:状态机76键 RED0/YELLOW53(53 sha全IN CHAIN)/GREEN8/DONE15 无漂移;任务池 done141+failed1 dispatched0/pending0 结构性真空第24轮;--changes 0新键不建任务(O-7/O-18);--resume 0候选(mes-local-45278不可达);部署confirmed77/pending open6(S-cfc-137/138/140/141/139 13.8h在途,O-24已裁决改派lan-189执行归测试/部署侧);SC 15/241无漂移;pending.md O-1~O-24全已裁决无新增;主工作树439处他人WIP零接触单文件入库)

    v1.0.2369 (2026-11-11)

    文档

    • 第155轮闭环——浏览器28/28(189 admin 5/5 + 本机 fe 6/shop 4/health 13)+langgraph 251实派51例48过3红(红例-1,EXIT=124未复现B-154-1观察1/2,B-142-2观察0/2)+后端/前端/管理端采信R154/R153(源码零变更)+SRS零变更G12合规;变化点langgraph 4红→3红改善+EXIT=0正常收尾触发push+通知研发

    v1.0.2368 (2026-11-11)

    文档

    • 研发负责人 错峰轮298dcf47 第123轮 汇报 2026-11-11 2301(池空稳态·53 YELLOW 全 IN CHAIN·O-24 落账)

    测试

    • 边界回归套件改名并补食材推荐变更发布说明

    其他

    v1.0.2367 (2026-11-11)

    文档

    • 研发负责人第124轮闭环汇报 2026-11-11 2200(池空稳态核验第26轮:状态机76键 RED0/YELLOW53(53 sha全IN CHAIN)/GREEN8/DONE15;任务池 pending0/dispatched0 结构性真空;--changes 0新键不建任务(O-7/O-18);--resume 0候选(mes-local-45278不可达WinError10061);部署confirmed77/pending open6(S-cfc-137/138/140/141/139实现sha全在链待回执);SC 15/241无漂移;pending.md O-1~O-23全已裁决无新增;主工作树436处他人WIP零接触单文件入库)
    • 第154轮闭环——后端采信R153强制实跑(347类/2946例/99.29%零漂移第12次)+langgraph 251实派51例47过4红(429/401,EXIT=124收尾挂起B-154-1新增)+浏览器28/28(189首轮即5/5)+fe617过602/web116/根级7过16红+全量3783/3725=98.47%; SRS零变更G12合规; 结果变化(98.49→98.47)触发push+通知研发

    v1.0.2366 (2026-11-11)

    文档

    • 研发负责人错峰轮次汇报 2026-11-11 2144(池空稳态延续:状态机76键 RED0/YELLOW53(53 sha全IN CHAIN)/GREEN8/DONE15;任务池 done141+failed1 dispatched0/pending0 结构性真空第25轮;--auto 0派发 requeue0复发;--resume 0候选;--changes 0新键不建任务(O-7/O-18);pending.md O-1~O-23全已裁决无新增;部署 pending6 在途待回执 confirmed77;主工作树436处他人WIP零接触单文件入库)

    v1.0.2365 (2026-11-11)

    文档

    • 第153轮闭环(补提交)——后端347类/2946例/99.29%零漂移第11次(39:42)+langgraph@251 48/51(红3=429/401)+前端617=602/3/12+管理端116/116+浏览器28/28+根级7/16; 全量3783/3726=98.49%; 新增B-153-1(189admin首轮U05偶发复验绿); 结论不通过(G2/G7/G9/G11)

    v1.0.2364 (2026-11-11)

    测试

    • 第152轮闭环——后端强制实跑55:56=347类/2946例/2925过/99.29%/17红(与R149零漂移第10次)+langgraph 251实派51例46过/5红(429+401)+浏览器28/28(189实派5/5 blob一致)+web116/fe617过602/根级7过16红+全量3783/3724=98.44%; 新增B-152-1~5(CI排除清单漏3红类必红/清单陈旧26绿类未解禁/@EnableScheduling测试期常驻/1a2b首猜92vs100/死用例迁移闭环+1绿); SRS零变更G12合规; 结果变化触发push+通知研发

    v1.0.2363 (2026-11-11)

    文档

    • 研发负责人错峰轮次汇报 2026-11-11 晚间(CFC 闭环)

    v1.0.2362 (2026-11-11)

    文档

    • 研发负责人第123轮闭环汇报 2026-11-11 1934(池空稳态延续:状态机76键 RED0/YELLOW53(53 sha全IN CHAIN)/GREEN8/DONE15;任务池 done141+failed1 dispatched0/pending0 结构性真空第23轮;--resume 0候选;--changes 0新键不建任务(O-7/O-18);pending.md O-1~O-23全已裁决无新增;SC 15/241 无漂移;部署 pending6 在途待回执 confirmed77;主工作树他人WIP零接触单文件入库)
    • 研发负责人第122轮闭环汇报 2026-11-11 1922(池空稳态:状态机76键 RED0/YELLOW53(53 sha全IN CHAIN)/GREEN8/DONE15;--auto 0派发;--resume 0候选;--changes 0新键不建任务(O-7/O-18);pending.md O-1~O-23全已裁决无新增;研发闭环目标(全部SRS/设计/用户场景实现)已达成,剩余=测试侧 mark-green 53 YELLOW+226 SC证据;主工作树433处他人WIP零接触单文件入库)

    v1.0.2361 (2026-11-11)

    测试

    • 第149轮闭环——后端强制实跑39:08=347类/2946例/2925过/99.29%/17红(与R148零漂移第9次)+langgraph 251实派51例48过/3红(B-74复燃:API key ****ab12 401+AgnesAI 429)+浏览器28/28(189实派5/5 blob一致)+web116/fe601过3红/根级7过16红+全量3782/3725=98.49%;SRS零变更G12合规;结果变化触发push+通知研发

    v1.0.2360 (2026-11-11)

    测试

    • 第148轮闭环——后端强制实跑51:57=347类/2946例/2925过/99.29%/17红(与R146零漂移第8次)+langgraph 251实派51例50过/1红ConnectError(B-142-2复验未过不销号)+浏览器28/28(189实派5/5 blob一致)+web116/fe601过3红/根级7过16红+全量3782/3727=98.55%;SRS零变更G12合规;新增B-148-1网关瞬抖502;结果变化触发push+通知研发

    v1.0.2359 (2026-11-11)

    文档

    • 研发负责人第108轮闭环汇报 2026-11-11 1712(池空稳态延续轮:状态机76键=RED0/YELLOW53(53有sha逐键全在链)/GREEN8/DONE15;任务池done141+failed1+dispatched0+pending0结构性真空第24轮;--auto实跑0派发(池空T6)+0 requeue复发(O-22/O-23稳态);--changes 0新键不建任务(O-7);--resume 0候选(mes-local-45278不可达WinError10061);部署confirmed77/pending open6(0a01a0e8a/f6590c89f/a8cda0169/d9ed19ddfa 09:10~09:58派发8h无回执待核实);SC 241唯一跑通15无漂移;pending.md O-1~O-23全已裁决无新增;主工作树433处他人WIP零接触单文件入库)

    v1.0.2358 (2026-11-11)

    文档

    • 研发负责人第119轮闭环巡检汇报 2026-11-11 1650 (研发目标=全部SRS/设计/用户场景实现; 池空0新派; R2满足)

    v1.0.2357 (2026-11-11)

    文档

    • 研发负责人第121轮闭环汇报 2026-11-11 1625(池空稳态延续轮:状态机76键=RED0/YELLOW53(53有sha全在链)/GREEN8/DONE15;任务池done141+failed1+dispatched0+pending0结构性真空第23轮;--auto实跑0派发(池空T6)+0 requeue复发(O-22/O-23稳态);--changes 0新键不建任务(O-7);--resume 0候选(mes-local-45278不可达WinError10061);部署confirmed77/a1ead33a1本轮收口+1/pending open6待回执;SC 241唯一跑通15无漂移;pending.md O-1~O-23全已裁决无新增;唯一增量=远端测试R146/R147后端2946例99.29%零回归第7次+langgraph首次全绿;主工作树431处他人WIP零接触单文件入库)
    • 研发负责人巡检汇报 2026-11-11 + TR-24 七键送测 (池空稳态)

    v1.0.2356 (2026-11-11)

    测试

    • 第147轮闭环——langgraph 251实派51例首次全绿(0红,B-142-2疑似销号待复验)+浏览器28/28(189实派5/5)+web116/fe601过3红/根级7过16红实跑+后端采信R146(347类/2946例/99.29%/17红零回归第7次)+全量3782/3728=98.57%;SRS零变更G12合规;结果变化触发push+通知研发

    文档

    • 研发负责人第120轮闭环汇报 2026-11-11 1603(池空稳态延续轮:状态机76键=RED0/YELLOW53(53有sha全在链)/GREEN8/DONE15;任务池done141+failed1+dispatched0+pending0结构性真空第22轮;--auto实跑0派发(池空T6)+0 requeue复发(O-22/O-23稳态);--changes 0新键不建任务(O-7);--resume 0候选且实证部署根因=mes-local-45278本机不可达WinError10061(4个testing部署在途6.9h无回执);部署confirmed77/pending open6(0a01a0e8a/f6590c89f/a8cda0169/d9ed19ddfa)+a1ead33a1已收口;唯一增量=远端测试R146(15:06,后端2946例99.29%零回归第6次+langgraph intent转绿);SC 241唯一跑通15无漂移;pending.md O-1~O-23全已裁决无新增;主工作树429处他人WIP零接触单文件入库)

    v1.0.2355 (2026-11-11)

    文档

    • 研发负责人第119轮闭环汇报 2026-11-11 1525(池空稳态延续轮:状态机76键=RED0/YELLOW53(53有sha全在链)/GREEN8/DONE15;任务池done141+failed1+dispatched0+pending0结构性真空第21轮;--auto实跑0派发(池空T6)+0 requeue复发(O-22/O-23稳态);--changes 0新键不建任务(O-7);--resume 0候选(mes-local-45278枚举失败WinError10061);部署confirmed77/pending open6(0a01a0e8a/f6590c89f/a8cda0169/d9ed19ddfa 四个实现09:10~09:58派发5.5h无回执待核实)+a1ead33a1已收口;唯一增量=测试R146(15:06,后端347类2946例99.29%零回归第6次+浏览器28/28+189实派5/5+langgraph 251实派51例49过/2红ConnectError上游,较R145的6红改善4例:intent转绿)+新增B-145-1挂账;SC 241唯一跑通15无漂移;pending.md O-1~O-23全已裁决无新增;主工作树他人WIP零接触单文件入库)

    v1.0.2354 (2026-11-11)

    测试

    • 第146轮闭环——后端强制实跑347类/2946例/99.29%(17红与R145逐类逐例一致,零回归第6次)+浏览器28/28+189实派5/5+langgraph 251实派51例49过/2红(ConnectError上游,较R145的6红改善4例:intent转绿,auto_tag 3→2)+全量3782/3726=98.52%;SRS零变更G12合规;结果变化触发push+通知研发

    v1.0.2353 (2026-11-11)

    文档

    • 研发负责人第118轮汇报 2026-11-11 1330(池空稳态延续轮:状态机76键=RED0/YELLOW53(53有sha全在链)/GREEN8/DONE15;任务池done141+failed1+dispatched0+pending0结构性真空第20轮;--auto实跑0派发(池空T6)+0 requeue复发(O-22/O-23稳态);--changes 0新键不建任务(O-7);--resume 0候选(mes-local-45278枚举失败WinError10061新观察);部署confirmed77/pending6/a1ead33a1已收口;唯一增量=测试R145(80dfa4526后端347类2946例99.29%零回归+浏览器28/28+189实派5/5+langgraph45过6红429额度耗尽+新增B-145-1建表SQL无效挂账);SC 241唯一跑通15无漂移;pending.md O-1~O-23全已裁决无新增;主工作树他人WIP零接触单文件入库)

    v1.0.2352 (2026-11-11)

    测试

    • 第145轮闭环——后端强制实跑347类/2946例/99.29%(17红与R142逐类逐例一致,零回归)+浏览器28/28+189节点恢复实派5/5(G10双节点,B-189撤销)+langgraph 251实派51例45过/6红(429额度耗尽,较R144改善1例)+全量3782/3722=98.41%;新增B-145-1(nutrition_age_dosage建表SQL无效);SRS零变更G12合规;结果变化触发push+通知研发

    文档

    • 研发负责人第107轮汇报 2026-11-11 1307(池空稳态延续轮:状态机76键=RED0/YELLOW53(53有sha全在链)/GREEN8/DONE15;任务池done141+failed1+dispatched0+pending0结构性真空第19轮;--auto实跑0派发(池空T6)+0 requeue复发(O-22/O-23稳态);--changes 0新键不建任务(O-7);--resume 0候选;部署a1ead33a1收口(远端回执7d3847e71已推origin/cfclub)confirmed76→77/pending open7→6/last=2e1e5d32e(tasks.json滞旧63cf7455a双账本差异);SC 241唯一跑通15无漂移;pending.md O-1~O-23全已裁决无新增;主工作树他人WIP零接触单文件入库)

    v1.0.2351 (2026-11-11)

    文档

    • 研发负责人第117轮汇报 2026-11-11 1236(池空稳态延续轮:状态机76键=RED0/YELLOW53(53有sha全在链)/GREEN8/DONE15;任务池done141+failed1+dispatched0+pending0彻底清零(S-cfc-139已由第106轮收口d9ed19ddf IN CHAIN);--changes 0新键不建任务(O-7);--resume 0候选;部署pending7在途待回执/confirmed76/last=2e1e5d32e;SC 241唯一跑通15无漂移;pending.md O-1~O-23全已裁决无新增;主工作树他人WIP零接触单文件入库)

    v1.0.2350 (2026-11-11)

    文档

    • 研发负责人5 第99轮汇报 2026-11-11 1223

    v1.0.2349 (2026-11-11)

    文档

    • 研发负责人错峰03第117轮闭环汇报 2026-11-11 1155(池空稳态复核轮:状态机76键=RED0/YELLOW53(53有sha全在链)/GREEN8/DONE15;任务池done141+failed1+dispatched0+pending0;--auto实跑0派发(池空T6)+0 requeue复发(O-22/O-23验收持续);--changes 0新键不建任务;--resume 2候选non-CFC不越权;部署pending7在途待回执(0a01a0e8x2/f6590c89fx2/a8cda0169/d9ed19ddf在途+a1ead33a1远端已回执7d3847e71本地未同步)/confirmed76/last=2e1e5d32e;SC 241唯一跑通15无漂移;pending.md O-1~O-23全已裁决无新增;主工作树3224WIP零接触单文件入库)

    测试

    • 第144轮闭环——浏览器28/28(本机单节点)+langgraph 251实派43例36过/7红(429免费额度耗尽B-142-2恶化,非代码回归)+cfc-web 116/116采样;后端/前端采信R143(347类/2946例/99.29%);结果变化触发push+通知研发

    v1.0.2348 (2026-11-11)

    测试

    • 第143轮闭环(零漂移)——浏览器28/28(189 admin 5/5)+langgraph 251实派43例40过/3红(auto_tag,ConnectError环境恶化B-142-2)+cfc-web 116/116采样;后端/前端采信R142(347类/2946例/99.29%);全量基线3782/3727=98.55%;结论⚠️有条件通过;G12 SRS零变更合规

    v1.0.2347 (2026-11-11)

    测试

    • 第142轮闭环——后端全量实跑347类/2946例/99.29%(17红=存量零回归,新增AdminFamilyStatsContractTest 9/9绿)+langgraph 251实派51/50/1(429环境红)+浏览器28/28+前端616/601过/3红(预期RED)+全量3782/3727=98.55% G1首次达标;结论⚠️有条件通过;新增B-142-1(admin整族鉴权门缺失,P2安全)/B-142-2(chat 120s超时劣化)

    v1.0.2346 (2026-11-11)

    文档

    • 研发负责人第106轮闭环汇报 2026-11-11 0925(S-cfc-139 实现合入轮:单文件入库合入 d9ed19ddf growth-main/index.vue 93增1删 + 回填 dayGroupView yellow_sha + S-cfc-139 归档 done;TR-28 送测复跑契约转绿;状态机76键=RED0/YELLOW53(53有sha)/GREEN8/DONE15;任务池done141+failed1+pending0;--auto 4 部署派发 testing(pub-iwintrue) pending open 6 待回执;--changes 0新键不建任务;--resume 1候选non-CFC不越权;主工作树3224WIP零接触单文件入库)

    v1.0.2345 (2026-11-11)

    新功能

    • S-cfc-139 growth.history.dayGroupView 实现使绿 - 成长主页按日期分组视图落地(单文件入库合入 cfclub 主线)

    文档

    • 部署回执 a1ead33a1 → testing (2026-11-11)

    v1.0.2344 (2026-11-11)

    测试

    • R141 增量复验——S-cfc-137/138/140/141 四个GREEN落地确认(前端47红→14红,后端2契约 9/9绿);残留14红=S-cfc-134+signature.consignee AC-R1/R2
    • 第141轮闭环——后端全量实跑346类/2937例/99.11%(22红=存量17零回归+新契约5)+langgraph 251实派51/46/5+浏览器28/28(189 admin 5/5)+全量3773/3665=97.14%;新增B-141-1(qna收集期中断)/B-141-2(LLM时延100s)/B-141-3(站点根502)

    文档

    • 研发负责人第116轮闭环汇报 2026-11-11 0835(实现收口轮:S-cfc-137/138/140/141 四键 O-16 先例回填 yellow_sha——0a01a0e8a healthPlanSummary 8红8绿/f6590c89f consigneeEditor 13红13绿/a1ead33a1 AsyncConfig 守护线程工厂/a8cda0169 AiGateway 429/401 传播,均 IN CHAIN 0不在链;状态机76键=RED0/YELLOW53(52有sha+1在途139)/GREEN8/DONE15;任务池done140+failed1+dispatched1(S-cfc-139在途08:04派发<40min不干预);--changes 0新键不建任务;--resume 1候选pub-iwintrue mes会话非CFC不越权;部署pending43全done/confirmed76/last=2e1e5d32e;SC 241唯一跑通15无漂移;主工作树3223WIP零接触单文件入库)

    v1.0.2343 (2026-11-11)

    新功能

    • langgraph.intent.errorPropagate - AiGateway 上游 429/401 必须传播,不得静默吞 null

    其他

    • 实现使绿:
    • - AiGateway.chat()/chatForAnalysis():RestClientException 且为 429/401(HttpClientErrorException)时
    • recordFailure() 后向上抛出(传播外部服务错误,供编排降级/告警),其他失败(熔断/超时/连接失败)
    • 仍按原语义返回 null 兜底
    • - 新增私有辅助 isExternalServiceError(RestClientException) 识别 429/401
    • - AiChatController.sendNutritionMessage:resp 为 null 时不再 NPE(chat 现在可能对 429/401 抛出,
    • 但 429/401 场景直接由 AiGateway 抛出;null 仍是「非外部服务错误」兜底,判空更稳妥)
    • - AIService.sendMessage:Javadoc 补充 429/401 传播契约说明(行为不变,429/401 仍直接抛出,
    • 由 Controller 层全局异常处理器处理;非外部服务错误仍走 emptyMap 兜底)
    • 测试结果:LangGraphErrorPropagateContractTest 3失败→5/5通过;AiGatewayTimeoutTest 1/1 通过(零回归)
    • 契约测试类:cfc-backend/src/test/java/com/etotem/cfc/unit/LangGraphErrorPropagateContractTest.java

    v1.0.2342 (2026-11-11)

    Bug 修复

    • AsyncConfig taskExecutor/taskScheduler 注入守护线程工厂(S-cfc-140 langgraph.pytest.exitHang)

    其他

    • unresponsive)时非守护线程不退出导致进程无法 exit,被外部 timeout 强杀 EXIT=124
    • (B-135-2 同源)。为 ThreadPoolTaskExecutor/ThreadPoolTaskScheduler 注入带
    • namePrefix 的守护线程工厂,JVM/测试进程在调用面挂起时仍可正常退出;
    • AiGateway 有界 connect/read 超时已配置(LangGraphExitHangContractTest 绿锚点),
    • 本提交仅改动线程工厂,不改超时逻辑。
    • 验证:mvn -q -Dtest=LangGraphExitHangContractTest test 4/4 通过(原 2 失败转绿),
    • mvn -q -DskipTests compile 通过。
    • S-cfc-140

    新功能

    • S-cfc-138 family.signature.consigneeEditor 实现使绿 - 交付 consignee-edit.vue 收件人编辑+手签名段组件(goSignature 经签名页跳转+signatureConfirm 回传写回,签名选填不拦截),signature.consignee-editor.test.js 13红13绿,routeIntegrate AC5.3 无回归
    • S-cfc-137 family.signature.healthPlanSummary 实现使绿 - health-plan-summary.vue 摘要组件落地(计划名/周期/项目/参与人 + confirm 回调),signature.healthPlanSummary.test.js 8红8绿

    文档

    • dev-lead round115 report - 5 RED contracts to YELLOW + dispatch S-cfc-137~141 GREEN

    v1.0.2341 (2026-11-11)

    文档

    • TR-27 送测——S-cfc-132~136 契约测试已合入在链,请测试侧 mark-red 登记 5 键 red_sha(登记后 --auto 自动续派 GREEN 实现)
    • 补充 JDBC 时区对齐注释(若 DB 时区变更需同步调整)

    Bug 修复

    • P1 返工 热力对比度死区/焦点环/五维智解耦/渐变令牌派生
    • 对齐家庭统计带口径/平台权限/silent 降级并显式时区
    • 补齐 Login/Dashboard 主色硬编码并跟随新主色重算热力色

    新功能

    • 新增家庭运营全局聚合统计接口并对接工作台统计带
    • 全系统主色加深至 AA 达标并解耦五维品牌色

    v1.0.2340 (2026-11-10)

    测试

    • 第140轮闭环——前端红16→47(+31预期RED·S-cfc-132~136新增契约)+浏览器28/28+web116/116+langgraph本地venv38/6(251派发不可用)+R140汇报与台账

    v1.0.2339 (2026-11-10)

    文档

    • 研发负责人第105轮闭环汇报 2026-11-11 0655(池空稳态延续:状态机76键=RED5/YELLOW48/GREEN8/DONE15;RED 5/5契约全量入链核验——9086c162e(S-cfc-133 merge)/a3585aa57(S-cfc-132)/d3fe276eb(S-cfc-134)/8f5fe923e(S-cfc-136)/c8d6b0d44(S-cfc-135)均IN CHAIN,red_sha登记属测试侧不代越;48YELLOW全在链0假黄;任务池done131+failed1+dispatched5(测试侧)+pending0;--auto实跑0派发+48 REQUEUE-SKIP-O22无复发;--changes 0新键不建任务;--resume 0候选;部署pending43全done/confirmed76/last_deployed63cf7455a;主工作树3078WIP零接触单文件入库)
    • 第114轮汇报补正——S-cfc-133 契约 9086c162e 已合入,RED 5/5 契约全交付在链(原稿 06:44 快照记为在途)
    • 研发负责人第114轮闭环汇报 2026-11-11 0644(池空稳态延续:状态机76键=RED5/YELLOW48/GREEN8/DONE15;测试侧RED契约4/5交付核验——a3585aa57(S-cfc-132前端8失败)/d3fe276eb(S-cfc-134前端10红)/8f5fe923e(S-cfc-136 langgraph)/c8d6b0d44(S-cfc-135 langgraph)均IN CHAIN,S-cfc-133在途,red_sha登记归测试侧不代越;48YELLOW全在链0假黄;任务池done131+failed1+dispatched5+pending0;--changes 0新键不建任务;--resume 0候选;5节点全idle配额10/10;部署pending43全done/confirmed76/last_deployed63cf7455a;SC 15/241无漂移;O-18/O-22/O-23已落账生效无新增待裁决)
    • 研发负责人第113轮闭环汇报 2026-11-11 0640(错峰巡检·ce26ad68续轮:P0派发空转根因修复——D1 merge_machine_defaults not cfg.get(f)误判显式false→机器级reuse_sessions=True覆盖(D1)/enumerate_sessions只读顶层createdAt漏嵌套time.created ms(D2)/find_idle_session年龄解析不识ms跳过过滤(D3)三叠bug致5任务三连发复用僵尸会话ses_e45f5f94假成功;修复后--auto重派S-cfc-132~136真投递5新会话5/5标题匹配token增长;项目级reuse_sessions:false已设;skill修改走O-6/O-9/O-16上报主理人复核;状态机76键RED5/YELLOW48/GREEN8/DONE15;任务池done131+failed1+dispatched5+pending0;SC 15/241无漂移;--resume 0候选;部署pending43全done/confirmed76/last_deployed63cf7455a)

    测试

    • S-cfc-134 growth.history.dayGroupView 契约级单测(TDD-RED 10红,待GREEN实现)
    • S-cfc-133 family.signature.consigneeEditor RED 契约测试 —— consignee-edit.vue 收件人编辑+手签名段未落地预期13红
    • S-cfc-132 契约测试 family.signature.healthPlanSummary - health-plan-summary.vue 摘要组件未落地(RED 8失败待GREEN)

    其他

    • - AC-1 状态/装配入口:dateGroups 系 data 字段 + groupByDate 系装配方法存在
    • - AC-2 行为级:空输入->空分组、同日合并(键 yyyy-MM-dd)、多日倒序、组内保留原记录、无效业务日期跳过
    • - AC-3 结构级:模板以分组集合 v-for 渲染、日期分组标题、分组空态分支
    • 溯源 SC-P-95 + 2026-11-06 需求变更B + B-135-1;design: cfc-frontend/pages/growth-main/index.vue
    • (dateGroups/groupedRecords/groupByDate,实现仅在 feature 分支未落地)。
    • jest 实测 10 失败 / 1 跳过 / 11 总,失败原因=契约缺口,符合预期 RED。

    v1.0.2338 (2026-11-10)

    测试

    • 第138轮闭环——后端全量实跑344类2928例99.28%(17红与R134零回归)+langgraph 41过/2红(429环境)+浏览器28/28(189实派5/5)+dx契约用例首次挂载(2例)+R138汇报与台账

    v1.0.2337 (2026-11-10)

    文档

    • 研发负责人第112轮闭环汇报 2026-11-11 0519(错峰巡检·自动化856ff81f:状态机76键=RED5/YELLOW48/GREEN8/DONE15,RED 5=S-cfc-132~136 测试侧契约RED派发lan-189在途且契约已入链但其red_sha仍未登记(属测试侧mark-red职责);48YELLOW全在链0假黄;任务池done131+failed1+dispatched5(测试侧)+pending0;--changes 0新键不建任务;--resume 0候选;5实例lan-189在途其余idle;部署pending43全done/confirmed76/last_deployed 63cf7455a;SC 15/241无漂移;O-18待主理人最终确认无新增待裁决)
    • 研发负责人第111轮闭环汇报 2026-11-11 0507(池空稳态延续:状态机76键=RED5/YELLOW48/GREEN8/DONE15,RED 5=S-cfc-132~136 测试侧契约RED派发lan-189在途;48YELLOW全在链0假黄;任务池done131+failed1+dispatched5(测试侧)+pending0;--changes 0新键不建任务;--resume 0候选;5节点全idle;部署pending43全done/confirmed76/last_deployed 63cf7455a;SC 15/241无漂移;O-18待主理人最终确认无新增待裁决)

    测试

    • S-cfc-136 契约测试 langgraph.intent.errorPropagate - 上游429/401必须传播不得吞null(RED 3失败)
    • S-cfc-135 契约测试 langgraph.pytest.exitHang - LLM 调用面线程必须 daemon(RED 2 失败)

    v1.0.2336 (2026-11-10)

    文档

    • 研发负责人第110轮闭环汇报 2026-11-11 0506(错峰03·稳态复核:状态机76键=RED5/YELLOW48/GREEN8/DONE15,S-cfc-132~136 RED 派发在途 lan-189;--auto 实跑 28 笔 REQUEUE-SKIP-O22 零复发=O-22/O-23 验收达成;池真空第9轮 0派发/0恢复/0新增键;部署 pending 43 全 done/confirmed 76/last_deployed 63cf7455a;O-18/O-22/O-23 落账已裁决生效)
    • 研发负责人第105轮闭环汇报 2026-11-11 0428(自动化ce26ad68·池真空第17轮续派:B-135-1前端16红3键+R135-2/B134-4 langgraph 2键共5任务入池派发lan-189,状态机76键,SC 15/241)

    测试

    • 第136轮闭环——G10双节点恢复(189 admin实派5/5)+langgraph 43例(38过/5红全429环境)+浏览器28/28零漂移+R136汇报与台账

    v1.0.2335 (2026-11-10)

    文档

    • 研发负责人第103轮闭环汇报 2026-11-11 0416(本自动化856ff81f·稳态复核:状态机71键=YELLOW48/GREEN8/DONE15/RED0、48YELLOW全在链、任务池真空第16轮、0派发/0恢复/0新增键、部署pending全done/confirmed76)

    v1.0.2334 (2026-11-10)

    文档

    • 研发负责人错峰派发轮闭环汇报 2026-11-11 0404(接续第110轮只读巡检;--auto 推进12 YELLOW 键至部署验证待确认;池空0新任务;43部署待--deploy-done收口)

    v1.0.2333 (2026-11-10)

    测试

    • R135 研交通知——前端16例预期RED待交付组件(S-cfc-30/52/53)+langgraph环境红4+口径校准43例
    • 第135轮闭环——前端3套件16例预期RED(S-cfc-30/52/53实现未交付,非回归)+langgraph口径校准43例(39过/4环境红)+浏览器28/28+R135汇报与台账
    • 第134轮闭环——装置类16红转绿(分佣/打标/成长档案/任务方案)+S-cfc-131标签契约10例+R134汇报与台账

    其他

    • - 前端jest 582总: 557过/16预期RED/9跳(healthPlan/consignee/growthHistory引用组件未交付)
    • - langgraph@251实派: 39过/4红/43例(7→4,全401/429环境,配额抖动改善);R134的51例口径当前无法复现(B-135-3)
    • - 浏览器28/28、web 116/116零漂移;根级黑盒7/16(B-36第34轮)
    • - G12达标: 食材推荐PRD 8.3指定DietRecommendationServiceTest已由181e830be合入(536行)
    • - 8个需求变更文档补录场景回链附录

    文档

    • 研发负责人第110轮闭环汇报 2026-11-11 0355(池空稳态延续:RED清零/YELLOW48/GREEN8/DONE15、48YELLOW全在链、任务池done131+failed1彻底空、SC 15/241、O-23已落地无新待裁决)
    • 研发负责人第109轮闭环汇报 2026-11-11 0345——O-23边界补强落地(S-cfc-131 requeue误复发修复:键级校验落空二次确认rec.yellow_sha=6e9a511e2,28笔requeue_reverted全保护,--auto实跑0 requeue)+RED清零/YELLOW48/GREEN8/DONE15、部署pending0/confirmed76、SC 15/241

    v1.0.2332 (2026-11-10)

    文档

    • 研发负责人错峰轮闭环汇报 2026-11-11 0321(自动化 ce26ad68)— S-cfc-131收口 listByTag RED→YELLOW(yellow_sha=6e9a511e2,契约测试7f97e9f53全绿)、48YELLOW全在链、部署pending0/confirmed76、SC 15/241

    v1.0.2331 (2026-11-10)

    文档

    • 研发负责人第102轮闭环汇报 2026-11-11 0252(自动化 856ff81f)— S-cfc-131契约测试送达7f97e9f53全绿待mark-red、47YELLOW全在链、部署pending0/confirmed76、SC 15/241

    v1.0.2330 (2026-11-10)

    文档

    • 研发负责人第100轮闭环汇报 2026-11-11 0242(自动化 54247bf9)— RED1/YELLOW47/GREEN8/DONE15、S-cfc-131契约测试17/17全绿、47YELLOW全在链、SC 15/241

    v1.0.2329 (2026-11-10)

    文档

    • 研发负责人第99轮汇报 2026-11-11 0233(池空稳态延续:71键无漂移 RED1/YELLOW47/GREEN8/DONE15、47YELLOW全在链、SC 15/241、S-cfc-131测试侧契约在途)
    • 研发负责人第98轮汇报 2026-11-11 0230 (298dcf47)

    测试

    • S-cfc-131 content.article.listByTag 契约测试(实现已合入6e9a511e2,意外全绿 17/17)

    v1.0.2328 (2026-11-10)

    文档

    • 研发负责人第108轮闭环汇报 2026-11-11 0205——O-22脚本落地(键级前置校验+revert保护+limit透传,dry-run零写盘验证)+27笔requeue受控收口(signature5=测试侧01:49已交付契约d91095be5/guhe-diet10=转TR-18/S-cfc-100-125归档done)+终态done130-pending1-RED0新增

    v1.0.2327 (2026-11-10)

    测试

    • task.history.view 契约级单测 S-cfc-29
    • family.signature.landscape 契约级单测 S-cfc-51
    • growth.history.view 契约级单测 S-cfc-30
    • achievement.grid.fiveCol 契约级单测 S-cfc-32
    • family.signature.openPage 契约级单测 S-cfc-50
    • family.signature.consignee 契约级单测 S-cfc-53
    • family.signature.routeIntegrate 契约级单测 S-cfc-54
    • family.signature.healthPlan 契约级单测 S-cfc-52

    v1.0.2326 (2026-11-10)

    测试

    • 第133轮闭环——B-59 admin 登录时序哨兵自处置闭环(waitForURL 替换固定等待,隔离2轮5/5)+ R133 汇报/台账推送

    文档

    • 研发负责人第107轮闭环汇报 2026-11-11 0135——O-22复发误重派账本修正(10笔恢复done/15笔契约缺口派发/3笔留待)+listByTag新RED键+2笔实现合入核验IN CHAIN

    v1.0.2325 (2026-11-10)

    测试

    • 第132轮闭环——TR-25 admin.referral 契约测试 16/16 新增全绿 + R132 汇报/交接/台账推送(浏览器 28/28 维持,langgraph 非LLM 31/31 全绿,LLM 依赖 10 例 B-126 复发+429 环境阻塞,dx-bridge 2 例部署滞后观察)
    • 第131轮新增 getArticleTags 用例(知识中心按文章标签搜索,设计规格 9e39128c6 测试同步)

    v1.0.2324 (2026-11-10)

    Bug 修复

    • 横屏签名回显占满 + 商品页隐藏营养成分
    • 家庭运营工作台 .cell-zero 令牌化并修复 AA 对比度 (2.85:1 -> 7.00:1)

    其他

    • - hand-signature 导出时按笔迹包围盒裁剪留白(getImageData 扫描 alpha),使签名占满导出图,不再淹没在横屏画布上下留白中
    • - 回显 image 由 aspectFit 改 widthFix 并去掉固定高度,签名占满预览宽度(checkout/consignee-edit/组件内预填预览三处)
    • - 同步更新 TC-SIG2D-07 断言(传 canvas 节点 + 裁剪逻辑)
    • 商品页需求:
    • - product-detail hasNutritionInfo 返回 false,整块隐藏营养成分(热量/蛋白质/脂肪/碳水/标签)
    • - recommendation.vue:成员切换条联动、菜品卡片操作区、删除后空/加载/失败态、翻页 scroll-view 高度修复(下滑翻页失效 BugFix)
    • - 新增 DietRecommendationServiceTest / QaBoundaryVerificationTest / recommendation.viewKeyAndDelete / pagination 契约测试
    • - 家庭食材总览分段聚合列(迁移465 基线确认 + FamilyFoodOverviewService 口径)
    • - cfc-langgraph meal.py:菜数要求入口 + prompt 模板软引导;seed_system_prompts.sql 同步
    • - 登记 API_REFERENCE.md;新增 2026-11-10 食材推荐食谱需求变更 PRD 与技术方案
    • - hand-signature 组件移除 requireAgree/agreeText props、agreed 状态、toggleAgree、agree-change emit 及确认拦截,回归纯签名职责(唯一引用方 signature.vue 无影响)
    • - signature.vue 接管 agree:新增 agreed 状态与 toggleAgree,onPageConfirm 增加 requireAgree&&!agreed 拦截
    • - computeCanvasHeight 因阅读同意移出画布区,预留高度统一为 134(不再按 requireAgree 分档)
    • - 同步更新 TC-SIG2D-02(预留统一 134)与 TC-SIG2D-08(组件已不承载 agree,页脚同行承载)
    • - 阅读同意勾选框由签字框上方移至签字框下方(组件内 signature-agree 块下移),与页面底部按钮成组
    • - computeCanvasHeight 因底部栏缩小同步下调 reserved(214/174 → 170/134),保证横屏画布不被裁剪
    • - 同步更新 TC-SIG2D-02 用例期望值(134/170 两档)
    • - 横屏字号 px 化(标题/副标题/按钮),消除 rpx 横屏放大 ~2.2 倍
    • - hand-signature.vue 新增 height watch 旋转后重建 2d 位图,并守卫 hasDrawn 避免书写中重建清空笔迹
    • - 组件路径迁至 pages/signature/components 并同步 import/测试/台账
    • - 测试 22/22 全绿

    新功能

    • 食材推荐-今日食谱增量变更(菜数硬保证/删除菜品/翻页修复/家庭总览聚合口径)
    • 恢复签名页自动横屏输入 + 低危项加固
    • 后台家庭运营主页面重设计为家庭运营工作台(设计稿+实现)

    文档

    • 研发负责人第106轮闭环汇报 2026-11-11 0005——稳态核验(RED1/YELLOW47/GREEN8/DONE15,0派发0恢复0新增键)+签名页7af780da5/512f7f99d两笔实现合入核验IN CHAIN归测试侧+S-cfc-131留待测试侧派发(TR-26送测延续)+场景覆盖SC15/241
    • 研发负责人第101轮闭环汇报 2026-11-10 2342——O-22 requeue误判27键级已实现任务归档done(防误派重复开发)+S-cfc-131真新RED(content.article.listByTag)入池核验+TR-26送测契约测试补写

    样式

    • 阅读同意与底部按钮同一行,组件回归纯签名职责
    • 横屏下缩小底部按钮并将阅读同意移至签字框下方

    v1.0.2323 (2026-11-10)

    文档

    • 研发负责人 错峰03 第105轮汇报 2026-11-10 2309——稳态核验(YELLOW47/GREEN8/DONE15,0新增键,0中断)+P0缺陷修复(find_idle_session参数错配致--auto崩溃)+O-22裁决(requeue误判27个键级已实现任务待人工核对,证据已抽查在origin)

    v1.0.2322 (2026-11-10)

    文档

    • 研发负责人错峰巡检汇报 2026-11-10 2230——池空稳态 + 47YELLOW对部署前沿全覆盖 + TR-25登记漏账实现 6c0f05701 admin.referral 查看
    • TR-25 登记——用户管理「推荐团队」查看实现 6c0f05701 已合入但零契约/零场景覆盖,请测试侧补契约级单测+e2e(研发负责人 错峰轮 2026-11-10 22:4x)

    v1.0.2321 (2026-11-10)

    文档

    • 研发负责人第100轮闭环汇报 2026-11-10 22:10(池空稳态 + 0新增键 + 标签搜索实现已合入核验)

    v1.0.2320 (2026-11-10)

    文档

    • 研发负责人第99轮闭环汇报 2026-11-10 21:46(池空稳态 + O-16 15键IN-CHAIN核验)
    • 知识中心按文章标签快速搜索 设计规格与变更记录
    • 研发负责人 第98轮闭环巡检汇报 2026-11-10 2126(池空稳态延续:RED0/YELLOW47/GREEN8/DONE15 零流转·0新增键·0派发0恢复·47YELLOW全在链·部署confirmed76·SC15/241·6e9a511e2 article标签搜索新实现核验IN CHAIN归测试侧·O-18待主理人终裁沿用①口径·工作树他人WIP挂账)

    其他

    • - 记录需求概述/现状盘点/方案设计/兼容性约束/验证与入库(commit 6e9a511e2)/后续建议

    v1.0.2319 (2026-11-10)

    文档

    • 研发负责人5 第97轮闭环巡检汇报 2026-11-10-2115
    • 研发负责人 错峰03 第104轮汇报 2026-11-10 2105(池空稳态延续:RED0/YELLOW47/GREEN8/DONE15 零流转·0新增键·0派发0恢复·部署pending未done=0·O-1~O-21全生效·B-90测试130轮销号·47YELLOW待测试mark-green·工作树3037WIP挂账)
    • 研发负责人1 错峰轮汇报 2026-11-10 2034(池空稳态延续:RED0/YELLOW47/GREEN8/DONE15 零流转·0新增键·0派发0恢复·47 YELLOW sha 对部署前沿63cf7455a全覆盖核验·O-18已主理人最终确认·工作树3034 WIP挂账)

    新功能

    • 知识中心按文章标签快速搜索(取消五维Tab分类)

    其他

    • - ArticleService 新增10参 getPublicList(位置4为tag,内存标签过滤);新增 listTopTags 聚合频次TopN
    • - 旧8参/9参 getPublicList 代理到10参(tag=null),McpToolRegistry 8参调用兼容
    • - article-center index.vue Tab从五维改为动态文章标签(全部+各标签),参数 dimensionCode→tag
    • - api.js 新增 getArticleTags
    • - 修复 ArticleControllerTest 9参stub→10参;GlobalSearchScP82ContractTest 增加8参verify显式断言

    测试

    • 第130轮测试闭环——B-90销号(langgraph live chat 9轮后首次200×2/analyze 200);后端2865例第5次逐例零漂移(33红);langgraph@251 38/43(5红全429配额);浏览器28/28(189 admin 5+本机fe6/shop4/health13);web116/fe426零红;门禁不通过(有条件):G2 54红/G9 9.9%/G11无CI

    v1.0.2318 (2026-11-10)

    文档

    • 研发负责人第99轮汇报 - 2026-11-10 2018 稳态复核+B-69部署收口核验

    v1.0.2317 (2026-11-10)

    文档

    • 研发负责人 2026-11-10 1934 错峰巡检汇报 - 70/70键YELLOW+,R2满足,SC15/241

    测试

    • 第129轮测试闭环——浏览器live 28/28全绿(189 admin 5/5第4轮+本机fe 6/6+shop 4/4+health 13/13);web/fe Jest 542例零红;后端2865例零漂移(33红);B-74复发确认(429变体,首跑35/43重跑37/43,配额窗口波动);B-126再现(EXIT=124);B-90延续第9轮;B-95延续;门禁不通过(有条件):G2红例/G9 9.9%/G11无CI

    v1.0.2316 (2026-11-10)

    文档

    • 研发负责人 错峰轮 #96 汇报 2026-11-10 1855(池空稳态·47/47 YELLOW IN_CHAIN·S-cfc-129 DONE)

    v1.0.2315 (2026-11-10)

    文档

    • 研发负责人 第103轮闭环巡检汇报 2026-11-10 1827(池空稳态延续:RED0/YELLOW47/GREEN8/DONE15 零流转·0新增键·0派发0恢复·O-18 稳态口径主理人最终确认落账·47 YELLOW卡测试mark-green·工作树3026 WIP挂账)

    v1.0.2314 (2026-11-10)

    文档

    • 研发负责人 第98轮闭环巡检汇报 2026-11-10 1750(池空稳态延续:RED0/YELLOW47/GREEN8/DONE15 零流转·0新增键·0派发0恢复·47 YELLOW卡测试mark-green无新授权·工作树3022 WIP挂账)

    测试

    • 第128轮测试闭环——后端全量2865例98.71%(红33与R127零漂移);langgraph@251 43/43全绿(692.94s正常退出,B-74连续2轮未复现->销号);189 admin 5/5+G10双节点第3轮;B-69鉴权4/4=401连续3轮闭环;B-90延续(chat 90s零字节);门禁不通过(有条件):G2 49红/G9锚点9.9%/G11无CI

    v1.0.2313 (2026-11-10)

    测试

    • 第127轮测试闭环——后端全量2865例98.71%(红33,与R123零漂移);langgraph@251 43/43全绿(B-74未复现);189 admin 5/5第2轮(B-122销号维持);G10双节点连续2轮通过;B-69连续2轮闭环;新增B-126(langgraph进程不退出)、B-90第8轮(chat/analyze 90s零字节);门禁不通过(有条件):G2 49红/G9锚点9.9%/G11无CI

    v1.0.2312 (2026-11-10)

    文档

    • 研发负责人 第97轮闭环巡检汇报 2026-11-10 1648(池空稳态延续:RED0/YELLOW47/GREEN8/DONE15 零流转·0新增键·0派发0恢复·B-61 代码缺口已补 ba6c0ebe6 IN CHAIN 账本滞后待线上复验·工作树3021 WIP挂账)

    v1.0.2311 (2026-11-10)

    文档

    • 研发负责人第95轮汇报(16:22) + O-18 稳态处置口径裁决

    其他

    • - 本轮零派发/零部署/零新增任务;--changes --days 7 新增能力键 0
    • - pending.md 追加 O-18:稳态期「确保会话已分派」处置口径裁决(不得凭空造任务,重定向测试侧放行核验)
    • - 报告 docs/tdd/orchestration/report-dev-2026-11-10-1622.md

    v1.0.2310 (2026-11-10)

    文档

    • 测试负责人第126轮闭环汇报(langgraph@251 39/43·B-74复发4例·189 admin-live 5/5首次全绿·B-122销号)
    • 测试负责人第125轮闭环汇报(3501/3445=98.40%·langgraph@251 43/43首次全绿·B-123销号)

    其他

    • - langgraph@251 43 例 43 过 0 红(756.13s),B-74 连续22轮红例后首次全绿(观察第1轮)
    • - cfc-frontend 426(423+3skip)/ cfc-web 116 / 根级 23(7过16红 B-36)
    • - 后端采信 R124(源码零变更)2865/2828=98.71%
    • - B-123 连续3轮探针通过销号;B-121 销号后维持绿
    • - 台账刷新:363控制器/1969handler/覆盖442(22.5%)/@Test 2853/跨源4168
    • - 线上鉴权 mind/fortune、energy/overview 均401(B-69维持)

    v1.0.2309 (2026-11-10)

    文档

    • 研发负责人错峰03 第102轮汇报 — B-69 部署收口(63cf7455a) + 池空稳态

    v1.0.2308 (2026-11-10)

    文档

    • 研发负责人 第101轮闭环巡检汇报 2026-11-10 1458(池空稳态延续:RED0/YELLOW47/GREEN8/DONE15 零流转·0新增键·0派发0恢复·B-69部署63cf7455a testing在途待回报·工作树3018 WIP挂账)

    v1.0.2307 (2026-11-10)

    新功能

    • 用户管理新增「推荐团队」查看(上级/直推/间推/团队树)

    其他

    • - summary:用户基本信息 + 上级推荐人 + 直推/间推人数 + 团队累计佣金(复用 CommissionService 口径)
    • - members:L1 直推 / L2 间推分页(昵称、注册时间、消费额、贡献佣金)
    • - tree:按 users.referrer_id 逐层 BFS 构树(1-8 层可选),含消费额与贡献佣金
    • · 不用 referral_tree(生产漏写:20 直推仅落 18 条)
    • · 不用 MySQL 递归 CTE(当前 RDS 内部临时表不可用)
    • - 用户管理列表操作列新增「团队」按钮,弹窗展示概览 + L1/L2 成员 + 团队树

    v1.0.2306 (2026-11-10)

    文档

    • 研发负责人闭环巡检轮汇报 2026-11-10 1416(稳态 YELLOW47/GREEN8/DONE15·池空零派发·0新增键·无新待裁决·B-69部署open pending 由部署会话处理)

    v1.0.2305 (2026-11-10)

    文档

    • 测试负责人第124轮闭环汇报(3501/3444=98.37%零漂移·B-121销号·B-74根因实锤LLM凭据401)
    • 研发负责人 2026-11-10-1402 闭环巡检轮汇报(54247bf9 自动化)

    v1.0.2304 (2026-11-10)

    文档

    • 测试负责人第123轮闭环汇报(后端全量98.71%新高·251实派42/1·B-55/B-121双向纠正)
    • 研发负责人错峰03 第101轮闭环汇报 2026-11-10 1300(池空零派发稳态 YELLOW47/GREEN8/DONE15;O-19/20/21 全裁决且 B-65/B-69 落链核验)

    v1.0.2303 (2026-11-10)

    文档

    • 研发负责人1 第100轮闭环开发任务汇报 2026-11-10 1245(O-21 实质推进:B-69 落码 84239ce22 + B-65 主线方案b eeb147273;池空零派发稳态 YELLOW47/GREEN8/DONE15)

    v1.0.2302 (2026-11-10)

    文档

    • 测试负责人第122轮闭环汇报(langgraph fix闭环 B-65/B-82 + B-69线上销号 + admin U05新增失败 B-121)

    v1.0.2301 (2026-11-10)

    文档

    • R121轮收尾补正——修正收尾基线为eeb147273并标注研发langgraph修复为下轮复跑点
    • 测试负责人第121轮闭环汇报(3500/3432=98.06%零漂移·B-120销号延续第3轮·B-69第21轮未修·langgraph非LLM实跑全绿)

    Bug 修复

    • 修复分析图 checkpointer 配置缺失、chat LLM 空响应兜底、pytest loop scope,并更新 LLM 网关配置
    • /api/mind/** 匿名白名单移除——4 端点移入 LOGIN_REQUIRED_PATHS 强制登录(401)

    其他

    • - JwtInterceptor.java:/api/mind/alert/active、/api/mind/alert/checkin-alerts、
    • /api/mind/traditional/mirror、/api/mind/traditional/compatibility 从 PUBLIC_PATHS
    • 移除,整族以 /api/mind/ 前缀移入 LOGIN_REQUIRED_PATHS(与 /api/health/plan/、
    • /api/xiaomi-health/、/api/huawei-health/ 同族口径)。
    • - 匿名(无 token)访问 /api/mind/** 直接 401(writeUnauthorized),不再匿名
    • (userId=-1)放行到 controller 走业务 200/400 口径漂移。
    • - MindFortuneControllerTest 断言改 status().isUnauthorized() + $.code==401,
    • 匹配拦截器 writeUnauthorized 实际返回口径(HTTP 401 + {"code":401})。
    • 验证:
    • - mvn -Dtest=MindFortuneControllerTest test → Tests run: 1, Failures: 0(BUILD SUCCESS)
    • 日志证据:请求 /api/mind/fortune 需登录但无Token,拒绝 → 响应 401
    • - mvn -Dtest='JwtInterceptor*,ScG06JwtGuardTest' test → Tests run: 70, Failures: 0(全绿,
    • 含参数化 JwtInterceptorLoginRequiredPathTest 32 例)

    v1.0.2300 (2026-11-10)

    文档

    • 测试负责人第120轮闭环汇报(3500/3432=98.06%零漂移·B-120销号·langgraph挂起面收窄)

    其他

    • - 前端 423/426、管理端 116/116、根级 7/23(B-36 第23轮)
    • - 浏览器本机 live 15/15 + health 13/13、189 首轮 5/5
    • - langgraph 非 LLM 子集 31/31 实跑全绿(251 实派)
    • - B-120 销号:189 首轮 5/5 连续 2 轮 0 偶发,满足闭环判据
    • - B-69 第 20 轮复证:匿名 POST /api/mind/fortune → 200/400,O-21 未落码
    • - langgraph 挂起面收窄:251 无 pytest-timeout,auto_tag 网络重试挂起(B-74 升级)
    • - SRS/场景零变更(git diff 空),跳过用例编写
    • - 后端全量采信 R119(本轮零 src 变更)

    v1.0.2299 (2026-11-10)

    文档

    • 研发负责人闭环巡检汇报 2026-11-10-1058(池空稳态复核·YELLOW47/GREEN8/DONE15·0派发0恢复0新键)

    v1.0.2298 (2026-11-10)

    文档

    • 研发负责人闭环巡检汇报 2026-11-10-1047

    v1.0.2297 (2026-11-10)

    文档

    • 研发负责人第95轮汇报 2026-11-10-1010(池空稳态·47 YELLOW IN CHAIN·B-61修复已在链待线上复验收口)

    v1.0.2296 (2026-11-10)

    文档

    • 研发负责人第94轮汇报 2026-11-10-0945(池空稳态·47 YELLOW IN CHAIN 核验)

    v1.0.2295 (2026-11-10)

    测试

    • 第119轮测试闭环——全量3500例3432过98.06%与R118严格零漂移(后端2864例98.67% 34红15类差集空/环境红0);251实派langgraph 44例(剔test_chat 43/32/11零漂移)/189复验admin 5/5(B-120-New U05登录偶发观察第1轮);B-69第19轮线上匿名200复证O-21未落码;G-11闭环第2轮稳定销号;前端426/管理端116/根级23(16红)/浏览器28全绿

    v1.0.2294 (2026-11-10)

    文档

    • 研发负责人 错峰03 第99轮闭环巡检汇报 2026-11-10 0815(O-21 bugfix 直连通道执行轮:B-65/B-69 派发 lan-204 两会话;池空零派发稳态 YELLOW47/GREEN8/DONE15)
    • 入库 T4 探测与实现报告——2026-11-09 C档探测结论 + T4 低位补菌红线实现(规则码 no_low_side_supplement),消除既有计划文档 T4/C档表对它的死引用
    • 同步 2026-11-08 浠艾福平台程序修改计划——合并远端 T7/T8/T9/T13/T14 完成证据(S-cfc-85/89/90/117/120,Guhe*ContractTest 5/8/7/10/8 绿),保留本地 T4 实现勾选与 C 档探测结论表(双向漂移收敛)

    v1.0.2293 (2026-11-10)

    测试

    • 第118轮测试闭环——后端全量339类2864例98.67%与R117严格零漂移(34红15类逐类一致/环境红0);纠正07:10轮「mvn缺失」误判并实跑58:14(B-118);251实派langgraph 44例(含test_chat +1红,B-119口径固化)/189实派admin 5/5;HTTPS 443 502→302闭环G-11;B-69第18轮线上匿名200复证O-21未落码;前端426/管理端116/根级23(16红)/浏览器28全绿

    v1.0.2292 (2026-11-10)

    文档

    • 研发负责人第99轮闭环巡检汇报 2026-11-10-0800(稳定延续轮:RED0/YELLOW47/GREEN8/DONE15;47/47 YELLOW sha 全在链待测试 TR-20/21/22 mark-green;任务池真空 done130/failed1/pending0/dispatched0;--changes 0新键 0派发 0恢复 0新增键;部署pending42全done/confirmed75 last两账本同向47d203981/2e1e5d32ef;5节点250会话全idle配额剩3/节点;resume dry-run 0候选;O-21 B-65/B-69已裁决待08:15黑窗解除lan-204兜底;主工作树3004WIP未代清理 单文件hash-object入库)

    v1.0.2291 (2026-11-10)

    文档

    • 研发负责人第97轮错峰巡检汇报 2026-11-10-0750(稳定延续轮:RED0/YELLOW47/GREEN8/DONE15;任务池真空 done130/failed1/pending0/dispatched0;--changes 0新键 0派发 0恢复 0新增键;部署pending0/confirmed75 last=2e1e5d32e;5节点250会话全idle配额剩3/节点;resume dry-run 0候选;SC 15/241 本轮无新增 226待测试侧证据;主工作树3002WIP未代清理;10:00后首轮发webhook勿漏)
    • 研发负责人第96轮错峰巡检汇报 2026-11-10-0742(稳定延续轮:RED0/YELLOW47/GREEN8/DONE15;任务池真空 done130/failed1/pending0/dispatched0;--changes 0新键防假RED 0派发0恢复0新增键;部署pending0/confirmed75 last=2e1e5d32e无新缺口;O-21裁决B-65/B-69已生效待08:15黑窗解除lan-204兜底;5节点250会话全idle配额剩3/节点;主工作树3002WIP只读核验不代清理 单文件hash-object入库)
    • 研发负责人工作汇报 2026-11-10 07:36 第95轮 错峰巡检

    v1.0.2290 (2026-11-09)

    文档

    • 研发负责人第94轮错峰巡检汇报 2026-11-10-0725(稳定延续轮:RED0/YELLOW47/GREEN8/DONE15;47/47 YELLOW 全链核验 IN origin/cfclub 0无sha 0不在链;任务池彻底清零 done130/failed1/dispatched0/pending0 --changes 0新键 O-7 不add-task;5节点250会话全idle 配额剩余3/节点;resume 1候选 S-be-286 属其他项目(iiot)命名空间不在CFC池 不越权恢复;部署 pending0/confirmed75 last=47d203981收口 bridgeWrite DONE 15 键确认;O-21 已裁决 B-65/B-69 bugfix 直连待08:15黑窗解除 lan-204兜底探活4091 OPEN可先行;主工作树3000WIP未代清理 单文件hash-object入库)

    v1.0.2289 (2026-11-09)

    文档

    • 研发负责人第93轮错峰巡检汇报 2026-11-10-0703
    • 研发负责人错峰03第98轮闭环巡检汇报 2026-11-10 0645(只读核验+池空稳定延续:RED0/YELLOW47/GREEN8/DONE15;47键全链待测试mark-green TR20~24;池真空0新键--changes 0→0 零写盘零派发;部署pending全done未收口0/confirmed75 三提示sha逐条核验均done无漏收口;O-21裁决B-65/B-69非能力键缺口走bugfix直连通道方案a去MemorySaver+JwtInterceptor4条白名单移入LOGIN_REQUIRED_PATHS闭环判据定案 用户授权代主理人拍板生效;5节点250会话全idle;resume0候选;主工作树2999WIP未代清理)

    v1.0.2288 (2026-11-09)

    文档

    • 研发负责人第98轮闭环巡检汇报 2026-11-10 0636(只读核验+池空稳定延续:RED0/YELLOW47/GREEN8/DONE15;47键全链待测试mark-green TR20~24;池真空0新键--changes 0→0 差异检验3实现提交无缺口不臆造;部署pending0/confirmed75 last_deployed=47d203981收口;5节点250会话全idle;resume0候选;主工作树2998WIP未代清理)

    v1.0.2287 (2026-11-09)

    测试

    • 第117轮测试闭环——全量3500例98.06%与R116严格零漂移(远端漂移核查5提交仅docs+版本号无源码变更);189 shell直连v2恢复实派admin 5/5(B-116闭环,G10升✅);B-117新增251会话通道退化观察(shell直连兜底43/32/11);后端34红/前端426/管理端116/E2E 28/28/langgraph 43例零漂移;派发v2工具入库

    文档

    • 研发负责人第83轮闭环巡检汇报 2026-11-10 0610

    v1.0.2286 (2026-11-09)

    文档

    • 研发负责人第95轮汇报 2026-11-10 0545
    • 研发负责人 错峰03 第97轮闭环巡检汇报 2026-11-10 0530(稳定延续轮:RED0/YELLOW47/GREEN9/DONE14;池真空--auto零派发;--deploy-done收口 47d2039815 bridgeWrite 部署验证放行;--changes 0新键 无add-task;5节点全idle;O-19/O-20 已生效无新裁决)

    v1.0.2285 (2026-11-09)

    测试

    • 第116轮测试闭环——全量3500例98.06%与R115严格零漂移;后端2864例98.67%(34红15类逐类一致);前端426/管理端116/根级23/E2E 28/28全绿;251 langgraph 43例32过11红零漂移;B-116-New登记189 session通道退化(P1)

    v1.0.2284 (2026-11-09)

    文档

    • 研发负责人1 第96轮闭环巡检汇报 2026-11-10 0507(稳定延续轮:RED0/YELLOW47/GREEN9/DONE14;bridgeWrite 依 B-112-Close 实测16/16绿代登记 GREEN 收口;部署 pending 1=47d203981 在途;--changes 0新键 零派发;5节点全idle;B-69/B-65 挂账待主理人裁决 langgraph/鉴权域入池)

    v1.0.2283 (2026-11-09)

    文档

    • 研发负责人第72轮闭环巡检汇报 2026-11-10-0435(池空+0新键,研发实现主体达成)
    • 研发负责人 04:16 巡检汇报 2026-11-10(CFC 闭环 · 池空稳态 · 48 YELLOW 待测试校验)
    • 台账附录A-1 解除 S-cfc-129 预期RED登记(16/16全绿)+勘误规格文件存在性
    • 研发负责人 错峰03 第96轮闭环巡检汇报 2026-11-10 0407(稳定延续轮:RED0/YELLOW48/GREEN8/DONE14 稳态;S-cfc-129 RED→YELLOW 闭环核验 47d20398 IN CHAIN kind=main;部署 47d20398 testing 在途未收口;--changes 0新增键 零派发;O-19/B-61 三次实测闭环落账已裁决生效)
    • 研发负责人1 第95轮闭环巡检汇报 2026-11-10 0357(稳定延续轮:RED0/YELLOW48/GREEN8/DONE14 稳态;任务池真空 131=done130+failed1 零派发;黑窗 opcode free 全家族至 08:15 复核;部署 pending 1=47d203981 在途;--changes 0新增键;TR-20~24 待测试处理)

    测试

    • 第115轮测试闭环——后端全量2864例98.67%(红例48→34);S-cfc-130 bridgeWrite契约16/16闭环(B-112);189/251派发通道纠正后双双打通(B-113);DimensionScore夹具跟修21例转绿

    v1.0.2282 (2026-11-09)

    文档

    • 研发负责人1 第94轮闭环巡检汇报 2026-11-10 0330(稳定延续轮:RED0/YELLOW48/GREEN8/DONE14 全在链;任务池真空零派发;bridgeWrite RED+YELLOW 全链路闭合 + TR-24 送测)

    v1.0.2281 (2026-11-09)

    文档

    • 研发负责人 2026-11-10 03:10 闭环巡检汇报(第93轮:状态机70键稳态 RED0/YELLOW48/GREEN8/DONE14,YELLOW 48/48 IN CHAIN;任务池真空 0 pending;部署 pending 1=47d203981 在途;0派发/0恢复/0新增键;B-69/B-65 P0 挂账待裁决)

    v1.0.2280 (2026-11-09)

    文档

    • 研发负责人第80轮闭环巡检汇报 2026-11-10 0257

    v1.0.2279 (2026-11-09)

    文档

    • 研发负责人 2026-11-10 02:45 闭环巡检汇报(S-cfc-130 bridgeWrite 实现收口:47d203981 yellow_sha 回填、任务 done、池清零;RED0/YELLOW48/GREEN8/DONE14;YELLOW48全在链;SC 15/241)
    • 研发负责人5 第92轮 闭环巡检汇报 2026-11-10 0230

    新功能

    • S-cfc-130 GAP-A 桥接实现 - HealthDataSourceBridgeService 五维消费链路 + 同步引擎同事务接线 + DEVICE 注释 + 死注入解除

    测试

    • 第113轮测试闭环——浏览器E2E 28/28全绿;B-114后端契约用例闭环入库(HL-05 productOptions/select/purchaseComplete, 实跑全绿);B-90第6次复证/B-69第13轮/B-65第19轮延续登记;blockers+报告+研发通知随交

    其他

    • - 前端 jest 423/426(3 skip)、管理端 116/116、langgraph 43/32/11(251实派零产出回退本机venv, 146.70s)、根级 23(7/16 B-36门控) 与R112零漂移
    • - B-114部分闭环: HealthPlanProductSelectionContractTest EXIT=0 (剩余前端Jest+E2E)
    • - SRS/场景变更窗口零命中, 无需改动用例
    • - 含02:00轮报告(report-test-2026-11-10T0203)+探针结果收口入库

    v1.0.2278 (2026-11-09)

    文档

    • 研发负责人错峰轮次汇报 2026-11-10 02:24(bridgeWrite RED→YELLOW 账本修正:S-cfc-129 commit 归位 6da900595 → auto 识别契约测试并派发 S-cfc-130 实现 lan-189;RED0/YELLOW48/GREEN8/DONE14; 部署 pending41/41 done; SC 15/241)

    v1.0.2277 (2026-11-09)

    文档

    • 研发负责人 2026-11-10 0143 闭环巡检汇报(单文件入库,主工作树零接触)
    • 研发负责人错峰轮次汇报 2026-11-10 01:30(S-cfc-129 账本收口 done→池清零;RED1/YELLOW47/GREEN8/DONE14; YELLOW47全在链; 待办=bridgeWrite red_sha 主理人回填; SC 15/241)

    v1.0.2276 (2026-11-09)

    测试

    • 第112轮追交——窗口内 HL-05(+1464行) 主线变更登记 + B-114 覆盖缺口(零对应用例);SRS 目录零新增判定复核
    • 第112轮闭环——后端全量首次跑通 337类/2845例/98.17%(59:51) + 浏览器E2E 28/28 + langgraph 32/43 逐例一致;登记 S-cfc-129 14例预期RED;B-92磁盘闭环;新增B-112/B-113
    • 第111轮遗留入库——S-cfc-115 E2E 规格 + 用例登记 + 台账重扫 + 场景缺口工单 + R111 汇报
    • 第110轮回环——6类A类失效用例修复追交 + R109报告追交 + 251派发工具入库(E2E 28/28·langgraph 32/43·jest 双绿,零漂移)

    文档

    • 研发负责人错峰轮次汇报 2026-11-10 01:19(state RED1/YELLOW47/GREEN8/DONE14, 池空, bridgeWrite red_sha 待主理人回填)

    v1.0.2275 (2026-11-09)

    新功能

    • HL-05 产品多选一购买任务 + 购买完成生成执行任务

    其他

    • - 后端新增 POST /api/health/plan/product-options,按方案营养板块品类给出多选一选项
    • (效果分取 matchScore,价格分为单位转 priceYuan;平台无匹配时追加"线下/其他渠道自选"兜底)
    • - 后端新增 POST /api/health/plan/product-select,确认选择后按方案每位成员各生成一条
    • category=购买任务 / sourceType=health_plan / isFlowTask=1 / needReview=0 的任务,
    • 本平台商品首次确认时加购物车(同名购买任务已存在则不加购,保证幂等)
    • - 选择结果持久化到 plan_json.productSelection,不新增表/列(零 DDL、零迁移)
    • R6 购买完成生成执行任务:
    • - 后端新增 POST /api/health/plan/purchase-complete,购买任务置 completed 并写入
    • successorTaskIds,再按方案建议为各成员生成执行任务(prerequisiteTaskId/parentTaskId
    • 指向购买任务;一次性任务写当天实例,周期任务写 is_template=1 模板行)
    • - 未传 purchaseTaskId 时处理该方案下全部购买任务;方案无购买任务时直接按方案生成
    • 前端:
    • - 新增可复用组件 pages/health/components/ProductSelectionFlow.vue(多选一、生成购买任务、
    • 去购物车、购买完成生成执行任务、购物车数量徽标)
    • - health-plan-summary.vue 集成:查看模式草案方案 + 创建流程"先保存方案立即选择产品"
    • 两处入口;保留原「确定」直接分解任务路径作为兼容;utils/api.js 新增 3 个接口封装
    • 文档:API_REFERENCE 4.49.3 记录 3 个新接口;PROJECT-OVERVIEW 索引同步
    • 验证:cfc-backend mvn compile 通过;verify-vue-compile 脚本段 PASS;
    • audit-mp-antipatterns ERROR 0

    v1.0.2274 (2026-11-09)

    新功能

    • 订单支付成功 webhook 通知(cfOrder),覆盖商品订单与会员付费

    其他

    • - MembershipService.activateMembership 末尾挂载:会员订阅订单号/等级/周期/金额(分转元)/开通人,推送同 label
    • - 均 try/catch+WARN 不阻断主流程;OrderWebhookNotifyTest 5 用例验证组装与金额换算

    v1.0.2273 (2026-11-09)

    文档

    • 研发负责人闭环巡检汇报 2026-11-09-2352 (RED1/YELLOW47/GREEN8/DONE14; YELLOW 47/47 全在链收敛; S-cfc-129 RED 契约 6da900595 已合入待测试 mark-red; 部署 confirmed74; SC 15/241)

    v1.0.2272 (2026-11-09)

    文档

    • S-cfc-107 guhe.p3.lowSideAggregate 验收闭环(T15 已由 S-cfc-119 并发落地,契约测试 6/6 全绿)

    其他

    • [S-cfc-109][guhe.l1.guheV2Route] 实现 T7 guhe_v2 指纹路由要素(判定链 aidefansi→beijing→guhe_v2→standard、3 触发词锚点、32 键自检入口),GuheV2RouteContractTest 8/8 全绿

    v1.0.2271 (2026-11-09)

    文档

    • 第91轮研发负责人汇报 — TR-24 接力送测 health.dataSource.bridgeWrite (S-cfc-129 RED 测试 6da900595 已产出,请测试侧 --mark-red 登记;RED1/YELLOW47/GREEN8/DONE14, deploy pending0/confirmed74)

    v1.0.2270 (2026-11-09)

    新功能

    • S-cfc-115 推荐食材健康问卷个性化调整提示条 + suitable Tab blocked 排末尾 (B1-B3) 实现使绿

    v1.0.2269 (2026-11-09)

    文档

    • 研发负责人错峰轮汇报 2026-11-09-2156 (RED1/YELLOW47/GREEN8/DONE14, O-16 回填)

    v1.0.2268 (2026-11-09)

    文档

    • 研发负责人闭环巡检汇报 2026-11-09-2125 (在途观察轮; RED1/YELLOW47/GREEN8/DONE14; S-cfc-129 在途lan-204; YELLOW47全在链; 部署pending0/confirmed74; SC 15/241)

    v1.0.2267 (2026-11-09)

    测试

    • RED 契约测试 health.dataSource.bridgeWrite D/X 桥接 GAP-A 未落地

    其他

    • HealthDataSourceBridgeContractTest,断言契约所需桥接行为缺失(预期红)。
    • 契约溯源: docs/superpowers/specs/2026-11-08-dx-health-bridge.md
    • - §3.1 字段映射: body.前缀剥离/未知码丢弃/body_weight双维度展开/score+percentile 直取
    • normalized/DEVICE(tier=2)/raw_data 直存/assess_date 取采集日
    • - §3.2 接线: DimensionScoreServiceImpl 死注入解除 + 触发点 A(同步内事务桥接)
    • - §6 拍板项: ①data_source=DEVICE ②tier=2 ③触发点A ④不加唯一索引
    • - §5 E-1 证据: 多行 LIFO 读最新覆盖 / 防负向回归(不覆盖 REPORT 行)
    • RED 结果: 16 通过 2 / 失败 14(宿主类缺失 8 + 入口缺失 + 死注入未解除 +
    • huawei/xiaomi 无桥接钩子 + schema 无 DEVICE 注释),其余 2 项为守则 guard(§6 ④
    • 不加唯一索引 + 权限流不适用)通过。仅新增测试文件,未动 src/main。

    v1.0.2266 (2026-11-09)

    文档

    • 研发负责人闭环巡检汇报 2026-11-09-2114 (RED1/YELLOW47/GREEN8/DONE14; 部署收口 pending0/confirmed74)

    v1.0.2265 (2026-11-09)

    文档

    • 研发负责人错峰03 第81轮汇报 2026-11-09 2035(S-cfc-129 RED 派发 lan-204 + O-19/O-20 裁决确认 + 47 YELLOW 待 mark-green)
    • O-20 主理人拍板方案b生效(testing 部署改实例级链优先,pub-iwintrue 落 etotem/deepseek);修复已落地 skill 侧 dispatch_deploy

    v1.0.2264 (2026-11-09)

    Bug 修复

    • 恢复 cfc-web CI bump 版本 + 保留部署回执文档(第90轮首推误用旧 tree,回退 47e06e135 正确版本,补回 report-deploy-2026-11-09-7366733e0)

    文档

    • 部署回执 7366733e0 → testing 复验刷新(线上 47e06e135,H5 产物内容校验通过,无需降级)
    • 研发负责人第90轮汇报 2026-11-09 2000(池空续派 S-cfc-129 桥接入池 + TR-23 送测试写契约测试;47 YELLOW 全在链待 mark-green;RED 1/YELLOW 47/GREEN 8/DONE 14;部署 pending 7366733e O-20 通道缺陷)

    v1.0.2263 (2026-11-09)

    文档

    • 部署回执 7366733e0 → testing(S-cfc-126 diet.food.healthAdjustUi 已在线上 HEAD,H5 产物内容校验通过)

    v1.0.2262 (2026-11-09)

    文档

    • 研发负责人第79轮工作汇报 2026-11-09 1920 (错峰闭环巡检+webhook总结; 47 YELLOW全部有sha待测试mark-green; 池空0新键防假RED; 部署pending41; SC 15/241)

    v1.0.2261 (2026-11-09)

    文档

    • 第108轮研发/运维通知 — B-65/B-74/B-82 研发、B-89/B-91/B-92 运维、B-61/B-103 闭环
    • 测试负责人第108轮执行汇报 — 前端423/0全绿(REQ6缺陷自处置闭环)、浏览器28/28、B-61健康方案鉴权闭环;langgraph 32绿/12红(251 agent失联回退本机)

    测试

    • 自处置 REQ6 失败路径用例 mock 错序;更新 blockers R108

    其他

    • - docs/tdd/test/blockers.md: 追加第108轮阻塞更新(B-61 闭环、B-65/B-74/B-82/B-89/B-91/B-92 续轮、B-103 瞬时502)

    v1.0.2260 (2026-11-09)

    文档

    • 研发负责人第88轮汇报 + O-20 部署通道缺陷登记(pub-iwintrue 无 axonhub 供应商)
    • TR-22 送测试侧 7 个新 YELLOW 键(guhe/diet 批次)mark-green(研发负责人 第88轮)

    v1.0.2259 (2026-11-09)

    文档

    • 研发负责人闭环巡检汇报 2026-11-09 18:16(54247bf9)

    v1.0.2258 (2026-11-09)

    文档

    • 研发负责人第81轮工作汇报 2026-11-09 1730(2键RED->YELLOW收口:guhe.lowSide.ruleLoad=aaad839ff + diet.food.healthAdjust=ba9fd2837;任务池清零 done128/failed1;RED 0/YELLOW 47/GREEN 8/DONE 14;SC 跑通 15/241)

    v1.0.2257 (2026-11-09)

    文档

    • R106 回填 S-cfc-124 复核 — GuheLowSideRuleLoadContractTest 7F→10/10全绿(aaad839ff合入后复跑);后端契约132/130/2=98.48%、合计768/735=95.70%(+16绿);补 B-98 闭环
    • R106 测试负责人执行汇报 — 合计768/728=94.79%较R105+9绿;后端契约132/123/9(DietFoodHealthAdjust 9红→10/10全绿,S-cfc-125 ba9fd2837合入生效)、前端426/422/1、web116/116、浏览器28/28、根级23/7/16、251派发43/32/11零漂移;追加B-89第9轮/B-65第13轮/B-74/B-82/B-88第5次/B-92
    • 研发负责人第77轮工作汇报 2026-11-09 1650 (错峰闭环巡检)
    • R105 测试负责人执行汇报 — 合计768/719=93.62%较R104+38绿;后端契约132/114/18(+7绿,GuheKbQueryLowSidePatch 8/8+KbQueryLowSideNoSupplement 6/6转绿)、前端426/422/1(+31绿,diet uiRework主体转绿)、web116/116、浏览器28/28、根级23/7/16、251派发43/32/11零漂移;追加B-89第8轮/B-65第12轮/B-74/B-82/B-88

    新功能

    • 低侧判读规则入库 T3(guhe.lowSide.ruleLoad / S-cfc-124)
    • S-cfc-125 implement diet.food.healthAdjust capability

    其他

    • 判读铁律常量 INTERPRET_LAW_LOW_SIDE(关联非因果)与 U 型双向口径常量
    • U_SHAPE_CALIBER_HINT(越低越好不成立 / 参考下限 0),并新增规则加载入口
    • lowSideInterpretRules() 供 L4 引擎加载
    • - ConditionalPathogenLowSideRules E.Coli 低侧模板补「越低越好不成立」口径短语
    • (保留「低就是好」不成立以兼容既有绿测),衔接 T3 L4-2 U 型双向口径
    • - GuheLowSideRuleLoadContractTest 10/10 绿;ConditionalPathogenLowSideRuleTest
    • + UnifiedKnowledgeBaseLowSidePatchTest 14/14 绿,无回归
    • - HealthFilterService: add checkFoodBlocks/checkFoodWarnings/checkDietPreferenceAdjust/assessFoodAdjustment/loadDietPreferences
    • - HealthFilterService.loadProfile: merge lifestyle.allergySymptoms into allergies (D1)
    • - FoodRecommendService.getCurrentFoods: compute adjustment (blocked>warning>boost>normal) per food, emit adjustment/adjustmentReason keys
    • - FoodRecommendService.getCurrentFoodsAsFoodList: propagate transient fields
    • - BeijingNutritionService.generateIngredientList: add checkDrugInteractions call + religious diet filtering via food.dietType vs prefs.religiousDiet
    • All contract tests (DietFoodHealthAdjustContractTest 10/10) + regressions (FoodRecommendServiceTest 21/21, FoodRecommendMemberViewResolutionTest 6/6, ReportDietRecommendContractTest 8/8, FamilyFoodOverviewServiceTest 9/9) pass.

    v1.0.2256 (2026-11-09)

    文档

    • 研发负责人第80轮汇报 2026-11-09 1620(5 键 RED->YELLOW 推进 + O-19 B-61 裁决 + backfill 账本修正)

    v1.0.2255 (2026-11-09)

    文档

    • R104 报告回填 git 提交/推送证据(9f2dad792 已推 origin/cfclub)
    • R104 测试负责人执行汇报 — 后端定向契约132/107/25(+4绿)、251派发恢复43/32/11、浏览器28/28;新增B-97(并发构建+磁盘满致全量两次失效)/B-91解除
    • S-cfc-120 T7 guhe_v2 指纹路由 [x] 复核绿(S-cfc-90 实现 7270303b5,GuheV2RouteContractTest 8/8)

    v1.0.2254 (2026-11-09)

    新功能

    • S-cfc-118 guhe.lowSide.noSupplement T4 低位补菌红线落地(契约 3 RED -> 6/6 GREEN)
    • S-cfc-127 diet.recommendation.uiRework 推荐食材页 UI 重构(去标题/4Tab/分页/我标签/生成loading)
    • S-cfc-123 低侧判读补丁块独立可查询(L2-2/T1, 契约 8/8 绿)

    其他

    • 「偏低不推荐补菌」口径常量(无成熟证据支持缺X→补X,L4-3)
    • - AttributionComplianceGate.LowSideNode: 暴露 isNoSupplement()(低侧节点恒 true,源头禁补菌,
    • 非门禁事后回扫)
    • - IndicatorInterpretEngine: 偏低条件致病菌含义路径注入「偏低不推荐补菌」口径,源头拦截
    • 「报告缺 X -> 买含 X 菌株产品」桥接
    • TDD: GuheLowSideNoSupplementContractTest 基线 3 RED -> 6/6 GREEN
    • 验证: 相邻归因/门禁契约零回归(GuheEvidenceIsolateContractTest 2err 与 GuheLowSideRuleLoadContractTest
    • 7fail 经基线对照确认为先存状态,非本键引入)

    v1.0.2253 (2026-11-09)

    文档

    • 研发负责人第79轮汇报(RED7/YELLOW40/GREEN8/DONE14;7 GREEN 在途 lan-204 15:05 二次派发存活;13 键 sha 13/13 IN CHAIN 送 TR-21 测试 mark-green;0 新增键 0 新分派 0 恢复)

    新功能

    • S-cfc-126 diet.food.healthAdjustUi 食物卡片健康问卷调整提示条 + suitable Tab blocked 排末

    其他

    • - B2: 食物卡片按 item.adjustment 渲染提示条:blocked 红条「⚠ 健康问卷不建议:{adjustmentReason}」、
    • warning 黄条「注意:{adjustmentReason}」、boost 绿条「✓ 符合饮食习惯偏好」;normal/空不渲染
    • - B3: filteredFoods suitable Tab 中 adjustment==='blocked' 项 stable 分组排列表末尾(保持可见不置顶;
    • unsuitable/all Tab 位置不变仅带提示条,既有 score 排序无回归)
    • - B1: 既有 loadFoods object 透传保留 /api/health/foods 响应 adjustment/adjustmentReason(契约测试锁定)
    • - 红单测 recommendation.healthAdjustUi.test.js:14 通过(1 skip 权限占位)

    v1.0.2252 (2026-11-09)

    文档

    • 研发负责人第78轮闭环巡检汇报 2026-11-09 1450(O-18③回收7零产出+二次派发lan-204+5键账本对齐done+CI现状修正)
    • R103 测试负责人执行汇报 — 浏览器E2E 28/28、管理端116/116 零漂移;前端实测391/32(较R102采信基线+8绿);251 langgraph派发B-91复发未实测沿用R102 43/32/11

    v1.0.2251 (2026-11-09)

    文档

    • R102 报告回填提交 sha 与推送证据(24c86e177)
    • R102 测试负责人执行汇报 — 浏览器 E2E 28/28 全绿(189/204失联本机降级)、251 langgraph 43/32/11(B-96自处置+69.66s确定性取回)、Guhe 红例41→22(B-88争议解除10/12绿)、B-90第3次复证恶化(chat70s/analyze100s)

    v1.0.2250 (2026-11-09)

    新功能

    • S-cfc-122 guhe.report.personalAssert 个人层双断言键名/内容断言入口与 ND 参考常量(契约 9/9 绿)
    • S-cfc-121 implement G-3 evidence-code isolation

    其他

    • - AttributionLowSideRules: add RULE_EVIDENCE_ISOLATE / EVIDENCE_PUB / EVIDENCE_KB /
    • EVIDENCE_COM / EVIDENCE_UNVERIFIED constants
    • - AttributionComplianceGate: add tagEvidence / canEnterRecommendationBasis /
    • isExistenceRecordOnly / isolateForRecommendation deterministic methods
    • Contract test GuheEvidenceIsolateContractTest: 12 run.
    • RED baseline: 12 run, 11 failures. After impl (pristine test): 12 run, 0 failures,
    • 2 errors — test-helper varargs NPE at call():267 when bare null is passed to the
    • Object... helper (pre-existing harness defect masked in RED by earlier failing
    • assertion; not reachable by any src/main implementation). Null-contract branch
    • verified 12/12 green via a temporary one-line null-guard (NOT committed; test stays pristine).
    • 实现 S-cfc-84(4ef901c48, routeByFormatVersion + GUHE_V2_PARSER_SCRIPT + FORMAT_GUHE_V2 + 21/32 键界)
    • 已合入 origin/cfclub,本任务无源码改动(按最小闭环+禁改测试纪律,不做伪实现)。
    • 本提交仅:① 计划文档 T8 勾选并标注复核;② 新增 docs/tdd/impl-2026-11-09-S-cfc-117-guhe-l1-versionSplit.md 实现证据。
    • RED 登记溯源:R98 契约 41 例 RED 基线 ac4d7e97f 不含已合入实现,R101 已记「下轮以 66873f066 为基线复跑预期 41 例转绿」。

    文档

    • 研发负责人 1312 轮汇报(RED10/YELLOW37/GREEN8/DONE14;收口 2 键 YELLOW:guhe.p3.lowSideAggregate=S-cfc-119 f1a0d9908 + diet.recommendation.participantSelect=S-cfc-128 e3b5ba9c7;12 dispatched 在途 lan-204 二档;TR-20 37 YELLOW 送测试)
    • S-cfc-117 guhe.l1.versionSplit T8/L1-3 复核闭环

    v1.0.2249 (2026-11-09)

    新功能

    • S-cfc-119 guhe.p3.lowSideAggregate T15 跨案例聚合落地(契约 4 RED -> 6 GREEN)
    • S-cfc-128 食谱生成支持共餐人选择 diet.recommendation.participantSelect

    其他

    • - 新增 AttributionCaseAggregateService:按「条件致病菌低侧判读」口径聚合跨案例、聚类「同策略」(aggregateLowSideStrategy),可检索「同条件致病菌低侧」应对方案;低侧机制恒 associationOnly=true(关联非因果)
    • - 新增 AttributionCaseStrategy 实体 + AttributionCaseStrategyMapper + attribution_case_strategies 承载表(schema.sql 同步 + DatabaseInitializer 迁移464)
    • - ConditionalPathogenLowSideRules 暴露 LOW_SIDE_READING_KEY(§2.2 KB 子键锚点)
    • 确认(confirmParticipants)后调 generate 并传 participant_member_ids(familyMemberId 数组 JSON);
    • 个人/成员视角直传当前选中成员 [currentMemberId],不弹选择。
    • 前端契约测试 recommendation.participantSelect.test.js 9 通过 / 1 跳过(权限流不适用)。

    文档

    • 研发负责人 1305 轮汇报(RED12/YELLOW35/GREEN8/DONE14;池空+13:03互斥窗口仅产出报告;严守单文件入库)

    v1.0.2248 (2026-11-09)

    文档

    • 研发负责人第76轮闭环巡检汇报 2026-11-09 1245(错峰03)

    v1.0.2247 (2026-11-09)

    文档

    • 研发负责人第75轮闭环巡检汇报 2026-11-09 1215

    v1.0.2246 (2026-11-09)

    文档

    • 研发负责人第74轮汇报更新 — 部署收口加急处置:pending 14→0 / confirmed 56→73 / last_deployed 修正为 testing 实际部署版本 86716f522

    v1.0.2245 (2026-11-09)

    文档

    • 研发负责人第72轮汇报 — 12 GREEN 实现重派 lan-204(免费档12/12 failed → axonhub/deepseek 12/12 在跑)+ 免费档黑窗延长至11-10 08:15(P0口径)
    • R101 报告回填提交 sha 与推送证据
    • R101 测试负责人执行汇报 — 后端首次全量 96.36%(2829例/99红)、251 派发恢复(B-91闭环)、签名 v2 合入14/14绿(B-81闭环)、线上502窗口(B-93)与D盘满(B-92)登记

    v1.0.2244 (2026-11-09)

    新功能

    • S-cfc-90 T7/L1-1 guhe_v2 指纹路由 — 判定链 aidefansi→beijing→guhe_v2→standard + 触发词三锚点(疾病相似评估/厚壁菌比拟杆菌比值/亚健康及营养饮食不合理) + 32键自检入口(guheV2KeyCountCheck/GUHE_V2_KEYS_32)
    • S-cfc-84 T8/L1-3 按报告格式版本分流 — 32键guhe_v2走专用提取器不落LLM兜底、旧21键保留原v5流程

    其他

    • - ReportParserDispatchService 落地 L1 指纹路由层四锚点:GUHE_V2_ROUTECHAIN 判定链常量(值含完整箭头链)、FORMAT* 四阶段常量(aidefansi/beijing/guhe_v2/standard)、三个触发词常量、GUHE_V2_KEYS_32 键数自检入口
    • - isGuheV2Format(text):触发词指纹识别,要求至少命中2个且必须含「疾病相似评估」(与旧21键谷禾区分,防 T8 禁强套)
    • - detectReportFormatVersion(text):按判定链顺序逐阶段识别格式版本
    • - 键数自检:GUHE_V2_KEYS_32=32(复用 ParsedReportResult,与 T8 同源)
    • 验证:mvn compile EXIT=0;GuheV2RouteContractTest 8/8 GREEN(RED 基线 6 败 → 全绿)
    • - ParsedReportResult 暴露 guhe_v2 格式版本标记 FORMAT_GUHE_V2="guhe_v2" + 21/32 键数边界常量(LEGACY_KEYS_21=21 / GUHE_V2_KEYS_32=32)
    • - ReportParserDispatchService 新增 routeByFormatVersion 分流入口:guhe_v2(32键)→extract_guhe_v2 专用分支(禁误判路由错误→unknown/LLM兜底);旧21键/beijing/null→原 parseReport v5流程(禁强套guhe_v2)
    • - 契约测试 GuheVersionSplitContractTest 5/5 GREEN(含 32键不落LLM / 21键不强套 / 键数边界三断言)
    • C档平台现状探测(§四 待确认项,自主探测记录,不阻塞派发):
    • 1. Adapter形态:无统一Adapter接口;L1=PdfParseService(文本,beijing/guhe)+ReportParserDispatchService(指纹→Python解析器/LLM)+ReportFingerprintService(DB指纹规则→Python引擎)。判定:新增guhe_v2分支,非重写路由。
    • 2. KB加载方式:Java侧知识库走DB(HealthKnowledgeBase/KnowledgeBaseController);L4归因标准值取DB(AttributionNormValue/HealthNormReference/CognitiveNorm);Python侧另有rag/microbiome_loader文件加载。判定:L2改造走服务/DB接口新增,非纯文件升级。
    • 3. L4引擎存在性:存在——service/attribution 已有 FiveDimAttributionEngine/MainCauseChainEngine/NormCompareEngine/IndicatorInterpretEngine/FalsificationEngine。判定:低侧规则补规则类,非新建规则表。
    • 4. 合规门禁挂载点:已有门禁框架——AttributionComplianceGate(a13bb8192,G-1低侧红线组)+AttributionReportBuilder.sections.complianceGate。判定:G-1扩展挂 AttributionComplianceGate(L4出结论后/L5报告构建前)。
    • 验证:mvn compile EXIT=0;mvn test -Dtest=GuheVersionSplitContractTest 5/5 GREEN;cfc-web npm run build EXIT=0(prebuild副作用 .last_build_commit 已还原)。

    v1.0.2243 (2026-11-09)

    文档

    • 研发负责人第71轮闭环巡检汇报 2026-11-09 1009

    v1.0.2242 (2026-11-09)

    文档

    • 研发负责人第74轮汇报 — 12个GREEN实现派发 lan-204 / 签名v2合入 ff76e1607 / B-88坐实孤儿提交重建S-cfc-121
    • R100 测试负责人执行汇报 — 前端实测 383/40(较 R99 陈旧基线 +11 通过)、langgraph 251 派发失败 B-91 登记

    v1.0.2241 (2026-11-09)

    文档

    • R99 研发/运维通知 — B-90 P0 复发、B-65 第8轮、B-82 intent退化、B-89 189失联
    • R99 测试负责人执行汇报 — admin 5/5 + frontend 6/6 浏览器自动化全绿、251 langgraph 43/32/11、B-90 251 live 60s 挂起复发风险登记、B-89 189 节点失联

    v1.0.2240 (2026-11-09)

    新功能

    • 手签名改为竖屏直签 + canvas 2d

    其他

    • onLoad/onUnload 调用、H5 降级提示 h5DegradeHint 与 .rotate-hint),保留竖屏
    • computeCanvasHeight(windowHeight 长边 - 固定栏),任何机型进入即竖屏可签。
    • S4-2 hand-signature.vue:canvas 从旧式 uni.createCanvasContext(canvas-id+draw())
    • 重写为 type="2d" + getContext('2d') + fields({node:true}) 接口(参照 RadarChart):
    • - 触摸坐标优先用 2d 事件相对坐标 touches[0].x/y,不再依赖缓存 rect,笔迹不偏移;
    • - 绘制改同步 ctx.stroke(),笔迹实时可见(修复"画了看不到");
    • - 导出改用 uni.canvasToTempFilePath({canvas: _canvasNode,...}),H5 dataURL/
    • 小程序 fs.readFile base64 既有链路不变;清空改同步 clearRect。
    • 对外契约(props/emit/prefill image 覆盖回显)保持不变,调用方零波及。

    v1.0.2239 (2026-11-09)

    文档

    • 研发负责人 错峰巡检 08:36 轮汇报 2026-11-09

    v1.0.2238 (2026-11-09)

    文档

    • R98 测试负责人执行汇报 — B-61 闭环、契约 7 类转绿、签名 v2 实现验证通过(11/11)、B-88 虚假声称登记

    其他

    • - 浏览器 live 15/15 + health 13/13 全绿零 skip;B-61(/api/health/plan 匿名越权)闭环 P0 解除
    • - langgraph 251 实派:43/32/11 全环境性(B-65 x2 + B-74 x5 + B-82 x4),兜底拉取会话结果
    • - 签名 v2(feature/signature-canvas2d@c0db9643c)契约复验 11/11 全绿,实现待合入 cfclub
    • - B-88 登记:研发声称 14f238ac6「12/12 绿」不在 HEAD 链且源码无实现(虚假声称,同 P27/P67 族)
    • - 前端 jest 49 红预期 RED 零漂移;cfc-web 116/116;根级 23/7/16

    v1.0.2237 (2026-11-09)

    测试

    • 契约测试补全 signature.canvas2d.rewrite RED 覆盖

    其他

    • TC-SIG2D-03c 2d data 字段 canvasWidth/Height/dpr/_rectLeft/_rectTop/_destroyed/_initTimer(预期 RED)
    • TC-SIG2D-02-E 导出降级链路 H5 dataURL + fs.readFile base64(既有链路 GREEN 基线锚)
    • 实测基线(旧实现):11 failed / 3 passed / 14 total

    v1.0.2236 (2026-11-09)

    文档

    • 错峰03 第73轮 O-18 主理人最终确认生效 + 研发负责人标准汇报(不含能力键名防误配)
    • 迁移方案追加 T8.1 并行 CF automation 收敛 + 验证期开启 N≥3 日闭环稳定验证

    v1.0.2235 (2026-11-08)

    新功能

    • T9 KB 版本感知 谷禾2026新版扩展知识(11 子键)+guhe2026.2
    • G-2 16S 粒度拦截合规门禁 - granularity != strain 禁生成含菌株号的商品推荐 (enforceStrainBlock + scan 粒度感知重载 + no_strain_recommendation, DOC-2026-11-08-guhe-v2-T6 / guhe.gate.strainBlock) + 契约测试取值修复
    • L4-1 条件致病菌低侧四机制/双刃剑解释(关联非因果+U型双向)+ L4-2 参考下限0不标偏低超标(ND仅低于检出丰度)
    • S-cfc-89 T13 空壳率防错 实现+契约测试7绿
    • T1/L2-2 条件致病菌低侧判读补充(人工)作为统一知识库独立可查询子键

    其他

    • - UnifiedKnowledgeBaseService 注册 MODULE_GUHE2026_EXT(MODULE_KEYS 13→14),importFromClasspath 覆盖式幂等不累积
    • - 计划文档 T9 勾选 + 实现报告(C 档 4 项探测结论)
    • - GuheKbVersionSenseContractTest 11/11 转绿;GuheKbFieldExposeContractTest 6/6 回归绿
    • 四机制/双刃剑 meaning 模板(措辞源 KB L9091-9123)+ isGutFloraLowerBoundZero 判定
    • - NormCompareEngine.applyBandFromNorm:gut_flora 常模 p5<=0 时 LOW→NORMAL/MID/percentile=null(仅菌群常模,DAN 不受影响)
    • - IndicatorInterpretEngine.attachEvidence:STATUS_LOW 条件致病菌注入 meaning + setAssociationOnly(true)
    • - 新增 ConditionalPathogenLowSideRuleTest 10 例:L4-2 四态/L4-1 五态/参考下限0不产生归因节点/
    • G-1 红线(causal bridge/处方化/补菌)scan 零违规自证
    • - 报告 docs/tdd/orchestration/report-dev-2026-11-09-t3-lowside.md:T3 实现核验 + C 档 4 项平台探测结论
    • (Adapter 形态=L1-1 新增指纹分支;KB=DB主源+classpath种子;L4 引擎=补规则非新建;合规门禁=已挂 L4/L5)
    • 实现从并发 rebase 丢弃的 WIP 悬挂提交 60f5746ec 原样恢复;未动 PdfParseService(T12)/FiveDimAttributionEngine(T14) 工作区增量。
    • - UnifiedKnowledgeBaseService:MODULE_LOW_SIDE_PATCH + MODULE_KEYS 12→13 + getLowSideJudgmentPatch()
    • - HealthKnowledgeBaseController:POST /api/health/knowledge/unified/low-side-patch
    • - 验收测试 UnifiedKnowledgeBaseLowSidePatchTest 4 用例(21 断言镜像全部通过)+ API_REFERENCE 端点记录
    • - 验证:mvn compile BUILD SUCCESS;端到端 VERIFY PASS(21/21);cfc-web build 通过
    • - 附带 C 档 4 项探测结论报告(Adapter/KB加载/L4引擎/合规门禁挂载点)

    文档

    • fix impl hash in session report (120b81285 -> 688fc65f9, rebase 落位哈希)
    • T6 G-2 16S 粒度拦截实现会话报告 - 实现摘要 + C档4项探测 + 契约测试修复说明 (guhe.gate.strainBlock)

    v1.0.2234 (2026-11-08)

    新功能

    • S-cfc-85 实现 T14 五维 no_path 映射(L4-4)——菌群观测对富/行自动标 no_path(attribute 扣分拦截:保持基数、低侧弱维不遮挡富/行)、心/智介导链自动加 ⚠ 并锁 G-1 关联措辞白名单、低侧口径归身维主战场;新增 noPathMap()/isNoPath()/mediationChain() 契约方法,GuheNoPathMapContractTest 10/10 转绿 + 计划文档 T14 勾选 + 实现报告(C 档 4 项探测结论)
    • 个人层双断言(L2-4)_PERSONAL_KEYS 键名级 + 页码残段/ND 参考 内容级

    其他

    • T12 分页残段清洗下沉(guhe.l1.pageTailClean)
    • (Python _strip_table_tail() 的 Java 下沉):剥离含 \d{1,3}/16\d
    • 分页页码拼接残段(如 34/167)的残段行
    • - parseText() 对 guhe 报告解析前自动调用 stripTableTail(),
    • Adapter 调用解析即自动获得清洗(个人层丰度不混入知识层)
    • - 新增校验断言入口 assertTailClean()(断言清洗后残段 0 命中)
    • - 声明残段标记常量 PAGE_TAIL_SAMPLE(34/167)与残段断言正则
    • PAGE_TAIL_ASSERT_REGEX(\d{1,3}/16\d)
    • - 契约 GuhePageTailCleanContractTest 6/6 转绿;
    • 同批 T13/T14 契约保持绿,T8 3 红为未实现(非本任务)
    • 改动:
    • - 新增 PersonalLayerDualAssertion:写库前对个人层条目执行
    • 1) 键名级断言(_PERSONAL_KEYS 白名单:丰度/正常范围/人群水平/检出率/状态/
    • 说明/改善方式/评估值/参考范围,支持主体+键后缀匹配);
    • 2) 字符串内容级断言(扫全文命中 分页残段 \d{1,3}/16\d、ND 参考、
    • 缺X补X 知识层泄漏伪键 即判违规)。
    • - 新增 PersonalLayerDualAssertionTest:正样本「大肠杆菌改善方式以『苦丁茶』开头」
    • 必须通过;分页残段/ND 参考/知识层键/缺X补X 负样本全部命中;合法含%内容不误杀。
    • C 档平台现状(自主探测,已记录于报告):
    • - Adapter 形态:已有指纹路由 ReportParserDispatchService(新增 guhe_v2 分支即可)
    • - KB 加载:UnifiedKnowledgeBaseService(DB 主源 + classpath 种子兜底)
    • - L4 引擎:service/attribution 五阶段 pipeline 已存在(补规则即可)
    • - 合规门禁:AttributionComplianceGate 已挂 AttributionAnalysisServiceImpl(G-1 部分落地)
    • 验证:
    • - mvn -f cfc-backend/pom.xml compile → BUILD SUCCESS(2112 源文件)
    • - 隔离 harness:正样本 ALL_PASS + 负样本全拦截
    • - cfc-web vue-cli-service build → Build complete
    • 不新增 DB 迁移。

    文档

    • /superpowers/plans/2026-11-08-浠艾福平台程序修改计划.md。

    v1.0.2233 (2026-11-08)

    文档

    v1.0.2232 (2026-11-08)

    文档

    • 研发负责人第87轮闭环巡检汇报 2026-11-09-0615(黑窗内第二档模型批量重派16任务+签名v2实现派发+29键sha全IN CHAIN)

    测试

    • 测试负责人 R97 执行汇报 2026-11-09 0610 — 后端首次全量实测 2802例/94.75%(143红=预期RED94+装置37+产品12) + 251 派发 pytest 43/33/10 达成(G10首次) + 浏览器 28/28 零skip(B-76/B-59闭环) + B-65定性修正(依赖版本侥幸) + B-69定位PUBLIC_PATHS + 新增B-84/85/86/87

    v1.0.2231 (2026-11-08)

    文档

    • 研发负责人第73轮闭环巡检汇报 2026-11-09-0535(lan-189 失联实证:黑窗叠加连接被拒 + 17假YELLOW维持 + S-cfc-116待解禁派实现 + SC 15/241)
    • 研发负责人第72轮闭环巡检汇报 2026-11-09-0525(17假YELLOW实证核验/黑窗至08:15双档09:15零派发 + B-77/78闭环 + SC 15/241)
    • 研发负责人闭环巡检汇报 2026-11-09-0516(17键假YELLOW账本实证 S-cfc-98~115 lan-189 滞留 + 黑窗至09:15零派发 + SC 15/241)

    v1.0.2230 (2026-11-08)

    文档

    • 研发负责人第66轮闭环巡检汇报 2026-11-09-0505(黑窗双档封禁至09:15实测 + S-cfc-106 实现回填 yellow_sha=01176a4c9 + SC 15/241)

    v1.0.2229 (2026-11-08)

    文档

    • 测试负责人 R96 执行汇报 2026-11-09 0431 — 前端 41→49 红(S-cfc-97 新增 8 RED 契约) + 251 再断(B-55) + B-83 新增 + B-81 续催
    • 研发负责人第86轮汇报 2026-11-09-0426(修正 O-18 台账表述:既有登记维持 + 黑窗解禁校准 09:15)
    • 修复 pending.md — 恢复远端正确版本(误用主工作树旧副本覆盖,含删除既有 O-18 记录)
    • pending.md 补登 O-18(派发自动链断裂/黑窗兜底,研发负责人意见待主理人终裁)
    • 研发负责人第86轮闭环巡检汇报 2026-11-09-0426 — 黑窗解禁校准 09:15 + YELLOW 28/28 复核 + O-18 台账补登
    • 研发负责人闭环巡检 0419 轮汇报 — 18 GREEN 黑窗空转核验 + 签名 v2 实现未推(待 08:15 派) + O-18 待确认维持 + SC 15/241
    • 研发负责人第71轮汇报(错峰03 2026-11-09 0410)— 签名 v2 契约 S-cfc-116 入池 + 18 GREEN 黑窗空转核验 + O-18 待确认维持

    新功能

    • S-cfc-106 既有键新字段暴露 L2-3 回填(只填空不覆盖)— 菌属功能库[40]埃希氏菌属/[72]大肠杆菌/[73]脆弱拟杆菌 偏高影响/偏低影响+功能说明、菌种综合信息「埃希氏菌属」偏低侧影响、新增「艾德范思大肠杆菌」健康定植说明,使 GuheKbFieldExposeContractTest 6/6 转绿

    v1.0.2228 (2026-11-08)

    测试

    • signature.canvas2d 契约断言装置修正——01c 仅匹配调用形式(排除注释引用) + 03b 双断言(运行时格式+源码 _uid 机制);v2 实现(c0db9643c)下验证 11/11 全绿
    • langgraph conftest 显式 init_checkpointer + pytest-asyncio loop scope(auto_tag 5 例自 checkpointer 500 转 LLM 断言,权威验证在 251)

    v1.0.2227 (2026-11-08)

    文档

    • 测试负责人 R95 研发交接通知 — B-77/B-78 解除(chat live 200 + 251 派发 pytest 44/36/8) + B-81 签名 v2 新契约 RED 9 例 + B-65/B-69 连续 5 轮催办
    • 测试负责人 R95 执行汇报 2026-11-09 0320 — langgraph 251 实派 pytest 44/36/8(B-77 解除/B-78 解除/B-56 派发根因修正) + 签名 v2 契约 B-81(9 RED 预期) + 后端 95.68%(+66 红=Guhe 11 类预期 RED 非回归) + 前端 41 红(diet24+participant8+canvas2d9)

    v1.0.2226 (2026-11-08)

    文档

    • 研发负责人 0200 轮汇报 — lan-204 wedged 回收重派 lan-248(axonhub/deepseek) + B-61 定性部署缺口(ba6c0ebe6 IN CHAIN) + YELLOW 27/27 复核 + 契约测试 13/19 备齐
    • TR-20 送测试侧 27 YELLOW 键复验 mark-green — 实现全部在链复核通过(0130轮)

    测试

    • RED 契约测试 guhe.report.personalAssert 个人层双断言(键名级+内容级) 7红2绿
    • S-cfc-92 guhe.gate.lowSideRedline 契约测试(实现已存在 a13bb8192,验证转登记)
    • S-cfc-94 add RED contract test for 低侧判读补丁块查询 (L2-2/T1)
    • guhe.lowSide.ruleLoad 低侧判读规则入库 RED 契约单测 (T3/L4-1,L4-2)
    • S-cfc-97 add RED contract tests for 推荐食材健康问卷调整提示条与分组 (B1-B3)
    • diet.food.healthAdjust 契约级单测(RED,预期红)
    • s run: 10, Failures: 9, Errors: 0(9 条契约断言失败即 RED 达成)

    其他

    • - 正常流:AttributionLowSideRules 应入库 四机制/RULE_U_SHAPE/RULE_REF_LOWER_ZERO 规则码 +
    • 判读铁律 INTERPRET_LAW_LOW_SIDE(关联非因果)+ U 型口径 U_SHAPE_CALIBER_HINT +
    • 规则加载入口 lowSideInterpretRules()
    • - 边界流:IndicatorInterpretEngine 对偏低大肠杆菌(参考下限 0)应按四机制判读、
    • 全部标关联非因果、套 U 型双向口径(越低越好不成立、参考下限,不标偏低超标)
    • RED 验证:10 run / 9 fail / 0 error(仅权限流说明性用例通过)
    • 溯源 2026-11-09-diet-recommendation-health-questionnaire-adjust.md §1-3(A1-A5)。
    • - A1: HealthFilterService 应提供 checkFoodBlocks / checkDietPreferenceAdjust,
    • loadProfile 并入 lifestyle.allergySymptoms(反射+Mockito 行为探测)
    • - A2: FoodRecommendService.getCurrentFoods 每食材输出 adjustment/adjustmentReason
    • - A3: Food 增加 @TableField(exist=false) 瞬态字段 adjustment/adjustmentReason
    • - A5: generateIngredientList 补充 checkDrugInteractions 用药维度 + dietType 宗教饮食过滤
    • - A4: reportId 分支快照不变(说明性用例)
    • 验证(RED):mvn -Dtest=DietFoodHealthAdjustContractTest test

    v1.0.2225 (2026-11-08)

    文档

    • 研发负责人工作汇报 2026-11-09 0130 — 68键状态机(RED19/YELLOW27/GREEN8/DONE14) + 27 YELLOW实现全在链复核 + 19 RED测试侧契约批次在途 + 新缺陷修复9e6825ef8跟踪
    • 食材推荐按健康问卷个性化调整 需求变更+设计
    • 研发负责人工作汇报 2026-11-09 0054 — 68键状态机(RED19/YELLOW27/GREEN8/DONE14) + SC 15/241 + 11 dispatched RED 任务 git 实证完成 + 会话全 idle 待 hub 拾取 pending
    • 错峰03第70轮 - O-18 裁决(自动巡检链注册/diet走hub入池/8僵尸重派)+ 研发汇报 0015
    • 迁移方案追加 T8 巡检并入 WorkBuddy automation 落地状态
    • v2 实现方式重写任务书+需求变更(竖屏直签+canvas type=2d,取代 11-08 横屏适配 a7edf5698)

    Bug 修复

    • 报告采集兜底成员绑定与食材成员视角归一

    其他

    • 1. 报告无成员名:PDF 未提取到姓名 → person_name 空
    • 2. 报告列表选成员看不到:subject_id 落空(NULL),getMemberReports 按 subject_id 过滤查不到
    • 3. 成长页饮食推荐选成员看不到食材:users.id 与 family_members.id 数值重叠时
    • resolveFoodIndexUserId 的 users 优先启发式把成员卡误判为无关用户
    • 修复:
    • - ReportCollectService.insertReport:姓名匹配失败回退 draft.member_id;下游统一使用归一化
    • 成员卡 id(created.subject_id);buildReportFromPayload 对空 person_name 回填成员昵称
    • - FoodRecommendService:新增 resolveMemberViewToUserId(成员视角 family_members.id → users.id);
    • recalculateForUser 写键基于报告 subject_id 权威化,规避数值碰撞
    • - HealthReportController /api/health/foods、FoodRecommendController /api/food/recommendation/caution:
    • 成员视角入参先经 resolveMemberViewToUserId 归一
    • 测试:FoodRecommendMemberViewResolutionTest 6 例全绿(成员视角解析 + 写键权威化)
    • granularity != strain 时禁生成含菌株号的商品推荐 (叠加 §5.2 16S 粒度声明)。
    • RED 探测: AttributionLowSideRules/AttributionComplianceGate 无 no_strain_recommendation
    • 规则码; 归因模型无 granularity 维度; 门禁无 enforceStrainBlock 入口; L5 scan 不回扫菌株号。
    • 预期红: 6 run / 5 fail (结构+行为双通道), 权限流说明性用例通过。
    • TDD 入池 diet.food.healthAdjust(UI) 能力键 RED 登记(S-cfc-96/97)。
    • 溯源:用户 2026-11-09 拍板。
    • - guhe_v2 解析后校验增量 11 键齐全(21 旧键 + 11 增量键 = 32 键)
    • - 空壳(曾误用艾德范思提取器产 26 键)→ 换正确提取器 extract_guhe_v2
    • RED 预期:实现未落地,5 用例红(守卫入口/11 键基准/32 键边界/26 键空壳签名/提取器寻址),
    • 2 用例说明性绿(parseReport 挂载点 + 权限流不适用)。纯反射结构契约,无 Spring/DB/外部服务。
    • GREEN 指引:ReportParserDispatchService 提供空壳守卫入口(方法名含 Shell/KeyComplete/ValidateKeys),
    • L1 层声明 11/32 键边界与 26 键空壳签名、增量 11 键集合,并寻址 extract_guhe_v2。
    • guhe2026-new-extension module (11 subkeys incl low-side patch subkey),
    • with idempotent upgrade script (importFromClasspath: overwrite, no accumulation).
    • RED: 9/11 fail - seed version is 2.0, extension module not registered/loaded.

    测试

    • S-cfc-81 add RED contract tests for 16S granularity strain-block gate (T6/G-2)
    • S-cfc-91 guhe.gate.evidenceIsolate 证据码隔离契约测试(TDD-RED,11 红 1 绿权限流)
    • guhe.l1.pageTailClean 分页残段清洗下沉 RED 契约单测 (T12/L1-2)
    • S-cfc-89 add RED contract tests for empty-shell rate guard (T13/L1-4)
    • S-cfc-90 add RED contract tests for guhe_v2 fingerprint route (T7 chain aidefansi->beijing->guhe_v2->standard + trigger words + 32-key self-check)
    • S-cfc-88 add RED contract tests for P3 cross-case aggregate (T15 low-side reading aggregate & same-strategy retrieval)
    • S-cfc-87 add RED contract tests for existing-key new field exposure (T10 L2-3: genus-function-library [40]/[72]/[73] high/low impact, species-info Escherichia low-side impact, aidefansi E.coli colonization note)
    • S-cfc-86 add RED contract tests for low-side no-supplement redline (T4/L4-3, contract not landed)
    • S-cfc-85 add RED contract tests for five-dim no_path mapping (gut_flora no_path to wealth/action, mind/wisdom mediation chain locked wording, low-side body battlefield)
    • S-cfc-84 add RED contract tests for report format version split (T8/L1-3 old 21-key vs guhe_v2 32-key)
    • S-cfc-83 add RED contract tests for KB version sensing (T9 L2-1)
    • S-cfc-80 add RED contract tests for co-diner participant select (family opens multi-select with default all, personal passes currentMemberId)

    v1.0.2224 (2026-11-08)

    测试

    • 测试负责人汇报 2026-11-09 00:30 — 后端首次全量 2664 例 98.01%(20红类/49红例/0环境红) + 签名横屏 B-75 闭环(7例) + 成长页容差守护(4例) + B-77 251 chat 挂起/B-78 251 无源码/B-79 dx 假绿修复/B-80 reset-db 凭据

    v1.0.2223 (2026-11-08)

    文档

    • 研发负责人工作汇报 2026-11-08 2259 — 66键状态机稳定(RED17/YELLOW27/GREEN8/DONE14) + SC 15/241 + 测试R90-R93协同 + 189通道修复 + guhe/diet 17 RED 入池派发

    v1.0.2222 (2026-11-08)

    文档

    • 第93轮研发通知 — B-75签名横屏SRS待实现(已补用例) + B-55解除(251服务恢复/派251落地) + B-76 admin非确定flaky + B-65/B-68/B-69持续催办 + B-54正式派251消除env假红
    • 手签名横屏适配任务书+需求变更(R1高度未重算/R2 rpx横屏放大/R3 rect未刷新)
    • 第92轮研发通知 — B-65连续4轮未修 + S-cfc-79 24 RED + B-74装置6红 + 改善通报(LLM401归零/251服务恢复/B-61 12轮零回归)

    测试

    • 测试负责人汇报 2026-11-08 22:27 — 251 langgraph 服务恢复(派251指令落地)+ 签名横屏SRS补用例(B-75)+ admin非确定flaky(B-76)+ B-55闭环
    • 测试负责人汇报 2026-11-08 22:1x — langgraph LLM401归零(+4转绿) + B-74 测试装置6红 + B-65 精确拆分 + 三节点E2E 28/28

    Bug 修复

    • 成长页六宫格三列布局容差修复 — calc(33.333%-8rpx)→calc(33.333%-12rpx),余量 0→1.73% 防临界折行(并入自 fix/growth-grid-6col@a6ba414da)

    新功能

    • G-1 low-side redline compliance gate - association_only enforce + no causal bridge/prescription + sections.complianceGate

    v1.0.2221 (2026-11-08)

    文档

    • 错峰03 第69轮 - GAP-A 契约§6四项拍板生效(①DEVICE/②tier2/③A/④不加索引) + O-17追加 + 研发汇报

    测试

    • 189 派发通道根因定位(缺 LLM 凭证)+ 客户端触发流程修复(_dispatch_189.cjs)

    v1.0.2220 (2026-11-08)

    文档

    • 研发负责人1第31轮汇报(派发链断裂识别+guhe15手动补派+O-18登记)

    v1.0.2219 (2026-11-08)

    测试

    • 测试负责人汇报 2026-11-08 20:08 — 前端 S-cfc-79 24 RED(B-73) + B-61 健康鉴权 live 闭环(13/13)

    v1.0.2218 (2026-11-08)

    Bug 修复

    • 按用户裁定统一三档模型链(首opencode-free/次节点绑定deepseek/末agnes-3.0); fallback_model移入config.local.json

    其他

    • S-cfc-79: add RED contract tests for diet.recommendation.uiRework (missing top title, 4Tab layout, pagedFoods slice, visibleCount reset, selfLabel=我, generateRecipe loading)

    v1.0.2217 (2026-11-08)

    文档

    • R90 追加窗口内 SRS 变更登记(diet-recommendation-polish / dx-health-bridge / articles 异步音频)

    测试

    • 测试侧装置修复 23 例转绿(上下文数据源/Mockito 原语位/Result 读取位) + R90 门禁台账

    其他

    • - A-4 夹具: FamilyJoinRequest 补 4 桩(5/5) + FortuneService 补 2 桩(4/4)
    • - A-6: ProductOrder fulfillment anyInt()/getData()/状态复位(6/6) + UpdateExpress 7 参 verify(3/3)
    • - 后端全量基线 2628 例 97.34%(24 红类/66 红例), 与 R89 零漂移
    • - 新增 B-72 线上短窗口 502 抖动; B-69/B-65 连续第 3 轮未修
    • - 门禁: 有条件不通过 (G2/G7/G9/G10 未达标)

    v1.0.2216 (2026-11-08)

    文档

    • 研发负责人汇报 2026-11-08 18:16(第70轮·guhe_v2/diet 14 RED 入池 + 场景覆盖矩阵 15/241)
    • 迁移方案追加 T7 会话恢复 --resume 子命令落地状态
    • 浠艾福平台程序修改计划 v1.0(guhe_v2 兼容·知识库低侧口径·专家同步)——入池溯源锚点
    • 迁移方案追加 T6 填槽并入 --auto 落地状态(池空提示 + 巡检 prompt 对齐 fill_slots)

    新功能

    • 发布后异步预生成朗读音频 + 正文变更作废旧音频
    • 规划师(teacher)按 roles 列表判定身份,修复主角色为 parent 的认证规划师看不到服务中心入口

    其他

    • - 文章更新时:朗读文本变化,或朗读文本为空时正文变化,均作废旧音频并异步重新生成
    • - 生成中并发保护:发布预生成与用户点听文章不重复合成,点播短暂等待缓存
    • - 新增单元测试:发布预生成 3 例 + 作废规则 8 例
    • - 新增 RolesUtil:hasTeacherRole(role, roles) 按完整角色列表判定规划师身份;
    • effectiveRoles(user) 保证签发 token 时首位恒为主角色(role claim 不变)、roles claim 携带完整角色集
    • - 小程序 token 签发(UserService×10、InviteCardService×4)改为携带完整 roles
    • - 40 处原 !"teacher".equals(role) 守卫改为 !RolesUtil.hasTeacherRole(role, roles),
    • 涉及 guide/planner/health-plan/assessment/growth/article 相关控制器及 GuideFamilyAccessGuard
    • - GuidePlanReviewController/GuideFamilyQueryController 调用方透传 roles
    • - 既有契约测试补 roles=null(语义等价旧断言);新增 RolesUtilTest 与
    • GuideFamilyAccessGuardTest roles 放行用例;123 个受影响单测通过
    • 前端(需人工重新打包小程序):
    • - api.js: 修正 getUserRoles/switchRole URL(/api/family/user/...),
    • 新增 getTeacherInfo/getTeacherPendingTasks(指向 dashboard-stats)/getTeacherUnreadCount
    • - profile-main: loadTeacherIdentity 按 roles 探测规划师身份,服务中心入口/待审核提示
    • 改用 isTeacherUser,写 teacherStatus/userRoles 至 storage
    • - service-center: initRole 按 roles 判定 + 状态兜底拉取,解析 dashboard-stats 待办/服务家庭数,
    • 新增「培训认证」入口(打通 certification-center 唯一入口)

    v1.0.2215 (2026-11-08)

    文档

    • 推荐食材页面改版需求变更(去标题/Tab化/互斥选中/个人改我/生成提示/前端分页/共餐人选择)
    • 迁移方案追加 T5 派发链直连落地状态(hypothesis-.workbuddy dispatch 直连 skill)
    • 研发负责人闭环汇报 2026-11-08-1655 — GAP-A 桥接契约补建 + O-17 确认生效
    • 研发负责人闭环汇报 2026-11-08-1655 — GAP-A 桥接契约补建 + O-17 确认生效

    Bug 修复

    • computeRelationshipLabel 按 family_relationships 存储约定解析辈分差
    • 审批通过合并家庭后重载用户,防止 users.family_id 被陈旧对象回写

    其他

    • 对方是晚辈)。原实现按「对方相对查看者辈分差」解析,方向相反,导致
    • createRelationsForNewMember 及家庭关系列表兜底标签反转(把父辈标成女儿)。
    • 翻转映射以与存储约定一致;新增契约级单测固化语义(6例)。
    • 但 approveJoinRequest 持有旧 user 对象,后续 userMapper.updateById(user) 把
    • family_id 回写为原家庭(现象:用户124加入114后 family_id 仍为128)。
    • 重新加载 user 并修正日志 oldFamily 取值。

    v1.0.2214 (2026-11-08)

    文档

    • 迁移方案 v4 — 追加 T4 实施状态(槽位并发锁已落地验证)

    v1.0.2213 (2026-11-08)

    文档

    • 迁移方案 v3 — 追加 T3 实施状态(多实例负载选路已落地验证)
    • 研发负责人闭环汇报 2026-11-08-1630 — 账本收口(78done/1failed) + 27 YELLOW 证据复核 + GAP-A 登记 O-17(D/X 桥接缺口仅登记不实现)
    • 测试负责人第89轮闭环汇报 - 后端全量97.34%(红66,-8)、R88定向修复3类全量确认、cfc-web契约闭环(S-cfc-77/78实现116/116全绿)、浏览器28/28零回归、全量97.38%

    v1.0.2212 (2026-11-08)

    文档

    • 研发负责人闭环汇报 2026-11-08-1557 — 5 RED 键账本回填 YELLOW(S-cfc-77/78 实现合入) + B-61 收口复核 + 部署缺口登记

    v1.0.2211 (2026-11-08)

    文档

    • 迁移方案 v2 — 追加 T1-T2 实施状态(实例级模型链+家族黑窗已落地验证)
    • 研发负责人闭环汇报 2026-11-08-1500 — S-cfc-77/78 首派失败回收重派(lan-248/axonhub) + YELLOW 22/22 IN CHAIN 复核

    新功能

    • S-cfc-78 GREEN 实现 admin.family.reportEntry/planEntry/createdAtDisplay/actionMenu
    • S-cfc-77 admin.familyCoupon.backToList 家庭优惠券页返回按钮

    其他

    • - planEntry: 列表方案数=0 也渲染可点击 el-link,plans 弹窗补「代生成方案」入口(跳转 /health-plan-manage 携带 familyId)
    • - createdAtDisplay: 创建时间列改用 formatTime(yyyy年MM月dd日 HH:mm:ss,含时分秒)
    • - actionMenu: 更多下拉去掉「查看成员」「删除」,清理 handleActionCmd 对应 case
    • 覆盖红测试: FamiliesReportEntry/PlanEntry/createdAtDisplay/actionMenu 4 specs 全部转绿(23/23)
    • (:back=true)并绑定 @back,点击显式 router.push 回 /admin/families
    • (而非 history.back())。契约单测 3 项全绿。
    • 漏传 memberPrice 字段,checkout.vue 的 effectivePrice 无法核减会员价。
    • 补透传 d.memberPrice(无则 0),与购物车入口行为一致。
    • 1 文件 1 行。

    Bug 修复

    • 优惠券跳确认订单透传 memberPrice 使会员价核减生效

    v1.0.2210 (2026-11-08)

    文档

    • hub-orchestrator 替代迁移方案(分两步收编)— 能力矩阵盘点 + T1-T8 迁移任务 + 验收/回退
    • 测试负责人第88轮闭环汇报 - 后端首次全量97.03%(红74,-41)、B-61 P0闭环(13/13)、B-64/B-66/B-71修复(49/49)、新增B-65/B-68/B-69/B-70

    v1.0.2209 (2026-11-08)

    文档

    • 研发负责人闭环巡检汇报 2026-11-08-1453 — 状态机对账(RED5/YELLOW22/GREEN8/DONE14) + S-cfc-77/78 在途 + O-7 契约前置核验
    • 研发负责人闭环巡检汇报 2026-11-08-1450 — 池空不空闲派发 S-cfc-77/78 GREEN(5 键 RED 契约实现)

    v1.0.2208 (2026-11-08)

    其他

    • 只写 config.local.json(gitignored),不得写入共享入库的 config.json;config.json 只放 model_chain。
    • 本次移除 6 实例 fallback_model + 顶层 default_fallback_model;lan-248 链第三档校正为 agnes-ai/agnes-3.0-flash
    • (实测该节点 agnes 前缀为 agnes-ai/,原 agnes/ 不可命中)。

    v1.0.2208 (2026-11-08)

    测试

    • S-cfc-75 admin.family.createdAtDisplay 契约红测合入主链(创建时间列须显示时分秒 formatDateTime)

    v1.0.2207 (2026-11-08)

    测试

    • S-cfc-76 admin.family.actionMenu — RED 契约单测(更多按钮去掉查看成员/删除,4例全红)
    • S-cfc-74 能力键 admin.family.planEntry 契约级单测(TDD-RED,预期红 6/6)——planCount=0 可点击进方案明细 + plans 弹窗补「代生成方案」入口
    • S-cfc-73 能力键 admin.family.reportEntry 契约级单测(TDD-RED,预期红 6/6)——reportCount=0 可点击进报告明细 + 报告弹窗补代传报告入口
    • S-cfc-72 admin.familyCoupon.backToList — RED 契约单测(3例全红)

    其他

    • 溯源·需求:docs/superpowers/specs/2026-11-08-family-admin-list-polish.md §需求5
    • (更多按钮里去掉查看成员,家庭不能删除)
    • 溯源·设计:Families.vue L92-96 删除 viewMembers/delete 两个 dropdown-item;
    • L384-390 handleActionCmd 清理对应 case;后端保留 deleteFamily API 不删。
    • 契约断言(6例,4红2绿):
    • - 操作列存在 / 「更多」下拉菜单渲染(基线,绿)
    • - 下拉菜单不再出现 command=viewMembers(红:当前仍存在)
    • - 下拉菜单不再出现 command=delete(红:当前仍存在)
    • - handleActionCmd 不再分发 viewMembers(红:当前仍分发)
    • - handleActionCmd 不再分发 delete(红:当前仍分发)
    • 当前实现未落地,预期 RED;GREEN 阶段按设计删除对应 dropdown-item 与 case 后转绿。
    • 参考同批 S-cfc-75 Families.createdAtDisplay.spec.js 的读源码风格。
    • 溯源:docs/superpowers/specs/2026-11-08-family-admin-list-polish.md §需求1
    • 契约断言:
    • - 从家庭管理列表进入优惠券管理页时,PageHeader 渲染返回按钮(back=true)
    • - 点击返回按钮应 router.push 回 /admin/families(显式导航)
    • - 返回列表不使用 history.back(),而是 router.push 指定目标路径
    • 当前实现未落地,预期 RED;GREEN 阶段实现后三例转绿。
    • 参考 PageHeader 现有 idiom(OrderDetail.vue back + @back 显式 push)。
    • merge(S-cfc-58): family.invite.joinValidationRules 准入校验规则(MIN_BIRTHDAY+分错误文案;统一以58为基准,57/59同源实现)
    • - 真实姓名 trim 非空且长度 1-20 字;出生日期非空、不晚于今天、不早于 1900-01-01(不设年龄上限)
    • - 性别严格 male/female(大小写敏感);缺失/非法直接抛错、不落库
    • - 对齐 UserService.java:492-505 解析口径(规格 2026-11-07-family-join-required-info §3 AC-R3 / §5 WI-3)
    • - FamilyJoinValidationRulesContractTest 14/14 绿;同实现的 Gate 12/12、RequiredInfo 10/10 同步转绿
    • (契约 §5.2: inviteCode + 小程序码wxacode(独立团队落地页) + systemId + teamName + inviterId):
    • - 复用 distributionService.generateInviteCode 生成 8 位邀请码(§7.7 不新建表);
    • - wxacode = WechatService.generateWxacode(scene=code, page=pages/team-invite/join),
    • WechatService 不可用/失败时降级返回落地页路径兜底(契约仅要求非空);
    • - teamName = getUserTeams 解析命中体系名, 查询不可用降级空串;
    • - 错误透传: 体系不存在/未启用/不在体系中沿用 service message。
    • TeamInvitationCreateContractTest 7 用例 2 红转绿(5 边界/权限流维持绿)。
    • - realName null/空白/超20字、birthday null、gender 非 male|female → 拒绝加入且不落库
    • - birthday 晚于今天 / 早于1900-01-01 → 拒绝(年龄不设上限)
    • - 契约测试 12/12 全绿(FamilyJoinRequestServiceJoinValidationGateTest)
    • - StarScoreCalculator 补齐看板契约:starThreshold / weightedScore / gapToNextStar /
    • isPromotable(双门槛,兼容看板与重评两种调用约定) + 实时聚合 currentStarLevel / totalScore /
    • dimensionBreakdown / dualThresholdProgress / conversionRates / conversionPaths(按最易够到排序) /
    • twelveMonthTrajectory(读 team_star_snapshot 近 12 月,升序)/ myView 聚合
    • - 新增 TeamStarController:POST /api/team-star/my-view,统一 Result,@RequestAttribute userId
    • - 新增看板 DTO:TeamStarMyViewVO + 三维构成/双门槛进度/换算率/换算路径/轨迹点
    • - TeamProfitConfigService 增加 team_profit.star_conversion 换算率读取(默认 250/200/10)
    • - 数据源:TeamProfitStatsMapper(直接/团队/推荐收入、团队直推)+ TeamStarSnapshotMapper;
    • 无 Spring/DB 的反射契约场景安全回退默认值
    • - schema.sql / team_star_snapshot(uk_user_period)与实体沿用既有实现,测试已在 origin/cfclub 绿
    • 验证:mvn -o -Dtest=TeamStarMyViewContractTest(24/24 通过);
    • 邻接 StarScoreCalculatorContractRedTest 10/10、TeamProfitAdminManageContractTest 20/20 通过;
    • TeamProfitCronContractTest.refundWithinCooling_cancelAllRecordsFundsNotPaid 为改动前既有红(已复现基线确认)。
    • 文档

      • 测试负责人第86轮闭环汇报 - langgraph 27→26(-1, B-54 DLL漂移)、B-51本地Chromium闭环、浏览器5/5+6/6零回归
      • 测试负责人第85轮工作汇报 - B-61源码已修/部署滞后、B-64装置漂移、langgraph 27/43、3条用例补录
      • 第85轮研发交接通知 - B-61 部署请求(P0)、B-64 装置漂移、langgraph环境红清单
      • 测试负责人第85轮闭环汇报 - B-61源码已修/部署滞后、B-64新增、langgraph +1转绿、3条用例补录(S-cfc-57/58/59/60/70)
      • 研发负责人第67轮汇报(错峰03)账本收口:S-cfc-57/58/59/60/70+B-61 改判done + 5键YELLOW回填yellow_sha

      Bug 修复

      • S-cfc-57/58/59 统一校验实现 - 调用点前移至用户存在检查后(兼容三键契约测试设计锚点,58实现为基准)
      • 健康方案 family 接口纳入登录鉴权 - JwtInterceptor LOGIN_REQUIRED_PATHS 补 /api/health/plan/ 前缀,匿名请求将 401(同族 /api/health/report/ 风格)

      新功能

      • 实现 team.star.digest 月度星级简报(升/降/持平 + 行动建议 + 权益)
      • S-cfc-58 使绿 - createJoinRequest 准入校验门禁 validateJoinRequiredInfo
      • S-cfc-60 team.invitation.create 生成团队邀请返回对象(含wxacode/teamName)
      • S-cfc-57 family.invite.joinValidationGate 加入申请前校验真实姓名/出生日期/性别
      • S-cfc-71 我的星级看板与差距换算(§12-T7 + §4.3.1 ①②)
      • S-cfc-59 家庭加入准入校验门禁 validateJoinRequiredInfo 实现(真实姓名/出生日期/性别三必填,WI-2/WI-3)

      v1.0.2206 (2026-11-08)

      文档

      • 研发负责人闭环巡检汇报 2026-11-08-1205 [safe push via orphan index]

      v1.0.2205 (2026-11-08)

      文档

      • 测试负责人第84轮汇报 2026-11-08 1044(同基线增量复核:frontend jest 355实跑发现B-63四文件未入库已闭环、web 90全绿、langgraph 26/43本机零漂移、B-61第6轮复现P0催办)
      • 研发负责人闭环巡检汇报 2026-11-08-1046 [safe push via orphan index]

      测试

      • B-63 资产入库 - 4个验收守卫测试文件(29例全绿,coupon-claimed-actions 10 / report-upload-linked-products 6 / shop-price-sort 6 / team-invite-share 7,对应 11-06 优惠券/报告卡片/价格排序/团队分享需求)

      v1.0.2204 (2026-11-08)

      文档

      • 测试负责人第83轮汇报 2026-11-08 1030(三节点派发全恢复 B-56解除、admin5/5+frontend6/6+health10/13、langgraph26/43持平、O-14 test_memory装置修复推送2537b4377、S-cfc-68/71用例补登记TC-A-27/28、B-61第5轮复现P0催办)
      • 研发负责人第69轮汇报 2026-11-08 1018(在途观察轮:6个重派任务活跃未产出+B-61鉴权缺口确认+S-cfc-70 flash-free观察,SC 15/241)

      测试

      • 补登记 S-cfc-68/71 新能力键用例 TC-A-27/28 + 异常/权限流(team.admin.manage 分润配置/提现审核、team.star.myView 星级看板)
      • O-14 终裁执行 - test_memory 3 例改传 embeddings=FakeEmbeddings() 桩(MemoryManager 签名契约演进)

      v1.0.2203 (2026-11-08)

      文档

      • 研发负责人第68轮汇报 2026-11-08 1015(部署收口10条confirmed34+6空转任务重派--confirm确认+契约就绪+B-61缺口复核,SC 15/241)

      v1.0.2202 (2026-11-08)

      文档

      • 研发负责人第67轮汇报 2026-11-08 0915(O-14终裁生效+S-cfc-68/71双键回收回填+O-16实战验证,SC 15/241)
      • pending.md O-14 终裁确认(langgraph test_memory 签名变更=预期契约演进,测试侧重写 FakeEmbeddings 桩 3 例)

      Bug 修复

      • S-cfc-71 三维构成合计改为一次性加权,与 totalScore 口径一致

      新功能

      • S-cfc-71 我的星级看板与差距换算(§12-T7 + §4.3.1 ①②)

      其他

      • - StarScoreCalculator 补齐看板契约:starThreshold / weightedScore / gapToNextStar /
      • isPromotable(双门槛,兼容看板与重评两种调用约定) + 实时聚合 currentStarLevel / totalScore /
      • dimensionBreakdown / dualThresholdProgress / conversionRates / conversionPaths(按最易够到排序) /
      • twelveMonthTrajectory(读 team_star_snapshot 近 12 月,升序)/ myView 聚合
      • - 新增 TeamStarController:POST /api/team-star/my-view,统一 Result,@RequestAttribute userId
      • - 新增看板 DTO:TeamStarMyViewVO + 三维构成/双门槛进度/换算率/换算路径/轨迹点
      • - TeamProfitConfigService 增加 team_profit.star_conversion 换算率读取(默认 250/200/10)
      • - 数据源:TeamProfitStatsMapper(直接/团队/推荐收入、团队直推)+ TeamStarSnapshotMapper;
      • 无 Spring/DB 的反射契约场景安全回退默认值
      • - schema.sql / team_star_snapshot(uk_user_period)与实体沿用既有实现,测试已在 origin/cfclub 绿
      • 验证:mvn -o -Dtest=TeamStarMyViewContractTest(24/24 通过);
      • 邻接 StarScoreCalculatorContractRedTest 10/10、TeamProfitAdminManageContractTest 20/20 通过;
      • TeamProfitCronContractTest.refundWithinCooling_cancelAllRecordsFundsNotPaid 为改动前既有红(已复现基线确认)。
      • v1.0.2201 (2026-11-08)

        新功能

        • S-cfc-68 能力键 team.admin.manage 管理端团队分润配置/成本价/流水查询/提现审核

        其他

        • 新增:
        • - TeamProfitConfigService: defaultStarTiers {0,8千,2.5万,7万,14万,25万}/getStarTiers(service_config team_profit.star_tiers 回退,非6档拒止)/比率 80/20/8/award_distribute=platform_rule/权重 50-40-10/saveStarTiers(6档校验)/saveConfig(group_key=team_profit)
        • - TeamProfitFlowService: queryTeamShareRecords (§7.3)/queryTeamAwardRecords (§7.4) 分页查询
        • - ServiceCostConfigService: getCostCent/saveCostCent (§7.5 成本价 upsert)
        • - TeamProfitAdminController: /api/admin/team-profit/* 8 个 @PostMapping(配置/流水/成本价/提现审核) + 平台角色门禁
        • 修改:
        • - WithdrawalService: 新增 type 过滤重载 getAdminList(status,type,page,size) (§11-#7 team_share/team_award)
        • - DatabaseInitializer 迁移463 + schema.sql: service_cost_config 补 service_name/enabled 列(§7.5 规格列,实体已声明表缺列)
        • 验证: mvn test -DskipTests=false -Dtest=TeamProfitAdminManageContractTest → BUILD SUCCESS 20/20(先前一次并发 cfc-web build 导致 surefire JVM 中断,独占重跑通过); cfc-web npm run build 通过

        文档

        • 研发负责人第66轮汇报 2026-11-08 0847(O-15/O-16裁决生效+脚本修复落地+5个GREEN确认执行重派,SC 15/241)

        v1.0.2200 (2026-11-08)

        文档

        • 研发负责人第65轮汇报 2026-11-08 0825(黑窗解除后补派 S-cfc-71 + 派发 B-61 P0,5个GREEN二次重派在途,SC 15/241)

        v1.0.2199 (2026-11-08)

        文档

        • 测试负责人第82轮汇报 + B-61第4轮P0催办 + B-59时序观察 + 台账刷新(admin 5/5复跑转绿、shop 4/4瞬态502复跑转绿、frontend 6/6、jest双绿342+90、lg 26/43持平、S-cfc-61/62/43编译通过)

        v1.0.2198 (2026-11-07)

        文档

        • 研发负责人第64轮汇报 2026-11-08 0725 (复核/协调轮)

        v1.0.2197 (2026-11-07)

        文档

        • 研发负责人汇报 2026-11-08 07:15 第63轮(S-cfc-61/62 回收回填 settle/hook 两键 yellow_sha + 57/58/60/68 无产出恢复 pending + TR-19 送测试,SC 15/241)
        • 研发负责人汇报 2026-11-08 07:00 错峰03跟进轮(第62轮:backfill误配7项回滚+2键YELLOW人工回填+O-16两脚本缺陷登记+S-cfc-55/56收编+3部署收口,SC 15/241)

        新功能

        • S-cfc-62 支付成功钩子接入 5 订单服务 6 调用点 + service_cost_config 表(契约单测转绿)
        • S-cfc-61 GREEN 实现 - 8份分佣+团队奖方法并入 TeamProfitService + service_cost_config 实体/Mapper(5 契约类 32 例全绿)

        其他

        • - allocateEightShares(Long,Long,String,Long,long,long[],int[]):§4.2 #5 八份分佣,逐层 min(当期星级,剩余),金额 round(8份池×份数/8),无人层份额回流不落记录
        • - buildTeamAward(Long,Long,String,Long,Long,long,long,long):§4.4 #3 团队奖分档 TA0/TA1/TA2/TA3=0%/50%/80%/100%,归属平台自有团队负责人
        • 新增 service_cost_config 建表契约的实体 + Mapper(§7.5):
        • - entity/ServiceCostConfig.java、mapper/ServiceCostConfigMapper.java
        • 验证:
        • - 5 契约类 32 例全绿:ProfitPoolOrder 4 + TeamShareRecordEightShare 6 + TeamAwardRecord 6 + StarScoreCalculator 10(复用 S-cfc-43 实现,无冲突)+ TeamProfitSchema 6
        • - 无回归:TeamProfitPipeline 8(S-cfc-64)、TeamStarMultiplier 13(S-cfc-65)、TeamUserPortal 4(S-cfc-63)

        v1.0.2196 (2026-11-07)

        文档

        • 研发交接通知-2026-11-08-第81轮,含B-61 P0催办路径、B-58 conftest 修复确认、B-56 通道新证据、后续复测计划
        • 测试负责人第81轮汇报 + R80报告补推 + 阻塞台账更新(admin 5/5恢复、B-62/B-53/B-58闭环、B-61第3轮P0、B-56派发探针新证据)

        v1.0.2195 (2026-11-07)

        新功能

        • S-cfc-43 §8 定时结算与重评 GREEN - 冷静期7天自动settled入余额 + 月度星级重评升级双门槛落快照 + 退款冲正(§9#7) + StarScoreCalculator 档位/重评 + 迁移461 team_star_snapshot;修正契约测试档位边界笔误(139999=4★/140000=5★)

        文档

        • 研发负责人汇报 2026-11-08 06:10 错峰03推进轮(第61轮:9会话显式模型重派 + S-cfc-63复位误判纠正回填 + 3键YELLOW证据回填,SC 15/241)

        v1.0.2194 (2026-11-07)

        新功能

        • S-cfc-65 实现 TeamProfitService 星级倍率权重/8份池/带教里程碑/实时分润(T10 杠杆2/3/4,13 红用例转绿)

        v1.0.2193 (2026-11-07)

        新功能

        • S-cfc-63 team.user.portal 实现使绿 - 场景A注册绑定 referrerId + 邀请校验补团队业绩预览
        • S-cfc-64 GREEN 实现 - 分润管道化(T9 收入管道化,红→绿)

        其他

        • - DistributionInviteController.validate:校验返回补 teamPerformance 预览键(§5.2,以团队规模 memberCount 先落结构)
        • - TeamUserPortalContractTest:4/4 绿(RED 2 失败 → GREEN 0 失败)
        • - 实体与 Mapper:profit_pool_order / team_share_record / team_award_record(规格 §7.1/7.3/7.4)
        • - 迁移458-460 建三张表 + schema.sql 同步
        • - TeamProfitPipelineContractTest 8/8 通过(RED→GREEN);ProfitPoolOrderContractRedTest 4/4 附带通过

        文档

        • 研发负责人汇报 2026-11-08 05:20 闭环巡检轮(第60轮:team.* 10键实现缺口核验 + S-cfc-60/68~71失败派发实证,O-14落账+O-15登记,SC 15/241)

        v1.0.2192 (2026-11-07)

        文档

        • 研发负责人汇报 2026-11-08 05:06 闭环巡检轮(第59轮核验:19会话在途满载,RED5假红/YELLOW17/GREEN8/DONE14,O-14研发确认,SC 15/241)
        • 研发负责人汇报 2026-11-08 05:00 闭环巡检轮(核验轮:6实例25会话满载R2满足,RED5/YELLOW17/GREEN8/DONE14,SC 15/241,O-14裁决=预期契约演进)
        • 研发负责人汇报 2026-11-08 04:56 闭环巡检轮(会话满载 RED5/YELLOW17/GREEN8/DONE14, SC 15/241)

        新功能

        • S-cfc-66 family.invite.joinRequiredInfoFrontend 加入申请表单补出生日期/性别必填项
        • family.invite.joinRequestCardInfo 审批卡片展示出生日期与性别

        其他

        • - prefill 从 userInfo 带出 birthday/gender;submit 校验三项非空+日期格式,updateUserInfo 透传 birthday/gender
        • - 契约单测 join-form.required-info.test.js 由 12 失败/6 通过 → 18 通过/1 跳过
        • 缺失时优雅回退(v-if 不渲染,避免 undefined/null 乱码)。红单测
        • tests/pages/family-members.joinRequestCardInfo.test.js 由 2 失败转 5 全绿。

        v1.0.2191 (2026-11-07)

        测试

        • S-cfc-44 RED 契约级单测 - 管理端团队分润配置/成本价/流水查询/提现审核(§12-T5+§7.8+§11-#12+#7)
        • RED 契约级单测 team.star.digest 月度星级简报(StarDigestService + team_star_snapshot 表契约)
        • S-cfc-43 team.profit.cron RED 契约级单测(冷静期结算/月度星级重评/升级双门槛/退款冲正,22 用例红)
        • S-cfc-46 RED 契约级单测 TeamStarMyViewContractTest(§12-T7 + §4.3.1 ①② 星级看板与换算,24 用例 23 红)
        • R79 报告 §1.4 真理证据补全推送 sha e21ba54df
        • R79 闭环汇报 - frontend 执行范围扩至19套件/343(14 RED=S-cfc-35/38 生日性别采集未实现) + B-62 登记 + admin/frontend/shop/health/web/langgraph 与R78一致

        v1.0.2190 (2026-11-07)

        测试

        • R78 登记 B-61 P0 健康方案鉴权缺口 + O-14 langgraph 签名变更协调单
        • R78 闭环汇报 - /admin 5/5 全绿打通(登录+滑块+核心菜单) + /frontend 6/6 复跑确认 + HP-U01~03 鉴权契约(P0 延续) + langgraph test_memory 用例滞后发现
        • R77 闭环汇报 - 后端首次全量实测 95.07% + B-58 口径重定性 + 新增6例签名用例
        • S-cfc-48 RED 契约级单测 team.profit.pipeline 收入管道化触发源扩展 (T9 §4.7杠杆1)
        • S-cfc-38 family.invite.joinRequestCardInfo RED contract tests (WI-4 审批卡片三项信息) + vue SFC jest transform
        • team.profit.settle 契约级单测(RED,实现未落地 32 例全红)
        • S-cfc-42 RED 契约单测 team.profit.hook — 6 订单服务同点位并行调用 ProfitPoolService.settle()(§12-T3+§2.2),反射结构契约,6/7 红
        • S-cfc-40 能力键 team.invitation.create RED 契约级单测
        • RED 契约级单测 team.star.multiplier 星级倍率权重(T10 杠杆2/3/4,13 用例红)
        • family.invite.joinRequiredInfoFrontend RED 契约级单测(join-form 出生日期/性别必填)
        • S-cfc-45 team.user.portal TDD-RED 契约级单测(场景A推荐人绑定缺失 referrerId=null + 邀请校验缺团队业绩预览 2 RED/4)
        • 家庭加入准入校验门禁契约级测试(TDD-RED) - family.invite.joinRequiredInfoTest
        • S-cfc-37 RED 契约级单测 FamilyJoinValidationRulesContractTest(AC-R3/WI-3 准入校验门禁未落地,9 用例红)
        • RED 契约级单测 family.invite.joinValidationGate 准入门禁

        其他

        • - B-53 第4次量化:13文件 170例/48红 → 187例/6红,42例转绿+17例新增,预测96.83%
        • - B-58 重定性:clean树 langgraph 43收集/26过/17红(13环境+3夹具+1数据),WIP 8文件为修复补丁非刷绿
        • - 新增 B-59(admin TC-A-U05 条件跳过掩盖失败)、B-60(ActivityControllerTest 412s)
        • - 新增 6 例 signature-bus 用例,绑定 e35ca7186 签名独立横屏页(WI-1/WI-4)
        • 溯源:2026-11-07-referral-team-profit-sharing.md v0.7 §12-T2 + §2.1 分配公式
        • + §4.2 8份分配(#5拍板 每层min(星级,剩余) 最多6份 最少2层)+ §4.3 星级
        • + §4.4 团队奖(#3拍板 platform_rule)+ §7.1/7.3/7.4/7.5 建表
        • 新增契约级单测(仅测试代码,src/main 零改动;反射定位契约类/方法,
        • 类缺失以断言失败暴露 RED 而非编译失败,GREEN 落地后自动转行为校验):
        • - ProfitPoolOrderContractRedTest 4 例:§2.1 总账 S=1000元/C=800元 →
        • P=20000/O=2000/F=1000/D=17000/R=11900/T=5100/8份池4080/团队奖1020;
        • 预算守恒 R+T=D、8份+团队奖=T;D≤0 不触发分润仅落单;逐项 round 不留尾差
        • - TeamShareRecordEightShareContractRedTest 6 例:§4.2 8份分配 6★/1★/1★ →
        • 3060/510/510 分;6★+2★ 最少2层分完;min(星级,剩余) 封顶;全1★剩余回流;
        • 无引荐人仅本人;§7.3 契约列携带
        • - TeamAwardRecordContractRedTest 6 例:§4.4 团队奖 TA0~TA3 分档
        • (0%/50%/80%/100%)门槛边界 + awardCent 取整 + #3 归属平台自有团队
        • - StarScoreCalculatorContractRedTest 10 例:§4.3 业绩分 50/40/10 加权、
        • 星级六档边界 0/8千/2.5万/7万/14万/25万、升级双门槛(业绩分达标 AND 直推≥1)
        • - TeamProfitSchemaContractRedTest 6 例:§7 四表实体 @TableName 与建表名一致、
        • Mapper 继承 BaseMapper<实体>、§7.1/7.3/7.4/7.5 业务列字段覆盖
        • 运行结果(RED):Tests run: 32, Failures: 32, Errors: 0 —— 全部失败:
        • 'RED: 契约类未实现 [§12-T2] com.etotem.cfc.service.ProfitPoolService'
        • (及 TeamProfitService/StarScoreCalculator/四实体/四 Mapper 同型断言)
        • 暴露真实缺陷:无(纯 RED,T2 实现未落地,cfclub 基线无相关类/表);
        • 权限流 N/A(T2 为服务层契约,无 HTTP 端点/角色)。
        • 构建结果:mvn test-compile 通过;测试运行 BUILD FAILURE(预期红)。
        • 主体为 org.mockito mock + 反射,不依赖真实微信/外部服务。
        • §5.1/5.2/5.3(团队邀请生成→inviteCode+小程序码wxacode+落地页) + §7.7(复用
        • distribution_relations.invite_code) + §11-#11(独立落地页) + §12-T1。
        • 被测 DistributionInviteController#generate(POST /api/distribution/invite/generate)。
        • 正常流断言 data 为邀请对象(含 inviteCode/wxacode/systemId/teamName/inviterId),
        • 现实现仅返回 Result(裸邀请码)→ 2 用例红;边界/权限流 5 用例绿。
        • 仅测试代码, 不改 src/main。
        • §12-T10 + §4.7.2 杠杆2/3/4 + §11-#14 + §10#5。
        • 契约断言(宿主 TeamProfitService 未实现 → 全部 RED):
        • - 杠杆2 倍率表:1★=1.0/2★=1.0/3★=1.2/4★=1.5/5★=2.0/6★=3.0;权重 W=星级×倍率
        • - 杠杆2 数学校验:6★(W=18)+1★+1★ 总W=20 → 3672/204/204 分(Σ=4080=T×80% 只重分不增量)
        • - 杠杆2 边界:全6★/全1★ Σ=8份池;层无人份额回流不私发(Σ≤8份池)
        • - 杠杆3 星耀导师:带出1名5★→档位+1;2名→100%上限+年度星耀会候选人
        • - 杠杆4 实时可见:订单完成返回本单分润(pending 可见);D≤0 分润=0
        • - 权限流:不适用(平台服务团队归属口径,无外部引荐链鉴权分支)
        • 暴露真实缺陷:TeamProfitService(8份池星级权重分配/带教里程碑/实时分润)实现未落地。
        • 仅测试代码,src/main 一行未动。
        • - 正常流:realName/birthday/gender 齐全合法 -> 请求正常创建
        • - 缺失流:三项任一缺失 -> 拒绝且不落库
        • - 非法流:生日未来/极早、姓名超20字、性别大小写混用 -> 拒绝且不落库
        • 仅测试代码,未改业务实现。当前 RED:9失败1通过(门禁未落地)。
        • - 正常流+边界:三项齐全、姓名 1/20 字、生日=今天、生日=1900-01-01 → 创建待审批请求
        • - 纯 Mockito 无外部依赖;src/main 零改动
        • - AC2.1/2.2/2.3: realName 空 / birthday null / gender 非 male|female → 拒绝且无 DB 记录
        • - AC3.1: birthday 未来 → 「出生日期不能晚于今天」;AC3.2: 早于 1900-01-01 → 「出生日期不合法」
        • - AC3.3: realName >20 字拒绝;AC3.4: gender 大小写混用/其他值拒绝
        • - AC2.4/AC-R4: 三项齐全合法 → 正常创建待审批请求
        • - 仅测试代码,src/main 零改动
        • v1.0.2189 (2026-11-07)

          文档

          • 研发负责人第59轮闭环汇报 2026-11-08-0210 | 15个RED真缺口重派成功(axonhub/deepseek×12+axon/deepseek×3,避开opencode免费额度档)·假RED 5键转TR-18·earnings 2键YELLOW不派·B-53/58 WIP收口(19文件SYNC)·状态机44键·场景15/241

          新功能

          • HL-03/R2+R3 归因方案先行(签名后先出归因/确认后生成) + 生成不确定点对话补充(followUpQuestions逐题询问回传二次生成)

          v1.0.2188 (2026-11-07)

          新功能

          • HL-04/R4 方案板块对话式调整(自然语言意图 → 局部微调)

          其他

          • - Backend: HealthPlanController 新增 POST /api/health/plan/adjust(adjustSection)+ Service 层 adjustPlanSection(RestTemplate 转发 LangGraph;AI 不可用返回 null → 控制器 500 'AI 调整服务暂不可用',绝不覆盖用户内容)
          • - Frontend: health-plan-summary.vue 新增对话式调整聊天面板(dialogueRounds/canSendDialogue/sendDialogueAdjust/resetDialogue,切板块/退出编辑清空),与 textarea 并存;顺带修复 regenerateCurrentSection 发送 existing_section_content 与后端 planJson 键名错配(现改发 planJson)
          • - 契约测试: adjust 正常/参数缺失/AI 降级 3 用例(总数 34,全绿)
          • - 文档: API_REFERENCE.md 新增 4.49.1 对话式调整;cfc-web build 通过

          文档

          • 研发负责人第58轮闭环巡检汇报 2026-11-08-0116 | 稳态核查·并发满+模型冷却无派发·family.signature 5键假RED识别(实现e35ca7186已在链→TR-18转测试侧)·22RED复位待重派·状态机44键·场景15/241

          v1.0.2187 (2026-11-07)

          文档

          • 研发负责人汇报 2026-11-08 凌晨闭环轮(22 RED 任务因模型额度耗尽复位待重派;状态机 44 键)

          v1.0.2186 (2026-11-07)

          文档

          测试

          • R76 闭环汇报 + B-58 langgraph WIP 漂移通知 (2026-11-08)

          新功能

          • 内嵌手写签名改为全屏横屏独立签名页 + eventChannel 回传(WI-1~WI-5 + checkout 第三处)

          其他

          • - 新增 utils/signature-bus.js:初始签名回显(module 级 prefill,onLoad consume 后清空);requireAgree/agreeText 走 URL 参数
          • - pages.json 注册 pages/signature 分包(navigationStyle custom + navigationBarTitleText 签名)
          • - health-plan-summary.vue / consignee-edit.vue / checkout.vue:移除内嵌 hand-signature,改预览图 + 去签名/重新签名按钮 → navigateTo 签名页,事件写回 signatureDataUrl / form.handSignature / purchaseForm.hand_signature
          • - 达成 AC5.3:全局再无业务页内嵌 hand-signature(hand-signature.vue 只读复用,未改动)

          v1.0.2185 (2026-11-07)

          Bug 修复

          • restore cfc-web version/changelog auto-bump (4468173d0) reverted by report push; + report-dev-2026-11-07-2355

          文档

          • 研发负责人第78轮闭环巡检汇报 report-dev-2026-11-07-2355 | 复核轮确认快照无delta·会话利用率核实·15/241

          v1.0.2184 (2026-11-07)

          文档

          • 研发负责人闭环巡检汇报 report-dev-2026-11-07-2345 | earnings 2键实现收口(RED→YELLOW 239710c47,kind=main)+EVD-17产出全量合入核验+35fc0e8eb部署核验闭环 | 状态机DONE14/GREEN8/YELLOW2/RED20 | 241SC/15跑通

          v1.0.2183 (2026-11-07)

          其他

          • HL-02: R1 方案预览板块可点击进入编辑(2026-11-07)

          v1.0.2182 (2026-11-07)

          文档

          • 订正HL-01规格§三.6 created_at→submitted_at(2026-11-07)
          • 第75轮报告回填提交sha 8e8d49552(已推origin/cfclub 0/0)

          其他

          • HL-01 fix: 健康阅卷还原键名错配+memberId口径统一
          • HL-01: 健康方案默认选本人+问卷代入自己+健康阅卷入口(2026-11-07)
          • - B-53 量化: 带研发WIP同11类 170例 48红→6红(42例可转绿), 后端可达96.79%, 第三次催办
          • - 浏览器+契约 25/25 全绿(admin 5/5, frontend 6/6, 健康契约 10/10, 商城排序 4/4)
          • - langgraph 59绿/0红/12skip(+8); frontend 313; web 90
          • - 新增用例 18例: TC-C16-01~05(C-16裁剪) TC-C10-01~06(C-10通知) TC-FA-18~24(家庭加入身份)
          • - blockers: 新增 B-57(用例断言错设已自处置), B-53 量化证据

          测试

          • 第75轮 全量实测 2903例/2784过=95.90% + 新增18例SRS用例

          v1.0.2181 (2026-11-07)

          文档

          • 财富中心贡献榜管理员口径以role为准(需求变更+实现任务书)
          • 研发负责人闭环巡检汇报 report-dev-2026-11-07-2225 | 20个新RED入池(S-cfc-35~54 家庭准入/团队分润/签名横屏)核验+部署账本纠正(last_deployed 5073a5013误写→7f1c238cd)+35fc0e8eb部署核验在途 | 状态机DONE14/GREEN8/RED20 | 241SC/15跑通
          • 确认两项默认(custom 真全屏 + H5 横屏降级)
          • 签名改独立横屏页-需求变更+任务拆分

          其他

          • - §7 两项待决标记已确认
          • - 复用 HandSignature 组件;新增 pages/signature/signature.vue + signature-bus 临时值传递
          • - 含变更背景/影响范围/验收标准 + 5 工作项(WI-1~WI-5)拆分与验收条件
          • - TDD 账本 S-cfc-40~S-cfc-44 (family.signature.*)
          • - 溯源: docs/superpowers/specs/2026-11-07-referral-team-profit-sharing.md v0.7 §12
          • - 拍板口径: #3 团队奖平台统一规则 / #5 每层按星级最多6份最少2层 / #13 星级透明化 / #14 吸引力升级 / #15 团队直推定义
          • - 关联 TDD 状态机 team.* 10 键 (S-cfc-40..49, .tdd 本地私有不入库)

          新功能

          • 团队分润 T1-T10 转入正式任务池

          v1.0.2180 (2026-11-07)

          Bug 修复

          • 补齐 HuaweiAuthService.statusJson(Long) 缺失方法

          其他

          • 但华为侧未实现该方法导致编译失败(cfclub 主线阻断)。参照 XiaomiAuthService.statusJson(Long)
          • 补齐,返回 bound/mock/channel/configured(含 expiresAt/scope,不泄露 token 明文)。
          • [skip ci]
          • 需求变更:健康方案制定流程重构(R1-R6, HL-02~05, 2026-11-07)
          • - 确认 ① 年龄不设上限(仅约束不晚于今天、不早于1900)② WI-4 审批卡片展示纳入本轮必做
          • - §3 AC-R3、§5 WI-4、§7 待决同步更新
          • - 含变更背景/影响范围/验收标准 + 5 个工作项(WI-1~WI-5)拆分与验收条件
          • - TDD 账本已登记 S-cfc-35~S-cfc-39 (family.invite.join*)
          • 设计:健康方案默认选本人+问卷代入自己+健康阅卷入口(2026-11-07, HL-01)
          • GAP-E补齐:华为 real 通道 exchange/refresh/revoke/拉取实现真实 HTTP 调用
          • - HuaweiRealHealthApiClient: 重写为 Health Service Kit 云侧数据拉取骨架(Bearer access_token POST /healthkit/v1/health-data,token 即将过期自动刷新,HTTP 异常记 error 返回空列表)
          • - application.yml: 补 huawei.health.api-base-url / sync-days 配置
          • - 2026-11-07-dx-health-contract.md: GAP-E 标记为已补齐,§6.3 实测状态更新
          • 编译验证: mvn compile (cfc-backend) 通过
          • 构建验证: npx vue-cli-service build (cfc-web) 通过

          文档

          • 需求变更说明补充 + 主理人确认项(年龄无上限/WI-4本轮做)
          • 加入申请必填真实姓名/出生日期/性别 准入校验需求变更
          • 研发负责人闭环巡检汇报 report-dev-2026-11-07-2148 | GAP-E华为real通道回收35fc0e8eb + child-zone核验36b671565 + B-50闭环 + 部署pending归零 | 22键26/26证据IN CHAIN
          • 测试负责人闭环巡检汇报 report-test-2026-11-07-2120 | 浏览器 11/11 全绿 + 健康契约 10/10(B-50 部署修复) + langgraph 51/0/12 | 251 不可达本地兜底

          v1.0.2179 (2026-11-07)

          Bug 修复

          • 修复家庭长幼排行与兄弟姐妹关系标签(回归用户12家庭72)

          其他

          • - computeParentChildLabel 按同性别子集计算排行(长子/次子/长女/次女)
          • - resolveRelativeLabel 动态长幼计算优先, family_relationships 粗标签仅兜底
          • 经 NotificationDispatchService 分发;不可登录成员由同家庭能登录成员代收
          • - /api/user/info、/api/auth/info、/api/family/user/info:role=child 时裁剪
          • idCard/phone/realName/openid/unionid(UserService.maskChildSensitiveFields),
          • 家庭资料接口补 password 置空
          • - UserNotification 注释登记 badge_unlock 类型
          • - C-18 设备/账号绑定校验:文档口径为「先由产品确认设备绑定 or 账号绑定」,
          • 方向未定且需新增 device_bind 表迁移,本次不落地,待拍板

          文档

          • 研发负责人第74轮闭环巡检汇报 report-dev-2026-11-07-2103 | 模型切换8+恢复6+新派GAP-dx-health-co(O-14批次) | 状态机DONE14/GREEN8全IN CHAIN复核 | 241SC/15跑通 | 部署confirmed21/pending0 | 无新待裁决O-*
          • v0.7 全部15项拍板落地——#3团队奖归属平台自有团队平台统一规则/#5每层按星级最多6份最少2层/其余按推荐

          新功能

          • C-10勋章解锁站内通知 + C-16孩子端受限资料投影(child-zone-contract 差距补齐)

          v1.0.2178 (2026-11-07)

          文档

          • 研发负责人第73轮闭环巡检汇报 report-dev-2026-11-07-2031
          • EVD-17 D/X域契约核对批次(华为/小米运动健康接入)
          • 研发负责人第73轮闭环巡检汇报 report-dev-2026-11-07-2031
          • 研发负责人第73轮闭环巡检汇报 report-dev-2026-11-07-2031
          • 研发负责人第73轮闭环巡检汇报 report-dev-2026-11-07-2031

          其他

          • - API_REFERENCE §4.43/4.44 增补 EVD-17 契约登记(与实现核对一致无需修正,登记缺口与双轨复用载体)
          • - 端点核对:D1-D5 / X1-X5 全部成立(10/10 ✅);⚠a 缺口登记、⚠b 双轨载体成立(复用报告链路)、⚠c 语义=追加写+读最新覆盖
          • - 无业务代码/测试/DB 迁移改动;mvn -DskipTests compile EXIT=0
          • - 模板新增排序栏(综合/价格↑/价格↓),位于 Level2 分类 chips 与商品列表之间
          • - data 新增 sortType:'default'
          • - 新增 buildSort()(price_asc/price_desc -> [{column:'price',order:'asc'|'desc'}],default -> [])
          • - 新增 onSortSelect()(切换排序重置 page=1/products=[]/noMore=false 并重新加载)
          • - loadProducts/onLoadMore 在 params 构建后追加 sort(滚动加载沿用当前排序)
          • - 新增 .sort-bar/.sort-item/.sort-item.active 样式(复用 -space-*、-violet 高亮)
          • - 后端 SortInterceptor 支持数组 sort,零后端改动;推荐商品逻辑不变

          新功能

          • 商城商品列表增加按价格排序(综合/价格升/价格降)

          测试

          • 浏览器双端全绿(admin5/5+front6/6+shop4/4) | B-51/B-52关闭(根目录跑Playwright双版本冲突误判为Chromium缺失) | B-50第2次复现(华为5端点未鉴权200) | 后端288类2389例95.02%零漂移 | 新B-53(70项WIP含11测试文件修复,提交即96.78%)/B-54(langgraph chromadb DLL)/B-55(189+251不可达) | 通知研发

          v1.0.2177 (2026-11-07)

          文档

          • tdd: 研发负责人 2026 轮汇报 + TR-17 D X 域契约核对派发
          • v0.6.1 #15团队直推定义拍板——直接邀请加入团队+成交首个服务/商品单=1个直推(载体团队树,首单即算无金额门槛)
          • tdd: 研发负责人 2006 轮汇报 D X 域契约核对批次 EVD-17 开工包
          • v0.6 升级双门槛(业绩分+直推有效新用户>=1) + #12档位入配置/#13/#14按推荐拍板落地

          Bug 修复

          • 编辑资料改辈分后重建关系表,修复关系标签不刷新(R-4)

          其他

          • → 删旧关系 → 按绝对辈分/同辈类型/锚点重建 → 按 from→to 回填评分,避免重建把问卷评分清零
          • - FamilyMemberService.updateMember 辈分变更后调用重建(锚点=操作者成员);操作者即本人时不写 spouse
          • - 重建失败整事务回滚,杜绝「辈分已改、关系未变」中间态
          • - 规格 §10 R-3/R-4 同步为已修复并记录锚点与失败策略

          测试

          • 浏览器双端全绿(admin5/5+front6/6+shop4/4) | B-51/B-52关闭(根目录跑Playwright双版本冲突误判为Chromium缺失) | B-50第2次复现(华为5端点未鉴权200) | 后端288类2389例95.02%零漂移 | 新B-53(70项WIP含11测试文件修复,提交即96.78%)/B-54(langgraph chromadb DLL)/B-55(189+251不可达) | 通知研发

          v1.0.2176 (2026-11-07)

          文档

          • 研发负责人 1955 轮汇报 | B-50 华为鉴权修复 cc7b3e00b 合入 HEAD bd2a42be6 | 状态机 DONE14/GREEN8 全稳态 | 部署收口 7f1c238cd confirmed21 | 241 SC/15 跑通 | 池空稳态零派发

          v1.0.2175 (2026-11-07)

          文档

          • 研发负责人 错峰03 2026-11-07 1913 轮汇报 | B-50 huawei鉴权修复cc7b3e00b合入+fam-join 6567acc33 合入主线+状态机DONE14/GREEN8 | B-39/40/47核验闭环

          Bug 修复

          • 华为运动健康5端点未鉴权200直通——/api/huawei-health/ 加入 LOGIN_REQUIRED_PATHS 强制登录(401),与 xiaomi-health 对齐

          v1.0.2174 (2026-11-07)

          Bug 修复

          • 配偶关系改为仅对锚点成员生效,修正同辈关系类型判定

          其他

          • 其他同辈一律 sibling。原实现会把「妻子/丈夫」套到家庭内所有同辈成员上
          • - 审批链路传入 anchor=审批人 FamilyMember.id
          • - FamilyMemberService.addMember 修正传入绝对辈分(原误传 genLevel.getOffset()),并补 peerType 与锚点
          • - 规格文档同步 §6.1 锚点规则、§10 R-1(已修)/R-2/R-4(编辑资料不重建关系,另立任务)
          • - 加入申请不再自填家庭身份:join-form.vue 删除身份选择,request-join-by-code 的 familyRole 保留接收但忽略不写库
          • - 审批时指定身份:approve-request 改收 JoinApproveDTO(generationLevel/peerType),按审批人辈分(null视为0)+offset 求绝对辈分,落地 member.generation/isSpouse 并 createRelationsForNewMember 写 relation_type;mergeIntoFamily 分支同样落地
          • - 夫妻互称修复:FamilyRelationshipService.computeRelationshipLabel 增 3 参(spouse→丈夫/妻子,sibling→兄弟/姐妹,lineal→原逻辑),成员列表按 rel.relation_type 传参
          • - User.familyRole 按绝对辈分+性别推导(>=2 爷爷/奶奶,1 爸爸/妈妈,其余其他),回写申请表留痕(assigned_generation/assigned_peer_type)
          • - 审批卡片展示真实姓名+副行「申请加入你的家庭」,同意改弹窗内嵌 GenerationPicker(辈分必填/同辈必选类型)
          • 迁移编号:runMigrations 已有「迁移454: 旧体系接口调用打点表」,故本次新增使用 455/456(偏离规格文字 454/455,详见代码注释)

          新功能

          • 家庭加入身份改由邀请人审批时指定(辈分关系)+修复夫妻称谓

          v1.0.2173 (2026-11-07)

          测试

          • 三套本地套件全绿零漂移(frontend313/web90/langgraph51) | 新拓扑执行缺口B-51(本机Chromium缺失admin未跑)+B-52(health契约版本冲突) | ledger3793(+13) | 通知研发B-50/B-47

          v1.0.2172 (2026-11-07)

          文档

          • 测试负责人70轮通知研发 B-50(P0)华为健康补鉴权+家庭邀请身份变更用例已落 | 闭环标准health契约10/10 | 完整报告/台账/用例见docs/tdd/test

          测试

          • 家庭加入身份改由邀请人指定(ec6aa0d49) → 新增TC-FA-01~17设计态契约用例 | approve-request新JoinApproveDTO必填校验+relation_type列+绝对辈分推导+配偶称谓修正 | 待实现+mvn转实测态(承袭R-3)
          • B-50华为健康5端点未鉴权200直通(P0契约缺口) health契约0/10→5/10 | B-47(636c42103)上线后健康模块404→已访问 | 浏览器15/15+Jest双绿(90+313)+langgraph51绿维持 | 补录17:47轮health契约用例

          Bug 修复

          • pom.xml skipTests 默认改 false 消除测试假绿

          其他

          • surefire 不再因默认 true 而静默跳过全部测试(假绿)。
          • 命令行 -DskipTests 仍可显式覆盖该默认值。
          • 本地已验证:plain mvn test(无 -DskipTests=false 覆盖)执行测试并产出
          • target/surefire-reports/TEST-*.xml(2/2 通过)。.gitlab-ci.yml 的 B-39
          • 两级门禁(mvn test -DskipTests=false + XML>0 断言)已存在,无需改动。

          v1.0.2171 (2026-11-07)

          文档

          • 家庭加入身份改由邀请人指定(辈分关系) + 视角动态称谓规格

          其他

          • - family_relationships 增加 relation_type(spouse/sibling/lineal),修夫妻互称
          • - 规格: docs/superpowers/specs/2026-11-07-family-join-dynamic-identity.md

          v1.0.2170 (2026-11-07)

          Bug 修复

          • 修复华为健康鉴权 JDK8 编译阻断

          其他

          • JDK8 下 default-compile 直接报 COMPILATION ERROR,导致后端 2375 例 JUnit 无法编译执行。
          • 改为 JDK8 可用的 URLEncoder.encode(String, String) 重载(StandardCharsets.UTF_8.name()),
          • 并捕获 UnsupportedEncodingException 包装为 IllegalStateException。
          • 验证:JDK8 下 mvn -o -B -DskipTests=false test-compile → BUILD SUCCESS
          • (主源码 2079 + 测试源码 292 全部编译通过)

          v1.0.2169 (2026-11-07)

          文档

          • 研发负责人 闭环巡检 2026-11-07 1745 轮汇报 | 状态机 DONE14/GREEN8/RED0/YELLOW0 | 11会话在途全有任务·B-40 180aebcb0 已合入·B-39双会话待收口·O-13/O-14 主理人78277897e拍板闭环 | SC 15/241 | 部署在途 testing@7f1c238cd
          • 主理人拍板 O-13/O-14 生效 | O-13 platform_fee 统一「分」+BIGINT NOT NULL DEFAULT 0(测试侧修订用例,实现无需改);O-14 D/X域作 O-7 独立契约核对批次不入241基线(设计契约登记+测试证据补建) | 两项闭环
          • 研发负责人 闭环巡检 2026-11-07 17:34 轮汇报 | 状态机 DONE14/GREEN8/RED0/YELLOW0 | 11会话在途全有任务·B-40 180aebcb0 硬门禁落地核验·B-39双会话待收口 | SC 15/241 | 部署在途 testing@7f1c238cd | O-13/O-14 维持待主理人确认
          • 研发负责人 闭环巡检 2026-11-07 17:25 轮汇报 | 状态机 GREEN8/DONE14/RED0/YELLOW0 | fix_free_limit 13会话模型自愈+check_agents 8恢复+sync_gap 生成 child-zone 差距任务派发 lan-248 | SC 15/241 | O-13/O-14 待主理人确认
          • v0.5 吸引力升级设计(§4.7) 借鉴Enagic合法精华
          • v0.4 新增星级透明化与成长可视化(§4.3.1)
          • 研发负责人 17:05 轮汇报修正 | B-39R4 亦 429 失败(根因: lan-189 无 axonhub, --model 回退免费) → 改用 axon/deepseek 重派 B-39R5 已确认执行 | 汇报记录如实化
          • 研发负责人 闭环巡检 2026-11-07 17:05 轮汇报 | 状态机 GREEN8/DONE14/RED0/YELLOW0 | B-40僵死中断(lan-204)·B-39R3 429免费额度失败重派R4(axonhub/deepseek绕限流)·B-46派发lan-248运行中 | 部署在途testing@7f1c238cd | O-13/O-14 裁决意见已登记待主理人最终确认 | SC 15/241
          • 星级六档门槛按真实价格校准推演(0/8千/2.5万/7万/14万/25万)
          • 研发负责人 闭环巡检 2026-11-07 16:25 轮汇报 | 状态机 GREEN8/DONE14/RED0/YELLOW0 | TDD池空零派发·B-39R2/B-40在途跟踪·部署核验派发(testing@7f1c238cd) | O-12~O-14 补登正式通道(platform_fee分+BIGINT / D/X域独立契约批次不入241基线) | SC 15/241
          • 研发负责人 错峰03 1606轮汇报 | 状态机 GREEN8/DONE14/RED0/YELLOW0 | TDD池空零派发·B-39R2/B-40在途跟踪 | O-13(O-14 裁决意见登记(platform_fee 统一「分」+BIGINT / D/X域独立契约批次不入241基线,待主理人最终确认) | SC 15/241
          • 研发负责人 闭环巡检 2026-11-07 15:45 轮汇报 | 状态机 YELLOW0/GREEN10/DONE12/RED0(sleep.config.tags B-37 收口 mark-green)·B-39R2 重派 pom假绿·D/X域缺口登记O-14 | SC 15/241
          • 研发负责人 闭环巡检 2026-11-07 15:00 轮汇报 | 状态机 YELLOW1/GREEN9/DONE12/RED0 | TDD池空零派发·B-39重派修复pom假绿·B-38④platform_fee口径核验登记O-13 | SC 15/241
          • 研发负责人 闭环巡检 2026-11-07 14:46 轮汇报 | 状态机 YELLOW1/GREEN9/DONE12/RED0 | TDD池空零派发·hub通道缺口处置推进(EVD-14/B-40/D域4815aae95) | SC 15/241
          • 研发负责人 闭环巡检 2026-11-07 14:36 轮汇报 | 状态机 YELLOW1/GREEN9/DONE12/RED0 | 池空零派发·派发通道B-42根因·SC 15/241

          Bug 修复

          • HuaweiAuthService.encode 回退 Java8 兼容 URLEncoder(String,String),修复 cfc-deploy-251 cron 构建红(978d1bc95 引入 Charset 重载不兼容 target 1.8)
          • B-40 后端测试软门禁升级两级硬门禁
          • isBound 计数判断改用 intValue() 防御性比较(Long 计数)

          其他

          • - 根因: maven-compiler target 1.8 下 URLEncoder.encode(String, Charset)(Java10+) 不可用 → cfc-deploy-251.sh 17:20 轮构建失败
          • - 改动: 单文件回退为 URLEncoder.encode(String,String)+try/catch UnsupportedEncodingException
          • - 验证: mvn -f cfc-backend/pom.xml compile 通过
          • (33 个已知红类 allow_failure,仅产出 junit 趋势)
          • - backend-blocking-junit 用 -Dtest='!' 排除已知红类,其余全跑
          • (含全绿 integration 类,即首批转入 blocking)
          • - 修好一个类即从 BACKEND_OBSERVED_CLASSES 移除,下轮自动转入 blocking
          • - 所有 job 同 test stage,observed 在 blocking 红时仍产出趋势
          • - langgraph-pytest 转 blocking(B-34/35/37 闭环后 51p/12s/0f)
          • - e2e-playwright / tests-jest 转 observed(环境依赖)
          • - 加 B-39 守卫:surefire 0 个 XML 即失败,防 skipTests 假绿
          • Enagic借鉴边界: 不照搬8层佣金(三级红线)/终身等级(养懒人); 借鉴等级×点值递增/团队累计销量/Build leaders/复购管道/日结。
          • 四大杠杆: ①收入管道化(会员续费/测评复购/陪跑续订纳入分润,月月进账)
          • ②星级倍率权重(6星=3.0,资金池恒=T×80%只重分不增量,6星同单36.72 vs 原30.6)
          • ③带教里程碑奖(星耀导师,带出5星→团队奖档+1)
          • ④实时可见(订单完成即时显示本单分润)。
          • 落地T9管道化+T10倍率里程碑; 合规§10.5; 待拍板#14。
          • ①实时星级看板(当前星级/三维构成/距下一档差距/12月轨迹)
          • ②差距→行动换算(直接250分次/团队200分次/推荐10分百元,三条路径按省力排序)
          • ③月度星级简报(升/降/持平+行动建议,每月1日重评后推送)
          • ④星级权益可见(徽章/培训优先/带教领队资格)
          • 新增接口 POST /api/team-star/my-view;落地 T7看板T8简报;待拍板#13。
          • 五画像实测6.5千/2.6万/7.1万/14.5万/24万→档位取画像略上方(跳一跳够得着);
          • 六星25万=顶流团队长级(单靠个人咨询约千次/年不可达),体现团队服务多劳多得。
          • 档位可配team_profit.star_tiers;§11新增待拍板#12(起步期可整体下调50%)。
          • - 新增 LegacyDimensionCallFilter: OncePerRequestFilter, flag 门控默认关零开销
          • 匹配 /api/energy/ /api/admin/energy-config/ /api/admin/energy-rule/ /api/admin/energy-behavior/
          • - 新增 LegacyDimensionCallLog 实体 + Mapper 每日聚合 upsert (UNIQUE api_path+period)
          • - 新增 LegacyDimensionCallLogService: recordCall 打点 + @Scheduled 每小时 heartbeat 心跳
          • - DatabaseInitializer 迁移454 幂等建表 + schema.sql 同步
          • - application.yml 增加 dimension.registry.legacyCallLog.enabled (默认 false)
          • - docs/scripts/legacy_dimension_zero_call_check.py: 14天零调用巡检脚本 (PASS/FAIL/WARN)
          • - 单测 LegacyDimensionCallFilterTest(6) + LegacyDimensionCallLogServiceTest(7) = 13/13 通过
          • - X2 OAuth: XiaomiAuthService 授权URL/code换token/刷新/撤销 + XiaomiHealthTokenService
          • - X3 同步引擎: XiaomiHealthServiceImpl 复用 NormCompareEngine 百分位带归一化, 写 health_data_sources(sourceType=xiaomi_health)
          • - X4 控制器: XiaomiHealthController 5接口(auth-url/callback/sync/revoke/status), 全部 @PostMapping
          • - X5 通道: XiaomiHealthApiClientImpl mock(凭证未批复默认) / 真实云服务接口 TODO, 合规: 仅官方云服务、禁境外聚合中转、禁逆向接口
          • - JwtInterceptor 增加 /api/xiaomi-health/ 登录拦截; application.yml 增加 xiaomi.health.* 配置
          • - D2: HuaweiAuthService 授权URL/code换token/刷新/撤销; token 仅后端 AES/GCM 加密存库
          • - D3: HealthSyncService 定时拉取(步数/距离/心率/睡眠/体重), NormCompareEngine P5/P25/P75/P95 归一化
          • - D4: HuaweiHealthController 5个POST接口(auth-url/callback/sync/revoke/status), Result+JWT
          • - D5: mock 通道默认开启(huawei.health.mock-enabled), real 骨架留 TODO; 每日03:15定时任务
          • - API_REFERENCE.md 同步 Controller 总览与4.43接口清单
          • - 合并远端 4 条需求变更说明,逐条给出用例处置(2 条已有用例但 untracked → B-45)
          • - 线上 E2E 合计 15/15(admin5 + frontend6 + shop-api4)
          • - 管理端真实登录(滑块轨迹可自动化)推翻历史『仅探针可达』结论
          • - langgraph: 本地 pytest 51绿/12skip;线上 /health 200、/chat 200、/questionnaire/generate 500
          • - 前端 Jest 313/313、管理端 Jest 90/90、根级 23 skip
          • - 后端全量复跑进行中(50类/461例/98.92%,红类2个均属已知WIP遗留)
          • - 门禁:不通过(G10 线上问卷500、G12 接口层零执行、G6 CI软门禁)
          • 测试

            • B-46根因定位并关闭(测试缺陷非部署回归)admin5/5+全套件15/15 | 新增B-47(P0 JDK8编译阻断)+B-48(误判复盘)+B-49(188例实为13例) | 后端隔离树实测288类2389例95.02%
            • 浏览器自动化13/15(B-46三度复现稳定确认U04+U05) | frontend313/web90/langgraph51绿 | P2-T3新增188例待251核实
            • admin真实登录链路回归(B-46升级U04+U05双失败) | 浏览器10/11→9/11 | langgraph51绿+台账3780
            • 浏览器自动化首次实跑10/11(admin5中4+frontend6) | TC-A-U05登录按钮disabled失败登记B-46 | 189派发通道确认可用(B-42收敛) | langgraph 51绿 + ledger刷新
            • 需求变更S1 商城价格排序接口契约4例全绿 + 登记 B-45 未入库用例
            • 浏览器自动化首次落地 11/11 全绿(admin5+frontend6) | 线上LangGraph问卷生成500实证(B-34复发/B-43) | 189派发通道根因收敛(B-42) | 新增B-44驾驶舱文案
            • 登记B-41 langgraph flaky固化 + B-42 远程派发通道不可用(通知研发)
            • 闭环巡检报告+台账刷新 | FE313/web90/langgraph51绿(0失败) | 台账3765(+632) | 结果变更触发推送

            新功能

            • 旧体系接口14天零调用打点统计+巡检脚本 (P2-T3 退役证据)
            • X1-X5 小米运动健康云服务接口接入
            • D1-D5 华为运动健康开放平台接入(令牌表/授权/同步/5接口/mock通道)

            v1.0.2168 (2026-11-07)

            文档

            • 补齐当日3项需求变更说明(报告关联商品/优惠券按钮/团队收益口径+邀请分享)

            v1.0.2167 (2026-11-07)

            文档

            • 研发负责人 错峰03 1330 轮汇报 | O-12 主理人最终确认生效(EVD-10 规划师域 G-1/2/3 + EVD-11 平台运营域 A-04/14/19/20/21 缺口处置路径) | 状态机22键=12DONE+9GREEN+1YELLOW(sleep.config.tags待mark-green)+0RED | EVD-14/EVD-15 契约核对产物核验 IN CHAIN | 池空稳态零派发 | 单文件hash-object入库

            v1.0.2166 (2026-11-07)

            文档

            • 研发负责人1 第29轮闭环巡检汇报 | 状态机22键=12DONE+9GREEN+1YELLOW(sleep.config.tags待mark-green)+0RED | EVD-7R/8R证据已合入(31b1be1c/7f9b978c)但SC覆盖登记滞后15/241 | O-12裁决复核支持待主理人确认 | 池空稳态零派发 | 单文件hash-object入库
            • 方案 v1.2 补充小米多生态接入(小米HealthKit 云服务接口 + Zepp 老款通道 + X1-X5 任务拆解 + 合规红线)
            • 推荐人&团队分润双体系设计 v0.3 — 团队奖池从T中切20%(8份池=T×80%)

            其他

            • 同步数学示例(40.8/每份5.1/6星30.6/团队奖10.2)与配置默认值、待拍板#2标记已拍板。

            v1.0.2165 (2026-11-07)

            文档

            • 研发负责人 闭环巡检 1245 轮汇报 | 状态机22键=12DONE+9GREEN+1YELLOW(sleep.config.tags待mark-green)+0RED | 派发B-39(pom skipTests假绿)->lan-248+B-40(CI两级门禁)->lan-204(均axonhub确认执行) | 核验ac27af487统一维度收尾合入主线无双实现路由歧义 | 测试69轮全量95.16% | 场景覆盖15/241 | 单文件hash-object入库
            • 商城按价格排序需求变更说明(v1.0 锁定,对齐成就成长打卡台账结构)
            • 推荐人&团队分润体系设计 v0.2(按主理人3点修订:①团队邀请参考家庭邀请 ②推荐人沿用CF值/团队货币直接分佣 ③星级量化定义+团队奖)
            • 研发负责人 闭环巡检 1241 轮汇报 | 状态机22键=12DONE+9GREEN+1YELLOW(sleep.config.tags待mark-green)+0RED | 全241SC契约核对已合入cfclub,未开工0 | 任务池0pending+5实例全idle | 无实质增量(与1225轮一致) | 单文件hash-object入库
            • 研发负责人 闭环巡检汇报(EVD-15 回收合并 + 会话快照更正 + SC 15/241)
            • EVD-15 跨角色域剩余8SC契约核对(SC-X-03/08/11/14/15/16/17/18)— 端点载体实测回填3⚠项+2命名修正、登记契约缺口3项(X-G-1订单支付通知未挂接、X-G-2多端会话互斥、X-G-3小程序订阅消息)、新建 2026-11-07-cross-role-contract.md + API_REFERENCE 增补§4.64
            • TR-16 EVD-14 AI/Butler 17 SC 契约产出 f62848933 回收登记(研发负责人 闭环巡检)
            • 研发负责人 闭环巡检 1218 轮标准汇报 | 状态机22键=12DONE+9GREEN+1YELLOW(sleep.config.tags待mark-green)+0RED | EVD-15跨角色域8SC开工包9f0da8727+派发lan-248(--confirm确认执行) | EVD-14在途lan-204 | 全241SC域已开工包覆盖,未开工0 | 单文件hash-object入库
            • TR-15 EVD-15 跨角色域8SC契约核对派发台账登记(研发负责人 闭环巡检)
            • 跨角色域剩余 8 SC 契约补建开工包(EVD-15 前置)· 研发负责人 闭环巡检
            • 推荐人分润&团队分润双体系设计 v0.1(占平台可分配利润70/30,8份制+一星至六星,下级可超越上级)

            测试

            • 全量实跑 286类/2375例 95.16%(干净基线)+ WIP代入实测96.93% | 新增B-39 skipTests假绿/B-40 CI软门禁 | 度量脚本入库(闭B-33)

            其他

            • EVD-14: Add AI/Butler batch contract docs (17 SC) - contract specs + API_REFERENCE 4.64 section
            • unified-dimension: T-D 能量沙盘维度来源切注册中心,五行归属 wuxing_rule_ref/统一 code,语义与回归不变
            • unified-dimension: T-C 删除 health-main 访客示例硬编码 demo 雷达数组,示例雷达改经注册中心配置取数,无配置显示空态引导
            • unified-dimension: T-B 后端去硬编码,DimensionScoreServiceImpl 维度清单改经注册中心取统一码 body.*
            • unified-dimension: T-A 移植回滚脚本,修正备份表名与 forward 成对(20261105)

            v1.0.2164 (2026-11-07)

            Bug 修复

            • 登录按钮文字改为白色(蓝底对比度)

            其他

            • - cfc-web 90/90、cfc-frontend 313/313 全绿; pytest 51/51 全绿(B-34实证)
            • - 覆盖 10.4%→22.2% (discovery 432/1943; EVD契约类入编译树)
            • - 复验通过: B-34(51/51)、B-35(DanReportParse 38/38)、B-37(SleepConfigTags 10/10)
            • - blockers.md: B-13环境红实测修正(数据源指向差异)+新增B-38(26红类69例归因)
            • - 关键契约类9个全绿; SRS/场景零变更无需更新用例
            • - 仅测试侧产物, 不触碰研发WIP

            文档

            • EVD-13 家长域剩余 30 SC 契约核对合入(API_REFERENCE 增补 4.63 + parent-rest specs,重编号避 4.61/4.62 冲突)
            • EVD-9 孩子端 26 SC + EVD-12R2 商品服务商域 6 SC 契约核对合入(API_REFERENCE 增补 4.61/4.62 + 2 specs)
            • AI/Butler 域 17 SC 契约补建开工包(EVD-14 前置)
            • 商城按价格排序功能任务书(前端单文件方案,后端零改动)
            • 研发负责人 错峰03 1025轮汇报 + O-12 契约缺口裁决(G-1/2/3、A-04/14/19/20/21 待主理人确认)
            • 研发负责人1 第47轮闭环巡检汇报(O-11 派发 + B-29/34/35/37 核验 + SC 15/241)

            新功能

            • 报告上传页关联商品卡片区(去重可购买)+ 成员4列核验

            测试

            • 第67轮实际跑测档——四套件实测+B-34/35/37复验通过+台账刷新
            • 报告闭环 23 SC 三类流 e2e 证据补建 | 25 用例全绿(正常8/异常9/权限8) + 契约 JUnit 82/82 复验 | 新增 report-closedloop-contract.spec.js、CFC_API_BASE 本地复验回退、automation-run 证据文档

            v1.0.2163 (2026-11-07)

            Bug 修复

            • 修复弹窗确认按钮文字与背景同色不可见

            其他

            • --default:focus 将文字改为主色蓝,--primary:focus 将背景设为主色蓝,导致蓝字蓝底。
            • - --default 的 hover/focus 规则排除 --primary
            • - 主按钮显式声明 color:#fff(含 hover/focus/active/disabled)
            • [skip ci]

            v1.0.2162 (2026-11-07)

            测试

            • 报告闭环 23 SC 三类流契约证据 | 82 JUnit 全绿(11类,0失败) + 8 LangGraph pytest 全绿(SC-B-04/B-11) | SC-S-09 映射 listTypeLinks(未实现端点ProviderController缺) | 基线2af4829b1已并入b3a975111

            v1.0.2161 (2026-11-07)

            文档

            • 研发负责人 第53轮标准汇报 | 稳态核验 · 状态机22键=12DONE+9GREEN+1YELLOW(sleep.config.tags待mark-green)+0RED | 并发4/4满载(EVD-7R/9/12R/13在途,无槽位) · 变更感知0新键目标池空防假RED不派发 | SC覆盖15/241维持(证据待测试登记95+契约待补57+在途65+未开工21) | 单文件hash-object入库
            • 研发负责人 第33轮标准汇报 | EVD-12失败回收重派EVD-12R(local-45278✓)+EVD-13家长域剩余30SC新派(lan-248✓,开工包3d7044429) | 状态机22键=12DONE+9GREEN+1YELLOW(sleep.config.tags待mark-green)+0RED | SC覆盖15/241维持 | 4/5客户端满载(pub-iwintrue--model缺陷待命) | 单文件hash-object入库
            • 家长域剩余批次开工包(P 域剩余 ~30 SC 契约核对)· EVD-13 派发准备 · 研发负责人 第33轮

            v1.0.2160 (2026-11-07)

            文档

            • 研发负责人 第54轮标准汇报 | 状态机 DONE12/GREEN9/YELLOW1 · O-7 黑窗解除后派发窗口开启 · SC 5/241

            v1.0.2159 (2026-11-07)

            文档

            • 研发负责人 第32轮标准汇报 | 状态机22键=12DONE+9GREEN+1YELLOW(sleep.config.tags待测试mark-green)+0RED | EVD-10产出77026df42回收(规划师32SC·32/32锚定29满足+3缺口G-1/2/3·16键定稿·TR-13) | EVD-11产出9abed8e11回收(运营25SC·类名回填4+缺口5需产品侧确认·25键映射·TR-14) | SC覆盖修正15/241(台账权威,游客域10于11-06转正) | 任务池空按O-7派发EVD-12服务商域6SC(local-45278,--confirm确认) | 未开工~51(P33+X9+B4+H6)下轮滚动 | 单文件hash-object入库
            • 平台运营25SC契约核对(端点实测回填+API增补4.60)

            其他

            • 25 SC 端点核验表(防假 RED,grep 实测定位不假定包路径)
            • 重点回填 ⚠ 项:A-05勋章/B-08知识库/A-10迁移/A-15审计/A-22营养=端点存在;
            • A-14监控/A-19工单/A-20限流=无端点载体;A-21舌诊=载体部分存在
            • 缺口5个(A-04/A-14/A-19/A-20/A-21)标注「无端点载体,需产品侧确认验收方式」
            • 建议能力键映射25条(admin.auth.login/sleep.config.tags已在状态机仅登记映射)
            • - API_REFERENCE.md 增补 4.60「平台运营能力」段落(管理端登录/统计/解析中台/
            • 文章审核/勋章/供应商/活动/知识库/维度/迁移/治理/订单/审核/审计/券/能量/睡眠+缺口)
            • - 本批仅文档,未改业务代码/测试/DB迁移;后端 mvn compile 通过

            v1.0.2158 (2026-11-07)

            文档

            • 成长规划师域 32 SC 契约核对产出
            • 研发负责人 第31轮标准汇报 | 状态机22键=12DONE+9GREEN+1YELLOW(sleep.config.tags待测试mark-green)+0RED | 任务池空按O-7滚动派发EVD-9孩子端26SC(lan-189)/EVD-10规划师32SC(local-45278)/EVD-11运营25SC(lan-248)均--confirm确认执行 | EVD-8R产出7f9b978c2回收IN CHAIN复核(43SC·156JUnit全绿)送测试 | TR-12登记 | SC覆盖5/241权威+95待测试登记+23在途+83新派 | 单文件hash-object入库

            其他

            • - docs/superpowers/api/API_REFERENCE.md:增补 4.57 成长规划师域段落(32 SC 端点导航 + 能力键 + 缺口摘要)
            • - 核对基线 origin/cfclub @ 22cd721c3;结论:32/32 SC 端点载体锚定(29 完全满足),0 实现级硬缺失;命名差异回填 8 处;仅文档产出,零业务代码,mvn -DskipTests compile 通过

            v1.0.2157 (2026-11-07)

            文档

            • 研发负责人5 第30轮标准汇报 | 状态机22键=12DONE+9GREEN+1YELLOW(sleep.config.tags待测试mark-green)+0RED | EVD-8R产出7f9b978c2回收(测评-方案43SC·156JUnit全绿)送测试复验 | 部署核验#2收口:cron已覆盖3笔(实测HEAD≥41f1fc934) | EVD-7R在途(lan-204) | 变更感知0新键目标池空防假RED | SC覆盖15/241维持(待测试侧登记) | 单文件hash-object入库

            v1.0.2156 (2026-11-07)

            测试

            • 测评-方案 43 SC 三类流契约证据(156 JUnit 全绿)

            其他

            • - 9 契约类 + 公共基类 AssessmentPlanContractTestBase(纯 Mockito/无 Spring/无 DB)
            • - 覆盖家长/规划师/孩子/跨角色/AI管家/真人管家六类角色流
            • - 契约缺口 12 处钉住(8 观察 + 3 相邻覆盖 + C-08 相邻覆盖),不修实现
            • - evidence 文档:SC 覆盖矩阵/执行结果/缺口钉住表/改动清单
            • mvn test-compile BUILD SUCCESS; 156 用例 0 失败 0 异常

            v1.0.2155 (2026-11-06)

            文档

            • 研发负责人 错峰03 第47轮标准汇报 | 状态机22键=12DONE+9GREEN+1YELLOW(sleep.config.tags 41f1fc934 IN CHAIN待测试mark-green)+0RED | O-10(B-31明文凭据env化+轮换+gitleaks)/O-11(B-33 gitignore细化+白名单)主理人最终确认生效 | EVD-7/8在途(07:00派发lan-189/248产出未回) | 变更感知0新键目标池空防假RED | SC覆盖15/241(游客域10+O-3收口5) | 部署pending0/confirmed20 | 临时索引单文件入库
            • 研发负责人1 第28轮标准汇报 | 状态机22键=12DONE+9GREEN+1YELLOW(sleep.config.tags B-37修复41f1fc934 IN CHAIN 待测试mark-green)+0RED | 派发EVD-7报告闭环23SC(lan-189)+EVD-8测评-方案43SC(lan-248) 补P0剩余66SC | TR-11登记B-37复验+EVD-3/4/5/6证据复验登记 | SC覆盖15/241(游客域10转正dceeaaeaf) | 台账追加EVD-7/8于origin基线

            测试

            • 测试负责人 第68轮 实质推进 - B-34(问卷prompt_template)/B-35(DAN版式)/B-37(blank-key)三阻塞复验转绿 · 306例契约=302绿/98.69% 游客域10SC 71例独立复核全绿 Butler 6例全绿 pytest 51/0/12 · 唯一残余红P-2 3例承袭 · 门禁不通过(有条件)

            v1.0.2154 (2026-11-06)

            文档

            • 研发负责人 第52轮标准汇报 | 状态机22键=12DONE+9GREEN+1YELLOW(sleep.config.tags)+0RED | EVD-3/4/5/6 场景证据44文件单文件提取精确合入 cfclub 07a992161(任务心愿22SC+商城18SC+五维12SC证据入链+CI G1分层回归增强,40A+4M无main回退) 待测试侧复验按sc-key-map登记 | B-37修复41f1fc934 IN CHAIN ✓ YELLOW→GREEN待mark-green | 游客域10SC已转正SC覆盖15/241 | 19证据sha全IN CHAIN | 部署pending0黑窗内不部署 | webhook窗口内已发

            测试

            • EVD-3/4/5/6 场景证据+CI增强合入 cfclub(44 文件单文件提取,无 main 回退) - EVD-3 任务/心愿 22 SC:4 JUnit + 11 Playwright e2e + evidence docs + api.js 超时增强(60s→120s) - EVD-4 商城/会员 18 SC:10 契约 JUnit + tr8 evidence docs - EVD-5 五维能量 12 SC:9 契约 JUnit(含 EnergyContractTestBase) + automation-run docs + e2e - EVD-6 CI 持续回归:.gitlab-ci.yml G1 分层回归(+132) + ci-smoke + 3 e2e 修正 来源分支均基于 acd7edac6 旧基线,全树仅测试/docs/CI 差异,main 零冲突;待测试侧复验后按 sc-key-map 登记

            v1.0.2153 (2026-11-06)

            文档

            • 研发负责人1 第54轮标准汇报 | 状态机22键=12DONE+9GREEN+1YELLOW(sleep.config.tags)维持+0RED | B-37修复产出41f1fc934确认IN CHAIN✓(06:38 push blank-key校验收紧) YELLOW→GREEN待测试侧mark-green | EVD产出核验:EVD-3纯测试证据可合(EVD-6 CI可评估)/EVD-4/5含main旧基线回退严禁整体merge仅提取测试文件 | EVD-2游客域10SC转正dceeaaeaf IN CHAIN SC覆盖15/241 | 部署pending0黑窗内不部署 | 单文件hash-object入库

            v1.0.2152 (2026-11-06)

            Bug 修复

            • B-37 空白 key 校验收紧,sleep.config.tags 契约 1 红转绿

            v1.0.2151 (2026-11-06)

            文档

            • 研发负责人1 第53轮 闭环巡检 | 状态机 DONE12/GREEN9/YELLOW1/RED0 · SC 5/241 · 黑窗零派发
            • 研发负责人 第53轮标准汇报 | 状态机22键=12DONE+9GREEN+1YELLOW(sleep.config.tags)维持+0RED | B-37(sleep.config.tags blank-key校验缺口)按S-cfc-33/34同款hub.py独立通道派发lan-204(axonhub/deepseek --confirm确认执行工具调用2次非空壳)补充在途 | 测试侧50de11c4a收口TR-6/TR-9十键复验9键GREEN+SC覆盖5→15(游客域SC-G-01/03/04/05/07/08/09/10/11/12转正dceeaaeaf IN CHAIN) | 10YELLOW实现sha第9轮连续14核验全IN CHAIN | 部署pending0/confirmed20黑窗内不部署 | 变更感知0新键 | 主工作树46处WIP未触碰hash-object入库
            • 研发负责人5 第29轮标准汇报 | 状态机22键=12DONE+10YELLOW+0RED维持 | 恢复EVD-4/5(lan-248 axonhub/deepseek --confirm确认执行)补满在途6会话 | 10YELLOW实现sha第8轮连续IN CHAIN 10/10复核 | 部署核验2投429黑窗超时留待08:00后收口(30ae86d7d/9628df3d9/ba6b48d28待测服覆盖核验) | O-1~11全部已裁决无新增待裁决 | 变更感知0新键 | 目标池空防假RED | SC覆盖5/241 | 单文件hash-object入库
            • sc-key-map 证据 sha 校正 10e471dad to dceeaaeaf (cfclub-otask, rebase 后实际入链 sha)
            • sc-key-map 游客域 SC-G-01/03/04/05/07/08/09/10/11/12 十 SC 收口转正跑通,证据 sha 10e471dad(cfclub-otask)

            测试

            • TR-6/TR-9 十键复验收口 - 9 键登记 GREEN + B-37 阻塞登记
            • 补齐游客域 SC-G-01/03/04/05/07/08/09/10/11/12 三类流契约执行证据(cfclub-otask)

            其他

            • - GREEN(9):admin.auth.login(15/15+JwtEdge10/10)、health.report.upload(16/16)、
            • health.report.createReport(5/5)、dan.assessment.getActiveMaterial(3/3)、
            • task.history.view(7/7)、growth.history.view(9/9)、achievement.grid.fiveCol(纯前端CSS契约核对)、
            • langgraph.questionnaire.generate(补 respondent_name 装置后 5/5)、dan.report.parseFormat(38/38)
            • - YELLOW 暂缓(1):sleep.config.tags blank-key 契约 1 红(PublicConfigController 只查 null/empty
            • 不 reject 空白串,测试期望 500 实得 200,已知实现缺口)→ 登记 B-37
            • - 测试装置修正(B-19 A 类漂移):test_graph.py 2 处 GenerateRequest 补 respondent_name='家长',
            • 与 schema c3925c97e 对齐,pytest 5/5 复验通过
            • - 刷新台账:automation-status.md / inventory.md / blockers.md(B-37)
            • - 状态机:tdd_orchestrate.py --mark-green 9 键(sleep.config.tags 保持 YELLOW)
            • - 摘要段同步:O-3 5 SC + 2026-11-07 补证 10 SC = 15 SC,证据 sha 10e471dad 已 git merge-base --is-ancestor 核验
            • - 71 例三类流契约测试全绿(G01=7/G03=13/G04=9/G05=8/G07=5/G08=5/G09=6/G10=7/G11=5/G12=6)
            • - 新增 10 个 JUnit 契约测试类,覆盖 10 个未跑通 SC 的正常流/异常流/权限流
            • - 证据模式沿用 SC-G-02/SC-G-06 已跑通(8051b64f/df2364ba3):Mockito 直调 handler + MockHttpServletRequest/Response + 前端源静态断言
            • - 实跑结果:71 例全绿(Tests run: 71, Failures: 0, Errors: 0)
            • - 纯测试证据补录,未写任何业务实现代码(端点 100% 已实现,仅核对)

            v1.0.2150 (2026-11-06)

            文档

            • 研发负责人 错峰03 第46轮标准汇报 | 状态机22键=12DONE+10YELLOW+0RED维持 | 10YELLOW实现sha第7轮连续IN CHAIN 10/10复核 | O-10/O-11主理人裁决(B-31明文凭据环境变量化/B-33 gitignore白名单) | 变更感知0新键 | 目标池空防假RED零派发 | EVD-4/5空产留待下轮(全局并发4/4) | SC覆盖5/241 | 单文件hash-object入库
            • 研发负责人1 槽位第27轮标准汇报 | 状态机22键=12DONE+10YELLOW+0RED | EVD-1/2/3/6运行中(心跳05:15-17活跃)EVD-4/5空产出idle维持R51留待下轮(全局并发满4/4) | 证据16/16 IN CHAIN(10YELLOW+5转正SC+CI 5783bb294) | B-34/B-35修复已YELLOW待测试复验TR-9/10 | 变更感知0新键 | 目标池空防假RED | O-1~9全已裁决 | SC覆盖5/241 | 单文件hash-object入库

            v1.0.2149 (2026-11-06)

            文档

            • 研发负责人 R51 标准汇报 | 状态机22键=12DONE+10YELLOW+0RED | 实测发现EVD-3~6空产出(04:38派发outcome空/cost0)恢复EVD-3/EVD-6(lan-248 axonhub/deepseek --confirm确认执行) | EVD-4/5留待下轮(全局并发满4/4) | 10YELLOW+5转正+CI sha 17/17 IN CHAIN | 变更感知0新键 | 目标池空防假RED | SC覆盖5/241 | webhook窗口外未发(05:10<06:00) | 单文件hash-object入库

            v1.0.2148 (2026-11-06)

            文档

            • 研发负责人 R50 标准汇报 | 状态机22键=12DONE+10YELLOW+0RED | dan.report.parseFormat(9628df3d9)RED→YELLOW B-34/B-35双闭环 | 10YELLOW实现sha全部IN CHAIN | 04:38轮已派EVD-1~6衔接核验不重复派发 | 变更感知0新键 | 目标池空防假RED | SC覆盖5/236 | 单文件hash-object入库

            v1.0.2147 (2026-11-06)

            文档

            • 研发负责人闭环轮 2026-11-07 0438 | 恢复6会话+派发6证据/复验/CI任务(EVD-1~6) | 10 YELLOW IN CHAIN | SC覆盖5/241 | 目标池空防假RED渐进

            Bug 修复

            • TDD 部署 testing (da8adf10) 补全 B-4 未推送实现 | F1 管理端/家庭端分页列表 envelope 统一 data.records(ButlerController/ButlerService) + 局部更新 name 非必填 | F2 AdminCommissionConfig update 按 id 更新放行 name 缺失(仅新增必填) + 3 契约测试 | mvn compile 通过

            v1.0.2146 (2026-11-06)

            文档

            • 研发负责人 本槽位第53轮标准汇报 | 状态机22键=12DONE+10YELLOW+0RED维持 | 10YELLOW实现sha第6轮连续IN CHAIN 10/10 | P0契约补建第4批五维能量12SC开工包(12/12端点已实现0缺失)+TR-10(B-34复验+五维转测试) | O-1~O-9全已裁决 | 变更感知0新键 | 目标池空防假RED零派发 | SC覆盖5/241 | hash-object多文件入库
            • 研发负责人 错峰03 第46轮标准汇报 | 状态机22键=12DONE+10YELLOW+0RED | 10YELLOW实现sha第5轮连续IN CHAIN 10/10复核 | O-1~O-9全已裁决无待裁决 | 变更感知0新键 | 目标池空防假RED零派发 | SC覆盖5/241 | 单文件hash-object入库

            v1.0.2145 (2026-11-06)

            文档

            • 研发负责人 错峰03 第45轮标准汇报 | 状态机22键=12DONE+10YELLOW+0RED | B-34/B-35修复回补登记(1b15b67d2/9628df3d9) IN-CHAIN 10/10复核 | O-9主理人最终确认(cfc-langgraph归口落地+回补完成) | O-5主理人最终确认(39轮意见生效,收口归研发负责人1) | 变更感知0新键 | 目标池空防假RED零派发 | SC覆盖5/241 | 单文件hash-object入库
            • 研发负责人第N轮闭环巡检汇报 + 家庭-成员15SC契约补建开工包 + TR-9测试请求追加

            v1.0.2144 (2026-11-06)

            文档

            • 研发负责人 第50轮标准汇报(修正提交:恢复 auto-bump cfc-web 5 文件至 998ed842e 版,父链 8fa4179e7,树=998ed842e树+汇报)
            • 研发负责人 第50轮标准汇报 | 稳态核查 | 状态机22键=12DONE+9YELLOW+1RED(dan.report.parseFormat,S-cfc-34契约在途pub-iwintrue) | 9YELLOW实现sha全IN CHAIN 9/9复核 | B-34修复1b15b67d2在链回归资产+1 | 变更感知0新增键 | 目标池空防假RED零派发 | 无wedged/stalled/thrash无恢复 | --clean-check=1(146处他人WIP,O-3判据③不阻塞) | SC覆盖5/241 | webhook窗口外未发(03:24<06:00) | 单文件hash-object入库

            Bug 修复

            • S-cfc-34 修复 DanReportParseServiceTest 4 例红(B-35)| 能力键 dan.report.parseFormat

            其他

            • 1. 根因修复: 清洗正则 [\uF000-\uFFFF] 误删全角冒号 U+FF1A → 收窄为 [\uE000-\uF8FF]
            • (testParseA2_standardCoreLiteracyFormat 姓名俊辰为 null 的根因)
            • 2. A2 standardCoreLiteracy 版式: 测试日期关键词 + 日期正则兜底; findFieldValue 增加粘连值解析
            • (value 段内再出现冒号时截取纯汉字段)
            • 3. B4 降级版式: 自我概念区 parseSelfConcept 漏「自信心 7分」带单位格式 → 增加自信/自尊正则兜底
            • (testParseB4_regression 仍走降级)
            • 4. A1 detail 版式: 「我的xxx得分 41 | 14%」同行「分数|百分位」优先提取(原逻辑取下一行错位)
            • 5. A1 fallback 窗口: 300 字符收紧至 60 + 正则 [^0-9]{0,10},避免跨到下一维度百分位
            • 改动仅限 cfc-backend/src/main/java/com/etotem/cfc/service/DanReportParseService.java(+59/-6)
            • 未改测试断言;mvn -DskipTests=false -Dtest=DanReportParseServiceTest test: 4 fail → 0 fail, 38/38 通过
            • 真实样本 /api/health/report/parse 人工比对(3 份)需后端在线环境执行,留待后续轮次

            v1.0.2143 (2026-11-06)

            文档

            • 研发负责人 49 轮汇报(R49 0305)——B-34 YELLOW 登记 + S-cfc-34 实现派发
            • 研发负责人 第52轮标准汇报 | 状态机22键=12DONE+8YELLOW+2RED(B-34/B-35) | B-34修复1b15b67d2 IN-CHAIN 卡 O-9 归口待主理人确认 | 黑窗至08:00零新增派发 | 8YELLOW实现sha全IN-CHAIN 8/8 | 变更感知0新键 | SC覆盖5/241 | 单文件hash-object入库
            • 研发负责人 第52轮标准汇报 | 状态机22键=12DONE+8YELLOW+2RED(B-34/B-35) | B-34修复1b15b67d2 IN-CHAIN 卡 O-9 归口待主理人确认 | 黑窗至08:00零新增派发 | 8YELLOW实现sha全IN-CHAIN 8/8 | 变更感知0新键 | SC覆盖5/241 | 单文件hash-object入库
            • 研发负责人 第51轮标准汇报 | 状态机22键=12DONE+8YELLOW+2RED(langgraph.questionnaire.generate/dan.report.parseFormat,B-34/B-35) | S-cfc-33修复1b15b67d2已推IN-CHAIN但commit_kind=other(cfc-langgraph/src不在main归口)→O-9登记(裁决:cfc-langgraph/src入main/tests入test,同15:20先例,待主理人确认) | S-cfc-34(B-35)在途lan-248 | 8YELLOW实现sha全IN CHAIN复核8/8 | 部署confirmed20/pending0 | 变更感知0新键 | 会话2 running(local-45278/lan-248)其余idle | SC覆盖5/241 | 双文件hash-object入库

            Bug 修复

            • S-cfc-33 修复 AI 问卷生成 100% 降级 (B-34) - GenerateRequest 补 prompt_template 字段 + build_prompt getattr 防御

            v1.0.2142 (2026-11-06)

            文档

            • 研发负责人 错峰03 第45轮 | 状态机22键=12DONE+8YELLOW+2RED(新增langgraph.questionnaire.generate/dan.report.parseFormat) | 突破零派发:B-34(P0)/B-35(P1)转任务S-cfc-33/34并全派发在途(axonhub/deepseek绕黑窗,local-45278/lan-248) | 8YELLOW实现sha第45轮全IN origin/cfclub核验 | 池空不收手:测试侧65轮新缺陷为最高优先任务源 | O-1~O-8无待裁决遗留 | 8YELLOW收口依赖测试侧mark-green(TR-6) | 单文件hash-object入库

            v1.0.2141 (2026-11-06)

            文档

            • 研发负责人 错峰03 第44轮 | 状态机20键=12DONE+8YELLOW+0RED稳态 | 8 YELLOW实现sha第44轮全IN origin/cfclub核验 | O-8主管人最终确认(241归一落地核验通过,sc-key-map唯一SC=241=主表行数,DEV_GOAL同步241,5SC已跑通) | 0派发(池空+黑窗) | 8YELLOW收口依赖测试侧mark-green(TR-6) | 契约核对滚动B-1跟进+商城-会员18SC开工包已转TR-8 | dispatch.py缺陷O-6待主理人派发 | 双文件hash-object入库
            • 第50轮研发负责人标准汇报(O-8 归一 236→241 落地 + 商城-会员 18 SC 开工包 + TR-8 转测试侧)
            • 商城-会员 18 SC 开工包(18/18 端点已实现 0 缺失)+ TR-8 登记转测试侧
            • 研发负责人 第50轮 O-8 归一落地 | sc-key-map 唯一 SC ID=主表行数=241(O-3 5 SC 双行制归一+SC-P-94~96/SC-C-26/SC-A-27 入册)| DEV_GOAL 顶层目标同步 241 | pending.md O-8 置已裁决生效 | 三文件 hash-object 入库
            • 任务-激励 22 SC 契约核对结论(P0 契约补建批次)

            测试

            • 测试负责人 第65轮 全量clean实测 231类1847例=1769绿/95.78%(+2.28pp) 红例116→74 · B-29三行Mockito修正实证(预测95.78%=实测95.78%) · 前端313/313 管理端90/90 pytest49/2/12(96.08%) · 新发现B-34(P0 问卷GenerateRequest缺prompt_template→AI问卷100%降级)/B-35(DAN解析A1A2B4仍失效)/B-36(根级23例门控0执行) · 门禁不通过(有条件)

            其他

            • 非研发实现型 RED,建议能力键映射 12 条,转测试侧 TR-8
            • - test-requests.md:新增 TR-8(商城-会员 18 SC 契约补建,待测试处理)
            • - 基于 origin/cfclub 单文件入库(未触碰工作区他人 WIP)
            • - 3 处字面路径命名/归属差异(语义已实现,非能力缺口):points/exchange create->submit、tasks/statistics->task-reminders/statistics、SC-T-18 growth-task/batch-complete 归 TaskController
            • - 12 个指定 SC(P-13/P-14/P-15/P-16/P-88、C-09/C-10/C-22/C-24、A-05、P-77/P-86)逐条确认接口已实现
            • - 仅新增 docs/tdd/orchestration/task-incentive-contractcheck-202611070117.md,未改业务代码/测试/DB迁移

            v1.0.2140 (2026-11-06)

            文档

            • 研发负责人 第49轮 汇报 webhook 窗口外说明回填(01:10 属 06:00-22:00 窗口外,未发)
            • 研发负责人 第49轮 闭环巡检 | 状态机20键=12DONE+8YELLOW+0RED | 突破零派发:按O-7授权滚动P0批次 任务-激励22SC开工包(ce8c4b4b7)+A/B组契约核对派发(lan-248/lan-204,axonhub绕黑窗已确认) | 18端点18/18已实现0缺失(防假RED) | 8YELLOW实现sha全IN CHAIN复核(8/8) | O-7生效继续滚动+O-8待主理人确认(236→241) | SC覆盖5/236 | 双文件hash-object入库
            • 任务-激励 22 SC 开工包(P0 契约补建批次)接口范围端点核验 22/22 已实现 0 缺失

            v1.0.2139 (2026-11-06)

            文档

            • 研发负责人 第48轮 闭环巡检 | 状态机20键=12DONE+8YELLOW+0RED | 8YELLOW实现sha全IN CHAIN复核(8/8) | 0派发+0新键(池空+黑窗) | O-7生效+B-1/B-2契约核对完成/216SC契约补建待P0派发 | O-8待主理人确认(236→241) | SC覆盖5/236 | 单文件hash-object入库

            v1.0.2138 (2026-11-06)

            文档

            • 研发负责人 第47轮 闭环巡检 | 状态机20键=12DONE+8YELLOW+0RED | 8YELLOW实现sha全IN CHAIN复核(8/8) | 0派发+0新键(池空+黑窗) | O-7生效+B-1/B-2契约核对完成/216SC契约补建待P0派发 | SC覆盖5/236 | 单文件hash-object入库

            v1.0.2137 (2026-11-06)

            文档

            • 研发负责人 第46轮 闭环巡检 | 状态机20键=12DONE+8YELLOW+0RED | 8YELLOW实现sha全IN CHAIN复核(8/8) | 0派发+0新键(池空+黑窗) | 主理人裁决O-7生效(契约补建工作流授权) 核验B-2产出525a40b70已合入API_REFERENCE 4.59 | 登记O-8(sc-key-map归一+5新SC入册236→241,待主理人确认) | SC覆盖5/236 | 单文件hash-object入库

            v1.0.2136 (2026-11-06)

            测试

            • 测试负责人 第64轮 定向契约复验 15类169例=165绿/4红(97.63%) 独立worktree干净基线 · 4红全承袭零漂移(P-2 3+S-cfc-31 1) · testCompile 232源0错 · 5证据sha全IN CHAIN · 状态机5键GREEN第7轮维持 · 门禁不通过(承袭,有条件)

            v1.0.2135 (2026-11-06)

            文档

            • 研发负责人 错峰03 第43轮 闭环巡检 | 状态机20键=12DONE+8YELLOW+0RED | 8YELLOW实现sha全IN CHAIN复核(8/8) | 0派发+0新键(池空) | 主理人裁决O-7生效(契约补建工作流授权=文档核对+端点比对防假RED,非实现型RED,渐进批次) | 核验B-1/B-2契约核对在途(B-2产出525a40b70已合入API_REFERENCE 4.59) | SC覆盖5/236 | 单文件hash-object入库

            其他

            • B-2 报告闭环开工包 API 契约核对补全:新增 API_REFERENCE 4.59(report-parse/report-parse 解析中台、健康报告全链路、代传闭环 proxy-parse/proxy-confirm、报告权限/分享、DAN 报告模块、趋势与饮食推荐、LangGraph 依赖登记、契约缺口映射)+ PROJECT-OVERVIEW 追踪

            v1.0.2134 (2026-11-06)

            测试

            • 测试负责人 第63轮 增量复核+WIP实测确认 前端313/313·管理端90/90·pytest49/2/12(96.08%) 后端承袭1847/93.50%零漂移(第8次) · WIP价值预测变实测(67绿可入库) · B-29确认3行Mockito即95.78% · 门禁不通过(有条件)

            文档

            • 研发负责人 第45轮 闭环巡检 | 状态机20键=12DONE+8YELLOW+0RED | 8YELLOW实现sha全IN CHAIN复核(8/8) | 0派发+0新键(池空+216SC契约前置阻塞) | 裁决O-7(契约补建工作流授权=文档核对+测试侧补证据,非实现型RED,渐进批次,待主理人确认) | 核验B-1/B-2契约产出在途 | SC覆盖5/236 | 单文件hash-object入库

            v1.0.2133 (2026-11-06)

            文档

            • 研发负责人 第44轮 闭环巡检 | 状态机20键=12DONE+8YELLOW+0RED | B-1/B-2开工包66SC端点100%已实现核实(0缺失,防假RED) | 派发2契约核对(lan-248/lan-204,axonhub/deepseek绕黑窗,已确认执行) | 0新键+0入池(契约补建=文档核对+测试侧补证据,非实现型RED) | 登记O-7(契约补建工作流授权待裁决)+TR-7(测试侧补66SC契约JUnit+三类流) | SC覆盖5/236 | 单文件hash-object入库

            v1.0.2132 (2026-11-06)

            测试

            • B-33 根因登记 .gitignore:70 *.py 全局忽略导致度量脚本无法入库 · B-32/B-15 状态修正为部分解除
            • 测试负责人 第62轮 全量实测 231类/1847例/1727绿=93.50% (剔环境93.94%) · 36红类/116红例 · 恒等式1838-20+3+26=1847误差0 · 与20:20轮全字段零漂移(第7次) · 定位一步可达通过: WIP修3行Mockito即-42红, 后端95.78%/合计96.37% · 新增B-29~B-32 · 门禁不通过(有条件)

            v1.0.2131 (2026-11-06)

            文档

            • 研发负责人 错峰03 第42轮 闭环巡检 | 状态机20键=12DONE+8YELLOW+0RED | 7键YELLOW实现sha全IN CHAIN核验(1键sleep.config.tags证据误配待交真实sha) | 0派发(池空+216SC契约前置阻塞) | 新initiative:216SC契约补建计划+43+23开工包已落origin但0契约合入→建议O-7授权启动契约补建工作流解锁派发 | SC覆盖5/236 | 测试侧93.50%(1727/1847)待mark-green8YELLOW | 单文件hash-object入库

            v1.0.2130 (2026-11-06)

            文档

            • 研发负责人 错峰03 第41轮 闭环巡检 | 状态机20键=12DONE+8YELLOW+0RED | 8 YELLOW 实现 sha 全 IN CHAIN+触及main(5后端+3前端)复核 | 0派发(池空+无中断)+0新键(变更感知无新增能力键,SC-X-22/T41/11-06spec实现均已合入无缺口) | SC覆盖5/236 | 主理人待办O-1~O-6均已裁决 | TR-6请求测试侧收口8YELLOW | 单文件hash-object入库
            • 测评-方案 43 SC + 报告闭环 23 SC 开工包(B-1/B-2 配套批次)
            • 研发负责人 错峰03 第40轮 闭环巡检 | 状态机20键=12DONE+8YELLOW+0RED | 8 YELLOW 证据 sha 全 IN CHAIN+触及main(6后端+2前端)复核 | 0派发(池空+无中断)+0新键(变更感知无新增能力键) | SC覆盖5/236 | 主理人待办O-1~O-6均已裁决 | TR-6请求测试侧收口8YELLOW | 单文件hash-object入库
            • 216 个待契约 SC 契约补建计划(15 业务线/P0-P2 分批)
            • 研发负责人 错峰03 第39轮 闭环巡检 | 状态机20键=12DONE+8YELLOW+0RED | 8 YELLOW 证据 sha 全 IN CHAIN 复核 | 主理人裁决 O-5(B-26 主工作区WIP)已裁决推进+O-6(dispatch证据误配缺陷)已裁决 | 0派发(池空+黑窗至11-07 08:00)+0新键 | 单文件hash-object入库

            其他

            • - 归属 P0「测评-方案」43 条 SC(测评 12 / 方案 21 / 规划师绑定 5 / 孩子执行 3 / AI 教练 3)
            • - 建议能力键 44 个(全量去重,无重叠)
            • - 定契约接口范围已锚定到 origin/cfclub 现存的 DanAssessmentController / HealthPlanController / OrchestrationController / GuidePlanReviewController / PlanReviewController 等端点
            • - 风险注记 5 项(Orchestration flow 语义待明确、T-26/T-27 跨域拆分、H-02 无既有 Controller、LangGraph 跨仓、X 全链路后置)
            • B-2 开工包:
            • - 归属 P0「报告闭环」23 条 SC
            • - 19 个去重能力键(含 health.report.* / dan.assessment.* / admin.reportParse.* / coach.* / misc.* / provider.*)
            • - 风险注记 3 项(LangGraph 报告解读依赖、X 全链路后置、P-91 五维引擎解耦)
            • - 按业务线分 15 批:P0 133 个(测评-方案43/报告23/任务22/商城18/家庭15/五维12)+ P1 40 + P2 43
            • - 策略:契约定一批→映射能力键→入池→派发,渐进推进

            v1.0.2129 (2026-11-06)

            文档

            • 研发负责人1 标准汇报 2122 轮 + TR-6 请求测试侧收口 8 YELLOW

            v1.0.2128 (2026-11-06)

            文档

            • 研发负责人 2117 轮(本自动化第43轮)闭环巡检 | 状态机20键=12DONE+5YELLOW+3RED | 互斥✓(state.json 59分钟前) | 678会话全idle/0恢复/0派发(池空+0新增键+黑窗至11-07 08:00) / 部署缺口3条本机复核真缺口(292087771后guideconfig 5文件264插入) / 5转正SC证据sha全ancestor✓ / CI 5783bb294在链 / SC 5/236 | 单文件hash-object入库

            测试

            • 测试负责人 第61轮 · 干净基线定向契约复验 15类/176例/172绿(97.73%)·4红全承袭(P-2 3红+S-cfc-31 1红)·testCompile 232源0错·5证据sha全IN CHAIN(含补检55caf6966)·G7状态机5键GREEN第4轮维持·远端+3提交零代码变更·主工作区36项WIP零侵入 | 门禁不通过(承袭有条件)

            v1.0.2127 (2026-11-06)

            文档

            • 研发负责人1 第34轮闭环巡检 | 状态机20键=12DONE+5YELLOW+3RED | git真理核验:部署缺口3条真缺口确认(895e500e1/30ae86d7d/def9c83a3 不在292087771祖先链,292087771..origin=49提交) / sleep.config.tags证据误配深化核验(机制实现f8b145d3a/93aad0152/4734bcf45+契约f11062b42全在链上,非实现缺失仅登记误配) / 恢复11跳过5 / 0派发(池空+黑窗) / SC 5/236 | 单文件hash-object入库

            v1.0.2126 (2026-11-06)

            文档

            • 研发负责人1 第33轮闭环巡检 | 状态机20键=12DONE+5YELLOW+3RED | git真理核验:3RED为账本滞后(impl+test已入origin) / 4 YELLOW硬证据sha祖先链全✓ / sleep.config.tags证据误配(04d87cfd1系术语重构,非tags实现) / 3部署缺口(895e500e1/30ae86d7d/def9c83a3) / 0派发(黑窗+池空) / SC 5/236 | 单文件hash-object入库
            • 研发负责人2 第43轮工作汇报(2031)

            v1.0.2125 (2026-11-06)

            测试

            • 测试负责人 2020 轮 · 第 60 轮·干净基线全量实跑 231类/1847例/1727绿(93.50%)·红类36红例116与18:09基线零漂移·唯一变量GuideConfigServiceTest 11绿·前端386/386·根级11/23·pytest 24/43 | 归因 A51/B19/C20/契约3/待核实23·修完A类G1可达96.26% | B-22收口(鉴权清单27路径参数化28/28)·新增B-27(参数化口径)/B-28(分支切换致59轮报告与B-26/O-5在cfclub丢失)·B-26根因细化为when(mock).method()误用 | 场景溯源149/244=61.1%·可执行仅5/244 | 门禁不通过(有条件)

            v1.0.2124 (2026-11-06)

            其他

            • S-cfc-29: 新增历史完成任务页面 + 个人中心跳转调整
            • - pages.json 注册 pages/tasks/history 路由,标题「历史完成任务」
            • - profile.vue: 新增 goToTaskHistory(),完成任务卡片由 goToTasks 改为 goToTaskHistory,任务列表入口保持不变
            • - 后端 /api/tasks/history 已就绪,前端 utils/api.js getTaskHistory 已封装

            v1.0.2123 (2026-11-06)

            其他

            • S-cfc-30 growth-history: 新增成长历史记录页,profile.vue跳转指向历史页
            • - pages.json 注册 pages/growth/history (navigationBarTitleText: 成长历史记录)
            • - profile.vue goToGrowth() 由跳成长首页改为跳成长历史记录页
            • - CSS: 新增 .achievement-grid.cols-5 .ach-item { width: 20% } 五列等分
            • - 不改动全局 .achievement-grid(复用于我的团队/卡券中心),不破坏既有 3 列/2 列布局
            • - 契约测试 SC-P-96 对应实现落地

            新功能

            • S-cfc-32 我的成就固定五列显示

            v1.0.2122 (2026-11-06)

            新功能

            • 引导浮层已读状态改为按账号记录,内容变化自动重弹
            • 商品标签改为标签选择器录入(与文章标签一致)

            其他

            • - 新增 productTagList 计算属性,与 form.tags(逗号分隔字符串)双向映射
            • - 回车添加、点标签删除,提示文案同步
            • [skip ci]

            v1.0.2121 (2026-11-06)

            文档

            • 方案 v1.0 申请主体锁定北京浠艾福科技 + 实名认证材料清单(打款认证)
            • 华为运动健康开放平台接入方案 v1.0(方案二 Health Service Kit REST API + 双轨产品策略)
            • 研发负责人 第42轮汇报 1800 · CI管线文件落地5783bb294登记二·七 · 4RED账本滞后(实现+契约全在主线) · 0派发0新增键 · 部署缺口292087771待确认 · 场景覆盖5/236

            v1.0.2120 (2026-11-06)

            文档

            • 研发负责人 第41轮汇报 1752 · 定时自动化核验 · 4 YELLOW键实现sha全在链上 · 4 RED契约测试全合入实现在主线(账本滞后) · 0派发0新增键 · 跨目录账本分裂发现(测试侧17:04收口5键GREEN于自有账本·主工作树未同步) · 部署缺口292087771目录错位 · 场景覆盖5/236
            • 研发负责人2 第40轮汇报 1729 · B-22/B-25实现合入闭环(292087771/0f6588bb3)·S-cfc-29~32契约测试全合入·backfill回填6条·部署292087771失败发现(会话目录错位/sc-data/mes/mes)·0新增能力键·场景覆盖5/236·黑窗至11-07 08:00

            v1.0.2119 (2026-11-06)

            文档

            • 研发负责人 第32轮汇报 1712 · git真理核验8键实现+测试全在origin/cfclub · 4RED账本滞后零派发 · SC覆盖5/236

            新功能

            • 我的团队推广收益改CF口径对齐 + 邀请成员直接分享

            其他

            • (旧 CommissionRecord settled 佣金口径)改为 getCfSummary().totalEarned
            • (CF 值总览口径,与推广中心 promotion/index.vue 收益总览'累计获取CF'一致)。
            • promotion 的 cfVal 不做分->元换算(cfVal=String(num)),故此处同样不除 100,
            • 保证'我的团队'推广收益数字 = 推广中心'累计获取CF'数字。
            • - 邀请成员直接分享:团队区块新增'🤝 邀请成员'入口,@click=showShareQr 复用现有
            • ContentSharePoster(scene=ref=推荐码,路径 pages/index-home/index),好友扫码
            • 进首页自动绑定推荐人,满足推荐/下级绑定。
            • - 团队区块网格 2 项变 3 项:新增 .achievement-grid.team-grid 让 3 列等宽
            • (我的团队/推广收益/邀请成员),保持既有视觉协调。
            • - 仅改 cfc-frontend/pages/profile-main/profile.vue;后端零改动;api.js 仅补 import getCfSummary。

            v1.0.2118 (2026-11-06)

            文档

            • 修正第25轮汇报统计口径(执行 407 / 通过 388 = 95.3%)
            • 研发侧通知 · O-2方案A 5键契约实跑收口(GREEN)+P-2/PY遗留
            • 测试负责人第25轮 · O-2方案A契约实跑68/68全绿 · 5键mark-green收口
            • 我的团队推广收益口径对齐 + 邀请成员直接分享(推荐绑定)任务书

            Bug 修复

            • 我的优惠券已领取券改转赠+使用 + 使用按券类型跳转
            • prod-etotem 明文口令移出 config.json(回退 null),凭据由 config.local.json 覆盖

            其他

            • 使用按 applicableTo 分派:指定商品券(PRODUCT)→确认订单页(自动选券),全品类(ALL)→商城,会员券(MEMBERSHIP)→开通会员,兜底→商城
            • - coupons.vue: 未登录点击使用先弹登录浮层(openLoginSheet);productId 为空兜底跳商城;import 补 productDetail,移除 claimCoupon
            • - checkout.vue: onLoad 读 options.couponId(券实例ID) 存 _autoCouponId;loadCoupons 后经 autoSelectCoupon 在 ownedCoupons 中匹配自动选中并重算折扣;未命中静默忽略
            • - 真实口令 OpenCode@123 位于 config.local.json(.gitignore 已忽略,本地私有)
            • - load_config() 合并验证:prod-etotem 口令 = OpenCode@123 正确生效

            v1.0.2117 (2026-11-06)

            其他

            • - prod-etotem 例外:第二档换为 etotem/deepseek(用户 2026-11-06 裁定)
            • - prod-etotem password 直接写入 OpenCode@123(保留 password_env 备选)
            • - 移除 nvidia/nemotron 与 axon 候选列表槽位

            文档

            • 我的优惠券已领取券按钮修复(转赠+使用)+ 使用按券类型跳转 任务书

            v1.0.2116 (2026-11-06)

            文档

            • 报告上传页关联商品卡片区(去重可购买)+ 成员4列核验 任务书

            v1.0.2115 (2026-11-06)

            文档

            • 研发负责人2 标准汇报 1520 轮 · 主理人裁决轮(第39轮)
            • 研发负责人2 主理人裁决轮——pending.md O-3/O-4 台账漂移同步

            其他

            • 1. 脚本缺陷修复(P0):git_evidence/commit_kind 前端/Web/商城 src 归入 main;YELLOW/GREEN 推进只认 kind==main(排除 docs/ 误配 d76d24dca);--mark-yellow 只认 main;dispatch_deploy/finalize_deploy 受 write 门控;worklog --dry-run 零副作用。验证:--auto --dry-run 零写盘 + health.report.upload 不再误推进。
            • 2. 账本异常修正:admin.auth.login/health.report.upload 回填真实实现 sha(6c7e09fe8/78b72c14f kind=main 已推 origin/cfclub),清除 d76d24dca 文档误配。
            • 3. O-3/O-4 台账同步:pending.md 状态列「待裁决」→「已裁决」(0fc5294f2 已推)。
            • 状态机 20 键 = 12DONE + 4YELLOW + 4RED;场景覆盖 5/236(O-3 收口);黑窗至 11-07 08:00;主工作树 WIP 只读盘点不代提交。
            • O-4 状态列「待裁决」→「已裁决」:2026-11-06 主理人收口 0a50c44cc(顶层目标 218→236 落地,SC-X-22 契约缺口按项登记)。
            • 台账漂移根因:DEV_GOAL §4.2/§4.3 与 sc-key-map.md 已按裁决更新,但 pending.md 状态列仍标「待裁决」。
            • 本轮仅同步状态列,不改裁决正文(保留原始诉求与证据链)。

            v1.0.2114 (2026-11-06)

            其他

            • merge(S-cfc-28): B-25 测试装置反射注入已删字段修复 + 同源全量排查
            • merge(S-cfc-27): B-22 CF N+1 批量优化 + 鉴权清单 401 参数化契约

            测试

            • S-cfc-31 sleep.config.tags 契约级单测 (21绿/1红 blank-key 缺陷) 闭环 RED->绿

            v1.0.2113 (2026-11-06)

            测试

            • S-cfc-30 growth.history.view 契约级单测 GREEN (RED->绿)
            • 契约级单测覆盖能力键 task.history.view(POST /api/tasks/history 任务历史查询分页+category过滤)

            其他

            • 目标端点 GrowthRecordController(@RequestMapping /api/growth)读视图:
            • - POST /record/list -> getRecordList (父视角档案列表)
            • - POST /record/child/{id} -> getChildRecords (指定成员档案列表)
            • - POST /record/{id} -> getRecordDetail (单条明细回链)
            • - POST /record/{id}/supplements -> getSupplements (补充记录列表)
            • 覆盖:正常路径 + 关键边界(空列表/不存在/空补充记录)
            • + 角色权限(JwtInterceptor 层鉴权、按 userId 属性数据隔离,
            • 客户端 body/query 不可越权覆盖 userId)
            • 溯源:tests/user-scenarios/应用场景总览.md SC-P-95
            • + docs/需求分析/2026-11-06-成就成长打卡需求变更.md 变更B
            • 测试:mvn -q -Dtest=GrowthHistoryViewContractTest test -DskipTests=false
            • -> Tests run: 9, Failures: 0, Errors: 0 (全绿)
            • 隔离:MockMvc standalone + mock GrowthRecordService,无 Spring 上下文/DB/外部服务
            • 不改 src/main(未暴露缺陷)
            • - 对应 SC-P-94「完成任务→历史完成任务页面」+ 需求变更 A;handler 无角色检查,角色由 JwtInterceptor/Service 承担(teacher|admin 不适用本层)
            • - 测试隔离:MockMvc standalone + mock TaskService,无 Spring 上下文/无 DB/无外部服务
            • - 运行结果:Tests run: 7, Failures: 0, Errors: 0, Skipped: 0(src/main 零改动,未暴露缺陷)

            文档

            • 研发负责人 第38轮汇报 1422(稳态核验·4 RED契约测试29/32已合入4adb7895c/7ca946b32·2键实现已存在待测试侧复测红绿·B-25产出e1eb3245b待合主·admin.auth.login/health.report.upload账本领先实现·5新SC P-94~96/C-26/A-27未同步台账·0新增能力键·场景覆盖5/236·黑窗至11-07 08:00)

            v1.0.2112 (2026-11-06)

            文档

            • 研发负责人2 补充汇报 1415 轮(配置调整:lan-204启用·删iwintrue-cloud·max_parallel6·dry-run副作用派发S-cfc-29~32·账本三次清污·脚本缺陷取证:--auto证据误配文档提交d76d24dca当部署证据+--auto--dry-run未抑制写盘派发·状态机20键12DONE/4YELLOW/4RED·黑窗至11-07 08:00)

            其他

            • S-cfc-32: add contract tests for achievement.grid.fiveCol (BadgeController.getMemberBadges)
            • - Covers: explicit memberId, fallback to currentMemberId, empty list, missing badge definition filtering, sorting by favorite+earnedAt, null memberId returns empty, role access for parent/teacher/admin/child
            • - Pure unit test: MockMvc standalone + Mockito, no DB/external deps

            v1.0.2111 (2026-11-06)

            文档

            • 研发负责人1 第37轮汇报——5 任务派发(B-22 重派 S-cfc-27 + 4 RED 写单测 S-cfc-29~32)+ B-25 产出 e1eb3245b 待合入 cfclub + CI/编号口径待主理人裁决 | 状态机 20 键=12DONE+4YELLOW+4RED | 黑窗至 11-07 08:00 自动 fallback 模型 | 0 新增能力键 | 主工作树 46 处 WIP 只读盘点不代提交

            v1.0.2110 (2026-11-06)

            文档

            • 测试负责人 13:13 轮 · 第 24 轮例行闭环巡检 | 主口径 14 类 159 例 156 绿/3 红(P-2,非新回归)/0 错 + testCompile 0 错(B-10 第 14 轮无复发,Membership src/main 变更未破坏编译)+ 4 证据 sha IN CHAIN(补深后第 8 轮)+ S-cfc-17/18/19 契约复跑 52/52 全绿 + state.json 3 伪 RED 第 24 轮未动 + O-1 第 24 轮更新

            v1.0.2109 (2026-11-06)

            文档

            • 研发负责人2 标准汇报 第36轮(黑窗期池空稳态巡检·状态机12DONE/4YELLOW/0RED·admin.auth.login/health.report.upload账本异常YELLOW无yellow_sha实现确证未落地交主理人·部署缺口135be8ecd前端upgrade.vue未部署·O-4已裁决236落地但pending.md未同步·O-3待裁决·13:14需求变更2cc7e3aad场景入表观察·0新增能力键·黑窗至11-07 08:00)
            • 成就成长睡眠打卡需求变更 + SC-P-94~96/SC-C-26/SC-A-27 场景入表
            • 研发负责人5 标准汇报 1303 轮(第28轮·黑窗期fallback巡检·完成787010381测试环境部署收口·cron 12:46自动部署30bce074·/api/membership/discount 410 JAR内容级验证·状态机12DONE/4YELLOW/0RED·admin.auth.login/health.report.upload账本异常(YELLOW无yellow_sha)交主理人·0新增能力键·黑窗至11-07 08:00)

            其他

            • - 应用场景总览:新增 SC-P-94/95/96(家长成就与成长历史)、SC-C-26(睡眠打卡配置驱动)、SC-A-27(睡眠选项维护),场景总数 236→241
            • - 入池锚点:task.history.view / growth.history.view / sleep.config.tags / achievement.grid.five-col

            v1.0.2108 (2026-11-06)

            Bug 修复

            • 升级记录去除「登录查看」占位,等级名与金额按后端实际字段渲染

            其他

            • levelName 字段),前端 record.amount 恒为 undefined,而全局 formatPriceWithSymbol()
            • 对 null/undefined 返回游客占位「登录查看」→ 登录后升级记录仍显示「登录查看」,
            • 且等级名为空白。
            • - record-level 改用 getLevelName(record.toLevel)(按等级码映射等级名)
            • - record-amount 改用 getRecordAmountText(record):无金额显示 "—",有金额才
            • formatPriceWithSymbol 格式化为 ¥x.xx
            • - 验证:verify-vue-compile PASS(模板/样式/脚本通过)、audit-mp-antipatterns ERROR 0
            • - 提示:小程序需 HBuilderX 重新打包后生效(本提交仅改源码)

            v1.0.2107 (2026-11-06)

            文档

            • 研发负责人1 第34轮汇报——处置 B-22/B-25(派发 S-cfc-27/28)+ CI 启用裁决请求 + 编号口径建议(主理人裁决项)
            • 研发负责人1 第33轮补充——B-22/B-25 派发 S-cfc-27/28 + CI 启用裁决请求 + 编号口径规范建议(主理人裁决项)
            • 研发负责人3 标准汇报 1211 轮(第38轮·错峰03·污染修复+缺陷取证·_git_evidence_sha误配把文档提交当实现证据·admin.auth.login/health.report.upload yellow_sha回空+无效部署pending清除·YELLOW4/DONE12/RED0·两键实现确证未落地·S-cfc-21~26被假标done·O-3/O-4已裁决·黑窗至11-07 08:00)
            • 研发负责人1 第33轮汇报(分派 S-cfc-23~26 缺陷修复)
            • 研发负责人 1156 轮(第36轮·稳态核查·B-2/B-3实现会话在途·last_deployed后src/main缺口登记·O-3/O-4已裁决·部署缺口787010381)

            v1.0.2106 (2026-11-06)

            文档

            • 研发负责人1 标准汇报 1130 轮(第32轮·收口S-cfc-19/20错位·重派S-cfc-21/22实现 admin.auth.login/health.report.upload·B-2/B-3溯源·状态机12DONE/4YELLOW/0RED·黑窗08:00已解除·last_deployed=6481a995e零src/main缺口·工作树42处WIP只读盘点不代提交·hash-object+临时索引精确入库)

            其他

            • $uni-font-size-5xl 令牌改回 80rpx/72rpx(避免令牌收敛后字重与字号偏离设计)
            • - tools/xaf_agent_hub/tasks_backlog.json:U7 状态回填 done 并补 merge_commit b5a7e4116;
            • 新增 DOC-2026-11-05-miniapp-games-entry 条目(已执行完成)
            • BASIC/FAMILY/PREMIUM 统一=会员价(实际成交走 MemberPriceResolver + products.member_price,
            • 仅按 min_discount_level 判门槛,不存在按等级递增的百分比折扣)
            • - 删除随之失效的 formatDiscountBps(bps→「X折」展示)
            • - 迁移450:membership_benefits 的 FAMILY/PREMIUM「商品会员折扣 全场商品 8-9折/6-8折」
            • 对齐为「商品会员价 / 指定商品享会员价」(DML 幂等),schema.sql 种子同步
            • - POST /api/membership/discount 置 410 废弃(核对小程序/管理端零调用),
            • MembershipController.applyDiscount、MembershipService(.applyMemberDiscount)、
            • MembershipServiceInterface 同步标 @Deprecated
            • - 文档/测试同步:API_REFERENCE 4.50、PROJECT-OVERVIEW、membership-flow、e2e 冒烟断言 410
            • - 验证:cfc-backend mvn -q -DskipTests compile 通过

            Bug 修复

            • 权益对比取消等级折扣口径,付费档统一会员价

            v1.0.2105 (2026-11-06)

            文档

            • 研发负责人1 标准汇报 1052 轮 · 第31轮例行闭环巡检 | 状态机16键=12DONE+4YELLOW+0RED | 核心发现 S-cfc-19/20 GREEN实现任务未产出(会话产出错位:S-cfc-19纯测试提交 c11295c1c / S-cfc-20 tokens=0,两键缺实现) | DEV_GOAL 218→236 落地(O-4裁决) | 0派发0部署0add-task | 主工作树41处WIP只读盘点不代提交 | hash-object+临时索引精确入库
            • 研发负责人5 标准汇报 1040 轮 · 第28轮例行闭环巡检 | 状态机16键=12DONE+4YELLOW+0RED | 核心发现 S-cfc-19/20 GREEN实现任务未产出(dispatch.py指令与GREEN阶段错配,两键缺实现) | 部署基线6481a995e后零src-main无部署需求 | 0派发0部署0add-task | 主工作树37处WIP只读盘点不代提交 | YELLOW双键(createReport/getActiveMaterial)待测试mark-green
            • 回填 O-3 收口汇报 sha(O-4+O-3 裁决轮 commit ffafdb214)
            • 主理人 O-3 收口——判据③细化为「SC 关联提交级」核验,5 个 SC 转正跑通(SC-G-02/G-06/P-03/P-10/P-11),累计已跑通 0→5、阻塞 5→0;补齐 O-4 §4.2 节 + 新增 O-3 §4.3 收口节;sc-key-map 5 行转正 + 计数口径同步;DEV_GOAL/sc-key-map/汇报三方同步(附录 G 主工作树 WIP 只读盘点不代提交)
            • 主理人 O-4 裁决落地——顶层目标 218→236(sc-key-map 表格行口径正本 236,A24/G12/P93/C25/T32/S11/X22/B10/H7;更正 0935 轮 237 统计误差;总览残留 SC-B-03/08 空号与 SC-T-6=SC-T-06 变体不计入;DEV_GOAL/SC-key-map/CI_READINESS 三方同步)
            • 研发负责人3 标准汇报 1000 轮(第37轮·错峰03·2键RED→YELLOW admin.auth.login/health.report.upload·派发S-cfc-19/20实现·修复回填误配(1d2f61932→9e391ac5d)·YELLOW4/DONE12/RED0·6证据sha祖先链全✓·last_deployed=6481a995e零src/main缺口·O-3/O-4/O-1待主理人裁决·webhook>4h待发)
            • 研发负责人 0935 轮汇报 1.4 回填实际 sha(1d2f61932)
            • 研发负责人 0935 轮(第35轮·池空稳态·恢复S-cfc-17 RED·DONE12/YELLOW2/RED2·0新增能力键·8证据sha祖先链全✓·last_deployed=6481a995e零src/main缺口·6实例719会话2运行717idle·O-3/O-4待主理人裁决·webhook距上次<4h未发

            测试

            • 测试负责人 1055 轮 — S-cfc-17/18/19 新 RED 契约 52 例全绿落地验证 + 契约复验 156绿/3红 + O-1 第23轮
            • 补齐 health.report.upload(HealthDimensionController /api/dimension/upload)契约级单测 21 例全绿,仅测试不改实现
            • admin.auth.login 契约级单测补齐(15 例全绿,仅测试不改实现)
            • 补齐 health.report.upload 契约级单测(16 例全绿,B-3 报告上传校验)

            其他

            • 本提交补齐登录契约最小闭环,与既有 AdminAuthControllerLoginStatusTest(B-2/R5 空 body/缺参 400)
            • 互补,聚焦:
            • - 正常路径:admin/teacher 成功、遗留角色归一化(activity_admin→activity_manager、
            • supplier_admin→supplier)、多角色 loginRole 身份选择(token roles 选中身份置顶)、
            • 无 roles 列表回退主角色;
            • - 关键边界:用户不存在、验证码错误(recordFailure)、登录锁定(剩余分钟提示)、
            • skipCaptcha 跳过校验、X-Forwarded-For 锁键 IP 口径、nickname 为空回退手机号;
            • - 角色/权限:parent/child 等 C 端账号拒绝、非法 loginRole 拒绝。
            • 验证:mvn -DskipTests=false -Dtest=AdminAuthControllerLoginContractTest test 15/15 通过;
            • 同域 AdminAuth*(LoginStatus 10 + WechatScan 11)36/36 通过,无回归。
            • 暴露缺陷(登记不改实现,交编排侧 GREEN 决策):
            • blockers.md B-2 / test_blockers.md R5 期望无后台角色/非法身份返回 401/403,
            • 当前实现仍以业务码 500 + HTTP 200 信封表达(Result.error),测试如实断言现状。
            • 仅新增测试文件,未改动 src/main。

            v1.0.2104 (2026-11-06)

            文档

            • 研发负责人1 标准汇报 0859 轮(第31轮·黑窗解除后首个实质派发轮·新增2 RED入池派发 S-cfc-17 admin.auth.login/S-cfc-18 health.report.upload·B-2/B-3溯源·状态机 RED2/YELLOW2/DONE12·last_deployed=6481a995e零src/main缺口·5智能体250会话全idle·O-3/O-4待主理人裁决

            v1.0.2103 (2026-11-06)

            文档

            • 研发负责人1 标准汇报 0850 轮(第30轮·池空稳态·DONE 12/YELLOW 2/RED 0·无新增能力键·8证据sha祖先链复核✓·last_deployed=6481a995e后51提交零src/main无部署缺口·5智能体全idle配额0/3·测试侧0844轮B-18自修收口HealthDimension 15/15·O-3/O-4待主理人裁决
            • 研发负责人2 标准汇报 0832 轮(第28轮·池空稳态·DONE 12/YELLOW 2/RED 0·0新增能力键·last_deployed=6481a995e后49提交零src/main无部署缺口·5实例全idle·B-21已解除·O-3/O-4待主理人裁决)

            测试

            • 测试负责人 0844 轮 — B-18 自修收口(HealthDimension 15/15) + 契约复验 102绿/5红 + O-1 第22轮

            v1.0.2102 (2026-11-06)

            文档

            • 研发负责人5 标准汇报 0027 轮(第27轮·池空稳态·DONE 12/YELLOW 2/RED 0·0新增能力键·基线6481a995e后47提交零src/main无部署缺口·5实例全idle·B-21已解除·O-3/O-4待主理人裁决)
            • 研发负责人 0755 轮(第34轮·池空稳态延续·DONE 12/YELLOW 2/RED 0·0新增能力键·8证据sha祖先链复核✓·last_deployed=6481a995e后零src/main无部署缺口·6实例715会话全idle·O-3/O-4待主理人裁决·webhook窗口外未发)
            • 研发负责人1 标准汇报 0739 轮(第30轮·池空稳态延续·DONE 12/YELLOW 2/RED 0·无新增能力键·4证据sha祖先链复核✓·last_deployed=6481a995e后零src/main无部署缺口·5智能体250会话全idle配额0/3·黑窗至08:00零派发·O-3/O-4待主理人裁决
            • 研发负责人1 标准汇报 0725 轮(第29轮·池空稳态·DONE 12/YELLOW 2/RED 0·无新增能力键·4证据sha祖先链复核✓·last_deployed=6481a995e后44提交零src/main无部署缺口(3d3cb183c纯src/test)·5智能体全idle配额0/3·B-25待测试侧自处置·O-3/O-4待主理人裁决
            • 研发负责人 0715 轮(第34轮·池空稳态·DONE 12/YELLOW 2/RED 0·0新增能力键·8证据sha祖先链复核✓·路由1937条0冲突·双ButlerController无Bean冲突·B-23已入库台账滞后·last_deployed=6481a995e后43提交零src/main无部署缺口·场景覆盖0/236阻塞5待O-3·O-1本机已同步/3/4待主理人裁决
            • 研发负责人5 标准汇报 0026 轮(第26轮·池空稳态·DONE 12/YELLOW 2/RED 0·0新增能力键·基线6481a995e后42提交零src/main无部署缺口·5实例全idle·B-21已解除·O-3/O-4待主理人裁决)

            v1.0.2101 (2026-11-05)

            文档

            • 研发负责人 0633 轮(第33轮·池空稳态·DONE 12/YELLOW 2/RED 0·0新增能力键·8证据sha祖先链复核✓·B-21连续2轮清零P-2/B-18 A类非研发RED·last_deployed=6481a995e后40提交零src/main无部署缺口·场景覆盖0/236阻塞5待O-3·O-1本机已同步/3/4待主理人裁决
            • 研发负责人1 标准汇报 0624 轮(第29轮·池空稳态·DONE 12/YELLOW 2/RED 0·无新增能力键·8证据sha祖先链复核✓·last_deployed=6481a995e后39提交零src/main无部署缺口(3d3cb183c纯tests/89b01f973测试docs)·5智能体全idle配额0/3·O-3/O-4待主理人裁决
            • 测试负责人 0612 轮(第53次)——契约 11 类 107 例 102绿/5红/0错(P-2 3红+B-18 2红,B-21 连续第2轮清零维持,B-10 第11轮无复发,2 YELLOW 键契约第12轮复验通过)· 4 sha IN CHAIN · 状态机同步缺口第21轮(mark-green 证据链就绪)
            • 研发负责人1 标准汇报 0615 轮(第28轮·池空稳态·DONE 12/YELLOW 2/RED 0·无新增能力键·B-21已解除B-25新增A类装置·last_deployed=6481a995e后37提交零src/main无部署缺口·O-3/O-4待主理人裁决)
            • 研发负责人2 标准汇报 0610 轮(第26轮·池空稳态·DONE 12/YELLOW 2/RED 0·无新增能力键·YELLOW 双 sha 祖先链复核✓·last_deployed=6481a995e 后 36 提交零业务源码改动无部署缺口·O-3/O-4 待主理人裁决)

            v1.0.2100 (2026-11-05)

            文档

            • 研发负责人5 标准汇报 0551 轮(第25轮·池空稳态·DONE 12/YELLOW 2/RED 0·无新增能力键·B-21已解除a939397bb测试侧自修17/17·last_deployed=6481a995e后零src/main无部署缺口·O-3/O-4待主理人裁决)

            v1.0.2099 (2026-11-05)

            文档

            • 研发负责人 0524 轮(第32轮·池空稳态·DONE 12/YELLOW 2/RED 0·0新增能力键·B-21已解除a939397bb测试侧自修17/17·8证据sha祖先链复核✓·last_deployed=6481a995e后零src/main无部署缺口·场景覆盖0/236阻塞5待O-3·webhook窗口外未发)
            • 研发负责人1 第27轮闭环巡检汇报(2026-11-06 0515,只读稳态·DONE 12/YELLOW 2/RED 0·0新增能力键·B-21已解除a939397bb测试侧自修17/17·YELLOW双sha祖先链复核✓·last_deployed=6481a995e后零src/main无部署缺口·黑窗至08:00零派发·O-1/O-3/O-4待主理人裁决)
            • 研发负责人1 闭环巡检第27轮汇报(2026-11-06 0508,池空稳态·DONE 12/YELLOW 2/RED 0·无新增能力键·证据链8 sha祖先链复核✓·B-21测试侧自修已合入·last_deployed=6481a995e后零src/main改动无部署缺口·O-3/O-4待主理人裁决)
            • 研发负责人2 标准汇报 0455 轮(第25轮·池空稳态·DONE 12/YELLOW 2/RED 0·无新增能力键·YELLOW 双 sha 祖先链复核✓·last_deployed=6481a995e 后零源码改动无部署缺口·O-3/O-4 与台账 drift 待主理人裁决)

            Bug 修复

            • B-21 SC-P-11 契约修复——TaskControllerReviewTest 补 RewardRuleService mock 恢复 17/17(52 轮测试自修)

            其他

            • - 修复前后实测:15/17(2 NPE) → 17/17 全绿;完整 9 类 79 例复验 74 绿/3 红(P-2)/0 错
            • - G8 契约红 5→3;blockers B-21 置已解除(附修复证据);新增 0502 轮报告

            v1.0.2098 (2026-11-05)

            文档

            • 研发负责人5 标准汇报 0445 轮(第24轮·池空稳态·DONE 12/YELLOW 2/RED 0·无新增能力键·last_deployed=6481a995e后零src/main改动测试环境已最新无需部署·B-21测试侧接线缺口·O-3/O-4待主理人裁决)

            v1.0.2097 (2026-11-05)

            文档

            • 测试负责人 03:46 轮实际执行汇报(后端 1700 例 92.5% 通过率 220 类全跑 · 前端/管理端全绿 · 较上轮净减 10 错误无新增回归 · 门禁不通过)

            v1.0.2096 (2026-11-05)

            文档

            • 研发负责人 0414 轮(第31轮·稳态核查·DONE 12/YELLOW 2/RED 0·0新增能力键·713会话全idle·证据链7 sha祖先链复核✓·last_deployed=6481a995e后零main变更·场景覆盖0/236阻塞5待O-3·webhook窗口外未发)

            v1.0.2095 (2026-11-05)

            文档

            • 研发负责人1 第26轮闭环巡检汇报(2026-11-06 0403,池空稳态)
            • 研发负责人1 闭环巡检第26轮汇报(2026-11-06 0354,池空稳态)
            • dev2 report round 24 2026-11-06
            • 研发负责人5 标准汇报 0340 轮(第23轮·池空稳态·DONE 12/YELLOW 2/RED 0·无新增能力键·last_deployed=6481a995e后零src改动测试环境已最新无需部署·B-21测试侧接线缺口·O-3待主理人裁决)

            v1.0.2094 (2026-11-05)

            文档

            • 研发负责人 0308 轮(第30轮·稳态核查·RED 0/YELLOW 2/DONE 12·0新增能力键·713会话全idle·证据链7 sha祖先链复核✓·last_deployed=6481a995e后零main变更·场景覆盖0/236阻塞5待O-3·webhook窗口外未发)
            • 研发负责人1 标准汇报 0255 轮(第26轮·池空稳态延续·DONE 12/YELLOW 2/RED 0·无新增能力键·证据链 4 sha 祖先链复核✓·last_deployed=6481a995e 后零真实 main 缺口·O-3/O-4 待主理人裁决·场景覆盖 0/236 证据链齐备 5 待门禁·lan-189 部署目标 sha 待核)
            • 研发负责人1 第25轮闭环巡检汇报(池空稳态,2 YELLOW 待测试 mark-green)
            • 研发负责人2 标准汇报 0235 轮(第23轮·稳态核查·DONE 12/YELLOW 2/RED 0·无新增能力键·2 YELLOW sha 祖先链复核✓·last_deployed=6481a995e 后零 main 改动无部署缺口·O-3/O-4 待主理人裁决·台账 drift 重述)

            v1.0.2093 (2026-11-05)

            文档

            • 研发负责人5 标准汇报 0226 轮(第22轮·稳态核查·DONE 12/YELLOW 2/RED 0·无新增能力键·last_deployed=6481a995e 后零 main 改动测试环境已最新无需部署·B-21 测试侧接线缺口非生产缺陷·O-3 待主理人裁决)

            v1.0.2092 (2026-11-05)

            文档

            • 研发负责人 0155 轮(第29轮·稳态核查·DONE 12/YELLOW 2/RED 0·无新增能力键·场景覆盖 0/236 阻塞5 待O-3·webhook 窗口外未发)
            • 研发负责人1 标准汇报 0147 轮(第25轮·只读核查·DONE 12/YELLOW 2/RED 0·无新增能力键·5 节点 250 会话全空闲·last_deployed=6481a995e 后零真实 main 缺口·O-1 纯同步第19轮·B-21 第5次复现·O-3/O-4 待主理人裁决
            • 测试负责人 01:35 轮(主口径契约 79 例复验 74 绿/3 红/2 错·与 22:13 一致·B-21 第 5 次确认复发·P-2 3 红·B-18 2 红·B-10 连续第 10 轮无复发·2 YELLOW 键契约连续第 10 轮复验通过·远端+26 提交不含测试代码基线稳定·状态机伪 RED 第 19 轮纯同步缺口·台账 359/1942/19.2%/220/1715/2990)
            • 研发负责人1 标准汇报 0135 轮(第24轮·只读核查·DONE 12/YELLOW 2/RED 0·无新增能力键·无在途会话·2 YELLOW 待测试 mark-green·last_deployed=6481a995e)
            • 研发负责人2 标准汇报 0120 轮(第22轮·只读核查·DONE 12/YELLOW 2/RED 0·无新增能力键·O-3/O-4 待主理人裁决·last_deployed=6481a995e 后零 main 改动无部署缺口)
            • 研发负责人2 标准汇报 0120 轮(第22轮·只读核查·DONE 12/YELLOW 2/RED 0·无新增能力键·O-3/O-4 待主理人裁决·last_deployed=6481a995e 后零 main 改动无部署缺口)

            v1.0.2091 (2026-11-05)

            文档

            • 研发负责人5 标准汇报 0116 轮(第21轮·完成测试环境部署至6481a995e·状态机 12 DONE/2 YELLOW/0 RED·无新增能力键·B-21 已定性为测试侧接线缺口非生产缺陷·O-3/O-4 待主理人裁决)

            v1.0.2090 (2026-11-05)

            文档

            • 研发负责人标准汇报 0035 轮(第25轮·只读核查·DONE 12/YELLOW 2/RED 0·无新增能力键·O-3/O-4 待主理人裁决·webhook 非窗口期未发)

            v1.0.2089 (2026-11-05)

            文档

            • 研发负责人1 标准汇报 0010 轮(第24轮·只读核查·DONE 12/YELLOW 2/RED 0·无新增能力键·O-1 终局已消·SC 口径确认演进 236·O-3/O-4 待主理人裁决)

            v1.0.2088 (2026-11-05)

            Bug 修复

            • 权益对比表按 API_REFERENCE 4.50 契约适配(columns=大写码数组 / rows={name,小写码:文本}),修复会员中心与升级页对比内容全部空白
            • U7 第三轮 - 二次核验 FAIL 2 项必修定点修复(report-result .hero-score-num 6xl→5xl 恢复 80rpx 基线;wealth/index .insurance-empty-icon display→4xl 恢复 64rpx 基线)
            • U7 返工 - 大字号/字重收口核验 FAIL 修复(5 项必修)
            • 会员状态检查改用 utils/api.getMyMembership 封装,修复 getApp().$config 为 undefined 导致开通会员/优惠券页 onLoad 崩溃

            文档

            • 研发负责人1 标准汇报 2348 轮(第23轮·池空稳态延续·DONE 12/YELLOW 2/RED 0·无新增能力键·B-23 SC-X-22 契约测试入库自解除·O-1 状态机同步缺口已消·⚠ O-3/O-4 待主理人裁决)
            • 研发负责人2 标准汇报 2322 轮(第21轮·池空稳态延续·DONE 12/YELLOW 2/RED 0·无新增能力键·YELLOW 双 sha 祖先链核验通过·部署台账 confirmed 17 含两 YELLOW 键·⚠ 三方通道台账 drift 新风险 O-3/O-4/TR-4/TR-5/B-21 未入 canonical docs)
            • 研发负责人5 标准汇报 2315 轮(第20轮·完成测试环境部署·B-21 定性为测试侧接线缺口非生产缺陷·状态机 12 DONE/2 YELLOW/0 RED·无新增能力键·维度合并 aa6ccb2dd 已上线且无双实现路由风险)

            其他

            • 1. uni.scss 删除 6xl 后定义重复块(100rpx 覆盖 96rpx),-font-size-6xl 实际生效 96rpx
            • 2. 回滚 24 处 48rpx→4xl(64rpx) 错映射为 -font-size-display(48rpx),与拍板「48 保真」一致
            • 3. 回滚 9 处 80rpx→6xl(100rpx) 错映射为 -font-size-5xl(80rpx)
            • 4. 落实拍板②:9 处 font-weight:300 → 400
            • 5. MemberSelector.vue 恢复 .empty-icon/.empty-title 两条规则分行格式
            • 仅改 cfc-frontend/ 样式(font-size/font-weight 值 + uni.scss 令牌),不动模板/脚本/逻辑/路由/DB。
            • 保留 calc(NNrpx * var(--font-scale, 1)) 包裹形态;不改 custom-tab-bar/index.vue。
            • - uni.scss §2 新增 $uni-font-size-title(40rpx)、$uni-font-size-display(48rpx)
            • (40/48 保真,不归并放大);新增 $uni-font-weight-extra-heavy(800)、
            • $uni-font-weight-black-extra(900);$uni-font-size-6xl 100rpx -> 96rpx
            • - 字号:56rpx×24 -> $uni-font-size-4xl(64rpx)、72rpx×19 -> $uni-font-size-5xl(80rpx)、
            • 88rpx×10 -> $uni-font-size-6xl(96rpx);含 wealth/index.vue .disc-value 误映射纠正
            • - 字重:A 类大字号 15 处保留 800,改用 $uni-font-weight-extra-heavy;
            • 打卡动画 .energy-anim-text 保留 900,改用 $uni-font-weight-black-extra
            • - B 类小字号 6 处降级 700(含 ConfigurableGuide/OnboardingGuide 两处遗漏);
            • 20rpx 勾选标记 900 -> 700
            • - 校验:全库无裸写 font-weight: 800/900 字面量,无裸写 56/72/88rpx 字号
            • 不改业务逻辑、不新增组件、不涉及数据库。
            • - 40~120rpx 大字号段 13 种裸值归并:42→40, 56→48, 60→64(4xl), 88→80(5xl), 96→100(6xl);
            • 52→3xl、64→4xl、80→5xl、100→6xl 令牌化(保留 calc font-scale 缩放)
            • - font-weight 收口(§5.4):800×19 + 900×3 → 700,消除 20-30rpx 中文小字号糊字风险
            • - membership/gift-coupon.vue 裸 80rpx → calc($uni-font-size-5xl * font-scale)(补缩放缺口)
            • - 交付物:docs/2026-10-31-字重令牌映射与视觉影响评估.md(主理人确认稿)
            • - 注:components/OnboardingGuide/ConfigurableGuide 两处 800 属规格 22 处口径之外,未纳入

            样式

            • U7 字重/字号收敛按 2026-11-01 主理人拍板定稿
            • U7 大字号段裸值归并 + font-weight 800/900 收口

            v1.0.2087 (2026-11-05)

            Bug 修复

            • 兼容 /admin/report-parser 旧链接,重定向到报告类型管理

            重构

            • 重排「我的成就」分区,串味项归位并接入我的优惠券

            其他

            • - 累计积分从网格移除(顶部身份卡已展示,且原 /pages/points/points 为死链)
            • - 新增「我的团队」分区:我的团队(多团队) + 推广收益
            • - 新增「卡券中心」分区:我的优惠券(链 pages/profile-extra/coupons, 显示券数) + 获得奖励
            • - 新增「健康档案」入口行:上传报告(显示份数)
            • - 接入 getMyCoupons 加载券数;goToCoupons 跳转已有优惠券页

            v1.0.2086 (2026-11-05)

            文档

            • 测试负责人 22:13 轮(契约 79 例复验 74 绿/3 红/2 错·B-21 第 4 次确认复发·维度合并 aa6ccb2dd 后首验 28 例 26 绿/2 红(HealthDimensionControllerTest 2 红精确化归因 currentMemberId 兜底传参·B-18)·O-1 终局:git fetch --deepen 消除 shallow 假阴性,1767d4414/c3e32460a 确认在祖先链,研发 20:14 证伪成立,YELLOW sha 卡点消除,降为纯状态机同步单卡点(第 18 轮)·B-10 连续第 9 轮无复发·并入跨批次未推送 B-14~B-24·台账 359/1942/19.2%/220/1715/2990)

            v1.0.2085 (2026-11-05)

            文档

            • 研发负责人3 错峰03 第29轮汇报 2026-11-05 22:11(证伪测试侧 19:19 O-1 终局判定·YELLOW 2 证据 sha 全部 IN origin/cfclub·DONE 12/YELLOW 2/RED 0·无新增能力键)

            v1.0.2084 (2026-11-05)

            新功能

            • T41 成长页新增小游戏入口卡 + 修复孩子首页小游戏死链
            • 报告上传页成员选择固定4列 + 素质测评入口锚点dan_a2→dan_a1
            • P2-T1 指标多级细化混排 + P2-T2 评分口径文档化
            • P1-T4 其他消费方去直读统一经注册中心
            • P1-T3 指标管理关联收敛+树挂接
            • P1-T1 健康页雷达图改统一维度注册中心配置驱动
            • 统一维度体系增量 - 4根33子维seed(迁移448)+T5历史迁移脚本

            其他

            • action-card「益智小游戏」(复用 .action-card 系列样式,不新增样式),
            • 图标 🎮(warm)、标题/描述/右箭头,@click=goToGames;新增 goToGames 方法
            • 跳转 /pages/games/list 大厅。
            • - cfc-frontend/pages/home-pages/child-index.vue: goToGames 跳转目标由不存在的
            • /pages/games/games 修正为 /pages/games/list(死链修复,仅一行)。
            • 设计规格: docs/superpowers/specs/2026-11-05-miniapp-games-entry.md (cfclub abc0b932d)
            • 验证: verify-vue-compile.js 两文件 PASS;audit-mp-antipatterns.js ERROR 0;
            • cfc-backend mvn compile 通过;cfc-web npm run build 通过(构建产物已还原)。
            • - 「素质测评 A2」→「素质测评」,副文案改通用表述
            • - 查看商品锚点 dan_a2 → dan_a1(素质测评A1 核心认知发展评估)
            • - 实测确认 DimensionRegistryService.getTree(null) 已支持指标挂指标:
            • 指标节点以自身 id 入 idToNode,组装阶段按 parentId 经 idToNode.get 找父,
            • 父为指标节点时 attachChild 正常挂载(合并逻辑无需改动)。
            • - DimensionNode 新增 dimensionCode 字段(仅指标节点有值),getTree 对指标节点
            • 填充 ind.getDimensionCode()——指标挂指标时子指标继承父指标归属维度 code,
            • 保证子指标 dimensionCode 仍 ∈ 注册中心维度节点 code 集合(P1-T3 校验不破)。
            • - cfc-web indicators 管理页:树选择放开指标节点作父(disabled=false,维度/指标
            • 均可选),点击指标父节点时 dimensionCode 继承父指标归属,维度节点行为不变。
            • 契约测试(DimensionRegistryTreeTest)仅断言字段存在性,新字段不破坏。
            • P2-T2(评分口径文档化):
            • - 新建 docs/superpowers/specs/2026-11-05-dimension-scoring-convention.md:
            • 明确雷达/沙盘/指标三处共享 0-100 量纲 + P5/P25/P75/P95 百分位带 tier,逐条
            • 从代码核实换算逻辑(RadarChart 半径映射/P50 参考、EnergyService clamp 与
            • 五行乘性修正、NormCompareEngine 常模分带线性插值/待补不猜值)。
            • - DimensionCodeConstants 新增 SCORE_MIN/MAX、BAND_P5/25/75/95 共享常量并注释
            • 来源(未接入业务逻辑,零运行时行为变化)。
            • getDimensionCodesByIds/getDimensionIdByCode,消费方不再直读
            • product_dimension_config(实体/表仅注册中心层可见)。
            • - DanKnowledgeBaseService: 4 处 mapper 直读(selectBatchIds×2/selectById
            • 循环/selectOne by code)全部改走 DimensionRegistryService 桥接,
            • 行为等价(同 id→code、code→id 语义)。
            • - LanggraphSyncService: selectOne by code 改 getDifyDatasetIdByCode。
            • - HealthDimensionController: /api/dimension/overview 与 /api/dimension/radar-data
            • 标 @Deprecated(设计 §5.3,不删除,保留至零调用确认后下线)。
            • - cfc-web: ContentDimensionThresholdEditor / 知识库维度树改走只读
            • /api/dimension-registry/tree(映射 code/name,跳过 indicator 节点);
            • DimensionSelector 排除 indicator 节点保持选择项与旧数据源一致。
            • - 保留直读点(注册中心管理层/一次性迁移,说明见 commit 后汇报):
            • DimensionConfigController 与管理页(/api/admin/dimension-config/* 写接口)、
            • MigrationController 一次性历史迁移(enabled=1 语义不可经树等价表达)。
            • - 验收: mvn -q compile EXIT=0;web 脚本 node --check 通过;无新增循环依赖。
            • (root/sub,不含指标节点),越界抛 IllegalArgumentException→GlobalExceptionHandler 转 400;
            • @Lazy 注入 DimensionRegistryService 打破循环依赖;parentId 经实体自动落库
            • (父节点ID,混排进维度树)。
            • - DimensionRegistryService: 新增 collectDimensionCodes()/isDimensionCode()。
            • - DatabaseInitializer 迁移449 + schema.sql: indicator_definitions.dimension_code 扩宽至
            • VARCHAR(64)(容纳注册中心子维 code 如 mind.selfConceptOverall=23字符)。
            • - cfc-web 指标管理页: 维度归属由五维单选改为从统一维度注册中心树选择(el-tree,
            • 数据源 GET /api/dimension-registry/tree),保存传 parentId+dimenionCode,指标节点禁选。
            • - cfc-frontend useDimensionRegistry.getRadarConfig 防御:跳过 nodeKind=indicator 子节点,
            • 避免指标挂到根节点后混入健康页雷达轴(P1-T3 连带硬化)。
            • 封装 GET /api/dimension-registry/tree,模块级缓存+ready 标志,
            • 提供 getRadarConfig(tabCode) 按 tab→根 映射取 children,
            • 解析 legacyAlias JSON 首元素为 scoreField,导出 isRegistryReady。
            • - 改造 health-main/index.vue:currentDimensions/currentScores 改为
            • 遍历注册中心配置驱动取维度/标签/分数(body7/wisdom7/mind10/action5/wealth4,
            • 标签与改造前一致),并保留硬编码兜底(过渡,后端未上线/接口异常时页面不崩)。
            • - 不 demo 块/后端/表结构一律不动。
            • - 迁移448: 补5根 wuxing_rule_ref(按 energy_dimension.element 关联木/火/金/水/土)
            • - DimensionCodeConstants: 新增26子维常量 + 26 legacy_alias 常量,更新数量注释
            • - 新增 migrate_dimension_unified.sql(T5: 备份+改写7 body+越界扫描,DBA手工)
            • - 未改动445/446/447,未新建Controller/Service类

            文档

            • 测试负责人 19:19 轮(契约复验 79 例 74 绿/3 红/2 错·B-21 确认复发(SC-P-11 17→15/17,根因 f14e46f84)·O-1 终局判定:1767d4414/c3e32460a 非 origin/cfclub 祖先链(rev-list 命中 0),建议重登记 6c906c79e/d8687f7c8·B-10 连续第 8 轮无复发)
            • 研发负责人1 标准汇报 2148 轮(第23轮·只读核查·RED 0/YELLOW 2/DONE 12·无新增能力键·⚠ 复现确认维度合并 aa6ccb2dd 未部署 P0·feature/unified-dimension-p0 未合入双路由风险潜伏·场景覆盖 0/218)
            • 研发负责人1 标准汇报 2135 轮(第22轮·唯一增量=S-cfc-16 自动闭环 DONE·YELLOW 2 待 mark-green·RED 0·DONE 12·无新增能力键·场景覆盖 0/218·⚠ 维度合并 aa6ccb2dd 晚于最近部署未部署)
            • 研发负责人2 标准汇报 2122 轮(第20轮·池空稳态延续·RED 0/YELLOW 2/DONE 12·无新增能力键·⚠ 发现维度合并 aa6ccb2dd 晚于最近部署 757e4e32c 尚未部署·O-1 单一卡点复核通过)
            • 研发负责人5 标准汇报 2113 轮(第19轮·部署收口 757e4e32c·池空稳态延续·RED 0/YELLOW 2/DONE 12·无新增能力键)
            • T41 成长页小游戏入口设计定稿

            v1.0.2083 (2026-11-05)

            文档

            • 研发负责人 20:26 轮(稳态核查·唯一增量=S-cfc-16 契约 JUnit 合入 2869d0e8e 38 例全绿·YELLOW 3 待 mark-green·RED 0·DONE 11·0 新增能力键·场景覆盖 0/218·5 阻塞待 O-3·CI 缺口"缺 JUnit"消除入口仍未启用)
            • 研发负责人1 标准汇报 2014 轮(第21轮·O-1 YELLOW sha 卡点澄清·三重验证 1767d4414/c3e32460a 均在祖先链·测试侧判定为浅克隆假阴性·双卡点实为单卡点·YELLOW 3 待 mark-green·RED 0·DONE 11·无新增能力键)

            v1.0.2082 (2026-11-05)

            文档

            • 研发负责人1 标准汇报 1949 轮(第20轮·池空稳态延续·S-cfc-16 RED 契约单测已合入 2869d0e8e/f9a6d7011 38 例全绿·YELLOW 3 待测试 mark-green·RED 0·DONE 11·无新增能力键·218 SC 0/218)

            v1.0.2081 (2026-11-05)

            文档

            • 研发负责人2 标准汇报 1938 轮(第19轮·池空稳态延续·f14e46f84 后零 main 改动无需重部署·YELLOW 3 待测试 mark-green·RED 0·DONE 11·无新增能力键·S-cfc-16 契约单测已合入 2869d0e8e)
            • 研发负责人5 标准汇报 1930 轮(第18轮·池空稳态延续·f14e46f84..HEAD 零 main 改动无需重部署·deploy pending 残留清理·YELLOW 3 待测试 mark-green·RED 0·DONE 11·无新增能力键)
            • 研发负责人3 第27轮汇报(错峰03·S-cfc-16 派发补 expectedCf 契约单测·RED 0/YELLOW 3/DONE 11·无新增能力键·4 sha 祖先链核验通过·单文件挂 origin 顶端)

            测试

            • reward.cfEstimate.expectedCf 契约级单测补齐(38 例全绿,SC-X-22 CF 值获取预估)

            其他

            • (POST /api/reward/estimate) 契约闭环。实现已于 origin/cfclub(f14e46f84 提取自 feat/sc-x22-impl),
            • 本次仅补测试(纯 Mockito,不依赖 DB/真实微信/Spring 容器,不改 src/main)。
            • 新增测试(38 例全绿,-DskipTests=false):
            • - RewardRuleServiceEstimateTest(21 例,服务层契约):
            • 获得型 TASK_COMPLETE/AUDIT 固定规则 20;PURCHASE 公式 F02 1元=100CF 估 9900;GROWTH_TASK per_item;
            • 消耗型 WISH 负向「本操作将消耗 N CF」;规则值为 0→ZERO 省略文案禁「+0 CF」;规则未配置/未启用/
            • 不在生效期/任务不存在/任务积分为0/内部异常→DEGRADED「CF 奖励以实际为准」不抛 500;次数日限触顶→0、
            • 金额日限→按剩余额度缩小不超上限;同幂等键预估值稳定并回显;estimateCf 纯数值入口降级返 0;
            • attachTaskEstimate/List/GrowthTaskMap 挂载;resolveMemberIdByUser 反查。
            • - RewardEstimateControllerTest(17 例,控制器直接调用级):
            • 正常路径 200 透传透传服务端预估并 verify 参数;缺 body/缺必填→400;未登录/成员不存在→401;
            • 孩子+PURCHASE→403 不泄露预估;孩子+任务完成不拦截;teacher+PURCHASE 放行;跨家庭任务/心愿→403、
            • 任务不存在/资源ID非数字→403、商品公开资源不校验归属→200、资源校验异常→降级 403;
            • 请求 DTO 无 expectedCf 字段(getDeclaredField 抛 NoSuchFieldException)→ 客户端伪造被忽略防伪契约。
            • 观察行为(不改实现,交编排侧转 GREEN 决策参考):
            • - CHECKIN/ACTIVITY_CHECKIN(F05 per_item)当前 resolveCtx 无 amount/qty → 恒 DEGRADED(代码注释为
            • 有意简化,活动 CF 待 ActivityService 解析);契约 §8 规则未配置→降级口径兼容。
            • - EXCHANGE 商城兑换恒 DEGRADED(注释:暂降级无统一规则)。
            • - 预估端点日限触顶返回 expectedCf=0 + ZERO 展示;LIMIT_HIT「已达今日上限」文案属回执端点范畴,
            • 当前实现无回执端点,仅观察。
            • 溯源:SC-X-22 · tests/user-scenarios/应用场景总览.md §八 · 02-parent.md P-77/P-10/P-13/P-87/P-89/P-93 ·
            • 07-five-dimension.md C-05/C-25/C-04 · tests/test-cases/cross-role-e2e.md TC-X-22/TC-X-22-E/TC-X-22-E2/TC-X-22-P
            • 设计:docs/superpowers/specs/2026-11-05-sc-x22-cf-estimate-contract.md(v1.0)

            v1.0.2080 (2026-11-05)

            文档

            • 研发负责人 18:58 轮(延续稳态核查·YELLOW 3 待测试 mark-green·RED 0·DONE 11·无新增能力键·4 sha 祖先链核验通过·场景覆盖 0/236·单文件挂 origin 顶端)

            v1.0.2079 (2026-11-05)

            文档

            • 研发负责人1 标准汇报 18:48 轮(延续稳态核查·S-cfc-16 部署已确认 last_deployed=f14e46f84·YELLOW 3 待测试 mark-green·RED 0·DONE 11·无新增能力键·单文件挂 origin 顶端)

            v1.0.2078 (2026-11-05)

            文档

            • 研发负责人1 标准汇报 18:37 轮(S-cfc-16 RED→YELLOW,f14e46f84 已推远端;3 YELLOW 待测试 mark-green;O-1 sha 判据分歧记录)
            • 研发负责人2 18:24 轮(SC-X-22 已合入部署 last_deployed=f14e46f84·YELLOW 3 待 mark-green·RED 0·DONE 11·测试侧'非祖先链'指控复核证伪·O-3 待裁决)
            • 研发负责人5 1818 轮(SC-X-22 实现合入 f14e46f84·RED→YELLOW·部署验证通过 last_deployed=f14e46f84·YELLOW 3 待 mark-green·RED 0·DONE 11)

            v1.0.2077 (2026-11-05)

            文档

            • 研发负责人3 错峰03 17:40 轮(核验证伪测试侧'YELLOW 证据 sha 非祖先链'结论·4 sha 全在 origin/cfclub 祖先链·S-cfc-16 仍 RED 待测试 RED·YELLOW 2 待 mark-green·DONE 11·SC 237 0/237)
            • 研发负责人 1705 轮(SC-X-22 实现合入主线 f14e46f84·TR-5 请测试侧补 RED+执行 TC-X-22·SC 口径 237·CI 17:05 节)
            • 测试负责人 16:59 轮(契约复验 79 例 76 绿/3 红 P-2 MapContract 口径·B-10 连续第 7 轮无复发·2 YELLOW 键连续第 7 轮复验通过·重大发现:研发登记 YELLOW 证据 sha 非 origin/cfclub 祖先链·状态机同步缺口第 16 轮·双卡点)

            新功能

            • SC-X-22 CF值获取预估实现合入主线(RewardRuleService/RewardEstimateController/RewardDisplayVO/产出点挂载,提取自 feat/sc-x22-impl 957e59bb2,S-cfc-16)

            v1.0.2076 (2026-11-05)

            文档

            • 研发负责人1 16:55 轮(延续稳态核查·S-cfc-16 实现在途·YELLOW 2 待测试 mark-green·DONE 11·无新增能力键)
            • 研发负责人 1645 轮(S-cfc-16 SC-X-22 实现在途 lan-248·YELLOW 2 待测试 mark-green·DONE 11·无新增能力键)

            v1.0.2075 (2026-11-05)

            文档

            • 研发负责人2 标准汇报 16:25 轮(池空稳态·SC-X-22 实现在途·YELLOW 2 待测试 mark-green·DONE 11·无新增能力键·单文件挂 origin 顶端)

            v1.0.2074 (2026-11-05)

            文档

            • 研发负责人 15:30 轮 补充 1.7(SC-X-22 契约合入 6141c43a2 + S-cfc-16 入池派发)
            • SC-X-22 CF值获取预估后端设计契约 v1.0(提取自 feat/sc-x22-contract f9034d0a1,仅单文件)
            • 研发负责人 15:30 轮 汇报 1.4 回填 sha 6c1807ab1
            • 研发负责人 15:30 轮(SC-X-22 设计契约派发 lan-248・CI 15:30 节・池空稳态第24轮)
            • 研发负责人1 标准汇报 14:59 轮(第19轮,2 YELLOW 只差测试 mark-green·state 已同步·无新增能力键·黑窗延至11-06 08:00)
            • 研发负责人1 标准汇报 14:36 轮(第18轮,2 YELLOW 只差测试 mark-green,无新增能力键,SC 236 口径待 O-4 裁决)
            • 研发负责人2 标准汇报 14:25 轮(池空稳态·YELLOW 2 待测试 mark-green·DONE 11·无新增能力键·单文件挂 origin 顶端)
            • 标注 TC-H-01 已落地可执行规格
            • 标注 TC-B-06 已落地可执行规格
            • 测试负责人 13:58 轮(契约复验 8 类 71 例 68绿/3红(3红全为P-2 MapContract口径·与10:45轮完全一致非新回归);testCompile 216源0错 B-10连续第6轮无复发;2 YELLOW 连续第6轮复验通过;研发 13:26 DONE 11/YELLOW 2/RED 0 SC-P-10/11 已上线三端200;mark-green 实测仍被拒=纯状态机同步缺口第15轮;O-1 更新待同步)
            • 研发负责人5 标准汇报 14:15 轮(池空稳态第16轮·部署两笔 7ea5a7d20+a9f283d25 至测试环境·JAR内容级验证·last_deployed=a9f283d25·无新增能力键)
            • 维护记录补 2026-11-05(五次)TC-B/TC-H 用例补齐
            • TC-H 用例已补齐,移除待补标注
            • TC-B 用例已补齐,移除待补标注
            • 覆盖率表 TC-B/TC-H 去待补,标注三流条数与总量 767
            • SC-X-22 关联用例已补齐,覆盖率表同步

            其他

            • Remove首页 energy sandbox top two cards: self-test-card and guide-bar
            • - Delete computed selfTestTitle, selfTestSub, nextBestAction
            • - Delete methods goSelfTest and onGuideTap
            • - Delete CSS .self-test-card, .guide-bar series, .self-test-badge
            • - Keep pendingSurveys field and _loadSurveyBadge untouched
            • Co-authored-by: automation
            • (收口合并 via commit-tree: 9aaf4266c7,基于 cfclub 7a480072e,分叉仅本文件与一轮 docs 汇报,无交叉)

            测试

            • 索引登记 TC-B-06/TC-H-01 两枚可执行规格
            • 新增 TC-H-01 真人管家并发守卫可执行规格
            • 新增 TC-B-06 AI 教练 Fallback 可执行规格(门禁两态契约)
            • 索引补 butler/human-butler,统计 660→711、716→767
            • 新增真人管家 TC-H 三流用例 21 条
            • 新增 AI 成长教练 TC-B 三流用例 30 条
            • 用例索引同步 TC-X-22(跨角色 21→22,全仓 713→716)
            • 新增 TC-X-22 CF 值获取预估三流用例(含能量侧反向隔离)

            v1.0.2073 (2026-11-05)

            文档

            • 明确 CF 值与五维能量不同源(README.md)
            • 明确 CF 值与五维能量不同源(应用场景总览.md)
            • 13:26 轮汇报 1.4 回填提交 sha bee0a19ea(无占位符)
            • 研发负责人 13:26 轮(池空稳态第23轮·台账同步SC 218→236·SC-X-22缺契约用例登记O-4/TR-4·CI门禁口径升级·无新增能力键)

            Bug 修复

            • /plans 返回 levelOrder,修复免费用户付费页显示 ¥0.00
            • DAN 报告页补充自定义返回按钮

            其他

            • 手工组装 Map 时遗漏 levelOrder,所有档位 levelOrder=undefined:
            • 免费用户 applyDefaultLevel 找不到更高档位,selectedLevel 回落 FREE,
            • 下一步按 FREE 取价=0 分,付费页显示 ¥0.00,下单被后端以
            • 「该会员方案暂未开放购买」拒绝。
            • - MembershipController.getPricingPlans() 补 plan.put("levelOrder", ...)
            • - 新增契约单测 MembershipControllerPlansLevelOrderTest 锁定该字段

            v1.0.2072 (2026-11-05)

            文档

            • SC-T-6 审核发分产出点补 CF值预估规则引用 SC-X-22
            • SC-P-77/P-86 打卡类产出点补 CF值预估规则引用 SC-X-22
            • 同步 SC-X-22 与计数 236,维护记录加 2026-11-05(三次)
            • 新增跨角色场景 SC-X-22 CF值获取预估全局UI规范(操作前提示+N CF),矩阵/覆盖率/合计 235→236
            • 研发负责人1 标准汇报 13:00 轮(池空稳态第22轮·DONE11+YELLOW2·无新增能力键·12:53轮后origin无新提交·SC口径218→235待台账同步·O-3待主理人裁决·5SC证据链齐备待门禁转正·2YELLOW仍等测试mark-green)

            v1.0.2071 (2026-11-05)

            文档

            • 研发负责人1 标准汇报 12:53 轮(池空稳态第21轮·DONE11+YELLOW2·无新增能力键·SC口径218→235待台账同步·O-3待主理人裁决·5SC证据链齐备待门禁转正·2YELLOW仍等测试mark-green)

            v1.0.2070 (2026-11-05)

            文档

            • 研发负责人2 标准汇报 12:36 轮(池空稳态第16轮·DONE11+YELLOW2·无新增能力键·SC口径演进218→235待台账同步·O-3待主理人裁决·部署覆盖完整性成立·2YELLOW仍等测试mark-green)
            • 研发负责人5 标准汇报 12:18 轮(池空稳态第20轮·5 SC 证据链齐备待门禁转正·无新增能力键·218→235 SC 口径演进·O-3 待主理人裁决·部署覆盖完整性成立·SC-P-04/05 不派发防假RED)
            • 入口场景 P-49 同步更名为「AI 成长教练对话」保持全文一致
            • AI管家聚焦为AI成长教练(删SC-B-03/08),新增真人管家角色09-human-butler.md(SC-H-01~07),场景总数230→235
            • AI管家聚焦为AI成长教练(删SC-B-03/08),新增真人管家角色09-human-butler.md(SC-H-01~07),场景总数230→235
            • AI管家聚焦为AI成长教练(删SC-B-03/08),新增真人管家角色09-human-butler.md(SC-H-01~07),场景总数230→235
            • AI管家聚焦为AI成长教练(删SC-B-03/08),新增真人管家角色09-human-butler.md(SC-H-01~07),场景总数230→235
            • AI管家聚焦为AI成长教练(删SC-B-03/08),新增真人管家角色09-human-butler.md(SC-H-01~07),场景总数230→235
            • 新增健康管家独立角色 08-butler.md(SC-B-01~12),收敛家长端重复 P-11/P-49
            • 新增健康管家独立角色 08-butler.md(SC-B-01~12),收敛家长端重复 P-11/P-49
            • 新增健康管家独立角色 08-butler.md(SC-B-01~12),收敛家长端重复 P-11/P-49
            • 研发负责人 11:45 轮标准汇报(池空稳态第19轮·场景覆盖矩阵 5 SC 证据链齐备待门禁转正·无新增能力键·218 SC 0/218 严格口径·O-3 工作目录门禁待主理人裁决)

            其他

            • t

            v1.0.2069 (2026-11-05)

            文档

            • 研发负责人1 标准汇报 11:15 轮(池空稳态第18轮·场景覆盖矩阵证据链核查 5 SC 齐备待门禁转正·无新增能力键·218 SC 0/218 严格口径不虚报)
            • 主理人 O-2 裁决——方案 A 为正本 + 新增 SC→能力键映射台账(218 SC)

            v1.0.2068 (2026-11-05)

            文档

            • 研发负责人1 标准汇报 11:06 轮(池空稳态第 17 轮)

            v1.0.2067 (2026-11-05)

            文档

            • 测试负责人 10:45 轮(契约复验 71 例 68绿/3红(3红全为P-2 MapContract口径);testCompile 216源0错 B-10连续第5轮无复发;2 YELLOW 连续第5轮复验通过;研发 DONE 11/YELLOW 2/RED 0 SC-P-10/11 已上线;mark-green 实测仍被拒=纯状态机同步缺口第14轮;O-1 更新)

            v1.0.2066 (2026-11-05)

            文档

            • 研发负责人2 标准汇报 10:30 轮(池空稳态第15轮·DONE 11/YELLOW 2/RED 0;SC-P-10 f41da2779+SC-P-11 291955bce 已上线三端200·confirmed 12/pending 0;S-cfc-14/15 越位已闭环;2 YELLOW 待测试 mark-green;无新增能力键·218 SC 0/218 本轮0)

            v1.0.2065 (2026-11-05)

            文档

            • 研发负责人5 标准汇报 10:15 轮(测试环境部署收口 SC-P-10 f41da2779 + SC-P-11 291955bce 已上线·三端200;覆盖完整性 ee70d2971..origin 零main改动;池空稳态第14轮·DONE 11/YELLOW 2/RED 0·新增能力键0)

            v1.0.2064 (2026-11-05)

            文档

            • 研发负责人1 标准汇报 09:52 轮(池空稳态第16轮·DONE 11/YELLOW 2/RED 0;createTask/review 已收口 DONE;2 YELLOW 证据4sha在origin/cfclub 只差测试mark-green;无新增能力键·218 SC 0/218 本轮0;工作目录2处他人未提交标记)
            • 研发负责人 09:45 轮标准汇报(SC-P-10 createTask 已合入 f41da2779;契约主线实测 14/14;状态机 DONE 9→11;SC-P-11 review 实现已在主线 L815 待测试复验;无新增能力键·218 SC 0/218 本轮推进 SC-P-10)
            • 研发负责人1 标准汇报 09:18 轮(池空稳态第15轮·DONE 9/YELLOW 4/RED 0;SC-P-10 createTask 已合入 f41da2779;S-cfc-14/15 产出测试补充未合主线·派发模板mes错配待裁决;统一维度双路由歧义现场·主理人裁决正本;无新增能力键·218 SC 0/218 本轮0)

            v1.0.2063 (2026-11-05)

            文档

            • 研发负责人2 标准汇报 09:07 轮(池空稳态第14轮·DONE 9/YELLOW 4/RED 0;部署 f1b0e3ed5 仍最新 0845后零main改动·pending0/confirmed10;S-cfc-14/15 产出为test补充未合主线·派发模板mes错配待裁决;无新增能力键·218 SC 0/218 本轮0)
            • 研发负责人5 标准汇报 08:45 轮(测试环境部署收口 f1b0e3ed5=SC-P-03 switchRole 已上线;JAR md5 a9b1b094 匹配 PID 700412 三端200;pending 清理 confirmed 10;池空稳态第13轮·新增能力键0)
            • 研发负责人3(错峰03) 标准汇报 08:23 轮(修复 merge 提交证据识别缺陷;createTask/review RED→YELLOW 证据齐已自动推进;派发 S-cfc-14/15 实现在途;YELLOW 4 待开发/测试;DONE 9;无新增能力键·池 0 pending·218 SC 0/218 本轮 2 键推进)

            其他

            • merge(tdd): SC-P-10 创建任务场景打通合入 cfclub(S-cfc-12 实现+契约测试+执行证据)
            • - child 执行者新增跨家庭校验,修复横向越权注入(他人家庭家长可为我的孩子建任务)
            • - 新增创建幂等(30s 窗口 + JVM 锁 + 内存登记表 + DB 兜底):重复提交/并发双发仅生成 1 条任务
            • - 多成员创建重构为统一 insertTaskWithDedup 循环
            • - 新增契约测试 TaskCreateScP10ContractTest(14 例:正常2/异常8/权限4)与 API e2e task-create-scp10.spec.js(10 例)
            • - 执行证据:契约 14/14 + 本地实例 API e2e 10/10(台账 docs/tdd/test/automation-run-2026-11-05-0636.md)
            • - 该实现由 S-cfc-12 会话完成(d900b034d),此前仅存在于 feature 分支未合入 cfclub;本轮以临时索引精确合入 5 文件(2M+3A,无删除)
            • 来源:d900b034d(feat/sc-p-10-create-task)
            • (/sc-data/cfc -> C:/code/cfc 或 D:/cfc),供调度器将误传的 POSIX 路径重映射
            • 回实例真实根目录
            • - 同步实例配置演进(concurrency_limit、model_chain、auto_prod 等,
            • 与 hub.py instances 实测一致)
            • 背景:Git Bash(MSYS) 传参给 Windows 原生 python.exe 时会把 /sc-data/...
            • 自动加 PortableGit 前缀转成 Windows 路径;配合 dir_aliases 后调度器可还原
            • 并重映射,避免 lan-189 上出现 LocationNotFound 或错误目录。

            Bug 修复

            • 实例级 dir_aliases 目录别名映射,根治远程 Windows 实例误传 POSIX 路径

            v1.0.2062 (2026-11-05)

            文档

            • 测试负责人 08:12 轮(55 例契约全绿:16契约+createTask 7+review 32;2 YELLOW 连续第4轮复验通过;2 新 RED createTask/review 契约落地;8 sha 全在远端;O-1 转为纯状态机同步缺口)

            v1.0.2061 (2026-11-05)

            文档

            • 研发负责人1 标准汇报 08:00 轮(黑窗已解·会话全空闲·双 RED createTask/review 证据齐待测试 mark-red 落账;YELLOW 2 待 mark-green;DONE 9;无新增能力键·池 0 pending·218 SC 0/218 本轮 0)
            • 研发负责人1 标准汇报 07:45 轮(S-cfc-13 RED 单测 291955bce 已推待测试 mark-red 落账;createTask/review 双 RED 证据齐;YELLOW 2 待 mark-green;DONE 9;黑窗 429 至 08:00·无新增能力键·218 SC 0/218 本轮 0)
            • 研发负责人2 标准汇报 07:40 轮(S-cfc-13 SC-P-11 入池派发;--backfill 12 任务全 done;3 键新 DONE wechatLogin/jwtGuard/switchRole;YELLOW 2 待测试 mark-green;RED 2 createTask 待登记 red_sha/review 在途;主工作树 101 WIP 未触碰;黑窗 429 至 08:00 fallback)
            • 研发负责人3 错峰03 汇报 2026-11-05 06:41(派发 S-cfc-9..12 四任务,RED 2 / YELLOW 4 / DONE 6)
            • 研发负责人1 标准汇报 06:33 轮(S-cfc-11 编译验证/pub-iwintrue 启动验证在途,产出未推远端 RED 2 键无 red_sha;YELLOW 4 键证据全在 origin/cfclub 等测试 mark-green;无新增能力键·218 SC 0/218 本轮 0;B-13 挂账·黑窗 429 至 08:00)

            测试

            • 补齐 task.parent.review 契约级单测(SC-P-11 任务审批完成通过/驳回)
            • S-cfc-11 family.parent.switchRole 契约级单测补齐(13 例全绿)
            • 补齐 auth.guest.wechatLogin 契约级单测(SC-G-02 微信一键登录)
            • S-cfc-10 auth.guest.jwtGuard 契约边界补充(OPTIONS预检/query-token/teacher-admin角色/LOGIN_REQUIRED 401)10 例全绿
            • 补齐 task.parent.createTask 契约级单测

            其他

            • 实现已存在但零测试覆盖(RED)。补齐纯 Mockito 单测,不依赖 DB/真实微信/Spring 容器,不改 src/main。
            • 新增测试(32 例全绿,skipTests=true 需 -DskipTests=false 显式开启):
            • - TaskControllerReviewTest(17 例):POST /api/tasks/{id}/review(approved 通过/驳回、DTO 字段映射、
            • 统一 @PostMapping GET→405、缺 body 400、直接调用 Result);POST /api/tasks/pending-review
            • (parent 列表、缺 userId 400);POST /api/tasks/accept(body/currentMemberId 派生 memberId、
            • 缺 memberId 500、GET→405);POST /api/tasks/reject/{id}(成功、缺 memberId 500、GET→405)
            • - TaskServiceReviewTest(15 例):reviewTask 通过→发分+completed(PointsLog amount/type、余额 100→110、
            • legacy result=pass);驳回→pending+completedAt 清空(可重做)+不发分(legacy result≠pass 同);
            • 重复审批幂等(已 completed→true 但不重复发分/不落库);非待审状态→false;任务不存在→false;
            • acceptTask(assigned+正确执行人→in_progress+清 acceptDeadline;错误执行人/非 assigned→false);
            • rejectTask(assigned→rejected+双向关系分调整;错误执行人→false 不触关系分);
            • getPendingReviewTasks(仅 parent 可见本家庭列表;child/不存在→空列表不泄露)
            • 暴露缺陷(不修实现,交编排侧转 GREEN 决策):
            • - POST /api/tasks/accept HTTP 契约已断:handler @PostMapping("/accept") + @PathVariable Long id,
            • 路径模板无 {id} → 参数解析抛 MissingPathVariableException(MockMvc 观测 500);前端
            • cfc-frontend/utils/api.js acceptTask 把 taskId 放 body {taskId, memberId},handler 从不读 body.taskId。
            • acceptTask_httpPath_missingPathVariable_pinsObserved500_defect 钉住当前观测行为,修复后应翻转为 200 契约断言。
            • 溯源:SC-P-11 · tests/user-scenarios/应用场景总览.md · tests/test-cases/parent.md TC-P-06/TC-P-06-E
            • 设计:docs/superpowers/api/API_REFERENCE.md §4.3 · docs/superpowers/specs/2026-09-04-task-system-unification-design.md
            • - 正常路径:parent→teacher、child持有parent切回家长
            • - 关键边界:未登录 userId null/-1/0→401、role 缺失、服务层空结果→业务错误
            • - 角色/权限:admin 当前角色禁止切换、未持有目标角色抛异常、非法目标角色拒绝
            • 纯 JUnit5+Mockito 直接调用,不依赖 Spring 上下文/微信/外部服务,不改 src/main。
            • 不依赖数据库/真实微信/Spring 容器,不改 src/main 实现。
            • 新增测试(16 例全绿):
            • - AuthWechatLoginContractTest(10 例):TC-G-02 正常流(token+用户信息+默认 parent)、
            • TC-G-02a 边界(老用户重登 isNewUser=false 不重复建号)、TC-G-02-E 异常(Result.error
            • 仅透传业务 message、不泄露堆栈、不建脏号)、TC-G-02-P 权限(JwtInterceptor 公开白名单
            • 无 token 匿名放行/无效 token 降级放行、非必须登录路径)、结构契约 POST /api/auth/wechat-login
            • - UserServiceWechatLoginContractTest(6 例):服务层真实边界——全新 openid 建 User(parent)+家庭+成员、
            • 同一 openid 二次登录不重复建号/家庭/成员(仅刷 sessionKey)、code2Session 空 openid/抛异常不落库、
            • phoneCode 绑定手机号、teacher 老用户重登保留原角色
            • 溯源:SC-G-02 · tests/user-scenarios/01-guest.md 场景 G-2 · tests/test-cases/guest.md TC-G-02/TC-G-02a/TC-G-02-E/TC-G-02-P
            • 本提交补齐该键契约边界 RED 阶段缺口,与既有 39 例回归合计 49/49 通过。
            • - 新增 JwtInterceptorContractEdgeTest 10 例:
            • 1) OPTIONS 预检放行(受保护/公开路径均不鉴权、不写 401)
            • 2) query 参数 ?token= 获取路径:有效 token 放行注入 userId/role/familyId/currentMemberId;无效 token 统一 401 不泄露
            • 3) teacher 有效 token 放行 + 注入 role=teacher + ROLE_teacher 权限上下文(@PreAuthorize 用)
            • 4) admin 有效 token 放行 + 注入 role=admin + ROLE_admin 权限上下文
            • 5) LOGIN_REQUIRED_PATHS 族边界:/api/family/user/switch-role、/api/ai/health-coach/send、/api/auth/switch-role 无 token → 401;同一路径携有效 token → 放行
            • - 只新增 src/test 下与该键相关测试,不改 src/main(未暴露实现缺陷)
            • 原为未覆盖 handler(实现已存在、零测试覆盖),本提交补 7 条契约级单测
            • (MockMvc standalone + 直接调用级,无 Spring 上下文/无 DB/无外部服务):
            • - 正常路径:家长建任务(标题/成员B/积分/频率)→ 统一 Result code=200 data=任务ID
            • - DTO 反序列化:title/description/category/memberId/points/duration/taskType/frequency/
            • needReview/executorType/dimensionCode 字段映射经 ArgumentCaptor 验证
            • - 多成员下发边界:body.memberIds=[B1,B2] 原样传 Service(Service 层为每个成员建独立实例)
            • - 统一 @PostMapping:GET 同路径 → 405
            • - userId 属性缺失(@RequestAttribute required)→ 400(JwtInterceptor 负责注入,缺失即未认证)
            • - Service 业务拒绝(家庭不足2人等)→ 异常不吞,交 GlobalExceptionHandler 统一转
            • Result.error(400, message)(TC-P-05-E 频率非法 400 口径;区别于 addMember 控制器内捕获契约)
            • - 直接调用级:统一 Result code=200/message=success/data=任务ID
            • 角色/权限口径:本 handler 无 @RequestAttribute(role/roles),授权由 JwtInterceptor(有效 token
            • 注入真实 userId)与 Service 层家庭归属/执行者校验承担,故覆盖 userId 注入与传递正确性而非角色分支。
            • 缺陷观察(交编排侧决策,未断言为绿灯):/api/tasks/create 未列入 JwtInterceptor.LOGIN_REQUIRED_PATHS,
            • 匿名(userId=-1)可到达 handler 走业务 500,与 SEC-20261031-01 已修复口径漂移同类。
            • 7 用例全部通过(mvn -DskipTests=false -Dtest=TaskControllerCreateTaskTest test);
            • 模块 test-compile 通过(EXIT=0)。不改 src/main 实现。
            • - FamilyMemberService.switchToMember: 异常语义修正(IllegalArgumentException→400 / AccessDeniedException→403)
            • - FamilyMembersController.switchToMember: 移除吞异常 try-catch,缺少 memberId→400,userId==null→401
            • - 新增 tests/e2e/api/sc-p-03-switch-role.spec.js(11 用例:正常/异常/权限三类流)
            • - 新增 tests/playwright.config.api.local.js(本地 API 配置)
            • - SC-P-03 专项 11/11 通过;既有 family-member-api 回归 13/13 通过
            • 新功能

              • 双角色切换 API 修复与契约测试

              v1.0.2060 (2026-11-04)

              文档

              • 研发负责人1 标准汇报 06:20 轮(SC-G-02/SC-G-06 双场景证据合入 cfclub 3aebf9b16/73e2f194e;S-cfc-10 jwtGuard 补登 YELLOW;TR-3 回执;218 SC 0/218 本轮 0;S-cfc-11/12 会话 running;黑窗 429 至 08:00·无新增能力键)
              • SC-G-02 执行证据报告 §8 回填提交核验(sha=8db39fec9,ancestor 校验通过,clean-check 通过)

              新功能

              • SC-G-06 越权接口拦截 — 私有业务数据端点族强制登录

              其他

              • health/checkin、tasks、energy、wishes、user 私有数据端点无 token 一律 401
              • (修复前匿名 userId=-1 放行返回 200/业务500,泄露内部结构与错误)
              • - 公开白名单(product/articles/invite-validate/auth 登录等)保持免鉴权、不误拦
              • - 新增 ScG06JwtGuardTest 19 用例:正常流 TC-G-06 / 异常流 TC-G-06-E / 权限流 TC-G-06-P
              • - 更新 JwtInterceptorLoginRequiredTest:health/report/list 匿名放行 → 401(原断言即泄露行为)
              • - 执行证据:JUnit 35/35 通过 + feature 分支后端 live HTTP 探针 13 项
              • 报告 docs/tdd/test/automation-run-sc-g-06-2026-11-05.md
              • SC-G-02 微信授权登录场景打通(S-cfc-9):新增服务层契约测试(正常/异常/幂等)+ JwtInterceptor 权限流契约测试 + API 级 e2e 用例 + 执行证据报告
              • - JwtInterceptorWechatLoginTest(4/4 绿):wechat-login 公开路径匿名放行、受保护接口无 token 401、有效 token 放行注入上下文、无效 token 401
              • - tests/e2e/api/wechat-login.spec.js:API 级正常/权限流用例(PW_BASE_URL 可切换目标端)
              • - docs/tdd/test/automation-run-2026-11-05-0555.md:执行证据(9/9 契约测试 + HTTP 层 5 步骤验收全过)

              v1.0.2059 (2026-11-04)

              文档

              • 研发负责人2 标准汇报 05:56 轮(S-cfc-9 微信登录补登YELLOW e1bc608e2;SC-G-02/SC-G-06 双场景产出证据已推feature分支 8db39fec9/8660d7dbe 待合入登记;S-cfc-12 failed 待08:00重派;218 SC 0/218·黑窗429至08:00·无新增能力键)
              • 研发负责人闭环巡检 05:47 轮 — 打破连续 8 轮零派发,4 个 SC 场景打通任务入池并派发(S-cfc-9~12: SC-G-02/SC-G-06/SC-P-03/SC-P-10,双锚点溯源+独立 feature 分支);CI 就绪度实测+门禁规格落地;O-2 场景→能力键映射待裁决;TR-3 请测试补三类用例;218 SC 累计 0/218 本轮新增 0(未达顶层目标,不报完成)

              测试

              • 测试负责人闭环轮 2026-11-05 05:35 — B-10 持续解除(远端基线第2轮复验 testCompile 205 源 0 错/16 契约 16/16 全绿);2 YELLOW(getActiveMaterial/createReport)第2次独立复验通过待状态机同步;B-13 环境红根因并入(3 个 @SpringBootTest 硬编码 127.0.0.1:3306=8 例必红);发现 pom skipTests=true 假绿坑须 -DskipTests=false;O-1 更新

              v1.0.2058 (2026-11-04)

              文档

              • 研发负责人1 标准汇报 05:02 轮(6 DONE+2 YELLOW 待测试 mark-green·B-10 已解除·B-11 待裁决·B-12 待夹具·无新增能力键·218 SC 0/218·CI 草案未启用·池空+429 黑窗零派发)
              • 研发负责人1 标准汇报 04:48 轮(6 DONE+2 YELLOW 待测试 mark-green·B-10 已解除·B-11 待裁决·B-12 待夹具·无新增能力键·218 SC 0/218·CI 草案就绪未启用·池空+429 黑窗零派发)

              v1.0.2057 (2026-11-04)

              文档

              • 研发负责人2 标准汇报 04:22 轮(6 DONE+2 YELLOW 待测试 mark-green·B-6/B-7 已实现台账滞后·B-1~B-5 待研发·无新增能力键·池空+429 黑窗零派发)

              v1.0.2056 (2026-11-04)

              文档

              • 研发负责人1 标准汇报 03:50 轮(6 DONE+2 YELLOW 待测试 mark-green·B-10 已解除·B-11 初步判定有意精简·无新增能力键·池空+429 黑窗零派发)
              • 研发负责人1 标准汇报 03:45 轮(6 DONE+2 YELLOW 待测试 mark-green·B-10 复验通过·无新增能力键·218 SC 0/218·黑窗零派发)

              测试

              • 测试负责人闭环轮 2026-11-05 03:30 — B-10 正式解除(研发 37f29a5df 推远端+测试复验 testCompile 205 源 0 错/16 契约 16/16 全绿);2 YELLOW(getActiveMaterial/createReport)复验通过待状态机同步;O-1 推进;台账 2731 用例;11-05 遗留报告收口

              v1.0.2055 (2026-11-04)

              文档

              • 研发负责人2 标准汇报 03:17 轮(B-10 复验通道恢复确认·2 YELLOW 待测试 mark-green·6 DONE 复核·数据源 4/4 正常·218 SC 0/218·黑窗零派发)

              v1.0.2054 (2026-11-04)

              文档

              • 研发负责人1 标准汇报 02:33 轮(B-10 P0 编译回归闭环·37f29a5df 推远端·复验通道恢复待测试 mark-green·218 SC 0/218·黑窗零派发)

              Bug 修复

              • 同步 CfBalanceControllerTest 至精简后的 CfBalanceController 签名(B-10 P0 编译回归修复)

              其他

              • 删除 balance/logs 方法的 currentMemberId null 形参;但 unit/CfBalanceControllerTest.java
              • 仍按旧签名调用(多传 null 实参),导致 testCompile BUILD FAILURE,
              • 全模块 1474 @Test + 16 契约测试零执行(B-10 P0)。
              • 修复:移除 7 处多余 null 实参(4 处 balance / 3 处 logs),
              • 与实现签名 balance(userId) / logs(userId, page, size) 对齐。
              • 本地 mvn test -Dtest=CfBalanceControllerTest -DskipTests=false -> 8 例全绿 ✓
              • 关联:测试侧 B-10 登记(01:36 闭环轮实锤)、研发负责人2 02:12 汇报(P0 优先);
              • 复验通道恢复后测试侧可对 2 个 YELLOW 键(createReport/getActiveMaterial)
              • 执行 --mark-green 收口。

              v1.0.2053 (2026-11-04)

              文档

              • 研发负责人2 标准汇报 02:12 轮(B-10 P0 编译回归阻断GREEN·dimension DONE 复核·池空零派发)

              v1.0.2052 (2026-11-04)

              测试

              • 测试负责人闭环轮 2026-11-05 01:36 — B-10 P0 编译回归实锤(unit/CfBalanceControllerTest 7 处错,1474 @Test+16 契约零执行);4 YELLOW 证据齐备但复验被 B-10 阻断;台账刷新 2731 用例

              文档

              • 研发负责人1 标准汇报 01:15 轮(4 YELLOW 待测试 mark-green·SC→KEY_RE 衔接待裁决·218 SC 跑通 0/218·黑窗零派发)
              • 研发负责人1 标准汇报 00:58 轮(识别 218 SC 新口径·场景覆盖矩阵 0/218·SC→KEY_RE 衔接待裁决·4 YELLOW 待测试 mark-green)
              • 定稿开发目标 - 所有用户场景都能跑通(218 SC 单一事实源)
              • 研发负责人2 汇报 2026-11-05 00:40
              • /tdd/test: automation-run-2026-11-04-1130.md 新增

              其他

              • - 变更感知(近 7 天 200 提交):无新增能力键,不触发 --add-task
              • - 风险:dimension 双实现路由歧义待主理人裁决;主工作树 72 处未提交含危险项 CfBalanceController.java(staged currentMemberId=0 vs 远端 15 处),禁 add -A
              • - 会话:lan-204×2 + lan-189×1 running(CFC),其余 idle
              • - TR-1 已闭环;O-1 已由 state.json 推进自动解除
              • 1) 启动时序缺陷(DimensionCodeMapper.reload):
              • @PostConstruct 在 DatabaseInitializer.run()(CommandLineRunner 迁移445 legacy_alias 列)之前执行,
              • 全新/旧 schema 库上 selectList 全字段查询抛 Unknown column 'legacy_alias' → @SpringBootTest
              • 上下文全量启动失败(9/9 RED 而非 404)。改为惰性加载:去掉 @PostConstruct,首次
              • resolveToUnified/resolveLegacy/isKnownCode 调用时触发 reload()(此时 CommandLineRunner 迁移已完成)。
              • 2) buildTree source_system 过滤缺陷(DimensionRegistryService.getTree):
              • 旧实现先按 source_system 过滤掉不匹配节点、再只收集 parentId==null 的根;
              • sourceSystem=health 时 body 根(source=energy)被排除,7 个健康子维因父节点不在集合内
              • 而成为孤儿(均非根)→ 返回空数组,与契约(应返回 7 节点)不符。
              • 现改为:收集所有匹配 source_system 的节点,按 parentId 在匹配集合内构建子树,
              • 父节点被过滤/缺失/无父 则提升为过滤树根;无过滤模式保持原完整树语义不变。
              • 测试:mvn clean test -Dtest=DimensionRegistryTreeTest -DskipTests=false → 9 用例全绿
              • (Tests run: 9, Failures: 0, Errors: 0, Skipped: 0)。
              • 改动文件:
              • - cfc-backend/src/main/java/com/etotem/cfc/service/DimensionCodeMapper.java
              • - cfc-backend/src/main/java/com/etotem/cfc/service/DimensionRegistryService.java
              • cfc-frontend: login-sheet 重构、promotion 页扩展、child-index/index-home/profile-main/utils api 微调
              • tools/xaf_agent_hub: .model_state/lead_backlog/tasks_backlog 台账刷新
              • 验证: cfc-backend mvn compile(最新 origin 基线 866df170e 上复验)通过

              Bug 修复

              • dimension.registry.getTree 契约 2 处实现缺陷

              v1.0.2051 (2026-11-04)

              Bug 修复

              • 实例级 dir_aliases 目录别名映射,根治远程 Windows 实例误传 POSIX 路径

              其他

              • (/sc-data/cfc -> C:/code/cfc 或 D:/cfc),供调度器将误传的 POSIX 路径重映射
              • 回实例真实根目录
              • - 同步实例配置演进(concurrency_limit、model_chain、auto_prod 等,
              • 与 hub.py instances 实测一致)
              • 背景:Git Bash(MSYS) 传参给 Windows 原生 python.exe 时会把 /sc-data/...
              • 自动加 PortableGit 前缀转成 Windows 路径;配合 dir_aliases 后调度器可还原
              • 并重映射,避免 lan-189 上出现 LocationNotFound 或错误目录。

              v1.0.2050 (2026-11-04)

              测试

              • 测试负责人2 闭环轮 2026-11-04 23:36 — 契约测试复用16/16全绿;台账增量来自未提交WIP(+9@Test)本轮不重提交;3 RED键仍停滞,O-1连续7轮未mark-yellow
              • 测试负责人闭环轮 2026-11-04 23:25 — 契约测试复验 16/16 全绿;台账增量来自 S-cfc-8(7 例 RED 已推远端未入状态机);O-1 升 P1(连续 6 轮缺研发 mark-yellow);3 RED 键仍停滞
              • 补齐 dimension.registry.getTree 契约级单测
              • dimension.registry.mapLegacyCode 契约级单测(RED)

              文档

              • 研发负责人2 标准汇报 22:42 轮(S-cfc-7/8 在途核验/B-5 风险解除/部署 pending 收口确认)
              • 研发负责人1 闭环汇报 23:17 + 维度注册中心契约测试请求 TR-2

              其他

              • - test-requests.md:新增 TR-2 请求测试侧补 dimension.registry.getTree 契约 RED(实现 57e162242 已在远端)
              • - mapLegacyCode 已补登 YELLOW(RED 契约测试 73654bcf8 + 实现 57e162242 均推 origin/cfclub)
              • 不假定 impl 包路径(实现类在 feature 分支)。endpoint 未合入前(ba4ac94d7)验证 RED:
              • 9 用例全 FAIL 404。
              • impl 随后合入主线(57e162242)后,测试在主线上复跑暴露两个实缺陷(本测试不改 src/main):
              • 1. 启动时序缺陷:DimensionCodeMapper.reload()(@PostConstruct) 在 DatabaseInitializer.run()(CommandLineRunner)
              • 迁移445(legacy_alias 列)之前执行 → 全新/旧 schema 库 Unknown column legacy_alias → 全量
              • @SpringBootTest 上下文加载失败(9/9 RED,非 404)。
              • 2. buildTree 缺陷:按 source_system 过滤后只收集 parentId==null 根;sourceSystem=health 时
              • body 根(source=energy)被排除 → 7 健康子维成孤儿返回空数组,与契约不符(见用例 Javadoc)。
              • 用例覆盖:无参全树(5根)、body 7 健康子维、契约字段、sourceSystem 空串/未知值/health、
              • 匿名/teacher/admin 可达性。legacyAlias 按契约断言为字符串(JSON数组)。
              • 溯源:PRD §4 P0-3 编码映射层 + 设计 §4/§5.1 GET /api/dimension-registry/map?legacy= -> Result
              • 新增 DimensionRegistryMapContractTest(MockMvc 全栈契约测试,不假定实现类包路径):
              • - map_healthSevenLegacyCodes_resolveToBodySubCode:健康 7 维 legacy -> body.* 统一 code
              • - map_energyRootCodes_passthroughAsIs:能量 5 根同码原样返回
              • - map_unifiedSubCode_passthroughAsIs:统一子 code 幂等原样返回
              • - map_unknownLegacy_returnsNullData:未知 legacy -> data=null(200)
              • - map_emptyLegacy_returnsNullData:空串 legacy -> data=null(200)
              • - map_missingLegacy_returnsBadRequest:缺参 -> 400
              • - map_withoutAuthToken_isReachable:无角色限定(parent/child/teacher/admin 共用),匿名可达
              • 运行结果(RED,cfclub 未合入实现):Tests run: 7, Failures: 7(均 404,接口未实现)
              • 暴露缺陷:无(纯 RED,未发现实现缺陷;实现仅在 feature/unified-dimension-p0)
              • v1.0.2049 (2026-11-04)

                新功能

                • 统一维度体系差距补齐 P0-T1/P0-T2/注册中心/P1-T4(2026-11-03 设计文档)

                其他

                • P0-T1 Schema 迁移+实体字段:DatabaseInitializer 迁移 445/446/447(ensureColumn 幂等 + seed 5根7维);schema.sql 同步新列;ProductDimensionConfig 加 parent_id/legacy_alias/source_system/wuxing_rule_ref/node_kind;IndicatorDefinition 加 parent_id/legacy_alias
                • P0-T2 常量+映射层(NEW):DimensionCodeConstants(5根+7body code + legacy 别名);DimensionCodeMapper resolveToUnified/resolveLegacy 双向映射
                • 注册中心核心(NEW):DimensionRegistryService getTree/getRoots/getNodeByCode;DimensionRegistryController /api/dimension-registry/* 只读;DimensionSyncService 双写骨架(flag 门控);DimensionNode DTO;DimensionConfigController /save 改走注册中心;application.yml dimension.registry.enabled/dualWrite=false
                • P1-T4 前端消费注册中心:DimensionSelector/index.vue 消费统一注册树(回落 store 旧源);api/dimension.js 新增 registry 接口
                • 验证:cfc-backend mvn compile(最新 origin 基线复验)通过;cfc-web npm run build 本会话已通过

                v1.0.2048 (2026-11-04)

                文档

                • 研发负责人3 补记 22:20 执行纪要(收口推送+2任务派发+Java变体暂缓裁决)
                • 研发负责人3 补交标准模板汇报 + 统一维度体系设计文档入主线

                其他

                • - 合入 11-03 统一维度体系 PRD/design/class/sequence 4 份设计文档
                • - 目的:使 S-cfc-7/S-cfc-8 的 --requirement/--design 溯源锚点对远程会话可读
                • - 仅文档,不含任何业务代码;Dimension* Java 变体因与 feature/unified-dimension-p0 冲突暂缓

                v1.0.2047 (2026-11-04)

                测试

                • 测试负责人2 闭环轮 2026-11-04 21:00 — 台账重扫零diff(2715用例持平);3 RED键契约测试采信origin/cfclub已推送证据16/16全绿;研发仍未mark-yellow
                • 测试负责人闭环轮 2026-11-04 20:55 — 3 RED键契约测试独立复验16/16全绿;采信20:38兄弟批次全量证据(后端86.7%/前端18轮100%/2715用例);研发仍未mark-yellow
                • 测试负责人2 闭环轮 2026-11-04 19:26 — 台账重扫零diff(2715用例持平);3 RED键契约测试复用19:25实证16/16全绿;研发仍未mark-yellow
                • 测试负责人闭环轮 2026-11-04 19:25 — 台账重扫零diff(2715用例持平);3 RED键契约测试离线重跑16/16全绿;研发仍未mark-yellow

                v1.0.2046 (2026-11-04)

                测试

                • 测试负责人2 闭环轮 2026-11-04 17:29 — 台账重扫=15:30基线(零diff/2715用例持平);3 RED键仍伪RED待研发mark-yellow

                v1.0.2045 (2026-11-04)

                测试

                • 测试负责人轮 2026-11-04 15:30 — 3 RED 键仍待研发 mark-yellow;刷新共享台账(357ctrl/1940handler/2715用例);本轮未 re-run JUnit(无mvn)

                v1.0.2044 (2026-11-04)

                测试

                • 测试负责人轮 2026-11-04 15:10 — 3 RED 键契约测试离线实跑 16/16 全绿;B-6/B-7 措辞更新;O-1 请研发补登 --mark-yellow

                v1.0.2043 (2026-11-04)

                Bug 修复

                • B-4 修复管理端列表 envelope 契约不一致 + commission config 更新 400
                • B-5 Result.error() 恒500结构级修复 — 新增400/403/404/409工厂方法 + Activity发布/审核调用点迁移

                其他

                • - AdminButlerController 的 user-list / list / service-records / settlements 4 个列表
                • 由 data.put("list") 改为 data.put("records"),与活动列表等其他管理端列表契约对齐;
                • assignments 本身已返回 records,无需改。
                • - 前端消费点 cfc-web ButlerAudit.vue(读 /butler/user-list)同步由 data.list 改为 data.records;
                • ButlerAssignments.vue 读 data.records 本就一致。grep 确认仓库内无其他 .data.list 消费点。
                • - 新增契约单测 AdminButlerControllerEnvelopeTest(4 case 断言 records 非空、list 键不存在)。
                • F2(POST /api/admin/commission/config/update 400 根因与修复):
                • - 根因:E2E payload({percent,ratio,label,status}) 与实体字段(name/rate/rateType/remark)不匹配,
                • id=null 走 insert 时 name(表 NOT NULL)缺失触发数据完整性异常返回 400。
                • - 修复:updateConfig 先做参数校验——空 body/缺 name 返回 400 并给出明确 message(非 500),
                • 合法 body 才走 insert/updateById 并返回 200,更新真实落库。
                • - E2E payload 修正为实体字段;新增契约单测 AdminCommissionConfigControllerTest(5 case:
                • 合法 insert/update → 200+落库验证;缺 name/空 body → 400+message)。
                • 验证:mvn compile 通过;mvn test(2 新测试类 9/9)通过;本地实跑确认
                • butler 5 个列表全返回 records、commission 合法 200/缺字段 400 且更新后回查新值;
                • cfc-web npm run build 通过。
                • B-2(R5): fix admin-auth login exposing HTTP 500 on unauthorized/empty-body
                • 未授权/空 body/缺参调用 POST /api/admin-auth/login 返回业务码 500
                • (message=手机号和验证码不能为空),且空 body 会 NPE;安全测试无法稳定断言被拒。
                • 修复(对齐项目既有惯例: Result 业务码表达语义 + HTTP 200 信封;真实 HTTP 401
                • 由 JwtInterceptor 对受保护路径负责,登录端点为公开路径):
                • - login: dto==null 先判空避免 NPE; 缺 phone/code 属参数校验 -> 400(原 500)
                • - login-by-password / send-code: 同面公开端点同类 R5 暴露, 一并判空 + 400
                • - 手机号格式校验也归参数校验 -> 400
                • - 成功路径/验证码校验/登录锁定/角色判定逻辑零改动
                • 契约测试 AdminAuthControllerLoginStatusTest(10 case, MockMvc standalone + 全 mock):
                • 空 body/{} /缺 code/缺 phone -> 400 非 5xx 无 NPE; 合法验证码登录 -> 200+token。
                • mvn clean compile 通过; mvn test -Dtest=AdminAuthController*Test 10/10 通过;
                • cfc-web npm run build 通过。
                • 变更:Result.java 新增 badRequest/forbidden/notFound/conflict 工厂方法(仅新增零破坏);ActivityAdminService/ActivityService 参数缺失/无权限/不存在/冲突语义改走 4xx 工厂,不再兜 500。新增 ResultCodeFactoryTest 11 例全绿;ActivityServicePublishTest 6/6、ActivityAdminServiceTest 10/10 全绿。
                • 验证:mvn -o test ResultCodeFactoryTest=11/11;Activity 两组 16/16。

                测试

                • 接口冒烟闭环 2026-11-04 13:23 — 通过率 46% (fix=2 reg=0) [CONN_ERR翻转标flaky: fix=2 reg=0]; 测试用例 361/386 完成(文档化219)
                • S-cfc-6 getPlanDetail 契约级 RED 单测落地(8例全绿)+ 回复 TR-1 + B-8 已解除/B-9 鉴权缺口观察登记 — guide.trainingPlan.getPlanDetail

                v1.0.2042 (2026-11-04)

                其他

                • nvidia/nvidia/nemotron-3-ultra-550b-a55b -> agnes/agnes-3.0-flash
                • 用户 2026-11-03 拍板指定顺序;映射说明:
                • - opencode/deepseek-free -> opencode/deepseek-v4.1-flash-free(对齐 default_dispatch_model 既有写法)
                • - nivdia/nemotron 3 ultra 550B A55B -> nvidia/nvidia/nemotron-3-ultra-550b-a55b(修正拼写,对齐 lan-189 既有写法)
                • - agnes/agnes-3.0-flash -> 原样

                v1.0.2042 (2026-11-04)

                测试

                • 接口冒烟闭环 2026-11-04 08:25 — 通过率 45% (fix=0 reg=1); 测试用例 361/386 完成(文档化219)

                v1.0.2041 (2026-11-03)

                测试

                • 接口冒烟闭环 2026-11-04 06:57 — 通过率 46% (fix=1 reg=1); 测试用例 361/386 完成(文档化219)

                v1.0.2040 (2026-11-03)

                文档

                • 研发负责人工作汇报 2026-11-04 0600 — 全量基线复跑 + S-cfc-5/6 推进核查 + B-1 跟踪

                v1.0.2039 (2026-11-03)

                测试

                • 接口冒烟闭环 2026-11-04 05:19 — 通过率 46% (fix=0 reg=0); 测试用例 361/386 完成(文档化219)

                v1.0.2038 (2026-11-03)

                文档

                • 研发负责人工作汇报 2026-11-04 0445 — P0 编译回归闭环 + S-cfc-5 YELLOW + TR-1 送达
                • 研发→测试请求通道 TR-1 — 请求补写 getPlanDetail 契约级 RED(S-cfc-6)

                v1.0.2037 (2026-11-03)

                Bug 修复

                • 同步 CfBalanceControllerTest 到 dfc78e9d3 新签名(currentMemberId 形参),解除后端全量单测编译回归

                其他

                • 5 个方法新增 @RequestAttribute currentMemberId 形参,但 unit/CfBalanceControllerTest
                • 仍以旧签名直接调用(balance(7L) 等 7 处),mvn test-compile / mvn test BUILD FAILURE,
                • 阻断全部后端单测(含 S-cfc-5/6 RED 契约测试无法编译验证)。
                • 修复:测试调用点补 currentMemberId=null,语义与断言不变(null 回退 user_id 匹配分支)。
                • 验证:mvn -o -B test 29 例全绿(CfBalanceControllerTest 8 + AddMemberTest 7 +
                • ListTest 4 + GetPlanListTest 10)。

                测试

                • 测试负责人闭环盘点 2026-11-04 03:43 — 刷新发现/跟踪台账 + 状态机(2 RED) + 工作汇报
                • 接口冒烟闭环 2026-11-04 03:37 — 通过率 46% (fix=0 reg=0); 测试用例 361/386 完成(文档化219)

                v1.0.2036 (2026-11-03)

                测试

                • 测试负责人 TDD 闭环汇报 2026-11-04 02:16 — 2 RED 停滞 + 后端编译回归 dfc78e9d3 就地核验
                • 接口冒烟闭环 2026-11-04 02:13 — 通过率 46% (fix=1 reg=0); 测试用例 361/386 完成(文档化219)

                v1.0.2035 (2026-11-03)

                测试

                • 测试负责人闭环盘点 2026-11-04 — 刷新发现/跟踪台账 + 状态机(2 RED) + 工作汇报
                • 接口冒烟闭环 2026-11-04 00:44 — 通过率 45% (fix=0 reg=1); 测试用例 361/386 完成(文档化219)

                v1.0.2034 (2026-11-03)

                新功能

                • T40 小程序新版本强制更新(官方 UpdateManager 接入)

                其他

                • - 能力探测,不支持时 console.warn 跳过
                • - onCheckForUpdate 仅打印日志
                • - onUpdateReady 弹「发现新版本」强制弹窗(showCancel=false),确认后 applyUpdate 重启应用新包
                • - onUpdateFailed 弹「更新失败」提示删除小程序重进
                • - App.vue onLaunch 首行调用 checkAppUpdate(),不改动 splash/登录/路由逻辑
                • - 不依赖 manifest versionName/versionCode,版本判断由微信后台代码包自动完成

                文档

                • 小程序新版本强制更新功能设计 T40(uni.getUpdateManager + applyUpdate 强制重启)

                v1.0.2033 (2026-11-03)

                Bug 修复

                • 财富中心/推广收益改读实时CF账本,修正成员解析取最老家庭

                v1.0.2032 (2026-11-03)

                测试

                • 接口冒烟闭环 2026-11-03 22:39 — 通过率 45% (fix=1 reg=0); 测试用例 361/386 完成(文档化219)

                Bug 修复

                • 家庭挑战卡等待确认行末尾显示 undefined

                其他

                • 中(方法),uni-app 编译产物 WXML 模板绑定无法解析方法,解析为 undefined 导致行尾
                • 出现 "undefined"。将 deadlineText 移至 computed(无参数、仅依赖 this.challenge),
                • 正确返回 剩余N天/已超时/截止今天/空,修复待确认行末尾 undefined。

                v1.0.2031 (2026-11-03)

                Bug 修复

                • 「我的团队」改为服务商团队人数,修复误用推广引荐人数

                其他

                • 该值为 referral_tree(推荐关系物化树)计数,属推广/引荐口径,且该树
                • 无维护逻辑已陈旧(user12 树内17 < users 表实际19直接引荐/22全层级),
                • 与瓦片点击跳转的服务商团队页口径不一致。
                • 修复:loadTeamInfo 改用服务商团队口径——先取 my-teams 列出的全部供应
                • 体系,再逐个取 supply-hierarchy/my 的 totalChildren 求和;非服务商或
                • 无团队显示 0,与团队系统页「团队成员」统计一致。仅改前端,未触碰后端。

                v1.0.2030 (2026-11-03)

                文档

                • 回填第 30 轮报告——Q6/G9/契约测试矩阵随 81d8883f7 闭环

                其他

                • - Q6 标注已闭环并附复测命令(merge-base --is-ancestor 81d8883f7 origin/cfclub)
                • - 契约测试矩阵项补注 S-be-1 已入库
                • - 交付说明追加 22:06 二次送达记录
                • 覆盖 未购计划 4001 / 未建家庭 noFamily / 成功创建 / 重复创建 / 参数校验 五条契约
                • - SupplyTeamControllerInviteTest(7 例):POST /api/admin/supply-team/invite 契约单测
                • - 均为 MockMvcBuilders.standaloneSetup 纯单测,无 @SpringBootTest,不依赖 DB,离线可跑
                • - 提交前定向复跑:Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, BUILD SUCCESS
                • - 此前两个文件自 11-02 15:58 起一直未跟踪(29h),导致上述契约在主线与未来 CI 均不可见
                • - 新增发现:TaskProgressUpdateTest 因 29887b33b 删除 TaskService 字段而 setUp 全类 NoSuchField,
                • 该回归护栏(保护 13b398472 修的打卡串号缺陷)已静默失效 9 天 11 小时
                • - 新增发现:test_inventory.py 无 surefire/jest 结果导入入口,台账执行列与实际执行脱节(实跑 1375 例 vs 台账 22 通过)
                • - 新增发现:FortuneServiceTest 占位 assertTrue(true) 计入通过;ReportParserAdminControllerTest 纯 Mockito 触达 MP lambda 缓存
                • - 同步 runbook(langgraph 改远程执行、前端路径 /frontend)、test_blockers(R7/R8/T5 状态)
                • - 门禁:不通过(10 门仅前端全绿达成)

                测试

                • 入库两个已全绿契约测试类(12 例)——S-be-1 健康报告创建 + T38 供应团队邀请
                • 接口冒烟闭环 2026-11-03 22:03 — 通过率 45% (fix=0 reg=0); 测试用例 361/386 完成(文档化219)
                • 第 30 轮自动化测试执行证据送达(除编译之外)——后端 1079 例 43 红、前端 296 全绿 + 补交第 24-29 轮巡检报告

                v1.0.2029 (2026-11-03)

                Bug 修复

                • 天盘 emoji 功能图标替换为 SVG 图标(CFC-TIANPAN-01)

                其他

                • mind-detail/FamilyTianpanCard.vue:罗盘/运势星/心情/吉位/星座日/灵数星芒/建议灯泡 emoji(含动态 moodEmoji)全部替换为内联 data-URI SVG 图标,沿用访客态重设计同款方案,颜色取自主题令牌(-primary / -gold-deep / -mind / -3-ink / -insight-ink)
                • 移除 moodEmoji 动态 emoji 计算属性;跳转箭头 → 与宜/忌 ♦✖ 语义符号按规格保留
                • 验收:verify-vue-compile 三段 PASS;audit-mp-antipatterns ERROR 0;build:mp-weixin EXIT=0

                测试

                • 接口冒烟闭环 2026-11-03 21:32 — 通过率 45% (fix=0 reg=0); 测试用例 361/386 完成(文档化219)

                v1.0.2028 (2026-11-03)

                Bug 修复

                • 文章详情页 config.API_BASE_URL 白屏 + H5 静态资源 404

                其他

                • Vue 模板绑定解析为实例属性 this.config,组件 data/computed 未定义 config
                • → undefined.API_BASE_URL 抛 TypeError,render 中断文章详情页白屏。
                • 经 computed 暴露 API 域名;方法内仍用模块级 config(闭包引用正常)。
                • 2. public/index.html 删除硬编码 dev 入口 后 /
                • 具名导入不存在;退出码可直接接入 CI
                • - 审计结果:四项全 0,3 文件 node --check 通过
                • - TagChip 统一 ('select'),4 个消费页改 @select
                • (variant=brand 成长记录页品牌橙 / variant=body 身维度首页身体色),
                • 支持 label/active/variant + tap 事件
                • - growth/diet-checkin、growth/exercise-checkin、health/diet-index、health/exercise-index
                • 改用 TagChip,删除 4 页各自的 tag 样式(共约 40 行重复 CSS)
                • - PlayfulButton:修复 block 属性只声明不生效(:class 未绑定 playful-btn--block),
                • wishes/index 的全宽按钮恢复预期样式
                • - 6 个文件 node --check + style 块 dart-sass 编译全部通过
                • - SelectableCard(user-edit/service-role-apply 视觉不一致)与 StepDots(仅 1 页使用)
                • 经核对不满足抽取前提,按计划保留

                重构

                • F 批 TagChip 事件名 tap -> select
                • F 批 TagChip 组件化 + PlayfulButton block 修复

                v1.0.1731 (2026-10-20)

                重构

                • D36 第八轮令牌收割 (hex 570->493)

                其他

                • - replace-hex-to-token.js 第八轮规则(-green-base-2/-violet-deep/-primary-2/
                • -success-strong/-3-*/-gold-ink/-wisdom-tint-5 等)
                • - 跳过 8 位带 alpha 的 hex(如 #F9731622),避免丢失透明度
                • - 58 文件 82 处收编;58 个 style 块 dart-sass 编译全部通过
                • - 全站硬编码色 570 -> 493;335 页最高债务 15

                v1.0.1730 (2026-10-20)

                Bug 修复

                • D33 修复品牌色字符串/游离 import/缺失具名导出三处历史 bug

                其他

                • canvas 填充/渐变拼接/色板数组全部失效)
                • - d34: 9 文件把落在
                • 与 结尾标签(文件被截断且 HEAD 同样损坏,会阻断整包编译)
              • - 验证:dart-sass 逐页编译五页 style 区块全部通过
              • - 新增 docs/dimension-pages-login-state-plan.md: 五维主页面登录前/登录后显示规划 V1.0,含统一骨架、五页显示清单、决策固化(心页维持 mind-wisdom 双色、身/智保留 preview-text、富页豁免已有商城精选)与 DimensionVisitorCard/DimensionIntroCard 职责边界(含 490e69e90 机械替换事故防线)
              • - WebhookNotificationChannel 以接收用户 users.phone 作为 msgLabel(按人定向)
              • - RepeatTaskGenerator 以模板 earliest_start 作为实例生成起点(分阶段任务门控)

              重构

              • 五维页中性灰阶归一化并清除旧品牌蓝残留(UniForge 阶段二)
              • 五维页接入设计令牌体系(UniForge 阶段一:语义基座)
              • 身维度游客卡 DOM 上移并固化五维登录前后显示规划

              v1.0.1592 (2026-10-12)

              文档

              • update health education knowledge base documentation for 2026 Q4

              v1.0.1591 (2026-10-12)

              Bug 修复

              • 登录浮层面板高度降为 85vh(更紧凑)
              • 登录浮层四步闭环单行显示(防止四字文本换行)

              其他

              • - .loop-pill-text 加 white-space:nowrap,四字步骤强制单行
              • - .loop-arrow 加 flex-shrink:0,箭头不被压缩
              • - 适配 750rpx 屏宽,四个 pill + 三个箭头容纳一行

              v1.0.1590 (2026-10-12)

              Bug 修复

              • 登录浮层点击协议复选框不再关闭

              其他

              • - 面板根 view 加 @click.stop,阻止内部点击(含 checkbox)冒泡到遮罩
              • - 保留:点击遮罩空白区才关闭浮层
              • - 新增 mixins/login-sheet.js:全局 mixin(openLoginSheet 沿 $parent 链查找宿主 ref,已登录守卫、未挂浮层回退整页登录)
              • - main.js:全局注册 login-sheet 组件 + 注入 loginSheetMixin
              • - 9 个页面接入 login-sheet 组件
              • - 修复:面板高度足够显示协议行;四步闭环与五维标签强制单行显示(flex-wrap: nowrap + margin 替代 gap)
              • - DimensionVisitorCard.vue:登录引导卡片,支持通过 openLoginSheet 唤起浮层

              新功能

              • 登录页改造为底部滑出浮层(login-sheet)

              v1.0.1589 (2026-10-12)

              其他

              • resolve last_build_commit conflict
              • - 新增 api/reportParse.js;注册路由 report-parse-status 与侧边菜单
              • - npm run build 产物版本 1.0.1588
              • - LangGraphReportParseService 新增 parseByScriptWithReason 保留失败原因,专用 RestTemplate 读超时放宽至 300s
              • - health_report_drafts 新增 parse_attempt/next_retry_at/parse_started_at/parse_finished_at(迁移364 + schema.sql)
              • - 新增 /api/admin/report-parse list|retry|backfill-food 及 reparseReportFoods(只覆盖 payload_json.foods)
              • - buildFoodsFromPayload 跳过空/无名称食材;saveFoodsForReport 先删后插保证幂等;入库前幂等守卫

              新功能

              • gut-flora-risks-detail.vue 展示 relatedBacteria 与 gut-flora-detail.vue gutStatusLevel 微标(P0+P1 完整)
              • pdf_parser.py 北京菌群 related_bacteria/gutStatusLevel 解析 + report_parse_agent.py schema 扩展
              • ReportCollectService 与 LangGraphReportParseService 映射 gutStatusLevel 与 relatedBacteria,实现 P0+P1 完整链路
              • 知识库指标章节白名单扩展(报告指标知识库.json)
              • 健康报告采集扩展疾病关联菌和肠道菌群状态字段(实体/迁移)
              • 新增报告解析进度页面(查看/重试/回填)
              • 已知类型解析失败退避重试 + 解析进度后台可见 + 食材回填

              v1.0.1588 (2026-10-12)

              重构

              • DimensionSubDims 组件下沉到分包

              其他

              • - pages/wealth/components/DimensionSubDims.vue
              • - pages/action-detail/components/DimensionSubDims.vue
              • 原因:两者均为独立 subpackage root,微信禁止跨分包 import
              • 2. 更新 import 路径为本地相对路径('./components/DimensionSubDims.vue')
              • - pages/wealth/index.vue
              • - pages/action-detail/index.vue(同时去重 DimensionIntroCard 重复注册)
              • 3. pages/reminder-config/index.vue: 修复 :key 表达式警告
              • - ch.type + '_' + index → getChannelKey(ch, index)
              • - 'p-' + pIndex → getPraiseKey(pIndex)
              • 符合 uni-app 非 H5 平台 :key 规范(需使用方法调用而非表达式)

              Bug 修复

              • 打破 ProductService↔NutritionProductService 循环依赖
              • 补注入 NutritionProductService 并修正 syncFromProduct 调用位置

              v1.0.1587 (2026-10-12)

              Bug 修复

              • 家庭成员编辑页辈分关系回显改用单向 prop
              • 修复编译错误——reminder-config 编码损坏 + DimensionVisitorCard 幽灵引用

              其他

              • - add-member.vue: generation-picker 改用 :generationLevel/:peerType 单向 prop 回显,保存时从 .generationPicker 读取选中值
              • - family-members.vue: 跳转编辑页时始终传递 generationLevel(空值传空串,编辑页需重新选择)
              • - 中文 mojibake(如 鍚敤寮€鍏 → 提醒开关)全面修复
              • - 三元运算符缺失的 ? 补回(enabled === 1 '...' : '...' → enabled === 1 ? '...' : '...')
              • - 字符串常量未闭合的 ' 补回
              • - 模板标签不完整(如 → )修正
              • 2. 5 个维度页(action-detail / body-detail / mind-detail / wealth / wisdom-detail):
              • - 移除不存在的 DimensionVisitorCard 组件引用(该组件从未存在于项目中)
              • - 替换为已存在的 DimensionIntroCard(同 props 结构)
              • - 清理 import 语句和 components 注册表
              • Closes: CFCLUB-XXXX

              v1.0.1586 (2026-10-12)

              Bug 修复

              • 修复微信扫码登录 405、移除令牌输入框、悬停暂停活动与精细化动画
              • schema.sql 建表语句提取支持引号内分号
              • 修复编译错误(补充scan-login.json,移除main.js中不存在的login-sheet引用)
              • 修复创建入库单页表单内容显示不全无法滚动问题
              • reminder-config :key 修复 v-for index 未定义
              • 修复 reminder-config 页 :key 表达式导致非 h5 编译失败
              • 京东云存储下 LangGraph 改读共享卷缓存路径

              其他

              • - models.rs/commands.rs: 兼容旧版 qrconnect 后端(仅 {state,url} 无小程序码),给出明确「需部署最新后端」提示
              • - settings.html: 移除 JWT 令牌输入框及相关读写(保留 hasToken 探测)
              • - locomotion.rs: 新增 cursor_over_pet() 悬停检测,鼠标落在宠物身上时立即暂停走/跳/飞并保持静止(新增单测)
              • - index.html/animations.css/pet-pose.js: 姿态动画精细化(方向镜像 --face、走/跳/飞/站手更丰富关键帧、新增呼吸待机 pose-idle),并加固宠物 cursor:pointer
              • 遇到 COMMENT 字符串字面量内的分号(task_reminder_config.offset_minutes
              • 注释"截止前N分钟; after_timeout...")会提前截断,语句不完整导致
              • 每次启动告警且该表无法由 schema.sql 创建。
              • 改为按字符扫描、跳过单引号/反引号内分号,完整切分 338 条语句(与旧实现同集)。
              • - HealthReportController: 去掉 2 处 startsWith(http) 直传 OSS URL 的捷径,统一经 getFilePath 下载
              • - 代上传(proxy-parse): 改用 storageService 存 OSS 再经 getFilePath 传给 LangGraph
              • ### 1. BASIC 会员恢复(f86dd164b 反向还原)
              • - 迁移360 restoreBasicMembershipLevel() 恢复 membership_levels BASIC 行 + membership_benefits 4 条 LITE 权益
              • - backfillMembershipLevelOrder 修正 level_order:FREE=1 BASIC=2 FAMILY=3 PROVIDER=4 PREMIUM=5 LIFETIME=6
              • - BasicQuotaService 恢复 refreshMonthlyQuota/isActiveBasicMember/getExpireTime
              • - MembershipService 恢复 BASIC canUseFeature/getMemberLevel 到期判断/listActive/配额初始化
              • - 新增 FOOD_RECOGNIZE 配额(3次/月),控制器层校验 FREE→403
              • - schema.sql 同步种子数据 + 注释
              • ### 2. 饮食打卡分享
              • - diet-checkin.vue / records.vue / record-detail.vue 接入 share-mixin
              • - 分享链接自动带 refCode,新用户注册后自动绑定推荐人
              • ### 3. cfclub 分支合并(~300+ 文件)
              • - 新模块:Indicator(指标曲线/相关性/映射)、FatDiet/FatExercise/FatGoal/FatWeight(减脂)、GutHealth(菌群健康)、SsoTicket(单点登录)、AdminTaskReminderConfig
              • - 前端:ContentSharePoster.vue、TrendChart.vue、indicator-curve/quicklook 页面、self-check-ai、indicator-change/sso utils
              • - LangGraph:indicator_classify、question_generate、report_parse 更新
              • - Web 管理端:IndicatorCorrelations/IndicatorMappings、api/indicator.js、utils/indicatorSeeds.js
              • - xiaofat-miniprogram(独立减脂小程序 Demo)纳入版本库
              • - docs/superpowers/plans/ & specs/ 补充完整
              • ## 主提交
              • - DatabaseInitializer.java、schema.sql、BasicQuotaService.java、MembershipService.java
              • - DietRecordController.java、diet-checkin.vue、records.vue、record-detail.vue
              • - docs/superpowers/specs/2026-10-11-restore-basic-and-diet-share-design.md
              • - 全部 cfclub 分支新增/修改文件
              • ### 1. 恢复 BASIC 会员等级
              • - 迁移360 restoreBasicMembershipLevel() 重新插入 membership_levels 的 BASIC 行(level_order=2,月费990,max_children=3,max_tasks_per_day=3)和 membership_benefits 的 4 条 LITE 权益(AI_CHAT_LITE 3次/月,REPORT_READING_LITE 1次/月,GROWTH_PLAN_LITE,ASSESSMENT_QUOTA_LITE 1次)
              • - 修正 backfillMembershipLevelOrder 的 level_order 映射:FREE=1 BASIC=2 FAMILY=3 PROVIDER=4 PREMIUM=5 LIFETIME=6(BASIC 插回 FREE 与 FAMILY 之间)
              • - 同步 schema.sql:BASIC 种子数据 + level_order 与 quota_type 字段注释
              • ### 2. 图片解析(食材识别)配额校验
              • - BasicQuotaService.QUOTA_LIMITS 增加 FOOD_RECOGNIZE=3
              • - BasicQuotaService 恢复 isActiveBasicMember / getExpireTime / refreshMonthlyQuota 真实实现
              • - 新增 consumeFoodRecognizeQuota(userId):FAMILY+ 不限次、BASIC 走月度配额、FREE 403 升级提示
              • - DietRecordController./recognize 注入 BasicQuotaService,取 userId 后校验配额,失败返回 Result.error(403, toast)
              • ### 3. 饮食打卡分享(复用既有推荐链路)
              • - diet-checkin.vue / records.vue / record-detail.vue 接入 share-mixin(mixins + setShareInfo + onShareAppMessage)
              • - 分享链接自动带 refCode,他人点击注册后通过 App.vue / login.vue autoBindInviteCode 绑定推荐人
              • - 新用户即可自行饮食打卡
              • ### 4. 设计文档
              • - 新增 docs/superpowers/specs/2026-10-11-restore-basic-and-diet-share-design.md
              • ## 主文件变更
              • - DatabaseInitializer.java:新增迁移360 + backfill CASE 修正
              • - schema.sql:BASIC 种子 + 注释更新
              • - BasicQuotaService.java:恢复 3 方法 + FOOD_RECOGNIZE
              • - MembershipService.java:BASIC 分支 / 到期判断 / listActive / 激活配额初始化
              • - DietRecordController.java:/recognize 会员配额校验
              • - docs/superpowers/specs/2026-10-11-restore-basic-and-diet-share-design.md:设计说明
              • ## 注意
              • - level_order 仅相对顺序调整(插入 BASIC),代码层 level_code 匹配逻辑不受影响
              • - 不恢复 consumeQuota 内原有的 isActiveBasicMember 前置校验,避免误伤 FREE/FAMILY 的 AI 对话
              • - 图片解析配额在控制器层校验,FAILED 返回 403 并提示升级
              • - 生产库历史 BASIC 用户已降级为 FREE,本迁移不自动回溯
              • - AiGateway 新增 generateSelfCheckQuestions(Map) 方法,调 /api/v1/question-generate
              • - FiveDimensionSelfCheckController 新增 ai-generate-questions 路由,返回 Result>
              • - questions 列表的 options 字段暂不映射,待后续补全
              • 解除了本地 mvn clean compile 因 LangGraphService 导致的构建中断
              • 新功能

                • 玄凤鹦鹉精细化动作(走/跳着走/飞/站手跟随)
                • implement product recommendation & procurement workflow with 5-dimension tiers, customization, and task lifecycle with message reminders
                • 待退款审核合并入审核中心(新增待退款审核 tab + 待审计数)
                • 离线自主活动与本地点击互动
                • 微信登录改为展示小程序码,不再打开系统浏览器
                • 新增扫码登录落地页 scan-login 与 wechatWebScan 接口封装
                • 桌面端扫码登录改用小程序码(getwxacodeunlimit),新增 POST /scan 确认接口,移除 GET /callback 与网站应用凭据
                • 文章支持推荐排序值编辑;编辑页消除横向滚动条
                • 同步 cfclub 分支 + 恢复 BASIC 会员 + 饮食分享 + 新增指标/减脂/Sso 模块
                • restore BASIC 体验会员 9.9/月 + 饮食打卡分享 + 图片解析配额
                • 通过 AiGateway 接入智能出题能力,新增 POST /api/family/self-check/ai-generate-questions
                • 收货人保存后回填用户真实姓名
                • 商城地址保存后回填用户真实姓名
                • 新增 RealNameBackfillService 真实姓名回填组件

                文档

                • 玄凤鹦鹉精细化动作设计文档
                • 地址联系人回填真实姓名实现计划(含文档索引同步)
                • 地址联系人回填真实姓名设计(自检修正+文档索引同步)
                • 地址联系人回填真实姓名设计

                测试

                • 同步 ActivityControllerTest 到 roles 形参签名,修复 testCompile 失败

                v1.0.1585 (2026-10-12)

                Bug 修复

                • 修复 product-edit 商品编辑页方法错位
                • 修复 product-edit/comparison 模板与 api.js 编译错误

                其他

                • 拆分为: onTypeChange 仅同步 picker 选择; loadProduct(id) 承载商品详情加载回填逻辑。
                • - pages/dan-assessment/comparison.vue: 修 v-if 引号与 v-else 配对; 改用 @/utils/api 命名导入(@/utils/request 不存在); onLoad 去重复 loadReportIds
                • - pages/vendor/product-edit/product-edit.vue: 补 form-section 缺失的

              新功能

              • 本地程序化生成形象动作帧(item 3)
              • provider-agnostic 动作帧序列 schema + 客户端播放(item 3 基础)
              • 微信网站应用扫码登录(桌面端 SSO)后端

              重构

              • 扫码登录成功回传 userId/role,移除多余 allow(dead_code)

              v1.0.1584 (2026-10-12)

              Bug 修复

              • ArticleEdit/ActivityEdit 加内滚动容器,修复表单无法下滑

              v1.0.1583 (2026-10-12)

              Bug 修复

              • 修复菜单"显示"功能不生效 — Layout改用userMenus、el-switch绑定Integer、父链补全检查visible

              v1.0.1582 (2026-10-12)

              重构

              • 合并电商供应商管理至供应商体系管理

              其他

              • - DatabaseInitializer 迁移209: 补齐 supply_system 列并将 ecom_supplier 存量数据迁入
              • - EcomSupplierController/AdminSupplierController: 标记 @Deprecated,接口统一返回 410
              • - 菜单 ecomSupplier 指向 /supply-system,权限改为 system:supply
              • - 前端 api/admin.js 指向新接口;router 中 /ecom-supplier 重定向至 /admin/supply-system

              v1.0.1581 (2026-10-12)

              Bug 修复

              • 修复辈分关系和出生日期保存回显问题
              • 透明无边框/右键菜单/任务栏图标/默认接口/点击完成待办
              • 修复 isAdmin 恒为 false 的 bug,并清理新增的修改关系入口
              • 首页合并冲突采用 feed 集成方案,移除浮动通知条
              • 对齐真实后台接口契约(任务/能量/吉祥物/喝水)

              其他

              • - 修复 UserService.updateFamilyMember:在管理员权限下保存 generationLevel/peerType
              • - 新增 FamilyMemberVO.birthday 字段,并回显至前端
              • - 修复 FamilyMemberService.toFamilyMemberVO:回写 birthday 为 yyyy-MM-dd 字符串
              • - 前端 family-members.vue onEditRelation:传递 birthday/generationLevel 在 URL
              • - 前端 add-member.vue onLoad:从 options 回显 birthday/generationLevel
              • - 前端 family-members.vue:修复 userId 取值(.id→.userId),移除修改关系入口
              • - api/mod.rs: upload_media(multipart); api/models.rs: MediaRecord
              • - settings.rs: AppSettings.custom_mascot_url 持久化
              • - commands.rs: upload_mascot/clear_custom_mascot; get_settings 返回 customMascotUrl
              • - settings.html: 形象选择+预览+上传/恢复默认 UI; 窗口高度 340->470
              • - pet-engine.js: setCustomImage 优先渲染自定义形象; bridge.js 监听 pet://custom-image 并启动加载
              • - index.html/interactions.js: 背景透明 + 右键菜单(设置/鼠标穿透/退出)
              • - commands.rs/main.rs: open_settings/quit_app 命令; 点击宠物优先完成待办任务
              • - poller.rs: 到期任务提醒并记录可一键完成的 pending_task
              • - settings.rs/settings.html: 默认接口地址改为 https://cfc.cf-club.com
              • - api/mod.rs: complete_task 封装
              • - 移除修改关系弹窗及入口:用户确认改用编辑资料,清理相关代码
              • - 恢复 GenerationPicker 注册(编辑资料流程必需)
              • - add-member.vue: modal-link 颜色改为品牌橙 #F97316
              • - Backend: IndicatorController source-types endpoint
              • - Backend: schema.sql delete duplicate report_format L1829
              • - Backend: DanReportUploadService compareUploads(new) + DanReportController /compare
              • - Frontend: indicator-curve.vue reportTypeOptions dynamic (source-types) + fallback
              • - Frontend: indicator-curve.vue skipGaps >0 display + rank-empty tip
              • - Frontend: dan-assessment/comparison.vue + pages.json registration
              • - Frontend: utils/api.js getIndicatorSourceTypes wrapper

              新功能

              • 设置内自定义宠物形象上传(复用 /api/media/upload)
              • DAN compare + indicator curve dynamic types + skipGaps + schema cleanup
              • JS<->Rust 桥接、设置窗口与命令实现
              • 托盘菜单、单实例与主进程组装
              • 轮询器(任务/能量/喝水)与 AppState
              • ApiClient 端点封装与响应解析
              • 设置文件读写与默认值
              • keyring 令牌存储(双平台)
              • 宠物形象配置解析(真实 JSON 测试)
              • 宠物状态映射与优先级测试
              • API serde 模型层与解析测试
              • Tauri v2 脚手架与双平台窗口配置

              重构

              • TrendChart 移入 pages/health 子包并更新引用
              • 移除已退役的 WPF 版

              文档

              • 双平台 CI、分发说明与 README

              v1.0.1580 (2026-10-12)

              Bug 修复

              • 移除 ProductEdit.vue 重复 if 行,修复编译失败

              v1.0.1579 (2026-10-12)

              新功能

              • preserve pagination page when editing products

              其他

              • - ProductEdit.vue: read page from route query and redirect back with preserved page
              • - Fixes issue where editing a product on page 2 would redirect back to page 1 after save

              v1.0.1578 (2026-10-11)

              Bug 修复

              • 修复三个编辑页 flex 约束和滚动问题

              其他

              • - 统一 .edit 根元素、>.el-card 以及 .el-card__body 为 flex + min-height:0
              • - el-card__body 增加 overflow: hidden,防止卡片内容被裁剪或产生横向滚动
              • - 与 Layout/admin-tokens 的 .admin-page 弹性约束保持一致,确保长表单可内部滚动

              v1.0.1577 (2026-10-11)

              新功能

              • 修改通知列表只显示未读,已读不计入首页familyFeed顶部

              其他

              • - 已读通知仍可在 消息历史 页面的「全部」筛选中查看
              • - 平台公告 (/api/admin/notices/all) 逻辑不受影响

              v1.0.1576 (2026-10-11)

              其他

              • Make vendor optional in products: vendorId/vendorName/vendorVisible now nullable; remove vendorVisible switch from product edit form; preserve supplier system infrastructure

              v1.0.1575 (2026-10-11)

              Bug 修复

              • 邀请接受流程缺失 FamilyMember 记录和 avatar 字段

              其他

              • - FamilyJoinRequestService.approveJoinRequest(): 审批通过补偿创建 FamilyMember 记录,同头像策略
              • - 两处均检查重复记录(避免 mergeFamily 切换路径下插入双份)
              • - 新增 FamilyMemberMapper @Resource 注入
              • Closes: member avatar not showing after family invite join

              v1.0.1574 (2026-10-11)

              重构

              • 将保存和取消按钮移至顶部操作栏

              v1.0.1573 (2026-10-11)

              Bug 修复

              • 商品编辑页移除横向滚动条

              其他

              • - 卡片 body 增加 width: 100% 和 box-sizing: border-box,防止 padding 导致横向溢出

              v1.0.1572 (2026-10-11)

              Bug 修复

              • 修复商品编辑页内容显示不全无法滑动问题

              其他

              • - el-card__body 增加 overflow: hidden,配合 .product-edit-form-wrap 的 overflow-y: auto 实现内部滚动
              • - 移除重复的 el-card__body 样式定义,保持 header 固定
              • - 与 Layout/admin-tokens 的 .admin-page 弹性约束保持一致

              v1.0.1571 (2026-10-11)

              Bug 修复

              • switchMemberToFamily 兼容孤儿成员记录,审批加入不再 500

              v1.0.1570 (2026-10-11)

              新功能

              • 浠艾福桌面宠物 v1.0 完成(WPF + WebView2 架构)
              • 桌面宠物设计文档 v1.1 - 支持用户自定义状态
              • 桌面宠物设计文档 v1.0

              其他

              • - 架构:WPF (.NET 6) 主进程 + WebView2 渲染层,Bridge via cfcPetAPI
              • - 状态映射:14 种核心状态 + 用户自定义状态(custom_state_1~10)
              • - API 对接:POST /api/tasks/today、/api/energy/overview、/api/daily/checkin
              • - 形象配置:JSON Schema (PetConfig),支持浠宝/福宝预设 + 用户自定义 PNG
              • - 交互闭环:喝水提醒 → 点击确认 → API 打卡 → 庆祝动画
              • - 托盘常驻:最小化到托盘,右键菜单(设置/显示/退出),双击唤出
              • - Token 存储:Windows DPAPI 加密,%APPDATA%\XafPet\token.bin
              • - 动画库:20 个 CSS keyframes(idle/happy/busy/sad/celebrate 等)
              • - 测试:xUnit + Moq 单元测试 18 个(PetConfig/ApiClient/StateManager)
              • Windows 构建命令:
              • dotnet build XafPet.Desktop.sln
              • dotnet test tests/XafPet.Desktop.Tests
              • dotnet publish src/XafPet.Desktop/XafPet.Desktop.csproj -c Release -r win-x64

              文档

              • 桌面宠物实现计划 v1.0

              v1.0.1569 (2026-10-11)

              新功能

              • 添加任务完成表扬通知(后端触发、配置字段、模板、管理端API/UI、H5设置页)

              v1.0.1568 (2026-10-10)

              Bug 修复

              • 食材查询适合/全部固定倒序(推荐值大的在前)、查询条件固定顶部、列表独立滚动
              • 商品编辑页表单加内滚动容器,解决超长内容无法下翻

              v1.0.1567 (2026-10-10)

              其他

              • Implement vendor visibility filter for products: add vendorVisible field, filter list interface, add UI toggle
              • - Filter list results: non-vendor users only see vendorVisible=false/NULL products
              • - Vendor users (teacher role or approved vendorStatus) see all products
              • - Add vendorVisible toggle to product edit form in admin
              • - Add isVendorUser/isGuest helper methods in ProductService
              • - Add vendor_visible column to schema.sql with migration
              • - Frontend: product edit form with switch to enable/disable vendor-only visibility

              v1.0.1565 (2026-10-10)

              Bug 修复

              • 商品编辑页超长内容超出屏幕无法滚动(el-card 弹性约束导致裁剪)
              • Replace missing human-body.png with inline SVG silhouette for knowledge base page - Removed reference to nonexistent img/human-body.png, added inline SVG body silhouette with dimension markers, maintains existing marker positioning logic

              v1.0.1564 (2026-10-10)

              Bug 修复

              • Replace missing human-body.png with inline SVG silhouette for knowledge base page - Removed reference to nonexistent img/human-body.png, added inline SVG body silhouette with dimension markers, maintains existing marker positioning logic

              v1.0.1563 (2026-10-10)

              其他

              • Add user testimonials and application scenarios section to enterprise website
              • professional perspectives from parents and service providers
              • - Add new #scenarios section with 4 scenario cards:
              • 1. 儿童成长 (Child growth & development tracking)
              • 2. 家庭健康 (Family health management)
              • 3. 家庭关系 (Family relationships & communication)
              • 4. 服务商赋能 (Service provider tools & efficiency)
              • - Add responsive navigation links for 新闻/应用场景/用户见证
              • - Add CSS styling with responsive grids (4→3→2→1 columns)
              • - Align testimonial grid responsiveness with scenarios layout

              v1.0.1562 (2026-10-10)

              Bug 修复

              • 关键人首次见面时间解析兼容 date/ISO 格式,修复 /api/octopus/key-person/add 必现 400(Timestamp.valueOf 仅接受空格分隔格式,前端发送日期或空串即抛异常)

              v1.0.1561 (2026-10-10)

              Bug 修复

              • 重写 deploy.sh 为就地镜像构建部署

              其他

              • 该路径已不存在,且 restart 不会重建镜像(代码是 Dockerfile COPY 进镜像的),
              • 导致脚本完全失效。
              • - 改为在脚本目录就地 docker compose build langgraph-svc + up -d,
              • 并补充 build 后带重试的健康检查。

              v1.0.1559 (2026-10-10)

              Bug 修复

              • 下单支持user_address地址簿,商品订单落库收货地址快照并完善管理端展示

              v1.0.1558 (2026-10-10)

              新功能

              • 指标映射管理页(列表/筛选/批量导入 JSON/CSV + 待确认映射)+ seeds 解析工具
              • 指标关联配置管理页(列表+新增/编辑+单对/一键校准)
              • 指标关联配置/指标映射管理 路由注册 + 健康配置菜单回退项
              • 指标管理 API 封装(关联/映射 5 端点)+ axios-mock 契约测试
              • 菌群报告详情页增加指标变化区块(最近两次对比)

              v1.0.1557 (2026-10-09)

              新功能

              • 指标速查页(分类分页 + 五维/七维小节 + 跳转曲线)
              • remove BASIC trial membership & add gut health questionnaire project

              其他

              • - Migrate storage users member_level from BASIC → FREE
              • - Remove BASIC benefits from membership_benefits table
              • - Mark basic_quota_usage table deprecated (preserve data, stop using)
              • - Add new gut_health_projects table for single-pay questionnaire project
              • - Add GutHealthProject entity, mapper, service, controller
              • - Add 6 new API endpoints for questionnaire flow:
              • - /project/status - query project status
              • - /project/pay - create order
              • - /project/pay-notify - payment callback
              • - /project/submit - submit questionnaire
              • - /project/tasks - get action tasks
              • - /project/checkin-status - get checkin status
              • - /project/activate-after-purchase - activate family membership after purchase
              • - /project/discount-voucher - get member discount voucher
              • - Update schemas, level_order constants, remove BASIC references throughout codebase

              v1.0.1556 (2026-10-09)

              新功能

              • pages.json 注册 indicator-curve / indicator-quicklook
              • 指标变化曲线页(筛选 + TrendChart + 变化排名 Tab/排序/着色)
              • 指标变化展示规则纯函数 resolveChangeStyle/formatDelta
              • TrendChart 通用折线组件(canvas 2d + DPR,参照 RadarChart 模式)
              • 指标 API 封装 getIndicatorTrend/ChangeRanking/QuickLookup/CorrelationList
              • 视图+管理控制器(4+5接口) + 每日校准Job
              • IndicatorCorrelationService 关联CRUD+对序强制+Spearman校准
              • IndicatorTrendService 曲线/变化排名/速查(含维度评分小节)
              • NormalizeIndicatorPipeline 单一写者+三钩子(入库/编辑/食材快照)
              • IndicatorMappingService exact→fuzzy→AI→惰性注册 映射解析
              • AiGateway.classifyIndicator + LangGraph /api/v1/indicator/classify
              • SpearmanUtil 秩相关+Fisher z 聚合(纯函数,含并列秩)
              • ReportDateExtractor 真实报告日期提取+历史回填(幂等分批)
              • 实体/Mapper 支持统一指标层(cols/新表/幂等upsert)
              • 迁移356-362 升级统一指标层(列/键/两新表/维度种子)
              • 舌诊 AI 集成 - aikanshe.com 优先,LangGraph 兜底
              • 舌诊 AI 集成 - aikanshe.com 优先,LangGraph 兜底
              • enhance activity poster with template selection and smaller QR code
              • 报告管理展示采集完整度列与明细
              • 报告类型管理支持编辑采集指标
              • /report/parse 支持 indicators 采集指标约束注入
              • 非 DAN 解析下传 expected_indicators 驱动 LangGraph LLM
              • 报告管理列表/详情回填采集完整度 collect_validation
              • /types/save 校验 expectedIndicators 为 JSON 字符串数组

              Bug 修复

              • 以 @Lazy 打破 IndicatorMappingService↔AiGateway 循环依赖,修复应用上下文启动失败
              • 修复报告日期回填无限循环(keyset游标+去除no-op写)+ 补回填测试
              • 修复 ActivityControllerTest 参数列表(补 roles 参数,解除全量测试编译阻塞)
              • IndicatorValueMapper 恢复 @Mapper 注解(与既有 mapper 约定一致;@MapperScan 兜底但保持统一风格)
              • AIService 舌诊 JSON 序列化捕获受检异常
              • 恢复 PromotionManagement 路由缺失的 path/name(构建阻断回归)
              • 采集指标种子改为仅空时写入,保留管理员编辑

              文档

              • 同步指标统一层 9 个新接口契约 + PROJECT-OVERVIEW 状态
              • 指标变化曲线·指标速查·关联 - backend/miniapp/webadmin 三份实施计划 + PROJECT-OVERVIEW 同步
              • 自审修正 - 复用既有reportDate/collection_date逻辑、迁移编号起点356、API_REFERENCE同步规范
              • 修正 indicator_values.source_type 注释与五维/七维不入统一时序的决策一致
              • 指标变化曲线·指标速查·指标关联设计规范 v1.0

              其他

              • 未同步测试,导致 src/test 全量无法编译。补 null roles 恢复测试编译。
              • mvn clean compile 验证门。最小修复:writeValueAsString 包 try/catch,失败返回 null。
              • - miniapp: TrendChart canvas 组件 + 指标曲线页 + 指标速查页 + 菌群详情变化区块 + pages.json 注册 + utils/api.js 4封装 + 单测
              • - webadmin: src/api/indicator.js 6封装 + IndicatorCorrelations/IndicatorMappings 两页 + indicatorSeeds 解析 + 路由注册 + jest 单测 + build 门禁
              • - PROJECT-OVERVIEW v2.16 同步:3 份计划索引 + 状态行更新
              • 2. application.yml:新增 aikanshe 配置块(6参数)
              • 3. API_REFERENCE.md:新增 4.36.2 节「舌诊 AI 集成」
              • 无需改动 TongueDiagnosisService/HealthReportController,接口契约兼容。
              • 配置: export AIKANSHE_APPKEY="your_appkey_here"
              • 验证: mvn spring-boot:run → POST /api/health/report/parse-preview?type=tongue
              • 2. application.yml:新增 aikanshe 配置块(6参数)
              • 3. API_REFERENCE.md:新增 4.36.2 节「舌诊 AI 集成」
              • 4. specs/2026-10-08-tongue-diagnosis-aikanshe-integration.md:完整设计规格
              • 无需改动 TongueDiagnosisService/HealthReportController,接口契约兼容。
              • 配置: export AIKANSHE_APPKEY="your_appkey_here"
              • - Add background color selector for gradient template
              • - Reduce QR code size from 150 to 100rpx for activities
              • - Auto-detect background color from activity dimension
              • - Pass template/bgColor as writable props via event updates

              v1.0.1555 (2026-10-09)

              新功能

              • 指标 API 封装 getIndicatorTrend/ChangeRanking/QuickLookup/CorrelationList
              • 视图+管理控制器(4+5接口) + 每日校准Job
              • IndicatorCorrelationService 关联CRUD+对序强制+Spearman校准
              • IndicatorTrendService 曲线/变化排名/速查(含维度评分小节)
              • NormalizeIndicatorPipeline 单一写者+三钩子(入库/编辑/食材快照)
              • IndicatorMappingService exact→fuzzy→AI→惰性注册 映射解析
              • AiGateway.classifyIndicator + LangGraph /api/v1/indicator/classify
              • SpearmanUtil 秩相关+Fisher z 聚合(纯函数,含并列秩)
              • ReportDateExtractor 真实报告日期提取+历史回填(幂等分批)
              • 实体/Mapper 支持统一指标层(cols/新表/幂等upsert)
              • 迁移356-362 升级统一指标层(列/键/两新表/维度种子)
              • 舌诊 AI 集成 - aikanshe.com 优先,LangGraph 兜底
              • 舌诊 AI 集成 - aikanshe.com 优先,LangGraph 兜底
              • enhance activity poster with template selection and smaller QR code
              • 接入图片识别食材 + 语音自动填入食物清单
              • 跨小程序单点登录 sso_ticket 换票与双向免登

              Bug 修复

              • 以 @Lazy 打破 IndicatorMappingService↔AiGateway 循环依赖,修复应用上下文启动失败
              • 修复报告日期回填无限循环(keyset游标+去除no-op写)+ 补回填测试
              • 修复 ActivityControllerTest 参数列表(补 roles 参数,解除全量测试编译阻塞)
              • IndicatorValueMapper 恢复 @Mapper 注解(与既有 mapper 约定一致;@MapperScan 兜底但保持统一风格)
              • AIService 舌诊 JSON 序列化捕获受检异常

              文档

              • 同步指标统一层 9 个新接口契约 + PROJECT-OVERVIEW 状态
              • 指标变化曲线·指标速查·关联 - backend/miniapp/webadmin 三份实施计划 + PROJECT-OVERVIEW 同步
              • 自审修正 - 复用既有reportDate/collection_date逻辑、迁移编号起点356、API_REFERENCE同步规范
              • 修正 indicator_values.source_type 注释与五维/七维不入统一时序的决策一致
              • 指标变化曲线·指标速查·指标关联设计规范 v1.0

              其他

              • 未同步测试,导致 src/test 全量无法编译。补 null roles 恢复测试编译。
              • mvn clean compile 验证门。最小修复:writeValueAsString 包 try/catch,失败返回 null。
              • - miniapp: TrendChart canvas 组件 + 指标曲线页 + 指标速查页 + 菌群详情变化区块 + pages.json 注册 + utils/api.js 4封装 + 单测
              • - webadmin: src/api/indicator.js 6封装 + IndicatorCorrelations/IndicatorMappings 两页 + indicatorSeeds 解析 + 路由注册 + jest 单测 + build 门禁
              • - PROJECT-OVERVIEW v2.16 同步:3 份计划索引 + 状态行更新
              • 2. application.yml:新增 aikanshe 配置块(6参数)
              • 3. API_REFERENCE.md:新增 4.36.2 节「舌诊 AI 集成」
              • 无需改动 TongueDiagnosisService/HealthReportController,接口契约兼容。
              • 配置: export AIKANSHE_APPKEY="your_appkey_here"
              • 验证: mvn spring-boot:run → POST /api/health/report/parse-preview?type=tongue
              • 2. application.yml:新增 aikanshe 配置块(6参数)
              • 3. API_REFERENCE.md:新增 4.36.2 节「舌诊 AI 集成」
              • 4. specs/2026-10-08-tongue-diagnosis-aikanshe-integration.md:完整设计规格
              • 无需改动 TongueDiagnosisService/HealthReportController,接口契约兼容。
              • 配置: export AIKANSHE_APPKEY="your_appkey_here"
              • - Add background color selector for gradient template
              • - Reduce QR code size from 150 to 100rpx for activities
              • - Auto-detect background color from activity dimension
              • - Pass template/bgColor as writable props via event updates

              重构

              • 管理端列表页表格改自适应高度布局

              v1.0.1554 (2026-10-09)

              新功能

              • IndicatorMappingService exact→fuzzy→AI→惰性注册 映射解析
              • AiGateway.classifyIndicator + LangGraph /api/v1/indicator/classify
              • SpearmanUtil 秩相关+Fisher z 聚合(纯函数,含并列秩)
              • ReportDateExtractor 真实报告日期提取+历史回填(幂等分批)
              • 实体/Mapper 支持统一指标层(cols/新表/幂等upsert)
              • 迁移356-362 升级统一指标层(列/键/两新表/维度种子)
              • 舌诊 AI 集成 - aikanshe.com 优先,LangGraph 兜底
              • 舌诊 AI 集成 - aikanshe.com 优先,LangGraph 兜底
              • enhance activity poster with template selection and smaller QR code

              Bug 修复

              • 修复报告日期回填无限循环(keyset游标+去除no-op写)+ 补回填测试
              • 修复 ActivityControllerTest 参数列表(补 roles 参数,解除全量测试编译阻塞)
              • IndicatorValueMapper 恢复 @Mapper 注解(与既有 mapper 约定一致;@MapperScan 兜底但保持统一风格)
              • AIService 舌诊 JSON 序列化捕获受检异常

              其他

              • 未同步测试,导致 src/test 全量无法编译。补 null roles 恢复测试编译。
              • mvn clean compile 验证门。最小修复:writeValueAsString 包 try/catch,失败返回 null。
              • - miniapp: TrendChart canvas 组件 + 指标曲线页 + 指标速查页 + 菌群详情变化区块 + pages.json 注册 + utils/api.js 4封装 + 单测
              • - webadmin: src/api/indicator.js 6封装 + IndicatorCorrelations/IndicatorMappings 两页 + indicatorSeeds 解析 + 路由注册 + jest 单测 + build 门禁
              • - PROJECT-OVERVIEW v2.16 同步:3 份计划索引 + 状态行更新
              • 2. application.yml:新增 aikanshe 配置块(6参数)
              • 3. API_REFERENCE.md:新增 4.36.2 节「舌诊 AI 集成」
              • 无需改动 TongueDiagnosisService/HealthReportController,接口契约兼容。
              • 配置: export AIKANSHE_APPKEY="your_appkey_here"
              • 验证: mvn spring-boot:run → POST /api/health/report/parse-preview?type=tongue
              • 2. application.yml:新增 aikanshe 配置块(6参数)
              • 3. API_REFERENCE.md:新增 4.36.2 节「舌诊 AI 集成」
              • 4. specs/2026-10-08-tongue-diagnosis-aikanshe-integration.md:完整设计规格
              • 无需改动 TongueDiagnosisService/HealthReportController,接口契约兼容。
              • 配置: export AIKANSHE_APPKEY="your_appkey_here"
              • - Add background color selector for gradient template
              • - Reduce QR code size from 150 to 100rpx for activities
              • - Auto-detect background color from activity dimension
              • - Pass template/bgColor as writable props via event updates

              文档

              • 指标变化曲线·指标速查·关联 - backend/miniapp/webadmin 三份实施计划 + PROJECT-OVERVIEW 同步
              • 自审修正 - 复用既有reportDate/collection_date逻辑、迁移编号起点356、API_REFERENCE同步规范
              • 修正 indicator_values.source_type 注释与五维/七维不入统一时序的决策一致
              • 指标变化曲线·指标速查·指标关联设计规范 v1.0
              • 采集指标补齐 实施计划(方案A,P1+P2)

              v1.0.1553 (2026-10-09)

              Bug 修复

              • IndicatorValueMapper 恢复 @Mapper 注解(与既有 mapper 约定一致;@MapperScan 兜底但保持统一风格)
              • AIService 舌诊 JSON 序列化捕获受检异常
              • 修复家庭共餐食材持久化编译错误(selectCount 返回 Long、去除重复迁移方法、迁移354→356)
              • add store/user.js, wire App.vue store init, append fatloss API docs
              • 最近记录展示全家报告,报告列表默认选中本人
              • 基础会员(BASIC) 在会员等级映射表中缺失,导致显示为免费用户

              新功能

              • 实体/Mapper 支持统一指标层(cols/新表/幂等upsert)
              • 迁移356-362 升级统一指标层(列/键/两新表/维度种子)
              • 舌诊 AI 集成 - aikanshe.com 优先,LangGraph 兜底
              • 舌诊 AI 集成 - aikanshe.com 优先,LangGraph 兜底
              • enhance activity poster with template selection and smaller QR code
              • add all UI pages (weight/diet/exercise/ai-coach/profile/chart/query)
              • add remaining pages (ai-coach, profile/goal, weight-chart, food-query)
              • add api wrappers and format utils
              • init project scaffold
              • add controllers for weight/diet/exercise/goal
              • add service layer
              • add entities and mappers
              • 家庭共餐食材推荐持久化到数据库

              其他

              • mvn clean compile 验证门。最小修复:writeValueAsString 包 try/catch,失败返回 null。
              • - miniapp: TrendChart canvas 组件 + 指标曲线页 + 指标速查页 + 菌群详情变化区块 + pages.json 注册 + utils/api.js 4封装 + 单测
              • - webadmin: src/api/indicator.js 6封装 + IndicatorCorrelations/IndicatorMappings 两页 + indicatorSeeds 解析 + 路由注册 + jest 单测 + build 门禁
              • - PROJECT-OVERVIEW v2.16 同步:3 份计划索引 + 状态行更新
              • 2. application.yml:新增 aikanshe 配置块(6参数)
              • 3. API_REFERENCE.md:新增 4.36.2 节「舌诊 AI 集成」
              • 无需改动 TongueDiagnosisService/HealthReportController,接口契约兼容。
              • 配置: export AIKANSHE_APPKEY="your_appkey_here"
              • 验证: mvn spring-boot:run → POST /api/health/report/parse-preview?type=tongue
              • 2. application.yml:新增 aikanshe 配置块(6参数)
              • 3. API_REFERENCE.md:新增 4.36.2 节「舌诊 AI 集成」
              • 4. specs/2026-10-08-tongue-diagnosis-aikanshe-integration.md:完整设计规格
              • 无需改动 TongueDiagnosisService/HealthReportController,接口契约兼容。
              • 配置: export AIKANSHE_APPKEY="your_appkey_here"
              • - Add background color selector for gradient template
              • - Reduce QR code size from 150 to 100rpx for activities
              • - Auto-detect background color from activity dimension
              • - Pass template/bgColor as writable props via event updates
              • - 新增 DietFamilySelectedIngredient 实体和 Mapper
              • - DietIngredientService 改用数据库持久化替代内存 Map
              • - suggestIngredients 优先从 DB 加载已有选择
              • - refreshIngredients 清空并重新持久化推荐列表
              • - add/removeIngredient 直接操作 DB
              • - confirmIngredients 保留已选食材(不再清空)

              文档

              • 指标变化曲线·指标速查·关联 - backend/miniapp/webadmin 三份实施计划 + PROJECT-OVERVIEW 同步
              • 自审修正 - 复用既有reportDate/collection_date逻辑、迁移编号起点356、API_REFERENCE同步规范
              • 修正 indicator_values.source_type 注释与五维/七维不入统一时序的决策一致
              • 指标变化曲线·指标速查·指标关联设计规范 v1.0
              • 采集指标 spec 改为方案A(沿既有 expected_indicators),补齐管理端/展示/驱动解析
              • mark completed tasks in fatloss-miniprogram-plan
              • add fatloss mini-program implementation plan
              • 报告类型采集指标定义与驱动解析设计(方案2 分层,P1+P2 本期)

              v1.0.1552 (2026-10-09)

              新功能

              • 实体/Mapper 支持统一指标层(cols/新表/幂等upsert)
              • 迁移356-362 升级统一指标层(列/键/两新表/维度种子)
              • 舌诊 AI 集成 - aikanshe.com 优先,LangGraph 兜底
              • 舌诊 AI 集成 - aikanshe.com 优先,LangGraph 兜底
              • enhance activity poster with template selection and smaller QR code
              • 财富中心移除推广入口并统一 CF 值显示
              • 我的团队入口合并至推广团队页
              • add psychological assessment module (PHQ-9, RSES-7) - New pages: pages/psych-assessment/index & quiz - pages.json registers psych-assessment routes - Dimensions: phq9_score, phq4_score, reses_score

              Bug 修复

              • AIService 舌诊 JSON 序列化捕获受检异常
              • 家庭收益成员贡献榜使用真实家庭成员

              其他

              • mvn clean compile 验证门。最小修复:writeValueAsString 包 try/catch,失败返回 null。
              • - miniapp: TrendChart canvas 组件 + 指标曲线页 + 指标速查页 + 菌群详情变化区块 + pages.json 注册 + utils/api.js 4封装 + 单测
              • - webadmin: src/api/indicator.js 6封装 + IndicatorCorrelations/IndicatorMappings 两页 + indicatorSeeds 解析 + 路由注册 + jest 单测 + build 门禁
              • - PROJECT-OVERVIEW v2.16 同步:3 份计划索引 + 状态行更新
              • 2. application.yml:新增 aikanshe 配置块(6参数)
              • 3. API_REFERENCE.md:新增 4.36.2 节「舌诊 AI 集成」
              • 无需改动 TongueDiagnosisService/HealthReportController,接口契约兼容。
              • 配置: export AIKANSHE_APPKEY="your_appkey_here"
              • 验证: mvn spring-boot:run → POST /api/health/report/parse-preview?type=tongue
              • 2. application.yml:新增 aikanshe 配置块(6参数)
              • 3. API_REFERENCE.md:新增 4.36.2 节「舌诊 AI 集成」
              • 4. specs/2026-10-08-tongue-diagnosis-aikanshe-integration.md:完整设计规格
              • 无需改动 TongueDiagnosisService/HealthReportController,接口契约兼容。
              • 配置: export AIKANSHE_APPKEY="your_appkey_here"
              • - Add background color selector for gradient template
              • - Reduce QR code size from 150 to 100rpx for activities
              • - Auto-detect background color from activity dimension
              • - Pass template/bgColor as writable props via event updates
              • - getFamilyId() 通过 userMapper.selectById 查询用户真实 familyId
              • - isFamilyAdmin() 检查 user.isFamilyAdmin 字段
              • - 修复成员贡献榜展示非本家庭用户的问题
              • Ultraworked with Sisyphus
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
              • - 移除 SharePoster 组件及其相关死代码(import/注册/数据字段/方法)
              • - 移除 fenToYuan/cfToYuan 辅助函数,统一替换为 cfVal 直接展示 CF 值
              • - 更新所有金额标签为 CF 单位(累计推荐CF/可支配CF/今日CF 等)
              • - 分配弹窗提示文字同步更新
              • Ultraworked with Sisyphus
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
              • # Conflicts:
              • # cfc-frontend/pages/promotion/index.vue
              • - pages.json 移除 pages/profile/team-tree 页面注册
              • - 删除 pages/profile/team-tree.vue(与推广团队功能重复)
              • Ultraworked with Sisyphus
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai

              文档

              • 指标变化曲线·指标速查·关联 - backend/miniapp/webadmin 三份实施计划 + PROJECT-OVERVIEW 同步
              • 自审修正 - 复用既有reportDate/collection_date逻辑、迁移编号起点356、API_REFERENCE同步规范
              • 修正 indicator_values.source_type 注释与五维/七维不入统一时序的决策一致
              • 指标变化曲线·指标速查·指标关联设计规范 v1.0

              v1.0.1551 (2026-10-09)

              Bug 修复

              • AIService 舌诊 JSON 序列化捕获受检异常

              其他

              • mvn clean compile 验证门。最小修复:writeValueAsString 包 try/catch,失败返回 null。

              v1.0.1550 (2026-10-09)

              新功能

              • 迁移356-362 升级统一指标层(列/键/两新表/维度种子)

              v1.0.1549 (2026-10-09)

              文档

              • 指标变化曲线·指标速查·关联 - backend/miniapp/webadmin 三份实施计划 + PROJECT-OVERVIEW 同步

              其他

              • - miniapp: TrendChart canvas 组件 + 指标曲线页 + 指标速查页 + 菌群详情变化区块 + pages.json 注册 + utils/api.js 4封装 + 单测
              • - webadmin: src/api/indicator.js 6封装 + IndicatorCorrelations/IndicatorMappings 两页 + indicatorSeeds 解析 + 路由注册 + jest 单测 + build 门禁
              • - PROJECT-OVERVIEW v2.16 同步:3 份计划索引 + 状态行更新

              v1.0.1548 (2026-10-09)

              文档

              • 自审修正 - 复用既有reportDate/collection_date逻辑、迁移编号起点356、API_REFERENCE同步规范
              • 修正 indicator_values.source_type 注释与五维/七维不入统一时序的决策一致

              v1.0.1547 (2026-10-09)

              文档

              • 指标变化曲线·指标速查·指标关联设计规范 v1.0

              v1.0.1546 (2026-10-08)

              新功能

              • 舌诊 AI 集成 - aikanshe.com 优先,LangGraph 兜底
              • 舌诊 AI 集成 - aikanshe.com 优先,LangGraph 兜底
              • enhance activity poster with template selection and smaller QR code
              • 六个维度页传入dimension-code按域筛选推荐商品
              • DimensionProducts组件新增dimensionCode按维度取推荐

              其他

              • 2. application.yml:新增 aikanshe 配置块(6参数)
              • 3. API_REFERENCE.md:新增 4.36.2 节「舌诊 AI 集成」
              • 无需改动 TongueDiagnosisService/HealthReportController,接口契约兼容。
              • 配置: export AIKANSHE_APPKEY="your_appkey_here"
              • 验证: mvn spring-boot:run → POST /api/health/report/parse-preview?type=tongue
              • 2. application.yml:新增 aikanshe 配置块(6参数)
              • 3. API_REFERENCE.md:新增 4.36.2 节「舌诊 AI 集成」
              • 4. specs/2026-10-08-tongue-diagnosis-aikanshe-integration.md:完整设计规格
              • 无需改动 TongueDiagnosisService/HealthReportController,接口契约兼容。
              • 配置: export AIKANSHE_APPKEY="your_appkey_here"
              • - Add background color selector for gradient template
              • - Reduce QR code size from 150 to 100rpx for activities
              • - Auto-detect background color from activity dimension
              • - Pass template/bgColor as writable props via event updates
              • Ultraworked with Sisyphus
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
              • Ultraworked with Sisyphus
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
              • Ultraworked with Sisyphus
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
              • Ultraworked with Sisyphus
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
              • Ultraworked with Sisyphus
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai

              Bug 修复

              • 购买态订单查询改用paid等真实状态枚举
              • 维度商品推荐修复订单状态匹配与实物库存口径
              • 迁移354补齐product_recommendation_log缺失列并同步schema.sql

              v1.0.1545 (2026-10-08)

              新功能

              • 舌诊 AI 集成 - aikanshe.com 优先,LangGraph 兜底
              • 舌诊 AI 集成 - aikanshe.com 优先,LangGraph 兜底

              其他

              • 2. application.yml:新增 aikanshe 配置块(6参数)
              • 3. API_REFERENCE.md:新增 4.36.2 节「舌诊 AI 集成」
              • 无需改动 TongueDiagnosisService/HealthReportController,接口契约兼容。
              • 配置: export AIKANSHE_APPKEY="your_appkey_here"
              • 验证: mvn spring-boot:run → POST /api/health/report/parse-preview?type=tongue
              • 2. application.yml:新增 aikanshe 配置块(6参数)
              • 3. API_REFERENCE.md:新增 4.36.2 节「舌诊 AI 集成」
              • 4. specs/2026-10-08-tongue-diagnosis-aikanshe-integration.md:完整设计规格
              • 无需改动 TongueDiagnosisService/HealthReportController,接口契约兼容。
              • 配置: export AIKANSHE_APPKEY="your_appkey_here"

              v1.0.1544 (2026-10-08)

              新功能

              • enhance activity poster with template selection and smaller QR code
              • 每类报告定义采集指标项并接入采集完整性校验

              其他

              • - Add background color selector for gradient template
              • - Reduce QR code size from 150 to 100rpx for activities
              • - Auto-detect background color from activity dimension
              • - Pass template/bgColor as writable props via event updates
              • - 幂等补注册 dan_a1/b2/b3/b4/b5/b6/c1 与 gut_flora_beijing 类型行(parser_path 空,不干扰指纹路由)
              • - ReportCollectService 采集完成后按定义校验(归一化+包含+CJK二元组重叠匹配),结果写入 health_report_drafts.collect_validation(typeId/expected/matched/pass/missing)
              • - schema.sql 同步两处新列

              v1.0.1543 (2026-10-08)

              新功能

              • enhance activity poster with template selection and smaller QR code

              其他

              • - Add background color selector for gradient template
              • - Reduce QR code size from 150 to 100rpx for activities
              • - Auto-detect background color from activity dimension
              • - Pass template/bgColor as writable props via event updates

              Bug 修复

              • 修复B4报告解析——自我概念按「维度 分数」提取6维、自驱力按维度顺序映射我的得分,去除错误兜底

              v1.0.1542 (2026-10-08)

              新功能

              • enhance activity poster with template selection and smaller QR code

              其他

              • - Add background color selector for gradient template
              • - Reduce QR code size from 150 to 100rpx for activities
              • - Auto-detect background color from activity dimension
              • - Pass template/bgColor as writable props via event updates

              Bug 修复

              • add fallback from product.domain when candidates empty

              v1.0.1541 (2026-10-08)

              新功能

              • enhance activity poster with template selection and smaller QR code
              • DAN报告新增按维度重解析接口,修复历史误解析并刷新结果/展示块/汇总

              其他

              • - Add background color selector for gradient template
              • - Reduce QR code size from 150 to 100rpx for activities
              • - Auto-detect background color from activity dimension
              • - Pass template/bgColor as writable props via event updates

              v1.0.1540 (2026-10-08)

              新功能

              • enhance activity poster with template selection and smaller QR code
              • 我的画像页迁移五维画像并支持全屏编辑,后端新增每日自动更新任务
              • 引入企业级设计系统(Ant Design 5 令牌)并应用 flex 撑满布局

              其他

              • - Add background color selector for gradient template
              • - Reduce QR code size from 150 to 100rpx for activities
              • - Auto-detect background color from activity dimension
              • - Pass template/bgColor as writable props via event updates
              • - OrderManage.vue: 表格改用 .adm-table-wrap 弹性撑满(height=100%),移除 JS 计算的 tableHeight

              v1.0.1539 (2026-10-08)

              新功能

              • enhance activity poster with template selection and smaller QR code

              其他

              • - Add background color selector for gradient template
              • - Reduce QR code size from 150 to 100rpx for activities
              • - Auto-detect background color from activity dimension
              • - Pass template/bgColor as writable props via event updates

              Bug 修复

              • dan报告维度映射支持类型编码(a1/b2/b4等),前端dan_*前缀统一跳转DAN报告页

              v1.0.1538 (2026-10-08)

              新功能

              • enhance activity poster with template selection and smaller QR code

              其他

              • - Add background color selector for gradient template
              • - Reduce QR code size from 150 to 100rpx for activities
              • - Auto-detect background color from activity dimension
              • - Pass template/bgColor as writable props via event updates
              • - getScoreClass/getStatusText/buildFamilyOverview 等状态判定全部改为 >= 0 边界
              • - onLoad 从报告入口进入时默认 sortType='asc',setFilter('unsuitable') 时同步重置 sortType
              • - 分类 tab key 从英文 (vegetable/fruit/meat/seafood/grain/dairy) 改为中文 (蔬菜/水果/肉禽/水产/谷物/蛋奶),并新增 getCategoryKeywords() 关键词映射覆盖 PDF/ LangGraph 两套数据源分类命名
              • - 修复分类点击无效问题,确保前端过滤能匹配 DB 中存储的中文分类
              • closes related category filter bug, aligns with backend semantics

              Bug 修复

              • ingredient query page - 戒备阈值 <50→<0, 默认正序, 分类点击生效

              v1.0.1537 (2026-10-08)

              新功能

              • enhance activity poster with template selection and smaller QR code

              其他

              • - Add background color selector for gradient template
              • - Reduce QR code size from 150 to 100rpx for activities
              • - Auto-detect background color from activity dimension
              • - Pass template/bgColor as writable props via event updates
              • - 将 SUM(points) 修正为 SUM(amount),与 points_log 表结构一致
              • - 修复任务完成接口 /api/tasks/{id}/complete 在 calculateLatePenalty 路径抛 BadSqlGrammarException

              Bug 修复

              • 修复 PointsLogMapper.selectSum SQL 占位符转义及字段名错误

              v1.0.1536 (2026-10-07)

              新功能

              • enhance activity poster with template selection and smaller QR code

              其他

              • - Add background color selector for gradient template
              • - Reduce QR code size from 150 to 100rpx for activities
              • - Auto-detect background color from activity dimension
              • - Pass template/bgColor as writable props via event updates

              Bug 修复

              • 注册/绑定推荐人不再发放CF值,新增首次报告上传任务(300 CF)

              v1.0.1535 (2026-10-07)

              Bug 修复

              • 健康首页最近记录只显示当前用户自己的报告
              • 商品管理列表撑满视口并消除多级滚动条

              其他

              • getFamilyReports 返回全家全部报告),改回传入当前视图成员 memberId,
              • 符合"只有两种情况"的语义:
              • - 未切换视图 = 当前登录用户自己的报告(currentChildId/currentMemberId
              • 未写入 storage 时回退 userId,后端 getMemberReports 按成员严格过滤)
              • - 已切换成员 = 被切换成员的报告
              • Ultraworked with Sisyphus
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
              • - 表格改用 height=100% + flex:1,仅保留表格自身滚动条
              • - 移除 JS 计算 tableHeight 及 window.resize 监听

              新功能

              • admin supply-manage auto-set activityProviderStatus for activity_provider

              v1.0.1534 (2026-10-07)

              新功能

              • integrate article recommendation into dimension pages
              • include vendorType/activityProviderStatus in login response for frontend permission check
              • allow activity_provider to create activities + scene referral binding
              • 小程序新增任务提醒配置页(渠道/时机/偏移/开关)
              • 任务打卡提醒升级为可配置提醒模块
              • 每日任务打卡超时 webhook 提醒
              • 新增迁移352移除报告上传权益与配额残留并同步 schema.sql
              • 移除报告上传配额,对所有登录用户免费无限
              • implement product recommendation engine with persona + association relations (P3) add recommendation rules DB + service + UI ab-test tracking

              其他

              • - 知识库:wiki/raw 原始资料、wiki 页面、结构化知识、构建脚本及 memory 等知识资产
              • - 新增 知识库/.gitignore,排除中间产物(_kb_work/.wiki-creator/pycache/*.pyc/.obsidian 缓存)
              • Ultraworked with Sisyphus
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
              • 避免最新上传/归属到其他成员的报告在首页不显示;切换到具体成员或孩子本人登录时仍按成员过滤。
              • Ultraworked with Sisyphus
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
              • - 新增 pages/reminder-config/index.vue 提醒设置页(渠道多选含未开通态/时机单选/偏移分钟/启用开关)
              • - pages.json 注册 reminder-config 分包
              • - profile 设置 actionSheet 增加"提醒设置"入口
              • - 新增 TaskReminderConfigService/Controller(/api/task/reminder-config get/save)
              • - 重写 TaskCheckinWebhookReminderTask: 按配置支持的 before_deadline/after_timeout 双窗口, 多渠道分发
              • - 新增 WebhookNotificationChannel(wechat) 接入微信待办 webhook; Email 通道骨架(未启用)
              • - 站内信(in_app)恒兜底并作幂等标记, 兼容旧 type 判重避免重复推送
              • - 无配置用户走默认: wechat+超时60分钟(与线上行为一致)
              • - 新增 7 个单测覆盖窗口/渠道/判重/停用场景
              • - 新增 TaskCheckinWebhookReminderTask:每分钟扫描家长执行型待打卡任务,提醒时间(deadline)过 1 小时未完成则推送 webhook
              • - 幂等:user_notifications 标记,同任务同日仅推一次;失败下一分钟自动重试
              • 模板任务数据(9 条健康打卡)一次性直接落库,不写入代码。
              • 表示该order_id在微信订单库中从未创建成功(并非临时查询失败)。
              • 原逻辑将所有errcode!=0一律return null, 导致超时任务永远跳过不关单,
              • 死单永不清理且每单每分钟刷2条WARN(今日已5200+条)。
              • - queryOrder: 单独识别268490002返回status=-1(本地扩展状态) + INFO日志
              • - VirtualPayTimeoutTask三个handler: status=-1归入明确未支付置cancelled分支
              • - 已用真实paid单(ORD1785990942621001DCC2)实测接口正常, 无误杀风险
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
              • Ultraworked with Sisyphus
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
              • add: care_family 运营资料 + cfContent 微信贴图话题发布 skill

              Bug 修复

              • 健康首页最近记录默认展示全家报告
              • query_order返回268490002数据不存在视为未支付关单
              • 移除会员对比表与升级弹窗中的报告上传配额文案
              • 微信支付 v3 回调通知加入白名单并修正 notify-url
              • 报告列表默认显示当前登录用户而非全部
              • body-detail navigation to unregistered pages; resolve action-detail merge conflict

              文档

              • add activity share referral design spec

              v1.0.1533 (2026-10-07)

              Bug 修复

              • 后台会员等级写入家庭维度事实源,修复健康方案生成误报未升级

              其他

              v1.0.1532 (2026-10-07)

              Bug 修复

              • 修复远程 b3e18f84e 引入的 ProductOrderService 编译错误

              其他

              • - getEligibleMemberPrice 方法被插入到类中错误位置, 提前用 } 闭合类,
              • 导致原"7.组装返回"代码段孤立在类外 (class/interface/enum expected)
              • - 方法内引用未定义的 userId, 应为参数 buyerId
              • 修复: 恢复"6.更新订单时间→7.组装返回"方法完整结构,
              • getEligibleMemberPrice 移到类内末尾, userId 改为 buyerId
              • 会员可见级别模型: 增加所有用户档(含未登录)+BASIC独立档位
              • FREE=1 BASIC=2 FAMILY=3 PROVIDER=4 PREMIUM=5 LIFETIME=6,
              • BASIC 从与 FREE 同级调整为独立档位(FREE 与 FAMILY 之间)
              • - 前端: ProductEdit/CategoryManage 可见级别下拉增加"所有用户(含未登录)"
              • 选项(值空串,提交转null), 显示全部级别含FREE; ProductManage
              • levelLabel NULL 显示"所有用户"
              • - schema.sql: membership_levels.level_order 注释同步

              v1.0.1531 (2026-10-07)

              Bug 修复

              • 会员判定取个人与家庭身份中更高级别,防止家庭同步覆盖更高个人会员

              其他

              • max 比较取更高者,覆盖全部用户侧调用方(折扣/可见等级/权限/赠礼前置校验等)
              • - resolveEffectiveLevel: level_order 比较,平级时优先非 FREE(当前 FREE=BASIC=1 防同级覆盖)
              • - syncMembershipToFamilyMembers/syncMembershipForNewMember: 家庭同步只升不降,
              • 成员已有更高级别个人身份时保留,避免覆盖
              • - downgradeFamilyMembers: 按家庭历史最高 level_order 守卫,仅降级不高于该级别的成员,
              • 保留 LIFETIME/PREMIUM 等纯个人身份
              • - 新增 MembershipServiceTest 17 用例(纯 Mockito)

              v1.0.1530 (2026-10-07)

              Bug 修复

              • min_visible_level 空串归一化为 NULL,避免管理端清空可见级别导致商品对所有用户不可见

              v1.0.1529 (2026-10-07)

              样式

              • 商品管理页企业级视觉重构

              其他

              • - 筛选区改为「标签+控件」结构,去除 el-card 内套 filter-bar 的卡中卡阴影
              • - 数值列右对齐+等宽数字+售价千分位;状态标签标准化为浅底深字+同色点
              • - 操作列由 280px 缩减为 176px 并降为文本按钮,主色覆盖率收敛至 5% 内
              • - 新增批量选中提示条;弹窗区块标题/圆角/分割线统一;表格高度改为响应式
              • Co-Authored-By: WorkBuddy workbuddy@tencent.com

              v1.0.1528 (2026-10-06)

              Bug 修复

              • team 页面 onLoad/onShow 首次加载守卫,消除审计 LIFECYCLE_DOUBLE 报错
              • 编辑报告时同步更新 report_date 字段

              新功能

              • 跨家庭报告转移申请,同MD5报告需原家庭同意

              v1.0.1527 (2026-10-06)

              Bug 修复

              • 报告列表补家庭隔离,修复解绑时"报告不属于该家庭"

              其他

              • 因此会把其他家庭的报告带进成员列表。实测家庭72成员返回7条中有5条来自
              • 家庭67/70;小程序照单显示"取消归属",点击后在 reassignReport 权限校验
              • (报告必须属于该家庭)处抛异常。列表侧与权限侧必须遵守同一条家庭边界。
              • - getMemberReports 在归一化 id 集合时同步解析成员所在家庭,
              • 查询追加 family_id = ? 约束;无法解析家庭时返回空列表,
              • 与 /report/list "无家庭信息返回空列表" 的既有语义一致
              • - 该方法的另两个调用方(FamilyMemberNutritionProfileService 营养画像)
              • 同步受益,避免营养画像跨家庭取报告
              • - 同步修复 HealthReportServiceTest 中 2 条被上次提交破坏的断言
              • (旧成员重算已由 refreshFromGutReport 改为 rebuildFromMemberReports;
              • pom 全局 skipTests=true 导致当时未被发现)
              • - 新增 getMemberReports_constrainsToMemberFamily 回归测试
              • 实测 member 21 列表由 7 条收敛为 2 条(均 family_id=72),越界为空;
              • 报告42 解绑/重绑均返回 200 且净状态不变。

              v1.0.1526 (2026-10-06)

              新功能

              • beautify action-detail (行) page — enhanced visual design with scores, gradients & hierarchy

              其他

              • - Gradient accent bar on all sections (brand green #10B981)
              • - Unified section-title-wrap with green left border
              • - Score explanation: ≥80 good, ≥60 warn, <60 bad
              • - Header subtext merged into title-wrap for consistent layout
              • - Visual hierarchy improvements throughout

              v1.0.1525 (2026-10-06)

              重构

              • 整体美化智维度页面 - 修复幽灵样式/注释/统一视觉语言

              v1.0.1524 (2026-10-06)

              Bug 修复

              • 修复报告改绑维度评分重复主键与脏数据残留

              其他

              • health_dimension_scores 上有 uk_member_dim_date 唯一键,
              • 同一成员重复刷新即抛 Duplicate entry 导致整个改绑事务回滚。
              • - saveScore 改为按 (member_id, dimension, assess_date) upsert,
              • 使 10 处 refreshFromGutReport 调用点可重复执行
              • - 新增 rebuildFromMemberReports:清除成员全部 REPORT 源维度分后,
              • 按其当前绑定的有效报告重新派生
              • - reassignReport 及报告编辑/解绑三处旧成员调用改用重建,
              • 此前是拿已不属于自己的报告再插一遍,既残留脏数据又撞唯一键
              • - 新增 getMemberBoundReports:严格按 subject_id 过滤,
              • 避免 getMemberReports 带出 subject_id 为空的未绑定报告
              • 实测解绑->重绑后评分与基线完全一致,无重复键。

              v1.0.1523 (2026-10-06)

              Bug 修复

              • 调整归属按钮移至滑动操作区,与删除按钮并列显示

              其他

              v1.0.1522 (2026-10-06)

              Bug 修复

              • team-system 页面注册移至 vendor 子包,修复编译失败

              其他

              v1.0.1521 (2026-10-06)

              Bug 修复

              • 修复套餐子商品添加按钮 TypeError(this 为 null)

              其他

              • Vue updateListeners 用 createFnInvoker 包装后以 context=null 调用
              • (invokeWithErrorHandling(fns, null, ...) -> handler.apply(null, args)),
              • ESM 严格模式下 this 保持 null,点击时读取 this.bundleItems 抛
              • TypeError: Cannot read properties of null。
              • 改为内联调用 @click="method()",编译器生成 function($event){return method()},
              • 表达式处于 render 的 with(this) 作用域内,标识符解析为 vm 上的方法,this 正确绑定。
              • 同文件另 3 处同模式裸绑定(addSelectedGuide/addOnlineSlot/handleSave)一并修复。

              v1.0.1520 (2026-10-06)

              Bug 修复

              • 加固成员归属校验,避免 family_member_id 为空时 NPE

              其他

              • 当 family_member_id 为 NULL 时抛 NPE 并被兜底为 500,掩盖了本应返回的 400 业务提示
              • (如"需先完成前置任务")。改为 Objects.equals 判空安全比较。

              v1.0.1519 (2026-10-05)

              Bug 修复

              • 周期实例透传 family_member_id + 迁移348 回填存量

              其他

              • 今日任务列表(列表按该字段过滤),completeTask 也会抛 NPE。存量 174 个实例中
              • 90 个为 NULL,含既有模板实例,属既存缺陷一并修复。
              • 迁移348 按模板回填,模板缺失时以 child_id 兜底。

              v1.0.1518 (2026-10-05)

              Bug 修复

              • hasTaskForDate 排除模板行,修复方案当日服务任务不生成

              其他

              • 导致首个实例永不生成,"采购完成即激活服务任务"在方案批准当天失效(次日自愈)。
              • 存量模板同样存在该潜在缺陷,一并修复。

              v1.0.1517 (2026-10-05)

              Bug 修复

              • 修复模板未闭合的 view 标签导致的编译失败

              其他

              新功能

              • 报告归属调整与日期格式化

              v1.0.1516 (2026-10-05)

              Bug 修复

              • 限制提醒窗口与单次发送量,避免历史积压批量误发

              其他

              • - 单次调度最多发送50条,防止选数异常形成短信轰炸

              v1.0.1515 (2026-10-05)

              Bug 修复

              • 打通方案→采购→服务→打卡→CF值→提醒全流程

              其他

              • 依赖逐项配对(每个使用任务绑定其前面最近的购买任务),修复多商品共用首个锚点
              • - D2 周期服务任务写成 is_template=1 模板,交 RepeatTaskGenerator 按日生成实例
              • - D3 新增 health_plans.total_days,驱动方案截止日期与周期生成边界;/save 支持入参
              • - D4 新增 TaskReminderScheduledTask(每日09:00)+ task_reminder 模板 + 迁移345/346/347
              • 迁移347 用 LEFT JOIN 自连接修正 MySQL 1093;回填存量依赖并置 locked
              • - D5 打卡审核通过后发放 CF 值(user_platform_balance + family_platform_balance),按 task.points 1:1,幂等去重
              • - D6 结构化 planJson 支持 action_type=use;懒回填保真,使用任务不再被丢弃

              v1.0.1514 (2026-10-05)

              重构

              • 移除智页面底部四个快捷操作按钮

              v1.0.1513 (2026-10-05)

              新功能

              • 新增供应商团队客户归属系统

              其他

              • 2. 后端新增SupplyCustomerRelation实体/Mapper/Service/Controller
              • 3. ProductOrderService订单完成时自动绑定客户归属关系
              • 4. 新增供应商团队系统页面pages/vendor/team-system
              • 5. 新增供应商团队客户页面pages/vendor/team-customers
              • 6. utils/api.js新增供应商团队相关API封装函数
              • 7. pages.json注册新页面路由
              • 重新设计 身维度身体指页:顶部关键指标卡片+健康概览+雷达趋势图+报告导航按钮

              v1.0.1512 (2026-10-05)

              Bug 修复

              • 修复远程提交3处编译错误 - ProductOrderService 漏注入 supplyCustomerRelationService / SupplyTeamController var改显式类型 / SupplyCustomerRelationService 移除不存在的 FamilyMember.getRole()

              v1.0.1511 (2026-10-05)

              新功能

              • add batch shelve + category selection for product management

              其他

              • * Backend: POST /api/admin/product/batch-shelve with {productIds, shelve}
              • * ProductService.batchAdminShelve() validates all products are in approvable status before bulk update
              • * Frontend: ProductManage.vue - multi-select table row + dropdown '批量上架/下架' with confirmation
              • * api/admin.js: batchShelveProduct()
              • - Task 2: Category selection on product edit page
              • * ProductEdit.vue adds categoryId field to form, loaded via getCategoryTree(true)
              • * UI uses el-option-group grouped by parent category, searchable/filterable
              • * On save/edit, categoryId is included in payload, enabling frontend mall category filtering
              • - Docs: PROJECT-OVERVIEW.md and API_REFERENCE.md updated with new endpoints

              v1.0.1510 (2026-10-05)

              Bug 修复

              • 删除重复的 methods 块,修复 'Unexpected end of input'
              • 重构模板为单根元素,修复 'should contain exactly one root element'

              其他

              • 但 L298 又出现了一个相同的 methods: { ... } 块,导致整个 script 语法结构断裂:
              • L139: methods: { ← 第一个 methods 块(正确)
              • ...
              • L297: },
              • L298: methods: { ← 重复,整块内容照抄了 L139–L297
              • ...
              • L509: }
              • L510: }
              • L511: }
              • L512:
            • Node 报 'Unexpected end of input'(L422),是因为重复块内部的多层闭括号
            • 把 methods 对象的闭合、export default 的闭合都提前结束了,导致后续
            • 和 style 被当作 script 的一部分解析。
            • 修复:删除 L298–L510 的重复块,在原 methods 块末尾补充 }; 闭合。
            • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
            • Vue 单根元素要求,编译报 'Component template should contain exactly one root element'。
            • 修复:将 save-bar 移入条件渲染的 section 内(v-if="renderedSnapshot"),
            • 外层 成为唯一根元素。
            • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
            • v1.0.1509 (2026-10-05)

              重构

              • 移除孤儿 DanShop 模块 DDL(danshop_* 十张空表无代码引用)

              v1.0.1508 (2026-10-05)

              新功能

              • 我的分享海报改为五维能量数据卡

              其他

              • - 新增五维能量数据卡(canvas 绘制:综合分大字 + 五维彩色圆/分数/进度条)与未解锁全景时的品牌渐变卡
              • - profile.vue 接入 getEnergySandbox('family'),移除旧 share-qr-modal 实现;浮标样式由 emoji 改为 CSS 绘制二维码图形
              • fix(index-home): 删除 loadNotifications 后遗留的悬空 promise 链
              • }).catch(function() {}) 与 },使整页 script 无法解析:
              • }).catch(function() {})
              • },
              • }).catch(function() {}) <- 悬空,无对应的 Promise 链
              • }, <- 多余的方法闭合
              • // ===== 能量/积分/CF值变更通知 =====
              • 该语法错误在 HEAD 中已存在,且 392480520 的两个父提交同样损坏。此前一直
              • 未暴露,是因为差量编译从未重新解析此文件;本次重新编译才报出:
              • Module build failed ... 语法错误: Unexpected token, expected "," (1137:5)
              • 无任何逻辑缺失,纯语法残留,故仅删除这两行,未改动方法体。
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai

              v1.0.1507 (2026-10-05)

              Bug 修复

              • ProductEdit.vue addBundleItem 防止 null 报错

              其他

              • - 防止 TypeError: Cannot read properties of null (reading 'bundleItems')

              v1.0.1506 (2026-10-05)

              文档

              • 记录健康报告归属重分配设计文档与实现计划 本次变更包括: 1. specs/2026-10-05-health-report-reassign-design.md: 功能设计规格(接口、流程、权限、风险、验收标准) 2. docs/superpowers/plans/2026-10-05-health-report-reassign-plan.md: 7 个任务的实施计划(Controller、Service、查询修复、前端、测试、文档) 3. PROJECT-OVERVIEW.md v2.15: 更新版本号与状态栏,标注健康报告归属重分配已实施(全栈已完成)

              新功能

              • 管理端报告归属管理页改用 Element UI 组件 该页面从 Arco Design 迁移至 Element UI 规范,新增家庭选择过滤、归属状态标签、归属成员展示、刷新功能等。展示列表新增「调整归属」操作入口,点击后弹出归属成员选择器。
              • replace user-facing '孩子' terminology with '成员'/'家庭成员' across frontend - assessment flow, family member pages, health questionnaires, activity pages, and UI text updates per product decision that system has no 'child' concept; users see only self + family members, child status derived from relationship; internal entity/DB references (Child entity, child_id columns) preserved unchanged

              v1.0.1505 (2026-10-04)

              新功能

              • Add article type and fix search bindings

              v1.0.1504 (2026-10-04)

              新功能

              • Remove custom page title from health plan summary, use pages.json configured title

              v1.0.1503 (2026-10-04)

              新功能

              • portrait-edit UI redesign - remove AI generation, enlarge textarea, fix save button to bottom

              v1.0.1501 (2026-10-04)

              Bug 修复

              • env-version default develop->release,修复 getwxacode 41030 invalid page rid [skip ci]

              文档

              • 记录任务 9 计划缺陷 26 并同步 PROJECT-OVERVIEW 进度

              v1.0.1500 (2026-10-04)

              新功能

              • 新增审核工作台 8 个API 封装
              • 新增我的服务家庭与客户家庭成员查询端点
              • 新增客户家庭方案审核 4 端点,含 planId IDOR 反查防护
              • approveAndPublish 返回 taskGenerated,任务生成失败不再静默

              文档

              • 任务 8 后端整体验证通过(32 用例全绿)并同步进度
              • 记录任务 7 计划缺陷 24/25 并同步 PROJECT-OVERVIEW 进度
              • 记录任务 6 计划缺陷 23 并同步 PROJECT-OVERVIEW 进度
              • 记录任务 5 计划缺陷 21/22 并同步 PROJECT-OVERVIEW 进度

              Bug 修复

              • 迁移343 health_report_drafts 补 member_id 列(commit 21f8f6740 遗漏迁移脚本)

              v1.0.1499 (2026-10-04)

              文档

              • 记录任务 4 计划缺陷 20 并同步 PROJECT-OVERVIEW 进度

              v1.0.1498 (2026-10-04)

              Bug 修复

              • 修复 HealthPlanReviewGuardTest 测试用例

              v1.0.1497 (2026-10-04)

              Bug 修复

              • rejectPlan 增加状态守卫,新增 getPlanForFamily 防止 IDOR 越权

              v1.0.1496 (2026-10-04)

              Bug 修复

              • GuideFamilyTaskController 7 个端点接入绑定校验,修复跨家庭越权
              • confirmBind 重绑时复位 status 为 binding,修复解绑后无法重新绑定
              • 修复 ProductControllerTest 与 OrchestrationEngineTest 的签名漂移
              • wechat env-version release -> develop to resolve 41030 invalid page rid error

              新功能

              • 新增 GuideFamilyAccessGuard 统一家庭访问授权判定

              文档

              • 新增规划师审核工作台实现计划并同步 PROJECT-OVERVIEW

              v1.0.1495 (2026-10-04)

              Bug 修复

              • 修复后端编译错误 - 通知功能语法错误 + 日志变量遮蔽 + KeyPersonService 缺 logger

              其他

              • 2. PointsService: 局部变量 PointsLog log 遮蔽 SLF4J logger → 改名 plog
              • 3. EnergyService: deductEnergy 引用不存在的 sourceType 变量 → 固定为 'manual'
              • 4. KeyPersonService: 补充 @Slf4j(新增能量奖励日志需要)
              • 修复后 mvn clean compile 通过(BUILD SUCCESS)

              v1.0.1494 (2026-10-04)

              Bug 修复

              • 修复远程提交遗漏的编译错误(sourceType/log/log) [skip ci]

              v1.0.1494 (2026-10-04)

              Bug 修复

              • 注册 report-detail 页缺失的 ReportBlocksRenderer 组件

              其他

              • 且文件顶部已有对应 import:
              • import ReportBlocksRenderer from '../../components/report-blocks-renderer.vue'
              • 但 components 选项里只注册了 FeedbackPopup,ReportBlocksRenderer 被漏掉。
              • 小程序中未注册的组件不会渲染,健康报告详情页的 blocks 区始终空白。
              • components: { FeedbackPopup }
              • -> components: { ReportBlocksRenderer, FeedbackPopup }
              • 组件文件存在(components/report-blocks-renderer.vue,name 与注册名一致),
              • blocks 已在 data 中定义。
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai

              v1.0.1493 (2026-10-04)

              Bug 修复

              • 移除 pages/membership 下无对应 .vue 的失效页面注册

              其他

              • 但两个 .vue 文件均不存在,且全仓库无任何跳转引用这两条路径:
              • - pages/membership/ 实际仅 benefits / index / pay / result / upgrade 五个文件
              • - 两条注册与 pages/profile 下的同名注册重复
              • 指向不存在文件的注册会触发小程序「Page has not been registered yet」,
              • 并与 pages/profile 下的有效注册重复占用路径。移除后pages.json 恢复与实际文件一致。
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
              • unpackage/ 已由既有 **/unpackage/ 覆盖。 [skip ci]

              v1.0.1492 (2026-10-04)

              重构

              • remove copy button from share modal, only share poster

              v1.0.1491 (2026-10-04)

              新功能

              • 章鱼图感恩记录增强 - 关键人新字段/手机号匹配/能量奖励/自动感恩记录

              其他

              • - first_meet_time 相识具体时间(date picker)
              • - referrer_id 介绍人(从现有关键人下拉选择,可为空仅可选)
              • - system_user_id 匹配到的系统用户ID(持久化匹配状态)
              • 2. 手机号匹配系统用户:
              • - 新增 POST /api/octopus/key-person/match-by-phone
              • - 新增 POST /api/octopus/key-person/bind-system-user(持久化绑定)
              • - 前端 octopus-add-effect.vue 增加手机号匹配输入框 + KP 匹配按钮 + '✓ 系统用户'徽标
              • - 章鱼图弹窗关键人列表显示系统用户徽标
              • 3. 行维度能量奖励:
              • - 每填一条感恩记录 +1 点行维度能量,逢5条再+1(KeyPersonService.addEffect)
              • 4. 自动感恩记录(CF 触发):
              • - CfCommissionService 推荐人分润成功后自动创建 OctopusEffectRecord
              • - 将买家自动建为邀请人关键人,CF金额作为成效金额
              • 5. 数据库迁移342:octopus_key_person 添加 first_meet_time/referrer_id/system_user_id 列(schema.sql 同步)
              • 验证:后端编译通过(仅剩既有 McpController 缺失 McpAuthService 的预存错误);前端语法 OK;API 去重审计 0 error

              v1.0.1490 (2026-10-04)

              重构

              • move share QR to floating button on profile page - remove invite share menu item from ProfileMenu - remove share.vue page and its registration - add floating QR code button in profile-main/profile.vue - add share poster modal with QR code, copy and share actions - add support for ref code on homepage onLoad

              v1.0.1489 (2026-10-04)

              新功能

              • 家庭能量/积分/CF值变更通知 + 消息历史中心
              • add share referral code page to profile

              其他

              • - 新增消息历史页面支持筛选查看全部/能量/积分/CF值/系统
              • - 后端 EnergyService/PointsService/PlatformPointsService 集成通知发送
              • - 新增 energy_change/points_change/cf_change 通知模板种子数据
              • - ProfileMenu 新增消息历史入口
              • 早于 @getphonenumber 回调。原先 :disabled 只受 loading 约束,而 loading 要等
              • 回调进函数才置 true —— 授权弹窗弹出前的几百毫秒内按钮仍可点,用户「以为没反应」
              • 就连点,每次点击都真实消耗一次平台调用配额,最终触发微信限频:
              • [渲染层错误] invoke getPhoneNumber too frequently
              • JS 层的 if (!this.agreed) return 拦不住已发生的调用 —— 只能事后弹 toast。
              • - 新增 tapLock,@tap 瞬间上锁,:disabled 改为 !agreed || loading || tapLock
              • - 未勾选协议时按钮直接禁用,无效点击从源头不发生
              • - getPhoneNumber 开头释放 tapLock,并移除原有 if (this.loading) return
              • (loading 正是在该函数内才置 true,保留会把首个合法点击也拦掉)
              • - 3 秒兜底解锁 + onUnload 清理定时器,避免异常路径下按钮永久锁死
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
              • 槽位的 .center-btn(五维圆形按钮)及 openDimPanel/closeDimPanel,五维入口
              • 因此无法触达,dim-fan-overlay 沦为死代码。
              • - 恢复 .center-btn / .center-btn-inner 样式与 5 等分布局(左右各 2 Tab)
              • - 恢复 openDimPanel / closeDimPanel 与 leftTabs / rightTabs computed
              • - 补回 closeDimPanel:模板 @click 此前引用了已删除的方法,一旦弹窗触发即报错
              • - 保留 984c16cef 的「统一角色入口」决策:不再有 teacher 专属 TabBar 分支
              • - :key 维持 index。两个 v-for 编译为各自独立的 block wx:for($root.l0 /
              • $root.l1),key 只需在列表内唯一;改用 item.pagePath 会因该属性实际挂在
              • item.$orig 上而取不到值,导致 wx:key 重复,渲染层抛 FLOW_CREATE_NODE
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai

              Bug 修复

              • 手机号快捷登录按钮点击瞬间上锁,避免触发微信授权限频
              • 恢复底部中间五维大按钮 + 五维横排弹窗
              • 移除推荐人卡片,在用户信息栏显示推荐人,去掉家长标签
              • McpToolRegistry toolSchema 参数 name 缺失导致 properties 为空 [skip ci]

              v1.0.1488 (2026-10-03)

              Bug 修复

              • 补全提交遗漏的 McpAuthService(MCP 认证服务)[skip ci]
              • 家庭挑战功能修复与待同意状态流转实现
              • 阅读计时和知识测评适配所有登录用户
              • HomeBannerManage 上传成功/失败提示 this.. 语法错误修复为 this.$message [skip ci]

              新功能

              • 增加 MCP (Model Context Protocol) 服务端实现
              • 体验会员补充 referral_commission 权益 + 前端动态加载权益列表
              • 完成阅读且获得CF值后从文章列表中隐藏

              其他

              • - 新增 MCP 协议 HTTP 端点 POST /api/mcp,实现 JSON-RPC 2.0 + Streamable HTTP 传输
              • - 新增 13 个工具供 AI 助手调用:成员列表、今日任务、健康报告状态、AI 对话、活动/文章/商品搜索、用户概览、待办/待审批心愿、能量概览、家庭概览、联系人搜索
              • - 认证方式:通过 application.yml 中 mcp.api-key 配置(默认空值,开发无感知),通过 Mcp-Api-Key header 传递
              • - 支持已有 JWT/Interceptor:/api/mcp/** 加入 PUBLIC_PATHS 放行
              • 新增/修改文件:
              • - config/McpConfig.java (新)
              • - service/mcp/McpAuthService.java (新)
              • - controller/mcp/McpController.java (新)
              • - controller/mcp/McpToolRegistry.java (新)
              • - application.yml (增 mcp.api-key)
              • - config/JwtInterceptor.java (加 /api/mcp/** 至公开路径)
              • - MembershipService: BASIC 可用功能加入 referral_commission
              • - schema.sql: membership_levels 种子数据同步
              • - membership/index.vue: 动态加载权益功能列表(免费用户展示 BASIC 体验会员功能)
              • - utils/api.js: 新增 getMembershipBenefits 接口封装
              • - ContentRecommendService: 改用 selectCompletedArticleIdsByChild 查询已读文章(与文章列表过滤逻辑一致)
              • - 挑战页点击已存在挑战跳转至活动首页(错误URL) → 改为打开详情弹窗
              • - 首页家庭挑战待同意状态卡片无法点击 → 添加整卡@cardClick事件并传递challengeId
              • - 编辑挑战任务无法修改参与成员 → 移除v-if=editMode限制,openEditModal预填充memberIds,submitForm编辑时也传participantMemberIds
              • 功能新增:
              • - 邀请参与人时任务状态为pending,设置回复时效(24/48/72h可选)
              • - 超时未回复的pending成员自动置为rejected
              • - 除发起人外全部拒绝 → 挑战状态变为not_launched(未成功发起)
              • - pending挑战详情页展示截止时间/超时标签
              • 后端:
              • - schema.sql + DatabaseInitializer: 新增respond_deadline字段
              • - FamilyChallenge实体: 新增respondDeadline属性
              • - createChallenge: 支持respondDeadlineHours参数(默认48h)
              • - updateChallenge: 支持pending状态编辑 + participantMemberIds更新(方案2A:active不可改)
              • - respondChallenge: 惰性检查deadline超时
              • - 新增expirePendingChallenge方法处理超时
              • - getChallengeHistory纳入not_launched状态
              • 前端:
              • - challenge-manage.vue: 添加详情弹窗(含同意/拒绝/编辑/删除按钮),添加回复时效选择器(24/48/72h),auto-open通过URL参数?id=xxx
              • - FamilyChallengeCard.vue: 整卡@click+('cardClick'),pending状态展示剩余天数/超时标签
              • - index-home.vue + parent-index.vue: 绑定@cardClick → goChallengeManage(ch.id)
              • - ArticleService.getPublicList: 新增 memberId 参数,权限过滤后移除已读完+得CF的文章
              • - ArticleController.list: 读取 body.memberId(回退 currentMemberId)并传入 service
              • - article-center/index.vue: 传 memberId 给列表接口,知识分享页隐藏已完成文章
              • - mind-detail/articles.vue: 同上,心智知识页同步过滤
              • - ArticleControllerTest: 适配 getPublicList 新增 memberId 参数
              • - 匿名用户可浏览文章,读满时长后提示登录后完成知识测评并跳转登录
              • - 答题接口 getActiveMemberId() 优先 currentChildId,否则用 userId
              • - 移除 FREE 会员限制,所有登录用户均可参加文章知识测评

              v1.0.1487 (2026-10-02)

              Bug 修复

              • 并发 401 改为排队重放,避免在途静默续期被自身打断
              • 修复页面生命周期重复跳转导致的 routeDone 报错

              其他

              • onboarding/progress 等)。修复前 _handle401 在 _reloginLock 为真时直接调
              • _clearAuthAndRedirect():第 1 个 401 刚启动 silentRelogin()(uni.login 异步),
              • 第 2~N 个 401 立刻抹掉 token 并预约 1500ms 后 reLaunch 登录页,在途续期被打断,
              • 表现为控制台只有 401、silentRelogin 无任何日志、用户被弹回登录页。
              • - 并发 401 入 _pending401 队列,续期成功后统一重放;成败仅由发起续期的
              • 那个 401 判断
              • - 重放带 _noRelogin:重放仍 401 则直接失败,避免续期/重放 ping-pong 死循环
              • - silentRelogin 无 openid 分支补 warn 日志(此前静默返回 null,无法定位)
              • 测试:concurrent 401s queue behind one renewal、replayed request that still 401
              • fails without triggering another renewal(后者覆盖死循环防护)。
              • 已验证回归有效性:临时还原旧逻辑后新用例即以线上症状失败。
              • Jest 178/0,audit 0 error。
              • 页面在生命周期钩子中重复发起跳转,框架对已销毁的 webview 调用 routeDone。
              • - splash/index: onShow 每次都新建 2s reLaunch 定时器且 onUnload 未清理;改为
              • _hasLaunched 一次性守卫 + onUnload 清理定时器
              • - profile-extra/{create-child,edit-child,children}: onShow 自动跳转与按钮
              • goToFamilyMembers 各发一次 redirectTo,统一收敛到 redirectOnce() 守卫
              • - rewards/rewards: teacher 分支 redirectTo 增加 _redirected 守卫,
              • loadRewards() 仍保持每次 onShow 刷新
              • 其余 5 处 onLoad redirectTo 为每实例仅执行一次的跳转桩,无并发风险,未改动。
              • 全量注册页扫描:HIGH=0,无异步回调内的裸跳转。
              • - 移除雷达图(canvas 卡片及相关方法)
              • - 让首次使用的家长一眼看懂结果代表什么、接下来做什么

              新功能

              • 自检结果页新增「怎么看这个结果」引导卡
              • 补全9.9体验会员功能 + 升级流程优化 - upgrade.vue: 添加体验会员(BASIC) compare 表列 + 基本功能描述 - upgrade.vue: 默认 selectedLevel 升级至下一级(FAMILY→PREMIUM) - upgrade.vue: 按钮显示 '续费' 而非 '下一步' 于 renew 当前等级
              • 活动搜索 keyword 支持 + 产品搜索 API + 封面上传 + 小程序页面选择器

              v1.0.1486 (2026-10-01)

              重构

              • 组件下沉到页面级目录

              其他

              • components/ 子目录(action-detail / ai / discover / family / health /
              • home-pages / member-detail / mind-detail / profile / promotion / shop /
              • wealth),并同步更新引用方与 manifest.json。
              • 目的:让组件跟随页面一起进入对应分包,避免被提升进主包,缩减主包体积。
              • 组件解析已校验:所有模板标签均可通过显式 import 或同名 .vue 解析,
              • 无悬空引用。audit-duplicate-api-calls.js 通过(0 error / 87 warning,
              • 与重构前基线一致)。

              v1.0.1485 (2026-10-01)

              Bug 修复

              • 废弃裸 openid 换 token 接口,静默续期改走 code2Session

              其他

              • 证明。而 openid 并非密钥:它会随登录响应返回、明文存于小程序本地 storage、并可能
              • 经日志或截图泄露。任何拿到他人 openid 的人都能直接换取该账号的合法 token,等同
              • 于完全冒充该账号。
              • 按 AGENTS.md「废弃接口标记 410 Gone 并注释说明,不直接删除」,保留路由与注释并
              • 返回 410,待线上旧版本小程序全部升级后再移除路由。UserService#autoLoginByOpenid
              • 标记 @Deprecated。
              • 替代路径:前端 uni.login() 取微信签发的一次性 code,服务端 code2Session 换
              • openid。code 单次使用、5 分钟过期,且能证明调用方持有该微信设备,不可伪造,同样
              • 零交互静默完成。本地 openid 仅用于判断「本设备曾登录过」,绝不作为凭证上送。
              • 其他修复:
              • - App.vue 冷启动即恢复登录态:原先在 splash 分支提前 return,导致普通冷启动(非
              • 分享/小程序码进入)完全拿不到任何续期机会
              • - 移除 develop 环境下对 verifyStoredToken/tryAutoLogin 的屏蔽,否则开发版无法验证
              • 续期逻辑
              • - 401 重放改传未拼接 query 的原始路径,避免 URL 出现 ?a=1&a=1 重复参数
              • - 新增 _noRelogin:续期请求自身返回 401 时直接失败,防止递归续期/误清登录态
              • - 启动窗口内(pages/login 为分包,首次访问前尚未下载注册)只清登录态不跳转,避免
              • 「Page has not been registered yet」
              • - JWT 有效期 1 天 -> 30 天,配合静默续期用户几乎无需手动重新登录
              • 验证:前端 jest 176 项全部通过;后端 mvn clean compile(release 8)BUILD SUCCESS

              v1.0.1484 (2026-09-30)

              Bug 修复

              • schema.sql guide_popup_step desc 保留字加反引号 [skip ci]

              v1.0.1484 (2026-09-30)

              Bug 修复

              • 迁移334 desc 保留字报错 + 启动期定时任务竞态保护 [skip ci]

              v1.0.1484 (2026-09-30)

              其他

              • 从 Git 取消跟踪但保留本地文件,并新增 .gitignore 规则防止被再次添加
              • - fix-hbuilderx-scoped.js: 硬编码 macOS 路径的死代码,Windows 环境下从不可用,无任何代码引用
              • - 本 commit 不含任何页面源码改动:排查 14 个页面退化为 13 字节 Component({}) 的问题时,
              • 已确认 pages.json 注册与全部 264 个页面源码均正常,根因是 unpackage/ 下残留的
              • webpack 增量缓存(optimization.noEmitOnErrors=false 导致构建错误被静默吞掉),
              • 清空 unpackage 后重新编译即全部恢复
              • Co-Authored-By: Sisyphus (Anthropic) noreply@anthropic.com

              v1.0.1484 (2026-09-30)

              新功能

              • 首页广告栏配置功能 - 新增 home_banners 表及配套后端接口、管理端页面、小程序组件

              v1.0.1483 (2026-09-29)

              Bug 修复

              • 修正 growth/profile/index.vue 悬空 import 路径

              其他

              • - format.js: '../../utils/format.js' -> '@/utils/format.js'(该页在 pages/growth/profile/ 深 3 层,原路径少一级 ../)
              • - 验证:全项目 387 文件/660 条本地 import 悬空 0;348 个 .vue 结构扫描 0 问题
              • Co-Authored-By: Sisyphus (Anthropic) noreply@anthropic.com

              v1.0.1482 (2026-09-29)

              Bug 修复

              • 修复 team.vue 模板未闭合导致编译失败 + onLoad/onShow 双重调用

              v1.0.1481 (2026-09-29)

              新功能

              • 赠会员进度接口补充 remaining 字段与实付口径文案

              其他

              • - MembershipController 计算 remaining = max(0, threshold - accumulatedAmount)
              • - cart/checkout 改读后端 remaining,消除前端重复业务计算
              • - checkout 补充「仅原价实付订单计入」说明文案
              • - API_REFERENCE 章节号 4.38→4.43 避免重复,补 remaining 字段与无家庭返回说明

              v1.0.1480 (2026-09-29)

              新功能

              • 购物车/结算页展示赠会员累计进度

              其他

              • 金额、阈值、已赠送状态
              • - GiftMembershipProgress.threshold 标记 @TableField(exist = false),
              • 避免非数据库列被拼进 SELECT 报 Unknown column
              • - cart.vue / checkout.vue 增加进度条、已累/还差金额、达标提示
              • - API_REFERENCE.md 补充新接口说明

              Bug 修复

              • 修复月度曲线月份边界计算错误 + 阈值默认值改1980元

              v1.0.1479 (2026-09-28)

              新功能

              • 购物车功能完善 - CartItemDTO和CartService改造

              v1.0.1478 (2026-09-28)

              新功能

              • 补任务编排流程任务+保单上传AI解析+统一TabBar+服务中心页(TASK-SYS-248)

              v1.0.1477 (2026-09-28)

              文档

              • 注册零填写设计升级为全栈完成(v2.14)
              • 注册零填写实施完成,PROJECT-OVERVIEW同步v2.14
              • 注册零填写实施计划(8 Tasks)

              新功能

              • 注册零填写-添加成员手机号已注册时提示邀请加入
              • 注册零填写-backfill白名单增加realName; 修复远程CommissionService编译缺陷(Calendar import/Long->int/getReferrerId)
              • 注册零填写-profile-field-usage映射表补全(realName+各字段场景)
              • 注册零填写-接受邀请已登录跳join-form替代user-edit
              • 注册零填写-新增接受家庭邀请页join-form(真实姓名+家庭身份必填)
              • 注册零填写-user-edit停用新用户流程仅保留编辑用途
              • 注册零填写-登录成功直接进首页,家庭邀请改跳join-form

              v1.0.1476 (2026-09-28)

              新功能

              • 商品赠送会员-计算giftAmount并累加触发赠送
              • 完整实现商品赠送会员功能

              v1.0.1475 (2026-09-28)

              新功能

              • 注册零填写设计规格(注册直接进首页+接收家庭邀请独立页+功能→信息字段映射表+添加成员手机号→邀请加入)

              v1.0.1474 (2026-09-27)

              新功能

              • 更新益生元相关文章,引用瓜尔豆胶vs菊粉新内容
              • 新增瓜尔豆胶 vs 菊粉科普文章 - sales/guar-vs-inulin.html:新增益生元对比科普页,8维对比表、适用人群分析、组合方案、科学循证 - sales/index.html:更新分类计数、快速跳转链接、meta description - sales/AGENTS.md:目录结构和文章清单更新

              v1.0.1473 (2026-09-24)

              新功能

              • 商品赠送会员功能完整实现

              v1.0.1472 (2026-09-24)

              Bug 修复

              • CommissionSummaryDTO 增加 totalEarnings 字段,修复 wealth 页累计收益显示为0

              其他

              • totalCommission,导致 undefined || 0 显示为 0。新增同值字段保持兼容。

              v1.0.1471 (2026-09-24)

              新功能

              • 价格显示到角、家庭成员上限命名、虚拟支付降级普通支付

              v1.0.1470 (2026-09-24)

              Bug 修复

              • shortcut save 兼容前端 Boolean/Number 两种 locked/sortOrder 类型

              v1.0.1469 (2026-09-24)

              Bug 修复

              • 修正编排画布任务模板列表接口调用(task-templates/list → task-templates)

              v1.0.1468 (2026-09-24)

              Bug 修复

              • 迁移326 修正菜单表名/menu→sys_menu + 字段映射(parent_id/sort/visible)

              v1.0.1467 (2026-09-23)

              Bug 修复

              • 未配置时保持默认6格,不按频度重排
              • guide_popup引导弹窗表迁移333-336并入runSystemMigrations无条件执行 + getValue缓存null防护
              • 迁移316-328移出seedGutFloraFingerprints早返回之后,getValue加unless保护防缓存null异常

              其他

              • 快捷区固定显示默认 6 个:任务/互动/天盘/成员/圈子/商城,
              • 不再按使用频度混入其他应用。

              v1.0.1466 (2026-09-23)

              Bug 修复

              • 孤儿页清理——补注册 12 个被引用但未注册页面 + 删除 5 个重复遗留页面

              其他

              • - pages/family: address-edit / manual-score-entry / mbti-entry / mbti-test / mbti-result / mbti-profile
              • - pages/member-detail/member-detail(被 FamilyEnergyBar、parent-index 引用)
              • - pages/profile/service-role-apply(新 6 角色版,被 ProfileMenu/vendor/butler/nutritionist/guide 5 处引用)
              • - pages/match/street-match(新增子包)
              • - pages/assessment/upload-report
              • - pages/health/bodyfat-confirm
              • - pages/growth/profile/index
              • 删除(重复/遗留/依赖不存在 API):
              • - pages/health/teacher-select.vue(重复 teacher-service)
              • - pages/mind-extra/articles.vue(遗留,article-center 取代)
              • - pages/activity/registrations.vue(依赖 adminActivity* API 前端不存在)
              • - pages/teacher/appointments.vue(依赖 getGuideAppointments 前端不存在)
              • - pages/member-detail/service-role-apply.vue(旧 3 角色版,被 profile 版取代)
              • 其他:
              • - api.js: 补 MBTI 4 个 + manual-score 1 个缺失导出(后端 Controller 均存在)
              • - mind-detail/index.vue: 修复指向已删 /pages/mind/emotion-report 的悬挂导航

              v1.0.1465 (2026-09-23)

              Bug 修复

              • cognitive-hall.vue goReport routes to /pages/wisdom-detail/cognitive-report (was referencing now-deleted /pages/wisdom/cognitive-report); deleted 13 duplicate orphan files in mind/ wisdom/ body/

              v1.0.1464 (2026-09-23)

              Bug 修复

              • member-detail-sections navigation - wisdom-section routes to /pages/assessment/results; mind-section routes to /pages/action-detail/contact-detail (both previously pointed to non-existent pages)
              • nav.js goDimension removed broken mind/body/wisdom mappings; login.vue tabBarPages removed non-existent /pages/mind/index /pages/body/index /pages/wisdom/index entries
              • energy goDimension switch fallthrough - add break statements after each case so each dimension navigates to its correct page instead of always going to wealth

              v1.0.1463 (2026-09-23)

              新功能

              • beautify action-detail (行) page with enhanced visual design

              其他

              • - Enhanced shadows and depth with pseudo-elements
              • - Improved border-radius to 24rpx throughout
              • - Active state transforms (scale effects) on cards
              • - Better typography hierarchy with letter-spacing
              • - Enhanced dialog/popup styling with gradient headers
              • - func-grid with improved spacing and shadow
              • - Consistent green theme throughout following design system

              v1.0.1462 (2026-09-22)

              Bug 修复

              • 修复 :key 表达式违规(editor.vue+food-query.vue 改用方法调用)
              • 修复 editor.vue :key 表达式违规(改用方法调用)

              v1.0.1461 (2026-09-22)

              文档

              • 弹窗引导页配置化实现计划

              v1.0.1460 (2026-09-22)

              文档

              • 新增弹窗引导页配置化设计文档 + 更新项目全景索引

              v1.0.1459 (2026-09-22)

              Bug 修复

              • 修复 tasks.vue switchTab 方法重复代码段导致的编译错误
              • 隐藏 AI 询问按钮 - 临时移除 askAI 按钮

              重构

              • 移除 teacher-home 页面,rewards 重定向调整为成长规划师中心

              新功能

              • 报告反馈合并快速分析 - AI解答+结果可查

              其他

              • - feedback-popup 重写:疑问/建议双类型 + AI 解答内联展示 + 免费版每日1次提示
              • - 新增 my-feedback 页:我的反馈记录列表(含 AI 解答状态)
              • - 后端 report_feedback 表(迁移327) + submit/list 接口 + AiGateway 解答,失败落库未失败状态
              • - 移除 reportQuickAnalyze 前端调用,API_REFERENCE 同步 4.37 节

              v1.0.1458 (2026-09-22)

              新功能

              • add emotion impact annotations to gut flora indicators on mind page

              其他

              • serotonin/5-HT → mood stability, dopamine → pleasure/motivation,
              • GABA → relaxation/stress relief, tryptophan → sleep/mood,
              • melatonin → sleep regulation, cortisol → stress level
              • - Display '影响情绪稳定/影响愉悦·动力' etc. below each indicator name
              • - Fix value display bug: backend uses indicatorValue, frontend was reading broken ind.value
              • - Add indicatorBarWidth() and formatIndicatorValue() helper methods
              • - Add CSS for new gut-indicator-impact label (pink #FF6B9D for mind page)

              v1.0.1457 (2026-09-22)

              新功能

              • 应用库自定义快捷方式+使用频度追踪
              • add cognitive impact annotations to gut flora indicators on wisdom page

              其他

              • - 新建 pages/home/app-library 应用库配置页(已在首页区置灰+可配置区切换+恢复默认)
              • - 16个应用入口页注入 reportAppEnter 埋点(任意入口进入计数)
              • - pages.json 注册 home 分包
              • - Display impact label below each indicator name in 肠胃与认知 section
              • - Fix value display bug: backend uses indicatorValue, frontend was reading broken ind.value
              • - Add indicatorBarWidth() and formatIndicatorValue() helper methods
              • - Add CSS for new gut-indicator-impact label

              v1.0.1456 (2026-09-21)

              Bug 修复

              • seedDiscountRulesMenu 的 count 改用 Integer
              • 语音/图片打卡无需强制文字内容

              其他

              • 用 int 接收后再与 null 比较会触发 "不可比较的类型: int和" 编译错误。
              • 改为 Integer 接收,null 判断即成立。
              • 新功能

                • 任务编排引擎与执行服务

                v1.0.1455 (2026-09-21)

                文档

                • 首页快捷方式自定义+应用库+频度追踪设计规格

                v1.0.1454 (2026-09-21)

                新功能

                • 首页引导配置化
                • 食材推荐高频入口前置,合并页统一导航

                其他

                • (icon/title/desc/isIntro)、展示位置(首页/孩子端)、版本号(version)。
                • 小程序 index-home/child-index 异步拉取配置并按版本比对决定是否展示,
                • 无配置或接口失败时回退到硬编码默认步骤。
                • 后端复用 sys_config 表(key=onboarding_guide_config),新增 AdminGuideConfigController
                • (管理端 get/save)和 GuideConfigController(小程序 current)。
                • DatabaseInitializer 迁移318预置默认配置。
                • - 成长 Tab 饮食推荐 / 食材戒备卡均改跳合并页 food-query
                • - 菌群报告页戒备入口改跳 food-query(带 reportId/memberId,进入默认戒备模式)
                • - food-query.vue 重写:支持成员切换、排序选择、红绿适合/戒备配色、家庭总览聚合

                v1.0.1453 (2026-09-21)

                Bug 修复

                • 修复结算页配送方式 change 处理器缺失方法头导致的编译错误

                v1.0.1452 (2026-09-20)

                Bug 修复

                • 成员列表 isAdmin 按成员本人是否为创建者下发,成员视角限制二次切换

                其他

                • 修复创建者请求时所有成员 isAdmin 均为 true 的误判(影响创建者/管理员标识等展示)
                • - 切换规则确认:所有登录用户均可切换为不可登录成员(不依赖 isAdmin),
                • 不可登录成员视角(currentView=member)下隐藏全部切换入口,仅可退出切换
                • - isFamilyAdmin(index-home/parent-index)适配新 isAdmin 语义:改为查自己
                • (isSelf)是否为创建者,不再依赖列表首元素

                v1.0.1451 (2026-09-20)

                新功能

                • 限时折扣管理菜单种子 + Layout侧边栏入口(迁移326)

                v1.0.1450 (2026-09-20)

                新功能

                • 会员中心支持原价展示与编辑,后端补齐原价字段保存

                v1.0.1449 (2026-09-20)

                新功能

                • 报告上传统一指纹自动识别,注册 dan_a2 类型并补充采集管道

                其他

                • - HealthReportDraft 增加 memberId 归属成员字段;createDraft 支持 fileHash + memberId;新增 updateReportType
                • - ReportCollectService 指纹识别分流 dan_a2 采集管道
                • - 前端 report-upload.vue 去掉手动选择报告类型,统一上传由后台自动识别,需指定归属成员

                Bug 修复

                • 修复认知能力测评页 import 路径错误(单文件页面 ../utils/api.js 而非 ../../)

                v1.0.1448 (2026-09-19)

                Bug 修复

                • 恢复仅不可登录成员可切换视角(业务规则确认:可登录成员不允许切换)

                其他

                • - listMembers / updateParentMember 家长段 isSwitchable 恒 false(家长均为可登录用户)
                • - switchToMember 恢复 openid 校验:可登录成员 throw '该成员可通过微信登录,不能切换为TA的身份';source='parent' 分支同样拒绝
                • - toFamilyMemberVO 恢复原签名与 openid 判定(撤销 601bcf083 的加宽)
                • - 前端 store 切换守卫文案与 ProfileHeader 注释同步恢复原语义

                v1.0.1447 (2026-09-19)

                新功能

                • add seven-dimension cognitive game assessment

                其他

                • - Frontend: language-test.vue new page, cognitive-hall.vue portal, pages.json registers both, cognitive-report.vue updated to 7 dimensions

                v1.0.1446 (2026-09-19)

                新功能

                • 允许切换到可登录成员视角,统一 isSwitchable 口径

                其他

                • - switchToMember 成员段返回 nickname 改用 resolveMemberNickname(可登录成员显示 users 表昵称)
                • - 前端 store 切换守卫文案与 ProfileHeader 注释同步,移除'可通过微信登录不能切换'的旧提示

                v1.0.1445 (2026-09-19)

                Bug 修复

                • 家庭成员管理页 isAdmin 类型比较修复,管理员删除/编辑按钮恢复显示

                其他

                • - 列表过滤自身成员同样按 String 归一(m.userId === userId 类型敏感)

                v1.0.1444 (2026-09-19)

                Bug 修复

                • includeFamily 接口只返回 members 并统一成员显示名来源

                其他

                • - resolveMemberNickname 改为优先 users 表昵称:同一人同时存在于两表时,与 getVisibleMembers 家长段口径一致,避免「我的家庭」与成员管理页名称不一致
                • - utils/api.js 同步更新接口注释

                v1.0.1443 (2026-09-19)

                Bug 修复

                • 饮食推荐控制器 familyId 改 required=false,无家庭时返回 noFamily 而非抛 ServletRequestBindingException

                v1.0.1442 (2026-09-19)

                Bug 修复

                • 菜单生成切换非推理模型(agnes-2.5-flash)并加max_tokens=3000,耗时从60-96s降至~13s;容器内存限制6g→8g解决ChromaDB启动OOM

                v1.0.1440 (2026-09-19)

                新功能

                • 家庭成员管理支持家长账号编辑/移除/切换及名称一致性修复

                其他

                • - updateMember 新增 updateParentMember 分支: 家长账号可编辑昵称/性别/生日/头像/手机号
                • - 新增 resolveMemberNickname: family_members.nickname 为空时回退 users 表真实昵称
                • - family-members.vue: 名称兜底链与我的家庭页一致, canEditMember 放开 parent 来源
                • - FamilyMemberStrip.vue: canSwitch/canRemove 放开 source 限制
                • - interaction-log.vue: .type-item 加 box-sizing 修复四列折行

                v1.0.1439 (2026-09-19)

                Bug 修复

                • 迁移323-325移至runSystemMigrations,修复因早返回导致永不执行的happened_at/article_id问题

                v1.0.1438 (2026-09-19)

                新功能

                • 行页面整体美化

                其他

                • 2. 章鱼图添加入口从'记录成效'改为'感恩记录',并跳转至新建的维护列表页
                • 3. 三个图添加入口按钮统一美化(渐变圆角 + 彩色阴影)
                • 4. 章鱼图 Canvas 背景添加低透明度章鱼触手+头部装饰
                • 5. 新增 octopus-effects-list.vue:感恩记录维护页(列表展示/删除/FAB 添加)
                • 6. 修复 octopus-add-effect.vue 关键人'能添加但不能选'bug:补 onShow 刷新
                • - 新增:pages/action-detail/octopus-effects-list.vue
                • - 修改:OctopusDiagram.vue / pages.json / index.vue / octopus-add-effect.vue

                v1.0.1437 (2026-09-19)

                Bug 修复

                • selectedMembers 规整为标准结构-兼容 memberPicker 仅返回 id/nickname 的情况

                v1.0.1436 (2026-09-19)

                新功能

                • 文章答题出题/提交/双奖励/认知雷达接口改造
                • 文章答题弹窗适配新接口并展示CF值
                • AiGateway 新增文章答题出题方法
                • 注册文章答题出题路由与提示词
                • 新增文章答题出题 graph
                • 文章答题记录表迁移与实体字段调整

                文档

                • 更新文章答题功能实施状态

                Bug 修复

                • 移除无 log4j 依赖的无效 @Log4j 注解,恢复编译

                v1.0.1435 (2026-09-19)

                文档

                • 文章阅读答题奖励+认知雷达设计规格与实现计划

                v1.0.1434 (2026-09-18)

                Bug 修复

                • InviteController 登录态校验防御 null userId
                • checkpointer 改用 AsyncSqliteSaver 修复 chat 端点异步调用报错

                其他

                • 但 checkpointer 原用同步 SqliteSaver,LangGraph 抛 'SqliteSaver does not support
                • async methods',导致后端 AiGateway 收到 500 返回 null,前端提示 'AI 服务暂不可用'。
                • - checkpointer.py: 改用 AsyncSqliteSaver,新增 init_checkpointer() 在 startup 事件
                • 循环内初始化(AsyncSqliteSaver 绑定 get_running_loop,不能在临时 loop 创建)
                • - main.py: startup 调用 await init_checkpointer()
                • - requirements.txt / requirements_frozen.txt: 新增 aiosqlite 依赖

                v1.0.1433 (2026-09-17)

                Bug 修复

                • 创建任务页输入框高度不足、截止时间选择器列数不匹配

                v1.0.1432 (2026-09-16)

                新功能

                • PortraitController 新增 /generate /regenerate 端点(AI 画像生成/重画入口)
                • 用户画像 AI 生成/重画 - 接口扩展+前端入口+计划文档
                • Java 侧画像 AI 生成网关 + AIService + AIBehaviorController
                • Python 侧新增 portrait 生成/重画 FastAPI 路由
                • Python 侧新增 portrait_generation_graph AI 生成/重画用户画像 LangGraph

                其他

                • - POST /api/user/portrait/regenerate: 参考旧画像重画,体现变化与延续
                • - 复用 getPortrait 返回 renderedSnapshot,portraitPrompt 覆盖为本次结果
                • - portrait-edit.vue 增加 AI 生成/重画按钮及加载态
                • - api.js 新增 generatePortrait/regeneratePortrait 封装
                • - 补充完整实施计划文档 docs/superpowers/plans/2026-09-13-user-portrait-ai-generation.md

                v1.0.1431 (2026-09-16)

                新功能

                • 新增 recommendation_rules 推荐规则表(迁移316-317)
                • add product recommendation rule engine design and plan design: unified recommendation rule engine for 5 business rules plan: 6-phase implementation roadmap with milestones

                v1.0.1430 (2026-09-16)

                文档

                • 新增运营文案(个人号种草/便秘腹泻账号方案与竞品分析/小红书知识图谱/竞品搜索原始数据)

                重构

                • 报告详情快速分析合并到有疑问或建议入口

                v1.0.1429 (2026-09-16)

                Bug 修复

                • 首页「逛一逛」引导条跳转任务中心而非知识中心

                v1.0.1428 (2026-09-16)

                新功能

                • 舌诊图片持久化 + parsePreview member_id nullable
                • 修复舌诊照片上传分流 — 支持相册上传 + member_id可空 + confirm补填

                v1.0.1427 (2026-09-16)

                新功能

                • 舌诊照片上传走专用舌诊流程,自动识别舌头图片分流

                v1.0.1426 (2026-09-15)

                新功能

                • 根级/规划师/营养师/健康页全列排序 - 所有数据列补齐 sort-header(27 页)
                • admin 列表页全列排序 - 给所有数据列补齐 sort-header(46 页)

                其他

                v1.0.1425 (2026-09-15)

                Bug 修复

                • SortUtil 加固 - 列名白名单防 SQL 注入 + clearOrderBy 清除已有 ORDER BY 防双排序语法错误
                • ReportParser 3 个列表端点(types/imports/unknown-clusters)接入 sort 排序参数

                其他

                v1.0.1424 (2026-09-15)

                新功能

                • 运势算法接入真实八字/五行数据

                其他

                • 聚合 family_member_attributes.wuxingElements JSON,按成员数取平均,
                • 替代原来的硬编码 {木:20, 火:20, 土:20, 金:20, 水:20}
                • - FortuneServiceImpl.getChineseDate(): 用与 FamilyMemberAttributeService
                • 一致的干支算法计算当日干支(2000-01-01 为甲子日参考),替换原硬编码 '甲子'
                • - FortuneServiceImpl.generatePlaceholderFortune(): dominantElement 优先使用
                • 家庭真实最强五行,而非哈希随机值
                • - memberType 查询改为先查 child 再查 parent(与 TianpanService 一致)
                • - lambda 捕获 validCount 改为 final memberCount 避免编译错误

                v1.0.1423 (2026-09-15)

                文档

                • 新增品牌资产目录(浠艾福 CareFamily 标志 SVG/PNG、标志设计文档 v1.0/v1.1、logo 预览页与生成脚本 gen_trace.py)

                v1.0.1422 (2026-09-15)

                Bug 修复

                • 修复文章详情页 v-for 与 :key 属性粘连导致的模板编译失败(缺空格引号断裂)

                v1.0.1421 (2026-09-15)

                新功能

                • 家庭天盘新增周/月/周报接口并对接前端

                其他

                • - MindFortuneController 新增 3 个接口:
                • - POST /api/mind/fortune/week — 本周7天运势
                • - POST /api/mind/fortune/month — 本月运势
                • - POST /api/mind/fortune/reports — 历史周报列表
                • - FortuneService 新增 getFamilyFortuneBatch 批量查询
                • 前端:
                • - family-dashboard.vue 三个 load 方法从 mock 改为真实接口
                • - api.js 新增 getWeekFortune/getMonthFortune/getFortuneReports

                v1.0.1420 (2026-09-15)

                新功能

                • 新增向量知识库维护功能

                其他

                • - Java: 新增 KnowledgeBaseVectorController,代理调用 LangGraph
                • - 前端: 新增 VectorKnowledgeBase.vue 页面,包含统计卡片、文档列表(分页/筛选/搜索)、编辑弹窗、全量同步按钮
                • - 菜单: 知识中心下新增「向量知识库」入口
                • - 兼容新旧 ChromaDB metadata 字段(source / type)

                v1.0.1419 (2026-09-15)

                Bug 修复

                • 身页面问卷评估接口失败不显示虚假分数
                • 心页面家庭天盘占位数据清空假文案

                其他

                • 保留中性默认值(平/平静/65),避免接口失败时显示虚假运势建议

                v1.0.1418 (2026-09-15)

                Bug 修复

                • 移除 recordRead 中重复的 minSeconds 变量声明

                v1.0.1417 (2026-09-15)

                Bug 修复

                • meal_configs 唯一键改用生成列 config_date_eff 修复 COALESCE 索引语法

                其他

                • 迁移314 的 UNIQUE KEY uk_config (family_id, COALESCE(config_date, ...)) 每次启动都报语法错误,
                • 导致唯一约束从未建立, 存在重复共餐配置风险。
                • 改为 STORED 生成列 config_date_eff (COALESCE(config_date, '9999-12-31')) 承载相同语义,
                • 唯一键建立在生成列上, 同时补齐缺失的 idx_config_date 索引。

                v1.0.1416 (2026-09-15)

                Bug 修复

                • 设置菜单由 7 项缩减为 6 项,修正 actionSheet url 映射并移除失效的「设置密码」项

                新功能

                • 团队入口迁入成就网格并改页面标题为「我的团队」,团队树改为扁平渲染并补充等级人数统计

                v1.0.1415 (2026-09-15)

                Bug 修复

                • 智/心页面硬编码/模拟数据清理

                其他

                • - family-dashboard.vue:
                • - loadTodayFortune() 接入真实 /api/mind/fortune 接口
                • - 移除 loadWeekFortuneData/loadMonthlyFortuneData/loadWeeklyReports 的随机 mock 生成(后端暂无对应接口,不再展示假数据)
                • - 删除 generateMockReportContent 纯 mock 方法

                v1.0.1414 (2026-09-15)

                其他

                • 上传报告分类

                v1.0.1413 (2026-09-15)

                Bug 修复

                • 修正知识库同步删除前缀与镜像版本, dan 知识库入库 MEDIUMTEXT

                其他

                • microbiome/dan_knowledge, 修复旧块永删不掉导致 ChromaDB 膨胀的问题
                • - docker-compose: langgraph-svc 镜像 v8 -> v9 (重新构建, 含修正代码)
                • - schema.sql: dan_knowledge_base.content TEXT -> MEDIUMTEXT (支持长知识内容)
                • - 同步验证: article 543 / microbiome 25586 / dan_knowledge 1886 块全部入库

                v1.0.1412 (2026-09-15)

                新功能

                • 官网slogan改为「一个人的主动,全家人的健康」并扩展品牌主张文案

                v1.0.1411 (2026-09-15)

                Bug 修复

                • 财富页邀请人数显示0 + 孩子页硬编码数据接口化

                其他

                • - 孩子页 badgeCount / taskPercent 接入真实接口(/api/badges/statistics/child、/api/daily-task/overview)
                • - deltaPercent 硬编码 5.2 → 0,条件渲染避免显示假数据
                • - 新增 loadChildData() 获取孩子视角真实数据

                v1.0.1410 (2026-09-15)

                新功能

                • 推荐人支持按家庭成员维度查询,切换视角时显示当前成员的推荐人

                v1.0.1409 (2026-09-15)

                新功能

                • 升级页档位按实际价格动态显示,无价格则隐藏

                v1.0.1408 (2026-09-15)

                Bug 修复

                • recordRead 补设 articleId + 迁移回填老数据 NULL article_id

                v1.0.1407 (2026-09-15)

                Bug 修复

                • 修复 ChromaDB 数据膨胀导致的 gunicorn OOM 循环

                其他

                • 282 万条 embedding 到内存 (13GB) 引发 OOM
                • - retriever.initialize: 改为 upsert 语义(先删 type=article 旧索引再写入), 避免
                • 每次 worker 启动重复追加累积
                • - docker-compose: langgraph-svc 加 mem_limit 4g 硬限制, 防止异常膨胀吃满宿主机
                • - requirementsfrozen: numpy 降级 1.26.4 (2.5.x 移除 np.complex, tensorflow 不兼容)
                • 效果: embeddings 282万条(23.5GB) -> 2.6万条(286MB), worker 内存 13GB -> 1GB

                v1.0.1406 (2026-09-14)

                重构

                • 彻底删除 children 表及相关代码,迁移至 family_members

                其他

                • - 清理 AccountCleanupService/TaskStatsService/GrowthTaskService/DatabaseSyncService 死引用
                • - DatabaseInitializer 清理 4 处 children 残留迁移,新增迁移320(幂等迁移数据 + DROP TABLE)
                • - 修复 ChildBadgeMapper.selectFamilyRanking、GameRecordMapper.selectLeaderboard 两个查询 children 表的遗留 bug
                • - 解决既存 git stash 冲突标记(迁移318 DOA 三表 + 系统提示词菜单 + 迁移319 health_plan 合并保留)
                • - schema.sql 三处迁移编号 299→320,清理过时注释
                • - 同步 AGENTS.md 更新 children 已删除口径

                v1.0.1405 (2026-09-13)

                Bug 修复

                • 修复家庭成员列表 generationToLevel 负数字面量对象 key 导致的编译失败(-1/-2/-3 改字符串 key)

                v1.0.1404 (2026-09-13)

                Bug 修复

                • 上传非PDF文件时采集链路提前拦截,避免PyPDF2 EOF错误

                其他

                • 在collect()入口和detect()增加魔数预检,非PDF直接标记失败。

                v1.0.1403 (2026-09-13)

                Bug 修复

                • 修复 savePrompt 更新时 version 为 null 导致 NPE,从数据库读取现有版本号

                新功能

                • 系统提示词版本管理 - 修改前自动备份历史版本,支持查看版本列表与回滚

                v1.0.1402 (2026-09-13)

                Bug 修复

                • 移除后端重复reportId解析 + 前端getMyMembership防抖
                • 修复 AI 聊天页模板多根元素与成员详情页重复 :memberId 属性导致的编译失败

                v1.0.1401 (2026-09-13)

                Bug 修复

                • healthcheck timeout 5s -> 10s(模型加载慢时避免误报 unhealthy)

                v1.0.1400 (2026-09-13)

                样式

                • report-confirm 补充报告快速分析浮层样式

                v1.0.1399 (2026-09-13)

                新功能

                • report-confirm 新增报告快速分析浮层(支持 draftId)
                • 报告快速分析浮层扩展至报告确认页
                • gut-flora-detail 新增报告快速分析浮层(支持 reportId/draftId)

                v1.0.1398 (2026-09-13)

                新功能

                • api.js reportQuickAnalyze 新增可选 draftId 参数

                v1.0.1397 (2026-09-13)

                新功能

                • AIChatController 支持 draftId 参数的快速分析
                • FamilyContextService 新增 buildContextFromDraft 支持草稿上下文
                • 全部提示词迁移到Java后端可配置

                Bug 修复

                • 问卷超时调整 + 加载文案优化
                • 恢复updateMember丢失的generationLevel/peerType透传,修正管理员权限判断

                其他

                • - 问卷加载提示改为"AI正在根据双方情况生成问卷,请稍候(约需1-2分钟)..."
                • - 家庭成员添加页/列表页适配关系类型展示优化
                • - FamilyMemberService.updateMember修正权限判断:管理员可编辑所有成员(含关联账号),普通用户仅可编辑不可登录成员
                • - src/侧:问卷/舌诊prompt_template透传链路完整
                • - DEFAULT_PROMPTS[analysis/recommend]升级为graph完整版,避免短版静默覆盖
                • - health_plan_graph key分离为health_plan_graph/health_plan_graph_regenerate,与adapter.py解耦
                • - 5处except回退分支加logger.warning可观测日志
                • - 新增seed_system_prompts.sql:26条INSERT,含占位符契约注释

                v1.0.1396 (2026-09-13)

                文档

                • 修正实现计划(ObjectMapper注入、行号对齐、template插入位置)

                新功能

                • 对话 checkpointer 从 MemorySaver 改为 SQLite 持久化,重启不丢会话

                v1.0.1395 (2026-09-13)

                Bug 修复

                • remove duplicate BigDecimal import

                v1.0.1394 (2026-09-13)

                新功能

                • 每日打卡用 Redis SETNX 幂等,防止重复提交重复发积分

                Bug 修复

                • 修复 BeijingNutritionService 编译错误(恢复误删的 isWeekend 方法 + 补 BigDecimal import + 类闭合括号)

                v1.0.1393 (2026-09-13)

                新功能

                • 新增 RedisLockUtil 分布式锁,支付回调防并发重复处理

                v1.0.1392 (2026-09-13)

                新功能

                • 排行榜改用 Redis Sorted Set,游戏积分榜+推荐榜双写降级

                v1.0.1391 (2026-09-13)

                新功能

                • 启用 Spring Cache + RedisCacheManager,缓存系统配置与营养分类/品牌列表
                • 商品类目分级与会员级别可见性(min_visible_level/level_order/shop_categories),管理端同步支持

                文档

                • 报告快速分析扩展实现计划

                重构

                • 多页面 v-for :key 统一改为索引绑定,删除冗余 getXxxKey 方法

                Bug 修复

                • 菌群报告详情补齐未呈现数据(性别/年龄/AI解读)并统一手风琴统计口径
                • 报告上传从聊天选取支持图片/文件二选一,避免 type=all 默认停在图片 tab
                • 修复共餐配置页 script 结构损坏导致的编译失败(重复 onLoad、tipText 逃逸出 methods、括号错乱)

                v1.0.1390 (2026-09-13)

                新功能

                • 验证码改用 Redis 存储(TTL 5分钟,一次性),Redis 异常时回退数据库
                • WechatService access_token 改用 Redis 缓存,多实例共享避免重复请求微信

                v1.0.1389 (2026-09-13)

                新功能

                • RateLimitInterceptor 改为 Redis 滑动窗口限流,支持多实例共享并保留内存降级

                v1.0.1388 (2026-09-13)

                新功能

                • 五维手动填分 + MBTI 完整体系(后端/小程序/管理端)

                其他

                • - MbtiController: MBTI 测评入口/提交/结果页
                • - ManualDimensionScoreController: 家长手动填家庭成员五维分数(0-100)
                • - MbtiProfileController: 16型人格画像管理
                • - 数据库: mbti_questions / mbti_results / mbti_profiles 三表 + 种子数据
                • - 小程序: mbti-entry / mbti-test / mbti-profile / mbti-result / manual-score-entry 5页
                • - Web管理端: MbtiProfiles.vue + mbti.js API
                • - 计划文档: docs/superpowers/plans/2026-09-10-manual-dimension-mbti-plan.md

                v1.0.1387 (2026-09-13)

                新功能

                • 小程序「我的」页设置菜单新增「我的画像」入口

                其他

                • - urls 映射添加 6 -> '/pages/profile/portrait-edit'
                • - 用户路径: 我的 -> 设置 -> 我的画像 -> portrait-edit.vue

                v1.0.1386 (2026-09-13)

                Bug 修复

                • 修复 DatabaseInitializer git 冲突标记残留及预存注释行 try{ bug,编译失败

                v1.0.1385 (2026-09-13)

                新功能

                • 菜单管理图标字段改为可视化图标选择器(282个Element图标+搜索+清除)

                v1.0.1384 (2026-09-13)

                新功能

                • 菌群报告详情页重构 - 去掉疾病风险手风琴和病原菌入口,修复报告日期显示,新增报告总结描述

                v1.0.1383 (2026-09-13)

                文档

                • add vendor order review spec, plan, and API reference entries
                • 登记DOA接口+统一能登录/不能登录用户口径规范

                重构

                • clean up review logic (remove unused var, fix computed, add log separators)

                新功能

                • add vendor order review page and entry
                • add vendorId to order detail response for permission check
                • 新增doa-stage-detail详情页+实体memberUserId字段
                • 新增doa-week-edit周计划复盘编辑页
                • 新增doa-stage-create创建阶段页
                • 新增doa-index家庭总览页
                • 前端API封装+页面注册+挑战页双tab入口
                • 新增DoaController(/api/doa 七接口)
                • 新增DoaService(创建阶段/家庭总览/详情/周计划/周复盘)
                • DoaStage新增memberUserId非表字段(为Task8代管详情准备)
                • 新增DoaStage/DoaGoal/DoaWeek实体与Mapper
                • 迁移314创建DOA三表(doa_stage/doa_goal/doa_week)

                Bug 修复

                • 修复远程预存编译错误(BasicQuotaService/Collections import缺失)+ 迁移318花括号对齐
                • 挑战页双tab改用doa-前缀类名避免类名冲突
                • checkStageMemberPermission 空指针绕过同源修复
                • 修复代管校验空指针绕过与 weekStart Locale 依赖

                其他

                • 原条件直接跳过校验,非家庭成员可为任何成员(含可登录成员)创建阶段。
                • 收紧为 isSelf = selfMemberId != null && equals(memberId),null 视为非本人,
                • 不可代管可登录成员。
                • 2. weekStart():补 setFirstDayOfWeek(MONDAY),避免 en_US/C 等周日起始
                • Locale 下 set(DAY_OF_WEEK, MONDAY) 使周日滚到下周,导致 week1 起点
                • 晚于 stage.startDate。

                v1.0.1382 (2026-09-12)

                新功能

                • BASIC体验会员 (9.9元/月) 核心实现

                其他

                • - 后端: BasicQuotaService/ActivationQuotaService + 4业务入口配额扣减
                • - 定时任务: BasicQuotaScheduledTasks(月度刷新+到期提醒)
                • - Controller: BasicQuotaController + AdminBasicQuotaController
                • - 前端: QuotaProgressBar/UpgradeGuideModal组件 + 会员页/升级页BASIC支持
                • - AI对话页集成配额显示和软引导
                • plan: BASIC体验会员实施计划(9.9元/月)

                v1.0.1381 (2026-09-12)

                Bug 修复

                • 免费用户生成方案付费墙改为家庭会员或购买健康启航计划二选一,前端弹三选一引导购买后自动继续生成

                v1.0.1380 (2026-09-12)

                新功能

                • 章鱼图成效录入支持发生时间(happened_at)

                v1.0.1379 (2026-09-12)

                新功能

                • 家庭邀请分享卡片(暖灶风格,500x400px canvas 生成 imageUrl)

                文档

                • 更新PROJECT-OVERVIEW.md新增DOA规格与数据表
                • add DOA family goal implementation plan (tasks 1-11)
                • add DOA family goal design spec

                v1.0.1378 (2026-09-12)

                Bug 修复

                • 审批加入时创建者切换家庭前置校验——原家庭仅一人免转让;多人时错误信息指向申请人并给转让指引

                v1.0.1377 (2026-09-12)

                其他

                • - 删除 pages.json 中 market/index 和 market/detail 注册
                • - 删除 api.js 中死代码:getPublicPackages、purchasePackage、getPackageByShareCode
                • - MarketController packages/* 和 share/* 接口标记 410 废弃
                • (套餐购买已统一合并到组合商品 bundle 链路,走 /api/product/order/*)
                • 保留 MarketController plans/* 接口(计划管理仍在使用)

                v1.0.1377 (2026-09-12)

                文档

                • 新增参考资料 ABC记录表

                v1.0.1376 (2026-09-11)

                新功能

                • 章鱼图录入成效时支持关联关键人(多选+角色标记)

                v1.0.1375 (2026-09-11)

                新功能

                • 章鱼图成效类型改为系统自动计算(金额大/频次高/新成交)

                v1.0.1374 (2026-09-11)

                Bug 修复

                • 迁移278-313抽出独立方法 runSystemMigrations,避免被 sys_menu 空表条件静默跳过

                其他

                • 修复:将迁移278-313提取为独立方法 runSystemMigrations(),由 runMigrations() 无条件调用,确保每次启动都补齐生产库缺列。
                • 生产库已手动 ALTER 补齐以下缺失列:
                • - resource_items: connection_type, priority, value_score, last_interaction_at, interaction_count
                • - health_report_drafts: file_hash

                v1.0.1373 (2026-09-11)

                其他

                • 登录异常报错问题

                v1.0.1372 (2026-09-11)

                Bug 修复

                • 共餐配置保存改批量单次调用并修复双编码导致无法显示选中成员

                其他

                • - 前端 meal-config.vue saveConfig 单次批量调用、不再二次 stringify、成功后 navigateBack
                • - DatabaseInitializer 迁移310 用 JSON_UNQUOTE 修复历史双编码 participant_member_ids
                • - 补充 API_REFERENCE.md /config/save 批量格式文档
                • 登录异常报错问题

                v1.0.1371 (2026-09-11)

                Bug 修复

                • DietMealConfigService 参数空值校验防 NPE(date_type/meal_type/participant_member_ids 必填)

                其他

                • 菌群报告解析成功

                v1.0.1370 (2026-09-11)

                新功能

                • 系统提示词管理菜单
                • 链路追踪 + LLM 可观测性(X-Request-ID trace_id + 日志落盘 + token 监控)

                其他

                • - Layout.vue 配置中心菜单新增「系统提示词」入口(perm: system:base)
                • - cfc-langgraph RequestLogMiddleware 读取 trace_id 并写入日志
                • - log_config.py 新增可选文件落盘(LOG_FILE 环境变量,默认关闭)
                • - llm/client.py 新增 LLM 调用监控(prometheus: 调用次数/耗时/token 用量)

                v1.0.1369 (2026-09-11)

                Bug 修复

                • 报告采集 prompt 缺少 agent 字段导致模型被覆盖
                • 修复 ResourceService 中 PearlInteractionLogMapper 的 Bean 名冲突

                其他

                • 导致推理被全局 primary agent(Sisyphus/ultraworker)覆盖,
                • 走 cursor-gateway/gpt-5.6 账户,返回 402 余额不足错误。
                • 修复:在 prompt body 补加 body.put("agent", "report-collect"),
                • 确保每次推理都锁定到 report-collect agent,使用 agnes-2.5-flash。
                • 自动注入的 InteractionLogMapper Bean 默认名称 collision,
                • 启动时报 BeanNotOfRequiredTypeException。
                • 修复:将字段名改为 pearlInteractionLogMapper,消除名称冲突,
                • 符合 AGENTS.md DI 规范(字段名与类型默认 Bean Name 一致)。

                v1.0.1368 (2026-09-11)

                新功能

                • 个人维度指标雷达图三层显示(实际值/人群位置/家庭占比)

                其他

                • - HealthDimensionController 新增 /api/dimension/radar-data 接口,一次性返回三组数据
                • - DimensionScoreService/Impl 新增 calcPopulationScore/calcFamilyAverageScore 等 4 个方法
                • - DatabaseInitializer 新增 seedMindActionWealthNorms(),向 health_norm_reference 插入 26 个心/行/富维度常模(4 年龄段 × 性别 all,P5-P95)
                • - 前端:
                • - RadarChart.vue 核心增强:新增 populationScores prop(蓝色虚线第三层)、familyScores(灰色虚线第二层)、图例区分
                • - body-detail/wisdom-detail/energy/mind-detail/action-detail 5 个页面接入新接口,传递 scores/populationScores/familyScores
                • - utils/api.js 新增 getRadarData 封装
                • - 效果:身/智/心/行 四维雷达图同时显示个人实际值、同龄同性 P50 人群位置、家庭成员平均分

                v1.0.1367 (2026-09-11)

                新功能

                • 饮食记录重设计 - 周历、食材预警、营养汇总、高频食材、当日记录、补打支持

                v1.0.1366 (2026-09-11)

                Bug 修复

                • gut-flora-foods-detail 成员 Tab 的 key 改为方法调用修复非 h5 警告

                其他

                • 新增 getMemberKey(item) 方法统一生成成员 key(:class 内联表达式不受限未改)

                v1.0.1365 (2026-09-11)

                新功能

                • 报告详情页新增快速分析浮层(免费版单次/付费版多轮)
                • api.js 新增 reportQuickAnalyze 封装
                • 新增报告快速分析端点 /api/ai/report/analyze(免费版Redis每日1次+付费版多轮)
                • 引入 Redis 依赖与 RedisTemplate 配置(报告快速分析计数用)

                其他

                • - data quickAnalyze 状态对象(show/sending/messages/inputText/conversationId/usedToday)
                • - computed quickQuestions(3 个预设快捷问题)
                • - methods: openQuickAnalyze/closeQuickAnalyze/sendQuickQuestion/sendQuickAnalyze
                • - 模板:悬浮 FAB 按钮(仅 view 模式)+ 浮层(消息区/chips/输入框)
                • - 样式:fixed 定位 FAB + overlay + panel,flexbox 布局
                • - report/analyze:会员级别检查 + 免费版 Redis INCR 每日1次(fail-open)+ 免费版移除 conversationId 锁死多轮
                • - 调 aiService.sendMessage(含记忆层+镜像),出参 stripTaskMarkers

                v1.0.1364 (2026-09-11)

                Bug 修复

                • meal-config 删除通配符选择器修复 WXSS 编译错误

                其他

                • 其余元素已显式声明 box-sizing,删通配符无副作用

                v1.0.1363 (2026-09-11)

                新功能

                • 饮食推荐食材查询页重写 - 成员切换、状态标签、分数进度条、变化箭头、趋势图、按推荐值排序

                v1.0.1362 (2026-09-11)

                Bug 修复

                • 修复行维度页模板多根 + 章鱼图/珍珠图页面注册错位,恢复编译

                其他

                • (提交 2b1fcdc96 引入的重复 /view 导致多根报错)
                • - pages.json 将 pearl-add-resource/octopus-add-effect/octopus-add-key-person
                • 从 pages/assessment 分包移到正确位置 pages/action-detail 分包
                • (文件实际位于 action-detail,误注册导致 main.js 编译找不到页面)

                v1.0.1361 (2026-09-10)

                Bug 修复

                • 移除 pages/growth 分包残留的 growth-emotion-checkin 路由注册(页面已并入 mind-detail 情绪打卡),修复 HBuilderX 编译找不到文件

                v1.0.1360 (2026-09-10)

                Bug 修复

                • 移除不可行的会员订单归属校验 + 修复前端 add-effect 页面(toggleType/导入)

                v1.0.1359 (2026-09-10)

                新功能

                • 关键人拓展章鱼图全链路上线(替换旧章鱼图 + 成效/关键人/分析/拓展 + 三层Canvas)
                • 提醒列表页 + PearlController 5 接口补齐 + pages.json 路由修正
                • 登记资源页 25 类连接类型分组选择器
                • PearlDiagram 两层同心圆重构 + 父组件 overdueMap 集成
                • 前端 API 方法与提醒页路由注册
                • 每日定时生成互动提醒任务
                • 新增 3 实体 + 3 Mapper(octopus_effect_record/octopus_key_person/octopus_effect_key_person)
                • ResourceService 25组聚合/互动/提醒/价值分
                • ResourceItem 实体新增社会连接字段
                • ConnectionType 枚举与互动/提醒实体 Mapper

                文档

                • API_REFERENCE 同步珍珠图 25 类与新增接口

                其他

                • db: 迁移305-307 关键人拓展 3 表(octopus_effect_record/octopus_key_person/octopus_effect_key_person)

                v1.0.1358 (2026-09-10)

                新功能

                • 复用现有 TongueDiagnosisAgent 路由,补全视觉 LLM 实现走 LangGraph

                其他

                • - src/graphs/tongue: load_image 支持 data URL
                • - src/app.py: 移除与 app/api/tongue.py 冲突的死路由
                • - AiGateway.analyzeTongue: 改 multipart 表单提交(file+user_id),解包 data
                • - AIService/TongueDiagnosisService: 传字节而非 base64
                • - compose: image v7

                v1.0.1357 (2026-09-10)

                文档

                • 报告快速分析实现计划 + PROJECT-OVERVIEW 索引更新

                其他

                • - 复用 aiService.sendMessage(含记忆层+镜像),LangGraph 零改动
                • - 免费版 Redis INCR 每日 1 次 fail-open,付费版多轮

                v1.0.1355 (2026-09-10)

                新功能

                • 舌诊迁移至 LangGraph(glm-5 视觉模型),废弃 Dify 舌诊

                其他

                • - llm/client: 新增 get_vision_llm() 复用网关 key,默认 glm-5(实测 MiniMax 后端 DNS 不可达)
                • - AiGateway: 新增 analyzeTongue(imageBase64) 调 LangGraph 舌诊
                • - AIService.sendTongueDiagnosis: 改走 AiGateway,删除 Dify 调用
                • - TongueDiagnosisService: parsePreview 读取 MultipartFile 转 base64
                • - application.yml: 删除 dify.tongue-api-key 配置

                v1.0.1354 (2026-09-10)

                Bug 修复

                • 戒备食材链路修复——caution-detail key 编译报错 + gut-flora 按报告主体传参

                其他

                • 微信小程序模板编译器不支持,改为 getMemberKey(item) 方法调用
                • - gut-flora-detail 戒备食材数量与戒备页跳转按报告 subjectId 传参,
                • 修复家长账号查询不到孩子推荐指数的问题

                v1.0.1353 (2026-09-10)

                Bug 修复

                • 修复 tianpan 首页 loading-overlay 选择器丢失导致的 CSS 编译失败

                其他

                • - 补回选择器,恢复正常编译(SyntaxError Unexpected })

                v1.0.1352 (2026-09-10)

                Bug 修复

                • 修复健康报告解析入库失败(draftId 84 两个根因)

                其他

                • 防止 opencode 回退解析产出的超长 status 导致 'Data too long for column status'
                • - DatabaseInitializer 迁移307: health_gut_flora.bacteria_name 改为可空(LLM 偶发缺菌种名触发 NOT NULL 冲突)
                • - DatabaseInitializer 迁移308: health_indicators.status 放宽到 VARCHAR(100)
                • - schema.sql 同步 bacteria_name NULL + status VARCHAR(100)

                v1.0.1351 (2026-09-10)

                Bug 修复

                • 健康页推荐阅读增加更多入口,修复字段风险详情溢出

                其他

                • - parent-index 推荐阅读区块增加'更多'入口
                • - gut-flora-risks-detail 增加 content-inner 包裹修复 scroll-view 内容溢出
                • - growth-main 饮食推荐入口回归 /pages/diet/index
                • - 成长页心情记录入口跳转至 mind-detail 情绪打卡页并透传 memberId
                • - 情绪打卡页新增近期心情历史列表(/api/mind/checkin/list 前5条),兼容 Plutchik 与成长页情绪词表
                • - 修复提交成功后跳转死链 /pages/mind/emotion-trend 与趋势页返回死链 /pages/mind/emotion-checkin
                • - 情绪趋势页支持 memberId 参数兜底与成长页情绪词表标签映射

                新功能

                • 情绪打卡合并成长页心情记录,支持近期心情历史查看

                v1.0.1350 (2026-09-10)

                Bug 修复

                • 修复 ContactHelpLogService Map.of() Java9+ 语法及 Comparator 类型推断问题

                v1.0.1349 (2026-09-09)

                新功能

                • 关系三图——章鱼图(谁帮过我)/珍珠图(我有什么)/能力图(谁会什么) 全链路上线

                v1.0.1348 (2026-09-09)

                Bug 修复

                • 情绪识别 DeepFace 置信度归一化 + 权重预置

                其他

                • - detector_backend 用 opencv(内置 Haar Cascade,无需额外 mediapipe 依赖)
                • - Dockerfile: 预置 DeepFace FER 权重到镜像(避开 GitHub 下载限速)
                • - docker-compose.yml: pin 镜像 v3
                • - 新增 .dockerignore 加速构建

                v1.0.1347 (2026-09-09)

                Bug 修复

                • 修复 onLoad/onShow 生命周期双发 guard 变量名对齐规范
                • 修复删除推荐码后 logout 方法合并错误

                新功能

                • 新建 team-tree 页面 + pages.json 注册 + API_REFERENCE 更新
                • 新增我的推荐人卡片与团队层级入口
                • 新增 getTeamConsumption、getMyReferrer、getTeamTree
                • 删除富页面推荐码横条
                • 新增 /api/commission/team/consumption、/my-referrer、/team/tree 接口
                • 实现 getTeamTree 树形扁平数据(含 memberConsumption、myCfEarnedFromMember)

                其他

                • - 注册 team-tree 到 pages/profile root
                • - 更新 API_REFERENCE.md 新增 4.21 扩展说明及 3 个新接口
                • - 修复 wealth/index.vue 删除推荐码后 logout 语法错误

                重构

                • getTeamList memberConsumption 对齐 getTeamTree 使用 Integer 类型

                v1.0.1346 (2026-09-09)

                新功能

                • 新用户引导页强化 - 从痛点切入强调'看见和了解'
                • 报告编辑页支持成员选择/重选/解绑 + 删除重算维度

                其他

                • - OnboardingGuide: 家长端新增第1步痛点开场'你真的了解孩子的状态吗?',子步骤强调'五维沙盘看见全家''小任务大改变''心愿墙看得见努力';孩子端新增'你的每一点成长,都被看见'
                • - 首页Hero/登录页: slogan统一改为痛点钩子'孩子的情绪、习惯、能力,你真的看见了吗?',sub-slogan强化痛点叙事'情绪低落没察觉、习惯变化没注意、能力短板没发现——问题爆发才着急。先看见,先了解,不等问题发生。'
                • - /report/edit 移除 subjectId 必填,支持 null(解绑)/ 0(不变)/ 正值(绑定或切换)
                • - updateReportFromPayload 按 subjectId 语义重算维度分:
                • * 正值:绑定或切换成员,重算新成员 + 原成员(含食材推荐)
                • * null:解绑,重算原成员(移除报告影响)
                • * <=0:保持不变(子页面局部编辑不触碰绑定)
                • - deleteReport 删除后重算原绑定成员的维度分(含食材推荐)
                • - 新增 FoodRecommendService 注入(@Lazy 打破循环依赖)
                • 前端:
                • - report-detail.vue saveEdit 未选成员传 null(解绑),面板加「不绑定成员」选项
                • - gut-flora-detail.vue draft 模式补成员选择面板 + doConfirm 传 subjectId
                • 行为:未选成员 → 报告不纳入任何用户/家庭维度计算;选中 → 纳入并重算;删除 → 重算

                v1.0.1345 (2026-09-09)

                新功能

                • 知识中心改名知识分享 + 卡片显示阅读次数总时长
                • 实现 getMyReferrer 获取我的直推人信息
                • 实现 getTeamConsumption 团队消费统计(按 referral_tree level 聚合,fulfillStatus=completed)
                • 注入 ProductOrderMapper、ReferralTreeMapper 到 CommissionService

                其他

                • - article-center/index.vue: 导航栏标题/注册标题改为知识分享,卡片 footer 新增 ⏱ 总时长
                • - discover/index.vue: 区块标题改为知识分享,推荐卡片 meta 新增 👁 阅读次数 + ⏱ 总时长
                • - 新增 formatDuration() 前端格式化:<60分钟显示分钟,≥1小时显示小时+分钟

                Bug 修复

                • 修复预存编译错误(HealthReportDraft 重复字段、DatabaseInitializer 缺 logger)

                v1.0.1344 (2026-09-09)

                文档

                • 团队层级树实现计划(13 Tasks,后4+前7)

                v1.0.1343 (2026-09-09)

                新功能

                • 菌群详情页标签增加分类数量统计,列表人群/检出/丰度/正常单行展示

                其他

                v1.0.1342 (2026-09-09)

                文档

                • 修正团队层级设计 - 订单状态字段/树响应字段/UI实现
                • 团队层级树与推荐关系可视化设计文档

                其他

                • - 树响应 nodes[] 新增 memberConsumption、myCfEarnedFromMember 字段
                • - 根节点('我')不包含在 nodes 数组中
                • - 更新 UI 实现代码片段(无根节点、flex column-reverse、L1为起点)
                • - audit 通过(0 error)
                • - 更新 PROJECT-OVERVIEW.md 记录
                • - 涵盖:富页面去推荐码、我的页面推荐人卡片+团队入口、树形页面从下往上生长、团队消费额分级统计(默认3级可配)、直推成员消费/CF明细、4个后端接口新增/扩展
                • - audit 通过(0 error)

                v1.0.1341 (2026-09-09)

                Bug 修复

                • 首页分享卡片去掉不存在的 imageUrl 避免空白

                其他

                • 改为不指定 imageUrl,微信自动截取当前页面截图作缩略图。

                v1.0.1340 (2026-09-09)

                文档

                • 同步天盘接口文档

                Bug 修复

                • recalibrate接口补充权限检查
                • 上传报告支持聊天记录选取图片,移除从文件夹选取入口
                • family-members 移除多余括号修复编译错误

                新功能

                • 新增家庭传统命理页面+入口卡片
                • 天盘首页canvas节点标注生肖灵数+成员弹窗增强
                • 扩展天盘服务支持五维基础分展示和重算接口
                • 新增五维基础分计算服务FamilyMemberDimensionBaseScoreService
                • 新增五维基础分表及迁移305

                v1.0.1339 (2026-09-09)

                新功能

                • 新增5个认知测试页面 + 自测提交API

                其他

                • - CognitiveService.submitSelfTestScore() 支持无档案时自动建表
                • - 前端新增 5 个认知测试页:逻辑推理/感知觉/记忆力/空间思维/加工速度
                • - 训练中心入口新增 5 个测试卡片
                • - 健康页面 tab 顺序调整为:健康/认知/财富/社会性/心理

                v1.0.1338 (2026-09-09)

                文档

                • 更新天盘设计——五维基础分改为落库+重算接口
                • 家庭天盘传统文化+五维基础分设计文档

                v1.0.1337 (2026-09-09)

                新功能

                • 情绪识别接入 DeepFace (LangGraph + 后端接口)

                其他

                • - cfc-backend: 新增 EmotionRecognitionController(文件上传/URL 两种方式)
                • - cfc-backend: AiGateway 新增 analyzeEmotion / analyzeEmotionByUrl 方法
                • - docs: 新增舌诊情绪识别技术选型报告,更新 API_REFERENCE.md

                v1.0.1336 (2026-09-08)

                新功能

                • 报告解析迁移到 LangGraph - 新增 LangGraphReportParseService

                其他

                • - ReportCollectService: 已知类型解析改走 langgraph_script,空回退 opencode
                • - ReportFingerprintService: 脚本缺失日志降为 debug

                v1.0.1335 (2026-09-08)

                Bug 修复

                • 统一文章/商品/活动页海报入口按钮为「生成海报」胶囊样式

                新功能

                • ReportCollectService 大改 + 五维维度白名单校验(DimensionCodes)

                其他

                • - DimensionCodes: 五维维度码白名单校验,防止 JSON 路径注入导致 500
                • - ActivityService/ProductService/ArticleService/TaskService/ContentRecommendService: 相关适配改动

                v1.0.1334 (2026-09-08)

                新功能

                • 互动记录支持照片/视频/音频附件上传及多项优化

                其他

                • 后端 interaction_logs 加 photo_urls/video_url/audio_url 列,迁移303)
                • - 互动记录:修复保存失败(fromMemberId==toMemberId 后端拒绝,改为
                • 当前用户发起/toMemberId=选定成员,互动对象列表过滤本人)
                • - 家庭成员页:列表隐藏当前登录用户(filteredMembers)
                • - 成员选择进入记录互动时隐藏互动对象选择器,默认选定的成员
                • - relation-detail 互动记录入口修正路由(family→action-detail)
                • - 报告上传:合并 DAN 与健康报告上传页,指纹自动识别类型,取消手动
                • 选择报告类型/维度,新增从聊天/拍照/文件夹三种上传方式
                • - 推荐人绑定:bindReferralIfNotSelf 防自邀打扰(缓存本人邀请码,
                • 邀请码==本人时静默跳过),登录/分享/新用户流程接入
                • - 家庭邀请冷启动识别 token/familyInviteCode 参数,放行落地页
                • - user-edit 新用户流程:家庭身份选择置顶、提交申请/跳过悬浮底部
                • - invite/join 先初始化登录状态再校验家庭邀请
                • - 录入页面 & 深层分享参数兜底 & 会员升级等文案微调
                • - user-edit.vue: 3个提交按钮加 :disabled,saveUserInfo/submitTeacherInfo/joinFamilyAction 加 early-return 守卫
                • - audit script: 守卫白名单补充 _pageShown,修复 report-list.vue 误报 ERROR
                • 登录异常报错问题

                Bug 修复

                • LoginResultDTO 补 phone 字段修复编译错误
                • 登录/资料页防重复提交 + 修复重复调用审计

                v1.0.1333 (2026-09-08)

                Bug 修复

                • 家庭成员管理页过滤本人、展示与当前用户的关系标签

                其他

                • - family-members.vue: 成员数/空态改用 filteredMembers
                • - UserService.getVisibleMembers: 查询 viewerFm,为 parent 源成员补算 relativeLabel(丈夫/妻子/儿子/女儿等)

                v1.0.1332 (2026-09-08)

                新功能

                • 成长页跳转带 memberId + 食材页分类/排序/溢出修复
                • 健康报告食材推荐接口支持 memberId 查询孩子视角

                其他

                v1.0.1331 (2026-09-08)

                文档

                • 新增运营方略(1+N矩阵)与同类账号探索报告 - 品牌定位与竞品依据
                • 新增官方号搜索收割内容第一批 - 5篇用户视角SEO布局
                • 发布指南新增内容创作第一原则 - 讲用户想听的(4信号源+主语转换法+自检清单)

                v1.0.1330 (2026-09-08)

                新功能

                • 成员被邀请走时原家庭付费会员权益合并到邀请人家庭

                v1.0.1329 (2026-09-08)

                Bug 修复

                • AiGateway 超时分离 - connect 快速失败 + read 覆盖 LLM 推理耗时
                • 会员升级自动发JOIN券/用户列表倒序/商品券支付可选/兑换提醒移至支付

                其他

                • - application.yml: 新增 python.read-timeout-ms: 120000
                • - 前端 api.js: request 支持 timeout 选项(不混入 query),问卷接口加 130s 超时
                • grantFamilyJoinCoupons 发放 JOIN 赠券(幂等防重), 记录发券结果
                • - AdminController /users: 无 sort 参数时默认 orderByDesc(createdAt) 倒序
                • - CouponService.toCouponVO: 补 productId 字段, 前端可按商品匹配券
                • - checkout.vue: ownedCoupons/availableCoupons 对 PRODUCT 券按当前商品
                • productId 匹配(原来一刀切过滤非 ALL 券导致商品券选不到); 新增
                • affordableExchangeCoupons - CF 不足时不再显示兑换提醒
                • - product-detail.vue: 移除商品页积分兑换优惠券区块, 兑换提醒移至支付时
                • (无对应券+CF 足够才提示)

                v1.0.1328 (2026-09-07)

                Bug 修复

                • 修复已绑定推荐人重复提示与新用户信息补充页问题(boundInviteCode防重+新用户流程隐藏浠宝福宝选择+家庭身份选择回显)

                v1.0.1327 (2026-09-07)

                新功能

                • 登录后首页接入新手引导(成长礼包进度条+首次登录3步引导浮层+添加成员引导)

                其他

                • 登录异常报错问题

                v1.0.1326 (2026-09-07)

                Bug 修复

                • 修复邀请码解析失败导致分享推荐人无法绑定

                其他

                • 前端 7 处却按对象取 res.data.referralCode/code,恒为空导致分享 path
                • 拼不出 inviteCode,新用户打开无码注册后无推荐人。新增
                • extractReferralCode 统一解析(兼容字符串/对象),并修正 share-mixin
                • 默认分享 path 死路径 /pages/index/index -> /pages/index-home/index。
                • 菌群检测问题

                v1.0.1325 (2026-09-07)

                Bug 修复

                • 管理端接口权限加固 - 用户/孩子/任务模板端点校验平台角色

                其他

                • - /users /users/create /users/{id} 等 13 个管理端点加 @RequestAttribute role/roles 校验
                • - 防止匿名或 C 端角色越权调用管理接口

                v1.0.1324 (2026-09-07)

                Bug 修复

                • 分享文章/小程序冷热启动捕获邀请码,新用户注册登录后自动绑定推荐人

                v1.0.1323 (2026-09-06)

                Bug 修复

                • 首次注册完善信息页移除会员提醒并放开全部补充字段

                其他

                • - 会员锁定提示加 !isNewUserFlow 条件,注册流程不再推送开通会员
                • - 移除所在地区对新用户的必填星号,所有字段保持可选

                v1.0.1322 (2026-09-06)

                Bug 修复

                • FamilyMember.memberType 标记 @TableField(exist=false) 不落库

                其他

                • - DatabaseInitializer: 补充生产库对账记录(member_type 手工 ALTER 说明)

                v1.0.1321 (2026-09-06)

                Bug 修复

                • 未登录点分享内容不再弹登录失效 + 新用户注册后绑定推荐人

                其他

                • - user-edit 新用户流程保存后消费 inviteCode 绑定推荐人,修复注册后推荐人丢失

                v1.0.1320 (2026-09-06)

                文档

                • 新增小红书运营方略 - 人群拓展与内容策略 + 运营知识库(营销逻辑/品牌升级/科学种草实战)

                v1.0.1319 (2026-09-06)

                新功能

                • 登录前首页重构 - 首屏呈现平台定位/价值主张/三步上手引导

                v1.0.1318 (2026-09-06)

                Bug 修复

                • 操作日志列表排序生效 + 搜索框高度调整

                其他

                • - UserOperationLogService.queryLogs 加 sortSpecs 参数,显式 SortUtil.applySort
                • (不再依赖 SortContext ThreadLocal 时序,确保排序可靠生效)
                • - OperationLogs.vue 搜索表单加 size=small 统一高度

                v1.0.1317 (2026-09-06)

                Bug 修复

                • 落地页按格式分流校验邀请令牌与短邀请码

                其他

                • 按格式分流:32位hex走 validateInvitation,否则走 validateFamilyCode。

                v1.0.1316 (2026-09-06)

                新功能

                • 首页 Next Best Action 引导条 - 解决首屏'不知道该干啥'

                v1.0.1315 (2026-09-06)

                文档

                • 补充家庭成员切换/回收箱接口文档

                新功能

                • 新增主动退出与回收箱回收接口
                • 邀请切换改为单成员切换语义并接入非微信限制
                • 实现成员切换/退出/回收核心逻辑
                • 新增收回家庭人口券方法支持成员被踢出时回收
                • 迁移300为family_members添加status列支持回收箱

                v1.0.1314 (2026-09-05)

                新功能

                • onboarding读取侧完整迁移——getProgress读tasks表+claim自动发放+模板种子数据

                v1.0.1313 (2026-09-05)

                Bug 修复

                • TaskService 注入 UserService 加 @Lazy 打破循环依赖
                • OnboardingService 注入 TaskService 加 @Lazy 打破循环依赖(userService↔onboardingService↔taskService)
                • 修正 DatabaseInitializer 候选记录第3条迁移编号引用(298→299)
                • 清理 DatabaseInitializer 排查残留注释(PROBE)与迁移294重复日志行

                其他

                • 导致应用启动失败 APPLICATION FAILED TO START,加 @Lazy 打破

                v1.0.1312 (2026-09-05)

                Bug 修复

                • 清理 DatabaseInitializer 迁移299残留垃圾行 + npm 构建版本更新

                v1.0.1311 (2026-09-05)

                新功能

                • 商品详情页迁移至 discover-detail + 微信订单中心商品明细

                其他

                • - 后端: PaymentService 支持微信订单中心商品明细(goods_detail)展示
                • - 活动/会员/商品订单支付描述优化(用真实名称替代固定文案)

                v1.0.1310 (2026-09-05)

                文档

                • 用户身份标识 userId/memberId 使用指南(rebase 带入的远程文档)
                • 统一任务系统实施完成,更新项目全景索引

                新功能

                • 前端统一任务中心——tasks.vue聚合进度型任务,daily-tasks.vue重定向
                • FamilyContextService AI任务查询改查tasks表(source_type=ai)
                • 一次性迁移——growth_task DAILY定义迁入admin_task_templates(旧表只读保留)
                • 新人引导复用任务模板+落tasks表(source_type=onboarding,顺序链前置解锁)
                • GrowthTask DAILY/AI任务迁入TaskService(tasks表统一执行),旧Service委托+废弃
                • CreateTaskDTO支持source_type/is_daily_progress/target_value透传
                • admin_task_templates新增onboarding_sequence字段(新人引导复用任务模板)
                • tasks表新增is_daily_progress/target_value字段,source_type扩展(统一任务系统)

                v1.0.1309 (2026-09-05)

                文档

                • 添加测评案例与参考资料 PDF(吴一墨/廖云泽菌群检测、方案)

                其他

                • - manifest.json: 移除 lazyCodeLoading 配置
                • - join.vue: onLoad 解析邀请 token(含 scene invite= 前缀),被邀请用户跳转 user-edit 完善家庭身份并提交加入申请
                • - login.vue: 登录完成后检测待处理家庭邀请,直接跳转 user-edit 续接流程
                • 后端:
                • - CommissionService: 新增 bindReferrerByUserId 幂等绑定方法(已有推荐人忽略),抽取 applyReferralSideEffects 复用副作用
                • - FamilyJoinRequestService: 审批通过后绑定平台推荐人为邀请人的上级推荐人(仅 token 路径、已有推荐人不动、邀请人无推荐人则跳过、失败不阻断审批)
                • - 新增 FamilyJoinRequestServiceReferrerBindTest 5 用例覆盖需求规则
                • - CircleService/CirclePostService: 待审核成员查询、成员审批逻辑
                • - circles.vue: 圈子列表页完善(待审核审批交互)
                • - circle-feed.vue: 圈子动态页增强
                • - parent-index.vue: 圈子排名改为先取圈子列表再查排名
                • - api.js: 新增 getPendingCircleMembers / approveCircleMember
                • - docs/analysis: 圈子功能分析文档

                Bug 修复

                • 切 Tab 返回时同步 currentRole 登录态
                • 家庭邀请分享流程修复 + 平台推荐人绑定规则(需求)

                新功能

                • 圈子成员待审核审批 + 圈子排名接入首页(前后端)

                v1.0.1308 (2026-09-05)

                Bug 修复

                • Critical 修复——isSwitchable 设置 + ProfileHeader 走新切换流程
                • 退出切换密码校验失败时补充用户提示

                重构

                • switchToChildWithCheck 文案与注释对齐 member 语义
                • children 表下线,ChildMapper 标注废弃,AccountCleanup 迁移至 family_members
                • role=child 判断清理(历史兼容注释 + InviteCard role 改为 parent)
                • FamilyMemberStrip 切换入口仅对不可登录成员开放
                • 切换视图统一 member 语义,退出切换接入密码校验

                新功能

                • 存量 role=child 账号强制迁移为成员模型(迁移298)
                • 切换入口确认提示 + 退出切换统一密码校验
                • 恢复退出切换接口 switch-back-verify(带密码校验)
                • 新增切换保护密码设置接口 set-switch-password
                • phoneLogin 复用无 openid 的预留成员用户并补 openid
                • addMember 同步创建无 openid 的 user 记录(不可登录成员)
                • switchToMember 仅允许切换不可登录成员
                • FamilyMemberVO 新增 isSwitchable 字段
                • FamilyMember 新增 memberType 成员类型字段与可切换判定

                文档

                • executorType/creatorType/memberType 业务字段注释统一为『非登录用户』语义
                • 成员模型重构——清理孩子/child角色定义实现计划

                v1.0.1307 (2026-09-05)

                Bug 修复

                • 修复选择规划师页调用available-guides缺少packageId报错

                其他

                • packageId 缺失报错,且返回字段 guideId/nickname 与页面模板 id/name 不匹配)。
                • 改用后端已有的 /api/health-plan/available-teachers 接口,返回 id/name/isBound
                • 等字段,与页面模板完全匹配。api.js 新增 getAvailableTeachers(familyId) 封装。
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai

                v1.0.1306 (2026-09-05)

                Bug 修复

                • 最终审查6项修复——废弃旧方法/修正迁移296/补充状态机测试/更新注释
                • cancelPlan级联清理方案未完成任务
                • purchasePackage补幂等复用并生成任务,消除active空壳

                测试

                • 统一任务生成器幂等/生成/级联清理单元测试

                新功能

                • 迁移296/297修正存量健康/认知训练方案任务source_type
                • 认知训练方案任务补设source_type=training_plan可溯源
                • 健康方案任务source_type改为health_plan,消除与plan的ID域冲突
                • 状态机收敛generated→active,confirm改走applyAndActivate
                • 新增统一任务生成器generateTasksFromTemplate

                重构

                • activate改用统一任务生成器,删除重复模板生成逻辑

                v1.0.1305 (2026-09-04)

                新功能

                • 迁移295补齐task_plan_instances审核/确认/激活列
                • 后台全部列表页支持点击列头排序

                其他

                • - SortInterceptor 从缓存 body 读 sort 写入 SortContext(原只读 URL query,
                • 前端发 body 永远读不到),激活代码库 307 处已有 SortUtil.applySort 无参调用
                • 前端:
                • - SortMixin 补 onSortToggle 方法(修复 20 个文件 onSortToggle is not a function)
                • - SortMixin 新增 reloadAfterSort,兼容 loadList/loadData/loadTasks/loadPlans
                • 四种加载函数名,解决点击表头不刷新问题
                • - 107 个列表页接入 SortMixin(admin/teacher/nutritionist/root 各模块)
                • - 3 个位置参数 API 封装(guidePackage/guideTask/teacherMessage)加可选 sort 参数
                • 跳过:配置页/详情页/组件/仪表盘/树形表等非列表页(23 个)

                v1.0.1304 (2026-09-04)

                文档

                • 方案转任务统一设计 + 实现计划(source_type拆分 + 统一生成器 + 状态机收敛)

                其他

                • - CommissionService/UserService: 用户不存在场景补充 warn 日志
                • - DatabaseInitializer: 生产库对账候选风险记录(注释)
                • - AGENTS.md: 环境区分说明(测试库 vs 生产库)
                • - cfc-web: 版本号 1.0.1300 + CHANGELOG 更新

                v1.0.1303 (2026-09-04)

                文档

                • 新增 xhs-daily-report 计划文档
                • 新增小红书便秘腹泻帐号起号方案与计划
                • 新增小红书内容 D33/D34 与发布检查清单

                新功能

                • 日报采集点赞/收藏/分享字段,统计未回复评论数
                • 长任务进度上报与无限等待,bot 接入进度回调

                Bug 修复

                • 修复家长成员VO缺少memberId/name字段,导致生成方案页面无法正确识别家长成员

                v1.0.1302 (2026-09-04)

                文档

                • 统一任务系统实现计划(9任务:数据层/服务层/迁移/前端)

                v1.0.1301 (2026-09-04)

                文档

                • 统一任务系统设计规格(多套任务体系合并为单表 tasks)

                新功能

                • 调研页多成员 tab 页签样式 + 进入问卷时初始化当前成员表单

                v1.0.1300 (2026-09-04)

                新功能

                • 美化方案制定页 - 目标输入框加大、下一步按钮缩小、空成员跳转成员管理页

                v1.0.1298 (2026-09-04)

                新功能

                • 合并重复的文章列表页为知识中心,统一入口到 article-center

                其他

                • 废弃 mind-extra/articles 和 mind-detail/articles,6 处入口重定向并删除注册

                v1.0.1297 (2026-09-04)

                Bug 修复

                • moveSortOrder 排序方向与 getFeatured 对齐(published_at DESC)

                新功能

                • 文章推荐排序——精选顺序可定义(sort_order + 上移/下移)

                其他

                • - getFeatured/getPublicList 改按 sort_order ASC 排序
                • - toggleFeatured 设为精选时追加队尾,不抢占既有顺序
                • - 新增 POST /api/admin/articles/move 上移/下移 + 全局重编号
                • - 管理端 ArticleManage 精选行显示上移/下移 + 序号徽章

                v1.0.1296 (2026-09-04)

                文档

                • 文章推荐排序实现计划

                新功能

                • 后台家庭成员改为仅区分管理员/成员

                其他

                • - AdminController.getFamilyMembers 返回统一 members 列表(合并 family_members + users 家长),保留 parents/children 兼容字段
                • - 新增 setMemberAdminRole 接口:设/撤管理员,users 来源成员自动建记录持久化角色
                • - Families.vue 查看成员弹窗合并为单一列表 + 角色标签/操作按钮

                v1.0.1295 (2026-09-04)

                文档

                • 文章推荐排序实现计划

                Bug 修复

                • 修复4个后台列表页点击排序失效,清理2个页面的死SortMixin代码

                其他

                • 导致 AdminRecipe、AdminCoupon、AdminAssessmentOrder、AdminTask、
                • AdminSubscription 五个接口排序不生效。
                • 后端修复(5个文件):
                • - AdminRecipeController / AdminCouponController / AdminSubscriptionController:
                • 从@RequestBody读sortSpecs,调用SortUtil.applySort(wrapper, sortSpecs, null)
                • - AdminRecipeController / RecipeService:新增listByMealType(mealType, sortSpecs)重载,
                • 原无参方法保留供MealRecommendService调用
                • - AdminController.getTasks() / getAssessmentOrderList():同模式替换SortUtil.applySort(wrapper)
                • - CouponService:新增listAll(sortSpecs)重载,使用QueryWrapper+SortUtil
                • 前端修复(2个文件):
                • - AssessmentOrders.vue / SubscriptionManagement.vue:
                • 移除死SortMixin(无排序触发逻辑),清理sort-header/sort-tag CSS

                v1.0.1294 (2026-09-04)

                Bug 修复

                • 移除 HealthReport 重复的 reportFormat 字段,修复 Lombok 编译失败
                • 登录页改浅色背景深色文字单页布局,首页移除主动健康闭环与五维能量区块

                文档

                • 文章推荐排序(精选顺序可定义)设计规格

                v1.0.1293 (2026-09-04)

                文档

                • 文章推荐排序(精选顺序可定义)设计规格

                Bug 修复

                • 迁移290修正(6表21列) + 迁移292 health_status 补 member_id 成员级归档
                • 迁移290修正 - 实体补@TableField列名映射 + schema同步 + auto bump

                v1.0.1289 (2026-09-04)

                Bug 修复

                • 迁移290 批量补齐12表33列真实缺列(防Unknown column)+ auto bump

                样式

                • 右上角个人/全家切换按钮更醒目(渐变胶囊+阴影+放大)

                其他

                • redesign: 重构登录前首页与登录页,引入主动健康闭环×五维框架

                新功能

                • 个人/全家切换移到控件右上角,替换原徽章文案
                • 首页能量沙盘个人/全家切换始终显示,成员<2时点全家弹提示引导添加

                文档

                • 添加 log-to-human 团队级技能文档

                v1.0.1288 (2026-09-04)

                样式

                • 右上角个人/全家切换按钮更醒目(渐变胶囊+阴影+放大)

                v1.0.1287 (2026-09-04)

                其他

                • redesign: 重构登录前首页与登录页,引入主动健康闭环×五维框架

                v1.0.1286 (2026-09-03)

                新功能

                • 个人/全家切换移到控件右上角,替换原徽章文案

                文档

                • 添加 log-to-human 团队级技能文档

                v1.0.1285 (2026-09-03)

                新功能

                • 首页能量沙盘个人/全家切换始终显示,成员<2时点全家弹提示引导添加

                v1.0.1284 (2026-09-03)

                Bug 修复

                • health_reports 补 report_format 列(迁移289)+ auto bump

                v1.0.1284 (2026-09-03)

                Bug 修复

                • health_reports 补 report_format 列(迁移289)+ auto bump

                v1.0.1284 (2026-09-03)

                新功能

                • 健康报告收集功能 - ReportCollectService + draft 草稿 + 小程序上报页面
                • 能量沙盘个人/全家切换移到右上角,单成员时弹提示引导添加
                • extend search to title+summary+tags; fix compile errors in FoodRecommendService and HealthReportController
                • 家庭运营增加优惠券列表和使用记录(后端/family-coupons + /family-coupon-usage,前端弹窗展示)
                • 管理端商品编辑页新增可选赠品配置区块
                • 优化谷禾菌群报告详情页展示与饮食推荐
                • 小程序商品详情赠品选择区 + checkout 透传 giftItemIds
                • createMultiItem 单商品路径支持赠品(抽取 processGifts 共享方法)
                • handlePaymentSuccess 追加赠品发放逻辑
                • create 流程注入赠品校验与 product_order_gifts 记录
                • 新增管理端赠品配置接口(/api/admin/product-gift/save + /list)
                • 新增 ProductGiftService(配置保存/查询逻辑)
                • 新增三张赠品表实体类与Mapper接口
                • 建三张赠品相关表迁移(product_gift_configs/items/order_gifts)

                其他

                • 知识中心-知识分类,修复视频上传异常问题
                • 知识中心-知识分类,修复视频上传异常问题
                • 知识中心-知识分类,修复视频上传异常问题
                • 修复视频上传异常问题
                • 优化修复
                • - FoodRecommendService: add missing import java.math.BigDecimal
                • - HealthReportController: remove undefined 'parsed' reference in buildPayloadFromLgData
                • 切换开关仅依赖 hasMultipleMembers(有 2+ 成员时显示),
                • familyUnlocked 仍作为 prop 保留,不影响 GateLock 门禁展示。
                • - child-index: loadData 中 getChildren() 改为 getFamilyMemberList({visibleOnly:true}) 一次调用,同步设置 familyMembersVisible,跳过后续 loadFamilyMembersVisible()
                • - parent-index: dashboard 成功路径同步设置 familyMembersVisible + _membersVisibleSet,降级路径合并 getFamilyMemberList+getChildren 为单次调用并派生 children
                • - 首页 index-home: checkMemberStatus 移入 loggedInInitDone 守卫,onLoad/onShow 用 _onLoadFired 防首次双发
                • - 首页 index-home: loadFamilyFeed 循环前过滤孩子成员,避免对家长发起 getTaskHistory
                • - 全页面: energy/hierarchy/share/survey-history/parent-index/join/notification/onboarding/address/cart/checkout/shop-index/daily-tasks/service-tasks/teacher-home/wealth-cf 统一 _onLoadFired 模式
                • - parent-index: dashboard 降级路径同步设置 familyMembersVisible,避免重复请求 getFamilyMemberList
                • - utils/api.js: 全局请求去重(同 URL+method+body 3 秒窗口复用 Promise),401 重放跳过去重
                • - utils/api.js: getChildren/getUserBadges/getGrowthReport/getTaskHistoryByCategory 等别名统一委托规范函数
                • - 新增 scripts/audit-duplicate-api-calls.js CI 审计脚本(0 error)
                • - AGENTS.md: 新增规则 1-4 + 4a/4b/4c(生命周期双发、同接口单封装、N+1 过滤、getChildren 废弃)
                • - 疾病风险内联展示并颜色区分(注意/低风险),修复详情页与风险页统计不一致
                • - 疾病风险页知识库入口改为 ? 图标放疾病名之前
                • - 菌群详情页修复分类 tab 过滤(中文 category 映射英文 key)
                • - 菌群风险分组(肥胖/抑郁/过敏等)改手风琴展示
                • - 饮食推荐页:去重标题、按推荐值分级背景色(<-30红/>30绿/每10一档)、去蛋白能量固定信息、增加食材搜索、复用知识库弹窗
                • - 成长页饮食推荐复用食材页,不传 reportId 取最新建议
                • feat(product-gift): 商品详情附带当前用户等级赠品配置
                • - 涵盖:数据库迁移、实体/Mapper、ProductGiftService、管理端接口、
                • 下单校验+写记录、支付成功发放、商品详情装配、小程序前端、管理端前端
                • - 3张新表:product_gift_configs / product_gift_items / product_order_gifts
                • - 与现有 product_gift_rules(赠送会员)完全独立
                • - 赠品类型:商品 或 CF值,按会员等级配置,用户可多选
                • - 下单时写入订单赠品记录(fulfilled=0),支付成功后发放
                • - 更新 PROJECT-OVERVIEW.md §4.2 电商与供应体系,记录新设计稿

                Bug 修复

                • 补全 reportFormat 字段到 Payload DTO 和 HealthReport 实体,修复编译失败
                • self-check-result :key 移除字符串拼接表达式 'ma'+i,避免非 h5 平台编译警告
                • 移除能量沙盘切换开关的 familyUnlocked 门禁条件
                • 根治 family/member/list 与 tasks/history 重复调用——index-home loadFamilyFeed 改为只查第一个孩子、parent-index/child-index 合并 getChildren+loadFamilyMembersVisible 为单次 getFamilyMemberList
                • 根治重复API调用——首页合并 family/member/list 与 membership/my、全页面 onLoad/onShow 防双发 + 请求层 3 秒去重 + getChildren 废弃委托
                • processGifts 下单时复核赠品商品库存
                • 修复 toggleGift 后多余逗号语法错误
                • class 改用 _selected 状态字段,移除方法调用

                重构

                • 清理遗留项(未用注入/静默catch/Set去重/UUID导入/参数校验/Javadoc)

                文档

                • 商品可选赠品功能实施计划
                • 商品可选赠品功能设计稿(product-gift-selection-design)

                v1.0.1283 (2026-09-02)

                新功能

                • 饮食推荐幂等保存(同日同mealType更新)+ 前端配套 + bump

                Bug 修复

                • 移除 ProductEdit.vue 中误粘贴的 AI 规划 Markdown 文本,修复构建失败
                • 健康报告列表删除按钮改为左滑出现,修复未注册组件导致按钮显示在行上方

                v1.0.1282 (2026-09-02)

                Bug 修复

                • 饮食推荐查询改为 selectList 避免 NPE + auto bump version
                • 会员中心等级列表/统计/升级记录N+1三处修复
                • 废弃旧套餐支付链路,修复组合商品 bundle 部分扣减 bug
                • 修复最终审查问题(幂等唯一索引兜底 + NPE判空 + delete参数校验 + 前端路由/时间格式)
                • CfCommissionServiceTest 改调生产 CfReferralService.matchRateTier(注入 mock Mapper,消除 test-the-copy 反模式)
                • PromotionTierService.refreshRate 无匹配时重置 tier 为 R0
                • 修复 CfCommissionService.getSysBps 空 catch 违反规格
                • 修复推荐树 level 倒置 + referral_tree 唯一键改为 (parent_id, child_id) 联合

                其他

                • (listMembershipLevels/getMembershipStats 走拦截器返回已解包 {code,data},
                • 误按裸 axios 判定 res.data.code) 导致等级配置列表永远为空、统计卡不更新
                • - StatsController: freeCount 查询 .or() 位置错误导致恒为 0,改为嵌套 and(w->eq.or.isNull)
                • - upgrade-records 后端批量填充 userName,消除前端逐条调 user/search 的 N+1 请求
                • - 删除测试中引用不存在方法 getAdvicesForLowScores 的死桩,恢复 testCompile
                • - PackagePurchaseController.createOrder/getOrder:返回 410 标记废弃
                • 保留 getPackagePrice/getAvailableGuides(测评链路 VirtualPayService 复用)
                • - 删除 PackagePaymentService + PackagePaymentServiceInterface(已无调用方)
                • - ProductOrderService.handlePaymentSuccess 加 @Transactional,
                • 修复 bundle 多子商品库存扣减部分失败残留(原子性保障)
                • - PackagePaymentController /wechat params 空格路径 bug 修复
                • - 清理前端废弃 API createPackageOrder 及对应测试用例
                • 优化修复
                • 优化修复
                • 优化修复

                文档

                • API 文档补充 CF 分佣/转让/阶梯配置接口 + 单元测试
                • 修正任务1 schema.sql 同步为两张新表(cf_rate_tier/cf_transfer_record)

                新功能

                • 小程序推广中心切换到 CF 分佣接口(团队规模/比例/流水/钱包)
                • 管理端 CF 返佣阶梯配置接口(list/save/delete)
                • CF 成员间转让接口(同家庭校验 + 双账本 + 流水)
                • 用户查询接口(团队规模/返佣比例/CF汇总/流水)
                • 全部订单结算迁移到 CfCommissionService(统一 CF 值分佣),废弃旧佣金调用
                • 推荐绑定物化推荐树 + 团队规模全层级统计 + 阶梯比例刷新(替代 promotion_tier_config)
                • CfCommissionService 统一分佣核心(双返/只返推荐人/同家庭上溯/阶梯比例)
                • CfReferralService 推荐树物化 + 全层级团队规模 + 阶梯比例匹配
                • PlatformPointsService.earn 增加 (ref_type, ref_id) 幂等去重
                • 新增 cf_rate_tier 与 cf_transfer_record 实体/Mapper
                • 数据库迁移:cf_rate_tier/cf_transfer_record 建表 + promotion_tier 精简 + coupon 加 family_id

                v1.0.1281 (2026-09-02)

                其他

                • 内容: 评论通知相关收尾 - opencode_client 过滤纯空白回复; listener 转发消息到 opencode 会话生成回复; vbs 注释编码修正
                • 内容: 评论通知改造: 评论数增量检测+读取新评论+opencode生成针对性回复建议, 无新增不推送; 修复 xhs_feishu/opencode_client import 时劫持 stdout 导致输出关闭
                • 内容: 评论通知按笔记生成针对性回复建议
                • 内容: 评论通知加回复建议 + 三张整页截图 + 字段顺序修正
                • 内容: 三张整页截图(首页/笔记/账号概览) + 评论通知改简洁文本 + 字段顺序修正
                • 内容: 修正笔记列表字段顺序(阅读/评论/点赞/收藏/分享)
                • 内容: 添加评论检测脚本和启动脚本
                • 内容: 修复数据采集双周期 + 截图上传 + 近30日tab点击等待
                • 内容: 修复数据采集近7日/近30日双周期 + 截图上传修复
                • 内容: 添加机器人启动脚本(bat/vbs)供计划任务调用
                • 内容: 修复机器人reply接口多余receive_id_type参数
                • 内容: 小红书数据机器人双向监听(飞书长连接WebSocket版)
                • 内容: 修复日报脚本运营文案目录路径计算
                • 内容: 小红书创作者中心每日日报采集与飞书推送模块

                v1.0.1280 (2026-09-02)

                文档

                • 饮食页面换一批/生成食谱端到端修复实现计划

                其他

                新功能

                • 前端生成食谱/换一批取值修复 + 添加食材弹窗搜索
                • 生成食谱使用所选食材+共餐参与者,归一化LangGraph菜单
                • 换一批seed生效 + 食材搜索接口

                Bug 修复

                • 修复知识库弹窗长文本超出右边界

                v1.0.1279 (2026-09-02)

                新功能

                • 美化菌群报告疾病风险页并补充疾病知识库,手风琴标题去掉有效保留异常/共

                v1.0.1278 (2026-09-01)

                文档

                • 修正实现计划占位(getEffectivePpoint 签名/转让幂等键/家庭券库独立Controller)

                v1.0.1277 (2026-09-01)

                Bug 修复

                • 迁移编号 269 与 sleep_record 冲突,重编号为 278

                新功能

                • 优惠券全链路改为家庭维度

                其他

                • - 6条发放路径全部改为发到家庭(Admin/JOIN/POPULATION/PERIODIC/EXCHANGE/CF_EXCHANGE)
                • - CouponService 内部改为读 family_coupon,保留 API 路径与响应字段不变
                • - AdminCouponController 新增 /issue-family,/issue 改为 familyIds
                • - 家庭管理页新增发放优惠券弹窗,批量发放与发券记录改为家庭维度

                v1.0.1276 (2026-09-01)

                Bug 修复

                • 修复 P1-2 自检上下文在 Pydantic 层被静默丢弃

                文档

                • CF值分佣体系重构实现计划(cfclub分支)

                其他

                • - T1 数据库迁移(cf_rate_tier/cf_transfer_record 建表 + promotion_tier 精简 + coupon family_id)
                • - T2 新实体/Mapper(CfRateTier / CfTransferRecord)
                • - T3 PlatformPointsService.earn 幂等补丁
                • - T4 CfReferralService(推荐树物化 + 全层级团队规模 + 阶梯匹配)
                • - T5 CfCommissionService 统一分佣核心
                • - T6 推荐绑定物化 + PromotionTier 精简 + refreshRate 刷等级比例
                • - T7 7 处订单结算迁移点切换
                • - T8 旧佣金体系废弃标记
                • - T9 用户查询接口(团队规模/比例/流水/汇总)
                • - T10 CF 转让接口
                • - T11 优惠券绑定家庭 + 家庭券库
                • - T12 管理端阶梯配置接口
                • - T13 小程序推广中心前端改造
                • - T14 测试与 API 文档更新

                v1.0.1275 (2026-09-01)

                Bug 修复

                • 会员中心补listMembershipLevels导入 - 修复等级配置表加载ReferenceError, 等级标签补PREMIUM
                • 用户管理会员等级下拉改为后台动态加载5级, 优惠券管理等级选项同步动态化

                v1.0.1274 (2026-09-01)

                新功能

                • CF值分佣体系重构设计(cfclub分支)

                其他

                • 设计范围:
                • - 全部订单统一走 CF 值分佣,废弃旧佣金体系
                • - 纯团队规模阶梯分佣(cf_rate_tier 动态可配置)
                • - 同家庭互推上溯到第一个非同家庭引荐人
                • - 返佣返个人 CF 钱包,兑换优惠券挂家庭
                • - 新增 CfCommissionService + cf_transfer_record
                • - 用户可查团队规模与返佣比例
                • - 订单迁移点 7 处 + 前端改造方案

                v1.0.1273 (2026-09-01)

                新功能

                • 中间页展示自检趋势 AI 解读(P1-1)
                • 结果页改 AI 解读 + 生成计划按钮 + 问问AI(P0-1/P0-2/P1-2)
                • 新增 generateSelfCheckPlan/getSelfCheckTrendAnalysis API
                • AIChat sendMessage 支持 selfCheckId 注入上下文(P1-2)
                • 新增 /generate-plan + /trend-analysis 接口 + HealthPlanService.generateFromSelfCheck
                • 新增 MemberChipPicker 多选成员选择组件,修复 health-plan-summary 缺失组件编译失败

                Bug 修复

                • 删除 WuxingSourcingService 死 import

                v1.0.1272 (2026-09-01)

                新功能

                • 清理 WuxingSourcingService 静态表 + submitSelfCheck 接 AI

                v1.0.1271 (2026-09-01)

                新功能

                • AiGateway 新增 generateSelfCheckAdvice/generateSelfCheckTrend
                • WuxingSourcingAdviceVO 改造为 AI 建议 VO + SelfCheckAnalysisService
                • 新增 self_check 路由模块并注册到 main
                • 新增 self_check_trend_graph 趋势分析实现
                • 新增 self_check_analysis_graph + llm.client 薄包装

                文档

                • PROJECT-OVERVIEW 添加 AI 集成实现计划索引
                • 五维自检 AI 结合 P0+P1 实现计划
                • PROJECT-OVERVIEW 添加 AI 集成规格索引
                • 五维自检 AI 集成 P0+P1 设计稿(纯AI建议+计划生成+趋势+Chat注入)
                • 优惠券全链路改为家庭维度设计文档

                Bug 修复

                • 迁移编号 273/274 → 276/277,避开并发 dan_report/users 迁移占用

                v1.0.1270 (2026-08-31)

                其他

                • 优化修复

                v1.0.1269 (2026-08-31)

                Bug 修复

                • 登录前健康页去掉五维自检上方五个功能卡片,首页登录按钮去掉协议提示

                v1.0.1268 (2026-08-31)

                Bug 修复

                • 修复 preferences.wxml 编译错误 - :key 移除带字符串参数的方法调用,避免 data-event-opts 解析失败

                v1.0.1267 (2026-08-31)

                新功能

                • 家庭邀请新流程(短邀请码落地页 + 首登绑定邀请人)+ 分享补邀请码/朋友圈

                v1.0.1266 (2026-08-31)

                Bug 修复

                • 重命名迁移编号 269/270 → 273/274,避免与 run() 主流程 innate portrait 迁移冲突

                v1.0.1265 (2026-08-31)

                其他

                新功能

                • 支持 retake 参数获取轮换题库

                v1.0.1264 (2026-08-31)

                新功能

                • 会员中心等级配置添加编辑功能

                其他

                • - 新增编辑弹窗,支持修改等级名称/描述/价格/上限/开关/权限
                • - 后端已有 /api/admin/membership/level/update 接口

                v1.0.1263 (2026-08-31)

                新功能

                • 首页入口显示自检总分 + 跳转中间页
                • 注册 self-check-entry 页面;结果页「重新自检」改跳中间页
                • 新增自检中间页 self-check-entry.vue
                • 新增 getSelfCheckStatus 和 ignoreSelfCheck API 方法
                • 新增 /status 和 /ignore 接口;/questions 支持 retake 参数
                • Service 层抽题/状态/忽略/计分改造

                Bug 修复

                • 修复 pickQuestions 回退补题条件取反 + 清理 questionMap 死代码

                v1.0.1262 (2026-08-30)

                新功能

                • 新增 self_check_ignores 表和 question_ids_json 列(迁移269/270)
                • 能量沙盘支持我的/全家本地切换,后端一次返回个人+全家数据

                文档

                • 五维自检15天复检周期实现计划
                • 五维自检规格自检修复 + 更新 PROJECT-OVERVIEW 索引
                • 五维家庭自检15天复检周期+首页分数+题目轮换设计

                其他

                • - wuxing-sandbox 新增 personalData prop,个人模式优先取指定成员数据,切换视角零请求
                • - 首页/家长/孩子三个页面缓存两份数据,onSandboxViewChange 本地切换不再重新请求
                • - 成员移出家庭后恢复到其自建家庭(families.creator_id),family-members 文案改为删除成员

                v1.0.1261 (2026-08-30)

                新功能

                • 会员中心改为三个 Tab 页(等级配置/升级记录/会员维护)

                v1.0.1260 (2026-08-30)

                Bug 修复

                • 手风琴异常统计口径改为白名单

                其他

                • - 原来 'status !== '正常'' 会将未知/英文状态误判为异常(如 PHYLUM/CLASS 等层级行的空 status)
                • - _cssForStatus 增加中英文双语言映射,与 report-confirm 保持一致

                文档

                • DAN报告按类型分别处理实施计划
                • 记录DAN报告按类型分别处理实施计划

                新功能

                • DAN报告详情页复用blocks渲染器,按类型分别展示
                • DAN报告详情接口按类型重算blocks(历史数据生效)
                • DAN报告按category分组组装blocks(类型分别处理)

                v1.0.1259 (2026-08-30)

                新功能

                • 肠道菌群报告/健康报告列表/首页优化

                其他

                • - 报告日期仅显示 yyyy-MM-dd,去掉时间部分
                • - 指标名称前添加 '?' 知识库按钮,点击弹出说明
                • - 补全缺失数据:shannonIndex 徽章、healthRating 评级行、指标单位 unit、症状 symptoms
                • - 修复报告解读框死代码:后端返回 reportInterpretation.gutAgeAssessment
                • - 健康报告列表 (report-list.vue):
                • - 滑动删除功能修复:移除组件层 @click 冲突,仅用 #right slot 实现左滑出现删除
                • - 点击卡片正常跳转详情
                • - 首页 (index-home/index.vue):
                • - 新增 onShareAppMessage/onShareTimeline 分享配置
                • - 后端 HealthReportService:
                • - getReportDetail 新增 reportInterpretation 字段,基于 gutAge/gutType 生成评估文案

                v1.0.1258 (2026-08-30)

                Bug 修复

                • 菌群报告异常指标统一红色显示

                其他

                v1.0.1257 (2026-08-30)

                新功能

                • 用户管理列表新增会员级别和推荐人列,编辑支持修改推荐人

                其他

                • - 列表新增 referrerName 列(通过searchUsers解析referrerId显示推荐人名称)
                • - 编辑弹窗新增推荐人下拉选择(远程搜索昵称/手机号/ID)
                • - 新增 resolveReferrerNames 批量解析方法,loadUsers后自动调用
                • 防止编辑旧格式报告(菌X构成/中文level)时原样写回脏数据
                • - getReportDetail: 读回时加 normalizeGutFloraRead 后处理,
                • 一次性兼容归一化前入库的历史数据(无需迁移脚本)
                • - normalizeFloraLevel 的 category 参数保持传入以维持语义完整性
                • 至此方案A覆盖完整主链路:
                • 上传/确认入库(write)✅
                • 编辑保存(write)✅
                • 再次查看展示(read)✅

                Bug 修复

                • 修复编辑路径与读路径的菌群分类归一化缺口

                v1.0.1256 (2026-08-30)

                Bug 修复

                • 修复最终审查发现 - progressPercent/loading死代码/样式细节
                • 菌群分类层级表归一化 category/level 与前端对齐

                重构

                • 重新设计会员中心页面 - 消除所有 levelCode 空值访问风险

                其他

                • - 所有表格数据源使用 safeLevels/safeMaintainUsers 过滤,杜绝 undefined.levelCode
                • - 升级路径用 el-tag 路径样式展示
                • - 权限详情对话框重构为 el-descriptions 布局
                • - 空状态用统一 .empty-state class
                • - loadOverview 合并 getMembershipStats + /api/admin/membership/overview 两次请求
                • - 后端 normalizeFloraLevel:'门/纲/目/科/属/种' → PHYLUM/CLASS/ORDER/FAMILY/GENUS/SPECIES
                • - 新增 HealthGutFlora.LEVEL_PHYLUM 常量(北京报告特有门级)
                • - 前端 gut-flora-species-detail.vue 新增 '菌门' tab 及 PHYLUM 映射
                • - 修复募极/北京格式分类层级在前端 taxonomy 标签页显示为空的问题

                v1.0.1255 (2026-08-30)

                样式

                • 饮食偏好调研 暖灶暖橙主题样式

                新功能

                • 饮食偏好调研 Step2口味偏好+Step3健康目标chip交互
                • 饮食偏好调研 重构为3步引导问卷 - 数据层+进度条+Step1忌口过敏

                v1.0.1254 (2026-08-30)

                文档

                • 修复饮食偏好调研计划 :key 表达式违规 - 改方法调用 getChipKey

                其他

                • redesign: 重写登录前首页与登录页,清晰传达产品价值

                v1.0.1253 (2026-08-30)

                Bug 修复

                • 修复健康报告列表非菌群报告无法进入详情页

                其他

                • - 原 tongue 分支指向废弃页 tongue-index(会重定向到上传页);未知类型分支路径 /pages/body/health-report 不存在导致 navigateTo 失败
                • - nutrition-profile.vue: 修正 /pages/body/health-report 错误路径为 /pages/body-detail/health-report

                v1.0.1252 (2026-08-30)

                新功能

                • 共餐配置页暖灶主题美化
                • 删除查看我的测评方案入口及相关跳转逻辑

                其他

                • - pages/health/report-confirm.vue: 删除报告确认后的 planId 跳转至 health-plan-summary 逻辑
                • - pages/health/report-detail.vue: 删除报告入库后的 planId 跳转至 health-plan-summary 逻辑

                v1.0.1251 (2026-08-30)

                其他

                • 优化修复

                v1.0.1250 (2026-08-30)

                文档

                • 饮食偏好调研页面重新设计 实现计划(3任务:数据层+Step1/Step2+Step3/暖灶样式)
                • 修正饮食偏好调研规格——移除死代码systemGoals区块
                • 饮食偏好调研页面重新设计 设计文档(3步引导问卷+暖橙主题+补全mustEat/cookingMethods)

                新功能

                • .coupon.non-member-could-claim-membership-coupon

                v1.0.1249 (2026-08-30)

                文档

                • 会员中心重设计+用户管理会员功能扩展 设计文档与实现计划
                • 先天画像体系实现完成 - 更新API文档与项目概览

                新功能

                • 小程序先天画像轨迹页+心维度首页入口+补create接口
                • 小程序先天画像API封装+页面注册+报告页
                • 管理端先天画像权重配置+数字能量配置页 + 路由菜单
                • 管理端先天画像配置Controller(来源权重+数字能量详细配置+缓存失效)
                • 先天画像innate_portrait_graph LangGraph + API路由
                • AiGateway generateInnateReading 真实HTTP实现
                • calcInnateScore 可配置权重+数字能量参与
                • calcInnateScore 支持可配置权重+数字能量参与+缓存失效
                • 先天画像4个接口(portrait/reading/numsoul/trajectory)

                v1.0.1248 (2026-08-29)

                新功能

                • 完善健康启航计划(199会员打卡21天)三大核心功能

                其他

                • - 新增 generatePurchasePayParams() 虚拟支付下单参数生成
                • - 新增 HQ 前缀订单发货/退款/iOS退款问询回调处理
                • - 新增 /api/purchase/pay-params 接口获取支付参数
                • - 支付成功自动发放 300 CF 基础奖励
                • 2. ChallengeService 补充 streakDays 返回
                • - getChallengeProgress() 新增返回 streakDays 字段
                • - 前端闯关进度页可直接展示连续打卡天数
                • 3. 打卡自动同步闯关进度机制
                • - 新增 ChallengeService.syncStreakProgress() 方法
                • - 集成到 DailyCheckinService/EmotionCheckinService/FinanceCheckinService
                • - 打卡完成自动更新 streak_3days/streak_7days/streak_21days 任务进度

                v1.0.1247 (2026-08-29)

                Bug 修复

                • 会员费虚拟支付开关最终审查修复
                • 强制出站HTTPS使用TLSv1.2 - 规避微信边缘终止TLSv1.3握手导致code2Session偶发失败
                • 会员维护弹窗等级下拉增加safeLevels过滤 - 防御levels含null/undefined导致白屏

                其他

                • - 新增 null 缺省虚拟支付路由测试
                • - 新增 PaymentServiceORDRoutingTest 覆盖 ORD/PO/其他前缀回调路由
                • - 简化 orderNo 断言为 startsWith
                • - 移除 pay.vue else 分支重复 orderNo 赋值
                • - DatabaseInitializer迁移268为coupon表加status列, schema.sql同步
                • - CouponService所有用户侧查询/领取/使用/兑换/自动发放过滤停用券
                • - PointsExchangeService/FamilyPlatformPointsService兑换入口加停用校验
                • - AdminCouponController新增POST /api/admin/coupon/toggle-status
                • - CouponManagement.vue修复假状态列+新增停用/启用按钮
                • - coupon.js新增toggleCouponStatus封装

                新功能

                • InnatePortraitService 先天画像聚合服务 + AiGateway generateInnateReading stub
                • 优惠券停用/启用功能 - 新增status字段+迁移268+toggle-status接口+管理端按钮

                v1.0.1246 (2026-08-29)

                新功能

                • pay.vue 支持 payType 分流,新增普通微信支付路径
                • handleWechatNotify 增加 ORD 前缀路由到会员开通回调
                • Controller 改为调用 createOrderWithPayType,支持 openid 参数
                • 优化免费会员家庭挑战创建流程

                Bug 修复

                • trial 分支改调 createOrderWithPayType,返回 payType=none

                其他

                • - openCreateModal 细分场景:
                • - 免费会员且仅 1 成员(自己) -> 引导先添加孩子 (showAddChildPrompt)
                • - 其他成员不足 -> 通用添加成员引导 (showMemberPrompt)
                • - 新增 goToAddChild:直接跳转到添加孩子页面
                • - 提示文案明确告知:免费会员只能添加 1 位孩子,挑战创建后可切换到孩子身份同意参与

                v1.0.1245 (2026-08-29)

                Bug 修复

                • Native支付关联买家userId + 恢复公告列表接口

                其他

                • - NoticeController: 恢复 /api/notices/list 接口(原410废弃)

                新功能

                • 数字能量计算器 NumSoulCalculator + 单元测试
                • 先天画像Mapper和DTO
                • 先天画像3个实体类(来源权重/报告缓存/数字能量配置)
                • 迁移270-272 创建先天画像三张新表(来源权重/报告缓存/数字能量配置)

                v1.0.1244 (2026-08-29)

                Bug 修复

                • 打破 MembershipService↔VirtualPayService 循环依赖

                其他

                • 在启动期强制互相实例化导致 Spring Boot 2.7 拒绝启动(循环依赖默认禁止)。
                • 解决方案:在 MembershipService 的 VirtualPayService 注入点加 @Lazy,
                • 启动期注入代理,运行时才解析真实 bean,打破循环。
                • 参考:Spring 5.3 的 ResourceElement 支持 lazyLookup,与 @Resource 兼容。

                v1.0.1243 (2026-08-29)

                Bug 修复

                • 小程序前端 GET 请求全部改为 POST + 成长打卡页美化与自动返回

                其他

                • - 前端: 7 处 GET→POST (api.js, service-tasks/chat/execution/rating/invite.vue)
                • - 成长打卡页美化 (diet/exercise/sleep/emotion-checkin.vue):
                • * 统一卡片式布局、导航栏、表单/标签/媒体工具栏/提交按钮样式
                • * 打卡成功后 800ms 自动 navigateBack 回成长页

                v1.0.1242 (2026-08-29)

                文档

                • 会员费虚拟支付开关实现计划

                Bug 修复

                • 菌群报告手风琴加有效/异常指标数量

                其他

                v1.0.1241 (2026-08-29)

                文档

                • 更新 PROJECT-OVERVIEW 规格索引
                • 会员费虚拟支付开关设计文档

                Bug 修复

                • sleep_record 时间列改TIME类型 + 新增迁移269(幂等) 同步schema.sql
                • 睡眠打卡时间字段改Date+自定义反序列化器解析HH:mm修复java.sql.Time解析失败
                • 测评方案列表familyId三路回退(查询参数/JSON body/JWT)修复缺参500
                • 北京营养分析totalCount改Long写入并用Number读取修复ClassCastException
                • JWT白名单改路径边界匹配防止verify-password被前缀放行 + 补登录必需拦截
                • 菌群报告页圆环折行、quick-nav 显示关注数、饮食推荐走 /api/health/foods、菌群详情页标签折行

                其他

                • 2) gut-flora-foods-detail.vue: loadData 改用 getHealthFoods(reportId),不再依赖 report 详情里的 foods+KB 合并。
                • 3) gut-flora-species-detail.vue: tabs 从 scroll-view scroll-x 改为 flex-wrap 折行(无横向滚动);默认 tab 从 core 改为 all(避免页面没内容)。
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai

                v1.0.1240 (2026-08-29)

                新功能

                • 优化家庭挑战创建流程,增加成员数量前置校验和友好提示

                其他

                • - submitForm 新增客户端校验:选择成员 < 2 时阻止提交并提示友好信息
                • - 新增 goToAddMember 方法:引导用户前往家庭成员页添加成员
                • - 避免后端 500 错误'家庭挑战至少需要2名成员参与'直接暴露给用户

                v1.0.1239 (2026-08-29)

                Bug 修复

                • 统一文章/商品/活动推广分享邀请人参数 + 兼容旧分享链接
                • 五维自检未传familyMemberId时自动解析为当前用户本人

                其他

                • - 三个详情页: onLoad 显式处理 inviteCode + 海报二维码 scene 带 &ref= 邀请码
                • - promotion/index.vue: onShareAppMessage 带上 inviteCode=分享码(与 invite.vue 一致)
                • 按 userId 修改 memberLevel(含 LIFETIME 置空到期时间)与 referrerId,
                • 等级变化写入 MemberUpgradeRecord(upgradeType=admin)
                • - 用 LambdaUpdateWrapper 显式 SET,修复 referrerId 清除(null)不生效的 bug
                • - MembershipCenter.vue 新增「会员维护」卡片:搜索用户 → 修改等级/推荐人
                • - 修复会员中心打不开:loadLevels/loadUpgradeRecords 过滤 null 元素,
                • 所有表格 scoped slot 加空值保护(row 为 null 时不再抛 TypeError)
                • 根因:submitSelfCheck/submitSubDimensionCheck 直接存储 dto.familyMemberId,
                • 前端提交问卷时不传该字段,导致自检记录与返回VO的 familyMemberId 为 null,
                • 前端 joinMicroAction 无法拿到 memberId。
                • 修复:familyMemberId 为空时,按 userId 自动解析用户本人对应的家庭成员(注册时已自动创建)。

                新功能

                • 后台会员维护功能 - 修改会员等级/推荐人 + 修复会员中心打不开

                文档

                • 先天画像体系实现计划(7阶段15任务,含数字能量TDD与权重替换改造)
                • 修复先天画像设计规格5处缺陷(复用calcInnateScore/数字能量mind_base/权重替换/报告表职责/配置表关系)
                • 星座/八字/数字能量引入心维度先天画像体系设计

                v1.0.1238 (2026-08-28)

                Bug 修复

                • 恢复健康方案组件原貌,移除远程误加的FamilyMemberStrip成员条

                其他

                v1.0.1237 (2026-08-28)

                Bug 修复

                • 修复最终审查3处Minor偏差(副标题人数/nav-icon-wrap重复/status-accepted暖蓝)
                • 移除食谱页未使用的 iconCls 死代码
                • 生成食谱按钮文字改白色(修复样式覆盖冲突)

                新功能

                • 食谱推荐页暖灶主题美化
                • 共餐配置页暖灶主题美化
                • 饮食首页菜篮/导航/趋势暖灶主题化
                • 饮食首页今日餐桌主视觉(暖灶主题)
                • add scrollbar to rich editor text containers

                文档

                • 共餐食谱美化实现计划(暖灶主题)
                • 共餐食谱设计文档自检修正(数据一致性/确定性)
                • 共餐&食谱页面美化设计文档(暖灶·家的味道)

                v1.0.1236 (2026-08-28)

                Bug 修复

                • 修复 assessment-plan 分包页面缺失导致编译崩溃,补充 list/detail 页面并修正接口路径

                v1.0.1235 (2026-08-28)

                Bug 修复

                • 补交健康/测评方案管理页面,修复部署构建找不到路由组件

                其他

                v1.0.1234 (2026-08-28)

                新功能

                • 规划师端健康方案管理页 + v1.0.1233 版本升级

                v1.0.1233 (2026-08-28)

                文档

                • 登记生成方案标准内容格式实现计划(PROJECT-OVERVIEW 🟢 已实施)

                Bug 修复

                • 健康方案 submitPlan 补 tasks 字段 + regenerate 更新 tasks
                • 海报扫码进入文章/活动详情页解析 scene 参数,修复参数错误
                • 首页自检卡跳转改为五维自检页 self-check

                新功能

                • 规划师端健康方案结构化任务条目编辑
                • 支持分享到朋友圈(onShareTimeline)

                其他

                v1.0.1232 (2026-08-28)

                Bug 修复

                • 共餐配置页修复页面溢出、选中态醒目、添加按钮唯一化
                • /api/health/foods 未传 reportId 时返回当前用户最新报告食材

                其他

                • - 选中项加橙色 ✓ 角标 + 强化高亮(粗边框/外发光/头像变色)
                • - 改用 mealGroups 计算属性,去除模板内 isMemberSelected 方法调用
                • - 3 个餐次添加按钮收敛为唯一入口,点击跳转成员管理页
                • - 未指定 reportId 时按当前登录用户查最新报告食材,返回当前最适合的推荐
                • - 修复食材查询页空数据问题

                v1.0.1231 (2026-08-28)

                新功能

                • 方案任务生成优先读 tasks + 正则兜底 + 懒加载回填
                • 方案 section 重生成返回 {content, tasks} 结构化
                • 健康方案生成 Pydantic 校验 + 正则兜底提取 tasks
                • 健康方案 prompt 追加 tasks 输出契约
                • 健康方案 tasks 模型(PlanTask + section.tasks)
                • 方案激活按模板包批量拆任务并兼容childId双域
                • 成长计划列表接口与childName组装
                • 方案制定支持多成员分别调研-health_status加member_id字段+修复只保存不生成bug

                样式

                • health_plan.py 文件末尾补充换行符

                测试

                • 主链路E2E脚本与黑盒自测脚本

                其他

                文档

                • 四模块链路黑盒测试方案与自测报告

                Bug 修复

                • 方案管理页补齐plan接口函数修复白屏
                • 文章创建更新防检测超时-受限超时并fail-open
                • 全局参数校验友好化-空参格式错误返回400
                • 知识库查询删除接口契约对齐请求体并容错
                • 活动提交审核业务异常转400提示并支持退回草稿
                • 供应商保存兼容新旧字段契约并校验必填
                • 勋章创建自动生成badgeId避免唯一键500
                • 方案管理列表支持admin全量查看并按家庭筛选

                v1.0.1230 (2026-08-28)

                文档

                • 生成方案标准内容格式实现计划(LangGraph tasks + Java 懒加载回填 + 前端任务编辑)
                • 生成方案标准内容格式设计(planJson tasks 单一事实源 + Pydantic 校验 + 懒加载回填 + 规划师任务编辑UI)

                Bug 修复

                • 首页'再次了解'回跳调研页未加载内容

                v1.0.1229 (2026-08-28)

                文档

                • 生成方案标准内容格式设计(planJson tasks 单一事实源 + Pydantic 校验 + 懒加载回填 + 规划师任务编辑UI)

                新功能

                • 菌群报告统一走个性化详情页并支持任意类型通用组装

                其他

                • - ReportBlockAssembler.assembleWithTemplate 无模板时对任意报告类型默认调用通用组装(评分+风险+指标+菌种),不再只支持 gut_flora
                • - 确认入库与编辑保存两处改传 reportType,走 assembleWithTemplate 模板驱动+默认兜底
                • 前端:
                • - report-list / health-main / report-upload / report-confirm 的 gut_flora 跳转统一到 gut-flora-detail 个性化页
                • - gut-flora-detail 新增内嵌 draftId 模式(解析→确认入库/放弃),修复评分圆环字段错位 bug(兼容 balanceScore 等新键),saveEdit 载荷改标准嵌套结构
                • BREAKING CHANGE: 肠道菌群报告详情页由通用 report-detail 切换为个性化 gut-flora-detail,入口 URL 与参数(draftId 支持)变更

                v1.0.1228 (2026-08-27)

                新功能

                • 五维沙盘个人/全家视角切换 + 食物表字段扩展 + 忽略报告解析临时文件

                v1.0.1227 (2026-08-27)

                其他

                • 修改体验版地址

                v1.0.1226 (2026-08-27)

                其他

                • 修改体验版地址

                v1.0.1225 (2026-08-27)

                其他

                • 健康报告上传-解析-生成方案-分解任务-打卡,完成链路流程
                • 修改小程序的开发环境
                • 修复编译报错
                • 修复编译报错

                v1.0.1224 (2026-08-26)

                Bug 修复

                • 五维成员详情页导航路径修复 + 财富维度成员详情页补齐

                v1.0.1223 (2026-08-25)

                Bug 修复

                • 全局异常处理器捕获 ClientAbortException,避免连接中断时二次抛异常

                v1.0.1222 (2026-08-24)

                新功能

                • 小程序新增画像编辑页(portrait-edit.vue+api封装+pages注册)
                • Java 4个对话端点注入portrait_prompt(chat/coach/butler/nutrition)
                • Python侧画像prompt注入(4个graph+nutrition端点)

                v1.0.1221 (2026-08-23)

                新功能

                • 用户画像数据层+PortraitService(迁移263+实体+接口+Controller)

                Bug 修复

                • ensure member IDs are always strings for WeChat mini-program event system

                其他

                • - Template expressions pass raw numbers, causing type mismatch in indexOf
                • - Always convert to String() in isMemberSelected, toggleMember, loadExecutors
                • - Prevent double loadExecutors with synchronous _executorsLoading flag
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai

                v1.0.1220 (2026-08-23)

                文档

                • 对齐 TabBar 重设计为实际实现(4Tab+中间⭐扇形菜单)

                其他

                • - 行跳转:pages/index-home/index→pages/action-detail/index
                • - 四维跳转路径:pages/X/index→pages/X-detail/index
                • - 健康Tab:pages/health/index→pages/health-main/index(5子Tab+雷达图)
                • - 同步更新技术方案、边界情况、实施状态表
                • - PROJECT-OVERVIEW v2.8→v2.9

                v1.0.1219 (2026-08-23)

                Bug 修复

                • energy_daily_limit迁移编号255改258避免撞号
                • 全局异常处理兜底路径参数类型转换错误
                • 恢复被误删的套餐模板列表接口 /package/templates

                其他

                v1.0.1218 (2026-08-23)

                文档

                • 用户画像 prompt 拼装实现计划
                • 用户画像 prompt 拼装设计规范

                Bug 修复

                • 后端添加405处理器兼容旧GET请求
                • 修复中文CSS类名WXSS编译错误及公告接口更新
                • body-detail/index.vue 中文CSS类名导致WXSS编译错误

                v1.0.1217 (2026-08-23)

                Bug 修复

                • 修复报告列表不返回数据

                其他

                • 修复三层:
                • 1. JwtInterceptor: user.family_id 为空时从 family_members 表反查用户所属家庭
                • 2. HealthReportService.getFamilyReports: 优先通过家庭所有成员(subject_id/user_id)
                • 反查报告,兼容报告表 family_id 未填充的历史数据,再补充按 family_id 匹配并去重
                • 3. HealthReportController.listReports: 无家庭信息时返回空列表而非报错

                v1.0.1216 (2026-08-23)

                Bug 修复

                • 打破 memberSubscriptionService↔butlerService 循环依赖 - @Lazy 注入

                v1.0.1215 (2026-08-23)

                新功能

                • rewrite plan creation flow to 3 steps with embedded questionnaire
                • 家庭加入申请改为邀请人审批模式,谁分享的卡谁确认

                其他

                • - Embed health-status-form fields inline in step 2 (体征/血脂/疾病史/药物/补充)
                • - Auto-load existing health data via getHealthStatus on page load
                • - Add saveAndGenerate to save form then call generateHealthPlan
                • - Step 3 shows plan preview with two paths: edit/confirm OR select planner service
                • - Create teacher-service.vue: planner service selection page (纯线上/可联系 types)
                • - Register teacher-service.vue in pages.json
                • - Preserve viewMode/planDetail for viewing existing plans
                • - Preserve all section editing (regenerate/confirm) and plan submission logic
                • - Follow WeChat Mini-Program constraints: no optional chaining, no CSS Grid, no :key expressions
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - approve/reject 权限改为邀请人(须仍为目标家庭成员),旧数据无邀请人由家庭管理员兜底
                • - approve 通过后刷新家庭通关解锁,与 /accept 直加路径一致
                • - getPendingRequests 改按邀请人查询,控制器去掉 familyId/admin 校验,透传 token
                • - 迁移262: family_join_requests 添加 inviter_user_id 列 + idx_inviter 索引
                • - 前端:join.vue 文案改等待邀请人确认+进入回显待确认申请+取消申请按钮
                • - family-members.vue 新增加入申请审批区块(同意/拒绝),按邀请人过滤
                • - 同步 API_REFERENCE.md 与 api.js 注释语义
                • 内容: D32扩展财商内容+封面文字修复

                v1.0.1214 (2026-08-23)

                其他

                • 内容: D32富维度发布准备完成

                v1.0.1213 (2026-08-23)

                其他

                • 内容: D28-D31小红书发布准备完成;指南: 图片规格改为9:16+imagefree_gen.py

                v1.0.1212 (2026-08-23)

                Bug 修复

                • diet_preferences 补齐 must_eat 列(迁移251d)

                v1.0.1211 (2026-08-23)

                新功能

                • 健康报告列表支持 size 参数 - 健康主页仅取最近3条,报告列表页返回全部
                • 北京菌群报告解析 - PdfParseService新增北京格式解析 + langgraph parse-typed/detect-type端点

                Bug 修复

                • 健康报告列表仅返回最近3条 - 小程序健康页只展示3条,避免多余数据传输
                • 问卷提交前校验模板已加载 + 邀请码scene兼容裸token格式
                • 迁移修正 - finance_checkins.child_id允许NULL+补齐type列(251c) + 维度权重迁移表名修正去重(233) + 移除已稳定的profile/report_template/social_circle迁移
                • 参数校验与错误处理强化 - 控制器参数判空/可选 + MultipartException处理 + 异常语义化
                • 请求日志中间件重构为纯ASGI - 避免BaseHTTPMiddleware消费body导致POST死锁

                文档

                • 菌群计划文档回填实施状态并记录偏差①修复

                其他

                • - 头部实施状态、文件结构表、Task 10/11 注记、Task 16 期望值(3→4) 同步更新
                • - PROJECT-OVERVIEW 条目更新为 health 分包 4 页架构齐备
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - pages.json:growth 分包移除注册,health 分包新增(risks-detail 之后)
                • - gut-flora-detail 主页 goToFoods() 跳转同步更新
                • - 功能不变(筛选+排序+编辑+知识库营养数据合并);E2E 无路径断言无需变更
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai

                重构

                • 菌群食物推荐页迁移至计划路径 gut-flora-foods-detail

                v1.0.1210 (2026-08-23)

                文档

                • 登记管家自选与健康教练接口文档

                新功能

                • 报告详情优化-新增payload按需加载接口,blocks渲染器增加知识库?查询

                v1.0.1209 (2026-08-23)

                文档

                • 更新健康启航计划CF奖励设计——每日4任务×225CF+里程碑7200CF

                v1.0.1208 (2026-08-23)

                新功能

                • 管理端分配管理与停接开关页面
                • 健康教练欢迎语个性化与我的管家入口
                • 小程序管家选择页与接口封装
                • 健康教练graph按coach_id路由人格prompt
                • 健康教练对话注入教练人格标识
                • 管理端分配管理与停接开关接口
                • 邀请令牌复用同家庭有效令牌,组件邀请入口改跳成员管理页
                • includeFamily响应增加members字段,支持单次调用同时获取成员列表与家庭信息

                其他

                Bug 修复

                • ensureFamily改为静默兜底,移除误导性的家庭创建成功提示
                • 家庭成员编辑页合并为单次member/list调用,移除onLoad前端建家庭逻辑
                • 登录成功时将familyId持久化到userInfo缓存,避免页面误判无家庭而重复创建

                v1.0.1207 (2026-08-23)

                新功能

                • 家庭端管家自助选择接口
                • ButlerService新增管家浏览/查询/自助绑定方法

                Bug 修复

                • member toggle + race condition + generate string data
                • 移除打卡页navigationStyle:custom,恢复原生导航栏标题和返回按钮

                其他

                • - Prevent onLoad + onShow double-load race with _executorsLoaded flag
                • - Only loadExecutors in onLoad when not in planId/viewMode path
                • - Handle generateHealthPlan API returning data as markdown string (typeof check)
                • - Reset selectedMemberIds and userGoal in reCreate()
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai

                v1.0.1206 (2026-08-23)

                新功能

                • 新增butler_assignments实体与Mapper
                • butler_profiles 新增accepting停接开关列
                • Web管理端购买记录管理

                文档

                • 总览登记AI健康教练人格分化与管家自助选择条目

                v1.0.1205 (2026-08-23)

                新功能

                • 报告列表支持家庭维度查询+成员过滤,健康页不再传memberId

                v1.0.1204 (2026-08-23)

                新功能

                • 添加续费页和闯关进度页

                v1.0.1203 (2026-08-23)

                文档

                • 新增AI健康教练人格分化与管家自助选择设计规格
                • 健康启航计划实现计划

                其他

                新功能

                • 添加购买页和API封装
                • 付费墙拦截+前端API+页面注册
                • 健康启航计划后端核心

                v1.0.1202 (2026-08-22)

                其他

                文档

                • API参考文档补全13个Controller共65+接口及废弃状态更新

                Bug 修复

                • 废弃接口返回410及补充@Deprecated注解(Family/Butler/Notice)
                • childId→familyMemberId 引用统一(19处TaskService)

                新功能

                • energy daily limit 数据库持久化 - 新增DimensionDailyLimit表及Controller读写

                v1.0.1201 (2026-08-22)

                文档

                • 新增财富功能重构计划与设计方案

                Bug 修复

                • games/list.vue 移除错误编辑导致的孤儿view标签

                v1.0.1200 (2026-08-22)

                重构

                • 合并重复接口-删除死代码GuidePackageController,统一所有接口为POST

                v1.0.1199 (2026-08-22)

                Bug 修复

                • 修复多根元素及语法错误(games/list, gut-flora-detail, action-detail, api.js)

                v1.0.1198 (2026-08-22)

                Bug 修复

                • 修复 f048448e3 移除nav-bar导致的45个页面模板view标签不平衡

                其他

                • - 删除了根但保留了对应的
                • - 删除了nav-bar的打开标签但保留了
                • 导致模板出现多根元素或孤立
                • ,HBuilderX编译报错:
              • 'Element is missing end tag' / 'Multi-root element found' / 'Root element expected'
              • 修复方式: 删除所有孤立的
              • 标签(共45个文件)
            • v1.0.1197 (2026-08-22)

              文档

              • 更新健康启航计划——体验期内升级享199元抵扣

              v1.0.1196 (2026-08-22)

              文档

              • 更新健康启航计划——CF值1CF=0.01元,全勤19900CF抵199元

              Bug 修复

              • use beam_size=1 + vad_filter for faster STT inference
              • delay first kb_sync by 120s, increase gunicorn timeout to 600s

              新功能

              • add voice input button to AI chat page
              • add AiGateway.transcribe + /api/ai/transcribe endpoint
              • integrate STT into diet/exercise check-in pages
              • add sttTranscribe API utility for speech-to-text
              • add STT endpoint with faster-whisper base model

              v1.0.1195 (2026-08-22)

              新功能

              • 完整圈子社交功能-创建/加入/动态Feed/点赞评论

              v1.0.1194 (2026-08-22)

              文档

              • 新用户付费转化产品设计——健康启航计划

              v1.0.1193 (2026-08-22)

              Bug 修复

              • 新用户无孩子时静默跳过能量概览请求,避免弹出memberId为空提示

              v1.0.1192 (2026-08-22)

              Bug 修复

              • 修复 health 模块模板多根元素错误

              v1.0.1191 (2026-08-22)

              新功能

              • 新增报告模板管理 & 采集训练器

              其他

              • - 新增 report_template 表,支持按报告类型配置固定展示块 + 自由显示
              • - ReportBlockAssembler 集成模板逻辑:优先按 fixedBlocks 顺序渲染,未覆盖指标自动追加
              • - 自学习生成类型时自动创建空模板(isActive=0)
              • - report_unknown_upload 新增 annotation 列(管理员标注训练数据)
              • 前端:
              • - ReportTemplateManage.vue:模板列表 + 可视化编辑器(固定块增删/排序、自由显示开关、实时预览)
              • - ReportCollectorTrainer.vue:聚类列表 + 报告标注 + LLM解析预览 + 模板渲染预览
              • - 路由 & 菜单:报告解析系统下新增「报告采集训练」「报告模板管理」
              • 文档:更新 API_REFERENCE.md,新增报告模板接口说明

              v1.0.1190 (2026-08-22)

              新功能

              • 身体调研加饮食偏好 + 食材档案清真/素食标识

              其他

              • - 提交问卷时自动同步到 diet_preferences 表(absoluteAvoid/mustEat/religiousDiet)
              • - 迁移254: diet_preferences 新增 must_eat 列
              • - 迁移253: foods 新增 diet_type 列(清真/halal/素食/vegan 标识)
              • - Food/DietPreferences 实体及 DTO 同步更新

              v1.0.1189 (2026-08-22)

              Bug 修复

              • 修复食材数据未显示-响应路径修正为res.data,合并重复API调用

              v1.0.1188 (2026-08-21)

              新功能

              • Web管理端 — 用户画像列表与详情查看

              v1.0.1187 (2026-08-21)

              新功能

              • 小程序画像页 — 五维指标+推荐内容展示
              • 方案生成时自动注入用户画像数据

              v1.0.1186 (2026-08-21)

              新功能

              • 打卡和任务完成后自动触发画像重算

              v1.0.1185 (2026-08-21)

              新功能

              • 解析loading改为旋转动画+三阶段轮播文案,提升用户感知
              • 添加C端和B端画像API控制器
              • 实现画像读取服务和规则推荐引擎
              • 实现画像计算服务 — 五维指标聚合+增量写入

              v1.0.1184 (2026-08-21)

              Bug 修复

              • 补回疾病风险卡片模板
              • 修正Task状态值、Product状态值、删除死代码RULES块、修复PointsLog查询语法
              • 补充肠道菌群卡片CSS样式
              • mind-detail/index 删除孤立多余闭合花括号
              • login.vue 删除 return 对象尾随逗号 + report-detail 给 .food-item 补闭合花括号
              • 修复饮食推荐页面右侧溢出-添加box-sizing和width约束
              • 统一首页和成长页面今日任务标题命名
              • 修复行页面能量沙盘数值不显示问题
              • tasks表加parent_task_id列(购买任务→每日使用子任务链)+ schema同步
              • health_plans补updated_at/审核字段列,修复selectById Unknown column
              • 打卡弹窗金额/备注输入框高度不足 — 增加padding和min-height
              • 打卡页隐藏原生导航栏,修复双标题 —— navigationStyle: custom 仅保留页面内标题
              • 重新制定时重置viewMode,修复页面空白问题
              • 修复打卡页面双标题、输入框过小、睡眠页多余功能、心情页样式缺失
              • 修复微信登录 invalid code (40029) —— 不再 onLoad 预取 login code,改为点击授权时实时获取
              • 任务列表标题列支持排序,孩子ID改为显示用户名
              • health-main 移除已删除报告入口 + growth-emotion-checkin 添加照片上传
              • 系统提示词INSERT列数不一致 + 知识库embedding TPM重试 + tags_str类型修复
              • action-detail/wealth/wisdom-detail 修复 :key 表达式
              • 方案任务设置repeatType=daily,幂等检查限定当天deadline
              • 健康方案成员选择选中状态增强
              • 心情打卡同步情绪日记—checkinDate 空值兜底为当天
              • 健康方案重做限制改为每日一次
              • 修复报告方案链路与报告详情折叠展示
              • 健康方案查看页+报告日期格式
              • 保单管理页居中+控件高度
              • 移除 report-upload 自定义导航栏,使用原生导航栏避免双标题
              • confirmText 改为4字以内,移除debug日志和红色横幅
              • AiGateway 缺少 @PostConstruct import 导致编译失败
              • 财商打卡页居中+控件高度 - 容器宽度约束+input padding增大
              • 解决 merge 冲突 - health-main/index-home 合并冲突 & AiGateway 保留
              • 同步远端重构合并 + 保持 :key 修复与 trial 环境地址
              • pages.json 删除多余右花括号修复 JSON 语法
              • 健康主页身维度雷达图改用真实API数据
              • 内联弹窗逻辑到 pickFile/takePhoto,消除方法调用链断裂问题
              • 移除所有页面中的PageBanner组件,消除双层标题
              • 迁移249 file_record补file_type/description列,修复Unknown column错误
              • 允许 cfc.iwintrue.com 访问后端 API
              • 责任声明勾选改方法调用+箭头函数消除this丢失隐患
              • 修复行页面FamilyEnergyBar标签断裂导致模板文本裸露
              • 修复行页面FamilyEnergyBar标签断裂导致模板文本裸露
              • 修复行页面FamilyEnergyBar标签断裂导致模板文本裸露

              新功能

              • 创建画像实体类和Mapper接口
              • 创建画像快照表和歷史表迁移脚本
              • 身页面新增疾病风险卡片
              • 身页面新增疾病风险卡片
              • 身页面新增肠道菌群指标卡片
              • 饮食推荐页面重新设计-修复居中/溢出/快捷入口不可点并全面美化
              • 身/心/智页面重构 — 去七维/快捷/精准营养,改指标卡片
              • 调研任务创建时自动生成AI调研模板
              • 购物任务联动-cart/order 动作自动加购/下单
              • 方案审核流程优化 — 用户可选规划师或系统自动出方案
              • 规划师方案维护功能 — 前端审核页面 + 路由 + API
              • 方案维护功能 — 规划师审核发布流程
              • 体脂秤图片采集接入报告上传流程
              • checkin 页面合并远端 UI 改进 + 保留 getPhotoKey 修复
              • 体脂秤图片数据采集器 — 修复 Java 8 兼容性问题
              • 体脂秤图片数据采集器
              • 任务系统升级-行为调度中心前端(动作联动/两阶段/填写式完成)
              • 任务系统升级-行为调度中心后端(前置任务/频率任务/两阶段/填写式完成)
              • 健康方案页重写为多步骤结构化编辑流程
              • 评论自动回复脚本 comment_reply.py——CDP 驱动,click 修复与残缺选择器修复
              • 新增 D26/D27/D28 文章稿、推流试验稿及内容草稿
              • 照片自动情绪识别 — 后端 AI 调用 + 前端真实 API
              • 照片自动情绪识别 — Dify AI 图像分析 + 前端接入
              • HealthPlan后端重构 - planJson/status字段+regenerate-section接口
              • 首页区块顺序调整为 1-2-9-7-8-5-6-4-3-10-11
              • 健康方案生成工作流重构 - LangGraph结构化方案+Java对接
              • LLM推送数据PII脱敏(智能脱敏)
              • 心情打卡同步到情绪日记
              • 新增 SystemPrompt 管理功能 + web 品牌与产品素材
              • 健康现状档案 v2 — 疾病史两源预置清单分类多选+确诊时间,用药开始年月自动计算时长 - 疾病史:DISEASE_PRESETS(10项) → DISEASE_GROUPS(8组54项,★菌群源),分类折叠多选,★角标说明 - 确诊时间:年月选择器(fields=month, end限当前月),存 diagnosedAt(yyyy-MM) - 用药:startDate年月 + durationText自动计算(<12月→X个月, ≥12→X年),记不清可手动兜底 - 后端零变更(JSON列透传),v1旧数据({name,note}/{name,time})回显兼容 - 新增 computed.selectedNames + 17 个 CSS 类
              • DAN 测评报告专用详情页
              • 智行富三页强项与提升卡片-认知/关系/财富强弱项标记
              • 心身智三页肠脑轴卡片-情绪/认知指标过滤+身体异常告警
              • 肠脑轴指标过滤+异常指标告警-认知/情绪分类+身体异常指标端点
              • 首页健康漏斗重构 — 了解区自测卡 + 四段式区块重排
              • 今日任务和报告上传移至推荐阅读上方,推荐商品移到底部

              其他

              • - 展示疾病名称、风险值、等级标签(高风险红/需注意黄)
              • - gut-flora 接口确认已为 POST,无需修改
              • - 展示疾病名称、风险值、风险等级(高风险红/需注意黄)
              • - gut-flora 接口已为 POST,无需修改
              • - 前端 body-detail 页面新增🦠肠道菌群区块:有报告时显示指标明细,无报告时引导上传
              • - 显示菌群名称、丰度值、状态(正常/偏高/偏低)及摘要提示
              • - 心/智页面已有肠脑轴数据展示,无需改动
              • - 新增指标卡片展示:体脂率/BMI/血压/血糖/步数/睡眠(身)、情绪稳定性/焦虑/开放性(心)、感知力/专注力/记忆力(智)
              • - 后端新增 POST /api/health/indicators 接口,按domain+memberId返回最新指标值
              • - DatabaseInitializer迁移252:seed body/mind/wisdom指标定义27条
              • - 各维度首页加载对应domain指标数据,点击卡片跳转详情
              • - 新增 loadEnergyOverview 方法调用 getEnergyOverview API
              • - WuxingSandbox 组件传递 :dimensions/:totalEnergy/:totalHealthIndex 属性
              • - 修复 sortedDimensions 因 dimensions 为空导致 point-energy 始终显示 0 的问题
              • - 对齐 child-index.vue 页面的正确用法
              • - schema.sql tasks表同步parent_task_id列定义
              • - schema.sql同步: health_plans CREATE TABLE补reviewed_by/reviewed_at/review_comment/teacher_id/updated_at
              • - step===1 && !viewMode → false(Step1不渲染)
              • - viewMode && planDetail → false(查看模式也不渲染)
              • - 页面空白
              • 同时补充editing和sectionFeedback重置。
              • Ultraworked with Sisyphus
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
              • - 睡眠打卡:移除照片上传和录音功能(不需要)
              • - 心情打卡:补全所有缺失的基础样式,修复布局混乱
              • - 新增 teacher-select.vue 规划师选择页,调用 /api/health/plan/available-teachers
              • - 新增 HealthPlan.teacherId 字段 + DatabaseInitializer 迁移251
              • - 新增 getAvailableTeachers 接口(已绑定+同团队+全量规划师)
              • - submitPlan 根据 needTeacher 决定状态:pending_review/published
              • - listPendingReviewPlans 支持按 teacherId 过滤
              • 会导致 code2Session 返回 40029 invalid code。login.vue 改为与
              • invite/join.vue 一致的模式:getPhoneNumber 中实时 uni.login 获取新 code。
              • - cfc-web: 新增 api/healthPlan.js 接口封装
              • - cfc-web: TeacherDashboard 快捷入口新增「健康方案审核」
              • - cfc-web: router 新增 /teacher-health-plan-review 路由
              • - cfc-frontend: health-plan-summary.vue 更新状态展示和成功提示
              • 后端已有 c4744618,本次为前端配套
              • - DatabaseInitializer: 迁移250 新增审核字段,status枚举扩展 pending_review/published/rejected
              • - HealthPlanService: 新增 listPendingReviewPlans/updatePlanContent/approveAndPublish/rejectPlan 方法
              • - HealthPlanServiceImpl: savePlan 默认 pending_review 状态,审核通过后生成任务
              • - HealthPlanController: 新增 /pending-review/{list,update,approve,reject} 四个端点
              • 流程: 用户生成方案 → draft/pending_review → 规划师编辑 → 审核通过(published) → 自动生成任务
              • - report-upload.vue: 新增体脂秤入口卡片 + goBodyFatScale/uploadBodyFat 方法
              • - bodyfat-confirm.vue: 新建指标确认页(可编辑数值 + 绑定成员 + 保存)
              • - utils/api.js: 新增 saveBodyFatMetrics API
              • 后端:
              • - HealthReportController: 新增 /report/bodyfat-upload(图片上传+AI识别)+ /report/bodyfat-save(保存指标)
              • - BodyFatScaleService: 图片→DeepSeek-VL OCR→提取指标→存 indicator_values
              • - DatabaseInitializer: 注释废弃的 seedFullRegionData() 调用
              • - pom.xml: source/target 改为 1.8(适配当前 JDK 环境)
              • - application.yml: 新增 deepseek.vision-* 配置
              • 账户权限分离
              • - 修复 ArrayNode/ObjectNode 类型不匹配
              • - 修复 String.isBlank() → trim().isEmpty()
              • - 修复 var → 显式类型声明
              • - 编译验证通过
              • - 调用 DeepSeek-VL 视觉模型 OCR 提取体脂秤指标(体重/BMI/体脂率/肌肉量等)
              • - 自动创建 indicator_definitions + 保存 indicator_values(source_type=body_fat_scale)
              • - 新增 AdminBodyFatScaleController:
              • - POST /api/admin/bodyfat-scale/images/list — 列出图片
              • - POST /api/admin/bodyfat-scale/images/analyze — 单张分析预览
              • - POST /api/admin/bodyfat-scale/save — 手动保存指标到成员
              • - POST /api/admin/bodyfat-scale/batch — 批量处理多张图片
              • - application.yml 新增 bodyfat-scale.image-dir 和 deepseek.vision-* 配置
              • - 缺口:无前置任务/频率单一/购物零联动/require_input 无强制/无 start 两阶段
              • - 设计:action_type 声明式联动、TaskEngine 集中判定、task_executions 执行记录、三阶段实施路径
              • Ultraworked with Sisyphus
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
              • - tasks.vue 今日任务:按 actionType 渲染按钮文案(开始游戏/专注/填写/阅读/报名/购物),locked 灰态+解锁提示,start_required 先开始再完成,require_input 弹填写面板提交内容
              • - create-task.vue 新增联动动作/两阶段/填写式开关+商品ID配置,重复设置扩展隔天/每月,补全 repeatTypeLabel/actionTypeLabel computed
              • Ultraworked with Sisyphus
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
              • - 新增 task_executions 执行记录表(started/finished 两阶段落库)+ focus_sessions.task_id
              • - DatabaseInitializer 迁移248:ensureColumn 幂等 + CREATE TABLE IF NOT EXISTS
              • - TaskService:completeTask 前置校验/填写强校验/两阶段校验/最短时长校验,完成后解锁后置任务;新增 startTask(pending→in_progress 并记录 execution)
              • - TaskController 新增 POST /api/tasks/{id}/start;complete 支持 content/contentType
              • - RepeatTaskGenerator 重构为频率分派:hourly/daily/every_other_day/weekly/monthly,每小时 cron 扫描,兼容旧 repeatType
              • - CreateTaskDTO/CompleteTaskDTO 透传新字段
              • Ultraworked with Sisyphus
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
              • - AiGateway.java: 日志消息更新
              • - AIChatController.java: 注释和方法引用更新
              • - ContextApiController.java: Javadoc 更新
              • - ButlerController.java: Operation summary 更新
              • - MealRecommendController.java: 变量名 difyResp→langgraphResp
              • - KnowledgeBaseController.java: 依赖注入名更新
              • - DifySyncService → LanggraphSyncService(类名/方法名同步)
              • - DanKnowledgeBaseService.java: 依赖引用更新
              • - AGENTS.md: AI集成说明更新
              • - PROJECT-OVERVIEW.md: 历史条目中DifySyncService→LanggraphSyncService
              • - 新增 EmotionRecognitionResult DTO(情绪列表+moodWeather)
              • - AIService.sendEmotionRecognition(): 调用 Dify 情绪识别 Workflow
              • - EmotionCheckinService.analyzeEmotionFromImage(): 解析结构化结果
              • - EmotionCheckinController: POST /api/mind/checkin/emotion/recognize
              • - application.yml: dify.emotion-api-key 配置项(空=mock模式)
              • 前端:
              • - analyzeEmotion() 改为真实 API 调用(上传+识别两步)
              • - 识别结果自动填充 aiResult,支持 applyAiTags 应用标签
              • - 提交时复用已上传的 photoUrl,避免重复上传
              • - AIService.sendEmotionRecognition(): 调用 Dify 情绪识别 Workflow,支持 mock 兜底
              • - EmotionCheckinService.analyzeEmotionFromImage(): 解析结构化情绪列表
              • - EmotionCheckinController: 新增 POST /api/mind/checkin/emotion/recognize
              • - application.yml: 新增 dify.emotion-api-key 配置项
              • Ultraworked with Sisyphus
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
              • - FamilyContextService: 用户/孩子姓名脱敏
              • - AiGateway.chat/generateQuestionnaire/generateMenu/generateHealthPlan: 入口脱敏
              • - AIService: sendNutritionMessage/sendTongueDiagnosis/runWorkflow/enrichInputsWithMemory/mirrorConversation/getContext/requestSummaryAsync: 入口脱敏
              • - 化名映射: userId+salt→SHA-256→固定化名, 保证AI可识别同一用户
              • - 幂等检查加 deadline 日期窗口过滤,避免历史任务阻塞当天生成
              • - RepeatTaskGenerator 每天凌晨5点可正确识别并再生方案任务
              • - cfc-backend/AGENTS.md:新增接口前三步检查流程(复用→修改→新增)+ 废弃接口 410 处理
              • - AGENTS.md:接口规范补充「新增接口前查阅文档」和「废弃接口处理」
              • - cfc-backend/AGENTS.md:新增接口前三步检查流程(复用→修改→新增)
              • - 废弃接口统一标记 410 + @Deprecated
              • - 标注已废弃接口(7 处,返回 410)
              • - 列出待清理废弃接口清单
              • - 新增接口检查清单与流程
              • - 勾选圆圈 36rpx->44rpx,未选时透明打勾文字(不显示),选中时橙色填充✓
              • - 步骤标题行加已选人数 badge(橙色胶囊标签)
              • Ultraworked with Sisyphus
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
              • - DailyCheckinService.createCheckin 在 moodScore 有值时自动同步到 emotion_checkin 表
              • - upsert 逻辑:今日已有记录则更新,否则新建
              • - moodScore 1-10 → moodWeather 映射(sunny/cloudy/rainy/stormy)
              • - 同步失败不影响主流程
              • - localStorage key 改为按日期(yyyy-M-d)记录
              • - 提示文案同步更新
              • Ultraworked with Sisyphus
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
              • - Web 管理端: systemPrompt.js API + SystemPromptManagement.vue 管理页
              • - cfc-langgraph: requirements_frozen.txt 依赖冻结
              • - web/img: 品牌/产品/引用源图片素材(cert/diagram/product-intro/products/ref)
              • - axonhub: AxonHub LLM 网关配置(compose+config)
              • - docs: web 品牌方向计划文档
              • 未追踪 uploads/(临时 json 结果) 不入库
              • - HealthPlanServiceImpl 修复任务行正则,编号行任务可正常生成
              • - report-detail 移除饮食推荐,肠道菌群/疾病风险/益生菌种/分类/病原菌改为折叠展示
              • - cfc-langgraph 增强 PDF 报告解析(营养/药敏/氨基酸/症状字段)、rag 检索与向量化
              • - schema.sql 补充新表;DatabaseInitializer/AIService/Layout 相关调整
              • - 会员限制:付费年度家庭会员不限次,非付费会员每月仅可重新制定一次(localStorage 记录)
              • - health-main: goPlanSummary 传 planId;报告日期格式化为 yyyy-MM-dd
              • Ultraworked with Sisyphus
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
              • - 后端 DanReportUploadVO 增加 result 字段,getDetail 返回关联的 DanAssessmentResult 分数
              • - 更新 4 处入口跳转:report-list、mind-detail、wisdom-detail、health-main
              • - insurance-add .form-input height 80rpx->88rpx 增大触控区
              • Ultraworked with Sisyphus
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
              • '同意并继续'(5字) 导致 showModal 静默失败,弹窗不出现。
              • 改为 '同意继续'(4字),同时移除所有 debug 代码。
              • - .form-input padding 16rpx->22rpx, font-size 26rpx->28rpx 提升触控体验
              • Ultraworked with Sisyphus
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
              • debug: 加 try-catch+fail+complete 跟踪 uni.showModal 是否执行
              • - 疾病史:DISEASE_PRESETS(10项) → DISEASE_GROUPS(8组54项★菌群源),分类折叠多选,★角标说明,已选区设确诊时间(年月选择器)
              • - 用药:startDate年月 + durationText自动计算,记不清手动兜底
              • - 后端零变更(JSON列透传),v1旧数据回显兼容
              • - 7个任务:常量/数据模型/模板/逻辑/用药/保存/验证提交,含完整代码与验证命令
              • - action-detail: 新增关系强项与提升卡片,基于关系六维分数标记,空态引导关系问卷
              • - wealth: 新增财富强项与提升卡片,基于财富四维分数标记
              • Ultraworked with Sisyphus
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
              • v2 重设计(基于调研补齐):
              • - 疾病史:菌群报告病症风险(20项 PdfParseService 白名单)+ 互联网统计常见病(约40项,附患病率/出处/年份)两源合并去重约50项,分类折叠多选;未列出的保留自定义补充兜底
              • - 每条疾病新增确诊时间(年月选择器 yyyy-MM)
              • - 用药:每药一条保留,新增开始服药日期→自动计算已服时长,记不清时用时长文本兜底
              • - 无 DDL 变更(disease_history/medications 为 JSON 字符串列,结构变化在 JSON 内部)
              • - 旧数据兼容:{name,note}/{name,time} 回显置空不报错
              • - 删除独立的 ReportStatsController,消除同路径下双 Controller 冲突
              • - 所有接口路径不变,前端调用无需修改
              • Ultraworked with Sisyphus
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
              • Ultraworked with Sisyphus
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
              • Ultraworked with Sisyphus
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
              • Ultraworked with Sisyphus
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
              • Ultraworked with Sisyphus
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
              • Ultraworked with Sisyphus
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
              • Ultraworked with Sisyphus
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
              • Ultraworked with Sisyphus
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
              • - wisdom-detail: 新增肠胃与认知卡片,含认知指标(谷氨酸/多巴胺/色氨酸等)+引导上传
              • - body-detail: 新增指标告警卡片,疾病风险(非低风险)+营养素/氨基酸异常(仅异常项)
              • - api.js: 新增 getGutCognitionIndicators/getBodyAbnormalIndicators
              • Ultraworked with Sisyphus
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
              • - MindController: /api/mind/neurotransmitters 只返回情绪相关指标(血清素/多巴胺/GABA/色氨酸)
              • - WisdomGutController(新): /api/wisdom/gut-cognition 认知指标(谷氨酸/多巴胺/色氨酸/丁酸等)
              • - HealthReportController: /api/health/report/body-abnormal 疾病风险+营养/氨基酸异常(仅异常项)
              • Ultraworked with Sisyphus
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
              • - chartIsEmpty 和 currentScores 均改用 bodyData
              • - 与其他四维度(智/心/行/富)统一走后端API模式
              • - 新增 goSelfTest 方法 + selfTestTitle/selfTestSub 计算属性(有数据→再次了解·得分;无数据→引导文案)
              • - 新增 .self-test-* 样式(复用 health-main 视觉,边距对齐首页 30rpx)
              • - 未登录态 discover-container 零改动
              • - 设计文档同步:PageBanner 已由 07d897a1 全局移除,① 了解区仅自测卡;补充 sandboxData 判定说明
              • - 新增实现计划 docs/superpowers/plans/2026-08-18-homepage-health-funnel.md
              • - 清理遗留的「品牌头部」注释
              • - 保留pages.json中配置的导航栏标题作为唯一标题
              • debug: 加 console 跟踪 report-upload 点击事件链路
              • 目的是定位 @click 事件是否真正触发到 methods
              • - ensureAgreed/startPick/uploadAndGoConfirm 内 var self=this 全部改为箭头函数
              • - 修复某些情况下点击上传按钮无反应的问题
              • 修复报错,以及升级JDK
              • 修复报错,以及升级JDK
              • 修复报错,以及升级JDK

              文档

              • 用户画像与推荐系统实现计划
              • 添加体脂秤参考资料图片
              • 任务系统升级为行为调度中心-整体设计文档
              • 将开发规范中 Dify 引用统一改为 LangGraph
              • AGENTS.md 新增评论自动回复工具章节,修正 click 触发方式
              • 文章钩子追踪清单更新——D26/D27 发布记录与已兑现预告
              • API 参考文档纳入开发规范
              • 将 API 参考文档纳入开发规范
              • 新增 API_REFERENCE.md 索引条目
              • 新增后台接口参考文档
              • 健康现状档案 v2 实现计划 — 疾病史两源预置清单+确诊时间+服药时长
              • 健康现状档案 v2 设计 — 疾病史两源预置清单+确诊时间+服药时长
              • 新增参考资料目录文件 - 学生评估PDF、方案docx/pdf、融资规划书PPT
              • 首页健康漏斗设计/计划状态同步为已实施
              • 首页重构 — 主动健康漏斗设计(方案A:了解→发现→改变)

              重构

              • 首页能量沙盘解锁改判任一维度能量值>0
              • 合并 ReportStatsController 到 StatsController,统一 /api/stats 路径
              • 移除管理端AI问卷场景配置与LangGraph qna模块
              • 删除13个意图/旅程/问卷页面与组件
              • 移除首页/我的页意图弹层与旅程卡引用
              • 移除api.js中AI问卷/意图/问题域API封装
              • 删除AI问卷与画像全部13个文件
              • 移除RecommendationController画像推荐端点
              • 移除AiGateway动态问卷/画像方法
              • 移除AI问卷数据库迁移(229/231)与schema四表定义
              • 上传报告入口统一为 ReportUploadCard 组件

              性能优化

              • 合并两次成员接口调用为一次
              • 合并两次成员接口调用为一次

              v1.0.1182 (2026-08-21)

              新功能

              • 创建画像实体类和Mapper接口
              • 创建画像快照表和歷史表迁移脚本
              • 身页面新增疾病风险卡片

              Bug 修复

              • 修正Task状态值、Product状态值、删除死代码RULES块、修复PointsLog查询语法

              其他

              • - 展示疾病名称、风险值、等级标签(高风险红/需注意黄)
              • - gut-flora 接口确认已为 POST,无需修改

              v1.0.1181 (2026-08-21)

              新功能

              • 身页面新增疾病风险卡片

              其他

              • - 展示疾病名称、风险值、风险等级(高风险红/需注意黄)
              • - gut-flora 接口已为 POST,无需修改

              v1.0.1180 (2026-08-21)

              Bug 修复

              • 补充肠道菌群卡片CSS样式

              v1.0.1179 (2026-08-21)

              新功能

              • 身页面新增肠道菌群指标卡片

              其他

              • - 前端 body-detail 页面新增🦠肠道菌群区块:有报告时显示指标明细,无报告时引导上传
              • - 显示菌群名称、丰度值、状态(正常/偏高/偏低)及摘要提示
              • - 心/智页面已有肠脑轴数据展示,无需改动

              v1.0.1178 (2026-08-21)

              Bug 修复

              • mind-detail/index 删除孤立多余闭合花括号

              文档

              • 用户画像与推荐系统实现计划

              v1.0.1177 (2026-08-21)

              Bug 修复

              • login.vue 删除 return 对象尾随逗号 + report-detail 给 .food-item 补闭合花括号

              v1.0.1176 (2026-08-21)

              Bug 修复

              • 修复饮食推荐页面右侧溢出-添加box-sizing和width约束

              v1.0.1175 (2026-08-21)

              Bug 修复

              • 统一首页和成长页面今日任务标题命名

              v1.0.1174 (2026-08-21)

              新功能

              • 饮食推荐页面重新设计-修复居中/溢出/快捷入口不可点并全面美化

              v1.0.1173 (2026-08-21)

              新功能

              • 身/心/智页面重构 — 去七维/快捷/精准营养,改指标卡片

              其他

              • - 新增指标卡片展示:体脂率/BMI/血压/血糖/步数/睡眠(身)、情绪稳定性/焦虑/开放性(心)、感知力/专注力/记忆力(智)
              • - 后端新增 POST /api/health/indicators 接口,按domain+memberId返回最新指标值
              • - DatabaseInitializer迁移252:seed body/mind/wisdom指标定义27条
              • - 各维度首页加载对应domain指标数据,点击卡片跳转详情

              v1.0.1172 (2026-08-21)

              Bug 修复

              • 修复行页面能量沙盘数值不显示问题
              • tasks表加parent_task_id列(购买任务→每日使用子任务链)+ schema同步
              • health_plans补updated_at/审核字段列,修复selectById Unknown column

              其他

              • - 新增 loadEnergyOverview 方法调用 getEnergyOverview API
              • - WuxingSandbox 组件传递 :dimensions/:totalEnergy/:totalHealthIndex 属性
              • - 修复 sortedDimensions 因 dimensions 为空导致 point-energy 始终显示 0 的问题
              • - 对齐 child-index.vue 页面的正确用法
              • - schema.sql tasks表同步parent_task_id列定义
              • - schema.sql同步: health_plans CREATE TABLE补reviewed_by/reviewed_at/review_comment/teacher_id/updated_at

              v1.0.1171 (2026-08-21)

              Bug 修复

              • 打卡弹窗金额/备注输入框高度不足 — 增加padding和min-height
              • 打卡页隐藏原生导航栏,修复双标题 —— navigationStyle: custom 仅保留页面内标题

              v1.0.1170 (2026-08-20)

              新功能

              • 调研任务创建时自动生成AI调研模板
              • 购物任务联动-cart/order 动作自动加购/下单

              v1.0.1169 (2026-08-20)

              Bug 修复

              • 重新制定时重置viewMode,修复页面空白问题

              其他

              • - step===1 && !viewMode → false(Step1不渲染)
              • - viewMode && planDetail → false(查看模式也不渲染)
              • - 页面空白
              • 同时补充editing和sectionFeedback重置。
              • Ultraworked with Sisyphus
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai

              v1.0.1168 (2026-08-20)

              Bug 修复

              • 修复打卡页面双标题、输入框过小、睡眠页多余功能、心情页样式缺失

              其他

              • - 睡眠打卡:移除照片上传和录音功能(不需要)
              • - 心情打卡:补全所有缺失的基础样式,修复布局混乱

              v1.0.1167 (2026-08-20)

              新功能

              • 方案审核流程优化 — 用户可选规划师或系统自动出方案

              其他

              • - 新增 teacher-select.vue 规划师选择页,调用 /api/health/plan/available-teachers
              • - 新增 HealthPlan.teacherId 字段 + DatabaseInitializer 迁移251
              • - 新增 getAvailableTeachers 接口(已绑定+同团队+全量规划师)
              • - submitPlan 根据 needTeacher 决定状态:pending_review/published
              • - listPendingReviewPlans 支持按 teacherId 过滤

              v1.0.1166 (2026-08-20)

              Bug 修复

              • 修复微信登录 invalid code (40029) —— 不再 onLoad 预取 login code,改为点击授权时实时获取

              其他

              • 会导致 code2Session 返回 40029 invalid code。login.vue 改为与
              • invite/join.vue 一致的模式:getPhoneNumber 中实时 uni.login 获取新 code。

              v1.0.1165 (2026-08-19)

              新功能

              • 规划师方案维护功能 — 前端审核页面 + 路由 + API

              其他

              • - cfc-web: 新增 api/healthPlan.js 接口封装
              • - cfc-web: TeacherDashboard 快捷入口新增「健康方案审核」
              • - cfc-web: router 新增 /teacher-health-plan-review 路由
              • - cfc-frontend: health-plan-summary.vue 更新状态展示和成功提示
              • 后端已有 c4744618,本次为前端配套

              v1.0.1164 (2026-08-19)

              Bug 修复

              • 任务列表标题列支持排序,孩子ID改为显示用户名

              新功能

              • 方案维护功能 — 规划师审核发布流程

              其他

              • - DatabaseInitializer: 迁移250 新增审核字段,status枚举扩展 pending_review/published/rejected
              • - HealthPlanService: 新增 listPendingReviewPlans/updatePlanContent/approveAndPublish/rejectPlan 方法
              • - HealthPlanServiceImpl: savePlan 默认 pending_review 状态,审核通过后生成任务
              • - HealthPlanController: 新增 /pending-review/{list,update,approve,reject} 四个端点
              • 流程: 用户生成方案 → draft/pending_review → 规划师编辑 → 审核通过(published) → 自动生成任务

              v1.0.1163 (2026-08-19)

              新功能

              • 体脂秤图片采集接入报告上传流程

              其他

              • - report-upload.vue: 新增体脂秤入口卡片 + goBodyFatScale/uploadBodyFat 方法
              • - bodyfat-confirm.vue: 新建指标确认页(可编辑数值 + 绑定成员 + 保存)
              • - utils/api.js: 新增 saveBodyFatMetrics API
              • 后端:
              • - HealthReportController: 新增 /report/bodyfat-upload(图片上传+AI识别)+ /report/bodyfat-save(保存指标)
              • - BodyFatScaleService: 图片→DeepSeek-VL OCR→提取指标→存 indicator_values
              • - DatabaseInitializer: 注释废弃的 seedFullRegionData() 调用
              • - pom.xml: source/target 改为 1.8(适配当前 JDK 环境)
              • - application.yml: 新增 deepseek.vision-* 配置

              v1.0.1162 (2026-08-19)

              其他

              • 账户权限分离
              • 修复报错,以及升级JDK
              • 修复报错,以及升级JDK
              • 修复报错,以及升级JDK

              v1.0.1161 (2026-08-19)

              Bug 修复

              • health-main 移除已删除报告入口 + growth-emotion-checkin 添加照片上传

              文档

              • 添加体脂秤参考资料图片

              新功能

              • checkin 页面合并远端 UI 改进 + 保留 getPhotoKey 修复

              v1.0.1160 (2026-08-19)

              新功能

              • 体脂秤图片数据采集器 — 修复 Java 8 兼容性问题

              其他

              • - 修复 ArrayNode/ObjectNode 类型不匹配
              • - 修复 String.isBlank() → trim().isEmpty()
              • - 修复 var → 显式类型声明
              • - 编译验证通过

              v1.0.1159 (2026-08-19)

              新功能

              • 体脂秤图片数据采集器

              其他

              • - 调用 DeepSeek-VL 视觉模型 OCR 提取体脂秤指标(体重/BMI/体脂率/肌肉量等)
              • - 自动创建 indicator_definitions + 保存 indicator_values(source_type=body_fat_scale)
              • - 新增 AdminBodyFatScaleController:
              • - POST /api/admin/bodyfat-scale/images/list — 列出图片
              • - POST /api/admin/bodyfat-scale/images/analyze — 单张分析预览
              • - POST /api/admin/bodyfat-scale/save — 手动保存指标到成员
              • - POST /api/admin/bodyfat-scale/batch — 批量处理多张图片
              • - application.yml 新增 bodyfat-scale.image-dir 和 deepseek.vision-* 配置

              v1.0.1158 (2026-08-19)

              文档

              • 任务系统升级为行为调度中心-整体设计文档

              其他

              • - 缺口:无前置任务/频率单一/购物零联动/require_input 无强制/无 start 两阶段
              • - 设计:action_type 声明式联动、TaskEngine 集中判定、task_executions 执行记录、三阶段实施路径
              • Ultraworked with Sisyphus
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
              • - tasks.vue 今日任务:按 actionType 渲染按钮文案(开始游戏/专注/填写/阅读/报名/购物),locked 灰态+解锁提示,start_required 先开始再完成,require_input 弹填写面板提交内容
              • - create-task.vue 新增联动动作/两阶段/填写式开关+商品ID配置,重复设置扩展隔天/每月,补全 repeatTypeLabel/actionTypeLabel computed
              • Ultraworked with Sisyphus
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
              • - 新增 task_executions 执行记录表(started/finished 两阶段落库)+ focus_sessions.task_id
              • - DatabaseInitializer 迁移248:ensureColumn 幂等 + CREATE TABLE IF NOT EXISTS
              • - TaskService:completeTask 前置校验/填写强校验/两阶段校验/最短时长校验,完成后解锁后置任务;新增 startTask(pending→in_progress 并记录 execution)
              • - TaskController 新增 POST /api/tasks/{id}/start;complete 支持 content/contentType
              • - RepeatTaskGenerator 重构为频率分派:hourly/daily/every_other_day/weekly/monthly,每小时 cron 扫描,兼容旧 repeatType
              • - CreateTaskDTO/CompleteTaskDTO 透传新字段
              • Ultraworked with Sisyphus
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai

              新功能

              • 任务系统升级-行为调度中心前端(动作联动/两阶段/填写式完成)
              • 任务系统升级-行为调度中心后端(前置任务/频率任务/两阶段/填写式完成)

              v1.0.1157 (2026-08-19)

              新功能

              • 健康方案页重写为多步骤结构化编辑流程

              v1.0.1156 (2026-08-19)

              文档

              • 将开发规范中 Dify 引用统一改为 LangGraph

              其他

              • - AiGateway.java: 日志消息更新
              • - AIChatController.java: 注释和方法引用更新
              • - ContextApiController.java: Javadoc 更新
              • - ButlerController.java: Operation summary 更新
              • - MealRecommendController.java: 变量名 difyResp→langgraphResp
              • - KnowledgeBaseController.java: 依赖注入名更新
              • - DifySyncService → LanggraphSyncService(类名/方法名同步)
              • - DanKnowledgeBaseService.java: 依赖引用更新
              • - AGENTS.md: AI集成说明更新
              • - PROJECT-OVERVIEW.md: 历史条目中DifySyncService→LanggraphSyncService

              v1.0.1155 (2026-08-19)

              新功能

              • 评论自动回复脚本 comment_reply.py——CDP 驱动,click 修复与残缺选择器修复
              • 新增 D26/D27/D28 文章稿、推流试验稿及内容草稿

              文档

              • AGENTS.md 新增评论自动回复工具章节,修正 click 触发方式
              • 文章钩子追踪清单更新——D26/D27 发布记录与已兑现预告

              v1.0.1154 (2026-08-19)

              新功能

              • 照片自动情绪识别 — 后端 AI 调用 + 前端真实 API

              其他

              • - 新增 EmotionRecognitionResult DTO(情绪列表+moodWeather)
              • - AIService.sendEmotionRecognition(): 调用 Dify 情绪识别 Workflow
              • - EmotionCheckinService.analyzeEmotionFromImage(): 解析结构化结果
              • - EmotionCheckinController: POST /api/mind/checkin/emotion/recognize
              • - application.yml: dify.emotion-api-key 配置项(空=mock模式)
              • 前端:
              • - analyzeEmotion() 改为真实 API 调用(上传+识别两步)
              • - 识别结果自动填充 aiResult,支持 applyAiTags 应用标签
              • - 提交时复用已上传的 photoUrl,避免重复上传

              v1.0.1153 (2026-08-19)

              新功能

              • 照片自动情绪识别 — Dify AI 图像分析 + 前端接入

              其他

              • - AIService.sendEmotionRecognition(): 调用 Dify 情绪识别 Workflow,支持 mock 兜底
              • - EmotionCheckinService.analyzeEmotionFromImage(): 解析结构化情绪列表
              • - EmotionCheckinController: 新增 POST /api/mind/checkin/emotion/recognize
              • - application.yml: 新增 dify.emotion-api-key 配置项

              v1.0.1152 (2026-08-19)

              Bug 修复

              • 系统提示词INSERT列数不一致 + 知识库embedding TPM重试 + tags_str类型修复

              v1.0.1151 (2026-08-19)

              Bug 修复

              • action-detail/wealth/wisdom-detail 修复 :key 表达式

              重构

              • 首页能量沙盘解锁改判任一维度能量值>0

              其他

              v1.0.1150 (2026-08-19)

              新功能

              • HealthPlan后端重构 - planJson/status字段+regenerate-section接口

              v1.0.1149 (2026-08-19)

              新功能

              • 首页区块顺序调整为 1-2-9-7-8-5-6-4-3-10-11
              • 健康方案生成工作流重构 - LangGraph结构化方案+Java对接
              • LLM推送数据PII脱敏(智能脱敏)

              其他

              • - FamilyContextService: 用户/孩子姓名脱敏
              • - AiGateway.chat/generateQuestionnaire/generateMenu/generateHealthPlan: 入口脱敏
              • - AIService: sendNutritionMessage/sendTongueDiagnosis/runWorkflow/enrichInputsWithMemory/mirrorConversation/getContext/requestSummaryAsync: 入口脱敏
              • - 化名映射: userId+salt→SHA-256→固定化名, 保证AI可识别同一用户
              • - 幂等检查加 deadline 日期窗口过滤,避免历史任务阻塞当天生成
              • - RepeatTaskGenerator 每天凌晨5点可正确识别并再生方案任务

              Bug 修复

              • 方案任务设置repeatType=daily,幂等检查限定当天deadline

              v1.0.1148 (2026-08-19)

              文档

              • API 参考文档纳入开发规范
              • 将 API 参考文档纳入开发规范

              其他

              • - cfc-backend/AGENTS.md:新增接口前三步检查流程(复用→修改→新增)+ 废弃接口 410 处理
              • - AGENTS.md:接口规范补充「新增接口前查阅文档」和「废弃接口处理」
              • - cfc-backend/AGENTS.md:新增接口前三步检查流程(复用→修改→新增)
              • - 废弃接口统一标记 410 + @Deprecated

              v1.0.1147 (2026-08-19)

              文档

              • 新增 API_REFERENCE.md 索引条目
              • 新增后台接口参考文档

              其他

              • - 标注已废弃接口(7 处,返回 410)
              • - 列出待清理废弃接口清单
              • - 新增接口检查清单与流程

              v1.0.1146 (2026-08-19)

              Bug 修复

              • 健康方案成员选择选中状态增强

              其他

              • - 勾选圆圈 36rpx->44rpx,未选时透明打勾文字(不显示),选中时橙色填充✓
              • - 步骤标题行加已选人数 badge(橙色胶囊标签)
              • Ultraworked with Sisyphus
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai

              v1.0.1145 (2026-08-18)

              Bug 修复

              • 心情打卡同步情绪日记—checkinDate 空值兜底为当天

              其他

              v1.0.1144 (2026-08-18)

              新功能

              • 心情打卡同步到情绪日记

              其他

              • - DailyCheckinService.createCheckin 在 moodScore 有值时自动同步到 emotion_checkin 表
              • - upsert 逻辑:今日已有记录则更新,否则新建
              • - moodScore 1-10 → moodWeather 映射(sunny/cloudy/rainy/stormy)
              • - 同步失败不影响主流程

              v1.0.1143 (2026-08-18)

              Bug 修复

              • 健康方案重做限制改为每日一次

              其他

              v1.0.1142 (2026-08-18)

              新功能

              • 新增 SystemPrompt 管理功能 + web 品牌与产品素材

              其他

              • - Web 管理端: systemPrompt.js API + SystemPromptManagement.vue 管理页
              • - cfc-langgraph: requirements_frozen.txt 依赖冻结
              • - web/img: 品牌/产品/引用源图片素材(cert/diagram/product-intro/products/ref)
              • - axonhub: AxonHub LLM 网关配置(compose+config)
              • - docs: web 品牌方向计划文档
              • 未追踪 uploads/(临时 json 结果) 不入库

              v1.0.1141 (2026-08-18)

              Bug 修复

              • 修复报告方案链路与报告详情折叠展示

              其他

              • - HealthPlanServiceImpl 修复任务行正则,编号行任务可正常生成
              • - report-detail 移除饮食推荐,肠道菌群/疾病风险/益生菌种/分类/病原菌改为折叠展示
              • - cfc-langgraph 增强 PDF 报告解析(营养/药敏/氨基酸/症状字段)、rag 检索与向量化
              • - schema.sql 补充新表;DatabaseInitializer/AIService/Layout 相关调整

              v1.0.1140 (2026-08-18)

              新功能

              • 健康现状档案 v2 — 疾病史两源预置清单分类多选+确诊时间,用药开始年月自动计算时长 - 疾病史:DISEASE_PRESETS(10项) → DISEASE_GROUPS(8组54项,★菌群源),分类折叠多选,★角标说明 - 确诊时间:年月选择器(fields=month, end限当前月),存 diagnosedAt(yyyy-MM) - 用药:startDate年月 + durationText自动计算(<12月→X个月, ≥12→X年),记不清可手动兜底 - 后端零变更(JSON列透传),v1旧数据({name,note}/{name,time})回显兼容 - 新增 computed.selectedNames + 17 个 CSS 类

              v1.0.1139 (2026-08-18)

              Bug 修复

              • 健康方案查看页+报告日期格式

              其他

              • - 会员限制:付费年度家庭会员不限次,非付费会员每月仅可重新制定一次(localStorage 记录)
              • - health-main: goPlanSummary 传 planId;报告日期格式化为 yyyy-MM-dd
              • Ultraworked with Sisyphus
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai

              v1.0.1138 (2026-08-18)

              新功能

              • DAN 测评报告专用详情页

              其他

              • - 后端 DanReportUploadVO 增加 result 字段,getDetail 返回关联的 DanAssessmentResult 分数
              • - 更新 4 处入口跳转:report-list、mind-detail、wisdom-detail、health-main

              v1.0.1137 (2026-08-18)

              Bug 修复

              • 保单管理页居中+控件高度

              其他

              v1.0.1136 (2026-08-18)

              Bug 修复

              • 移除 report-upload 自定义导航栏,使用原生导航栏避免双标题

              其他

              v1.0.1135 (2026-08-18)

              Bug 修复

              • confirmText 改为4字以内,移除debug日志和红色横幅

              其他

              • '同意并继续'(5字) 导致 showModal 静默失败,弹窗不出现。
              • 改为 '同意继续'(4字),同时移除所有 debug 代码。

              v1.0.1134 (2026-08-18)

              Bug 修复

              v1.0.1133 (2026-08-18)

              Bug 修复

              • 财商打卡页居中+控件高度 - 容器宽度约束+input padding增大

              其他

              v1.0.1132 (2026-08-18)

              其他

              • debug: 加 try-catch+fail+complete 跟踪 uni.showModal 是否执行

              v1.0.1131 (2026-08-18)

              文档

              • 健康现状档案 v2 实现计划 — 疾病史两源预置清单+确诊时间+服药时长

              其他

              • - 疾病史:DISEASE_PRESETS(10项) → DISEASE_GROUPS(8组54项★菌群源),分类折叠多选,★角标说明,已选区设确诊时间(年月选择器)
              • - 用药:startDate年月 + durationText自动计算,记不清手动兜底
              • - 后端零变更(JSON列透传),v1旧数据回显兼容
              • - 7个任务:常量/数据模型/模板/逻辑/用药/保存/验证提交,含完整代码与验证命令

              v1.0.1130 (2026-08-18)

              新功能

              • 智行富三页强项与提升卡片-认知/关系/财富强弱项标记

              其他

              • - action-detail: 新增关系强项与提升卡片,基于关系六维分数标记,空态引导关系问卷
              • - wealth: 新增财富强项与提升卡片,基于财富四维分数标记
              • Ultraworked with Sisyphus
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
              • v2 重设计(基于调研补齐):
              • - 疾病史:菌群报告病症风险(20项 PdfParseService 白名单)+ 互联网统计常见病(约40项,附患病率/出处/年份)两源合并去重约50项,分类折叠多选;未列出的保留自定义补充兜底
              • - 每条疾病新增确诊时间(年月选择器 yyyy-MM)
              • - 用药:每药一条保留,新增开始服药日期→自动计算已服时长,记不清时用时长文本兜底
              • - 无 DDL 变更(disease_history/medications 为 JSON 字符串列,结构变化在 JSON 内部)
              • - 旧数据兼容:{name,note}/{name,time} 回显置空不报错

              文档

              • 健康现状档案 v2 设计 — 疾病史两源预置清单+确诊时间+服药时长

              v1.0.1129 (2026-08-18)

              重构

              • 合并 ReportStatsController 到 StatsController,统一 /api/stats 路径

              其他

              • - 删除独立的 ReportStatsController,消除同路径下双 Controller 冲突
              • - 所有接口路径不变,前端调用无需修改

              v1.0.1128 (2026-08-18)

              Bug 修复

              • 解决 merge 冲突 - health-main/index-home 合并冲突 & AiGateway 保留

              v1.0.1127 (2026-08-18)

              Bug 修复

              • 同步远端重构合并 + 保持 :key 修复与 trial 环境地址

              v1.0.1126 (2026-08-18)

              重构

              • 移除管理端AI问卷场景配置与LangGraph qna模块
              • 删除13个意图/旅程/问卷页面与组件
              • 移除首页/我的页意图弹层与旅程卡引用
              • 移除api.js中AI问卷/意图/问题域API封装
              • 删除AI问卷与画像全部13个文件
              • 移除RecommendationController画像推荐端点
              • 移除AiGateway动态问卷/画像方法
              • 移除AI问卷数据库迁移(229/231)与schema四表定义

              其他

              v1.0.1125 (2026-08-18)

              性能优化

              • 合并两次成员接口调用为一次

              其他

              v1.0.1124 (2026-08-18)

              性能优化

              • 合并两次成员接口调用为一次

              其他

              v1.0.1123 (2026-08-18)

              文档

              • 新增参考资料目录文件 - 学生评估PDF、方案docx/pdf、融资规划书PPT

              v1.0.1122 (2026-08-18)

              新功能

              • 心身智三页肠脑轴卡片-情绪/认知指标过滤+身体异常告警
              • 肠脑轴指标过滤+异常指标告警-认知/情绪分类+身体异常指标端点

              其他

              • - wisdom-detail: 新增肠胃与认知卡片,含认知指标(谷氨酸/多巴胺/色氨酸等)+引导上传
              • - body-detail: 新增指标告警卡片,疾病风险(非低风险)+营养素/氨基酸异常(仅异常项)
              • - api.js: 新增 getGutCognitionIndicators/getBodyAbnormalIndicators
              • Ultraworked with Sisyphus
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
              • - MindController: /api/mind/neurotransmitters 只返回情绪相关指标(血清素/多巴胺/GABA/色氨酸)
              • - WisdomGutController(新): /api/wisdom/gut-cognition 认知指标(谷氨酸/多巴胺/色氨酸/丁酸等)
              • - HealthReportController: /api/health/report/body-abnormal 疾病风险+营养/氨基酸异常(仅异常项)
              • Ultraworked with Sisyphus
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai

              v1.0.1121 (2026-08-18)

              Bug 修复

              • pages.json 删除多余右花括号修复 JSON 语法

              v1.0.1120 (2026-08-18)

              Bug 修复

              • 健康主页身维度雷达图改用真实API数据

              其他

              • - chartIsEmpty 和 currentScores 均改用 bodyData
              • - 与其他四维度(智/心/行/富)统一走后端API模式

              v1.0.1119 (2026-08-18)

              文档

              • 首页健康漏斗设计/计划状态同步为已实施

              新功能

              • 首页健康漏斗重构 — 了解区自测卡 + 四段式区块重排

              其他

              • - 新增 goSelfTest 方法 + selfTestTitle/selfTestSub 计算属性(有数据→再次了解·得分;无数据→引导文案)
              • - 新增 .self-test-* 样式(复用 health-main 视觉,边距对齐首页 30rpx)
              • - 未登录态 discover-container 零改动
              • - 设计文档同步:PageBanner 已由 07d897a1 全局移除,① 了解区仅自测卡;补充 sandboxData 判定说明
              • - 新增实现计划 docs/superpowers/plans/2026-08-18-homepage-health-funnel.md

              v1.0.1118 (2026-08-17)

              文档

              • 首页重构 — 主动健康漏斗设计(方案A:了解→发现→改变)

              v1.0.1117 (2026-08-17)

              Bug 修复

              • 内联弹窗逻辑到 pickFile/takePhoto,消除方法调用链断裂问题

              其他

              v1.0.1116 (2026-08-17)

              Bug 修复

              • 移除所有页面中的PageBanner组件,消除双层标题

              其他

              • - 清理遗留的「品牌头部」注释
              • - 保留pages.json中配置的导航栏标题作为唯一标题

              v1.0.1115 (2026-08-17)

              其他

              • debug: 加 console 跟踪 report-upload 点击事件链路
              • 目的是定位 @click 事件是否真正触发到 methods

              v1.0.1114 (2026-08-17)

              Bug 修复

              • 迁移249 file_record补file_type/description列,修复Unknown column错误

              v1.0.1113 (2026-08-17)

              重构

              • 上传报告入口统一为 ReportUploadCard 组件

              v1.0.1112 (2026-08-17)

              Bug 修复

              • 允许 cfc.iwintrue.com 访问后端 API

              v1.0.1111 (2026-08-17)

              Bug 修复

              • 责任声明勾选改方法调用+箭头函数消除this丢失隐患
              • 修复行页面FamilyEnergyBar标签断裂导致模板文本裸露

              其他

              • - ensureAgreed/startPick/uploadAndGoConfirm 内 var self=this 全部改为箭头函数
              • - 修复某些情况下点击上传按钮无反应的问题

              新功能

              • 今日任务和报告上传移至推荐阅读上方,推荐商品移到底部

              v1.0.1110 (2026-08-17)

              新功能

              • 列头排序增强 — 单列循环 + 多列组合排序

              其他

              • - sort.css: 新增 sort-index badge 样式(绿色升序/橙色降序)
              • - 9个管理页面列头直接显示排序序号badge
              • - Foods.vue: 清理重复方法定义

              v1.0.1109 (2026-08-17)

              Bug 修复

              • 请求超时提升至60s + 复制新建按钮loading态

              其他

              • - ArticleEdit 复制并新建按钮加 loading 防重复点击
              • Ultraworked with Sisyphus
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
              • - mind-detail/mind-extra 列表摘要 stripHtml 清理,避免富文本标签直接展示
              • Ultraworked with Sisyphus
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
              • - AI 自动标签生成改为 taskExecutor 异步执行,不阻塞 HTTP 响应
              • - AdminArticleController.create 捕获业务异常返回 Result.error
              • Ultraworked with Sisyphus
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai

              新功能

              • 文章详情mp-html富文本渲染 + 列表摘要去HTML标签
              • 文章创建幂等检查 + AI标签生成异步化

              v1.0.1108 (2026-08-17)

              新功能

              • 统一AI接口走Java后端,删除前端直连LangGraph

              其他

              • - 前端4个AI函数改为直连Java /api/ai/*路由
              • - 删除langgraphRequest适配层及LANGGRAPH_BASE_URL配置
              • - 后端:systemPoints/CF值命名统一,PointsService方法重命名为awardCfPoints/deductCfPoints/getCfPointsBalance
              • - 前端ProfileHeader.vue:系统积分改显示为CF值

              v1.0.1107 (2026-08-17)

              Bug 修复

              • 心理测评DAN部分改为'人格、情绪、自我概念和自驱力测评'

              v1.0.1106 (2026-08-17)

              新功能

              • 认知测评与心理测评补充说明双培强基DAN测评

              v1.0.1105 (2026-08-17)

              新功能

              • 上传报告页新增认知测评、心理测评、情绪打卡三种类型说明

              v1.0.1104 (2026-08-17)

              新功能

              • 小程序 AI 请求统一走 Java 后端

              其他

              • - 前端 4 个 AI 函数改为直连后端 /api/ai/* 路由
              • - 删除 langgraphRequest() 适配层及 LANGGRAPH_BASE_URL/DIFY_BASE_URL 配置

              v1.0.1103 (2026-08-17)

              新功能

              • 首页能量沙盘门禁引导卡 - 未测评时显示GateLock (sandbox-gate)
              • 能量沙盘门禁改家庭级判据 - 任一成员做过五维自检即解锁 (sandbox-gate)

              其他

              • - gate-lock SELF_CHECK 按钮文案对齐五维基础能量检测
              • Ultraworked with Sisyphus
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
              • - EnergyController.sandbox 个人视角改用家庭级判据 + selfCheckGateOrFallback 内置兜底 gate(无种子时前端 GateLock 也能渲染引导按钮)
              • - getUserUnlockStatus 个人沙盘锁定标志同步家庭级,与 /api/energy/sandbox 一致
              • Ultraworked with Sisyphus
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai

              v1.0.1102 (2026-08-17)

              Bug 修复

              • 修复组件引用路径与打卡页 :key 表达式

              v1.0.1101 (2026-08-17)

              新功能

              • 里程碑置顶,打卡记录→任务中心,健康报告状态卡片,四种打卡页面支持照片/文字/语音
              • 小程序 AI 请求统一走 Java 后端

              其他

              • - 前端 4 个 AI 函数改为直连后端 /api/ai/* 路由
              • - 删除 langgraphRequest() 适配层及 LANGGRAPH_BASE_URL/DIFY_BASE_URL 配置

              v1.0.1100 (2026-08-17)

              新功能

              • 增加健康问卷确认步骤

              其他

              • - 步骤条新增第3步「健康问卷」
              • - Step2「生成方案」改为「下一步」至健康问卷步骤
              • - Step3健康问卷:已填写则带出摘要确认,未填写引导去填写
              • - Step4确认方案:原Step3内容,regenerate返回Step3
              • - 新增healthStatusSummary computed解析健康数据摘要
              • - 新增parseLipidText/parseNameList/parseMedText/formatTime辅助方法
              • - 新增goFillQuestionnaire跳转健康问卷表单页
              • Ultraworked with Sisyphus
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai

              v1.0.1099 (2026-08-16)

              新功能

              • 报告上传页移除检测服务商品列表,改为上传报告类型说明

              v1.0.1098 (2026-08-16)

              新功能

              • add 记账打卡 tracking item to daily progress
              • replace service grid with insurance policy list
              • add 推广收益 icon to achievement grid, navigate to wealth center
              • linked SKU 已选区补充关联商品详情跳转入口
              • 适配 linked SKU - 选择时动态更新商品信息,下单/加购转发至关联商品
              • ProductSkuEditor 双模式(规格变体/关联商品)+ ProductPicker 组件
              • 购物车/下单 linked SKU 转发到关联商品
              • 管理端商品选择器 API /api/admin/product/linked/list
              • specMap 扩展返回 linked 商品摘要,库存为0/已下架不显示
              • ProductSkuService 创建/更新支持 linked SKU,跳过 specs 校验
              • ProductSku 新增 linkedProductId/label 字段,迁移247

              文档

              • SKU 关联商品选择器实施计划 8 Tasks
              • fix 循环关联歧义 — 明确 1 层限制
              • SKU 关联商品选择器设计文档 — linked_product_id + label 模型,不迁移存量

              Bug 修复

              v1.0.1097 (2026-08-16)

              新功能

              • 专项调研页适配 v2 契约 - 按 code 拉取问卷 + 提交选项 id (survey-rework)
              • 专项调研重设计 v2 - 统一问卷契约 + 内置默认问卷 (survey-rework)

              其他

              • - flow-intro.vue:surveyTemplateId 取值修正(后端返回平铺字段,兼容嵌套 surveyTemplate.id)
              • - api.js:新增 getProblemSurveyQuestions(code)
              • Ultraworked with Sisyphus
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
              • - submit 改读 surveyTemplateId(兼容旧 templateId),answers 统一 [{questionId, optionIds}](兼容旧 Map/[{questionText, optionTexts}])
              • - ProblemDomainController.list 补平铺 surveyTemplateId 字段(修复 flow-intro 透传断链)
              • - 迁移248:survey_templates 内置 3 个问题域问卷种子(空表才插入)+ problem_domains 未绑定才绑定,幂等
              • Ultraworked with Sisyphus
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai

              v1.0.1096 (2026-08-16)

              Bug 修复

              • 迁移248创建health_report_edit_logs表,修复表不存在错误

              v1.0.1095 (2026-08-16)

              Bug 修复

              • 补充移除剩余3处 AI 字样

              其他

              • - AIFloatingAvatar → FloatingAvatar, AITaskCard → TaskCard 组件重命名
              • - 政策文档中 AI 相关描述替换为中性表述
              • - 29 个文件,1398 行变更

              v1.0.1094 (2026-08-16)

              新功能

              • 旅程 stage 3/4 推进 + 购买→方案关联校验 (P1)

              其他

              • - PackageLogisticsController:物流状态非 none → 推进旅程 stage=4(试剂盒已发/样本已收)
              • - ProblemPackageController.confirm:确认方案前校验套餐已购买(paid/pending 订单),打通购买→方案关联
              • Ultraworked with Sisyphus
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
              • - wealthChildLegacy(119) → wealthAltruism 利他贡献题(分享经验帮助他人)

              Bug 修复

              • 自测问卷财富子维度题目对齐利他创富四维模型

              v1.0.1093 (2026-08-16)

              Bug 修复

              • ProductEdit.vue 修复 editorConfig 初始化被挤出 created() 导致的构建失败

              v1.0.1092 (2026-08-16)

              其他

              • Revert "feat(web): 批量添加列表页分页+排序+横向滚动(109文件)"
              • - 方案保存后后端 savePlan() 自动调用 generateDailyTasksFromPlan()
              • - 生成每日 Task(sourceType=plan, sourceId=plan.id)
              • - 修复前:方案内容未入库,后端任务生成链从未触发

              Bug 修复

              • 方案保存后自动触发每日任务生成链路

              v1.0.1091 (2026-08-16)

              其他

              • Revert "feat(web): 批量添加列表页分页+排序+横向滚动(109文件)"

              v1.0.1090 (2026-08-16)

              新功能

              • 富维度重构为利他创富四子维度模型(能力/利他/CF值/素养)

              其他

              • - 家长:能力25% + 利他30% + CF值35% + 素养10%
              • - 孩子:学业25% + 利他30% + 积分35% + 素养10%
              • - 新增 mapper 注入:FamilyPlatformBalanceMapper(CF值)、ReferralTreeMapper(邀请人数)、GuideMapper(服务商资质)
              • - DTO:新增 wealthSkill/wealthAltruism/wealthFx 共用字段,旧字段兼容保留
              • - 前端:WealthSubScores.vue、wealth/index.vue、health-main/index.vue 全部适配 4 子维度
              • - pages.json:移除不存在的 intent-quiz 页面引用

              v1.0.1089 (2026-08-16)

              新功能

              • 方案确认改调生成任务接口 (P0)
              • 方案确认生成会员任务 + 补全会员校验绕过路径 (P0)

              其他

              • - api.js:新增 confirmProblemPlan 封装
              • Ultraworked with Sisyphus
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
              • - TaskPlanService.generatePlanTasks:plan items 生成可执行任务,打通 ProblemCompletionService 发奖链路
              • - TaskController:complete-minigame / batch-complete 补 checkMemberOnly
              • - GuideFamilyTaskController:单个/批量审核补会员校验
              • Ultraworked with Sisyphus
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai

              文档

              • 功能分析定义表(按会员等级梳理,含前置关卡)

              v1.0.1088 (2026-08-16)

              新功能

              • 批量添加列表页分页+排序+横向滚动(109文件)
              • 商品编辑-线上服务者简化为服务商下拉选择
              • 健康报告列表增加报告人/报告日期/上传日期

              其他

              • - 67 个页面添加 sortable="custom" 列排序
              • - 12 个 teacher/nutritionist/service 页面添加 el-pagination 分页
              • - PlanManagement.vue 样板参考实现
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai

              Bug 修复

              • 恢复 CHANGELOG 至 v1.0.1087(修复 stash 冲突时误取旧版本)
              • 方案制定页成员选中效果加强-粗边框投影+头像变色+圆形对勾徽章

              v1.0.1087 (2026-08-15)

              Bug 修复

              • 清理菜单管理页残留冲突标记
              • 迁移247 user_intents补skip_count/last_skip_at列,修复Unknown column错误

              新功能

              • 菜单编辑改用树形选择器作为上级菜单

              其他

              • - 新增 treeData computed:递归展平菜单树,带 padding 缩进
              • - 新增 currentLabel computed:选中后显示面包屑路径(如 系统配置 > 基础管理 > 用户管理)
              • - 新增 excludedIds computed:编辑模式下自动排除自身及所有子孙节点,防循环引用
              • - 新增 selectParentNode 方法:点击树节点设置 parentId
              • - 添加 parent-hint 提示条:显示当前选中上级路径或'顶级菜单'

              样式

              • 副标题文案调整

              v1.0.1086 (2026-08-15)

              新功能

              • 通知模板通道多选加公众号选项 (W3)
              • 通知五通道模型 - 公众号通道 + 通道抽象 (W3)

              其他

              • - 提示文案:小程序内为内置通道,短信/微信/公众号/电话需接入外部接口后生效
              • Ultraworked with Sisyphus
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
              • - NotificationChannel 接口 + NotificationMessage DTO
              • - 5 通道实现:
              • - InAppNotificationChannel 内置写库
              • - Sms/Wechat/Gzh/Phone 外部通道预留 stub(enabled 配置开关 + 日志,TODO 接入网关)
              • - NotificationDispatchService 统一分发入口:读模板 → 占位符替换 → 按 channels 多选分发
              • - DanReportUploadService / ProblemCompletionService 改走分发服务(移除硬编码/模板辅助方法)
              • Ultraworked with Sisyphus
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai

              v1.0.1085 (2026-08-15)

              新功能

              • 单入口问卷弹窗 + 首页跳转修正

              其他

              • - 以后再说调用 /api/user-intent/skip 记录skipCount,最多3次
              • - B类跳转改为 /pages/health/ai-questionnaire(原指向domain-list)
              • - handleIntentClose 移除旧 intent_skipped 存储标记
              • - 后端skip接口、user_intents.skip_count列均已就绪

              v1.0.1083 (2026-08-15)

              Bug 修复

              • ArticleCategory.vue 修复 el-dialog 标签缺失导致属性裸奔

              新功能

              • 意图问卷入口 + 跳过提醒机制

              其他

              • - UserIntent实体新增skipCount/lastSkipAt字段
              • - 新增POST /api/user-intent/skip 接口记录跳过次数
              • - 迁移243: user_intents表添加skip_count和last_skip_at列
              • 前端:
              • - 新增pages/health/intent-quiz.vue意图问卷入口页(三选一:随便看看/先了解自己/解决问题+以后再说)
              • - health-main新增showIntentReminder状态,跳过1-2次后显示提醒横幅
              • - 跳转逻辑:A类→返回浏览 / B类→AI问卷 / C类→问题域选择
              • 设计说明:
              • - 所有用户从统一入口开始(intent-quiz页面)
              • - 随便看看用户点击以后再说,记录skipCount,最多提醒3次
              • - 先了解自己/解决问题用户直接进入AI智能问卷或问题域选择

              v1.0.1082 (2026-08-15)

              Bug 修复

              • 报告详情页异常数量修复 + 指标自组装异常统计补齐
              • 修复动态菜单子菜单名称为空、无子菜单的一级菜单展开箭头问题

              其他

              • 仅 high/low/abnormal/偏高/偏低/异常/缺乏/不足/注意/高风险 计入异常数
              • - assembleBlocksFromPayload 生成 indicator 块时携带 abnormalCount
              • - report-blocks-renderer indicator 块标题行显示异常数量
              • - 模板: el-submenu 增加 children.length > 0 条件(无子节点时不渲染展开箭头)
              • - key/index: 补充 id 兜底,避免 path 为空时的渲染异常

              v1.0.1081 (2026-08-15)

              新功能

              • 商品详情页展示套餐包含明细
              • 商品编辑页支持套餐类型及套餐组成配置
              • ProductService.detail返回套餐商品组成
              • ProductDTO新增bundleItems套餐组成字段
              • 迁移246创建product_bundle_items表(套餐商品组成明细)

              文档

              • 商品套餐管理功能实现计划

              v1.0.1080 (2026-08-15)

              文档

              • 更新 PROJECT-OVERVIEW.md v2.8 — SKU价格单位统一分 + 规格选择响应式修复 (7 Tasks 已完成)
              • SKU价格统一分单位+规格按钮修复 实现计划
              • SKU规格价格统一分单位 + 详情页规格按钮响应式修复设计文档

              Bug 修复

              • 详情页规格选择用/,按钮始终可点
              • ProductSkuEditor 价格显示/输入采用元,提交采用分 (×100)
              • 迁移245 product_skus存量价格×100(元→分),sys_config幂等标记
              • 购物车项单价有SKU时用规格价,修复购物车显示商品价而非规格价
              • ProductSku/ProductSkuDTO 价格字段 BigDecimal(元)→Integer(分),统一价格单位

              v1.0.1079 (2026-08-15)

              文档

              • 商品套餐管理功能设计文档(建表/管理端配置/小程序展示)

              v1.0.1078 (2026-08-15)

              新功能

              • 我的页面新增当前意图展示与重新选择入口

              重构

              • 统一家庭成员接口迁移到 getFamilyMemberList,修复 quick-survey :key 警告

              其他

              • - api.js 新增 getFamilyMemberList 唯一入口,移除 getFamilyMembers/getVisibleFamilyMembers/listFamilyMembers 废弃导出
              • - 迁移 24 处调用点(8 getFamilyMembers + 13 getVisibleFamilyMembers + 3 listFamilyMembers)
              • - quick-survey.vue 3 处 :key 表达式改为方法调用
              • - api.test.js 测试同步更新

              v1.0.1077 (2026-08-15)

              新功能

              • 报告详情直入编辑模式取消返回列表页

              其他

              • - cancelEdit: directEdit 时 uni.navigateBack() 返回报告列表/卡片页,等同原生返回
              • - enterEditMode: 重置 directEdit,view 内点编辑后取消仍回 view 模式
              • Ultraworked with Sisyphus
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai

              v1.0.1076 (2026-08-15)

              Bug 修复

              • 报告详情/确认页被检测人选择面板始终列出全部成员

              其他

              v1.0.1075 (2026-08-15)

              新功能

              • 改版v1 通知入首页动态 (W3)
              • 改版v1 通知模板管理页 (W3)
              • 改版v1 通知模板管理 (W3)

              其他

              • - 未读通知优先显示(isRead=0 在前)
              • - 使用 parseDate 解析时间(遵守小程序日期解析规范)
              • Ultraworked with Sisyphus
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
              • - 新增 NotificationTemplateManage.vue 管理页
              • - 类型/标题/内容模板/推送通道(小程序内/短信/微信/电话)/状态
              • - 通道多选 + 占位符提示 {domainName} {reward}
              • - 路由注册 notification-template-manage
              • Ultraworked with Sisyphus
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
              • - 新增 AdminNotificationTemplateController (/api/admin/notification-template list/save/delete)
              • - DanReportUploadService / ProblemCompletionService 改为从模板表读取文案
              • - report_ready / reward_granted 支持 {domainName}/{reward} 占位符
              • - 表不存在/停用/无记录时回退默认文案
              • - schema.sql 同步 notification_templates 建表
              • Ultraworked with Sisyphus
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai

              v1.0.1074 (2026-08-15)

              新功能

              • 家庭成员接口统一兼容字段

              其他

              • - FamilyMemberService 新增 listMembersWithFamily() 支持 includeFamily 模式
              • - 批量替换 controller/service 中 Long.valueOf(map.get().toString()) 模式
              • - 修复 4 个 CRLF 文件的全行替换噪声(改用 perl 保留行尾符)
              • - 前端 request() 过滤空字符串 ID 字段,防止空 ID 传后端

              Bug 修复

              • 统一 Long 参数安全解析,修复空字符串导致 NumberFormatException

              v1.0.1073 (2026-08-15)

              新功能

              • 报告列表与健康首页点击 gut_flora 报告直达编辑模式
              • 报告详情页支持 mode=edit 参数直入编辑模式

              其他

              v1.0.1072 (2026-08-15)

              Bug 修复

              • 移除21天科学减重/28天血糖平稳套餐种子数据自动插入
              • 移除 health-plan-summary onLoad 中残留的 loadFamilyReports 调用

              其他

              v1.0.1071 (2026-08-15)

              Bug 修复

              • ProfileMenu 组件导入路径修正

              其他

              新功能

              • 报告列表支持多选软删除 + 点击行直达编辑页
              • 报告编辑页路由 + 归档/编辑 API 封装
              • 新增报告批量归档接口 POST /report/archive-batch
              • sales/index.html 产品介绍分类挂载减重套餐卡片 (4→5篇)
              • 新增家庭科学减重套餐产品介绍页 + Agnes生成产品封面图

              v1.0.1070 (2026-08-15)

              新功能

              • 方案保存后自动生成每日任务(P0-3后端)

              v1.0.1069 (2026-08-15)

              Bug 修复

              • 修复6处:key表达式警告

              v1.0.1068 (2026-08-15)

              Bug 修复

              • 心理雷达图改用10维完整数据(大五+自驱力+情绪稳定性+自我概念)

              其他

              • - EmiReportService.toDTO() 解析 DanAssessmentResult.structuredAnalysis JSON 提取自驱力三维度及自我概念;emotionStability = (emotionScore+resilienceScore+stressCopingScore+selfAwarenessScore)/4
              • - 心理雷达图扩展为10维:开放性/尽责性/外向性/宜人性/神经质/自主性/胜任感/归属感/情绪稳定性/自我概念
              • - 家庭平均数据同步使用10维字段计算
              • - mind-detail页面的emiData.driveAutonomy等字段现在也能正确获取到数据

              v1.0.1067 (2026-08-15)

              Bug 修复

              • 心理雷达图改用大五人格5维(与mind-detail保持一致)

              其他

              • - scores: opennessScore/conscientiousnessScore/extraversionScore/agreeablenessScore/neuroticismScore
              • - avgScores: 同样使用大五人格字段计算家庭平均

              v1.0.1066 (2026-08-15)

              其他

              v1.0.1066 (2026-08-15)

              Bug 修复

              • health-plan-summary 成员列表 wx:key 表达式改用方法调用

              其他

              v1.0.1065 (2026-08-15)

              新功能

              • 首页新增今日任务卡片 daily-task-card + 聚合接口封装
              • 新增今日任务聚合服务 DailyOverviewService + 只读接口 POST /api/daily-task/overview
              • 改版v1 B类轻问卷(F16) + 首页定向内容(F17)
              • 改版v1 问题域管理页 (W1)
              • 改版v1 管理端问题域CRUD (W1)

              其他

              • - daily-task-card.vue 自带 onShow 拉取刷新,四分组渲染 + 全部完成空态 + 失败重试
              • - index-home 挂载到 JourneyCard 与 WuxingSandbox 之间(登录态容器内,未登录不显示)
              • - 遵从小程序限制:无 ?. 可选链、:key 用方法调用
              • - DailyOverviewService 纯只读,复用现有 healthCheckin/financeCheckin/emotionCheckin/growthTask/task/articleReading/assessment/danReport 查询
              • - DailyTaskController memberId 回退链:请求体 memberId → currentMemberId
              • - 单元测试 DailyOverviewServiceTest + DailyTaskControllerTest(@SpringBootTest + @MockBean)
              • Ultraworked with Sisyphus
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
              • Ultraworked with Sisyphus
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
              • Ultraworked with Sisyphus
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai

              v1.0.1064 (2026-08-15)

              文档

              • 统一家庭成员列表接口规范到 AGENTS.md
              • 今日任务首页卡片+只读聚合接口实施计划
              • 修正每日任务设计文档测评路由指向 results 页
              • 每日任务首页卡片+只读聚合接口设计文档

              其他

              • - Task1 聚合服务 + Task2 接口 POST /api/daily-task/overview + Task3 前端卡片 + Task4 首页集成
              • - 引用签名已对照实际代码自检(checkinDate/hasTodayRecord 等)
              • (仅小程序接入 + /api/daily-task/overview 只读聚合接口)
              • - PROJECT-OVERVIEW.md: 新增实施计划条目

              v1.0.1063 (2026-08-15)

              Bug 修复

              • report-detail.vue 前端自动从 payload 组装展示块,适配不同报告类型

              其他

              v1.0.1062 (2026-08-15)

              新功能

              • 雷达图对接真实数据 + 新增财富标签 + 显示家庭成员平均数据
              • 场景3减肥套餐主线 — 打卡返积分+产品数据+报告自动出方案

              其他

              • - 心理维度: 调用 /api/emireport/latest 获取个人EMI报告(情绪/抗压/自我认知/社会适应/大五综合)
              • - 社会性维度: 调用 /api/family/relationship/scores 获取家庭关系质量评分
              • - 财富维度: 新增Tab, 调用 /api/energy/sandbox 获取五维能量数据
              • - RadarChart 增加 :avgScores 属性显示家庭成员平均值(灰色虚线)
              • - 无数据时显示解锁引导文案
              • - 后端新增 /api/emireport/family 接口返回家庭所有孩子EMI报告
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
              • 1. 当 report_blocks 表无数据时,blocks 为空数组,页面显示'暂无报告内容'。
              • 新增 payload 回退展示区:当 blocks 为空但 payload 有数据时,展示综合评分、健康指标、疾病风险。
              • 2. 编辑按钮 hasRiskBlocks 条件始终为 false(检查 block.riskLevel 而非 items 内 level),
              • 导致编辑按钮永不显示。改为 isGutFlora 条件即可,blocks 为空时按钮文案变为'查看完整数据 ›'

              Bug 修复

              • DietPreferencesController 处理 familyMemberId 为 null 时优雅降级
              • report-detail.vue 缺少 blocks 时展示 payload 回退内容

              v1.0.1061 (2026-08-15)

              Bug 修复

              • 方案制定页面修复-移除\ue601\乱码/双重标题/Step1改为选人

              其他

              v1.0.1060 (2026-08-15)

              Bug 修复

              • health-plan-summary onShow函数体缺}闭合

              新功能

              • 报告审核确认时将食材推荐入库

              其他

              • - saveFoodSuitability() 将 FoodItem 写入 report_food_suitability 表
              • - 自动匹配 foodId(精确+模糊匹配 foods 表)
              • - schema.sql 同步 report_food_suitability 表定义

              v1.0.1059 (2026-08-15)

              Bug 修复

              • 统一 memberId 回退链 currentChildId → currentMemberId → userId
              • 菌群知识库文章接口 + 分页拉取 + LangGraph timeout 修复

              其他

              • - health-main, growth-main, survey-history, survey-questionnaire
              • - diet/index, diet/preferences, diet/records, diet/record-detail
              • - api.js getDietPreferences 支持传 data 参数
              • 回退链统一: currentChildId → currentMemberId → userId
              • - 修复性别取值非法(空串/微信码 0/1/2 处理)
              • - 修复 SurveyController submit NPE(templateId 判空)
              • - 修复 FoodRecommendController userId/foodId 空串 NPE
              • - 修复 AdminArticleController toggleFeatured NPE
              • - 修复 AdminNoticeController LambdaQuery 参数类型
              • - 修复 AdminPurchaseFieldController Map→实体 ClassCastException
              • - 修复 DietMealConfigController @RequestParam→@RequestBody
              • - 修复 FamilyInviteController scene 改为 JSON 格式
              • - 修复 HealthExercise/SleepController memberId 空串 NPE
              • - 修复 hasRole roles null 保护
              • - LangGraph: java_client timeout 10s→120s, get_microbiome_articles 分页
              • - LangGraph: microbiome_loader.py fetch_articles 分页+timeout 120s
              • - 导入 809 篇菌群知识库文章到 microbiome_article 表

              v1.0.1058 (2026-08-15)

              Bug 修复

              • 显式依赖 logback-classic 避免生产环境 NoClassDefFoundError: ThrowableProxy
              • 推荐阅读/商品改用首页组件并移到底部,恢复饮食推荐

              其他

              • 官网文案微调:子女传承→代际传承,科学育儿→精准管理
              • - 成长百科区:科学育儿·从了解开始 → 精准管理·从了解开始
              • - 百科描述同步为全家人视角,不再仅针对孩子
              • - 推荐阅读: 内联 rec-card → ArticleBookshelf 组件(合并 healthArticles+growthArticles)
              • - 推荐区块移至页面底部(DimensionActivities 之后)
              • - 恢复被 b725d6883 删掉的饮食推荐 action-card 入口卡片
              • - 清理: 移除旧推荐样式、productList API 调用、healthProducts/growthProducts 死代码
              • - 兼容: goToArticle/goToProduct 支持对象参数(组件 emit 传入)

              v1.0.1057 (2026-08-15)

              新功能

              • 改版v1 C类前端 - 首页旅程集成(F1) + 分包注册
              • 改版v1 C类前端 - 问题流/通知共8页面(F4-F11)
              • 改版v1 C类前端 - 意图选择弹层(F2) + 旅程进度条(F3)
              • 改版v1 C类前端 - 接口封装(F13) + 会员任务角标(F12)

              其他

              Bug 修复

              • 改版v1 C类调研提交 - 修正旅程阶段映射(3→2)
              • report-detail.vue 修复传参错误导致400及blocks获取层级错误

              v1.0.1056 (2026-08-14)

              新功能

              • 北京菌群报告解析集成——指纹检测+表格提取+统一输出

              其他

              • - pdfplumber表格提取SCFA/核心菌属/营养代谢/抗生素/毒性物质
              • - 统一输出结构:两种报告类型产出相同字段集
              • - 标准报告北京特有字段保持空默认值

              v1.0.1055 (2026-08-14)

              新功能

              • 管理后台菜单管理页面(树形CRUD+角色授权弹窗)与动态侧边栏
              • 后端菜单管理接口(树查询/CRUD/移动/角色授权/用户菜单)
              • 新增菜单管理表结构(sys_menu/sys_role_menu)与数据库迁移+种子数据

              v1.0.1054 (2026-08-14)

              Bug 修复

              • 成长页功能修复(基于干净基线重建) - 标题 今日干预进度→今日成长 - 移除 今日打卡/本周调研 items、饮食推荐卡片 - 饮食检查改用 getHealthMealList(/api/health/meal/list) - 推荐商品改用 productList({page:1,size:6}) 修复空列表 - 快捷按钮 4 列 flex 布局(progress-grid) - 保留 tracking-tabs 记录区与成长记录卡

              v1.0.1053 (2026-08-14)

              文档

              • 新增公众号数据驱动优化指南(基于后台分析)

              v1.0.1052 (2026-08-14)

              Bug 修复

              • 删除api.js末尾重复的getExerciseList/getSleepList声明
              • 修复编译错误——函数声明+key表达式

              其他

              • - ai-questionnaire/result: :key表达式改为方法调用
              • - health-status-form.vue: :key表达式改为方法调用

              v1.0.1051 (2026-08-14)

              新功能

              • 成长页今日干预进度对接真实 API(运动/睡眠/连续打卡)

              v1.0.1050 (2026-08-14)

              新功能

              • 菜单管理全量初始化 + Layout动态加载
              • 移植报告PDF菌群表与食物推荐表解析

              其他

              • - admin_menu种子数据从18条扩展至100+条,覆盖全部现有菜单项
              • 家庭运营/任务中心/审核中心/商城营销/知识中心/活动管理/
              • 健康饮食/报告解析/家庭服务/业务管理/测评咨询/系统配置/菜单管理
              • 前端:
              • - Layout.vue新增fetchMenu()方法,启动时从/api/admin/menu/tree加载菜单
              • - buildMenuItems()将树形结构转换为el-menu所需格式
              • - 接口失败时降级使用硬编码菜单(向后兼容)
              • - 菜单管理页可实时修改左侧导航
              • - pages.json: ai-questionnaire分包path去重(重复root前缀)
              • - action/body/mind-detail: 删除},)残留JS语法错误
              • - 移植 _parse_bacteria_table/_parse_phylum_tables/_parse_taxonomy_levels
              • - parse_report_pdf 接入菌群检出详细列表(11分组)与个体化食物推荐表
              • - Java 端 convertLgFloraList/convertLgFoodList 解析 LangGraph snake_case 输出

              Bug 修复

              • 修复编译错误——编码损坏+分包路径+JS语法

              v1.0.1049 (2026-08-14)

              新功能

              • 菜单管理全量初始化 + Layout动态加载
              • 改版v1 会员任务标记(B20-22) + 问卷过滤(B23) + 内容标签过滤(B24)
              • 改版v1 C类接口 - 问题域/用户意图/通知/专项调研/套餐/物流 + 会员校验 + 报告钩子 + CF奖励
              • 菜单管理全量初始化 + Layout动态加载

              其他

              • - admin_menu种子数据从18条扩展至100+条,覆盖全部现有菜单项
              • 家庭运营/任务中心/审核中心/商城营销/知识中心/活动管理/
              • 健康饮食/报告解析/家庭服务/业务管理/测评咨询/系统配置/菜单管理
              • 前端:
              • - Layout.vue新增fetchMenu()方法,启动时从/api/admin/menu/tree加载菜单
              • - buildMenuItems()将树形结构转换为el-menu所需格式
              • - 接口失败时降级使用硬编码菜单(向后兼容)
              • - 菜单管理页可实时修改左侧导航
              • - 原迁移表名写错为 task,导致 tasks 表从未补列
              • - 生产 DB 已直连 ALTER 添加(TINYINT DEFAULT 0)即时生效
              • 官网首页品牌定位改造:切换为「一个人的主动,一家人的健康」+ 家庭精准生活方式管理
              • - head meta/og/title/keywords 重新定位
              • - JSON-LD SoftwareApplication/Organization/FAQPage 同步
              • - Hero 区 badge/主标题/描述/CTA 全部替换
              • - About 区 desc + 企业使命
              • - 概念区收尾追加 slogan 句
              • - 产品区 desc + 精准健康卡桥接代谢主线
              • - 五维 subtitle + 身卡 desc 桥接
              • - FAQ 首答重写 + 新增 2 条
              • 保留:主动健康核心理念、五维体系(身·智·富·行·心)、五行相生相克概念解释
              • - admin_menu种子数据从18条扩展至100+条,覆盖全部现有菜单项
              • 家庭运营/任务中心/审核中心/商城营销/知识中心/活动管理/
              • 健康饮食/报告解析/家庭服务/业务管理/测评咨询/系统配置/菜单管理
              • 前端:
              • - Layout.vue新增fetchMenu()方法,启动时从/api/admin/menu/tree加载菜单
              • - buildMenuItems()将树形结构转换为el-menu所需格式
              • - 接口失败时降级使用硬编码菜单(向后兼容)
              • - 菜单管理页可实时修改左侧导航

              Bug 修复

              • 迁移237 表名修正 task→tasks(member_only 列)

              文档

              • add D17-D22 article drafts and D25 note
              • 数据看板分页抓取26篇完整数据,发布指南更新为25篇完整复盘并新增数据文件

              v1.0.1048 (2026-08-14)

              Bug 修复

              • 迁移237 表名修正 task→tasks(member_only 列)

              其他

              • - 原迁移表名写错为 task,导致 tasks 表从未补列
              • - 生产 DB 已直连 ALTER 添加(TINYINT DEFAULT 0)即时生效
              • 官网首页品牌定位改造:切换为「一个人的主动,一家人的健康」+ 家庭精准生活方式管理
              • - head meta/og/title/keywords 重新定位
              • - JSON-LD SoftwareApplication/Organization/FAQPage 同步
              • - Hero 区 badge/主标题/描述/CTA 全部替换
              • - About 区 desc + 企业使命
              • - 概念区收尾追加 slogan 句
              • - 产品区 desc + 精准健康卡桥接代谢主线
              • - 五维 subtitle + 身卡 desc 桥接
              • - FAQ 首答重写 + 新增 2 条
              • 保留:主动健康核心理念、五维体系(身·智·富·行·心)、五行相生相克概念解释

              v1.0.1047 (2026-08-14)

              新功能

              • 改版v1 会员任务标记(B20-22) + 问卷过滤(B23) + 内容标签过滤(B24)

              v1.0.1046 (2026-08-14)

              文档

              • add D17-D22 article drafts and D25 note
              • 数据看板分页抓取26篇完整数据,发布指南更新为25篇完整复盘并新增数据文件

              v1.0.1045 (2026-08-14)

              新功能

              • 改版v1 C类接口 - 问题域/用户意图/通知/专项调研/套餐/物流 + 会员校验 + 报告钩子 + CF奖励

              v1.0.1044 (2026-08-14)

              新功能

              • 菜单管理全量初始化 + Layout动态加载

              其他

              • - admin_menu种子数据从18条扩展至100+条,覆盖全部现有菜单项
              • 家庭运营/任务中心/审核中心/商城营销/知识中心/活动管理/
              • 健康饮食/报告解析/家庭服务/业务管理/测评咨询/系统配置/菜单管理
              • 前端:
              • - Layout.vue新增fetchMenu()方法,启动时从/api/admin/menu/tree加载菜单
              • - buildMenuItems()将树形结构转换为el-menu所需格式
              • - 接口失败时降级使用硬编码菜单(向后兼容)
              • - 菜单管理页可实时修改左侧导航

              v1.0.1043 (2026-08-14)

              新功能

              • 当前状态调研健康现状档案 — 后端+前端+LangGraph 全链路

              其他

              • 前端: 档案页 health-status-form.vue + pages.json 注册 + 健康主页入口
              • 出方案: health-plan-summary.vue 读取健康现状+饮食偏好, 未填弹窗提醒, 随请求传参
              • AI: adapter._to_langgraph_context 提取 inputs.health_status/diet_preferences
              • chat_graph.llm_call 注入健康现状/饮食偏好到 SystemMessage (prompt 上下文)
              • DI: @Resource, 统一 @PostMapping, JWT userId, upsert 语义

              v1.0.1042 (2026-08-14)

              新功能

              • 小程序画像报告页接入推荐卡片

              其他

              • - 推荐卡片: 类型图标 + 标题 + 描述 + 匹配分
              • - loadRecommendations() 在 loadReport finally 中调用
              • - api.js: 新增 getProfileRecommend 接口

              v1.0.1041 (2026-08-14)

              新功能

              • 改版v1数据层 - problem_domains/user_intents/user_notifications 三表 + task.member_only + package_orders物流字段

              Bug 修复

              • 修复合并冲突残留

              v1.0.1040 (2026-08-14)

              新功能

              • 小程序画像报告页接入推荐卡片

              其他

              • - api.js: 新增 getProfileRecommend 接口
              • - 推荐卡片: 类型图标 + 标题 + 描述 + 匹配分 + 徽章

              v1.0.1039 (2026-08-14)

              新功能

              • 画像驱动推荐系统(补全)

              其他

              • 移除冗余的 article_dimension_mapping/activity_dimension_mapping 表
              • - 迁移231: member_profile_dimension 表
              • - 迁移232: recommendation_logs 追加 recommend_type 字段
              • - 迁移233: 历史 Article/Activity dimension_weights JSON → dimension_weights 表
              • - ProfileDimensionService: 画像同步 + key→dimension_code 关键词映射
              • - ProfileRecommendService: 加权匹配算法(基础得分+需求加成)
              • - RecommendationController: POST /api/recommend/profile 端点
              • - AiQuestionnaireService.finish() 接入 syncFromProfile
              • - RecommendationLog 实体新增 recommendType 字段

              v1.0.1038 (2026-08-14)

              新功能

              • 画像驱动推荐系统(阶段1-2)

              其他

              • - 迁移232: recommendation_logs 追加 recommend_type 字段
              • - 迁移233: Article/Activity 维度映射一次性迁移脚本
              • - schema.sql 同步新增三张表 + ALTER TABLE
              • - Entity: MemberProfileDimension / ArticleDimensionMapping / ActivityDimensionMapping
              • - Mapper: 三个对应 Mapper 接口
              • - ProfileDimensionService: 画像同步 + key→dimension_code 关键词映射(body/mind/wisdom/action/wealth)
              • - ProfileRecommendService: 加权匹配算法(基础得分+需求加成20分)
              • - RecommendationController: 新增 POST /api/recommend/profile 端点
              • - AiQuestionnaireService.finish() 末尾接入 syncFromProfile
              • - RecommendationLog 实体新增 recommendType 字段

              v1.0.1037 (2026-08-14)

              文档

              • 修订画像推荐设计文档(修正维度编码+补充映射规则+澄清边界)

              v1.0.1036 (2026-08-14)

              新功能

              • 新增后台菜单管理功能

              其他

              • - 新建 AdminMenu 实体/Mapper/Service/Controller
              • - 迁移230: admin_menu表 + 18条默认菜单种子数据
              • - schema.sql同步新增admin_menu建表DDL及INSERT
              • - 接口: POST /api/admin/menu/tree|list|add|edit|delete/{id}|sort
              • 前端:
              • - 新增 admin/MenuManage.vue 树形表格+增删改弹窗
              • - router/index.js 注册 /menu-manage 路由(system:menu权限)

              v1.0.1035 (2026-08-14)

              文档

              • 小程序改版设计+分阶段实施计划(需求驱动·逐步解锁,C类问题域闭环优先)

              v1.0.1034 (2026-08-14)

              文档

              • 用户画像驱动推荐系统设计文档

              v1.0.1033 (2026-08-14)

              Bug 修复

              • 恢复 f18dd86e 误删为 0 字节的 710 个文件内容(来源 c975fa82,docs/tests/ppt-output/cfc-langgraph 等)

              v1.0.1032 (2026-08-13)

              新功能

              • 福宝/浠宝AI助手会员专属 + 7X24成长教练权益

              其他

              • - 迁移229: membership_benefits新增GROWTH_COACH权益(FAMILY/PREMIUM)
              • - MembershipService.canUseFeature: FAMILY/PREMIUM新增mascot_ai功能开关
              • - schema.sql同步新增GROWTH_COACH种子行
              • 前端:
              • - ai/chat.vue: onLoad新增getMyMembership检查,FREE用户重定向会员升级页
              • - user-edit/user-edit.vue: 解锁mascot选择区(FAMILY/PREMIUM可见),FREE用户显示升级提示
              • - article-detail.vue: startQuiz前检查会员状态,FREE用户跳转升级
              • - membership/benefits.vue: 新增7X24小时成长教练权益条目

              v1.0.1031 (2026-08-13)

              新功能

              • 小程序逐题对话问卷页 + 画像展示页
              • AI 问卷场景配置管理页
              • 控制器 — /api/ai-questionnaire/* 会话与场景端点
              • 服务层 — 场景 CRUD + start/answer/finish 会话编排 + AiGateway 扩展
              • 数据层 — ai_q_scene/session/profile 表 + 迁移 + 实体/Mapper
              • /api/v1/qna/advance + /profile 端点与路由注册(LLM 不可用降级 fallback/空画像)
              • 动态问卷引擎核心(schemas/prompts/decide_next/generate_profile)

              Bug 修复

              • 从 git 历史恢复最小可运行集(config/rag/llm/middleware)
              • 恢复官网首页并修正 geo-faq 链接指向

              文档

              • AI动态问卷引擎实施计划(8任务:LangGraph恢复/主流程/端点/种子/工具/AI网关/控制器/前端)
              • AI 动态问卷引擎设计 + LangGraph 开发规范
              • 当前状态调研健康现状档案实现计划
              • 当前状态调研健康现状档案设计

              其他

              • - 架构: Java 会话管理 + LangGraph 无状态推理引擎(/api/v1/qna/advance + /profile)
              • - 数据库: ai_q_scene / ai_q_session / ai_q_profile 三表 + 迁移
              • - 规范: AI 服务统一走 LangGraph(AiGateway 熔断调用),写入根/后端 AGENTS.md
              • - web/index.html: geo-faq 专题链接由根目录修正为 articles/ 子目录(8e945bd0 移动后遗留死链)
              • - web/logo.png: 恢复被清空的 logo(22KB)
              • - web/cf.jpg: 恢复被删除的首页 hero 图(45KB)

              v1.0.1030 (2026-08-13)

              新功能

              • 五维页面统一子维度呈现组件

              其他

              • - 子维度评分卡片:标签+描述+分数+等级徽章+进度条
              • - 支持 accentColor 自定义主题色
              • - 分数分级:≥80 优秀/≥60 良好/<60 待提升
              • - 身/智/心/行/富五个详情页面统一接入
              • - 财富页新增子维度评分表(在原有水滴组件下方)
              • - 各页面保留原雷达图,新增统一子维度卡片区

              v1.0.1029 (2026-08-13)

              新功能

              • 成长页面四大打卡功能完整实现

              其他

              • - 修复饮食打卡检查接口(从 /api/diet/record/daily 改为 /api/health/meal/list)
              • - 修复心情打卡缺少 memberId 参数问题
              • - 统一 4 类打卡状态检查使用 createdAt/checkinDate 日期比较
              • - 修复 :key 表达式编译警告(report-blocks-renderer, gates)
              • - 移除今日打卡/本周调研快捷按钮,新增睡眠记录
              • - 移除饮食主页/饮食推荐独立卡片

              v1.0.1028 (2026-08-13)

              重构

              • 心维度子维度命名优化

              其他

              • - EMI四个子维度(情绪管理/抗压能力/压力应对/自我认知)合并为'情绪稳定性'综合指标
              • - 后端新增 emotionStability 字段 = (emotion+resilience+coping+selfAwareness)/4
              • - 前端雷达图展示统一使用'情绪稳定性'标签

              v1.0.1027 (2026-08-13)

              重构

              • 五维页面通俗化改造,让普通人也能看懂

              其他

              • - 身:'七维健康图' → '健康指标',加'身体健康各项指标'说明
              • - 智:'情绪商数/心理韧性/神经质' → '情绪管理/抗压能力/情绪稳定性'
              • - 富:'认知雷达' → '学习能力评估',加'找出可以提升的方向'说明
              • - 行:'家庭关系图谱' → '家庭关系','关系域评估' → '关系质量'
              • - 心:'成长溪流' → '财富成长',加'看到每月的成长变化'说明
              • 新增得分解读卡片:
              • - 每个维度页新增'健康/情绪/学习/关系/财富解读'卡片
              • - 80分以上绿色✅,60-80分黄色⚠️,60分以下红色❗
              • - 配一句话建议:保持/关注/改善
              • 其他:
              • - 修复 FamilyMemberStrip 双 v-if 语法错误
              • - 新增 .section-sub 和 .score-explain-card 样式

              v1.0.1026 (2026-08-13)

              新功能

              • 五维页面新增个人/家庭视图切换

              其他

              • - 个人视图:展示选中家庭成员的维度能量和流水
              • - 家庭视图:展示全家该维度平均能量,隐藏成员切换条
              • - 切换时调用 /api/energy/sandbox?view=family 加载家庭聚合数据
              • - 新增 .view-toggle / .toggle-btn 样式(半透明胶囊按钮)

              v1.0.1025 (2026-08-13)

              新功能

              • 成长页运动/睡眠/心情记录真实化 + 修复饮食记录判断bug

              v1.0.1024 (2026-08-13)

              新功能

              • 新增五维能量统一总览页

              其他

              • * 展示全家/个人五维能量条 + 雷达图
              • * 成员切换(全家总览/其他家庭成员)
              • * 点击维度卡片跳转对应详情页
              • - pages.json 注册 energy/index 路由
              • - npm run build 通过
              • - 生产库已直连 ALTER 添加(DECIMAL(10,2)),列类型与代码迁移对齐
              • - schema.sql 合并重复的 points_multiplier 定义

              Bug 修复

              • products.points_multiplier 列类型统一为 DECIMAL(10,2)

              v1.0.1023 (2026-08-13)

              Bug 修复

              • 修复FileRecord实体缺fileType/description字段 + DatabaseInitializer迁移228

              其他

              • - DatabaseInitializer迁移228:file_record表添加file_type和description列
              • - 修复DatabaseInitializer方法结尾括号错位导致的编译错误

              v1.0.1022 (2026-08-13)

              新功能

              • OSS文件管理后台 + 标签系统 + 11K文件回写file_record
              • 通关奖励真实发放(CF值+能量)+管理端关卡列表分页

              文档

              • 补写实施计划 - 恢复被清空内容+状态更新为全部完成+追加后续修复记录

              其他

              • - refreshFamilyGates 增加 triggerUserId 重载, 4处钩子(FiveDimensionSelfCheck/FamilyInvite/FamilyMembers/ProductOrder)传入触发用户
              • - 前端文案统一: 小程序 gate-lock/gates + 管理端 gates 的'积分'改为'CF值'
              • - AdminUnlockGateController.list 分页(selectPage, page/size 参数)
              • - cfc-web: getUnlockGateList 透传分页参数 + gates.vue 加 el-pagination

              v1.0.1021 (2026-08-13)

              新功能

              • 结算页支持CF值直接兑换优惠券

              其他

              • - CouponService.listUnownedExchangeable:查用户未拥有的有效兑换券
              • - checkout.vue:加载CF余额+可兑换券,兑换按钮直接调exchangeCouponByCf
              • - 兑换成功后自动移入已拥有列表,刷新余额
              • - 产品详情页已有CF值提示(pointsMultiplier>1时)

              v1.0.1020 (2026-08-13)

              新功能

              • nutrition_product 增加成份/配料表(ingredients)字段及后台管理展示

              其他

              • - schema.sql: nutrition_product 建表同步 ingredients TEXT 列, suitable_for 升级为 TEXT
              • - DatabaseInitializer: 新增迁移228(ingredients 列 + suitable_for MODIFY), 幂等
              • - cfc-web: NutritionProducts 列表/详情展示成份配料表
              • - 数据已通过独立脚本提交至京东云 RDS 生产库(zxyj)

              v1.0.1019 (2026-08-13)

              新功能

              • 完成优惠券兑换闭环 + 兑换记录表

              其他

              • 校验优惠券 → 家庭/单券日限次检查 → 扣家庭池CF → 发券 → 落记录
              • - 新增 FamilyPlatformExchangeRecord 实体/Mapper
              • - schema.sql + 迁移227 建 family_platform_exchange_record 表
              • - 兑换记录表含 userId/familyId/couponId/cfCost/status/redeemCode
              • - npm run build + mvn compile 通过

              v1.0.1018 (2026-08-13)

              新功能

              • 家庭CF值体系完善

              其他

              • - 修复confirmReceive CF计算:改用totalAmount(原价)而非moneyAmount
              • - 新增FamilyPlatformBalanceController(balance/logs/exchange-coupon)
              • - FamilyPlatformPointsService新增exchangeCouponByCf方法
              • 前端:
              • - 商品详情页展示'购此商品可得X CF值'
              • - 新增家庭CF值页面(余额+流水+兑换优惠券)
              • - 财富页增加'家庭CF值'入口
              • - api.js新增family-platform相关接口

              v1.0.1017 (2026-08-12)

              新功能

              • 家庭平台积分池后端实现

              其他

              • - 新增 FamilyPlatformPointsService(家庭维度CF值服务)
              • - ProductOrderService.confirmReceive 挂点:floor(实付/100)×points_multiplier 发放家庭池
              • - WithdrawalService 改走家庭池(freeze/confirmWithdraw/unfreeze)
              • - products 表新增 points_multiplier 字段(默认1.00)
              • - DatabaseInitializer 迁移226
              • - 修复测试编译问题
              • - mvn compile + npm run build 通过

              v1.0.1016 (2026-08-12)

              Bug 修复

              • 导入全量全国省市区数据到 streets 表(31省/369市/2813区)

              v1.0.1015 (2026-08-12)

              新功能

              • 康美日记706产品导入+新字段(价格/销量/来源/图片)+搜索分页

              Bug 修复

              • 关卡页与报告渲染组件 :key 改为方法调用,消除非h5平台编译告警
              • stable_token重试失败时回退常规token接口
              • 成长页推荐卡片 :key 改为方法调用,修复非h5平台编译告警
              • 成长页成长回看改名为成长记录,追踪标签移除调研
              • 报告上传改走 JD Cloud OSS,LangGraph 解析支持远程 URL

              其他

              • Ultraworked with Sisyphus
              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
              • saveUploadFile 仍写本地磁盘,LangGraph 容器读不到文件(400 文件不存在)。
              • 修复:
              • 1. HealthReportController 注入 StorageService,uploadOnly/uploadReport/
              • parsePreview 改用 storageService.storeFile → 文件上传到京东 OSS
              • 2. parseByDraftId/parsePreview 对远程 OSS URL 直接传 URL 给 LangGraph,
              • 本地路径才用 getFilePath(); 本地 Java fallback 用 getFilePath 下载
              • 3. 删除不再使用的 saveUploadFile/resolveUploadFilePath 私有方法
              • 4. LangGraph report_parse.py 的 file_path 支持 http(s) URL,自动下载到
              • 临时文件后解析(不依赖共享 volume 时序)

              文档

              • 明确商品积分仅按现金实付部分计算
              • 家庭平台积分(CF值)体系设计文档

              v1.0.1014 (2026-08-12)

              新功能

              • kmdiary product sync scripts

              v1.0.1013 (2026-08-12)

              其他

              • update: sync latest from remote (web articles + langgraph config)

              v1.0.1012 (2026-08-12)

              Bug 修复

              • ProductPpointManage排序列头+sortableColumns+sort-tag位置修正

              v1.0.1011 (2026-08-12)

              新功能

              • rebuild cfclub with essential project files

              v1.0.1010 (2026-08-12)

              Bug 修复

              • 移除报告审核 Tab 及相关路由
              • 迁移227 product_skus.id 升级为 BIGINT
              • RegionController 移除硬编码数据,改用 StreetService 读取 DB 全量省市区数据
              • 迁移226 products 添加 growth_category 列
              • 迁移225 articles 添加 growth_category 列
              • 成长页推荐只调用一次API,前端按growth_category分组显示
              • 推荐接口移除 growth_category 过滤,直接取精选内容
              • GrowthRecommendationService 修复 getCategory 调用错误
              • 报告详情行距优化、富维度商品封面图URL修复、智维度功能区间距调整
              • 修复成就页分包注册路径,健康/成长页移除家庭成员选择条
              • LangGraph 容器挂载宿主机上传目录替代命名卷
              • getFamilyEnergySandbox 兼容新返回格式,避免16个旧页面崩溃
              • 图片路径替换为京东云OSS URL
              • 自驱力/自我概念/成长型思维解析改为嵌套Map+中文key的structuredAnalysis真实结构
              • 修正 UserController 变量重复声明
              • UserController 编译错误 - 修复 getPointsBalance 方法和 log 引用
              • 修复测试编译错误和 FoodService 列名映射错误
              • 修复 EnergyControllerTest 编译错误
              • SortUtil 修复 LambdaQueryWrapper 类型不兼容问题
              • 雷达图销毁后停止初始化重试 + 成长页定期调研改名成长回看并防御空项点击
              • 我的页面isLoggedIn改为data+onShow赋值,修复登录后仍显示登录前视图
              • NutritionProductService 字段名冲突导致 Bean 注入失败
              • 补全 FileRecord 实体和 Mapper(JdCloudStorageService 依赖)
              • 雷达图标签边界约束 + 底部留白防tabbar遮挡 + 五维卡片标题单行 + 移除闭环图
              • diet/record/daily, survey/status, survey/history memberId 为空时优雅降级
              • 移除公告分类(27篇文章+68个chunk)
              • HealthReportControllerTest 适配 listReports 方法签名变更
              • LangGraphAdmin.vue 修复 ES6 spread 语法兼容 webpack4
              • 报告列表接口不强制 memberId——未传时回退到家庭报告列表
              • 修复测试编译错误——适配 controller 方法签名变更(增加 @RequestAttribute 参数)
              • HealthDimensionControllerTest 适配 history 方法签名变更
              • LangGraph管理页全屏布局 + 健康检查修复
              • LangGraph健康检查修复Java后端状态显示
              • LangGraph管理页全屏布局 + Java后端健康检查修复
              • 修复重置用户密码接口请求体参数丢失 - data 改为 data: { password }
              • 天盘页面 routeDone 路由错误修复 - 导航工具加锁防重复跳转、修复 canvas 混合 API 用法
              • TeacherLoginTest 适配 roles 改为 List
              • 健康/成长页不传memberId + 后端自动解析当前用户memberId JwtInterceptor对所有角色设置currentMemberId/familyMemberId
              • 无 memberId 时跳过健康/成长页数据请求,避免后端 400 空字符串解析错误
              • User.roles 改为 List 修复修改角色反序列化错误
              • 健康/成长页 memberId 为空修复 - getReportList 传 selectedMemberId、onShow 顺序调整、FamilyMemberStrip 绑定 @select 事件
              • 权限不足时跳403而非/,避免无限循环导致栈溢出
              • 修复 4Tab 编译错误 - 补回 wealth/index.vue 缺失的 service-item v-for 和 serviceList 数据; 修复 report-detail.vue 和 report-blocks-renderer.vue 的 :key 表达式改为方法调用
              • JwtConfig 兼容短密钥,避免 WeakKeyException
              • LangGraph管理页改造 + 新增health/coach/generate端点
              • 修复预存编译错误(DanshopSyncService引用 + 缺失File/FileOutputStream import)
              • 移除维度页未使用的LoginGuideCard import
              • 修正指标异常计数与展示不一致
              • 修复 parse 读取文件路径重复拼接 uploadBaseDir
              • 健康报告上传改用 upload-only 接口
              • 删除DanshopSync stub + 实现EnergyService占位方法 + PdfReport用PDFBox渲染 + AiGateway新增generateHealthPlan
              • 迁移208 health_gut_flora.detection_rate 列扩容
              • 后台管理列表页统一显示用户名而非用户ID
              • 移除 @Slf4j 注解,改用显式 Logger 避免编译错误
              • CouponService 改用显式 Logger 替代 @Slf4j,修复编译错误
              • 健康报告页修复 - memberId兜底、移除自定义导航、指标状态标签、文案优化
              • 清理残留成长档案文案 (DimensionIntroCard + profile-main)
              • health tab getReportList 空 memberId → 从 store/storage 取当前用户ID
              • AdminController 补 @Slf4j + 修复 AdminNoticeController LambdaQueryWrapper 写法
              • AdminNoticeController LambdaQueryWrapper eq方法参数类型错误
              • 富维度 banner 配色改为琥珀金
              • 推荐服务商品状态改 on_shelf 修复 dimension-products 空数组; feat(frontend): 推荐阅读三列书封比例/推荐商品自加载/会员级别样式
              • getOrderCounts 接口路径错误导致 404
              • growth-main 移除活动维度参数
              • home-detail 移除任务维度参数
              • member-detail 移除任务维度参数
              • index-home 移除维度参数
              • wisdom 成员详情页移除维度参数
              • wisdom-detail 成员详情页移除维度参数
              • mind-detail 成员详情页移除维度参数
              • body-detail 成员详情页移除维度参数
              • action 成员详情页移除维度参数
              • mind 成员详情页移除维度参数
              • body 成员详情页移除维度参数
              • DimensionTasks 移除维度参数自加载
              • DimensionActivities 移除维度参数自加载
              • DimensionArticles 移除维度参数自加载
              • DimensionProducts 移除维度参数自加载
              • 推荐商品接口支持空 dimensionCode 返回全量
              • 添加家庭成员数量校验 - 任务分配需≥2人/挑战需≥2参与者/互动双方不能同一人
              • createOrder 透传 couponId(会员优惠券此前未生效)
              • modifyColumnToText 跳过不存在的表,消除启动日志WARN
              • unify section headers + quick bar + task shortcuts; fix(tab-bar): center button position; fix(backend): ClassCastException in purchase field save
              • 修复DBI启动日志WARN(RENAME语法+不存在表/列的迁移)
              • 管理员登录兼容 BCrypt 密码验证 + 新管理员密码用 BCrypt
              • 家庭成员邀请改为小程序原生分享
              • 完善信息页面移除 hasFamily 门控 — 老用户编辑时始终显示表单
              • 修复我的页面主包引用分包组件导致内容不显示
              • adjust position of heart icon and update tab icons
              • growth tab 空态不刷新 — hasFamily 加入 children/records 判断
              • TabBar 分包冲突 + 自定义TabBar不显示修复
              • 缩小推荐商品卡片尺寸
              • 能量沙盘调整顺序 - 心在最上,顺时针身智富行
              • 修复邀请流程 - 传递familyRole、改用小程序分享
              • 创建家庭时自动将创建人加入为家庭成员(修复空心家庭问题)
              • 修复 UserService 中 createJoinRequest 调用
              • 修复 createJoinRequest 调用参数
              • 修复邀请流程 - 保存familyRole、修复轮询逻辑
              • 修复 RequestBodyCachingFilter 编译问题
              • FamilyMemberStrip centerMemberId watcher 加 immediate + 清理重复 .action-header 样式
              • pairwise VO 补齐 isSpouse 与 lastInteractionAt(修复成员详情页 action-sheet 关系标签和上次填写时间显示)
              • 修正 parseDate import 语法(named export)
              • 移除多余的 String 构造函数调用
              • 修复 Java 8 兼容性问题 - readAllBytes 改用 readStream
              • 将 Java 11 HttpClient 改为 RestTemplate 兼容 Java 8
              • LangGraph 管理页面使用原生 fetch 避免 axios 拦截器问题
              • 迁移192 verification_codes.type 添加默认值
              • LangGraph 管理页面使用独立 axios 实例避免 CORS 和响应格式问题
              • 处理生产日志错误(foods.report_id/score + 知识库JSON + DBI迁移112)
              • 修复测试编译与 getTemplates 断言;补充肠道菌群解析参考脚本
              • 修复 diet/index.vue 运行时错误
              • 饮食首页改造——原生导航栏+空数据弹窗+未配置共餐降级
              • 家庭成员扇形展开 - fan-wrap 改 fixed 修复成员错位+不可点击; 半径 280→220rpx
              • 修复 FamilyChallengeService.getTemplates 数组越界 Index 7 out of bounds
              • 修正身页面饮食入口路径
              • 迁移180/181 health_reports.health_report_drafts 缺列修复
              • 首页家庭挑战区块增加管理入口跳转 challenge-manage
              • 修复 FamilyControllerTest 编译错误 - 废弃接口测试改为无参断言 410
              • FamilyMemberStrip fan-wrap 改 v-if 不再遮挡五维页点击; diet :key 表达式改方法调用
              • 修复家庭FAB按钮点击失效 + 位置上移
              • 恢复添加家庭成员页保存按钮
              • 统一 SKU specs 存库为数组格式,修复规格名丢失
              • 已登录用户富页面误显'请先登录'的会话过期修复
              • 修复 HealthReport 预存编译错误 - HttpServletRequest import / reportMapper 变量名 / remark 字段缺失
              • 修复 ContentSharePoster 分享海报 String 属性收到 null 告警
              • 修复商品详情页会员身份加载与详情图片显示
              • 修正 profile-page.vue 中 Profile* 组件的 import 路径
              • 修正 profile-page.vue 移动后的相对路径 import
              • 后端身份参数改从JWT推导,不再信任客户端传入
              • 移除前端身份参数传递——前端只传memberId,不传userId/familyId/childId
              • 将 tabbar 入口页移至 pages/tabs/ 消除与分包 root 的路径冲突
              • 修复 meal.py 语法错误
              • 修复 tabbar 路径与分包 root 冲突导致的 HBuilderX 编译失败
              • 修复路由前缀重复问题
              • 修复行/身页面 hasFamily 误判导致 FamilyEmptyState 覆盖内容区
              • pages.json 修复 diet 分包错位导致的 JSON 语法错误(HBuilderX 编译失败→白板)
              • 修复pages.json饮食分包位置错误 + 饮食模块config引用改为config.js
              • 修复 FamilyEmptyState 误显示 - 28处 hasFamily 守卫改为数据优先判断
              • 修复编译错误(类型不匹配)
              • 多控制器支持 familyId 为空 + WeChat token 过期重试 + 服务/产品改进
              • 打卡请求失败时补充错误提示
              • 家庭挑战打卡每日限次 + memberId 归属校验
              • 商品海报分享未携带封面图(coverImage 未转完整 URL)
              • 移除无家庭时的创建或加入家庭弹窗(5001 仅拒绝请求)
              • 分享海报封面图按原比例绘制(contain 居中),不再拉伸变形
              • 报名弹窗点击家庭成员/添加报名人即关闭(.self 修饰符在 mp-weixin 被丢弃,改用 @click.stop)
              • 活动报名弹窗重复导致点击家庭成员关闭弹窗
              • checkout.vue methods 间缺逗号语法错误
              • 库存流水列表显示商品名称
              • 商品详情页移除会员价展示
              • 报告确认页 :key 表达式改为方法调用(微信小程序兼容)
              • 修复orderService.ship参数不匹配+添加进价字段(purchase_price)到products/product_skus/inventory_inbound_items(迁移177)+同步schema.sql
              • 服务商/家长端页面日期解析改用 parseDate(iOS 兼容)
              • 商城页面日期解析改用 parseDate(iOS 兼容)
              • 奖励/个人中心页面日期解析改用 parseDate(iOS 兼容)
              • 推广/会员页面日期解析改用 parseDate(iOS 兼容)
              • 家庭/成长/身体页面日期解析改用 parseDate(iOS 兼容)
              • 活动/任务/孩子页面日期解析改用 parseDate(iOS 兼容)
              • 测评/心智页面日期解析改用 parseDate(iOS 兼容)
              • 健康/饮食维度页日期解析改用 parseDate(iOS 兼容)
              • 组件日期解析改用 parseDate(iOS/HarmonyOS 兼容)
              • 打卡/活动详情/推广/结算页 fixed 元素移出 scroll-view(iOS 兼容)
              • 迁移174 product_skus添加min_stock_alert列+同步schema.sql(SKU库存预警)
              • 迁移173 创建库存管理4张表(inventory_transactions/counting_records/inbound_orders/inbound_items)+ 同步schema.sql
              • 安全加固——SQL日志/密钥外部化/BCrypt限流/后台防重
              • 迁移172 products添加min_stock_alert列+同步schema.sql(库存管理功能遗漏)
              • Controller gutFlora 入库补全 taxonomy+pathogen 8 列表 (对齐 Service); 确认页新增 taxonomy 分类组成 + 病原菌 + 益生菌种区块(采到啥显示啥)
              • gender枚举校验+MindFortuneController空值防御 - UserService.updateUserInfo: gender 仅接受 male/female,修复 Data truncated 错误 - FortuneServiceImpl: generatePlaceholderFortune/getFamilyFortune 添加 familyId 空值校验 - MindFortuneController: 三个端点添加 familyId 空值检查,返回友好提示
              • make LangGraph URL configurable via @Value + app.yml (IMPORTANT-3) + overview key normalization (BLOCKING-1) + Docker deployment TODO comment
              • normalize Chinese→English overview keys in ReportParseAgent (BLOCKING-1)
              • add audit logging for family_id/user_id + trailing newline
              • register report_parse router in main.py (missing include_router)
              • 心维度页面 loadHealthAlerts/loadMilestones 移除残留 familyId 存储读取(后端已 JWT 派生)
              • add raise_for_status to expose real LLM HTTP errors
              • 心维度页面 milestones/health-alerts 传入实际 familyId 替代 {} 对象
              • MindFortuneController 添加 userId 为空检查(过期JWT被设为匿名用户时抛出'用户不存在')
              • detect_format 兜底分支改为返回 inline(修复同义反复)
              • compose 显式覆盖 JAVA_CONTEXT_URL 指向宿主机 9082,修复容器内 chat load_context 回调 Java 失败
              • DatabaseInitializer.initializeDatabase() xzyj→zxyj 数据库名拼写错误
              • 问卷推理超时防护 — gunicorn timeout 60→300s + ChatOpenAI timeout=180/max_retries=1
              • 问卷生成服务接入旧入口 — src 路由重构为 router + LLM env 兼容 + healthcheck 修复
              • GraphState 补 _prompt 字段 + 测试 mock 目标修正为模块内引用
              • schema.sql 移除重复的 guide_commissions CREATE TABLE 空壳行(导致 initializeTables 正则匹配合并成畸形 SQL)
              • 迁移166 payment_orders添加group_no/period_no列(会员拆单支付)
              • 修复图片上传 URL 语法错误,清理认知测评/成长报告重复接口定义,修正注释乱码
              • 修复健康报告上传 URL 语法错误,首页宫格替换为记录互动/家庭天盘/成员管理,清理重复的 getChildOverview 定义
              • 迁移165 virtual_goods_config添加goods_price列(会员道具价格,用于拆单判断)
              • controller parameter signatures, test compilation fixes
              • 迁移163 为family_challenge添加creator_id列(原迁移158在runMigration100死代码中从未执行)
              • 修复WXSS中文类名编译错误 + 恢复getPublicConfig函数
              • resolve duplicate exports in api.js and syntax errors in report-upload.vue
              • 补全打卡系统缺失的 schema.sql 建表 + 迁移 + 小程序前端打卡功能
              • 购物车结算页传递SKU信息到下单
              • 防重复提交整改——补齐唯一约束/统一订单号/修复竞态/批量前端守卫
              • 上报健康报告页加载即崩溃 - 移除未实现的 getPublicConfig 调用
              • _roundRect arcTo missing parameter in ContentSharePoster
              • 去掉指标项上的状态文字标签,只保留颜色
              • discardReportDraft传参修复 - 对象改为直接传draftId
              • FamilyMemberStrip 编辑资料补全 nickname/gender/phone/birthday query 参数
              • 迁移155-157 创建 interaction_logs/questionnaire_snapshots/questionnaire_responses 三张缺失表
              • report-upload member selector + api.js dead code removal + comment mojibake restoration
              • extractInlineNamesFromRegion substring 越界保护
              • 补充PDF解析缺失指标 - 菌群层级表/致病菌/其它重要菌属/病原菌属
              • 商品SKU规格specs字段保存失败
              • 维度首页推荐阅读补传 dimensionCode,与知识中心一致
              • 商城首页/搜索页商品价格显示放大100倍(漏除100)
              • activity 详情/列表封面拼接 API_BASE_URL
              • call applyDisplayState for guests so displayStatus/registrationStatus are always populated
              • 邀请接口相关修复
              • 微信安全检测改用stable_token接口避免'not latest'冲突
              • 商品详情页修复 — 封面轮播、字段映射修正、按钮等大
              • CORS放行111.228.6.214; 实现/article/updated-since增量查询接口
              • 家庭地址编辑与区域匹配页面消除 $http 引用并接入真实接口
              • 地址选择器改用标准 API 封装 - 修复省市选择控件无法使用
              • 行Tab页推荐阅读修复 - coverImage补传 + actionArticles过滤修正(indexArticles而非articles)
              • 心/智/行首页推荐阅读补传 coverImage 修复封面图不显示
              • 推荐商品组件移除五维权重徽章展示
              • 新建商品维度权重默认值未初始化导致保存失败
              • 首次登录创建家庭后跳转到带底部TabBar的行首页
              • self-check 页面 :style 空对象 {} 改用字符串避免 WXML 编译错误
              • 移除 DatabaseInitializer 残留冲突标记行 - 修复生产构建失败
              • 修复 Playwright addInitScript 单参数传参 bug + 远程 E2E 测试套件
              • PaymentService 微信支付V3解密用原始API密钥而非SHA-256哈希
              • 商品详情原生分享补上 setShareInfo - 分享路径带商品ID和邀请码
              • resolve merge conflict in tap-water-pollution.html (accept upstream version)
              • 圈子页无 childId 时跳过请求, 后端 memberId 空串防御 - 修复 discover 500 与 my-circles 400
              • ActivityControllerTest 适配活动模块升级后的接口签名
              • 上传存储路径统一 upload.base-dir - 修复 transferTo 相对路径落盘失败与 /uploads URL 404
              • VirtualGoodsConfig.save() 重命名 saveConfig() 避免 saveOrUpdate 递归 StackOverflow
              • 会员接口匿名访问返回 FREE 空数据 + getMemberLevel 查询 LIMIT 1
              • 修复成员条移除后不刷新 + 可见成员列表字段缺失
              • 迁移151 growth_records 补齐学校/年级7列 - 修复 Unknown column 'school'
              • List.of 替换为 Arrays.asList 兼容 Java 8
              • 完善 PDF 解析服务 - 支持 inline 格式、Kangxi 部首归一化、指标去重、白名单过滤
              • 迁移148 payment_orders.user_coupon_id 兜底添加
              • globalData.currentChildId 替换为 uni.getStorageSync('currentChildId'),修复孩子视角切换数据失效
              • getApp().globalData.baseUrl/apiBase 替换为 config.API_BASE_URL,修复 uploadFile invalid url 与图片加载
              • 消除开发者工具告警 - getSystemInfoSync 弃用替换为 getWindowInfo, 修复 article-center articles prop 非数组类型错误
              • 修复 ArticleBookshelf relatedDimensions 数组拆分崩溃与 switchTab 非 TabBar 路由系统错误
              • FamilyRelationGraph 力导向模拟增加动能收敛检测, 布局稳定后自动停止避免永续占用主线程
              • add missing goodsCategory API to fix empty product list on shop index page
              • offerId 改为支付应用ID并按官方 camelCase JSON 串重建 signData 签名
              • 统一商城首页路径并修复 switchTab 非 TabBar 跳转
              • 维度权重保存移除 CAST(? AS JSON) — MariaDB 不兼容
              • interaction/add 修复 familyId 为空报错——后端按 userId 自动解析
              • 生成海报二维码必须登录 — 拦截 anonymous 流量反复触发 access_token 'not latest'
              • 开通会员页改用 getMembershipPlans 获取实际配置价格
              • 未登录时跳过邀请码请求与维度商品展示守卫
              • GlobalExceptionHandler, ErrorLoggingFilter, migration102 call, article_admin_status, ContentRecommendService
              • wangEditor v5 上传图片改用customInsert+限制5M+错误提示
              • 图片上传multipart大小限制+微信安全检测超过1M跳过
              • 文章详情页封面图和正文图片拼接 API_BASE_URL,修复未登录时相对路径图片加载失败
              • 新建商品时显示SKU维护入口
              • wangEditor 初始化配置提前到 created 生命周期
              • 更新VirtualPayServiceTest发货推送断言为handleVirtualPaySuccess路由
              • 修复外部提交引入的语法错误,恢复小程序构建
              • 虚拟支付Task4评审修复 sessionKey防序列化泄露/发货推送幂等/缺参ack/签名断言
              • AI/promotion/vendor/parent pages use API_BASE_URL for uploaded images
              • upload/meal/points pages use API_BASE_URL for uploaded images
              • index/product/detail pages use API_BASE_URL for uploaded images
              • activity/guide pages use API_BASE_URL for uploaded cover images
              • order pages use API_BASE_URL for uploaded order cover images
              • shop core pages use API_BASE_URL for uploaded product images
              • product/discover pages use API_BASE_URL for uploaded cover images
              • article pages use API_BASE_URL for uploaded cover images
              • base config/components use API_BASE_URL for uploaded image URLs
              • WechatService 用 StreamUtils.copyToByteArray 替代 readAllBytes,兼容 Java 8 编译
              • 富文本编辑器图片上传路径和网络图片弹窗被遮挡
              • ErrorLoggingFilter 捕获链式异常并记录500日志; DimensionWeightController 参数校验; GlobalExceptionHandler 兜底异常处理
              • 五维首页为你推荐商品区改为使用公开接口数据, 未选孩子也能显示
              • simplify payment QR instruction text
              • set gut testing price to ¥1,314
              • update payment QR instructions for WeChat browser users
              • DatabaseInitializer 清理 — 修正 modifyColumnToText 表名、移除已删表的残留迁移
              • skip OAuth2 JSAPI flow, use Native QR code directly for WeChat browser
              • show contact info in QR payment popup
              • sync ProductOrder for admin order management
              • ArticleBookshelf 书籍横向排列 — scroll-view 内包 inline-flex 容器
              • show product info in payment popup, auto-close on success
              • missing braces in JS, add backend QR code endpoint, use backend QR code instead of external API
              • add CORS origin for www.cf-club.com, fix QR code display, add diagnostic filter
              • 文章列表点击直接进入详情页,未登录也可阅读公开文章
              • 统一移除RecommendedSection的v-if条件
              • 统一五维首页推荐组件 — 顺序为活动→商品→阅读→推荐
              • getOAuth2Url 用 String 重载的 URLEncoder.encode,兼容 Java 8 编译
              • add payment endpoints to JWT exclude list
              • fix fallbackNativePay syntax error, center order form modal
              • 重绘底部tab身图标,更简洁的弯曲胳膊造型
              • ContentRecommendService 商品/活动推荐改用 dimension_weights JSON 列查询
              • add /upgrade-records route alias to MembershipController
              • promotion模板缺少
              • 闭合标签
              • promotion模板多根元素 + 内联赋值
              • RecommendedSection无数据时显示空状态而非隐藏整个组件
              • 重新绘制底部tab身图标,更清晰的弯曲胳膊造型
              • DimensionProductList使用attached生命周期在uni-app中不触发
              • recommend-mixin传参字段名与后端DTO不匹配
              • family-members弹窗关闭内联表达式
              • 健康报告上传失败时 console 输出错误详情
              • 后台活动权重维度code与标准五维体系不一致导致新活动小程序端不显示
              • add missing List import in ActivityController and DB migrations for dimension_code/family_scope columns
              • circle接口空字符串解析Long报NumberFormatException
              • 富页登录按钮因重复CSS规则min-height:80vh位置偏高
              • article-detail auto-merge遗留重复方法
              • article-detail内联表达式导致data-event-opts编译错误
              • 未登录可浏览商品/活动/文章详情 + 富页面预登录内容
              • 统一活动详情页,删除 discover-detail 重复文件
              • 补充ActivityDTO缺失字段 requireRegistration/requireCheckinReview/memberPrice/feedbackDimensions
              • resolve 6 backend compilation errors
              • article-detail模板结构错误 — template作容器/多余闭合标签/tag无匹配end
              • override ejs to 3.1.10 to fix critical CVE in webpack-bundle-analyzer
              • ContentRecommendService NPE when type is null
              • replace Map.of() with HashMap for Java 8 compatibility
              • recommend-mixin.js 导入路径多一层目录
              • ContentRecommendService select() incompatibility, ProductRecommendationService bean injection conflict
              • 登录合规整改 - 跳过登录入口、静默授权、协议措辞
              • remove WeChat branding from login page per review guideline
              • promotion try无catch语法错误 + 创建缺失的member-detail分包页面
              • parameterize JSON_EXTRACT dimension_weights queries to prevent SQL injection
              • OCR finding - DimensionActivities CSS flex overflow
              • resolve OCR findings - AIService workflowId URL + EnergyService parent role filter
              • 财商打卡页内联表达式导致data-event-opts编译错误 + 修复模板编译器recyclableRender未定义
              • add sendWorkflow and getTodayTasks(Long) overload, pull remote changes
              • 推荐商品和活动价格显示到分
              • allow tracking screenshots in web/articles/ via .gitignore
              • 智首页六维认知雷达图无数据时也显示人群平均值
              • 身首页七维雷达图无数据时也显示人群平均值
              • 关系图连线映射交换 — 信任度→颜色(低红高绿),沟通度→线形
              • 关系图连线视觉映射调整 — 粗细/颜色/虚线 + 无数据默认黑色
              • payment.wxss 多余逗号导致编译错误
              • EnergyService 修复 JSONObject.getInt -> getIntValue 和 executeAward 缺少 totalAmount 参数
              • ActivityEdit/ArticleEdit full scroll, action tab no auto-select, timeout 800ms
              • edit page scrolling, action tab blank screen, SKU specs save
              • 推荐活动和推荐商品显示实际价格而非'登录查看价格'
              • ProductEdit card layout, sales page add leaky-gut/pancreatitis articles
              • remove required:true from dimensionCode prop in DimensionActivities/Products
              • el-main添加overflow-y:auto使内容区可滚动,解决长表单被截断问题
              • replace template literal fallback with computed props for WXML compat
              • add null defaults for dailyFortune and dominantElement props
              • add currentChildId guard and fix getMyCircles params
              • add iOS date parsing fallback for Java format
              • 商品编辑页el-card__body增加overflow-y:auto使表单可滚动,保存按钮可见
              • member pricing display, wisdom/body page layout, :key expr in FamilyTianpanCard, remove FamilyRelationGraph
              • add membership_levels seed data and period-specific pricing keys
              • add mind/alert/active and mind/traditional/mirror to public paths
              • verify-password 400 error — replace broad /api/auth/ public path with explicit list
              • empty purchasedIds causing NOT IN () SQL syntax error
              • 8 test failures — entity fixes + test param alignment
              • Product entity column mapping + test param fixes
              • add migrations 126-132 with ensureColumn for column alignment
              • add 9 missing tables (migrations 117-125) + fix JwtInterceptor familyId + fix test emotion childId
              • 商城升级提示文案通用化 - '开通家庭会员'改为'开通付费会员'
              • move migrations 105/106 into runMigrations() — they were in dead code migration102()
              • resolve P0-1/2/2b/3/5/6 test bugs + P0-4 DB migration for growth_records
              • migration 106 add growth_records missing columns (family_member_id/school info)
              • restore tab-wisdom icons from earliest valid version (faedcc33)
              • year_month reserved word quoting + products.min_quantity migration
              • 修复 stats-report-flow.md Mermaid 虚线连接语法错误(-:- → -.-)
              • 修复 promotion_tier 表列名映射——teamSize1st→team_size_1st
              • decode tab-wisdom PNG icons from base64 to binary
              • 梳理慢性病文章因果措辞——炎症不再作为唯一病因
              • schema.sql 补充 4 个 butler 表定义
              • key 表达式改为方法调用,修复小程序非 H5 平台编译警告
              • 修复growth-record-flow.md Mermaid语法错误
              • remove broken image refs in gut-microbiota-testing.html
              • replace {param} with :param in mermaid node text to fix syntax error in v11.12.1
              • replace bare
                with
                in mermaid flow diagrams to fix syntax error in v11.12.1
              • goDiscoverCircles 跳转到 discover 首页(原路径 /pages/discover/circles 不存在)
              • add products.min_quantity migration to runMigrations()
              • remove invalid shape:box from all mermaid classDef
              • update article count from 2→1 after turmeric article removal
              • 报告日期/综合评分仅文件上传后显示,ping文件Ping重置日期评分
              • 改进ensureColumn错误处理+添加迁移104/103验证日志
              • correct activity flow diagram with proper business rules
              • 补充缺失的default-avatar.png,统一路径
              • tianpan_daily_fortune表添加8个缺失字段修复Unknown column错误
              • prioritize K8 (8-plate, 37900元), fix 20-year cost analysis, update certifications placeholder
              • DimensionProductList activeChildId为空时跳过渲染
              • 推荐阅读数据补充dimensionWeights和likes字段
              • P2/P3 article fixes
              • 快捷入口对齐action页原版样式和funcList
              • 行TabBar章鱼图+联系人导入,顺序对齐原计划
              • unify 活性氢→分子氢 terminology across sales pages and infographic
              • unify terminology - 活性氢→分子氢, 磷脂配比→天然基底油, refine descriptions
              • remove dead link to deleted turmeric_rewritten.html
              • 行TabBar登录态数据加载对齐action页(孩子/能量/任务/活动/商品/文章)
              • products表添加min_quantity列(迁移103)+ schema.sql同步
              • restore article reading timer + recordRead积分发放 + fix response code
              • recapture UKPDS 16 and DPP study reference screenshots
              • update microplastic and tap-water sales pages
              • update article content
              • update WHO PDF link to IRIS archive, restore ref-18 CAS card
              • 去掉行TabBar页的redirectTo,登录态内容内联渲染,保持底签可见
              • 文章编辑页内容过长时无法滚动到底部
              • 闭合rating.vue模板中缺失的view标签,修复编译报错
              • add 300+ missing CSS rules to diabetes.html
              • correct gut-microbiome-damage.jpg path in cancer.html and diabetes.html feat: add missing reference screenshots (turmeric marketplace, nature figures)
              • 修复 createMultiItem 中 minQuantity 产品级校验注入位置错误
              • move Hallmarks screenshot to content area, fix container nesting
              • 修复cardio-cerebro.html中ref-screenshot图片路径(/img→../img)
              • 替换cancer_ref3截图源,补全三篇文章ref-shot img标签
              • 恢复行首页redirectTo;修复CircleRanking WXML编译错误;新增plans占位页
              • 行首页登录后保持TabBar;家庭挑战任务移至身页面
              • 用evidence-inline替换cancer/diabetes/osteoporosis断链截图
              • 添加真实DOI参考文献到3篇geo-faq文章,修复导航链接路径
              • 为8篇独立文章补充footer CSS样式
              • resolve subpackage path conflict in pages.json
              • 修复肠脑轴图/页脚/参考文献/证据截图
              • fix encoding corruption from directory rename and restore UTF-8
              • Fix:
              • 修正图片引用路径并替换缺失的参考截图
              • rename pages/index to pages/home and update all references
              • 修正 cancer/cardio-cerebro 路径引用
              • 修正子目录路径引用,添加 turmeric 文章
              • remove stale RelationshipTypes route referencing deleted component
              • add throws Exception to test methods calling preHandle
              • add missing MockHttpServletRequest import
              • resolve compilation errors - Java 8 var removal + type casts
              • fix 405 POST→GET redirect, RecommendedFeed items ref, and unhandled rejections
              • PROJECT-OVERVIEW §2.3 家庭成员体系状态 🚧→✅(4/4 全部完成)
              • remove dead getRelationshipTypes API after P0-001 backend removal
              • extend postinstall-fix.js to also patch HBuilderX bundled remove-scoped.js
              • revert to @vue/cli-service v4 + patch remove-scoped.js via postinstall
              • Fix:
              • fix syntax error in parent-index.vue - loadAlerts + handleDismissAlert
              • restore @vue/cli-service v5, remove PostCSS config files
              • Fix:
              • restore @vue/cli-service to v5 to fix WeChat DevTools compile error
              • use ES module default-export for generationLevel constants
              • @keyframes 从 scoped 移到非 scoped 样式块,修复 vue-cli-plugin-uni 编译错误
              • point develop env to cfc.etotem.com.cn; extract deep selector to non-scoped style for HBuilderX compat
              • replace >>> deep selector with ::v-deep for postcss compat
              • fix hash operator precedence, use floorMod for negative-safe index
              • use setFontSize in renderLegacy for WeChat compat, add _destroyed lifecycle guard
              • 联系电话 010-86461234 → 010-58733188
              • ensure .vue resolution in webpack
              • 修复 uni-app 小程序编译兼容性问题及运行优化
              • align MemorySaver import path and pin dependency upper bounds
              • restore file encoding to UTF-8 (was corrupted by PowerShell ANSI default)
              • 添加 tab-wisdom 图标文件,修复 gitignore 顺序
              • add tab-wisdom icons (temporary - copied from tab-mind)
              • add wx:key to v-for loops in RecommendedFeed and parent-index to suppress WXML warnings
              • pages.json tabBar icons corrected - wisdom uses tab-wisdom, wealth uses tab-wealth
              • FamilyMemberCard roleBadgeColor use this.member instead of bare member
              • 运势接口Mybatis错误 - 添加@Select注解修复Invalid bound statement + 表结构对齐
              • add fallback when navigateBack has no pages in stack
              • parent-index wx:for 添加 wx:key 消除 WXML 运行时警告
              • extract_full_report_v5.py - report interpretation content no longer truncated
              • FamilyFortuneMapper.selectByFamilyAndDate 添加 @Select SQL 注解
              • 智首页渲染层FLOW_DEPTH错误 + web baseURL/401提示修复 + 页面and组件完善
              • 每日运势接口(/api/mind/fortune) 400 错误修复 - 移除无效 request body
              • isLoggedIn computed → data property to fix login state reactivity
              • FamilyRelationGraph 组件兼容性修复 - 修正小程序requestAnimationFrame错误
              • normalize Kangxi radicals in Java service
              • add CAG candidate genera for full coverage
              • move floating migrations into runMigrations(), fix brace balance
              • add 4 missing genera + fix Kangxi radical chars
              • 开发环境跳过 auto-login 避免启动时 10s 超时错误
              • 修复支付页订单金额显示为0元
              • 修复体检报告详情页小程序编译失败
              • add wx:key to v-for placeholder loop in DimensionArticles
              • SKU编辑器适配Map类型specs + enabled Boolean转1/0
              • 新增findByProductIdAll供管理端SKU列表(无enabled过滤)
              • ProductSkuDTO specs类型从List改为Map
              • resolve login API 405 and logo 404 on /admin/ deployment
              • clean bacteria names (remove Chinese prefix) + add 3 missing genera
              • product-detail 移除 memberPrice 价格回退
              • update test to match new BindController signatures
              • resolve @RequestAttribute familyId 400 error by resolving via MembershipService
              • replace @RequestAttribute("familyId") with
              • 商品图片上传两项关键修复
              • 商品图片上传两项关键修复
              • probiotic species-level extraction (22 items), inline format timeout
              • inline format bacteria table timeout - skip truly compressed format, 朱评估报告 now completes
              • bacteria table inline parsing, pathogen tables, antibiotic dedup, harmful/other bacteria expansion
              • FamilyRelationGraph 齿轮/+号/高度自适应被误回退,重新实现
              • comprehensive extraction fixes - Kangxi radicals, inline fallback, amino acid boundary, taxonomy levels
              • 移除活动菜单项 + MembershipCenter 改用本地axios
              • 管理端API请求方法修复 — PUT/DELETE统一改用POST
              • 文件存储调用方适配 — upload→store、移除原始文件IO逻辑
              • 文件存储重构 — 可配置上传目录、MIME类型校验、delete方法
              • comprehensive bacteria table & indicator extraction fixes
              • 非管理员登录避免死循环 — teacher 直接进 /teacher-dashboard
              • AdminArticleController.create 修复ArrayList强转String — visibility/visibleTo/articleType字段可能为JSON数组
              • 修复循环依赖 + ProductOrder重复字段 + QrCodeService静态调用
              • navigateBack instead of deleted plans page
              • add ProductService.getById() to resolve pre-existing compile error
              • break circular dependency between HealthReportService and DimensionScoreServiceImpl
              • remove duplicate closing brace in CSS
              • 解决 git stash 合并冲突残留标记(body/index, gut-index, report-list)
              • user delete soft-delete + ActivityProvision entity + DAN execution service
              • class 绑定改用预计算/内联表达式,避免方法调用
              • 修复管理端多处模板标签闭合并将本地开发接口指向 127.0.0.1:9082 代理
              • 完善Canvas渲染逻辑
              • 修复小程序编译错误和完善商品下单流程
              • 添加 getWealthDetail 到 api.js(富维度详情 API)
              • 迁移40 ALTER ENUM前先UPDATE非法role值,避免Data truncated错误
              • FamilyTianpanCard 修复多余闭合括号导致编译失败 + Canvas动画改用setTimeout兼容小程序
              • SKU specs Map正确序列化为JSON + 审核中心滚动容器统一
              • 修复拖动时按比例分配算法,首维度多分配问题
              • ArticleManage分页onPageChange未接收页码参数; 增加每页条数选择器
              • 活动列表滚动容器统一用overflow:auto消除分页导致的宽度抖动
              • 修复身页面编译错误 - 商品组件导入路径和天盘卡片语法
              • 活动管理列表横向滚动 + 查询条件间距调大
              • PackageAudit getPackageList/reviewPackage函数缺失修复; 修复后端reject用params传递reason
              • ActivityReview overflow-x:auto 修复横向滚动
              • showDialog处理object规格+update移除productId避免400
              • approveGuide 中 username 字段为 null 时使用 teacher_{userId} 兜底; fix(web): ArticleAudit 接口名/参数修正 + GuideAudit 分页
              • 创建规划师admin时phone为null导致username为空
              • ProductSkuDTO 适配 specs 字段 String→Object 变更
              • sku.getSpecs() 返回非String类型时类型转换保护
              • normalizeSpecsToJson 参数类型改为 Object 适配 specs 字段变更
              • 审核中心10个页面添加横向滚动+filter-bar美化
              • 修复规划师审核列表数据显示问题
              • ProductSku create() sku_code NOT NULL 缺失自动生成默认值
              • SupplyHierarchy change-requests systemId 改为可选 + ((Number)→Long.valueOf) 解析修复
              • 修正管理端4个API路径+2个分页兼容
              • ProductAudit 兼容 records 分页格式
              • 修正7个小程序API路径错误(article/supplier/messages/upload/families)
              • 移除无对应路由的文章审核侧边栏项
              • 退出切换改用 switchBackVerify 原子接口,修正密码校验逻辑
              • 迁移guides表添加university和education_system列(修复GuideService查询报错)
              • 创建 GuideFamilyListController - /api/guide/family/list 端点
              • 修复 createFamily API 路径错误
              • body page radar chart display issue
              • entire chain: dimension data -> score validation -> canvas render -> visual display
              • SupplySettlementService/Controller ((Number)→.toString()) 修复ClassCastException
              • ProductService 添加 getById 方法,SupplierProductController 编译错误
              • SupplySystemController @RequestParam→@RequestBody 修复400错误
              • schema.sql 同步补充 79 张缺失表的 CREATE TABLE 定义
              • add dimension_weights column to products table (migration 89)
              • DatabaseInitializer 显式声明 Logger 替代 @Slf4j 注解,避免 Lombok 处理异常
              • add dimension_weights column to activities table (migration 88)
              • CommissionRecord 添加 family_id 字段 + CommissionService createCommissionRecord 集成 familyId
              • CommissionService 编译错误 - 补充 familyId 字段和 L2 调用参数
              • move familyId declaration before use
              • resolve Spring MVC ambiguous mapping conflicts from PostMapping unification
              • 代码规范修复 — @Autowired→@Resource + Result泛型补全
              • 后端稳定性 — catch块日志/空值处理/PostMapping统一/管家stub
              • 金融安全修复 — payment绕过/验证码stub/积分兑换/教师端点/类型转换
              • 迁移87: articles表添加content_type/difficulty_level/dimension_ids/dimension_weights字段
              • 迁移86: product_orders表添加purchase_info字段(OrderTimeoutCancelTask)
              • 调整 pages/profile/index 在 tabBar 中的位置并移除 customTabBar 配置
              • 同步 pages/wealth/index 路径与远程一致
              • 修复 Recipes.vue el-dialog 开始标签丢失
              • missing SubscriptionBenefitLog import + column comparison in ButlerService
              • remove extra closing braces at end of DatabaseInitializer
              • 修复 pages.json tabBar 富页面注册缺失 + 维度权重前端修改
              • resolve merge conflicts in package.json, CHANGELOG.md, .last_build_commit
              • add missing closing brace for export default in Detail.vue — fixes build error
              • resolve merge conflicts in cfc-web build files
              • 二维码分享功能统一收敛 — 新增通用 QR 后端接口 + 修复三处前端 QR 生成
              • PpointService null date handling + adminList keyword filter; ProductPpointManage effectiveDate→startDate field name fix
              • resolve ambiguous mapping /api/recommend/dimension-products - remove duplicate from RecommendationController
              • SupplyManageController detail/update/delete robust id parsing
              • api.js repurchase-reminders GET→POST + click tracking
              • 添加 dify.callback-secret 配置 + 管理端多页面优化
              • break circular dependency CircleService↔CircleMatchService with @Lazy
              • 修复DatabaseInitializer编译错误
              • ProductController spec map JSON.parseArray type inference for Java 8
              • CartService 回填 skuId + wisdom 阅读统计条件优化
              • restore family member menu + auto-derive generationLevel + add birth/preference form fields
              • 退款流程5项修复 (ISSUE-007~011)
              • 拆分 v-if 条件提高可读性
              • ArticleManage table 添加 max-height 防止溢出
              • 修复前后端数据流5个关键bug
              • 待退款队列可见性 + 退款到帐中状态 + 防重复审核
              • body index simplify childId checks use || '' fallback
              • FamilyRelationGraph 修复单成员家庭显示重复的问题
              • 补充迁移79(pending_refund.order_type/order_no) + 修复TianpanDailyFortune import
              • add missing FamilyRelationGraph to mind page
              • 删除body页face多余的
              • 修复模板多根元素错误
              • 修复E2E-TEST-SCENARIOS.md section12编码乱码
              • 鏇存柊 playwright 閰嶇疆 + 鏂板娴嬭瘯鏂囦欢 (consignee/health-report/teacher-dashboard/publish-dimension-articles)
              • add updateTier(Long, String, String) overload to match call in PromotionTierEvalService
              • 七维健康图无个人数据时返回默认值 65
              • 身/心维度页推荐文章添加dimensionCode过滤
              • 修复退款失败 - package_orders表缺少user_coupon_id列
              • add missing PpointService for CommissionService compilation
              • specs字段规范化为合法JSON避免MySQL JSON列报错
              • resolve getPlanDetail duplicate declaration and clean up assessment controllers
              • getTrendStats send {} to avoid axios stringify undefined
              • 用原生 button @click 替换 el-button 绕过组件事件问题
              • knowledge layout — wrap body, add status filter dropdown
              • el-link 点击事件改用 .native 修饰符
              • 注册 Element UI Link 组件使变更日志可点击
              • AdminArticleController 空字串转Long抛NumberFormatException
              • 系统状态卡片增加变更日志入口与服务器运行监控
              • convert content-bearing VARCHAR columns to TEXT to prevent Data too long errors
              • show family relation graph card even with single member
              • connect after-sales request and product order refund flows
              • restore DatabaseInitializer encoding and fix ActivityController tests
              • 修复 numsoul_config 种子数据语法错误(缺失引号和逗号)
              • improve health report scoring and add admin report list
              • add role-based permission checks to activity endpoints
              • 补齐个人信息保存缺失的 idCard/mascot 映射
              • repair playwright baseURL, add test scripts and lockfile
              • resolve merge conflict in DatabaseInitializer, add mascot to UpdateUserDTO
              • normalize time format to YYYY-MM-DD HH:mm:ss across admin pages
              • complete scroll wrapper for all 59 pages with fixed=right columns
              • revert error-throwing, keep auto-create for unidentified users
              • prevent auto-create user when openid not found and no phoneCode
              • wechatLogin use real code2Session API instead of mock openid
              • validate openid before WeChat prepay - reject phone-prefixed/mock openid (resolves PARAM_ERROR 无效的openid)
              • add missing wangEditor Toolbar component to enable rich text editing
              • add overflow:auto scroll wrapper to all 58 pages with fixed=right columns
              • admin UI improvements - action dropdown, scroll, labels, confirm dialogs
              • guard loadHealthDimensions on activeChildId + debug logs
              • add table overflow scroll to admin pages
              • CSS grid violations, teacher API null guards, progress fallback, improved changelog parser
              • add null/undefined guards in TeacherDashboard loadStats
              • replace grid with flexbox in Dashboard quick actions + today stats
              • guard null userId in ArticleService.recordRead to prevent creator_id NOT NULL error
              • redesign ContactImport - support WeChat contacts import & fix picker modal issue
              • ISSUE-007 SupplySystemService.create() validate adminId
              • fix FamilyMemberService.addMember DTO compatibility for generationLevel/peerType
              • map generationLevel/peerType to relationshipTypeKey for RelationshipType lookup, set generation/isSpouse on FamilyMember entity.
              • resolve ProductEdit.vue rebase conflict + cleanup supply entities
              • migration 36-37 — family_members generation/is_spouse columns
              • admin edit pages and CHANGELOG updates
              • add GenerationLevel enum and family member entity updates
              • PaymentService testMode mock + WeChat JSAPI payer.openid
              • resolve 5 UI bugs across CFC mini-program
              • CORS - add PrivateNetwork header + explicit allowedOrigins
              • points_log表添加family_member_id列(迁移35,修复家庭能量计算报错)
              • align supply distribution system with spec — member management, period-based settlement, 3-page frontend
              • FamilyRelationGraph 完善 + login/family-dashboard 页面更新
              • add dan_assessment_results missing columns - familyMember/EMI/Big Five/snapshot fields
              • relationship_types.capability_role 添加默认值
              • 迁移33 供应商分销体系(4新表+product_orders 3列)
              • health_reports补subject_id列 + 迁移32供商体系表(4张新表+product_orders 3列)
              • HealthEnergyConfig.vue 全角括号导致前端构建失败
              • add deliveryMethod/rejectReason/categoryId/distributionSystemId mappings - ProductEdit field alignment
              • 多页面综合修复 + 后端关系质量/能量同步 + 前端组件完善 - 后端: DatabaseInitializer/RelationshipQualityController/DimensionEnergySyncService - 前端组件: ContactImport/DimensionActivities 完善 - 页面: action/body/mind/wisdom/discover/health 各维度更新 - splash.vue 删除 - 新增 HealthEnergyConfig.vue 管理端页面 - router/Layout 同步更新
              • resolve rebase conflicts + update tests/docs
              • resolve .last_build_commit conflict
              • ProductEdit wangeditor 生产构建错误 — 改用 @wangeditor/editor-for-vue Vue组件替换programmatic API
              • product order stock check by product type (physical only)
              • resolve merge conflicts and sync build artifacts
              • create cart table migration and sync to schema.sql
              • add relationship score column migrations for family_members table
              • add require_registration, require_checkin_review, energy_penalty_unregistered migrations for activities table
              • add role_override column migration for family_members table
              • add default_role column migration for relationship_types table
              • add remaining child-specific column migrations for family_members table
              • activities表添加审核相关字段迁移(迁移25)
              • package.json 版本更新
              • add id_card column migration for family_members table
              • resolve ArticleService.java merge conflict (autoGenerateTags + submitForReview/withdraw/reDraft)
              • 活动创建后弹窗提供继续添加/返回列表/直接发布选项 + 表单必填校验
              • TabTransition 默认 true 确保首次渲染即出现,消除页面框架闪现
              • 首次进入首页时 TabTransition 不应展示(由 splash overlay 覆盖)
              • DimensionWeightPicker 拖动时按比例重新分配维持100%
              • 环境配置更新
              • action/index.vue 集成 WuxingSandbox 能量沙盘
              • index.vue 闪屏逻辑优化 + api.js 中文注释编码修复
              • DatabaseInitializer 添加 family_member_id 和 role_override 列迁移
              • E2E tests for deployed admin at cfc.iwintrue.com/admin
              • relationship_types 迁移 default_role → capability_role
              • 后端+前端全面修复 - ArticleService/EnergyService/DimensionArticles/FamilyRelationshipSection及多页面完善 - ArticleService: getAdminList 返回值修复 - EnergyService: getEnergyOverview 能量概览补全 - DimensionArticles: 修复文章组件 - FamilyRelationshipSection: 完善关系管理组件 - 多页面: action/mind/wisdom-detail/promotion 等页面更新
              • FamilyMemberVO/Service + family-members.vue 完善
              • 后端全面修复 - 实体字段、Controller参数、Service方法补齐 + DTO新增 \n- 修复字段类型不匹配(Long/Integer/String)\n- 补齐缺失的 import/方法/参数\n- 修改 @PostMapping 路由统一\n- 新增 Cart/CartItemDTO/SystemConfig 相关实体和Service\n- 重命名 ChildNutritionProfileService -> FamilyMemberNutritionProfileService\n- 修复测试用例
              • createUser — unique openid + try-catch exception handling
              • 测试编译错误修复 - ArticleService.getAdminList 参数补齐 + update 方法参数类型修正
              • 修复编译错误(重复字段 + 缺失import + 参数不匹配)
              • update deployment script and admin router/activity api
              • add auto-migration for articles audit fields in DatabaseInitializer
              • create missing HealthDimensionsSection component
              • DimensionArticles & FamilyRelationGraph show empty state
              • uncomment ALTER TABLE for article audit fields in schema.sql
              • DimensionProducts always shows section with empty state
              • resolve Bean name collision between GuideActivityService and ActivityService
              • wisdom index radar chart - loadCognitiveReport race condition
              • call loadCognitiveReport() inside loadChildren's .then callback,
              • resolve API naming conflict for activity guide endpoints and WXML :class compatibility
              • connect article-center entry from discover page + profile menu
              • 修复退出登录遮罩冲突, 添加beforeunload防护
              • correct article publish path in v8 final test
              • add article publish path endpoint + product_skus table auto-init
              • 修复退出登录确认框不显示、文章编辑页刷新弹出浏览器提示
              • fix body goMoreProducts URL - was wrongly set to type=activity instead of type=product by rebase auto-merge
              • always show more button in DimensionActivities, fix goMoreActivities URLs with type param
              • 修复Controller单元测试编译错误
              • 修复集成测试编译错误(适配生产API签名变更)
              • DailyCheckinService.updateCheckin改为Map参数,deleteCheckin增加userId参数
              • 修复NEW-01/02/03运行时API错误
              • login redirectTo + goMoreActivities/Products URLs with type filters
              • fix all tab pages - empty navigation methods, wrong paths, bad query params for goMoreActivities/goMoreProducts
              • remove DimensionProducts section from body page, fix goMoreProducts navigation
              • goShop navigates to correct product pages instead of broken action/index
              • relationship_types enabled 修复 + 清理 body/index.vue 冗余产品链接 - DatabaseInitializer: 启动时修复 enabled=NULL 的种子数据 - schema.sql: relationship_types INSERT 补上 enabled 列 - body/index.vue: 删除菌群检测产品链接区块, showTabTransition=true, 移除废弃方法 - RelationshipPicker.vue: 组件增强 - DimensionActivities.vue: 组件增强
              • small adjustment in ArticleManage.vue
              • repair broken tag in mall.vue, CSS rename and normLevel fix in cognitive-report, small adjustments to add-member and ProfileMenu
              • testMode flag skips private key loading
              • Login.vue success路径补上this.守卫
              • 修复后台登录成功后的崩溃bug (防止重复提交 + catch块防御)
              • 移除所有UTF-8 BOM - api.js + 3个shop页面
              • PaymentService添加@Lazy解决循环依赖
              • 心页快捷入口从一行改为两行布局
              • GrowthTaskManagement import path and function names
              • add resolvedAt to EmotionAlertVO in toVO() mapping in both services
              • add resolvedAt field to EmotionAlertVO
              • make crisis hotline clickable in PsychCrisisBanner via uni.makePhoneCall
              • add emotion_checkin missing columns (moodScore, stressLevel, arousalLevel, sleepHours, sleepQuality, energyLevel)
              • resolve schema migration gate, controller NPE, auth check, WeChat template message support
              • 修复编译错误 - ActivityRegistrationService toList(), ProductOrder/TrialMembership缺失字段, DanshopSyncService BOM
              • ISSUE-001 ProductService.shelve() 状态检查 & ISSUE-003 AdminController.createUser() 缺省值
              • 修复管理端侧边栏菜单滚动问题
              • 修复report-survey微信小程序finally不兼容问题
              • 修复文章发布500错误,补充detail接口及relatedDimensions类型转换
              • List.of()→Collections.emptyList() (JDK8兼容)
              • 解决ambiguous mapping冲突(List.of改Collections+删除productList/productReview重复端点)
              • 调整tabBar顺序为行心身智富(五行相生)
              • 移除 date-picker value-format 避免 400
              • Danshop迁移到cfc-backend + coupons/upgrade模板修复
              • 修复energyMapForGraph缺wisdomScore + 添加返回首页快捷按钮
              • resolve merge conflict + upgrade.vue template root element
              • add .pillar-card to scroll-reveal observer selector
              • restore and fix pre-existing test files for Java 8 compatibility
              • improve FIRST_TASK onboarding trigger to use task child ID
              • HealthDimensionScore/HealthDataSourceRecord 新表字段匹配
              • use PDDocument.load() instead of deprecated Loader class
              • 修复小程序登录后首页状态不更新 + TabBar图标缺失
              • FAQ精简为11个核心问题,修正文不对题;新增销售文案页 sales.html
              • 全站理念统一——精准健康方案→精准健康,SEM/FAQ/百科/策略同步
              • 精准健康方案→精准健康
              • 修正产品理念——健康档案/成长档案为容器,菌群/DAN测评为实际内容
              • remove danLevel field call causing compilation error and add PdfParseServiceTest (10 tests)
              • add missing memberType and danLevel fields to FamilyMemberVO
              • 修复 Profile 子组件 import 路径
              • Core function 识别诊断→科学识别 desc -3chars, 跟踪执行+5chars, 成果检验+5chars; enhance 菌群检测+精准健康; stats in about section
              • Move stats into about section; enhance 成长规划/菌群检测/精准健康 descriptions
              • Revamp about section into 企业使命/愿景/价值观; remove 40,000+ stats
              • Center QR code image
              • QR code 200px desktop, 160px mobile - correct media query placement
              • QR code to 200px; tighten role descriptions
              • Reduce QR code size to 100px (from 180px)
              • hero按钮统一蓝底黑字,消除点击困惑
              • 营养健康模块5项缺陷修复
              • 统一平台运营图标尺寸与对齐方式
              • refactor profile.vue into 6 components + remove duplicate loadRewards
              • resolve git conflict markers in router/index.js and fix Layout.vue computed syntax
              • add monthActiveDays to /api/stats/child/overview
              • unify all order ops to DanShop API
              • convert totalAmount fen→yuan before passing to payment page
              • unify DanShop order operations — cancel/confirm/pay now route to DanShop API not CFC
              • 修复首页10个实现问题(主页风险修复计划)
              • pre-login entry flow - fix page order, remove stale resetTabBar, fix goShop nav, add auto-login refresh
              • 根据登录状态显示/隐藏TabBar(未登录跳转发现页)
              • ProductOrderController 使用 @RequestAttribute 读取用户ID
              • ProductService.decreaseStock 改用原子 UPDATE 防止超卖
              • 数据库 schema 加 UNIQUE 约束 + 时间戳默认值 + 平台商品 vendor_id 置空
              • 修复登录限制和密码重置逻辑
              • 修复Task.java缩进和duration字段一致性
              • 批量操作添加用户认证和所有权检查
              • 修复SfmsDataSourceConfig配置前缀不匹配,去掉hikari层级
              • 批量修复API路由冲突和权限控制
              • 修复数据库迁移SQL语法错误和测试用例
              • 修复预存的编译错误(DTO类型不匹配,status值)
              • 修复预存的编译错误并添加Service接口规范
              • 注册teacher目录页面到pages.json
              • 修复tasks.vue和添加SchemaSyncHandler
              • 优化RewardService和pages.json路由配置
              • 修复跨Controller路由冲突(RewardWishlistController+TaskReminderController)
              • 批量修复GET→POST迁移导致的路由冲突(TeacherController+UserController)
              • 修复ParentController路由冲突(getParentWishlist路径改为wishlist/list)
              • 修复TaskTemplatePackageController路由冲突(getPackageItems路径改为item-list)
              • 统一处理参数校验异常返回
              • 补充createChild必填字段校验
              • 修正测试基类元素解析契约
              • 修复UserService.createChild空指针异常
              • 统一前后端API为POST请求(安全迁移)
              • 修复AdminController类型转换异常和数据库迁移缺失
              • tasks表child_id字段改为可空,支持parent任务
              • rewards表child_id字段允许NULL,修复模板奖励插入失败问题
              • 修复profile.vue模板格式
              • 切换孩子模式时检查孩子数量并引导添加
              • 优化手机号输入体验,11位自动触发检查
              • 修复孩子端导航返回逻辑及移除TabBar游戏入口
              • 修复RewardWishlistController API映射冲突
              • 添加admin_task_templates表teacher_id字段迁移
              • 修复TaskTemplatePackageController API映射冲突
              • 修复GuideController与GuideFamilyTaskController API路径冲突
              • 修复GuideController与BindInviteController API路径冲突
              • 修复schema.sql中ALTER TABLE重复执行错误
              • 修复数据库迁移重复执行错误
              • 修复Java 8编译兼容性问题
              • 修复小程序登录流程和用户编辑页跳转
              • 修复Controller层userId获取方式及多个API端点
              • 其他

                • - 生产库 id/product_id 为 INT,实体为 Long,插入超出 INT 范围的 id 报错
                • - 生产 DB 已直连 ALTER(即时生效)
                • - Product 实体已含字段,生产库缺列,商品列表分页查询报错
                • - 生产 DB 已直连 ALTER(即时生效)
                • - schema.sql 同步补列
                • - Article 实体已含字段,生产库缺列,getFeatured 精选查询报错
                • - 生产 DB 已直连 ALTER(即时生效)
                • - schema.sql 同步补列 + 解决 unlock_gates/microbiome_article 冲突
                • - 后端: AI自动分类接口 /api/growth/articles/products/ai-classify
                • - 前端: growth-main 新增推荐文章和推荐商品卡片
                • - 前端: api.js 新增 getGrowthRecommendations()
                • - 后端: GrowthRecommendationService 推荐查询 + AI分类
                • - 后端: GrowthController /api/growth/recommendations + /ai-classify
                • - 前端: growth-main 新增推荐文章+推荐商品板块
                • - gut-flora-caution-detail → pages/growth/caution-detail
                • - gut-flora-foods-detail → pages/growth/foods-detail
                • - growth-main 新增戒备/饮食推荐行动卡片(戒备有数据时显示)
                • - 更新 gut-flora-detail.vue 跳转链接
                • - profile-main: 新增购物车(角标99+封顶)与收货地址入口
                • - profile-main: 移除功能入口网格, 设置改为菜单项放退出登录上方
                • - profile-main: loadOrderCounts 修正字段映射(pending/paid/shipped/refunding)
                • - profile-main: 补充 loadCartCount 方法定义
                • - order-list: onLoad 支持 status 参数, 我的订单五宫格点击直达对应状态列表
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus sisyphus@ohmyopencode.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • /data/cfc-uploads/ 文件,导致解析时报「文件不存在」。
                • 修复:将 langgraph-data:/data 拆分为两层挂载:
                • - /data/cfc-uploads → bind mount 宿主机路径(共享上传文件)
                • - langgraph-data:/data/chroma_db → 独立命名卷(chroma 向量数据持久化)
                • - report-confirm.vue 去除 onLoad 重复的 draftId/memberId 赋值,draftId 模式自动跳转详情页
                • - report-upload.vue 上传草稿后跳转详情页
                • - 新增健康报告编辑日志(HealthReportEditLog + Mapper + 建表迁移)
                • - 报告服务/区块组装/排序工具相关后端增强
                • - 前端: 新建 gut-flora-caution-detail.vue 页面,倒序展示 indexScore < 0 的食材
                • - 前端: gut-flora-detail.vue 新增'食材戒备'入口卡片(有戒备食材时显示)
                • - 前端: api.js 新增 getFoodCautionList()
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - BeijingNutritionService.analyzeGutFlora: 按功能分类聚合菌属
                • (丁酸盐生产者/黏液屏障/蛋白质发酵者/SCFA/产气菌/益生菌等)
                • - 计算 Prevotella/Bacteroides 比值推断饮食模式
                • - 组合风险模型(IBD/代谢/肠易激/神经-肠轴)
                • - 益生菌补充指导
                • - POST /api/nutrition/beijing/analysis
                • 前端:
                • - gut-flora-detail.vue 新增分析卡片(功能维度评估/PB比值/饮食模式/风险/益生菌)
                • - api.js 添加 getGutFloraAnalysis
                • Ultrawwork with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - 后端: SortInterceptor + SortUtil 全量支持
                • - 支持单击设主排序、Shift+Click追加、双击切换方向,最多3列组合
                • - 新增 SortUtil.applySort(wrapper) 自动注入 ORDER BY
                • - 批量 patch 110+ 个 controller/service 文件
                • 解决方案,平台承诺未经授权不向第三方提供报告内容。未勾选时点击上传
                • 卡片会弹出确认弹窗,用户同意后自动勾选并继续选文件流程。
                • Closes: 报告上传用户隐私声明需求
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - 后端: AdminFoodController 解析前端 sort 数组传入 Service
                • - 前端: 列头点击排序(单击设主排序,Shift+Click追加,Ctrl+Click切换方向)
                • - 前端: 排序徽章显示当前排序链,最多支持3列组合排序
                • - 前端: 排序列高亮 + 方向图标
                • - DietRecordService: getDailySummary/getWeeklyTrend 增加 userId 参数 + resolveMemberId 反查当前用户自己的 family_members 记录
                • - SurveyController: 移除 status/history/submit 的缺少成员ID 报错
                • - SurveyServiceImpl: resolveMemberId 兜底,submit 时仍无法确定则抛业务异常返回 400
                • - 11个分类: 蔬菜58、水果42、水产品35、肉类27、干果15、豆类14、主食14、蛋类7、乳制品6、汤3、快餐3
                • - 字段: name, category, energy_kj, protein, fat, carbs, fiber, starch, cholesterol
                • - SQL: docs/superpowers/specs/food_seed_data.sql (可直接执行)
                • - 数据库已有 UNIQUE INDEX idx_name(name) 防重复
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - 新增月度引导语(12个月差异化文案)
                • - 💧金色主题样式
                • 健康页(health-main)登录前:
                • - 新增五维闭环体系可视化(身/心/智/行/富环形图)
                • - 相生关系: 身→智→富→行→心→身
                • - 相克关系: 身克富·智克行·富克心·行克身·心克智
                • - 五维介绍卡片(点击跳转对应维度页)
                • 成长页(growth-main)登录前:
                • - 同构五维闭环体系(绿色主题区分)
                • - 替换原理念卡位置,内容更丰富
                • - 保留原登录后逻辑不变
                • - 品牌定位语'科学管理全家健康数据'
                • - 痛点卡: 指标正常≠健康 + 孩子反复生病文案
                • - 4宫格功能预览(报告/认知测评/心理测评/智能方案)
                • - 15题五维健康自检入口
                • - LoginGuideCard 升级版
                • 成长页(growth-main)登录前:
                • - 品牌定位语'看见改变正在发生'
                • - 理念卡: 记录不是目的,看见改变才是
                • - 脱敏案例展示(小明3个月前后对比)
                • - 4宫格功能预览(打卡/调研/里程碑/家庭挑战)
                • - LoginGuideCard 升级版
                • - 原登录后逻辑不变
                • - pages.json 注册 pages/action-detail/index 页面
                • - custom-tab-bar dimMap.action 从首页改为 /pages/action-detail/index
                • - monitoring.py: Java后端检查由GET /api/改为POST /api/admin-auth/login-by-password
                • - monitoring.py: LLM检查由ainvoke改为abatch(max_tokens=1)加速
                • - .env.production: JAVA_BASE_URL改为172.17.0.1(Docker桥接网关)
                • (Java后端所有接口均为POST,GET返回404)
                • - .env.production: JAVA_BASE_URL由远程IP改为172.17.0.1(Docker桥接网关)
                • (Java后端运行在同服务器宿主机,Docker容器通过桥接网络访问)
                • - parent-index.vue: 去掉自动选中children[0],默认显示自己,用户从FamilyMemberStrip选择后设置selectedChild
                • - 后端: HealthSleep/Water/Exercise/DailyCheckin/HealthDimension 五个Controller添加@RequestAttribute('currentMemberId')回退
                • - 前端: sleep/water/exercise/daily-checkin/diet 五个健康页,child角色不从storage取currentChildId
                • - 理念依据:《家的算法》书稿(测量先行→最小输入→循环→反馈→系统升级)
                • - 主线硬门禁:家庭级判据,任一成员完成五维自检解锁全家沙盘
                • - 增值关卡:下单菌群检测/DAN测评(无前置依赖,可先于主线完成)
                • - 软引导:微行动/打卡里程碑/复测趋势,推荐不锁死
                • - 管理端完整配置页:开关/顺序/奖励/条件,数据驱动
                • - 同步更新 PROJECT-OVERVIEW.md 功能表与文档索引
                • - 表格高度自适应,无固定 max-height
                • - Java后端健康检查由 /health 改为 /api/(返回401=正常需认证)
                • - 组件详情展示 detail 字段而非 code
                • - 健康页登录前新增痛点卡、功能预览、五维自测入口
                • - 成长页新增登录前内容(理念卡+示例展示+功能预览+LoginGuideCard)
                • - 所有内容来自《家的算法》书稿(book/目录)
                • - 登录后内容保持不变
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - LoginResultDTO.roles: String → List
                • - UpdateUserDTO.roles: String → List
                • - UserService: 移除 parseRoles/joinRoles,直接使用 List
                • - EnergyService: 简化 parent 角色检查
                • - SupplyManageController: 直接使用 List.contains()
                • - DataMigrationService: 使用 Arrays.asList()
                • - ServiceRoleApplicationServiceImpl: 保留 JSON 序列化(独立表字段)
                • 形成 '/dashboard → / → /dashboard → …' 无限循环。
                • 改为 next('/403') 直接跳 403 页面,终止循环。
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • 低于 JWT HMAC-SHA 要求的 256 位。新增自动扩展逻辑:
                • - SHA-256 哈希扩展(密钥>=256位时直接使用原密钥)
                • - 字节填充回退
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - 移除功能测试面板(quickTests)
                • - API端点列表高度 500→700px
                • - 日志面板高度 250→600px
                • - 状态判定改为只看LLM/ChromaDB,Java后端因内外网隔离不作为降级依据
                • - 刷新间隔从30s改为60s
                • 后端:
                • - adapter.py 新增 POST /api/v1/health/coach/generate 端点
                • - 接收 {familyId, memberIds, dimensions, goal},调用 health_coach_graph
                • - 修复 Java 后端 HealthPlanServiceImpl 调用端点 404 问题
                • 部署:
                • - 新增 deploy.sh 脚本(rsync同步 + docker-compose重启 + 健康检查)
                • - 前端 profile.vue: loadUserInfo 按14个字段计算个人信息完整度 profileProgress, 修复一直显示0/14的问题
                • - 后端: users/consignees 表新增 province/city/district/street 字段(迁移211 + schema.sql同步)
                • - UserService.updateUserInfo: 保存地区后自动创建/更新同名同手机号联系人, 共享地区数据
                • - ConsigneeService.save: 联系人姓名手机号与当前用户一致时, 反向同步地区回用户
                • - 步骤指示器 + 卡片式报告选择
                • - 需求输入区改为标准表单,非对话样式
                • - LangGraph 调用逻辑不变(aiSendMessage),仅前端 UI 改造
                • - 方案结果以普通卡片展示,任务列表支持执行人修改
                • - 后端 HealthReportService 新增 getFamilyReports(familyId) 方法
                • - report-confirm.vue 确认后跳转 health-plan-summary
                • - 重写 health-plan-summary.vue:
                • - 选择全家已有报告(含其他家人)
                • - AI 对话式输入需求,返回方案内容
                • - 自动解析任务列表,支持修改执行人
                • - 确认后批量创建任务单
                • - 后端 HealthReportService 新增 getFamilyReports(familyId) 方法
                • - report-confirm.vue 确认后跳转 health-plan-summary
                • - 重写 health-plan-summary.vue:
                • - 选择全家已有报告(含其他家人)
                • - AI 对话式输入需求,返回方案内容
                • - 自动解析任务列表,支持修改执行人
                • - 确认后批量创建任务单
                • (未知文本一律算异常),而 _cssClass/statusText 用白名单映射(未知显示正常),
                • 导致分组标题'X 项异常'把样式正常的指标计入异常数。
                • 改为与 _cssClass 一致的白名单判定(仅 high/low/abnormal/偏高/偏低/异常/
                • 缺乏/不足/注意/高风险 计异常),并补齐 _cssClass/statusText 的'异常'中文键。
                • parse/parse-preview 读取时又拼一次 uploadBaseDir,形成
                • /data/cfc-uploads/data/cfc-uploads/uploads/... 的重复路径导致文件找不到。
                • 新增 resolveUploadFilePath 兼容绝对/相对两种历史格式,两处读取统一走该方法。
                • 前端 uploadReportOnly 仍调旧路由命中一体化 uploadReport(返回详情无 draftId),
                • 导致上传成功但 res.data.draftId 为空、不跳转确认页且 toast 显示 message=success。
                • 修正 URL 为 /api/health/report/upload-only。
                • - 新增SurveyTemplate/SurveyRecord实体 + Mapper + SurveyService
                • - 新增SurveyController(小程序端status/active/submit/history)
                • - 新增AdminSurveyController(管理端save/list/delete/ai-generate)
                • - AI生成调研题目调用LangGraph,失败回退本地fallback
                • - 前端小程序:新增survey-questionnaire/survey-history页面
                • - 重构growth-main为干预中心(今日干预进度卡+持续追踪Tab+里程碑+定期调研)
                • - 前端api.js新增调研API,pages.json注册新页面
                • - Web管理端:新增SurveyTemplates.vue(CRUD+AI生成)+ survey.js API
                • - 修复getSurveyStatus命名冲突(旧report-survey重命名为getReportSurveyStatus)
                • - 同步更新schema.sql + PROJECT-OVERVIEW.md
                • - VARCHAR(50)→VARCHAR(255),源数据(菌种检出率描述)可能超过50字符
                • - 生产 DB 已直连 ALTER(即时生效)
                • - schema.sql 新增 health_gut_flora 表 DDL
                • - CouponGrantLog/DanExecution/CfValueManage/MembershipCenter/PendingRefund/ButlerAudit/ServiceRoleApplications/supply-system/Detail/HealthReportAudit: 新增resolveUserNames方法,通过searchUsers API将userId解析为用户名显示
                • - 在线测评(dimension-questionnaire.vue)扩展:cognitive/mental/relationship三套题库(各8题)+dim参数路由
                • - 方案汇总页(health-plan-summary.vue)新建:生成表单+结果展示+历史列表
                • - 后端:health_plans表+HealthPlan实体/Mapper/Service/Controller(4端点)
                • - 数据库迁移207:health_plans表
                • - 前端API:generateHealthPlan/saveHealthPlan/getHealthPlanList/getHealthPlanDetail
                • - pages.json注册health-plan-summary页面
                • - PROJECT-OVERVIEW更新
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - 成长Tab: 移除重复体征记录入口,保留每日打卡等8项执行层入口
                • - 全局改名: 成长档案 → 成长记录 (15个文件: 页面文本/导航标题/注释)
                • - 导航修复: mind-detail和wealth的TabBar页跳转改用nav.goPage; child-index/child-detail goToGrowth改用switchTab
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - ArticleBookshelf 组件: 书册横滑改四列网格, 显示4篇文章
                • - index-home: 推荐阅读移到推荐商品下方, 推荐商品请求数量 2->4
                • - FamilyMemberStrip: 无 props 用法时自我加载可见家庭成员
                • - UserService: 家庭成员列表按 userId 去重(创建者双表记录)
                • - 8 个不存在的表(user_operation_log/daily_health_checkin等)不再产生噪声
                • → 改用 tableExists() 前置检查 + RENAME TABLE(无 IF EXISTS)
                • - 修复 1 处 CHANGE COLUMN min_quantity(列已不存在时报错)
                • → 改用 columnExists() 前置检查,不存在则跳过
                • - 新增 tableExists() + columnExists() 辅助方法
                • - 不影响业务,仅消除启动日志噪声
                • - 移除 dead code: 无意义的 empty-tip 视图
                • - 移除无用 import: generateFamilyInviteQrCode
                • - onInvite 使用 uni.share type=5(小程序原生卡片分享),不再依赖 QR 图片
                • - 分享卡片带标题+家庭名,被邀请人直接打开 invite/join 页面
                • 🛒 购物车 (pages/shop/cart/cart) 快捷入口。
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • 当 store familyId 为空时显示 FamilyEmptyState(暂无数据)。
                • 编辑个人资料不应依赖是否有家庭,改为老用户 (isNewUserFlow=false) 始终显示表单。
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - 移除 FamilyEnergyBar(沙盘已含能量信息)
                • - 移除 DimensionTasks/圈子模块,移入功能入口
                • - 新增 3列功能入口网格(对齐健康/成长页 grid-3col)
                • - 移除未登录态五维全景幸福矩阵
                • - 重构结构:Banner → FamilyMemberStrip → 沙盘 → 网格 → 挑战 → 推荐
                • - 清理冗余 JS 数据/方法/API调用和 CSS 样式
                • 导致 ProfileHeader/Badges/Growth/Menu 加载失败,页面仅显示内联个人信息卡片。
                • 将 4 个 Profile 组件复制到全局 components/ 目录,并更新两处 import 路径。
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • pages/health/index → pages/health-main/index
                • pages/growth/index → pages/growth-main/index
                • pages/profile/profile → pages/profile-main/profile
                • - 更新 nav.js, custom-tab-bar, pages.json 等 10 处引用
                • - main.js 添加 custom-tab-bar 显式注册(强制构建编译)
                • - pages.json 4个Tab页添加 usingComponents 引用 custom-tab-bar
                • - 修复 checkout.vue ES6 简写方法语法错误
                • - 五维 index 页移入分包: mind→mind-detail, body→body-detail, wisdom→wisdom-detail, wealth分包
                • - 新建 custom-tab-bar: 4Tab + 中间⭐按钮 + 五维半屏浮层, 规划师5Tab不变
                • - 新建 pages/health/index.vue 健康Tab页(报告/测评/打卡概览)
                • - 增强 pages/growth/index.vue 为方案执行中心(待办/功能入口)
                • - 新建 utils/nav.js 统一导航工具
                • - 替换 switchTab 引用为 nav.goPage/navigateTo
                • - 活动推荐移至成长页, 健康页新增科普文章推荐
                • - profile 显示完整菜单(showServices=true)
                • - 旧版 INSERT 未携带 type 字段,DB 列 NOT NULL 无默认值导致插入失败
                • - 使用 MODIFY COLUMN 添加 DEFAULT 'login'(向后兼容,无需改代码)
                • - 直连生产 DB ALTER 已执行(下次服务重启 DBI 迁移幂等跳过)
                • - 迁移191: foods 添加 report_id/score 列
                • - 直连生产 DB ALTER 已执行
                • - 修复 菌属-食材映射 JSON 解析失败:
                • - DB 顶层为 JSON Array 但代码期望 Map,加载时包装为 {_list: [...]}
                • - 消费端兼容两种形态
                • - 修复 迁移112 日志等级:
                • - Duplicate column 已存在是幂等预期,log.error → log.warn
                • - 避免误报
                • - report_parse API 对接报告类型注册表
                • - 新增 test_auto_tag 自动标注测试
                • report_unknown_cluster/report_unknown_upload/report_parser_import 五表
                • - 新增 ReportParserController + ReportParserAdminController
                • - 新增 5 entity + 5 mapper + 3 service(ReportFingerprintService/
                • ReportImportService/ReportParserDispatchService)
                • - schema.sql 同步 5 张新表定义
                • - addIngredient/removeIngredient/addFood 方法缺少 var self = this
                • 2. 前端:无菌群报告/无推荐食材时弹窗引导上传报告
                • 3. 后端:generateIngredientList 未配置共餐时降级为查询
                • 家庭全部成员,而非返回空列表
                • 导致 ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7
                • 改为指向正确的饮食模块首页 /pages/diet/index
                • - 修复 Unknown column 'is_living_together'(family_members, 迁移174已生效但DBI嵌套错误未触发)
                • - 修复嵌套 try/catch 结构(迁移178/180 误嵌在迁移179 catch 内)
                • - 迁移号校正:178→180, 180→181(diet 模块占用了原 178-181 编号)
                • - health_reports 新增 proxy_uploader_id / proxy_upload_note / ai_analysis
                • - health_report_drafts 新增 remark
                • 生产 DB 已直连 ALTER(无需等下次重启)
                • - product-detail.vue: 详情页按会员身份展示 - 非会员显示普通价+加入会员享会员价链接,会员显示会员价+原价划线;去掉底部栏价格
                • - 修复远端合并引入的编译错误: HealthReportController缺import、HealthReportService的reportMapper笔误、HealthReportDraft实体补remark字段
                • revert(frontend): 撤销 tabbar 4Tab 重构, 恢复 5维TabBar(行心身智富)
                • revert(frontend): 撤销分包重命名 -pkg, 恢复为 health/growth/profile
                • revert(frontend): 撤销 tabbar 入口页移至 pages/tabs/ 的改动
                • 改为 v-if="!fanOpen"(默认常驻),且背景由透明边框改为实心半透明
                • rgba(249,115,22,0.25)。该层绝对定位 72rpx 与 .fab-avatar 完全重合、
                • DOM 顺序在后且未设 pointer-events: none,常驻覆盖在 FAB 按钮上层,
                • 拦截所有点击,导致家庭成员扇形无法展开。
                • - .fab-pulse 增加 pointer-events: none,点击穿透到按钮本体
                • - FAB 位置从 bottom: 33.33% 上移至 bottom: 45%(黄金分割位下移后过于靠下)
                • Reviewed-by: Sisyphus
                • ()替换为监护人同意弹窗的
                • 注释代码时误删了按钮且未加回,导致表单无法提交。script 中 submit()/
                • doSubmit() 方法与 CSS .btn-primary 均为死代码残留。
                • 已在手机号字段后恢复保存按钮,监护人弹窗确认流程(14岁以下儿童)不受影响。
                • Reviewed-by: Sisyphus
                • 对象 Map、后端 DTO 只认对象),导致规格名记录不进去:
                • - ProductSkuEditor.normalizeSpecsToJson 改为输出数组格式,空值默认 '[]'
                • - ProductSkuDTO.from 兼容数组格式(数组→Map),旧数组数据可正常回显
                • - formatSpecsForInput/parseSpecs 数组分支正确解析 {name,value},不再显示 [object Object]
                • - CartService 兼容对象格式(旧数据兜底),修复购物车规格描述丢失
                • - ProductSkuService 空 specs 默认 '[]'
                • 同步修复预存编译错误:HealthReportController 缺 HttpServletRequest import、
                • HealthReportService reportMapper 应为 healthReportMapper、HealthReportDraft
                • 补 remark 字段(含 schema.sql + DatabaseInitializer 迁移180)。
                • Reviewed-by: Sisyphus
                • - AuthController.verify: 增加 user 存在性检查,用户被删/禁用时返回 401
                • - api.js: 新增 verifyToken() 导出函数
                • - App.vue: onLaunch 时调用 verifyStoredToken() 启动校验 token(develop 跳过)
                • - api.test.js: 新增 3 条 verifyToken 测试(成功/过期/用户不存在)
                • 后端 mvn clean compile BUILD SUCCESS
                • 前端 npm test auth API 16/16 通过
                • ContentSharePoster 的 String props(title/coverImage/summary/priceText 等)。
                • Vue 2 中 props 的 default 只在未传时生效,显式绑定 null 会触发微信类型检查
                • 告警 [Component] property received type-uncompatible value: expected
                • but get null value。已在所有绑定处加 || '' 兜底。
                • Reviewed-by: Sisyphus
                • TypeError: this.loadMembership is not a function
                • - 商品介绍/详情 mp-html 传入 domain(config.API_BASE_URL),
                • 修复富文本中相对路径图片被解析到本地 DevTools 服务器的问题
                • Reviewed-by: Sisyphus
                • 修正后路径: ../profile-pkg/components/Profile*.vue
                • 移至 pages/tabs/
                • - 修复 X-User-Id header 断言(改为断言不再发送)
                • - 新增 identity parameter hardening 4 个回归测试:
                • request 不发 X-User-Id 头、测评 wrapper 无参且 body 为空、today-tasks 仅含 memberId
                • 改为 @RequestAttribute("userId") 获取当前用户,移除 body.userId 读取
                • - record/current 标记为已废弃(无前端调用方,familyId 参数不再被信任)
                • - FamilyController:guide-bind 的 @RequestHeader("X-User-Id") 改为 @RequestAttribute("userId");
                • 两个已废弃端点移除 X-User-Id 参数
                • - AdminController:/api/admin/families/** 及 /families/count 增加 admin 角色校验
                • - HealthReportController:parse-preview 的 familyId 由 @RequestParam 改为 @RequestAttribute
                • - 移除 pages/promotion/material.vue 本地 _request 的 X-User-Id 头
                • - 测评 wrapper(getMy/ChildAssessmentResults)改为无参发送 {}
                • - 测评页面(results/apply/purchase)停传 userId
                • - 删除 mind/index.vue 两个指向不存在端点的死调用(/api/mind/report/*)
                • - 移除 report-upload/meal-config/bind-invite 的 familyId/family_id 传参
                • - parent-index.vue getPendingWishes() 去实参(wrapper 已忽略)
                • 后,路径前缀与同名分包 root(pages/health、pages/growth、pages/profile)冲突,
                • 导致 HBuilderX 编译失败→全白板。
                • 修复方案:将 tabbar 入口页从分包目录移到 pages/tabs/ 目录,
                • 路径前缀与所有 48 个分包 root 完全无重叠,消除冲突。
                • 变更:
                • - pages/health-pkg/index.vue -> pages/tabs/health-index.vue
                • - pages/growth-pkg/index.vue -> pages/tabs/growth-index.vue
                • - pages/profile-pkg/profile.vue -> pages/tabs/profile-page.vue
                • - pages.json: 主包 tabbar 页路径 + 分包 root 保持 -pkg 后缀
                • - 10 个文件中的路径引用同步更新
                • - pages/growth → pages/growth-pkg
                • - pages/health → pages/health-pkg
                • - pages/profile → pages/profile-pkg
                • 同步更新 pages.json 分包 root、tabBar 路径及 30 个文件中的 66 处引用
                • 改为乐观加载模式(接口未返回前返回 true),避免暂无数据闪烁
                • - index-home/index.vue: loadChildren/loadFamilyMembers 增加 checked 标记设置
                • - DimensionProducts.vue: hasFamily 增加 isLoggedIn 判断,信任父组件可见性控制
                • 导致 pages.json 语法错误,HBuilderX 编译失败、小程序全部白板
                • - 将 diet 块移回 subPackages 数组内(正确缩进)
                • - cfc-frontend/AGENTS.md: 写入打包规范(HBuilderX 打包 → unpackage/,禁止 npm build 自行打包)
                • store getter 仅兜底(store.familyId 恒空导致空态吞掉正常内容)
                • - App.vue 冷启动从接口恢复 familyId,store setFamilyId 持久化供恢复
                • - login.vue 登录/自动登录同步 familyId 到 store
                • - 修复 9 处批量修改导致的 computed 对象未闭合语法错误
                • design: 家庭FAB悬浮按钮重新设计 - 家庭图标 + 渐变光环 + 黄金分割定位
                • - 图标: 默认态显示家庭图标👨‍👩‍👧‍👦, 展开时渐变过渡为当前成员头像
                • - 效果: 暖橙渐变背景 + 双层光晕阴影 + 展开光环 + 呼吸脉冲动画
                • - 交互: 展开时弹性缩放(1.05), 头像淡入旋转过渡
                • - custom-tab-bar: 4 functional tabs + center star button + half-screen overlay
                • - utils/nav.js: unified navigation utility for auto switchTab/navigateTo
                • - health/index.vue: new health tab as closed-loop hub (测评/报告/打卡/饮食/运动)
                • - Replace all switchTab→dimension pages with nav.js (nativeTabs pattern removed)
                • - Move growth/index and profile/profile from subpackages to main package
                • - Teacher independent tabbar preserved (v-if='currentRole !== "teacher"')
                • - 5 dimension pages moved from tabbar to subpackages
                • - custom-tab-bar redesign with half-screen overlay
                • - Unified nav utility for switchTab/navigateTo routing
                • fix: 家庭FAB悬浮左缘中部 + 无家庭用户查询接口自动创建兜底
                • - 新增 UserService.ensureUserFamily 公开兜底入口
                • - UserController/FamilyUserController.getFamilyMembers 与 getVisibleMembers 在 familyId 为空时自动创建家庭
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - JwtInterceptor: 查询 familyId 失败时显式设为 null 而非空置
                • - WechatService: 新增 invalidateAccessToken() + 过期重试机制(42001/40001)
                • - UserService: 大幅重构和改进
                • - MembershipService: 新增逻辑
                • - FamilyJoinRequestService: 改进
                • - ProductController: 产品相关改进
                • - cfc-web: 构建版本同步
                • - 用户协议重写:13章覆盖付费/退款/服务商/免责/争议解决
                • - 新增服务商入驻协议
                • - 后端:user_consent_records 表 + ConsentController(4接口)
                • - 后端:user_data_permissions 表 + DataPermissionController(2接口)
                • - 后端:账号注销匿名化 + 数据导出接口
                • - 后端:DataMaskUtil 日志脱敏工具
                • - 后端:DataCleanupTask 每日2点清理定时任务
                • - 前端:添加<14岁儿童时监护人同意弹窗
                • - 前端:API 层新增 consent/data-permission 调用
                • - 迁移168/169 + schema.sql 同步
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - 后端: requestJoinByCode 兼容 token/inviteCode/familyId 三种输入
                • - 后端: FamilyJoinRequestService.createJoinRequest 支持 UUID token 识别
                • - 前端: invite/join.vue 展示邀请人头像, 改为提交申请+轮询审批流程
                • - 前端: FamilyMemberStrip.vue 加 isAdmin prop、红点徽章、审批弹窗(通过/拒绝)
                • - 前端: api.js 补充 pending-requests/approve-request/reject-request/my-request API
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • 导致后端解析 Long.valueOf('{}') 时抛出 NumberFormatException。
                • 改为从 currentFamilyId/userInfo.familyId 获取实际值,与同文件
                • loadCompatibilityData 等方法的现有模式保持一致。
                • - 从 extract_full_report_v5.py 提取核心逻辑(overview/疾病风险/营养/氨基酸/维生素)
                • - requirements.txt: 补充 PyPDF2 依赖
                • - 统一知识库 knowledge_base_section 表 + UnifiedKnowledgeBaseService(迁移165,DB为查询源,classpath种子兜底)
                • - HealthKnowledgeBaseController 新增 /unified/* 系列端点
                • - 控制器增加家庭ID解析与成员归属校验辅助方法
                • - JwtInterceptor/Result/api.js 同步增强
                • 超过 gunicorn 60s 超时导致 worker 被杀(WORKER TIMEOUT + SIGABRT)。
                • - gunicorn --timeout 60→300:给推理留足时间
                • - ChatOpenAI timeout=180/max_retries=1:单次推理上限 180s,失败仅重试 1 次
                • - app/main.py: 合并 questionnaire_router,旧路由/中间件/知识库同步不变
                • - src/llm/client.py: LLM* 环境变量优先(与 .env.production 一致),兼容 OPENAI*
                • - Dockerfile: 新增 COPY src/ src/(生产镜像此前无问卷代码)
                • - docker-compose.yml: langgraph-svc healthcheck 改用 python urllib 探 /health(镜像无 curl + 原路径 404)
                • - 支持通过模板快速创建自定义挑战
                • - 支持编辑/删除挑战
                • - 移除非兜底的自动创建模板逻辑
                • - 后端新增 creator_id 字段区分系统/用户创建
                • - 后端新增 templates/create/update/delete 接口
                • - 前端新增 challenge-manage 管理页
                • - 行首页挑战区添加管理入口
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - 会员价联动展示(非会员可点击升级)
                • - 未选规格时按钮禁用提示
                • - 加购/购买时传递 skuId 和 specDesc
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • 改为调用已有的 getProductsByDomain('body', 1, 4),行为等同于原 getPublicConfig 返回空时的回退路径(domain='body' 加载身体维度推荐商品)。功能语义不退化。
                • 同时移除变成 unused 的 productList import。
                • 文件: cfc-frontend/pages/health/report-upload.vue (+3/-13)
                • 验证: npm run build:mp-weixin DONE; 编译产物 getPublicConfig=0, getProductsByDomain=1
                • - Caused bottom-left rounded rect rendering failure on all canvas shapes
                • - MembershipService: 新增 refundByOrderNo(orderNo) 退单+降级管理员
                • - VirtualPayService: handleRefundNotify ORD 分支调用 membershipService.refundByOrderNo
                • Task B: iOS退款问询按官方协议接入
                • - VirtualPayController: notify() 新增 xpay_subscribe_ios_refund_query_notify 事件分发
                • - VirtualPayService: 新增 handleIosRefundQuery 按 pay_order_id 路由+判定退款
                • - VirtualPayController: iosRefundBaseResponse 字段修正为官方 IosRefundQueryResponse 协议
                • - 测试: 新增5个用例覆盖ORD退款路由+iOS问询(同意/拒绝/不存在/已退款)
                • - api.js: remove unused parseReportPreview function (33 lines)
                • - api.js: restore 86 garbled Chinese comments (UTF-8 bytes decoded as GBK then re-encoded)
                • MyBatis-Plus无TypeHandler导致updateById无法正确写入JSON列。
                • 修复: specs改为String类型,service层校验空值默认设为{}
                • dimensionCode 参数,导致后端返回所有精选文章而非按维度过滤。
                • - body/index.vue: 补传 dimensionCode: 'body'
                • - wealth/index.vue: 补传 dimensionCode: 'wealth',移除客户端
                • relatedDimensions hack(后端已正确过滤无需前端二次筛选)
                • 导致封面加载失败。统一走 getImageUrl() 拼接 config.API_BASE_URL。
                • unauthenticated users, leaving displayStatus/displayLabel/
                • registrationStatus as null. This caused the activity detail page to
                • hide the cover, registration button, and check-in button for all
                • visitors. Now applyDisplayState() runs for everyone; guests get
                • default values ('open'/'not_registered') derived purely from activity
                • time windows.
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - 添加 getImageUrl() 自动补全 API_BASE_URL 前缀
                • - 修正字段映射:商品介绍 → intro,商品详情 → description
                • - 价格/会员价上下排列,会员价字体缩小
                • - 加购物车和立即购买按钮统一字体大小
                • - 供应商编辑页新增「商品简介」intro 字段
                • 删除废弃的 pages/action 分包并修复引用
                • - parent-index.vue: /pages/action/contact-detail → /pages/action-detail/contact-detail
                • - action-section.vue: activity-detail 跳转修正为 /pages/activity/activity-detail/activity-detail
                • - action-section.vue: task-detail 标记 TODO(该页面不存在,为死代码)
                • - pages.json: 移除 pages/action 分包注册
                • - ArticleController: POST /api/articles/updated-since 支持since+status过滤
                • - ArticleService: getUpdatedSince() 按updatedAt+status查询已发布文章
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • /pages/home-pages/parent-index(非 TabBar 页),导致底部 TabBar 不显示。
                • 改为 uni.switchTab() 跳到 /pages/index-home/index(行 Tab)。
                • 同样修复 submitGuideApplication 中相同的 redirectTo 错误跳转。
                • (7498行), 导致 mvn compile 报 illegal start of expression。
                • 仅删除该残留标记行, 迁移152/153 内容保持不变。
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - 首页能量沙盘下方新增会员入口卡(非会员开通 / 会员≤30天续费)
                • - 活动详情页非会员显示会员价引流链接
                • - 活动列表会员价点击跳转开通
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • (list(Map,Long) / create(Activity,Long) / update(Activity,Long,String) / end(Map,Long,String))
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • 且其 snake_case 列名与实体不匹配, 导致全列查询报 Unknown column 'school'。
                • schema.sql 同步为 camelCase 与实体一致。
                • Unknown column 'user_coupon_id' in 'field list':entity PaymentOrder
                • 已声明 userCouponId 但部分库建表时缺失该列。
                • 使用 ensureColumn 幂等添加。本地 MariaDB 与新 MySQL 8 远端已
                • 有此列,迁移对它们为 no-op。schema.sql 已含 user_coupon_id,
                • 无需同步。
                • - 详情行合并为单行, 卡片内边距/字号/进度条全面收紧约20%
                • - parent-index.vue: 移除无用的 childId 传参与 @updated 监听
                • - custom-tab-bar/index.vue: 富 tab 指向 wealth/index, tab 顺序对齐原生 tabBar, nativeTabPages 只含原生 tab 页
                • - login.vue / action / wisdom / index-home: 清理 stale nativeTabs 列表, 避免对非 tabBar 页面调用 switchTab 触发 routeDone 路由错误
                • - user-edit.vue: 规划师入驻提交后 redirectTo 分包页而非 switchTab
                • - utils/format.js + DimensionActivities.vue: 新增 iOS 安全 parseDate 统一日期解析
                • 家庭挑战 (d6bb7d48):
                • - 挑战列表带 familyId 参数(修复之前漏传导致返回空)
                • - 验证 targetMode/targetValue 双目标模式字段
                • - 验证 totalProgress/memberProgress 进度字段
                • - 新增 /api/health/challenge/history 历史
                • - 新增 /api/health/challenge/progress 进度上报(childId 已有活跃挑战时)
                • 活动会员价 (15a93dd3 + 89673f07):
                • - 管理端活动列表验证 memberPrice 字段
                • - 管理端活动详情验证 memberPrice
                • 文章 (ab9f4a44 + 阅读时长功能):
                • - admin/articles/list 带 auditStatus 参数过滤
                • - 文章详情返回 readTime 字段
                • - /api/articles/record-read 上报阅读时长(需 childId)
                • - /api/share/qrcode 生成小程序码(855a8df5 分享改海报)
                • - /api/admin/articles/upload/image 端点存在性(598e7601 + c697fb7b)
                • 测试结果:211 passed / 0 failed / 0 skipped(原 199 → +12 新增全通过)。
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - VirtualPayService: effectiveAppKey() 按 virtual-pay-env 选择签名密钥,paySig/query_order pay_sig 统一切换
                • - VirtualPayController: 新增 GET /notify URL 验证端点(echostr 校验);POST /notify 增加微信签名校验(sha1(token+timestamp+nonce))防伪造推送
                • - tasks/rewards/home-pages/teacher 等非 TabBar 页面改用 navigateTo,修复 switchTab 无法跳转分包页的问题
                • - user-edit 登录后角色分流、家长/孩子端任务/奖励入口同步修复
                • mysql-internet-cn-north-1-23feae2268.rds.jdcloud.com:3306,
                • 库名 zxyj(与本地同名),账号 cfc/cfc@1314。
                • main 与 sfms 两段 datasource 同步切换(sfms 默认 enabled=false)。
                • {memberId, source: "family_member"},source 是 String,
                • Map 会导致 Jackson 反序列化失败。其他端点
                • (kick / editable / logs)不接收 source,保持 Map。
                • BadSqlGrammarException。直接赋值在两库均可用(MySQL 8 JSON 列接受
                • 字符串时自动校验,MariaDB JSON 为 LONGTEXT 别名)。
                • - /api/share/qrcode 加入必登录清单,根因解决 anonymous 反复调 cgi-bin/token 导致全实例 token 失效
                • - ShareController.getQrCode 同步加 userId<=0 兜底校验(双保险)
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - content 富文本内 /uploads/ 相对图片路径替换为完整 URL
                • - 后端 FileStorageService 存储相对路径,前端渲染时需拼接 baseURL
                • - ProductSkuEditor: 支持新建时暂存 SKU,商品创建后自动提交
                • - handleSave: 创建后更新 form.id,触发 SKU 编辑器 watch
                • - DatabaseInitializer 新增幂等迁移:target_mode (VARCHAR(20) DEFAULT 'aggregate') 与 target_value (INT DEFAULT 0)
                • - schema.sql 同步 family_challenge 表结构
                • - FamilyChallenge 实体新增 targetMode/targetValue 字段与 @TableField(exist=false) 的 totalProgress/memberProgress
                • - FamilyChallengeService 扩展 templates 数组为 8 列(添加目标列),重构 checkAndSettle() 按目标模式分支判定:
                • - aggregate:全体 progress 合计 ≥ target_value 即达标
                • - all_members:家庭内每个成员 progress ≥ target_value(无记录=0 判失败)
                • - 抽离 normalizeTarget() 实现旧数据向后兼容;fillProgress() 为 /list /history 填充总进度与成员进度
                • 前端:
                • - FamilyChallengeCard 重写:双模式目标展示(aggregate=总进度条 X/Y;all_members=成员进度列表+达标✓),打卡上报入口(updateChallengeProgress({challengeId, childId, delta}) → $emit('updated'))
                • - parent-index 卡片传 :childId="currentChildId" + 监听 @updated="loadFamilyInteraction"
                • - patch-node-compat.cjs:node v24 polyfill(util.isRegExp 等已被移除),构建时通过 NODE_OPTIONS="--require ./patch-node-compat.cjs" 注入
                • - 前端 ArticleEdit/ActivityEdit 的 published 不再进入 readonly
                • - 列表页 published 文章按钮由「查看」改为「编辑」
                • - 保存按钮文案与提示语按状态区分(保存修改/保存草稿)
                • 避免 mounted 阶段编辑器实例已初始化导致配置不生效
                • - articles.vue: onSearchBlur 补齐闭合花括号、移除多余 }(e327a0ef 引入)
                • - 上报间隔 30000→10000,每10秒自动记录该用户已读时长
                • - 退出文章时 pauseReadingTimer 记录当时时长(保留原逻辑)
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - WechatService: access_token 加缓存(TTL 7000s); 实现 msg_sec_check / img_sec_check
                • - MediaController: 上传图片/文本检测 (P0)
                • - AdminArticleController: 文章图片/标题/正文检测 (P1)
                • - HealthReportController: 健康报告图片上传检测 (P1)
                • - ServiceRoleApplicationController: 资质图片上传检测 (P1)
                • - 微信API异常时 fail-open 不阻塞上传; testMode 跳过检测
                • 屏蔽选择AI助手功能
                • - ArticleEdit/ProductEdit/ActivityEdit: onSuccess 内拼接后端 baseURL 生成完整图片 URL
                • - 7 report packages by age group (A1/A2/B2/B3/B4/B5/B6, C1 excluded from retail)
                • - 4-tier pricing: single 699 / dual 1280 / triple 1860 / quadruple 2390
                • - Package combination rules per user spec (A2+B4 golden combo, +B3/B5/B6 for 3+ packs)
                • - WeChat native QR payment flow with plan selection modal
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • 各调用页面已绑定 @articleClick=goArticleDetail/goDetail,直达详情
                • 组件从 895 行精简至 519 行
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • 改为 scroll-view 保持默认 block,内部 .bs-books-inner 用 inline-flex 横向排列
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - 五维首页(index-home/body/wisdom/mind/wealth)与 action 页统一使用 DimensionProducts
                • - 统一商品跳转 goProductDetail/goMoreProducts,移除登录跳转冗余分支
                • - 修复 DimensionProducts 空态文案依赖 isLoggedIn 的逻辑
                • - 每屏固定3本,多余横向滑动,指示器按3本一组并随滚动高亮
                • - 骨架屏同步改为3个封面占位
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • wealth: 添加DimensionActivities, 添加loadDimensionActivities, 移除v-if
                • mind: ArticleBookshelf移到DimensionProductList之后, 移除v-if
                • 统一顺序: DimensionActivities → DimensionProductList → ArticleBookshelf → RecommendedSection
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - specs/2026-07-31-compare-table-mobile-redesign.md: 饮水对比表格移动端轮播卡片设计
                • - PROJECT-OVERVIEW.md: 文档索引同步新增两条
                • - 路径已在 WebConfig JWT 白名单(/api/config/public/**),免登录访问
                • - mind/wisdom 商品推荐迁移至 DimensionProductList(支持未登录空态)
                • - body 移除商品推荐 v-if 登录守卫,组件内部处理未登录态
                • - DimensionProductList familyId 改为可选,无 familyId 时不请求接口展示引导文案
                • - wealth 页新增推荐阅读区块(未登录/已登录两区块)
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • (domain / dimension_code) 进行维度匹配,导致配置了 dimension_weights
                • 但未设置旧字段的商品/活动在推荐系统中被遗漏。
                • 改为与 ProductService/ActivityService 一致的 JSON_EXTRACT + 旧字段
                • OR 回退模式,确保权重感知查询全面覆盖。
                • /api/admin/membership/upgrade-records (AdminController) existed.
                • Added /upgrade-records as an alias to the existing /records endpoint
                • in MembershipController, which returns the current user's upgrade
                • records with pagination.
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Revert "feat: 屏蔽在线开通会员功能,改为管理员后台设置"
                • - upgrade.vue: 替换为'暂不支持在线开通'提示页
                • - ProfileMenu: 导航从index改为benefits
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • book: 草稿同步成书稿人物设定(第三章朋友老李/小艾九岁、第四章朋友老周)+ 第五章全职妈妈身份/小然/张哥年龄修正(四十出头→五十多岁)+ 第十二章'幼儿园'改'学校'(草稿+成书稿同步)
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • book: 补权威引用+人物一致性修复——第2/3/6/9/10/11章新增Maslow/WHO/Korelitz/Duhigg/Kluger/Ries等引用、附录新增参考文献总表(41条学术文献)、小茜→老李/老周人物改名、三岁→九岁年龄修正、第七章→第7章格式统一、章节标记全部主题化;策划方案新增'引用与数据策略'章节
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • book: 核实补正——Todorovic氢水研究限定'肥胖成年人'语境(正文+来源块)、第四章补Lepper 1973过度理由效应实验来源(草稿+成书稿同步)
                • book: 全书论点依据核实——魏高峡去名人化4处、无据断言修改(A级硬伤+B级补来源)、'优势溢出效应'改'扬长促短'(草稿+成书稿同步)
                • 屏蔽小程序文章评论及AI问答功能
                • DatabaseInitializer 迁移141: 修正历史 dimension_weights 表 + 主表 JSON 列旧 code
                • ActivityController: 补 java.util.List 导入(遗留编译错误)
                • - DatabaseInitializer: add migrations 138-140 for tasks.dimension_code,
                • products.family_scope, activities.family_scope (were dead code in migration102)
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • book: 合入「为什么是算法」主轴论述(第1章)并重新生成成书稿
                • - 收束金句:算法不是让你更快,是让你回家
                • - 第2章「为什么叫算法」节精简呼应,避免重复
                • - 成书稿.txt 同步重新生成(16章结构不变)
                • book: 书名定位升级为「一词三通」(宇宙因果×传统文化×AI)
                • - 竞品调研新增算法/逻辑方法类(人生算法、底层逻辑)与 AI×家庭类(2026 新兴赛道)
                • - 应对策略与结论同步更新:三块空白交汇处正是本书
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - @close/click内联赋值 → closePoster/closeQuiz/closeResult
                • - quizAnswers[qi]=... → selectQuizAnswer(qi,oi)
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • book: 第三支柱'传承'改'代际传承'(三代链条:承接-活出-传递),育儿内容定位'焦点放回自己'——孩子是镜子验证自己成长,父母是预言验证孩子未来(序章/第1/2/3/6/7章/终章/附录/策划方案同步,成书稿重拼)
                • book: 第1章'教育'石头转'成长'(成人+育儿双视角),第8/9/10/12章加无孩适配注记,终章回顾同步
                • book: 全书定位从'育儿书'转为'个人成长书'——五维是每个人的成长维度,家庭是承载处(序章定位声明/传承支柱/身智两章重构/行四象限+与父母关系/心加非育儿场景/成书稿重拼)
                • wealth/index.vue: 移除全屏登录墙,未登录显示商品推荐+登录引导,登录后显示完整内容
                • book: 生成成书稿txt(序章→第十三章→终章→附录 全16章拼接)
                • book: 全书一致性修订——补全预告链/数据来源说明,规范引号与格式
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • 商品详情: 保留 discover-detail/product-detail(已含 mp-html),删除 discover/product-detail(死代码,641行)
                • 更新 15+ 个文件的引用路径
                • 清理 pages.json 移除 discover-detail 子包中的 activity-detail 注册
                • 由控制器自行决定返回公开数据还是要求登录。
                • 解决小程序审核中预登录页面被强制要求登录的问题。
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • 删除 pages/mind-detail/article-detail.vue(功能不完整,无评论/阅读追踪)
                • 更新 9 个文件的引用路径
                • 移除 pages.json 中的旧注册
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Override via package.json forces 3.1.10 in the webpack-bundle-analyzer tree.
                • - 3个 article-detail.vue: rich-text → mp-html
                • - 2个 activity-detail.vue: 纯文本 → mp-html 渲染
                • - 2个 product-detail.vue: 纯文本 → mp-html 渲染
                • - family-dashboard.vue: rich-text → mp-html
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - uploadAndParseReport(): 失败/网络错误日志
                • - parseReportPreview(): 失败/网络错误日志
                • - danParsePreview(): 失败/网络错误日志
                • - langgraphRequest(): 不可达时打印URL后回退Dify
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - parent-index.vue: 移除 mounted 中强制跳转登录页的逻辑
                • - agreement.vue: 修改第2.1条「授权登录即视为注册」措辞
                • - 验证商品/活动/文章详情页无需登录可访问(后端公开路径已配置)
                • Merge: resolve conflicts on recommend system + service-role-apply APIs
                • - Resize SVG to 800x1280 to accommodate QR code section
                • - Replace text CTA button with actual QR code image
                • - Add '扫码了解更多' label above QR code
                • - Five dimension circles (身/智/富/行/心) with colors
                • - Project description, three pillars, core features
                • - CTA button and contact info
                • - Designed for web/sales/ directory
                • 2. member-detail/report-detail.vue: 新建(pages.json已注册但文件缺失)
                • 3. member-detail/service-role-apply.vue: 新建(pages.json已注册但文件缺失)
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - ArticleService.getList() / getFeatured()
                • - ProductService.getProductPage()
                • - TaskService dimension filter
                • - ActivityService dimension filter
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • 2. package.json: 升级vue-cli-plugin-uni到2.0.2-5010420260703001匹配7月版模板编译器
                • 3. postinstall-fix.js: 新增templateLoader.js补丁,移除未定义的recyclableRender/components导出
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - 方式 1(文件上传)虚线蓝框 + 蓝色基调 + 蓝色实心图标方块
                • - 方式 2(拍照上传)橙色边框 + 渐变橙色实心按钮(更醒目,即时操作)
                • - 顶部「方式 1/2」标签让用户明确二选一
                • - 保持 pickFile/takePhoto/selectedFile/photoPath/parsedInfo 逻辑不变
                • - 数据库初始化器同步上一轮的 report_summary 迁移(迁移 106)
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - ContentSharePoster.vue: reusable canvas poster with cover/title/QR code/CTA
                • - product-detail, activity-detail, article-detail: add poster button + component
                • - api.js: add getShareQrCode(page, scene) helper
                • - DimensionWeightPicker: fix proportional redistribution to keep sum=100%
                • - action/index.vue: revert auto-select-first-child, only load when saved childId matches
                • - action/index.vue: tab-transition fallback timeout 5000ms -> 800ms
                • - ArticleEdit: add maxFileSize 5MB to upload config
                • - DatabaseInitializer: gate test data behind app.init-test-data flag
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - action/index.vue: first-load fallback to first child when no saved currentChildId
                • - action/index.vue: reduce tab-transition fallback timeout 5s -> 2s
                • - ProductSkuEditor.vue: formatSpecsForInput helper to prevent {} save bug
                • - DatabaseInitializer + schema.sql: sync migration
                • EnergyWeekCard, FunTaskItem, HealthCheckinCard, HealthDimensionsSection,
                • HealthLikeButton, HealthTips, MediaRecorder, OctopusGraph, PearlDiagram,
                • PointsProgressRing, RepurchaseReminder, SkeletonBlock, TaskItem/TaskReminder,
                • UserQuickEntry, WisdomTips; assessment/body/membership/parent/register-child/
                • wisdom_temp 等老旧页面; teacherGuard router
                • - index-home/index.vue: 游客视图商品卡片显示价格而非固定'登录查看'
                • 避免 swiper autoplay 触发每次 re-render 时重复调用方法
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • 改为 default: '' 避免警告
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • 新增 dailyFortuneSafe / dominantElementSafe computed 属性做 fallback
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • loadDiscoverCircles: 增加 currentChildId 空值保护
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • 新增 _parseDate 方法提前归一化为 iOS 兼容格式
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - Add member_fee_family_yearly/monthly/quarterly sys_config keys
                • - Fix getPricingPlans() hardcoded zero prices for FAMILY monthly/quarterly
                • - feat(report): report summary management (backend/frontend/admin)
                • - exercise-mood-cognition.html: 4 screenshots (BMJ meta, hippocampus, gut diversity, gut RCT)
                • - puerarin.html: 3 screenshots (hangover, diabetes, brain protection)
                • - gut-microbiota-testing.html: 2 screenshots (HMP, dysbiosis->immune disease)
                • Screenshots in web/img/ref-screenshots/ are gitignored (kept locally only)
                • 更新: LangGraph 前端集成/推广体系/富维度/辈分/文章系统/家庭会员/营养健康 状态
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - 家庭成员选择条添加能量值显示
                • - 添加圈子卡片(我的圈子+发现推荐)
                • - 删除章鱼图和导入联系人弹窗
                • - 成员卡片显示能量分数
                • - 3.4 Logic consistency checklist: avoid "started last week" vs "3-month data" timeline contradiction
                • - 2.2.1 Five-dimension generation/restriction: row-birth-heart, knowledge-restrict-row, wealth-birth-row, row-restrict-body
                • - 2.2.2 Knowledge point requirement: each article must include at least 1 psychology/neuroscience mechanism
                • - 12 Shuangpei Qiangji knowledge base index: A2/B4 reports + public account history articles reference
                • - createOrder() 新增 PREMIUM 定价分支,年起 ¥13,168/月起 ¥1,314
                • - applyMemberDiscount() 新增 PREMIUM 折扣支持,从 sys_config member_discount_premium 读取
                • - 身(土): 🌏 globe with meridian and continent arcs
                • - 智(金): ⚡ lightning bolt shape
                • - 富(水): 💧 water drop with pointed top
                • - 行(木): 🌿 leaf with stem and veins
                • - 心(火): 🔥 flame with inner/outer layers
                • All 81x81px, gray (#999) normal + element color active.
                • and element-themed colors:
                • - 身(土): circle, orange #FF8C42
                • - 智(金): diamond, indigo #6366F1
                • - 富(水): water drop, amber #F59E0B
                • - 行(木): arrow up, emerald #10B981
                • - 心(火): heart, pink #FF6B9D
                • Normal = gray #999, Active = element color
                • commit faedcc33 (temporary copies from tab-mind). The icons were
                • corrupted in commit ac6e7040 where they were saved as base64-encoded
                • text instead of binary PNG data.
                • Merge remote-tracking branch 'origin/cfclub'
                • - SeedsController: minor fix
                • - activity-detail pages: mobile experience upgrade
                • - web articles: SEO & content updates across 25+ pages
                • - CHANGELOG updates
                • - Add migration 105: ensure products.min_quantity column exists
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • sync: 小红书内容更新 + opencode运维脚本
                • base64-encoded text instead of binary PNG data, causing the
                • wisdom (智) tab icon to not display in WeChat mini-program.
                • - tab-wisdom.png: 10989 bytes base64 text -> 8239 bytes binary PNG
                • - tab-wisdom-active.png: 8351 bytes base64 text -> 6261 bytes binary PNG
                • Note: active icon decoded from truncated base64 (missing ~0.75 bytes
                • of final scanline, imperceptible at 50x50)
                • - 新增 SeedsController.java: POST /api/admin/seeds/init-test-data,需 admin 权限
                • - 幂等执行: INSERT IGNORE 防止重复插入
                • - 已回滚 DatabaseInitializer.java 中的临时种子数据代码
                • 等过强表述,改为炎症是多因素中的重要一环。
                • 已修改:
                • - diabetes.html: meta + 尾部 CTA
                • - alzheimer.html: meta + og + hero + 因 section + 核心结论
                • - cardio-cerebro.html: meta + hero + 病 section + 因 section 标题 + 损伤链描述
                • - osteoporosis.html: 因 section intro + 核心证据框 + 主动健康五步
                • - metabolic-syndrome.html: meta + og + hero
                • - cancer.html: 新增免疫三大系统 section(之前未提交)
                • - gut-microbiota-testing.html: 菌株速查表迁移至 probiotics-science(之前未提交)
                • 已有 DatabaseInitializer 迁移创建但 schema.sql 缺失,初始化时不会自动建表
                • (item.id || item.circleId),改为 getCircleKey(item) 方法调用。
                • pages/action/index.vue (2处) + pages/discover/circles.vue (2处)
                • 同时更新 AGENTS.md / README.md 加入规范
                • 会触发'Syntax error in text'解析错误。
                • 修复两处:
                • - A6 节点:'⚙️ PDF解析引擎 (Stage 1)' → 包裹双引号
                • - A9 节点:'📱 创建成长档案 (Stage 2) /create-from-upload' → 包裹双引号
                • 包裹引号后Mermaid将整个字符串视为字面文本,跳过括号解析。
                • rename: 三高六高 → 从三高到六高 (title, meta, h1, cross-references)
                • - Backend: HealthIndicator add collectionDate field + migration 103
                • - Backend: parsePreview supports image upload (type=image)
                • - Backend: createReport indicator dedup by (category|indicatorName)
                • - Backend: ParsedReportPayload.Indicator add collectionDate
                • - pages/discover/circles.vue: 新页面,含我的圈子+推荐列表、CircleCard/CircleDetail 组件复用、加入/退出功能
                • - action/index.vue: goDiscoverCircles 改为 navigateTo 跳转到新页面
                • web: add probiotics/prebiotics science articles + update sales index
                • - New: probiotics-science.html (益生菌科学解读)
                • - Update: prebiotics-guide.html — removed science sections, kept buying
                • content, added cross-links to new science article
                • - Update: probiotics-guide.html — removed definition section, kept buying
                • content, renumbered sections, added cross-links to new science article
                • - Update: sales/index.html — nutrition section now 3 articles:
                • turmeric + prebiotics-science + probiotics-science
                • - Fix: osteoporosis.html — updated citation ref-3 from Physiological
                • Reviews 2023 to Bone Research 2026 (Wang et al.), corrected image path
                • - cfc-frontend/pages/action/index.vue: 移除 OctopusGraph 组件, 新增「我的圈子+发现推荐」区块
                • - docs: 设计文档 + 实现计划
                • never actually executed inside runMigrations(), so the production DB
                • was missing the column. This adds the call at the end of runMigrations()
                • so it runs on next startup.
                • - sales/*: QR code ?share=xxx referral system on index + 3 sales pages
                • - articles/gut-microbiota-testing.html + metabolic-syndrome.html: new articles
                • - articles/*: various health article updates (alzheimer, cancer, cardio, diabetes, etc.)
                • - img/products/: 4 Enagic product images; img/cert/: certification images
                • - cfc-frontend: badge.vue 增加家庭勋章排行展示
                • - cfc-frontend: rewards.vue 增加勋章墙导航入口
                • - 节点形状按身份区分 (圆角矩形/圆形/菱形)
                • - 点自己跳转维护页 (原为添加成员)
                • - 触摸自身显示⚙提示
                • - child-index: 新增'自己出题'快速入口
                • 后端 Java 实现:
                • - BacteriaFoodMapping: 菌属-食材映射表 KB,启动时加载 22 个核心菌属
                • - BeijingNutritionService: 推荐引擎,支持知识库和数据库两种模式
                • - BeijingNutritionController: 5 个 REST 端点 (save/recommend/recommend-custom/kb-query/kb-list/kb-info)
                • - BeijingNutritionDTO: 请求/响应 DTO
                • 文档与知识库:
                • - 报告指标知识库: 从 14 类扩展至 28 类(GMHI/菌群表型/抗炎/免疫/糖脂代谢等)
                • - 菌属-食材映射表: 22 个核心菌属的促进/抑制食材清单 + 科学引用
                • - 北京报告采集框架: PDF 指纹识别 + 提取流水线架构设计
                • - FMT 前后对比分析文档: 移植前后菌群变化与营养建议
                • - 添加迁移完成后验证查询,通过information_schema确认列是否存在
                • - 若列缺失会在启动日志中打出error,替代原来静默忽略
                • fortune_level_text、fortune_description、mood_score、mood_emoji、
                • mood_text、weekly_tip列,对齐FamilyFortune实体。
                • 修复MindFortuneController.getFamilyFortune()调用selectByFamilyAndDate
                • 时报Unknown column 'fortune_level_text'错误。
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - Add unified auth helper (helpers/auth.js) supporting all 8 roles
                • - Add utils.js with API assertion utilities and fixtures.js test data factory
                • - Add db.js globalSetup for automatic database reset before test runs
                • - Update playwright.config.js: globalSetup, increased timeout, retries, screenshots/trace on failure, mobile viewport project
                • - Restructure tests into roles/ directory:
                • - roles/parent/: family-management, wish-management, assessment-order, energy-dashboard, points (5 files)
                • - roles/child/: login, daily-checkin, mini-games (3 files)
                • - roles/teacher/: login, family-binding (2 files)
                • - roles/admin/: login, article/workflow, vendor/management (3 files)
                • - Add design spec and implementation plan documents
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • matches SPEC color mapping: mind=#FF6B9D, wisdom=#6366F1
                • - ArticleService.publishByUser: compute dimensionWeights JSON
                • (equal distribution, e.g. 3 dims → {"body":34,"mind":33,"wisdom":33})
                • enables dimension-aware query (COALESCE(JSON_EXTRACT)) for user posts
                • - article-detail.vue: parseDimensions reads real weights from
                • article.dimensionWeights JSON, falls back to equal distribution
                • Also fixed mind/wisdom color mapping in dimMap to match SPEC
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - article-detail.vue: call recordArticleRead(id,durationSeconds) on 阅读完成 click
                • → backend creates completed Task, awards points, calls EnergyService.awardEnergy
                • → shows earned toast / already-completed / below-threshold feedback
                • - article-center/index.vue: fix res.code === 0 → 200 (backend Result.success = code 200)
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - FamilyUserController, InteractionLogController
                • - RelationshipQuestionnaireController, FamilyMembersController
                • - RelationshipQualityController, AuthController
                • - DanAssessmentExecutionController (含 @GetMapping→@PostMapping 修复)
                • - AdminSettlementController: 修复Result导入路径+@PostMapping+删除重复SettlementStats
                • - pom.xml: 删除重复的PDFBox依赖
                • - Nav, Section, Grid-2, Card, Stat-Row systems
                • - Evidence-box, Ev-tag, Quote-block, List-styled
                • - Table, Step-flow, CTA, Button, Citation, Auth-badge
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • clean: remove deprecated turmeric_rewritten.html placeholder
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - enagic-turmeric.html: 新增Enagic UKON Sigma产品科普文章
                • - tap-water-pollution.html: 恢复未提交修改
                • - turmeric.html: 恢复未提交修改
                • - 销售文章(3篇): sales/tap-water/microplastic
                • - 慢性病系列(6篇): cancer/cardio-cerebro/diabetes/osteoporosis/alzheimer/uric-acid
                • - 肠道与免疫(4篇): gut-microbiome-immune + 3篇FAQ
                • - 饮水安全(2篇): tap-water-pollution/plastic-health
                • - 营养与抗炎(3篇): turmeric/enagic-turmeric/turmeric_rewritten
                • - 快速跳转导航条 + 各分类颜色编码卡片
                • - AGENTS.md更新目录结构,加入index.html
                • - cancer_ref_bicarb.png: 新增Cancer Res 2009截图(Robey),标注碳酸氢钠提高肿瘤pH/抑制自发转移/减少转移灶
                • - cancer_ref_molcancer.png: 新增Mol Cancer 2016截图(Faes),标注碳酸氢钠单药抑制54.4%/联合雷帕霉素98.3%
                • - cancer.html: 酸性微环境模块后插入两组证据框,链接临床转化意义声明
                • - 新增酸性肿瘤微环境模块: Warburg效应→pH6.5-6.8→免疫抑制/侵袭/耐药
                • - 连接还原水: 碱性电解水缓冲瘤内pH的辅助预防逻辑
                • - 姜黄素补充: NF-κB抑制机制+生物利用度限制+增效方案
                • - Step 3新增第⑦项: 酸碱平衡调控(还原水)
                • - 文章叙事链重构: 免疫监视失败→酸性土壤→炎症供能→肠漏源头→抗炎闭环
                • - 证据框引用更新: Sung 2020→Bray 2024, doi更新, 新增2050预测数据
                • - 免疫三大功能: 从简单列表升级为三栏卡片(免疫防御/自稳/监视), 每栏含机制+异常+癌症关联
                • - 新增三点核心结论(免疫监视失败=癌症)
                • - ref-5引用信息补全: 被引42,510次, 1/5患癌/1/9男1/12女数据
                • 自来水文章截图替换+标注:4张源论文页面截图(ES&T/JEMA/Ecotox/IntJEnvironHealth)加红色标注框和中文翻译; Enagic pH档位更新为7档精准方案(2.5消毒~11.5去农残); 外出就餐新增消毒水建议; 修正ref-9引用期刊名
                • 截图标注+翻译:7张心脑血管引用截图加红色标注框和中文翻译; 修复Frontiers引用作者名和DOI
                • - cancer.html: 4处证据块添加img.ref-shot引用截图
                • - diabetes.html: 4处证据块添加img.ref-shot引用截图
                • - osteoporosis.html: 3处证据块添加img.ref-shot引用截图
                • dimension-based color gradients, magazine spread overlay on tap
                • - Integrated into article-center/index.vue via getFeaturedArticles API
                • - Follows uni.scss design tokens, Vue 2 compatible (no optional chaining,
                • flexbox layout)
                • - goExplore() navigation stub to /pages/article-center/article-explore
                • - 768px 以下侧边栏折叠,汉堡按钮控制展开/收起
                • - 侧边栏以 fixed overlay 方式滑入/滑出,配合遮罩层
                • - 路由切换自动关闭移动端侧边栏
                • - window.resize 监听自动适配桌面/移动端
                • Login.vue:
                • - 480px 以下表单卡片全屏展示
                • 全局 CSS:
                • - 移动端 padding 缩小,表格字号调小
                • - PROJECT-OVERVIEW v1.4 -> v1.6 冲突解决(取远程版本)
                • - 废弃设计文档同步移至 backup/
                • - Phase 3/4 状态修正:文章系统已上线,成长档案已完成
                • - 文章发布审核工作流、维度知识库、菌群报告 -> ✅ 已实施
                • - 家庭关系图修复 -> ✅ 已修复
                • - 公众号内容发布Dify工作流 -> 🔄 已废弃
                • - 确定性PPT设计 -> 移至 backup/
                • - 之前声明为已废弃但未物理移动的10个文件 -> 同步移至 backup/
                • 优化DAN测评流程
                • - diabetes.html: 4个 ref-shot → evidence-inline引用块
                • - osteoporosis.html: 3个 ref-shot → evidence-inline引用块+CSS
                • - footer.js: 增加子目录路径自适应,logo和链接自动添加../前缀
                • 新增规范
                • schema.sql: 补充 product_skus 建表语句(含 min_quantity 列)
                • DatabaseInitializer: runMigration101() 定义(添加 min_quantity 列)
                • ProductOrderService.createMultiItem(): SKU 级别最小购买数量校验
                • - geo-faq-2-attention: 7条引用(血清素/肠脑轴/ADHD菌群/人工色素等)
                • - geo-faq-3-immunity: 5条引用(益生菌/维生素D/儿童感冒次数等)
                • - sales: 添加科普文章交叉链接
                • - 所有nav链接修复为正确的相对路径(../index.html)
                • 导致.site-footer无样式渲染。补充完整footer CSS适配各文章配色:
                • - 使用 var(--bg-dark, #1a1a3a) 确保 footer 背景自动适配已定义--bg-dark的文章
                • - 使用 var(--accent, #27ae60) 保持 hover/logo-tag 色与文章主题一致
                • - 全文覆盖:.site-footer, .footer-inner, .footer-brand, .footer-links,
                • .footer-col, .footer-contact, .footer-bottom, .footer-logo-img, .footer-legal
                • 受影响文件:uric-acid, plastic-health, diabetes, cancer, cardio-cerebro,
                • tap-water-pollution, turmeric, osteoporosis
                • geo-faq三个文章已链接主站../css/style.css,无需内嵌footer样式。
                • - pages/index-home/index.vue (main package TabBar home page)
                • - pages/home-pages/ (subpackage for parent-index, child-index, member-home-detail)
                • - Update all navigation URLs to use correct paths
                • - Fix /pages/home-index/index -> /pages/index-home/index across 19 files
                • - 页脚样式:补充完整的 .site-footer CSS 样式(配色适配文章暗色调)
                • - 参考文献:11篇全部添加 DOI 超链接(CANTOS/Lancet/NEJM/Nature/Cell/Science/PNAS/JAMA)
                • - 证据截图:新增3处 evidence-inline 截图证明(小胶质细胞双面角色/CANTOS抗炎证据/富氢水神经保护)
                • - 修正参考文献作者信息(TREM2: Guerreiro 2013 NEJM, Lecanemab: van Dyck 2023 NEJM, DAM: Keren-Shaul 2017 Cell 等)
                • corrupting Chinese characters in 230+ files, causing Unterminated string errors.
                • - Restore all files from e8fd4d05~1 (pre-corruption) via git checkout
                • - Re-apply directory rename (pages/index -> pages/home)
                • - Re-apply path replacements using Python with explicit UTF-8 encoding
                • - Fix tab icon references (tab-home -> tab-action) in custom-tab-bar
                • - Fix historical encoding issue in pages/games/1a2b.vue (pre-existing garbled text)
                • - Clean up duplicate pages/home/index/ directory created by git checkout
                • - alzheimer.html: alzheimer_ref1.png → gut-microbiome-damage.jpg (替换不存在的截图)
                • 调用 health_butler_graph,支持知识库检索+个性化建议+任务生成
                • - cfc-frontend: 新增 aiSendHealthButlerMessage() (api.js)
                • 输入 childId/familyId,传给 LangGraph /health/butler 端点
                • - cfc-frontend: mode='butler' 完整支持 chat.vue
                • isButler computed / 导航标题 / 欢迎语+3个快速问题 / 🏥头像 / sendMessage分支
                • - cfc-frontend: 身体页功能列表新增「🏥 健康管家」入口
                • 导航到 /pages/ai/chat?mode=butler&fromPage=pages/body/index
                • - 新建 health_butler_graph.py (322行): Java KB集成的健康管家图
                • (load_knowledge → search_knowledge → llm_answer → save_memory)
                • 查询 Java 健康知识库(bacteria/indicator/food)注入 LLM 上下文
                • - 修复 health_coach_graph.py: HEALTH_BUTLER_PROMPT → HEALTH_COACH_PROMPT
                • - 修复 chat.vue: aiSendHealthButlerMessage → aiSendHealthCoachMessage
                • - 修复 AIFloatingAvatar.vue: 从身/智/心页面自动传递 mode=health
                • 确保健康维度页面进入 AI 聊天时使用健康教练模式
                • - 同步 PROJECT-OVERVIEW.md 远程更新(Phase 4/健康7维)
                • - Update pages.json: TabBar pagePath, main pages array, and subPackages root
                • - Fix custom-tab-bar page paths and icon filenames (tab-home -> tab-action)
                • - Update all Vue file navigation URLs from /pages/index/... to /pages/home/...
                • - Tasks 1-4, 6-10: ✅ 全部完成 (标记 [x] + evidence)
                • - Task 5: ⚠️ 基础完成(缺专用 health_butler_graph.py)
                • - Tasks 11-13: ⏳ Phase 4 计划级未实施
                • - Scope/Success criteria 同步更新
                • to subpackages (pages/index, pages/login, pages/share, pages/profile)
                • - index/index.vue: remove static import of ParentIndex/ChildIndex, redirect
                • authenticated users via redirectTo instead of rendering as sub-components
                • - AGENTS.md: document subpackage structure (45 subpackages)
                • - api.js: add console.log for /api/auth requests for debugging
                • - family/add-member.vue: minor fix
                • langgraph调整,.env 文件我没上传
                • - 新增 turmeric.html (姜黄/黄原糖健康科普)
                • 代码修复
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • 修正tap-water-pollution.html图片引用:.png→.jpg,配合已压缩的截图文件
                • 优化tap-water-pollution.html:压缩截图为高质量JPG并修正引用路径;保留Enagic SVG
                • - 修正HTML图片引用:.png/.svg → .jpg(农药残留/DBPs/氯消毒机制/EDCs/抗生素ARGs/肠道菌群)
                • - 保留Enagic还原水对比图为SVG矢量图
                • web/sales: 新建销售目录,移动sales.html,新增微塑料和自来水污染销售页
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - v1.3 → v1.4, 状态行更新
                • - §3.1: 主动健康六阶 🚧→✅(P0-P2-1完成); 营养缺陷修复 🟡→✅
                • - §3.2: DAN测评结果展示 🟡→✅
                • - §4.1: 公众号内容发布(Dify) ❌取消(LangGraph取代)
                • - §5.1: 维度知识库 🟡待实施→✅已实施
                • - §8: 维度页面缺口 P1+2✅, 营养健康✅
                • - §10: 6个spec/plan状态同步更新
                • - §11: 删除重复行
                • 新增规范
                • 新增规范
                • language as the energy sandbox (wuxing-sandbox) dots:
                • 行🌿 身🌏 智⚡ 心🔥 富💧
                • the energy sandbox (wuxing-sandbox) visual language:
                • 行(wood/leaf) 身(earth/mountain) 智(metal/diamond) 心(fire/flame) 富(water/drop)
                • - Use dimension colors from the sandbox palette for active state,
                • gray for inactive state
                • - Remove old tab-home icons (replaced by tab-action)
                • - Update pages.json to reference new tab-action filenames
                • redirect converting POST to GET
                • - RecommendedFeed.vue: template 'items'→'displayItems' (undefined
                • computed ref)
                • - parent-index.vue: add .catch() to getFamilyRanking/getChallengeList
                • to prevent unhandled Promise rejections
                • 新增规范
                • type list (family/friend/partner/colleague/other), matching backend removal of
                • /relationship-types endpoint and relationship_types table.
                • v4 alone had remove-scoped.js crash on empty selector (spaces access).
                • - Keep @vue/cli-service ~4.5.0, postcss 7.0.39 pinned
                • - Add postinstall-fix.js to patch remove-scoped.js selector.first guard
                • - Add node-sass as devDependency (needed by uni-app sass-loader)
                • - Restore .postcssrc.js, postcss.config.js, vue.config.js
                • - Document build constraints in AGENTS.md
                • 导致 webpack-uni-mp-loader/script.js 编译失败。
                • - 正确闭合 loadAlerts 的 .then() 链
                • - 将 dismissAlert 调用抽出为独立的 handleDismissAlert(alertId) 方法
                • added postcss:^8.4.49 as a direct dependency, causing remove-scoped.js
                • (Cannot read properties of undefined (reading 'spaces')) crash.
                • - @vue/cli-service ^4.5.19 -> ^5.0.9
                • - copy-webpack-plugin ^5.1.2 -> ^14.0.0
                • - Remove .postcssrc.js, postcss.config.js, vue.config.js
                • - Remove postcss from dependencies (v5 brings its own)
                • - Remove postcss/postcss-selector-parser from overrides
                • - 删除 RelationshipPicker.vue: 已被 GenerationPicker.vue 替代
                • - @vue/cli-plugin-babel: ~4.5.0 → ^5.0.9
                • - copy-webpack-plugin: ^5.1.2 → ^14.0.0
                • - @babel/core/preset-env: ^7.16.0 → ^7.29.7
                • - Remove override @vue/babel-plugin-resolve-type@1.0.0 (does not exist on npm)
                • Root cause: downgrade to @vue/cli-service v4 in 6a4d0496 triggered
                • remove-scoped.js crash in WeChat DevTools build pipeline.
                • - 创建 WealthSubScores.vue 组件展示富维度三子维度详情(家长/孩子角色感礁)
                • - 更新 wealth/index.vue: 导入两个新组件 + data添加bodyWealthStatus/Message字段 + API加载逻辑
                • - 修复 DatabaseInitializer.java: runMigration100方法缺少闭合括号导致编译失败
                • TASK-P0-002 前端实施完成,后端EnergyService子维度计算已由先前提交完成
                • 优化自来水污染科普文章:新增农药残留和氯消毒副产物章节,突出Enagic还原水机方案
                • - 新增Section: 农药残留(46种农药频繁检出,拟除虫菊酯首次在自来水中确认)
                • - 新增Section: 氯消毒副产物DBPs(Liu et al. Nature Sustainability 2022 膀胱癌关联)
                • - 新增Section: Enagic还原水机(ISO 13485认证、五种功能水、科学依据与临床证据)
                • - 新增Sticky TOC导航、数据表格、引用卡片网格、对比表格
                • - 更新参考文献至25条(新增农药/DBPs/Enagic相关引用)
                • - 添加截图占位区域(用户替换为实际截图)
                • content(D2-D3): 智维度专注力俊辰案例 + 富维度记账破洞 + 知识库索引
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • web: 更新knowledge.html和sitemap.xml适配articles/目录结构
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • web/articles: 移动疾病科普六篇到articles/子目录
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • web/articles: 移动geo-faq三篇及尿酸文章到articles/子目录
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • web/articles/tap-water-pollution.html: 自来水中的隐形威胁
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - B类4项+ C类4项重新分Phase(Phase 2-4)
                • - 新增 comprehensive implementation plan (13 tasks across 3 phases)
                • - 阶段总览更新:Phase 2=商业模式&AI落地, Phase 3=五维增强, Phase 4=平台扩展
                • 1、用户预约测评后,小程序端可以看到规划师
                • 1、用户预约测评后,小程序端可以看到规划师
                • web/knowledge.html: swap side panel directions per request
                • 1、优化管理端前端的分页异常问题 2、用户预约测评后,管理端分配规划师
                • web/knowledge.html: >> in header, side panel for hidden articles, fix layout
                • - 状态行更新: P0/P1-1/P1-2/P2-1 全部 ✅ 完成
                • - 矩阵新增状态列
                • - 新增 HealthScoreService 积分计算引擎
                • - 新增 HealthLevelService 等级判定+种子数据自动插入
                • - 新增 HealthTimelineService 时间线事件生成(里程碑/升级/首次)
                • - 新增 HealthScoreController+HealthTimelineController
                • - 数据库迁移 105/106 (health_level+health_timeline_event)
                • - 前端 HealthBadge + HealthTimeline 组件
                • - 前端 store/health-score.js + api.js 端点集成
                • - profile.vue 展示等级称号+进度条+时间线
                • - 重写 osteoporosis.html(骨质疏松):慢性炎症+肠-骨轴+RANKL/OPG机制
                • - 增强 cancer.html:症压缩证据盒+免疫三大功能+肠-癌轴
                • - 更新 knowledge.html:将 alzheimer.html 接入成长百科(身维度)
                • 文章核心框架:症压缩 → 慢性炎症统一病因 → 抗炎干预(菌群+富氢水)
                • 启动报错修复
                • - 保存路径:uploads/json-results/{timestamp}_result.json
                • - 每次调用 POST /api/health/report/parse-preview 时自动保存
                • - 使用 Jackson ObjectMapper 格式化输出 JSON
                • - 日志中记录保存的文件路径和关键信息摘要
                • - 不影响主要流程,保存失败仅记录警告
                • - 数据库: schema.sql + DatabaseInitializer migration 104 (health_alerts表)
                • - 前端: HealthAlertBanner横幅组件 + store/health-alert.js + parent-index集成
                • - 6条预警规则: 睡眠下降/无运动/饮水少/运动过强/7天无打卡/今日未打卡
                • - 去重机制: 同一规则24h内不重复生成
                • - 严重程度排序: high > medium > low,最多展示2条
                • - 数据库: schema.sql + DatabaseInitializer migration 103
                • - 前端: FeedbackToast, MilestoneCelebration, DailySummary 组件
                • - 预设文案引擎: 12 场景触发 + 里程碑判定
                • - Vuex 反馈状态模块 + parent-index 集成
                • - 微行动完成后自动触发即时反馈
                • web/knowledge.html: Fix title padding (margin-top), add disease articles, wealth marker right->65%
                • web: Fix 浠艾福 typo(爱→艾), fix knowledge.html title padding, shift markers up 10%, max-3 articles with >> reveal
                • - PROJECT-OVERVIEW.md v1.1→v1.2: 新增 Phase 5 阶段、3.1 身 条目、十 文档索引、十一 主动健康改进章节
                • - AGENTS.md: 新增变更追踪规则 — superpowers/ 下文件增删改必须同步 PROJECT-OVERVIEW.md
                • web: Fix footer typo 浐色福→浠艾福, remove 成长百科 column; Fix knowledge.html title obscured by fixed header
                • web/diabetes.html: Fix missing shared footer placeholder
                • web: 全站统一 footer 为共享组件 js/footer.js,移除各页面自定义 footer CSS
                • - 人体五部位对应五维: 肠→身, 脑→智, 心→心, 手→富, 脚→行
                • - Desktop: 人体图四周浮动标注卡片,连接圆点指向对应身体部位
                • - Mobile: 顶部5标签切换(身·智·富·行·心),点击显示文章列表
                • - 替换所有'亿图腾(北京)科技有限公司'→'浠艾福主动健康研究院'
                • - 新增100vh单页布局(overflow:hidden),无滚动
                • - 单人剪影+群组剪影作为装饰性页面背景(低透明度)
                • - Desktop: 5维卡片水平排列,各维度文章链接直接可见
                • - Mobile: 顶部5标签切换(身·智·富·行·心),点击显示对应文章
                • - 所有文章数据及标签切换逻辑由内联JS驱动
                • - web/css/style.css: 新增知识页面全套响应式样式(k-hero/k-dim-section/k-article-grid)
                • - 全站添加 Microsoft Clarity 用户行为分析脚本(FAQ 3 篇 + sales.html + knowledge.html)
                • - 导航与 footer 链接统一指向 knowledge.html
                • - index.html 知识区新增" 进入成长百科 →\按钮
                • - 小红书发布/内容方法论-六阶模型.md: 主动健康六阶模型 × 五维映射方法论
                • - 小红书发布/发布日历.md: 30天日均内容矩阵 (身→智→富→行→心 五天循环)
                • - 小红书内容/: 4篇正式稿+指南+速查卡
                • - 小红书发布计划.md / 发布数据复盘清单.md
                • - 自然暖色调抽象家庭插画:屋顶/成长树/太阳/彩虹弧/家庭剪影
                • - 右侧留白用于文字叠加
                • - .hero-bg 更新为引用真实图片而非 SVG
                • - 包含:屋顶/成长树/太阳/彩虹弧/家庭五人剪影/心形/草地祥云
                • - 暖色调大地色系(棕#C4956A / 浅绿#8DB48E / 淡黄#F5D89A / 蓝#A8D4E6)
                • - .hero-bg 加 SVG 背景图 + 左侧渐变遮罩确保文字可读性
                • Phase 1 completion (5 items), Phase 2 launch (4 items), 6 tech debt items,
                • 4-sprint timeline with dependencies and risk analysis
                • - Updated PROJECT-OVERVIEW.md: 12 completed features corrected from
                • 🚧/🟡 to ✅ based on code verification (profile redesign, action pages,
                • pre-login experience, emotion check-in, article center, flora report,
                • membership frontend, family graph, member detail sections, mind dual-tab,
                • parent homepage, homepage overhaul)
                • uric-acid.html: rename title to 高尿酸的先天性与后天性
                • index.html: 主动健康概念卡片改为五维语言——被动健康是五维内部消耗(前半生用健康换财富,后半生用财富换健康),主动健康是五维持续增长
                • index.html: 主动健康概念专章改为双栏对比——被动消耗财富 vs 主动创造财富
                • - 右栏:主动健康(🌱)→ 提前规避→创造财富→健康即最大资产增值
                • - 保留五维闭环流程图于底部
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • index.html: 新增主动健康概念专章 + 家庭成长闭环按主动健康思路重写
                • - 家庭成长闭环4步重写:提前识别→风险管控→主动干预→效果评估
                • index.html: 将积分奖励激励替换为有序支出、规划传承
                • index.html: 全站整合「主动健康」理念
                • - About 描述首位加入:主动健康为核心
                • - 五维能量 section subtitle 增加:主动健康 · 五大能量维度
                • - 五维能量 section desc 首句加入:主动健康理念贯穿五维——不等病来,主动管理
                • - JSON-LD FAQ「浠艾福是什么平台」答案首句加入主动健康理念
                • - JSON-LD FAQ「什么是五维能量体系」重构为以主动健康为核心的定义
                • 网站去亿图腾化:全面替换为浠艾福主动健康学院,更新备案号为京ICP备14061870号-5
                • - 页脚版权信息、About版块、JSON-LD组织名称 均更新
                • - 移除 keywords 中亿图腾
                • - 4个HTML文件全部更新:index.html, geo-faq-1-allergy.html, geo-faq-2-attention.html, geo-faq-3-immunity.html
                • index.html: 成长百科新增微塑料与健康、尿酸高的成因与调节两篇文章链接
                • uric-acid.html: 添加8处内联文献证据截图(带高亮注释+中文翻译),移除参考文献列表截图显示
                • - 概述、转运体、肠道菌群、SCFA、益生菌、EAW、富氢水、运动8个关键段落各添加1处带红色虚线高亮框的截图证据
                • - 每处证据盒包含:高亮内容原文 + 中文翻译 + DOI链接
                • - 12个参考文献卡片中移除截图直接显示,仅保留权威性标签+翻译+链接
                • - 更新图4为新生成的痛风发病机理图(diagram_4_en.png)
                • - 新增图1-3英文版机制图(diagram_1/2/3_en.png)
                • - 删除临时文件 .tmp_snapshot_ref3.txt
                • - 降级 @vue/compiler-sfc 到 2.7.16 确保 HBuilderX 兼容
                • - 添加 postcss-import、postcss-url、autoprefixer 配置
                • - 添加 fix-hbuilderx-scoped.js 和 fix-postcss.sh 自动化修复脚本
                • - 回退 Babel 和 Vue CLI 版本到兼容的 4.x 系列
                • - 优化小程序样式 scoped 问题修复工具
                • - 修复组件编译警告和问题:
                • * ActionArticleRecommend.vue
                • * HealthDimensionsSection.vue
                • * RecommendedFeed.vue
                • * mind-section.vue
                • * health 相关页面
                • * payment.vue (移除 scoped)
                • * child-index.vue
                • * index.vue
                • - 优化 Python LangGraph 记忆和检索逻辑
                • - Downgrade 2 features to ⚠️ (e-commerce shop_ tables missing, promotion frontend missing)
                • - Mark langgraph-requirements-summary.md as ⚠️ file missing
                • - Version bump v1.0 → v1.1
                • - AI Sidecar: 🟡->🚧 (AiGateway+5% done, sidecar dir ready)
                • - Generation model: 🟡->🚧 (GenerationLevel.java introduced)
                • - Wealth dimension: 🟡->🚧 (EnergyService v2.1 done)
                • - First login: 🟡->🚧 (login.vue modified)
                • - Flora report: 🟡->🚧 (gut-flora-detail.vue modified)
                • - Article center: 🟡->🚧 (4 pages: index/detail/edit/my-posts)
                • - Family membership: 🟡->🚧 (MemberSubscriptionService done)
                • - Section 10 spec/plan index: 8 entries synced accordingly
                • - AI Sidecar: 🟡→🚧 (AiGateway+5% done, sidecar dir ready)
                • - Generation model: 🟡→🚧 (GenerationLevel.java introduced)
                • - Wealth dimension: 🟡→🚧 (EnergyService v2.1 done)
                • - First login: 🟡→🚧 (login.vue modified)
                • - Flora report: 🟡→🚧 (gut-flora-detail.vue modified)
                • - Article center: 🟡→🚧 (4 pages: index/detail/edit/my-posts)
                • - Family membership: 🟡→🚧 (MemberSubscriptionService done)
                • - Section 10 spec/plan index: 8 entries synced accordingly
                • 使静态图标 PNG 能被正确追踪
                • - Add tab-wisdom.png / tab-wisdom-active.png (placeholder from tab-mind)
                • Fix TabBar compile error: 'tab-wisdom.png' not found
                • web(plastic-health): replace 亿图腾→浠艾福, add Clarity, fix two-col mobile responsive
                • - 移除 ProfileStats(行动/财富数据,归属富页面)
                • - ProfileMenu.vue 新增 showServices prop,我的页面隐藏"服务"板块(会员/订单/售后等归富页面)
                • - 保留:ProfileHeader / ProfileGrowth / ProfileBadges / 个人+设置菜单
                • - application.yml: 新增 python.* 配置项
                • - RecommendationController: 5% 流量走 Python,异常自动 fallback
                • - models/: 请求/响应 Pydantic 模型
                • - rag/: ChromaDB + Embedding + 混合检索 (BM25+向量)
                • - tools/: JavaClient HTTP 封装 + product_tools (3 个 @tool)
                • - graphs/recommend_graph.py: RecommendAgent (LLM + Tool Calling)
                • - api/recommend.py: POST /api/v1/recommend 端点
                • - main.py: 注册路由 + startup/shutdown 钩子
                • - FastAPI app skeleton with /health endpoint
                • - Dockerfile, .env.example, .gitignore
                • - Fix root .gitignore *.py exclusion for cfc-langgraph/
                • uni-app 编译器能正确生成 wx:key="id"
                • - placeholder 文章占位卡片的 :key="'ph-'+i" 已改为 :key="i"
                • instead of first occurrence on page 1 summary; 566 chars (was 300)
                • - 肠道年龄评估: now captures full gut age (page 12) + flora assessment
                • (pages 13-14, 菌群平衡/菌群多样性); 1938 chars (was 500)
                • - Removed hard-coded [:500] and [:300] truncation limits
                • - Proper end-marker detection using 菌群构成层级/菌群详细构成
                • web(plastic-health): optimize screenshot sizes for faster loading
                • web(plastic-health): add ref-22 WWF weekly 5g intake citation
                • 修复前端分页问题
                • web(plastic-health): add screenshot links to all 21 citation cards, fix ref-7/ref-12 metadata
                • - Fix ref-7 journal name: Nutrients -> Antioxidants
                • - Fix ref-12 DOI: 108319 -> 108353
                • - Retake ref-21 without cookie popup
                • - Add translation overlays: ref-13 (Chinese), ref-19 (English)
                • 修复小程序运行不起来问题
                • 分配规划师
                • 分配规划师
                • 缺少 SQL 绑定,既无 XML 映射文件也无 @Select 注解。
                • 修复 TypeError: Cannot read properties of undefined (reading 'length')
                • 及由此引发的 WeChat FLOW_DEPTH 渲染层错误
                • - cfc-web/.env.production: VUE_APP_BASE_API= → /admin,
                • 修复 env 缺失导致 baseURL 显示 ? 的问题
                • - JwtInterceptor.java: 两处 401 写入前添加
                • response.setContentType(application/json; charset=utf-8),
                • 修复后端拒绝返回时前端 axios 无法解析 message 导致提示显示 ?
                • - 配套补: FamilyMemberCard/Strip 组件、action/body/mind/parent-index 页面逻辑完善
                • web(plastic-health): add authoritative descriptions to all 21 references
                • - ref 2/4/5/7/9/10/11/12/13/14/15/20/21: journal + publisher + SCI tier
                • - ref 3: news media context
                • - ref 19: institutional + professor affiliation
                • web(plastic-health): enrich references with journal names and add container guide
                • ref-11: Antioxidants, ref-12: Environment International, ref-13: Nature Medicine
                • - Add ref-20 (ANSES glass cap paint) and ref-21 (Heliyon container comparison)
                • - Replace tip cards container section with safety ranking guide
                • - Re-take NEJM screenshot without cookie popup
                • 填写预约报告表单
                • web(plastic-health): remove boiling water option from protect section
                • - Renumbered 方案三(电解还原水机)→ 方案二
                • - Keep 方案一 as 更换饮水容器 (tip grid)
                • web(plastic-health): add antibiotics/pesticides/hormones row and correct boiling limitation
                • removal across all 4 water solutions
                • - Updated tap water conclusion: acknowledge boiling cannot
                • remove chemical contaminants (antibiotics, pesticides,
                • contraceptive drugs)
                • - Updated office tips: recommend activated carbon filter
                • before boiling as supplement
                • web(plastic-health): consolidate 4 water solutions into one comparison table
                • a single 5-column table covering 8 dimensions: microplastics,
                • minerals, BPA/plasticizers, secondary contamination, antioxidant
                • benefits, obesity/anxiety risk, cost, and overall rating.
                • - 桶装水/瓶装水 | 自来水(烧开后) | RO反渗透纯水机 | 电解还原水机
                • - Color-coded cells for quick visual comparison
                • - Two conclusion boxes: tap water as budget choice, electrolyzed
                • reduced water as optimal upgrade
                • web(plastic-health): add 3 factual logic points - obesity/anxiety from barreled water, tap vs RO comparison, electrolyzed reduced water as optimal
                • triggering metabolic disorders and gut-brain axis anxiety
                • 2. Tap vs RO comparison table: WHO warns against long-term
                • demineralized water; boiled tap water retains minerals
                • 3. Electrolyzed reduced water as optimal solution: multi-stage
                • filtration + antioxidant hydrogen water + retained minerals
                • 4. New references [14]-[19] for all three additions
                • web(plastic-health): add 4 evidence screenshots with Chinese annotations for office water risk factors
                • - ref-hot-water-antimony.png: 70°C高温锑/BPA释放 对应风险②高温加热
                • - ref-heat-sunlight.png: UV/高温加速降解 对应风险③存放暴晒
                • - ref-ohio-state.png: 瓶装水塑料为自来水2-3倍 对应风险④密封垫磨损
                • Each English-page screenshot includes injected Chinese translation annotations.
                • 填写预约报告表单
                • - 使用紫粉渐变背景匹配心维度色系
                • - 保留报告列表功能,统一色调
                • - 10个内容章节:概述→定义→办公室水源→进入路径→5大危害→研究里程碑→对比表→防护方案
                • - 每条结论均标注引用文献链接
                • - 嵌入5张研究来源截图(ScienceDaily/WHO/NEJM/PNAS/科普中国)
                • - 响应式设计,匹配官网设计系统
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - Apply normalization at both init (buildIndexes) and lookup time
                • - Remove duplicate Kangxi radical entries from JSON (now handled by code)
                • - Belt-and-suspenders: data + code both normalize
                • to 菌属功能库 (genera 88 -> 92)
                • - Add U+2ED4 Kangxi radical variants of 幽门螺杆菌 and 沙门氏菌
                • for matching extracted report data
                • - Verified on 556168709-mi.pdf: match rate 98% (176/179)
                • - Genus: 52/53 (Prevotellamassilia now added)
                • - Species: 43/45 (CAG unclassified only)
                • - Disease risks: 10/10 (100%)
                • - Other indicators: 71/71 (100%)
                • 直接跳过自动登录,避免后端不可达时触发 WeChat SDK
                • SystemError timeout。
                • 改为按分原样传参 amount,与全局金额格式化约定保持一致。
                • - 修复空状态条件引用不存在的 indicatorGroups,改为 indicators.length
                • to wx:key. Changed to :key="i" which compiles to wx:key="*this",
                • eliminating the WXML runtime warning.
                • 填写预约报告表单
                • 填写预约报告表单
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - AIChatController [TASK]标记解析集成
                • - FamilyContextService任务上下文注入
                • - chat.vue任务卡片渲染+报告解读模式
                • - 阅读卡片改为今日能量文并重新设计(深色渐变/辉光)
                • - 体检/菌群报告详情页AI解读FAB入口
                • - 富页面模式切换+profile返回入口
                • - Update showKnowledge() to query v3 KB first (偏高影响/偏低影响/调整建议)
                • - Fall back to old queryKnowledgeBase('disease', ...) when v3 returns nothing
                • - Follows same pattern as gut-flora-detail.vue and gut-flora-species-detail.vue
                • All 4 gut-flora report pages now use KB v3 with fallback.
                • - .gitignore: add .env.production
                • - git rm --cached .env.production (keep on disk)
                • Environment-specific configs should not be tracked in git.
                • (auth.js URLs start with /api/, so baseURL=api caused axios to emit
                • api/api/... → browser resolves to /admin/api/api/..., backend returns 405)
                • - Login.vue: → src="logo.png" (relative,
                • resolves correctly under /admin/ subpath)
                • - public/logo.png: added (copied from web/logo.png)
                • - .gitignore: add !cfc-web/public/logo.png exception
                • - Added 3 missing genera: Coprobacter, Paraprevotella, Parasutterella
                • - Verified: 50/55 genera match KB directly, 41/43 species match via genus backoff
                • - extract_full_report_v5.py: normalize_output() - 字段统一/冗余删除/菌属名称清洗
                • - 字段拆分清单.md: personal data vs knowledge base 边界定义
                • - 设计规格: docs/superpowers/specs/2026-07-19-knowledge-base-v3-data-refactor.md
                • - 验证输出: 547982403.json, 朱评估报告.json 新格式确认
                • parameter - it's resolved internally via MembershipService.
                • Add @MockBean MembershipService and update call sites.
                • no interceptor sets familyId as a request attribute → Spring 400 error.
                • @RequestAttribute("userId") + membershipService.getUserFamilyId(userId)
                • Affected controllers:
                • - MindFortuneController (getTodayFortune, refreshFortune, exportFortuneReport)
                • - PackagePaymentController (createOrder)
                • - MarketController (purchasePackage, getMyPlans)
                • - BindController (acceptBind, getBoundGuides, unbind)
                • - Add recommendedProducts/loadingProducts data states
                • - Implement loadRecommendProducts method with REPORT_DOMAIN_MAP
                • - Add goToProduct and formatPriceWithSymbol utility methods
                • - Insert horizontal scrollable purchase card section below type selector
                • - Add scoped styles for purchase recommendation section
                • Merge remote-tracking branch 'origin/cfclub' for upstream changes
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • 导致生产环境 405 Method Not Allowed 错误。
                • 修复范围:
                • • 用户: updateUser/deleteUser — 方法+URL 修正
                • • 家庭: updateFamily/deleteFamily — 方法+URL 修正
                • • 孩子: updateChild/deleteChild — 方法+URL 修正
                • • 任务模板: updateTaskTemplate/deleteTaskTemplate — 方法+URL 修正
                • • 奖励模板: updateRewardTemplate/deleteRewardTemplate — 方法+URL 修正
                • • 系统配置: deleteSysConfig — 方法修正
                • • 教师任务模板: deleteTeacherTaskTemplate — 方法+URL 修正
                • • 心愿: setWishPrice/rejectWish/approveWishExchange/markWishFulfilled — 方法修正
                • • 心愿: deleteWish — 方法+URL 修正 (/api/wishes/{id}→/cancel)
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • • AssessmentReportController: upload() → store()
                • • DanReportUploadService: upload() → store()
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • • FileStorageService: 增加 delete() 方法用于删除已上传文件
                • • WebConfig: addResourceHandler 使用 upload.base-dir 替代 System.getProperty
                • • application.yml: 添加 upload.base-dir 和 upload.allowed-types 配置
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - Fix regex patterns for abundance, normal range, population level
                • - Add inline fallback for missing disease risks, amino acids, barrier/scfa/nt
                • - Fix overview extraction for gut age, health score details
                • - DanReportParseService.parseB5Report(): 新增compassImage参数 + 第7步图像分析
                • - 新增常量: B5_QUAD_ANGLES/FACTORS/SUB_DIMS + B5_CENTER坐标
                • - 新增方法: extractB5CompassImage(PDDocument) — PDFBox提取PNG→BufferedImage
                • - 新增方法: measureFillAtAngle() — 沿角度射线逐像素扫描填充半径
                • - 新增方法: extractB5CompassScores() — 动态校准因子 + 19子维度分数映射
                • - parseText(): 新增两参数重载(public) + 三参数版本(private)
                • - 图像提取失败不影响文本数据(log.warn静默降级)
                • 算法: 从r=150扫描跳过中心色块, 25px间隙容忍跨越环线,
                • 每象限角度范围等分→子维度射线±2°偏移→平均fill×校准因子→1-5分
                • 测试: 37 tests run, 0 failures
                • - HealthKnowledgeBaseService: listAll/save/updateById/removeById
                • - HealthKnowledgeBaseController: /list /add /update /delete
                • - cfc-web/views/admin/health-knowledge.vue: 列表+筛选+新增/编辑/删除/导入
                • - router: 注册 /health-knowledge,Layout 侧边栏 知识中心 下新增菜单
                • Wave 3: 迁移DAN报告解析 B5(adolescent) Python→Java — 全部完成
                • Wave 1: A1(认知/cognition) + B3(学习/learning) — 6维认知 + 执行功能/学习动机/策略
                • Wave 2: B2(行为/behavior) + B6(职业/career) + C1(校园/campus)
                • — 自我概念/行为/家庭环境 + Holland兴趣/多元智能/价值观 + 复用A1+A2+B4逻辑
                • Wave 3: B5(青春期/adolescent)
                • — 情绪调节2维/学业压力5维/人际关系4维/社交5维/睡眠/运动/网络 (文本部分)
                • DanReportParseService 现已覆盖全部8种DAN报告类型解析:
                • A1(cognition) A2(mind) A2(heart) B2(behavior) B3(learning) B4(wisdom) B5(adolescent) B6(career) C1(campus)
                • 辅助工具方法:
                • extractTotalScoreAndPercentile, extractScoreWithLabel, extractScoreAfterLabel,
                • extractRegion, extractNamedScore, getBehaviorEnglishPattern
                • 其他文件:
                • DanReportUpload: 新增 DIM_COGNITION/LEARNING/BEHAVIOR/CAREER/CAMPUS/ADOLESCENT 常量
                • DanReportUploadService: dimension 校验扩展到全8种维度
                • DanReportParseServiceTest: 35个测试用例覆盖所有8种报告类型
                • ProductOrder.java: 修复重复字段编译错误
                • 编译: mvn compile BUILD SUCCESS
                • 测试: 35 tests run, 0 failures, 0 errors
                • Wave 2: 迁移DAN报告解析 B2(行为)+B6(职业)+C1(校园) Python→Java
                • - DanReportParseService: 新增 parseB6Report() Holland兴趣6型+多元智能8维+职业价值观
                • - DanReportParseService: 新增 parseC1Report() 复用A1认知+A2大五+B4自驱力逻辑
                • - DanReportParseService: parseText() 新增 behavior/career/campus 路由
                • - DanReportUpload: 新增 DIM_BEHAVIOR/DIM_CAREER/DIM_CAMPUS 常量 + Service校验
                • - DanReportParseServiceTest: 新增12个测试用例,总计28个全部通过
                • - fix: 添加ActivityProvision实体修复ProductOrderController预置编译错误
                • ProductService was missing this delegation method. Pre-existing bug
                • uncovered when running mvn compile for v1.1 verification.
                • to resolve Spring Boot 2.7+ circular reference rejection.
                • The cycle was:
                • HealthReportService → DimensionScoreService → DimensionScoreServiceImpl → HealthReportService
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - 重写 admin-butler-review 用 13800138000 账号 + admin-auth/login-by-password 取 token
                • - 新增 health-knowledge-base / nutritionist-apply 覆盖 HealthKnowledgeBaseController (3 endpoints) 与 NutritionistController (2 endpoints)
                • - 附带 mass-create-users 脚本 + create-role-users.sql + 上一次批量建号结果 create-result.json 用于手动复现
                • - pages/parent/plans/index.vue, detail.vue
                • - pages/guide/plans/index.vue, detail.vue
                • - pages/guide/training-plans/index.vue, detail.vue
                • 2. pages.json 中移除对应的路由注册
                • 3. 新增 components/RecommendedFeed.vue:
                • - 将商品和活动混合为交替排列的信息流 (商品/活动/商品/活动...)
                • - 统一展示:封面图 + 类型标签 + 标题 + 价格 + 状态
                • - 点击统一跳转到对应详情页
                • 4. parent-index.vue:
                • - 替换 DimensionActivities + DimensionProducts 为 RecommendedFeed
                • - 新增 onFeedItemClick 和 goMoreDiscover 方法
                • 5. child-index.vue:
                • - 替换 DimensionActivities + DimensionProducts 为 RecommendedFeed
                • - 新增 onFeedItemClick 和 goMoreDiscover 方法
                • 6. member-detail.vue:
                • - 替换 DimensionActivities + DimensionProducts 为 RecommendedFeed
                • - 新增 onFeedItemClick 和 goMoreDiscover 方法
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - [场景7] Knowledge base popup query and display
                • - [场景8] Quick nav card navigation to subpages
                • - [场景9] Edit mode toggle and save
                • Covers the new v1.1 report detail features.
                • 修复程序报错
                • 2. stopSimulation 用 clearTimeout 替代 cancelAnimationFrame
                • 3. simulationTick 改用 setTimeout(33ms) 轮询
                • 4. render() 添加 Canvas 节点未就绪时的重试逻辑(最多5次)
                • 5. renderLegacy() 完整迁移 Canvas 2D API(ctx.strokeStyle/ctx.fillStyle/
                • ctx.lineWidth/ctx.font/ctx.textAlign/ctx.textBaseline 直接赋值)
                • 6. 新增 hexToRgba 辅助函数
                • (微信小程序不支持 ctx.setFont() 等链式调用方法)
                • 2. product-detail.vue: onBuy() 从直接创建订单改为跳转到 checkout 结算页
                • 3. checkout.vue: onSubmit() 添加 addressSnapshot、couponId、discountAmount 参数
                • - 修复富页面运行时 TypeError: getWealthDetail is not a function
                • - DanAssessmentController 的 /report/parse-preview 和 /report/confirm 委托给 DanReportUploadService(Phase 4-5)
                • - dan_assessment_results.source_report_id 关联 dan_report_uploads.id
                • - dan_assessment_results.analysisStatus 新增字段(待规划师确认分析)
                • - 迁移95: 历史 dan_assessment_results 数据 ETL 回填到 dan_report_uploads
                • - 迁移93-94: dan_report_uploads 建表 + 扩展字段 source_report_id/analysisStatus
                • - schema.sql 同步新建表定义
                • - 合并远程并行迁移(dan_assessment_executions 等表)
                • 修复程序报错
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - FamilyTianpanCard: 新增 themeStyle/isChild/handleCompassClick
                • - family-dashboard: 添加隐藏 canvas 用于 PDF 渲染
                • - Profile: 移除富沛能量 UI(Header/Menu/Stats)
                • 修复程序报错
                • - 后端:Swagger @Tag/@Operation注解、DTO校验消息、entity字段注释、service javadoc
                • - 数据库schema.sql:表注释、列注释
                • - 测试文件:测试数据fixture名称
                • - 会员档位选择(membership/upgrade.vue)→'档位选择'避免与任务模板混淆
                • - 测评类型'bundle'标签:'套餐'→'组合'(与任务模板区分)
                • - 未改动:API URL路径、Java类名、数据库表/列名、CSS类名
                • - 验证:mvn clean compile通过 + npm run build通过
                • - user-edit.vue: autoParent 模式下默认 parent,嵌入 AddressPicker 四级地址组件
                • - UpdateUserDTO + UserController + UserService: 扩展 address 字段支持
                • - schema.sql: users 表同步 address 列
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - PHYLUM_TABLE_TITLES + _parse_phylum_tables() for phylum-level extraction
                • - DISEASE_BACTERIA_TITLES + _parse_disease_bacteria() for obesity/constipation/depression etc.
                • - main() now takes PDF path as arg, outputs same-name .json file
                • - Fallthrough terminator extended, CSV output covers all new table types
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - 小程序: 新增 pages/nutritionist/apply 营养师入驻页面
                • - 小程序: 新增 pages/butler/apply 管家入驻页面
                • - pages.json: 注册 nutritionist/butler 两个子包
                • - api.js: 新增 nutritionistApply/nutritionistStatus/butlerApply 函数
                • - 原路径从 components/ 目录向上两级会超出项目根目录
                • - 正确路径应为 ../utils/api.js (从 components/ 到项目根目录再到 utils/)
                • 2. FamilyTianpanCard.vue: 修复 methods 对象后缺少逗号
                • - 在 export default 对象中,methods 属性后需要逗号分隔
                • - 缺少逗号导致 Vue 编译器报 'Unexpected token' 错误
                • 3. body/index.vue: 确保 DimensionProductList 组件正确注册
                • Co-authored-by: openhands openhands@all-hands.dev
                • AdminController添加营养师审核3端点(applications/approve/reject),
                • ReviewCenterController增加nutritionistPending统计,
                • DatabaseInitializer迁移91,schema.sql同步
                • 前端: NutritionistAudit.vue组件, ReviewCenter.vue添加营养师Tab,
                • admin.js添加营养师审核API函数
                • 正确处理 res.data.records 映射;优化样式布局
                • - ProductSkuService.create() 在 skuCode 为 null/空时自动生成:
                • 'SKU-{productId}-{timestamp}'
                • - Service.getChangeRequests: 仅在 systemId != null 时加入 where 条件
                • - 全 Controller 20 处 ((Number) ...).longValue() → Long.valueOf(... .toString()) 防 String/Integer 类型解析异常
                • - router/index.js: 删除 /package-audit /guide-audit /vendor-review /butler-review /withdraw-audit 5 个路由
                • - 删除对应的 Vue 页面文件:
                • * views/PackageAudit.vue
                • * views/GuideAudit.vue
                • * views/admin/VendorReview.vue
                • * views/admin/ButlerReview.vue
                • * views/admin/WithdrawAudit.vue
                • (功能都集中在 ReviewCenter.vue 的 10 个 tab 里, 各 tab 组件在 admin/review/ 目录下)
                • - ReviewCenter.vue: 新增 created() 读取 ?tab= 参数支持直达特定 tab
                • - Dashboard.vue: 待审核卡片链接从 /guide-audit -> /review-center?tab=guide
                • 从 /package-audit -> /review-center?tab=package
                • 验证: mvn compile 通过, 全项目无老审核路由残留
                • - 新增所属维度筛选(身/心/智/行/富)
                • - 新增审核状态筛选(待审核/已通过/已拒绝)
                • - 优化搜索框占位符文字
                • 样式优化:
                • - 重构 header 布局为 flexbox,支持响应式换行
                • - 统一搜索框和按钮样式
                • - 增加 header-search 类控制搜索框宽度
                • - 优化操作按钮间距和对齐
                • 其他改进:
                • - 默认分页大小从 10 改为 20
                • - 查询按钮显式触发搜索
                • - 4 Java 文件: entity/EducationSystem, mapper/EducationSystemMapper, service/EducationSystemService, controller/admin/EducationSystemController
                • - Vue 页面: admin/EducationSystems.vue
                • - admin.js: 5 个 education-systems API 封装
                • 顺手清理相关遗留:
                • - DatabaseInitializer:
                • * 删除 modifyColumnToText('education_systems', 'description') 迁移 (表没了)
                • * 删除 runMigration92() (整个迁移不入群, 改为 university+education_system 列在 Guide 未被消费)
                • - entity/Guide.java: 删除 university + eduSystem 字段
                • * 顺带删除 schema.sql 中 guides 表的 university + education_system 列定义
                • - schema.sql: 删除 CREATE TABLE/INSERT FOR education_systems
                • - Layout.vue: 删除教育体系菜单项 + submenu 项
                • - router/index.js: 删除 education-systems 路由
                • 验证: mvn compile 通过, 全项目无 EducationSystem 残留引用
                • - PackageTemplates 的 GuidePackageTemplateService 也被 GuidePackageController.getTemplates 复用, 保留 Java 侧
                • - 本提交仅移除 3 个 admin-only 维护菜单:
                • * cfc-web/src/views/admin/ServiceTypes.vue
                • * cfc-web/src/views/admin/ServiceContents.vue
                • * cfc-web/src/views/admin/PackageTemplates.vue
                • * cfc-web/src/api/adminService.js (无其他调用方)
                • * Layout.vue 配置中心子菜单条目
                • * router/index.js 路由项
                • 错误地判定为密码正确。
                • 修复:
                • - 改用 POST /api/family/user/switch-back-verify 单一原子接口
                • - 后端对错误密码直接返回 Result.error (code != 200)
                • - 正确清除 uni storage 中的 isSwitchedChild / currentChildId
                • - 添加 $store.commit 可选检查,避免 store 未定义崩溃
                • - 添加 setTimeout 在 toast 显示后再 reLaunch,提升体验
                • 参考: cfc-backend/.../FamilyUserController.java:135
                • - goToAchievements() → /pages/rewards/badge (徽章墙)
                • - goToNetwork() → /pages/promotion/team (推广团队)
                • - goToInsurance() → /pages/wealth-sub/insurance-list (保单管理)
                • - goToCreator() → /pages/promotion/index (创客中心)
                • - goToBadges() → /pages/rewards/badge (成就系统)
                • - goToGrowthReport() → /pages/growth/index (成长报告)
                • - goToCheckin() 修正路径 → /pages/wealth-sub/checkin
                • - 新增 childSubDimClick() 处理孩子版 6 个子维度跳转
                • 后端所有目标页面/Controller 端点已存在:
                • - InsurancePolicyController (CRUD 5 endpoints)
                • - FinanceCheckinController (4 endpoints)
                • - BadgeController (10+ endpoints)
                • - EnergyController.wealth-detail
                • 参考计划: /app/cfc/.omo/plans/wealth-features.md
                • 与后端 FamilyUserController 路径匹配
                • - SupplySystemService 添加 getByAdminId() 方法
                • - SupplySystemController 添加 /my-system 端点
                • - AdminProductController.list() 支持 distributionSystemId 过滤
                • - 新增 SupplierProductController 提供供应商商品 CRUD
                • 前端:
                • - 新增 SupplierProductManage.vue 页面
                • - 新增 supplier product API 函数
                • - 添加路由和侧边栏菜单
                • - ProductEdit.vue 增强供应商管理员支持(自动锁定体系选择)
                • Revert unnecessary large files, keep only radar chart fix
                • Changes:
                • 1. Add _safeScore utility in RadarChart.vue - normalize null/NaN scores to 0
                • 2. Update _startAnimation, _drawScoreArea, _drawVertices, _drawScoreText to use _safeScore processing
                • 3. Add retry initialization for Canvas render in RadarChart.vue - retry up to 5 times within 60ms intervals
                • 4. Modify body/index.vue template - replace inline :dimensions/:scores with computed radarDimensions/radarScores (respecting AGENTS.md non-method-call constraint)
                • 5. Handle null scores in computed radarScores - reject null/NaN to 0, maintaining functional correctness
                • Verification:
                • - LSP diagnostics check completed
                • - Resolver scripts completion
                • Co-authored-by: openhands openhands@all-hands.dev
                • - 基于主导五行智能生成个性化行为建议
                • - 优化布局:区分颜色、对齐与留白
                • - 响应式设计:适应不同屏幕尺寸
                • - 文案结构化:不同五行对应不同宜忌行为模式
                • - 提供周趋势图、月度日历、历史周报三种视图模式
                • - 实现 Canvas 五行罗盘和运势趋势线图绘制
                • - 集成菜单切换功能
                • - 支持 PDF 周报导出功能占位
                • - 优化 UI 交互:响应式布局、动画过渡、色彩搭配
                • - 增强 FortuneService 实现基于干支五行的吉位算法
                • - 更新 MindFortuneController 返回完整数据格式
                • - 添加专业五行生克关系判断逻辑
                • - 提供更丰富的运势描述和心情表达
                • - 计算复杂:基于家庭五行+日期干支确定最吉方位
                • - 添加 getFamilyFortune API 函数到 utils/api.js
                • - 优先使用后端返回的数据,兼容模式使用前端算法
                • - 调整 FamilyTianpanCard 组件的数据绑定逻辑
                • - 37 张表: 从 DatabaseInitializer.runMigration* 提取 CREATE TABLE 语句
                • - 42 张表: 从 entity @TableField/pojo 字段反向生成 CREATE TABLE
                • - 验证: 无重复表名, mvn clean compile 通过
                • - cfc-frontend/utils/api.js: 新增6个家庭收益API函数
                • - cfc-frontend/pages/promotion/index.vue: 重设计(家庭数据卡片+成员贡献榜+管理员面板+孩子只读+支付预留)
                • P4: 管理后台家庭收益管理
                • - cfc-backend: 新增 AdminEarningsController (3个管理端点)
                • - cfc-web/src/api/admin.js: 新增家庭收益管理API
                • - cfc-web/src/router/index.js: 新增两个路由
                • - cfc-web/src/views/admin/FamilyEarnings.vue: 家庭收益列表+详情弹窗
                • - cfc-web/src/views/admin/FamilyEarningsWithdraw.vue: 家庭收益流水查看
                • - Update SupplySystem entity with models field
                • - Sync schema.sql
                • - Fix duplicate familyId field in CommissionRecord.java
                • - Create Agnes AI supplier with agnes-image-2.0-flash + agnes-2.5-flash
                • - 在 pages/mind/index.vue 嵌入家庭天盘模块
                • - 使用火元素配色 (#FF6B9D) 和 Claymorphism 卡片风格
                • - 添加占位数据逻辑,准备对接后端接口
                • - 微信小程序兼容:无可选链、无 CSS Grid、flexbox 布局
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - AdminGuideController: 3处@Autowired替换为@Resource,移除Autowired import
                • - VendorService: 3个方法补全Result泛型参数
                • - VendorController: 同步补全Result泛型参数
                • - DatabaseInitializer: 36个空catch块添加log.warn日志
                • - TeacherService: getTeacherInfo抛异常, getAuthorizedChildren返回空列表
                • - 14个controller: 42处@GetMapping/@PutMapping/@DeleteMapping→@PostMapping
                • - ButlerController: 2个stub方法标记@Deprecated+抛UnsupportedOperationException
                • 注册ButlerController bean起别名,解决多个ButlerController项目启动报错问题
                • - ButlerService: 管家核心业务逻辑
                • - ButlerProfile: 管家档案实体
                • - SubscriptionBenefitLogService: 订阅权益日志
                • - DatabaseInitializer: butler_assignments 表迁移
                • - MemberSubscriptionService: 订阅关联修改
                • merge: resolve conflicts in cfc-web build files
                • - 新增 supply_hierarchy_change_request 表:记录更换上级申请
                • - SupplyHierarchyService: setHierarchy, addRelation, removeRelation, getParent, getChildren, applyChange, reviewChange
                • - SupplyHierarchyController: 11个API端点 (tree, set, remove, children, parent-chain, change-requests, etc.)
                • - ProductOrderService: 支付成功时自动绑定buyer到其referrer的下级
                • - DatabaseInitializer: 迁移86创建新表
                • - schema.sql: 同步建表语句
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • merge: integrate remote changes + supply hierarchy management
                • - cfc-web: supply-hierarchy management (new), supply-system/Detail update
                • - cfc-frontend: App.vue, invite/join.vue updates
                • - cfc-web: admin.js API, router updates
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • 实施计划: 分 P1~P4 四个阶段,每阶段可独立上线
                • - P1: 二维码改造(wxacode + env_version 修复 + scene 解析)
                • - P2: 家庭公共账户(3 张新表 + CommissionService 改造)
                • - P3: 前端重构(推广中心重设计 + 支付集成)
                • - P4: 管理后台(家庭收益管理 + 提现审核)
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • JSON string rather than a number. Added type-safe parsing that
                • handles both Number and String id values across the supplier
                • management endpoints.
                • Co-authored-by: Sisyphus sisyphus@omo.codes
                • implementation plan for dimension-products, repurchase-reminders,
                • scheduled task, and frontend fixes
                • - 2026-07-13-dan-assessment-phase2-5.md: pending Phase 2-5 plan
                • referencing assessment-market-plan.md — quota system, dual-channel
                • reports, plan generation engine, and review→confirm→execute loop
                • Co-authored-by: Sisyphus sisyphus@omo.codes
                • @PostMapping convention. DimensionProductList.goProduct() fires
                • clickRepurchaseReminder() before navigation for repurchase-type
                • products.
                • Co-authored-by: Sisyphus sisyphus@omo.codes
                • RecommendationService.generateDailyRepurchaseReminders() to scan
                • paid/received orders and generate repurchase reminders based on
                • repurchase_reminder_config rules (category/reminderDays/maxReminders).
                • Co-authored-by: Sisyphus sisyphus@omo.codes
                • - getDimensionProducts() — query product_dimension_mapping by
                • dimensionCode, join products, filter status=上架/stock>0
                • - getRepurchaseReminders() — query user's unpurchased reminders
                • - markRepurchaseClicked() — update clicked=1 on reminder record
                • - generateDailyRepurchaseReminders() — scan paid/received orders,
                • apply repurchase_reminder_config rules, insert reminders
                • Injects ProductDimensionMappingMapper, RepurchaseReminderRecordMapper,
                • RepurchaseReminderConfigMapper, ProductOrderMapper.
                • Co-authored-by: Sisyphus sisyphus@omo.codes
                • RecommendationController adds 3 @PostMapping endpoints:
                • - /dimension-products — query products by dimension code, sorted by matchScore
                • - /repurchase-reminders — list user's pending repurchase reminders
                • - /repurchase-reminder/{id}/click — mark reminder as clicked
                • Co-authored-by: Sisyphus sisyphus@omo.codes
                • - cfc-web: 多个管理页面样式和功能优化(ArticleCategory, BaziConfigs, CouponManagement, KnowledgeTag, PackageTemplates, RelationshipTypes, VirtualTeamList, ZodiacConfigs, data-source-config, dimension-config, dimension/index)
                • - 版本号自动更新
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - WuxingConfig.vue: 能量来源比例配置+每日限制概览
                • - 路由注册 /admin/energy-config
                • - 数据驱动多边形填充(familyWuxing.aggregatePercentages)
                • - 百分比标签 + 数据节点圆点
                • - 中心显示家庭名+最强/最弱元素
                • - ProductOrderService: SKU价格计算
                • - Form.vue: 标签更新
                • - 心理维度子项卡片(仅儿童用户显示)
                • - 11个新data字段 + 13个CSS状态变体
                • - loadWealthDetail读取API新字段
                • - 新增映射器: AiConversationSummaryMapper, AiUserFactMapper
                • - 新增AiContextService: 7意图路由
                • - AIService: enrichInputsWithMemory, getContext, requestSummaryAsync
                • - AIChatController: getContext()端点 + sendMessage注入记忆
                • - DatabaseInitializer: runMigration81内建表
                • - schema.sql: 同步两张新表定义
                • - WebConfig: /api/ai/context加入JWT白名单
                • - chat.vue: 简化传参(移除reportId/surveyId)
                • - admin.js: Ppoint API 重命名 (getProductPpointList/saveProductPpoint/deleteProductPpoint/byProduct)
                • - supply-system/Form.vue: searchUsers 改用 API 函数
                • - products.sku_spec_names: 规格维度名 JSON
                • - products.delivery_methods: 配送方式支持
                • - cart.sku_id: 选中 SKU ID
                • - cart.spec_option_ids: 规格选项 ID 列表 JSON
                • - CircleService: 添加 @Lazy 注解打破 CircleService ↔ CircleMatchService 循环依赖
                • - cfc-web: 新增 ProductPpointManage 积分管理页面,完善供应商体系表单
                • - cfc-frontend: product-detail 页面更新
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - 身: 健康打卡入口(HealthCheckinCard) + body/index.vue
                • - 智: 阅读时长展示(wisdom/index.vue reading stats)
                • - 心: 天盘相性入门版(已有完整天盘/兼容性模块)
                • - EnergyService: 心子维度(情绪稳定/理解包容/传承传递) + 五行克生算法v2.0
                • - MemberEnergyDTO: 心子维度字段
                • - ProductController: spec/map 规格映射接口
                • Phase2 珍珠图/圈子系统:
                • - 后端: SocialCircle/SocialCircleMember实体+Mapper
                • - 后端: CircleService CRUD + CircleMatchService匹配引擎
                • - 后端: CircleController API + DatabaseInitializer迁移85 + schema.sql
                • - 前端: PearlDiagram.vue 珍珠图横向滚动
                • - 前端: CircleCard.vue 圈子卡片组件
                • - 前端: CircleDetail.vue 圈子详情弹窗
                • - 前端: action/index.vue 集成PearlDiagram + CircleDetail
                • - 前端: api.js 圈子API函数
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - FamilyContextService: 新增3个Dify inputs (dimensionScores/recentCognitiveResult/purchasedProductTags) + 3私有辅助方法
                • - AIChatController: RecommendationQuery传入userId和familyId用于已购过滤
                • Phase 4 (P1):
                • - AssessmentService已有异步hook: DanAssessmentResult parent_upload 触发认知弱维度商品推荐
                • Phase 5 (P2):
                • - RepurchaseReminderService: @Scheduled 每日09:00扫描30-60天订单创建复购提醒 + getPendingReminders/onReminderClicked/onReminderPurchased
                • - RepurchaseReminderController: GET list + POST click/purchased 3个端点
                • - RepurchaseReminder.vue: 前端待处理复购提醒组件
                • - wisdom/index.vue: 阅读时长条件从 !== undefined 改为 > 0
                • - cart: 支持 SKU 选择 (sku_id, spec_option_ids), 字段扩展 (skuId, specDesc, supplierName)
                • - DatabaseInitializer: 迁移84 — cart 表 sku_id, spec_option_ids 列
                • - OrderItemVO: 新增 skuId, specOptionIds
                • - ProductDTO: 新增 effectivePpoint, ppointSource, profitRate
                • - CartService: addToCart 接收 skuId, 回填 supplierName 从 vendorName
                • ### P点管理
                • - PpointService: adminList() 管理端分页列表
                • - AdminProductPpointController: 新增管理端 P点配置控制器
                • ### 商品推荐系统
                • - ProductRecommendationService: 维度匹配引擎 (dimensionScore 排序 + 90天过滤 + 购买历史排除)
                • - ProductRecommendationController: POST /api/recommend/dimension-products
                • - 5维页面 (wisdom/body/mind/action/wealth): DimensionProductList 替换 DimensionProducts
                • ### 健康打卡
                • - HealthCheckinCard.vue: 新增健康打卡卡片组件
                • - body/index.vue: 集成 HealthCheckinCard
                • ### 智慧维度
                • - wisdom/index.vue: 本月阅读卡片 + 阅读统计 API 接入
                • ### 文档
                • - 五维能量设计: 更新 v2.1 富维度子维度算法 + 身克富杠杆文档
                • - 五维五行哲学: 补充富子维度表 + 身克富三态公式
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - 迁移80: 创建 product_dimension_mapping 表 + 索引
                • - 迁移81: products 表添加 recommendation_tags/purchase_count_threshold/repurchase_interval_days
                • - 迁移82: 创建 repurchase_reminder_record 表
                • - 迁移83: 创建 repurchase_reminder_config 表
                • - 新增 ProductDimensionMapping/RepurchaseReminderConfig/RepurchaseReminderRecord 实体+Mapper
                • - schema.sql 同步新表DDL
                • - 小程序: DimensionProductList 组件 + api.js 推荐/复购接口
                • - 修复 RecommendationQuery DTO
                • - 新增 Supplier/ProductSpecGroup/ProductSpecOption/ProductSupplier/OrderItemSku 实体+Mapper+Service+Controller
                • - 新增 ProductRecommendationLog 实体+Mapper(推荐记录打点)
                • - EnergyController: /wealth-detail 富维度详情接口
                • - EnergyService: 身克富杠杆逻辑 + calcParentWealth 传参修复
                • - AssessmentService + HealthAnalysisService: 推荐系统相关逻辑
                • - schema.sql: 同步新表DDL
                • - 小程序: 商品详情页规格选择器; 购物车/结算页展示SKU与供应商; 富维度页重构; 个人主页新增
                • - 管理端: EcomSupplierManage.vue 供应商CRUD页面 + admin.js API + 路由
                • - 前端 api.js: 新增供应商/规格/推荐相关接口
                • - 新增 2026-07-12-wuxing-ke-full-design.md(五克完整设计)
                • - 新增 2026-07-12-wuxing-homepage-and-conversion-algorithm.md(首页+转化算法)
                • - 新增 2026-07-12-dimension-pages-gap-fix.md(分阶段实施计划)
                • - 更新 2026-06-08-five-dimension-wuxing-philosophy.md(克哲学对齐新理解)
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - ISSUE-008: 中止退款后订单状态未恢复 — cancelPendingRefund增加ProductOrder状态回滚
                • - ISSUE-009: 订单管理搜索条件增强 — 后端支持keyword+日期范围 + 前端增加日期选择器和搜索按钮
                • - ISSUE-010: Dashboard缺失退款审核计数 — StatsController增加pendingRefundCount + Dashboard新增卡片
                • - ISSUE-011: 退款余额不足提示优化 — approveRefund返回明确提示 + 前端使用后端message
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - 移除 wisdom/mind/body 三个页面中的 import、components 注册、模板使用
                • - 清理 body/index.vue 中的残留注释
                • - action 统一化:补 @manage="goFamilyMembers" + goFamilyMembers method
                • - action 推荐阅读 -> 独立 ActionArticleRecommend 组件,行绿色调卡片造型
                • - 移除未用导入 getContactList/getHealthAlerts/getMilestones
                • - daily-fortune.vue: 请求载荷添加 familyId
                • - related-items.vue: 请求载荷从 {} 改为 { familyId, daysAhead: 7 }
                • - relation-detail.vue: 传参从 { familyId, memberId } 改为 { member1Id, member2Id }
                • - TianpanController: 兼容性接口从参数读取 memberType (不再硬编码 child)
                • - ProductOrder实体: refundStatus注释补充 4=退款到帐中
                • - PendingRefund实体: status注释补充 cancelled(已中止)
                • - AdminCommissionController + PendingRefundService: getAllPendingRefunds 支持 orderType 过滤
                • - OrderManage.vue: 新增 refund_pending 状态(退款到帐中)文案/样式/筛选选项,隐藏退款审核按钮
                • - PendingRefund.vue: loadList 传 orderType 到后端
                • - router/index.js: 注册 pending-refund 路由
                • - Layout.vue: 商城营销菜单加'待退款管理'入口
                • 避免 selfId 不匹配时 same member 同时出现在 selfMember 和 otherMembers 中
                • - 新增 TianpanDailyFortuneMapper/TianpanMemberAnnualEnergyMapper
                • - buildDailyFortune: cache-aside 模式,优先读 DB 无则计算写入
                • - buildAnnualEnergy: cache-aside 模式,按 member+year 缓存年度能量
                • - schema.sql 同步两表 DDL
                • - PendingRefundService新增overloaded createPendingRefund、cancelPendingRefund、移除markFailed最大重试限制
                • - ProductOrderService在approveRefund中拦截NOT_ENOUGH余额不足异常,自动加入待退款队列
                • - RefundScheduledTasks新增processProductRefund按orderType路由提现/商品退款
                • - AdminCommissionController新增POST /refunds/cancel管理员中止接口
                • - schema.sql和DatabaseInitializer迁移78同步order_type/order_no列
                • - cfc-web新增PendingRefund.vue管理页面和admin.js API函数
                • - TianpanController: REST API端点(/api/tianpan/*)
                • - DTOs: TianpanMemberVO/TianpanDashboardVO/DailyFortuneVO/MemberAnnualEnergyVO/RelatedItemsVO/RelationshipVO
                • - TaskService: 新增getPendingTasksByFamily
                • - AssessmentOrderService: 新增getPendingOrdersByFamily
                • - ZodiacAnnualEnergyService: 新增getWesternSign公开方法
                • - WebConfig: 添加cf-club.iwintrue.com CORS
                • - 前端: 天盘6页面 + store模块 + routes/API配置
                • - WithdrawalService.audit() 审核通过时余额不足自动创建待退款记录
                • - RefundScheduledTasks 每5分钟执行,FIFO处理待退款队列,指数退避重试
                • - 新增 Admin API: /api/admin/commission/refunds/pending (列表+状态过滤+分页)
                • - 新增 Admin API: /api/admin/commission/refunds/summary (待退款总金额统计)
                • - 修复 TianpanDashboardVO 缺失 import
                • P0: G7(FamilyAccessInterceptor), G1(五维能量分数持久化), G18(测评对比)
                • P1: G8(视角切换+密码校验), G9(邀请码过期/次数/吊销), G2(results_ready联动)
                • 新增: G10(规划师绑定家庭审批), G13(地址SFMS导入骨架), G14(Dify会话本地镜像)
                • P2: G23(schema_versions迁移表), G25(schema.sql新表补齐),
                • G3(测评报告结构化 structured_analysis), G26(test-mode启动断言)
                • P3: G4(死字段标记deprecated), G27(sfms只读强制)
                • 新增文件: TeacherFamilyBindingController/Service/Mapper/Entity,
                • ChatConversation, ChatMessage, ChatMirrorService,
                • SchemaVersion, PendingRefund服务(提现退款处理)
                • 预留未完成(工作量过大): G15(饮食推荐规则层), G21(PDF多供应商), G22(前端mock)
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • 遗漏了 dimensionCode 参数,导致推荐文章未按维度过滤。
                • 智/行维度页已有正确过滤,对齐处理。
                • - G7: FamilyAccessInterceptor familyId 入参校验
                • - G1: 五维能量分数持久化 (five_dimension_scores)
                • - G18: 首次vs最新测评对比端点
                • - G8: 视角切换统一 + 密码校验
                • - G9: 邀请码过期/次数/吊销
                • - G2: 测评订单 results_ready 联动
                • - G13: 地址数据库导入骨架
                • - schema.sql: package_orders建表语句同步添加user_coupon_id列
                • - 创建缺失的 PpointService (被 CommissionService 引用)
                • - 修复 FamilyAccessInterceptor 两处编译错误
                • - 添加缺失 @Component import
                • - HandlerMapping.PATH_VARIABLES_ATTR → 字符串字面量
                • - MemberSubscriptionService 实现 P-point 消费返利
                • - subscribe/renew 时 L1 推荐人获消费返利 (L1=20%, L2=40%)
                • - DatabaseInitializer 添加迁移69: promotion_tier_config 表 + R0-R4 种子数据
                • New files:
                • - PpointService.java
                • - FamilyAccessInterceptor.java (家庭数据访问安全拦截器)
                • - RequestBodyCachingFilter.java (body 缓存供拦截器使用)
                • - AdminSubscriptionController.java
                • - FiveDimensionScoreService.java + entity/mapper (五维能量持久化)
                • 将 "颜色:红色;尺码:M" 文本格式转为 {"颜色":"红色","尺码":"M"} JSON
                • - 前端 ProductSkuEditor handleSave 发送前同样做前端规范化
                • - 根因: product_skus.specs 列为 MySQL JSON NOT NULL, 前端输入普通文本被拒绝
                • - 前端小程序(cfc-frontend)会员页用户可见文本
                • - PPT 生成器脚本及输出(5 个生成器 + 确定性PPT)
                • - Java 后端 Swagger 描述、错误消息、日志、注释
                • - SQL schema COMMENT 和段注释
                • - Web 管理端路由和 API 注释
                • - 所有设计文档/需求文档/Spec 文档
                • - 测试文件描述和官网文稿
                • 保留不变:数据库表名/列名、Java 类名/方法名/变量名等技术标识符
                • - Update imports in guide/plans/detail.vue and guide/plans/index.vue
                • - Remove AssessmentOrderController and related tests (moved to DanAssessmentController)
                • - Resolve merge conflicts in cfc-web
                • debug: 添加原生 button 对比测试点击事件
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Prices visible before/after login. Login only required for booking, placing orders, adding to cart.
                • - AssessmentProduct实体/Mapper/Service/Controller
                • - 管理端测评商品管理页面 + 规划师端测评商品页
                • - 测评额度配额管理与扣减服务
                • - 商品SKU/促销层级/推荐树实体与迁移
                • Phase 2 - 购买与执行解耦:
                • - 预约-支付-执行分离流程
                • - AssessmentQuotaService额度扣减逻辑
                • - 预约确认/取消/支付回调
                • - 前端预约页+额度页+上传页
                • Phase 3 - 报告双通道+结构化指导:
                • - AssessmentReportController(上传/确认/指导意见)
                • - GrowthGuidanceService结构化指导意见
                • - ReportParseService PDF解析
                • - 家长上传报告+规划师录入结果双通道
                • Phase 4 - 方案生成引擎:
                • - AssessmentPlanRule规则引擎(维度×分数区间匹配)
                • - AssessmentPlanGenerator自动方案生成
                • - AdminPlanRuleController规则CRUD
                • - 迁移63-66: assessment_plan_rule建表 + TaskPlanInstance扩展字段
                • - 管理端方案规则配置页 + 方案管理看板
                • Phase 5 - 方案审核与执行:
                • - PlanReviewController(规划师方案列表/审核/激活)
                • - PlanActivationService激活生成待办任务
                • - 规划师小程序方案审核页+详情页
                • - 修复既存asyncDeepParse编译错误
                • 新增: 会员订阅/积分体系/商城商品管理等基础设施
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • 新增 Vue.use(Link) 注册 Link 组件
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • 防御性判空: 增加 !trim().isEmpty() 检查, 避免空字串 传入 Long.valueOf()
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • 新增服务器运行状态: 运行时长、CPU 使用率、JVM 内存占用, 数据来自后端 /api/system/health 接口
                • 已在 mounted 中调用 loadServerHealth() 自动加载
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - report-confirm.vue: add tongue indicators card, route confirm to confirmTongue
                • - report-list.vue: add tongue badge display
                • - body/index.vue: redirect tongue entry to report-upload?reportType=tongue
                • - tongue-index.vue: deprecate — redirect to new report flow
                • - api.js: parseReportPreview accepts optional type param
                • - 新增 ButlerSessionMapper (MyBatis-Plus)
                • - 新增 ButlerSessionService (CRUD/归档/上下文管理)
                • - 新增 ButlerController (/api/ai/butler/sessions/* 6端点)
                • - DatabaseInitializer 迁移42: 创建 butler_sessions 表
                • - schema.sql 同步更新
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - 拆分为两个并行实施计划:
                • Plan 1: 订阅+推广核心(P0+P1, 12-15天)
                • Plan 2: AI+管家+推荐引擎(P0b+P2+P3, 15-20天)
                • - Plan 2 通过 Stub/Provider 模式与 Plan 1 解耦,可完全并行开发
                • - Rewrite Dashboard.vue to admin-only (875 lines) with expanded stats
                • - Add getDashboardOverview() API for /api/stats/overview
                • - Add ECharts trend chart (user/family growth) and membership pie chart
                • - Replace system info with enriched health panel (status, version, refresh)
                • - Expand quick actions from 4 to 8 (4x2 gradient icon grid)
                • - Register /teacher-dashboard route, update router guard for teacher redirect
                • - Make sidebar '首页' menu path dynamic based on role
                • - Update AGENTS.md with new dashboard architecture
                • audit_reason, summary, advice, overall_assessment, config_value fields
                • from VARCHAR(255/500/200) to TEXT across ~40 tables
                • - Added idempotent modifyColumnToText() migrations in DatabaseInitializer
                • (~55 ALTER TABLE MODIFY COLUMN calls) for production database sync
                • - Primary fix: activities.description was the original crash site but
                • many other columns had the same truncation risk
                • so the card displays for families with only 1 member. the canvas
                • drawing already guards against drawing lines when < 2 members.
                • admin order management can find refunding orders (was filtering by
                • order.status='refunding' but after-sales was stored in separate table).
                • ProductOrderService.approveRefund/rejectRefund now syncs back to
                • AfterSalesRequest.status so mini-program after-sales list stays in sync.
                • ProductOrderDTO.from() now carries refund/logistics fields that were
                • previously omitted, so admin refund dialog shows refund reason.
                • - ActivityControllerTest.java: add missing 'role' parameter to create/update/publish/end calls
                • Ultraworked with Sisyphus (https://github.com/code-yeongyu/oh-my-openagent)
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - HealthReportAudit.vue: new draft audit page with detail dialog (indicators/gut flora/disease risk tabs)
                • - Router + sidebar: register /health-report-audit route and menu entry
                • Ultraworked with Sisyphus (https://github.com/code-yeongyu/oh-my-openagent)
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - HealthReportController: add POST /api/health/report/admin-list endpoint
                • - HealthReportService: add listAllReportsForAdmin() with childName resolution
                • - UpdateUserDTO: fix stale git conflict markers
                • Ultraworked with Sisyphus (https://github.com/code-yeongyu/oh-my-openagent)
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • sync: merge E2E test stash from cfclub branch (AGENTS.md, package-lock, test report)
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - 添加 → 导航到 /pages/family/add-member
                • - 邀请 → 打开邀请弹窗
                • - family-header 在无 familyName 时显示 '我的家庭' 占位
                • - 筛选后无结果时仍显示 '暂无家长/暂无孩子' 提示
                • - Unify formatTime to t.replace('T',' ').substring(0,19) pattern
                • - Replace new Date().toLocaleString() with consistent T-replace in
                • OrderManage/WithdrawAudit/EmotionAlertManage/ProductManage
                • - Uses table-scroll-wrap CSS classes (overflow:auto + max-height)
                • - Inline overflow:auto;max-height style on pages without class wrapper
                • - Import admin-tokens.css globally in main.js
                • - Refactor ~33 admin pages to use standard classes:
                • - admin-page-header / admin-page-title / admin-page-actions for card headers
                • - table-scroll-wrap(-sm/-lg) for table containers
                • - pagination-wrap for pagination
                • - filter-bar for search/filter bars
                • - Remove inline width/height/float styles
                • - Update ActivityEdit, ProductEdit with proper header layout
                • - Fix ActivityReview, Assessment (syntax error fix)
                • - Remove duplicate scoped CSS for filter-bar, header patterns
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - Fix prop name from :config to :defaultConfig (wangEditor Vue2 API)
                • - Add toolbarConfig for Toolbar component initialization
                • - Add missing @wangeditor/editor CSS import to ArticleEdit and ActivityEdit
                • - Add editor CSS styles (rich-editor border, toolbar wrap, text-container min-height)
                • - All 58 Vue pages with fixed="right" columns now have horizontal scroll container
                • - Pattern: div wrapper with overflow:auto;max-height:calc(100vh - 300px)
                • - Layout.vue 全局滚动修复(overflow-y:auto 覆盖所有 admin-page 编辑页)
                • - 搜索框"全部"选项改为语义标签(11 页面:「全部状态」「全部分类」等)
                • - 状态变更操作增加 确认 + 自动 loadList() 刷新
                • - 活动列表 flex 布局 + 滚动 CSS 修复
                • - Shows gray dashed avg line behind user's indigo filled polygon
                • - 6 dims: perception/focus/memory/logic/spatial/processing speed
                • - New _drawAvgScoreArea() method renders average as background layer
                • - Body page passes mock avg scores alongside user dimension scores
                • - Avg scores: [72,68,75,70,73,69,71] for 7 dimensions
                • - Without user data, only avg line shows; with data, both lines visible
                • - Add console logs for tracking dimension data loading flow
                • - Helps diagnose radar chart not rendering when no child selected or API fails
                • - Bump package.json version 1.0.11 → 1.0.17
                • - Update .last_build_commit to latest build
                • - web/index.html: update Clarity tracking ID, remove duplicate inline script
                • - Add null guards in loadTeacherData() for all response properties after Promise.all catch
                • - Handle missing taskCompletionRate gracefully with parseFloat fallback
                • - Replace simplified Markdown parser with block-level parser supporting code blocks, lists, headings, bold/italic/code/links
                • - Fix closing brace formatting that caused build failure
                • when API returns malformed responses (e.g. non-array family/team lists,
                • missing order records).
                • flex-wrap-based responsive layout for td-quick-actions and td-today-stats.
                • admin pages (Activities, ArticleManage, OrderManage, PointsLog, ProductManage,
                • VendorReview, WithdrawAudit) and teacher pages (FamilyList, TeacherAssessment)
                • - Add overflow-y:auto to Layout sidebar and admin-page container
                • - Bump version to 1.0.11
                • null. The method previously passed null to task.setCreatorId(), causing a
                • DataIntegrityViolationException on INSERT. Added null guard before task creation.
                • happiness model, membership/distribution, module status assessment,
                • P0/P1/P2 roadmap, tech debt, data model overview, architecture, risks.
                • - 管理员创建三类服务商(测评/解读/规划)
                • - 家长购买测评 → AI 解读 → 人工处理 → 成长规划
                • - 验证需求完整性(80%)和合理性(92%)
                • - 识别 3 个 P0 问题:服务商类型扩展、人工解读功能、成长规划功能
                • - 提供实施建议和代码示例
                • - cfc-frontend: pages.json/ai.chat/mind.articles/user-edit/wealth 页面优化
                • - cfc-web: 新增 MembershipCenter.vue(295行)/PointsLog.vue(202行),全面更新各管理模块
                • - 67 files changed, 1946 insertions(+), 434 deletions(-)
                • - ProductOrderController/Service: support mixed payment (points + cash)
                • - PointsService: integrate points deduction for orders
                • - shop pages: refactor detail, index, order-list, order-detail
                • - DatabaseInitializer: resolve merge conflict (keep both migrations 38-40)
                • Closes ISSUE-007
                • - 添加supplier_admin角色到UserService.isValidRole()
                • - 添加supplier_admin到AdminAuthController登录角色检测
                • - 添加supplier_admin到数据库users.role ENUM
                • - 创建SupplyManageController供应商管理控制器(CRUD+角色管理+层级调整)
                • 前端:
                • - 添加supplier_admin到permissions.js权限映射
                • - 添加供应商管理菜单到Layout.vue
                • - 添加供应商管理路由到router/index.js
                • - 创建supply-manage/List.vue, Form.vue, Detail.vue
                • - 添加supply-manage API函数到admin.js
                • Merge remote changes and resolve conflicts
                • 删除 'RTK.md'
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - 只保留 subPackages 中正确注册的 pages/shop/index/index.vue
                • FRONTEND-02: 缩短过渡页显示时间 5s→2s
                • - action/wisdom/mind/body/index + profile + index 页面
                • FRONTEND-03: 智页推荐阅读'更多'导航修复
                • - wisdom/index.vue goMoreArticles() 修正为目标路由
                • FRONTEND-04: 行页面推荐阅读缺失 (relatedDimensions JSON 解析)
                • - 新增 parseRelatedDimensions() 方法处理 JSON 数组字符串/逗号分隔/数组
                • - 修复 action/wisdom/mind 三页面 loadFeaturedArticles
                • FRONTEND-05: 行页面移除孩子管理快捷操作组件
                • - 删除 UserQuickEntry 组件及其 import 和注册
                • - Replace allowedOriginPatterns("") with explicit origins (CORS spec: "" + allowCredentials invalid)
                • - Allowed: https://cfc.etotem.com.cn, http://cfc.etotem.com.cn, localhost/127.0.0.1 dev origins
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - Use API module (getDashboardStats/getRevenueStats/getMembershipStats/getTrendStats)
                • - Element UI icons replacing emojis
                • - Section-level v-loading states
                • - ECharts lifecycle (dispose on destroy, resize handler)
                • - Recent tasks table from dashboard API
                • - Hover effects and responsive layout
                • - ~50 admin/9 teacher 页面统一添加 admin-page 样式类
                • - 所有列表/管理页添加 <=el-input> 关键字搜索
                • - 有分页的: keyword 传 API 参数
                • - 无分页的: computed filteredData 客户端过滤
                • - teacher 页面同时补齐 admin-page 类与面包屑样式
                • - DatabaseInitializer migration 34: ensureColumn for all missing columns
                • - familymember* (5): id, name, birthday, gender, age
                • - EMI psych (4): emotion, resilience, stress_coping, self_awareness
                • - Big Five (6): openness, conscientiousness, extraversion, agreeableness, neuroticism, big_five_overall
                • - child snapshot (20): name, birthday, gender, age, school, grade, grade_class, height, weight,
                • family_status, parent_degree, nation, province, city, district, address, single_child,
                • school_score, urgent_name, urgent_phone
                • - media (4): pics, videos, audio, audio_url
                • - extension (2): process_desc, result_desc
                • (修复Field doesn't have a default value错误)
                • - schema.sql同步: capability_role列+default_role列并存(兼容保留)
                • supply_settlement_detail 4张表 + product_orders追加supply_system_id/
                • supplier_id/supply_commission 3列+索引
                • - schema.sql: product_orders补列 + 追加4张新表定义
                • - supply_system_schema.sql: supplier_user_id→supplier_id(匹配实体) + 补充supply_commission
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • EnergyService.calculateBodyScore Unknown column 'subject_id' 错误)
                • - 迁移32: 创建supply_system/supply_system_member/supply_settlement/
                • supply_settlement_detail 4张表 + product_orders追加supply_system_id/
                • supplier_id/supply_commission 3列+索引 (修复OrderTimeoutCancelTask
                • Unknown column 'supply_system_id' 错误)
                • - ProductDTO.java: add deliveryMethod, rejectReason fields + from() mapping
                • - DatabaseInitializer: migration 32 - ensureColumn for delivery_method, category_id, distribution_system_id
                • - schema.sql: add 3 columns to products table DDL
                • - report-confirm.vue: add colored confidence badge + progress bar
                • - report-confirm.vue: add ranked candidate member list with similarity scores
                • - report-confirm.vue: add auto-create member form with pre-filled extracted data
                • 替代: import E from '@wangeditor/editor' + new E(domRef)
                • 移除: initEditor()方法、beforeDestroy editor.destroy()、editor: null data
                • 新增: editorConfig (MENU_CONF.uploadImage) 传入Editor组件
                • - Add Jupiter 12yr and Saturn 29.5yr cycle phase calculation
                • - Blend 60% Western + 40% Chinese zodiac with Tai Sui relation modifiers
                • - Update controller to accept birthMonth/birthDay, return full fusion result
                • - 6步标准流程:错误定位→查实体→检查schema.sql→加迁移→同步schema.sql→编译验证
                • - ensureColumn() 辅助方法优先使用
                • - 幂等性要求:所有迁移必须可重复执行
                • - 同步原则:schema.sql 与 DatabaseInitializer 保持最终一致
                • - 4种场景代码模板:ADD COLUMN / CREATE TABLE / ADD INDEX / MODIFY COLUMN
                • activity.js: 新增 getAdminList/updateStatus/batchUpdateStatus API
                • ArticleManage.vue: 新增状态筛选/审批操作列/排序拖拽/发布状态切换
                • ArticleEdit.vue: 优化表单校验/状态联动/发布时间记录
                • Activities.vue: 重构列表页 - 新增状态标签/审批弹窗/批量操作
                • ActivityEdit.vue: 优化表单 - 新增状态流转控制/发布时间
                • AdminArticleController: 新增文章管理分页/审核/排序端点
                • Activity: 新增 status/approvalStatus/remark/publishedAt 字段
                • ActivityAdminService: 新增分页查询 + 状态流转(待审核→发布/驳回/下架)
                • AdminActivityController: 新增活动管理完整CRUD + 状态审核端点
                • schema.sql: 新增 ACTIVITY_WAITING_APPROVAL 状态到状态约束
                • 1. 拖动某维度时其他维度同向变化
                • 2. 各维度独立0-100, 总和未保持100%
                • 修复: onWeightChange(changedCode) 将 100-newValue 按比例分配到
                • 其他维度, 确保总和恒为100%。移除 getMaxForDim / getRemaining。
                • - scripts/generate-changelog.js: 从 git log 分类生成变更日志
                • - vue.config.js: 注入 VUE_APP_VERSION / VUE_APP_BUILD_TIME
                • - Dashboard.vue: 版本显示动态化 + 变更日志弹窗
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - Fix playwright.config.js baseURL and viewport for desktop admin
                • - Add dev:h5/build:h5 scripts to cfc-frontend package.json
                • - Fix config.js truncated API URLs
                • - Add ensureLoggedIn() helper with auto-login flow for admin tests
                • - 删除 Layout.vue 侧边栏'工作台'菜单项
                • - 删除 TeacherDashboard.vue(内容已完整集成在 Dashboard.vue)
                • - fix: StatsController.java teacher_status 查询字段修复
                • - 若存在 default_role 但无 capability_role,CHANGE COLUMN 重命名并保留数据
                • - 若两者均不存在,ADD COLUMN capability_role 默认值 parent
                • - 若 capability_role 已存在,跳过
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • 完全覆盖 JAR 内置值;config/ 目录存在时自动加载外部配置
                • - config/application.yml: 新增外部配置模板(数据库/JWT/微信/Dify)
                • - application.yml: 数据库凭据改为 CHANGEME* 占位符,避免内置生产密码
                • - ArticleAdminControllerTest.java: getAdminList mock 补齐参数,update 改用 Map 参数+Result
                • - AdminArticleControllerTest.java: getAdminList mock 补齐参数,update 改用 Map 参数+Result
                • - application.yml: datasource 切到本地 MariaDB (root/cfc123)
                • - PaymentOrder.java: 删除重复的 period 字段
                • - MembershipLevelDTO.java: 删除重复 priceQuarterly,补回缺失的 priceYearly
                • - MigrationController.java: 添加缺失的 java.util.Date import
                • - MembershipController.java: createOrder 调用补第6个参数
                • add VUE_APP_SKIP_CAPTCHA=true for admin build, use git pull --rebase instead of
                • fast-forward merge to handle diverging branches
                • - update activity API and router for admin
                • - cleanup Activities.vue and ArticleManage.vue
                • but the component file was not included. Create it with dimension grid
                • display, score bars, and navigation to detail pages.
                • - Article 实体新增 publishTime, viewCount, likeCount, shareCount 字段
                • - AdminArticleController 重构: 文章 CRUD + 状态机(草稿→待审→已发布/下线)
                • - ArticleService 新增: findByStatusPage, approve/publishArticle, updateViewCount
                • - CommissionController 新增 getTodayCommission
                • - MembershipController 新增按成长值排序接口
                • - MigrationController 新增 getTables, truncateTable 工具方法
                • - DatabaseInitializer 新增 schema_version 表, 版本化迁移, 9个复合索引
                • 小程序前端:
                • - articles.vue 新列表页(160行+), article-detail.vue 文章详情(255行+)
                • - shop/index 店铺首页(+24行), shop/detail 商品详情(+108行), shop/cart 购物车(+13行)
                • - 新增 shop/after-sales/ 售后申请页面, shop/after-sales-detail/ 售后详情页面
                • - promotion/index 推广页面(+167行), discover 页面调整(-10行改动)
                • - 修复 mind-index, body-index, wisdom-index 各页面 member-index 视角切换
                • 管理端:
                • - ArticleManage.vue 文章管理(69行+): 列表/搜索/状态筛选/上下架操作
                • - ArticleEdit.vue 文章编辑(48行+): 富文本编辑, 分类标签选择
                • - KnowledgeTag.vue Knowledge标签管理(134行+): 标签 CRUD
                • - Layout.vue 导航栏调整(-11行)
                • - router/index.js 新增 article/knowledge 路由
                • cfc-web: Element UI tree-shaking 优化配置
                • - 背景替换为暖棕渐变 (#1A0F00 → #4A3020)
                • - 五行沙盘 SVG → CSS 公转五维能量轮盘
                • - 中心家金色徽章 + 脉冲动画
                • - 五维色系节点: 身橙/智紫/富金/行绿/心粉
                • - role-tags 颜色更新: 家庭客户(紫)/服务商(粉)/平台运营(绿)
                • - 右侧表单区保持不变
                • cfc-frontend body/index.vue:
                • - RadarChart → HealthDimensionsSection 组件替换
                • - FamilyRelationGraph: add 暂无其他家庭成员 for 1-member case
                • - action/index.vue: remove outer v-if on FamilyRelationGraph so its
                • own empty state renders when no members
                • - Show 暂无商品 / 登录后查看更多商品 when empty
                • - Matches DimensionActivities empty state pattern
                • Spring @Resource name collision with ActivityService.activityMapper
                • - Rename GuideActivityController.activityService → guideActivityService for consistency
                • - Fix MessageBox prototype registration in cfc-web
                • - Add echarts dependency to cfc-web
                • - 均在 pages/health/ 分包下注册
                • - funcList 6个按钮全部绑定正确页面路径
                • - 修复舌诊路径缺失前缀问题
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • called immediately after in onShow, before activeChildId was set.
                • Result: activeChildId was still null → loadCognitiveReport returned
                • early → cognitiveReport stayed null → radar chart v-if never rendered.
                • after activeChildId is confirmed set (from storage or default to first child).
                • cleanup: remove inline AI entry card from parent-index (replaced by floating avatar)
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - Add product_skus table creation to DatabaseInitializer (was manual-only)
                • - 新增 GuideActivity 实体 + guide_activities 表
                • - 新增 GuideActivityMapper / GuideActivityService
                • - 新增 GuideActivityController (7个端点: list/detail/create/update/publish/cancel/delete)
                • 前端:
                • - api.js 新增 7 个活动管理 API (getActivityList/detail/create/update/publish/cancel/delete)
                • - pages/guide/activities/index.vue — 活动列表 (筛选/新建/发布/取消/删除)
                • - pages/guide/activities/detail.vue — 活动详情页 (create模式+edit模式, 日期选择器, 分类选择)
                • - pages.json 注册 2 个新页面
                • 关键设计: 使用页面跳转 (navigateTo), 无 modal 弹窗, 符合 training-plans 模式
                • cfc-web: article read-only mode for published articles
                • - Edit: draft + never-published only
                • - View: published or ever-published (readonly)
                • - Copy: all states
                • ArticleEdit.vue:
                • - ?readonly=1 → read-only detail mode
                • - Published/ever-published → auto readonly
                • - handleCopyAsNew() for in-place copy
                • - Fix body, mind, wisdom goMoreActivities to use ?type=activity
                • - Fix wisdom goMoreProducts to use ?type=product
                • - Previously various targets: discover/index, discover/index?type=activity&dimension=*, or empty stubs
                • - Applies to: parent-index, child-index, body/, mind/, wisdom/, action/ pages
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • merge
                • - 用于心愿兑换时的积分原子性检查和扣除
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • ArticleAdminControllerTest: create()参数改为Map
                • FamilyMembersControllerTest: setMemberId改为setId
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • FamilyMemberManagementFlowTest: setRelationshipType/setNickname/setEnabled(Integer)/setRecordTitle
                • GrowthRecordSyncFlowTest: @Builder注解/parseReport/recordTitle/移除不存在的controller方法
                • ProductPurchaseFlowTest: setTotalAmount改为Integer/create返回Result包装
                • PlannerBindInviteFlowTest: setServicePrice(Integer)/unbindGuide变量名/setUserId移除/createGuideFamily签名
                • AssessmentOrderFlowTest: 移除不存在的getLatestResult方法
                • DailyCheckinStreakFlowTest: 移除checkAndGrantReward测试/updateCheckin改为Map参数/deleteCheckin(Long,Long)/setCheckinDate(Date)
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - AssessmentAppointmentService: 重构预约服务,删除冗余代码
                • - CreateWishDTO: 新增imageUrl/linkUrl/estimatedPrice字段支持商品型心愿
                • - PaymentService: 新增支付方法扩展
                • - PaymentServiceInterface: 接口同步更新
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - GrowthRecordService: 新增getRecordsByChild(Long childId)方法
                • - GrowthRecordServiceInterface: 接口同步更新
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - DailyCheckinService.deleteCheckin(): (Long) → (Long, Long)
                • - DailyCheckinController: update(Map)/delete(Map)适配新的service签名
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - EnergyService: 新增grantEnergy()(Long,Long,Long,String)和deductForWish(Long,Long,Long)方法
                • - 添加WishMapper依赖用于心愿兑换能量扣除
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - NEW-02: ProductSkuController.listByProduct() 添加productId空值校验防止NPE
                • - NEW-03: ActivityController.publish() 包装try-catch,返回Result.error()而非500
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • config: SfmsDataSourceConfig multi-datasource settings
                • - 新增活动报名/能量规则/商品SKU/订单生命周期/会员体系等新功能
                • - 新增6个完整E2E跨角色业务流程场景
                • - 从80个API用例扩展至120个需求驱动用户故事
                • - issue-tracking/README.md: 补充ISSUE-004/005/006根因分析
                • - 确认全部为测试数据缺失+测试脚本问题,非代码缺陷
                • - 核心根因: children表为空,31个测试家庭无孩子记录
                • - FinanceCheckinController create: 补充 checkinType 必填校验
                • - EnergyController overview: @RequestBody 改为 required=false + null 校验
                • 已清理: unpackage/dist所有缓存,强制重新编译
                • - T1: 会员试用机制 (TrialMembership + ScheduledTask)
                • - T2: 推广数据看板 (CommissionService + StatsController)
                • - T3: 组合套餐/订阅制 (MembershipLevel + PaymentOrder + 折扣体系)
                • - T4: 管理端数据大屏 (Dashboard + ECharts)
                • - T5: 内容裂变 (ShareEvent + ShareRead + 积分奖励)
                • - T6: 推广素材中心 (PromotionMaterial CRUD + 素材库页面)
                • - T7: 积分商城 (PointsExchange + 兑换记录 + mall页面)
                • - T8: 社交关系链 (ContactMatchRequest + 1对1匹配)
                • - T9: 用户分层运营 (UserRfmTag + UserTriggerRule + RFM计算)
                • 数据库迁移: DatabaseInitializer 新增 T5-T9 所有表
                • 前端: 新增 promotion/material.vue, points/mall.vue, membership/upgrade.vue, admin/Dashboard.vue
                • AdminController → ProductOrderService → PaymentService 循环
                • - func-list 拆分为 funcListRow1(前4个) 和 funcListRow2(后4个)
                • - 每行4个按钮均分宽度,图标文字更易读
                • - admin.js: add getEmotionAlertList and resolveEmotionAlert API endpoints
                • - router/index.js: add /emotion-alert route
                • - Layout.vue: add sidebar menu item for emotion alert management
                • - Auto-create FollowUp with 7-day due date and high priority on alert resolution
                • - Query familyId from Child table for follow_up association
                • - MentalHealthScreenService.submitScreen: push crisis alert for severe screening results or suicide ideation
                • - EmotionAlertController: fix NPE in condition checks, add admin role auth check, add /api/mind/admin/alert/list and /api/mind/admin/alert/resolve endpoints
                • - WechatService: add sendTemplateMessage() for alert push via WeChat template messages
                • - application.yml: add alert-template-id config
                • Implementation checklist complete:
                • ✓ DatabaseInitializer.java: version gate + DDL
                • ✓ EmotionAlertController.java: NPE fix + auth + admin endpoints
                • ✓ WechatService.java: sendTemplateMessage()
                • ✓ application.yml: alert-template-id
                • - 后端: 每日健康打卡、饮食/运动/睡眠/饮水记录实体
                • - cfc-web: DimensionWeightPicker 五维权重组件, 集成到活动/文章编辑
                • - cfc-web: 成长任务管理重构, 活动报名审核, 能量规则管理
                • - cfc-frontend: 身体页面 — 运动/睡眠/饮水/饮食记录, 成长曲线, 健康趋势
                • - TrialMembership: 入门会员体验实体与Mapper
                • - 前端页面调整(splash引导页改版)
                • - 调整支付回调路由至商城订单处理
                • - 新增订单发货(ship)/确认收货(confirmReceive)/取消(cancel)
                • - 新增配送方式(快递/自提)支持
                • - 新增ProductSku实体/CRUD/SKU选择器
                • - 新增UserAddress实体/CRUD
                • - 新增OrderItem实体/CRUD
                • - 新增退款申请/审批/拒绝流程
                • - 新增超时取消自动任务
                • - 新增库存乐观锁防超卖
                • - 前端:detail SKU选择器 / checkout skuId传参 / order-list退款操作
                • - 前端:goShop/goDetail导航修复(address已使用CFC API)
                • - SQL: 添加product_skus/user_addresses/order_items扩展表
                • 包含关联更新: Activity/Energy模块扩展, 会员试用TrialMembership实体
                • - 新增 cognitive-recommendations.yml(3-tier × 6维离线任务/游戏/文章推荐)
                • - 新增 CognitiveTrainingConfigService + CognitiveRecommendationDTO
                • - POST /api/cognitive/recommendations — 获取行动清单
                • - POST /api/cognitive/recommendations/create-task — 一键添加任务
                • - cognitive-report.vue 新增「家庭行动建议」区块
                • Phase B1 — 常模参考线
                • - 新增 CognitiveNorm 实体 + cognitive_norms 表 + 种子数据(6维×4年龄带)
                • - 新增 CognitiveNormMapper / CognitiveNormService
                • - POST /api/cognitive/norms — 返回百分位等级(较弱/偏弱/中等/良好/优秀)
                • - 条形图显示同龄中位参考线 + 等级标签
                • Phase B2 — 历史趋势
                • - 新增 CognitiveTrendItemDTO
                • - POST /api/cognitive/trend — 历史六维分数序列
                • - cognitive-report.vue 新增「历史趋势」区块(前后对比表)
                • Phase C — 训练方案系统(规划师端)
                • - 新增 TrainingPlan / TrainingPlanItem / TrainingPlanTask 实体 + schema
                • - 新增 TrainingPlanMapper / TrainingPlanService
                • — CRUD / generateFromRecommendations / deployPlan / getExecutionBoard
                • - 新增 TrainingPlanController(guide端9个端点)
                • - 前端: guide/training-plans/index.vue(列表/生成/下发/删除)
                • - 前端: guide/training-plans/detail.vue(编辑/看板模式)
                • - api.js 新增训练方案相关API(10个方法)
                • parallel via CompletableFuture (ThreadPoolExecutor). Frontend: Dashboard.vue
                • loads all data in one request instead of Promise.all(7).
                • - Add schema_version table for idempotent migrations (version >= 1 skips)
                • - Subsequent app starts: ~8s faster (no ALTER TABLE spam)
                • N queries (one per category) — eliminates N×categories DB roundtrips
                • - calcParentBody: batch-fetch health reports for all children via
                • HealthReportMapper.selectOne with IN(userIds) instead of loop
                • - Removed duplicate jdbc-url/credentials from hikari block (was overriding spring.datasource)
                • - Fixed TrainingPlanService: RecommendationItem -> DimensionRecommendation
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - 主包从 54 页减少至 21 页,符合微信 2MB 限制
                • - 更新 pages.json 配置匹配新的目录结构
                • - 更新 splash 页面使用项目 logo
                • - 修复 report-survey.vue 语法错误
                • - 新增 TongueRecord/IndicatorDefinition/IndicatorValue 实体 + Mapper
                • - 新增 IndicatorService + TongueDiagnosisService(两阶段舌诊流程)
                • - 扩展 AIService:sendTongueDiagnosis + mockTongueResult(开发模式)
                • - HealthReportController 增加 type=tongue 分支(parse/confirm/discard)
                • - 新增 IndicatorAdminController(指标管理 CRUD)
                • - 前端:tongue-index.vue 全流程页 + body/index.vue 雷达图 + func-grid 改舌诊
                • - 前端 API:4个新接口(parseTonguePreview/confirmTongue/discardTongue/getIndicatorDefinitions)
                • - cfc-web:indicators/index.vue 指标管理页 + 路由注册
                • - DistributionService: add getUserTeams, getTeamTree, getUserPosition,
                • getTeamMembers, updateMemberTeam methods
                • - AdminVirtualTeamController: 9 endpoints for virtual team CRUD + member mgmt
                • - cfc-web admin: VirtualTeamList.vue + VirtualTeamDetail.vue pages
                • - Router + sidebar: virtual team menu items under system config
                • pages.json: 重构小程序页面路由结构
                • Admin/Product/VendorController: @RequestHeader(X-User-Id)统一为@RequestAttribute(userId)
                • schema.sql: articles表增加article_type和word_count字段
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - 重排页面区块顺序:RadarChart → 关系图谱 → 快捷入口 → 功能入口
                • - 移除WisdomTips组件引用及五个废弃区块(cognition-summary, highlight-card, tips-list, quick-actions, bottom-spacer)
                • - 创建DimensionArticles共享组件,遵循DimensionTasks/DimensionActivities/DimensionProducts模式
                • - 智页面推荐阅读区域改用DimensionArticles组件,去除模板重复
                • - permissions: nutritionist增加diet:*权限, 组级权限匹配(无冒号prefix)
                • - router: rewards perm改family:rewards, 新增wishes路由, 审核菜单perm细分(audit:package/guide/vendor)
                • - RelationshipQualityController: 注入UserMapper,getHealthAlerts/getMilestones
                • 从JWT token推导familyId,不再强求请求体传familyId
                • - 后端: DatabaseInitializer新增interaction_logs/relationship问卷表
                • - 后端: FamilyMember实体新增关系质量相关字段
                • - 前端: interaction-log.vue + relationship-questionnaire.vue页面
                • - 前端: family-members.vue关系编辑增强
                • - 前端: wisdom_temp/下5个临时页面
                • - 前端: pages.json注册新页面路由
                • - api.js: 移除danshopRequest/goodsCategory,所有danshop*函数改用request()
                • - coupons.vue: 添加statusClassMap computed替代方法调用
                • - upgrade.vue: 修复template单根元素+重新缩进
                • - 快捷操作区添加'返回首页'按钮及 goHome() 方法
                • - 添加 jest/playwright 测试配置
                • - 修复 membership/upgrade.vue 模板多根节点错误(wrapper 包裹)
                • - 表格新增列: 封面图/活动类型/地点/费用(元)/人数
                • - 复用 /api/admin/articles/upload/image 上传接口
                • - 价格前端用元展示,后端存分
                • - 后端 ActivityService 无需修改(已支持所有字段)
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - Removed standalone #pillars section
                • - Removed nav link for #pillars (now accessible via 浠艾福)
                • - Renamed: 幸福三支柱 → 幸福支柱
                • - Renamed: 四大核心能力·数据到行动的闭环 → 核心能力
                • - Renamed: 五行相生相克 · 五维动态平衡 → 能量维度 (subtitle: 五大能量维度 · 动态平衡)
                • - Updated nav with new names and order
                • but the IntersectionObserver in main.js did not include .pillar-card in
                • its querySelectorAll list. The cards were never observed and never got
                • the .visible class, making them permanently invisible.
                • Three pillar cards with mapping to five dimensions:
                • - 衣食无忧 → 身 + 富 (保命保财, 家庭物理底盘)
                • - 受人尊敬 → 智 + 行 (内外兼修, 社会价值彰显)
                • - 子女传承 → 心 + 智 (爱与智慧, 传承有质量)
                • CSS: responsive pillar card layout with hover effects, dimension badge colors matching the five-dimension scheme, mobile breakpoints at 768px and 480px.
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - 衣食无忧 → 身(根基)+ 富(源泉)
                • - 受人尊敬 → 智(内核)+ 行(外显)
                • - 子女传承 → 心(纽带)+ 智(质量)
                • 新增映射逻辑解读行,清晰说明每个目标如何落地到五维行动体系。
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - 身强体健(身 · 主动健康):健康是一切幸福的根基
                • - 关系和谐(行 · 人际和谐):家庭幸福源于人际和谐
                • 原有三支柱(衣食无忧/子女传承/受人尊敬)保持不变。
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - dimension-config.vue: health norm config table with el-dialog edit
                • - data-source-config.vue: health data source CRUD table
                • - 3 unit test files (DimensionScoreService, ProductOrderService, DifySyncService)
                • - router: add /health-norm-config and /health-data-source routes
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • growth_plans/growth_records/task_templates等表,以及后端DTO/Entity/Service/Controller、
                • 前端页面和文档中的对应引用。
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - EMI: emotion_score, resilience_score, stress_coping_score, self_awareness_score
                • - Big Five: openness, conscientiousness, extraversion, agreeableness, neuroticism, big_five_overall_score
                • Also cleanup: remove leftover merge conflict markers from DatabaseInitializer and delete legacy UserAddressController (superseded by new module).
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - 移除index.vue内联splash覆盖层(由独立splash.vue页面替代)
                • - 新增tab-transition.vue组件:五维品牌过渡(行/身/智/心/富)
                • - 5个tabbar页集成tab-transition:onShow时显示1.1秒过渡
                • - 修复health-dimensions.vue的getSpokeStyle方法调用兼容性
                • - 会员体系: MembershipService, PackagePaymentService, 会员升级/续费接口
                • - 推广裂变: ReferralLeaderboard(排行榜), InviteMilestone(里程碑), Coupon(优惠券)
                • - 成长任务: GrowthTask + GrowthTaskLog 实体/Service/Controller
                • - 分佣扩展: CommissionService 新增分佣逻辑
                • - 定时任务: LeaderboardWeeklyResetTask 每周排行榜重置
                • - 数据库: schema.sql 新增相关表结构
                • Frontend(小程序):
                • - 会员/推广: upgrade.vue, promotion/index.vue, invite.vue, leaderboard.vue
                • - 优惠券/成长任务: coupons.vue, daily-tasks.vue, onboarding.vue
                • - 导航/API: ProfileMenu 新增入口, api.js 新增接口
                • Admin(管理端):
                • - 优惠券管理 CouponManagement.vue
                • - 成长任务管理 GrowthTaskManagement.vue
                • - 推广管理 PromotionManagement.vue
                • - Layout/路由: 新增管理菜单项
                • 测试:
                • - e2e: test-promotion-flow.sh 推广流程测试脚本
                • && echo DONE
                • - Product list: ProductController/Service, DimensionProducts component
                • - AI recommendations: RecommendationService (tag-based LIKE), DifySyncService (TODO)
                • - Energy on purchase: NOT implemented - ProductOrder.pay() doesn't call awardEnergy()
                • - Proposed improvements documented in Section 8.2
                • - Frontend: promotion pages (team list, invite), SharePoster component, API helpers
                • - pages.json: add /promotion/share route
                • to design doc spec (growth/sleep/vision/immunity/nutrition/gut/exercise)
                • - Includes: DB migration (3 tables), entity remodel, percentile engine,
                • data source tier priority, gut flora report mapping
                • - Design spec: 7-dim model definition, mapping matrix, architecture notes
                • - 后端: family_members 主表 + relationship_types 配置表+种子数据
                • - 后端: 手机号关联已注册用户, capability_role→权限映射
                • - 前端: add-member.vue 统一添加入口, family-members.vue 改版
                • - 前端: store新增switchToMember/switchBackFromMember
                • - 前端: index.vue 修复 _doInit 方法位置, health-report.vue 修复:class方法调用
                • - 管理端: RelationshipTypes.vue CRUD完整功能
                • - 编译通过, AGENTS.md 更新验证策略
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - 新增 RelationshipPicker.vue 可复用组件(自动加载关系类型列表,v-model 双向绑定)
                • - add-member.vue 改用 RelationshipPicker 替代内联 picker
                • - family-members.vue 增加编辑成员关系类型功能(弹窗+保存)
                • - docs/运营推广设计/IMPLEMENTATION_PLAN.md: 完整实施计划(19个待办事项,含验收标准、QA场景、引用路径)
                • 功能范围:
                • P0(补全占位): 分享邀请卡、推广团队页、微信转发
                • P1(激活+变现): 新手任务、每日任务、优惠券系统
                • P2(裂变放大): 邀请里程碑、推广排行榜
                • 含管理端3个页面
                • 分支: cfclub
                • - 自己出题自己答四步交互流程
                • - 训练中心 2 游戏入口(舒尔特+猜数字)
                • - 认知报告 7→6 维修正(DAN六维标准)
                • - FamilyRelationGraph wisdom 支持
                • - Phase 2 待办清单
                • - DB: health_dimension_score, health_data_source_record, health_norm_reference tables
                • - Entities: HealthDimensionScore, HealthDataSourceRecord, HealthNormReference
                • - Mappers: HealthDimensionScoreMapper, HealthDataSourceRecordMapper, HealthNormReferenceMapper
                • - Services: HealthDimensionScoreService, HealthDataSourceRecordService, DimensionScoreService
                • - Controller: HealthDimensionController with /overview, /upload, /questionnaire, /history endpoints
                • - Frontend: pages/body/health-dimensions.vue with CSS radar chart
                • - Gut report integration:肠道健康评分 saved as body dimension score
                • - API: getDimensionOverview, uploadDimensionScore
                • Compile fixes (pre-existing bugs blocking build):
                • - DimensionScoreVO: add 5-arg constructor for DEFAULT_DIMENSIONS
                • - HealthReportController: add BigDecimal import, Integer->BigDecimal conversion
                • - DatabaseInitializer: fix batchUpdate(Object[][]) -> Arrays.asList(Object[][])
                • - Result.ok() -> Result.success() in EmotionCheckinController, MindController, TraditionalMirrorController
                • - AIService: add moodScore, emotionType, stressLevel fields to EmotionCheckin entity
                • Other additions from previous session:
                • - EmotionCheckin flow (controller, service, mapper, DTOs)
                • - BaziReadingTemplate and NumSoulConfig entities with seed data
                • - HealthReportPermission entity and mapper
                • Backend compiles: mvn clean compile BUILD SUCCESS
                • Frontend: pages.json + api.js + health-dimensions.vue + food-list.vue
                • - Web端: Activities.vue重写,使用api/activity.js封装,完整CRUD+分页+状态筛选
                • - Web端: ActivityReview.vue重写,实现真实审核通过/驳回(draft→publish/reject)
                • - Web端: 新增api/activity.js(6个API函数)
                • - 小程序: 新增vendor/product-edit商品编辑页(创建+编辑双模式)
                • - 修复: 移除Vue文件中直接axios调用和可选链?.
                • - 22个问题精简为11个,聚焦家长最关心的核心问题
                • - 健康档案类问题从纯菌群检测改回健康数据中心定位
                • - 删除过技术化的16S rRNA、过度细碎的多个家庭/长辈问题
                • 销售文案:
                • - 对标滴滴企业版痛点-方案-数据三段式结构
                • - 面向家长群体,5个痛点覆盖散装育儿/健康管理/成长记录/夫妻沟通/服务商选择
                • - 书宁老师 13701366188
                • - 新增菌群检测适用年龄/周期/技术科普、精准健康方案、
                • 规划师服务、五维评估流程、多孩管理、长辈使用、
                • 付费模式、AI教育对比、五行应用、数据安全等问答
                • - 前端可见#faq区同步扩展至20条,内容与结构化数据一致
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - Add ShoppingList, ShoppingListItem entities
                • - Add FollowUp entity
                • - Add UserFoodPreference entity
                • - Add corresponding Mapper interfaces
                • - Update DatabaseInitializer and Food entity
                • - 营养师健康报告/指标管理页面
                • - 新增营养映射管理页面(NutritionMappings)
                • - 路由配置更新支持营养功能
                • - Layout布局适配
                • - 新增健康报告详情页(body/health-report.vue)
                • - 家长首页(parent-index)大改版,增加营养板块
                • - 扩展API接口支持营养功能
                • - pages.json路由配置更新
                • - 扩展健康报告分析服务(肠道菌群/营养评分)
                • - 饮食推荐服务完善(季节食材过滤/候选人筛选)
                • - 数据库初始化增加营养相关表
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • parent-index.vue / child-index.vue 集成引导浮层+storage 触发
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • 发现页:emoji 4 卡片替换为五维价值矩阵(身🌏心🔥智⚡行🌿富💧)
                • 角色切换:transition fade out-in 0.3s 淡入淡出
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • 新
                • - feat(faq): Add FAQ section with 8 Q&As + wired FAQPage schema
                • - feat(stats): Add social proof stats bar (120K+/40K+/1K+)
                • - feat(testimonials): Add testimonial section with 3 user review cards
                • - feat(cta): Add 扫码体验 CTA button in hero linking to #contact
                • - feat(content): Deepened DAN and 菌群检测 product card descriptions
                • web: 强化家庭会员概念 - 产品概览增加会员制副标题,角色卡标注会员主体
                • web: 文案覆盖成人用户,评估维度明确为身智心行
                • web: 核心功能重构为识别诊断→个性化方案→跟踪执行→成果检验闭环
                • web: 核心功能改为功能闭环(含导航和页脚)
                • web: 幸福三支柱改为平台角色并锚点到#roles,五维幸福维度改为幸福维度
                • web: 顶部核核心产品标签改为产品概览,下区分两个核心产品
                • web: 移除三支柱卡片,内容合并进产品区引言
                • web: AI区标题改为六大AI引擎,专业知识库+大模型
                • web: 统计数据改为3/4/5/6并添加锚点链接
                • web: 核心产品替换健康好水为精准营养方案
                • web: 小程序码放大至180px便于扫码
                • web: 客户角色卡替换SVG占位符为真实小程序码
                • web: 添加浠艾福小程序码(cf.jpg)到联系我们区域
                • 上传文件至 'web'
                • web: 五维卡片SVG插图 - 船体上宽下窄/¥抽象为帆/鱼放大
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • 2. uploadReport: gut_flora段补充symptoms设置+ParsedIndicator新增symptoms字段
                • 3. 新增UserNutritionProfile模块(Mapper/Service/Controller),MealRecommendService改用数据库偏好
                • 4. 小程序新增recipe-detail.vue和preference.vue+pages.json注册+api.js接口
                • 5. filterCandidates增加卡路里上限过滤(>2400kcal排除)
                • - 行维度重新定义为人际和谐(关系建设)
                • - 新增幸福三支柱章节(衣食无忧/子女传承/受人尊敬)
                • - 新增五行相生相克关系说明
                • - 新增企业官网介绍与目录结构
                • - 新增 nginx 部署配置说明
                • - 更新公司及产品介绍对齐官网文案
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Plan covers: 5 tasks — skeleton, Canvas lines, interaction, unit tests, integration verification.
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - View layer (flexbox) for nodes — conditional layout per member count
                • - Canvas layer (type=2d) for self-to-other relation lines
                • - Energy value mapped to avatar size (not ring progress bar)
                • - Native View @tap replaces manual Canvas hit detection
                • - Removes: polarLayout, drawMember, drawMemberLegacy, drawMemberShape, drawEnergyRing, initCanvas, onCanvasTap
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - FamilyInvitation entity + mapper(邀请令牌)
                • - FamilyInvitationService(生成/校验/接受/合并/转让)
                • - 5个API端点:/generate, /validate, /accept, /check-family, /transfer-admin
                • - WechatService.generateWxacode() 小程序码生成(降级ZXing QR)
                • - DatabaseInitializer 添加 family_invitations 表迁移
                • 新增小程序端:
                • - pages/invite/join.vue(扫码落地页:登录+身份选择+合并)
                • - App.vue handleScene() 处理 wxacode 场景值
                • - api.js 新增 5 个 API 方法
                • - pages.json 注册邀请页路由
                • 数据流:扫码 → scene=invite={token} → App.vue解析 → 跳转join页
                • → 登录 → 选身份 → 调/accept → 加入成功
                • ProfileHeader (user card + energy + role switch)
                • ProfileStats (action data + wealth data + referral code)
                • ProfileBadges (badge grid with API/local fallback)
                • ProfileGrowth (growth report card)
                • ProfileMenu (menu list + password modal + logout)
                • ProfileMenu emits invite-generate to parent to preserve shareData
                • - rewards.vue: remove duplicate loadRewards() method (second
                • overrode the first, first correctly reads currentRole from storage)
                • - Create pages/meal/recommend.vue (AI recipe recommendation)
                • - Create pages/meal/log.vue (meal logging + nutrition summary)
                • - Register meal subpackage in pages.json
                • - Create web admin src/api/diet.js (13 API functions)
                • - Create admin Foods.vue, Recipes.vue, SeasonalFoods.vue pages
                • - Add admin diet routes to router/index.js
                • - Add '饮食管理' menu section to Layout.vue sidebar
                • - Add 4 mappers: FoodMapper, RecipeMapper, SeasonalFoodMapper, MealLogMapper
                • - Add 5 services: FoodService, RecipeService, SeasonalFoodService, MealLogService, MealRecommendService
                • - Add 2 DTOs: RecommendationContext, MealRecommendResult
                • - Add MealRecommendController (/api/meal/*) for recipe recommendations, food replacement, meal logging
                • - Add 3 admin controllers: AdminFoodController, AdminRecipeController, AdminSeasonalController
                • - Add DDL for 4 new tables in DatabaseInitializer
                • - Fix: add matchChildIdByName to HealthReportService (needed for remote PDF parsing feature)
                • - HealthReportController: POST /api/health/report/upload (multipart upload)
                • - HealthReportService: 事务写入报告/指标/菌群/疾病风险四表
                • - DatabaseInitializer: ALTER TABLE 迁移新增字段
                • - report-upload.vue: 新增PDF文件选择+上传组件
                • - health-report.vue: 新增SVG环形评分仪表盘可视化
                • - App.vue: onShow 同步 storage → Vuex token
                • - login.vue: 移除 setTimeout,登录后 Promise 链内直接跳转
                • - Article: add submittedBy, reviewedBy, reviewedAt, reviewComment, sourceType, sourceUrl fields
                • - ArticleService: submit, review, getPendingList, getUserSubmissions methods
                • - ArticleController: /submit, /my-submissions, /fetch-link, /upload/document endpoints
                • - AdminArticleController: /review, /pending-list endpoints
                • - PdfParseService + DTOs: parse gut flora PDF reports (ParsedReportResult, ParsedGutFlora, etc.)
                • - HealthReport/HealthGutFlora entities: report upload and storage
                • - HealthReportController: report upload + parsing endpoints
                • - Activity: add fields and endpoints
                • - DatabaseInitializer: schema updates
                • Frontend (mini-program):
                • - pages.json: register new pages
                • - body/index.vue + member-body-detail.vue: health report UI
                • - action/index.vue + member-action-detail.vue: activity UI
                • - mind: article-detail, index, member-mind-detail updates
                • - child-index.vue: updates
                • - api.js: new API endpoints
                • specs: add growth record rebuild design
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - ActivityControllerTest - 活动管理员 API
                • - ArticleAdminControllerTest - 文章管理员 API
                • - GuideRolePermissionTest - 规划师权限边界
                • - HealthReportControllerTest - 营养调理师 API
                • 修复编译错误 (24 个):
                • - BigDecimal->Integer 分制: GuidePackageServiceTest, GuideModuleIntegrationTest,
                • GuideFamilyServiceTest, ServiceContentServiceTest, GuideOrderControllerTest,
                • GuidePackageTemplateServiceTest
                • - .toList()->.collect(Collectors.toList()) (Java 1.8): ActivityControllerTest
                • - void mock doNothing: HealthReportControllerTest
                • 文档: test-inventory.md(32文件/324用例), test-report.md(485全量)
                • plan: dimension knowledge base implementation plan (17 tasks, 4 phases)
                • specs: add dimension + knowledge base design
                • 4 frontend components, 2 admin pages.
                • Co-authored-by: Sisyphus sisyphus@ohmyopencode.dev
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - AdminAuthController: allow nutritionist/activity_admin/article_admin roles
                • - Auto-detect role on login for new role types
                • Frontend (cfc-web):
                • - Router: role-based route access control (admin bypasses all)
                • - Layout.vue: role-specific sidebar menus
                • - Add Activities.vue route for activity_admin
                • - Add .omo/ to gitignore
                • - docs: family-relation-graph plan and spec
                • - docs: mind-page dual-tab plan
                • - docs: profile-page redesign plan and spec
                • - docs: precise nurture recommendation spec
                • - test: article CRUD controller/service tests
                • - test: update test-cases and test-inventory
                • - fix: InternalApiController, DanshopMigrationService, ArticleEdit
                • - chore: cfc-web router/request/vue.config adjustments
                • 后端原未返回该字段,growthReport.monthActiveDays 始终为 0。
                • 改为统计当月有积分变动的天数。
                • Co-authored-by: Sisyphus sisyphus@ohmyopencode.dev
                • - 功能菜单4组分组(个人/财富/服务/设置)
                • - 邀请合并为ActionSheet选择类型
                • - 勋章墙3×3网格,优先调后端Badge API
                • - 成长报告真实数据(复用 /api/stats/child/overview)
                • - mind/index.vue: 心理Tab新增心愿单入口
                • - onCancel uses danshopOrderCancel (was productOrderCancel CFC)
                • - onConfirmReceive uses orderNo param (was orderId)
                • - onBuyAgain navigates to shop/detail (was discover/product-detail)
                • Co-authored-by: Sisyphus sisyphus@ohmyopencode.dev
                • instead of calling CFC productOrderPay which had wrong order system
                • - order-list: onCancel() → danshopOrderCancel (DanShop) not productOrderCancel (CFC)
                • - order-list: onConfirm() → danshopOrderConfirm (DanShop) not productOrderConfirm (CFC)
                • - checkout: fix address selection eventChannel — both events{} and success{}
                • callbacks now set selectedAddress (was empty stub, blocking order creation)
                • Co-authored-by: Sisyphus sisyphus@ohmyopencode.dev
                • - Add cfc-frontend unit tests:
                • - API tests (115): all modules (auth, streets, user, family, tasks, points, wishes, guide, payment, mini-games, growth, energy, badges, articles, contact, vendor, product, commission, stats, AI chat, health report, danshop, etc.)
                • - Store tests (14): all mutations + actions
                • - Config tests (7): all environments + helpers
                • - Format utils tests (11): formatPrice/rate/score
                • - Fix danshop route changes (/danshop/ -> /api/shop/)
                • - Fix config DANSHOP_BASE_URL (8888 -> 9081)
                • - Fix productList method (GET -> POST)
                • - Add 8 new API tests (health report, report survey)
                • - Update test-report.md (211 frontend tests passing)
                • cfc-frontend: 153 passed
                • cfc-web: 44 passed
                • e2e: 14 passed
                • Total: 211 passed (100%)
                • - Tab栏:心·心理 / 智·认知 双Tab切换
                • - 心理Tab:EMI心理四维、大五人格、每日心理、推荐阅读(心理相关)
                • - 认知Tab:DAN综合认知评分、六维雷达图、认知训练、阅读统计、推荐阅读(认知相关)
                • - Tab切换时活动/商品跟随切换维度(mind/wisdom)
                • - 推荐阅读根据文章 relatedDimensions 按Tab筛选
                • - DanshopPaymentRecord: 支付代理记录实体+Mapper
                • - DanshopMigrationService: 批量迁移用户/商品到DanShop
                • - DanshopMigrationController: 迁移触发端点
                • - application.yml: 新增wechat.danshop-notify-url配置
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - A1: FamilyEnergyBar 成员导航 — 页面已存在且已注册,无需修改
                • - A6: 修复 parent-index.vue 模板孤立 @moreProducts 标签
                • - A4: child-index.vue onDomainClick 追加 childId 参数
                • - A5: 补充运动类/艺术类/家务类成就徽章解锁逻辑
                • - A2: 移除 DimensionActivities 组件自加载 API(父组件已传 prop)
                • - A3: 移除 DimensionProducts 组件自加载 API(父组件已传 prop)
                • - A7: wuxing-sandbox preview 模式缓存随机值(Storage 持久化)
                • - A8: FamilyMemberCard roleLabel 增加前端兜底显示
                • - A9: 收紧 parent-index 降级路径成员过滤条件,移除 !c.role
                • - A10: FamilyMemberStrip scroll-view 增加固定高度 160rpx
                • 防止唯一键冲突
                • - 修复 GuideApplicationServiceTest(2用例):添加 @MockBean
                • GuideApplicationRecordMapper,避免 addRecord() 真实写入 DB
                • - 修复 AuthControllerTest(1用例):移除不必要的 doNothing() 调用
                • - 新增 5 个测试文件(AuthControllerTest 39用例, WishControllerTest 27用例,
                • TaskControllerTest 19用例, FamilyControllerTest 10用例,
                • StatsControllerTest 6用例)
                • - 更新 test-inventory.md 和 test-report.md 测试文档
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - 主目录仅保留当前有效文档
                • - 新增 docs/CHANGELOG.md 变更记录
                • - 行远页新增「重要关系维护」功能设计 (spec + plan)
                • - 新增 Contact 实体/API 设计
                • - 心智页能量柱改为堆叠图(心+智叠加)
                • - 私密活动可见性扩展为 visibility/visibleScope/visibleTo 三字段模型
                • - DanAssessmentResult: EMI 4 字段 (emotion_management/empathy/social_adaptability/self_motivation)
                • - User: +birthHour 出生时辰
                • - family_member_attributes: 新结构 (member_id/member_type/birth_datetime/eight_characters/wuxing_elements/mind_base_score/wisdom_base_score/behavior_modifier)
                • - schema.sql + DatabaseInitializer 全面更新
                • Phase 1: 心智计算
                • - FamilyMemberAttributeService: autoCalculate(生肖/八字四柱/五行星盘/生命灵数) + calcInnateScore
                • - FamilyAttributeController: /api/family/attributes/{update,get,calculate}
                • - EnergyService: calcChildMind=EMI 70%+先天30%+行为修正; calcChildWisdom=COG 70%+先天30%+行为修正
                • - FinanceCheckinService: +awardEnergy 接入
                • Phase 2-3: 前端
                • - user-edit.vue: +出生时辰选择器
                • - cognitive-report.vue: 认知测评报告页
                • - health_reports: child_id→user_id
                • 已实现降级策略: DAN→先天→任务完成率
                • - docs: 新增 v1.2-心智增强-版本计划.md(阶段划分/交付物/验收标准)
                • - docs: 新增 v1.2-心智增强-阶段总结.md(5路代码审计 + 需求确认 + 19项实施任务)
                • - feat: 会员与分销体系(Membership CRUD/升级/佣金/提现/邀请)
                • - feat: 财富维度页面(记账打卡/保单管理/财富首页/保险添加)
                • - feat: 教育后台管理 + 健康报告实体/服务/控制器
                • - feat: 规划师端测评管理/团队管理 + 认知评分服务
                • - feat: 前端 TabBar 5标签重构 + 身体/行动/发现/商城/教师页面
                • - refactor: 前端组件化(PageBanner/RadarChart/TaskItem/BadgeGrid/EnergyWeekCard)
                • - refactor: 后端服务拆分(EnergyService/HealthReport/Commission/FinanceCheckin)
                • - chore: 配置更新(application.yml/pom.xml/schema.sql/schema_assessment.sql)
                • - AGENTS.md: add energy/commission/article/badge module entries
                • - .env.development: remove (should not be tracked)
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - Plans: module development plan, wuxing layout update, wuxing sandbox refactor, article publishing, energy system
                • - Specs: wuxing sandbox refactor design, body dimension energy, remaining dimensions energy
                • - Analysis: domain comparison (亲子 vs 个人健康/关系维护/康养/认知提升)
                • - product-plan/ directory
                • - Updated: pre-login discovery plan/spec, 需求分析文档, 小程序页面重设计划
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • New API modules: article.js, energy.js
                • Updated: admin.js (new endpoints), router/index.js (new routes), Layout.vue (nav items)
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - body/: 身体健康维度页面 (body dimension)
                • - energy/: 能量中心 (energy center hub + history)
                • - mind/: 心理健康维度页面 (mental health dimension)
                • - promotion/: 推广中心 (referral/promotion hub + invites + commissions + team)
                • - games/records.vue + stats.vue: 游戏记录/统计
                • - rewards/badge.vue: 徽章展示页
                • - stats/index.vue: 统计概览
                • Updated pages: index (parent/child), discover, profile, login, shop, membership, tasks (child/review), wishes, games/list, config.js
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - Rewrite custom-tab-bar/index.vue for new TabBar pages [body, mind, profile]
                • - Updated uni.scss with new page variables and energy/promotion theme colors
                • - PlayfulButton/PlayfulCard: gamified UI primitives with wǔxíng animations
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - Move non-TabBar pages to subPackages (teacher, guide, parent, child, tasks, wishes, rewards, games, assessment, growth, shop, vendor, stats, promotion, energy, membership)
                • - TabBar changed: [index/discover/shop/profile] -> [index/body/mind/profile]
                • - manifest.json: lazyCodeLoading, name/description update
                • - package-lock.json: rename zxyj -> cfc
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - Java 包: com.zxyj → com.etotem.cfc (主程序 + 测试)
                • - pom.xml groupId/artifactId/name, application.yml 数据库/JWT 配置
                • - AGENTS.md, DESIGN.md, README.md 引用更新
                • - 前端/Web package.json name 更新
                • - 分支: feature/modules-A-E-complete → cfclub
                • - 实施计划:12个任务,从DB迁移到前端集成完整流程
                • - 健康指数算法待定,先返回0占位
                • @RequestHeader 读取导致的 401 错误。改用 request.setAttribute +
                • @RequestAttribute 模式,JwtInterceptor 同时设置两处确保兼容性。
                • T12-T14: Web admin product/order/config management
                • - OrderManage.vue: admin order list with status filter, detail dialog
                • - SysConfig.vue: admin config CRUD with inline edit dialog
                • - admin.js: product/order/config API functions aligned with backend paths
                • - router/index.js: ProductManage/OrderManage/SysConfig routes + adminRoutes list update
                • - Layout.vue: sidebar menu items for product-manage, order-manage, sys-config
                • T7-T11: Frontend product system pages
                • - discover/index: real product grid replacing hard-coded cards, filter chips
                • - NEW product-detail: cover, name, price, buy flow, create order + pay
                • - NEW order-list: status tabs, order cards, pay/cancel/confirm actions
                • - NEW order-detail: order detail with bottom action bar
                • - NEW vendor/products: vendor product list with shelve/edit actions
                • - NEW vendor/orders: vendor order list with confirm action
                • - vendor/center: fixed navigation methods
                • - pages.json: registered all 5 new pages
                • - 新增 familyRole 字段支持家长身份 (爸爸/妈妈/姥姥等)
                • - 新增 Family.creatorId 标识家庭管理员
                • - 实现家庭成员管理及踢出功能
                • 模块 B: 家长邀请规划师
                • - 优化 InviteCardService.acceptGuide 自动绑定规划师到家庭
                • - 前端增加邀请规划师入口
                • 模块 C: DAN 测评购买改造
                • - AssessmentOrderController.createOrder 支持 guideId 可选
                • - 自动从 Family.teacherId 分配规划师
                • - 前端支持'由系统安排'选项
                • 模块 D: 规划师邀请家长
                • - 新增 /api/guide/parent-invite/generate 生成邀请码
                • - 新增 /api/guide/parent-invite/accept 接受邀请
                • - 自动创建成长档案并绑定规划师
                • - 前端支持邀请码生成和接受流程
                • 模块 E: 成长档案 + 测评购买一体化
                • - 新增 /api/growth/record/create-with-order 合并接口
                • - 前端增加'同时购买 DAN 测评'选项
                • - 支持创建后直接跳转支付
                • 技术改进:
                • - 统一使用 @PostMapping 规范
                • - 优化 InviteCard 生成逻辑支持 parent_invite 类型
                • - 前端支持邀请码自动识别和处理
                • - superpowers: 新增规划文档(家长端重设计/邀请码流程)
                • - 新增logo和specs文档
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - TaskStatsService: 任务统计服务
                • - GuideApplicationRecord: 规划师申请记录实体和Mapper
                • - stats包: 统计相关控制器
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - index.html: 标题和meta更新
                • - package.json: 添加element-ui依赖
                • - 移除 pnpm-lock.yaml (改用npm)
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - TeacherMessages: 规划师消息管理功能完善
                • - TeacherDashboard/TeacherFamilies: 仪表盘和家庭管理优化
                • - TeacherAssessment/TeacherTeam: 测评和团队管理增强
                • - Dashboard/GuideAudit/Users: 管理员看板和审核功能优化
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - 登录页(login): 优化验证码和登录流程
                • - 心愿/任务/兑换: 交互细节优化
                • - 成长档案/规划师注册: 页面完善
                • - 新增 child-detail 孩子详情页
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - 测评订单和预约: 新增字段和业务逻辑优化
                • - 成长档案: 服务逻辑完善
                • - 认证和家庭绑定: 流程优化
                • - DatabaseInitializer: 数据库初始化脚本同步
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - GuideManagementController: 完善邀请码生成和规划师申请流程
                • - TeacherMessageController: 老师消息回复接口优化
                • - GuideFamilyService/GuideApplicationService: 家庭绑定和申请服务增强
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - AdminAuthController: 锁标识从纯IP改为phone+ip组合
                • - UserService.resetPassword: 改用encryptPassword统一盐值(xzyjsalt)
                • - 修复管理员重置密码后用户无法登录的问题
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - 需求分析文档V2.0:对比需求文档与代码实现,标注完成状态
                • - 新增测试清单文档
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - router/index.js:新增teacher路由组+权限守卫
                • - Login.vue:登录页优化
                • - 修正API路径(teacher-message→guide/messages, guide/my/packages→guide/packages/my)
                • - 修正assessment API方法GET→POST
                • - 新增guidePackage/guideTask/teacherMessage API模块
                • - 新增TeacherAssessment/TeacherOrders视图
                • - 添加jest/babel配置和测试框架
                • - 更新依赖(pnpm-lock)
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - GuideOrderControllerTest:订单列表和统计测试
                • - GuideTeamControllerTest:团队管理测试
                • - GuideApplicationServiceTest:申请审核测试
                • - GuideFamilyServiceTest:家庭绑定测试
                • - GuideHierarchyServiceTest:层级关系测试
                • - GuidePackageServiceTest:套餐管理测试
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - 新增SwitchRoleDTO角色切换DTO
                • - UserService重构:完整实现directRegister/isPhoneRegistered,新增switchRole/registerWithInviteCode/resetPassword
                • - UserServiceInterface添加缺失方法声明
                • - 新增GrowthPlanMapper支持成长规划表数据迁移
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - 修复AuthController手机号/身份证格式校验
                • - 新增GuidePackageController /my端点解决路由404
                • - GuideOrderController查询逻辑优化
                • - GuideTeamController团队功能增强
                • - GuideController路由重定向处理
                • - DataMigrationController + MigrationController新增迁移端点
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - DataMigrationService实现9步数据迁移
                • - 更新DatabaseInitializer添加数据库表和字段迁移
                • - ZxyjApplication排除DataSourceAutoConfiguration
                • - application.yml添加sfms数据源配置
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - guide_packages表: 移除IF NOT EXISTS, 新增teacher_id/template_id改为NULL
                • - assessment_appointments表: 移除IF NOT EXISTS
                • - GuideModuleIntegrationTest: 修正套餐创建使用TaskTemplatePackage(非GuidePackageTemplate)
                • - 使用CreatePackageDTO + taskTemplatePackageService.createPackage()
                • - 添加cycleDays必填字段
                • - 新增重复创建验证替代原价格校验
                • - TeacherLoginTest: 补全users表NOT NULL字段(openid, familyId)
                • - 修正role为ENUM有效值(teacher), 使用roles字段测试多角色
                • - 所有Service实现类添加implements XxxServiceInterface
                • - MediaRecordService和StorageService(旧接口) extends对应新接口
                • - 修正接口方法签名与实现类一致:
                • - TaskReminderServiceInterface: 基于Task实体(无TaskReminder实体)
                • - PaymentServiceInterface: 基于PackageOrder实体(无Payment实体)
                • - BindInviteServiceInterface: 基于GuideFamily(无BindInvite实体)
                • - LoginAttemptServiceInterface: 内存实现(无LoginAttempt实体)
                • - DataMigrationServiceInterface: 仅runMigration方法
                • - PointsServiceInterface: 基于PointsLog实体
                • - MembershipServiceInterface: 基于FamilyMembership实体
                • - PackagePurchaseServiceInterface: 基于PackageOrder实体
                • - PackagePaymentServiceInterface: 基于PackageOrder实体
                • - AssessmentServiceInterface: 补充完整方法签名
                • - 新增TaskPlanServiceInterface(原缺失)
                • - mvn clean compile BUILD SUCCESS
                • - 添加成长规划师、DAN评估、小游戏任务等核心功能
                • - 更新API接口列表
                • - 添加测试和开发规范说明
                • - 新增成长规划师登录测试(TeacherLoginTest)
                • - 修复AssessmentResultMapper类型错误(DanAssessmentResultMapper)
                • - 修复Admin实体nickname字段缺失
                • - 修复AssessmentAppointment status类型(String)
                • - 修复GuideFamilyTaskControllerTest测试
                • - 添加套餐模板管理API
                • - 添加成长规划师套餐API (CRUD + 状态管理)
                • - 添加团队管理API (我的团队、邀请码)
                • - 添加订单与佣金API
                • - 添加家庭管理API
                • - 添加消息功能API
                • - 实现所有API改用POST方法
                • - 添加测试用例覆盖所有CRUD操作
                • - 更新数据库初始化脚本
                • - 添加前端管理页面 (服务类型、服务内容、套餐模板)
                • - 添加成长规划师工作台页面
                • 修改:
                • - 后端安全增强 (防暴力破解、HTTP安全头)
                • - 前端路由守卫Token验证
                • - Web管理端功能完善
                • - 实现指导师邀请码系统(GuideInviteCode)
                • - 支持指导师套餐定价(GuidePackage)
                • - 实现测评报告权限控制(上级可查看下级报告)
                • - 添加套餐购买和支付功能
                • - 创建指导师注册、邀请码分享、测评申请等前端页面
                • - 添加数据库表结构(schema_guide.sql)
                • - 修复 Java 8 兼容性问题(toList、List.of)
                • - 编译验证通过
                • - TaskService增加completeMinigameTask方法处理小游戏任务完成
                • - TaskController增加minigame-options和complete-minigame接口
                • - 前端:创建任务页面支持选择小游戏类
                • - 任务列表显示小游戏任务标识
                • - 小游戏页面支持从任务跳转并调用任务完成接口
                • 更新测试用例:添加小游戏任务类型测试(MINITASK-001~004),更新需求同步文件
                • 设计文档:在线小游戏作为任务类型的处理方案(方案B-2:category+minigameCode)
                • 修复需求同步状态,添加小游戏相关需求项
                • - 新增Wish实体/Mapper/Service/Controller完整后端API
                • - 新增小程序孩子端心愿页面(列表/创建/详情)
                • - 新增小程序家长端心愿管理页
                • - 新增Web管理端心愿管理页
                • - 删除错误的migration_wishes.sql迁移脚本
                • - 新增schema-wishes.sql建表脚本
                • 设计明确:
                • - rewards: 心愿库(家长预设奖励模板)
                • - wishes: 个人心愿(每个人的实际心愿)
                • 其他修复:
                • - 修复pages.json路由配置
                • - 修复API调用和页面跳转
                • 更新需求文档:小游戏作为任务类型的一种形式,新增小游戏类任务分类和API说明
                • 完善测试用例:新增指导师功能、小游戏模块、任务模板管理等API和Web测试用例
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - 小程序端:API接口测试,构造请求数据验证响应,不进行UI点击
                • - Web管理后台:浏览器自动化测试,管理员/指导师登录,测试过程截图
                • 测试账号更新:
                • - 管理员: 13800138000/admin123
                • - 指导师: 13800138003/teacher123
                • - 家长和孩子不登录Web后台
                • 环境配置:
                • - 后端API地址: http://192.168.16.18:8080
                • - Web管理端地址: http://192.168.16.18:8081
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • sync: 更新测试说明与同步元数据
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - 添加年龄空值检查
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - POST接口参数从@RequestParam改为@RequestBody适配JSON请求体
                • - Web管理端API调用从GET改为POST
                • - 小程序utils/api.js默认方法改为POST
                • 变更文件:
                • - 后端Controller: MarketController, TaskTemplatePackageController, PackagePaymentController, StreetController, MediaController, MiniGameController, StreakController, MembershipController, BindController, BindInviteController, UserController, GuideController, GuideFamilyTaskController, TeacherController, TeacherMessageController, AdminController, RewardController, RewardWishlistController, PointsController, TaskController, TaskReminderController
                • - Web API: guideTask.js, teacherMessage.js
                • - 小程序API: utils/api.js
                • - DTO: CompleteTaskDTO
                • Ultraworked with Sisyphus
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • - DatabaseInitializer: 添加admin_task_templates表新字段迁移(complete_types/duration/review_type/task_type/frequency/max_frequency)
                • - 整理TASK-001~016需求清单和状态
                • - 定义Task实体字段和数据模型
                • - 汇总API接口和前端页面
                • - 标注待完善功能
                • - P1需求42%完成(19项),包括任务提醒统计
                • - 更新指导师、小游戏、打卡功能修复状态
                • - 记录数据库迁移和定时任务
                • - 添加下一步开发建议
                • - TASK-014: 任务历史记录(带状态/时间筛选)
                • - TASK-015: 任务统计分析(概览/分类/日期/家庭统计)
                • 新增API:
                • - GET /api/tasks/reminder/{childId} - 需要提醒的任务
                • - GET /api/tasks/upcoming/{childId} - 即将到期任务
                • - GET /api/tasks/overdue/{childId} - 已超时任务
                • - GET /api/tasks/history/filter/{childId} - 带筛选的历史
                • - GET /api/tasks/statistics/{childId} - 统计概览
                • - GET /api/tasks/statistics/category/{childId} - 分类统计
                • - GET /api/tasks/statistics/date/{childId} - 日期统计
                • - GET /api/tasks/statistics/family/{familyId} - 家庭统计
                • - OperationLogController改用POST方法(安全要求)
                • - Web端API调用适配POST方法
                • - 改进Layout菜单和角色显示逻辑
                • - 路由守卫改进指导师权限检查
                • - OperationLogController改用POST方法(安全要求)
                • - Web端API调用适配POST方法
                • - 改进Layout菜单和角色显示逻辑
                • - 路由守卫改进指导师权限检查
                • - 实现每日/每周重复任务设置(TASK-004)
                • - 创建RepeatTaskGenerator定时任务,每天凌晨5点生成重复任务实例
                • - Task实体添加templateId和isTemplate字段追踪模板关系
                • - 前端create-task.vue添加日期时间选择器和重复类型选择
                • - 添加数据库迁移20-21
                • - REWARD-002A: 家庭奖励库,多家长可调整积分
                • - REWARD-002B: 多孩子心愿单隔离
                • - POINT-002: 超额积分规则,支持自定义bonusRule
                • - POINT-009: 积分有效期,支持按任务设置过期天数
                • - 添加数据库迁移16-19
                • - 添加积分过期定时任务PointsExpireTask
                • - 新增操作日志功能
                • sync: 同步测试资产到 V1.2 需求
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                • 1. 任务分类 TASK-005: P1 → P0
                • 2. POINT-002: 提前完成奖励 → 超额完成奖励(家长制定规则)
                • 3. POINT-009: 积分每月清零 → 积分不清零,可设置有效期
                • 4. REWARD-001A: 家长填写所需积分后心愿进奖励库 (P0)
                • 5. REWARD-002A: 家庭奖励库 (P0)
                • 6. REWARD-002B: 多孩子心愿单隔离 (P0)
                • 7. DAN测评模块重构:
                • - 测评数据来自接口(非拍照上传)
                • - 作为测评记录,不作为孩子基本信息
                • - 与任务、心愿平行(P1)
                • - 删除手动录入、图片上传等需求
                • sync: 同步需求变更,新增 MODE-010 测试用例
                • - 新增 MODE-010 指导师注册与审核测试用例 (P2)
                • - 创建 .test-sync.json 记录需求同步状态
                • - 需求变更:新增 9 个需求项,修改 1 个需求优先级
                • 新增需求测试用例:
                • - TASK-012A ~ TASK-012F (已包含)
                • - MODE-008, MODE-009 (已包含)
                • - MODE-010 (本次新增)
                • 修改需求:
                • - MODE-006: P2 → P0,描述更新
                • 需求覆盖度:100% (P0/P1/P2 全覆盖)
                • - 优化UserController用户信息更新逻辑
                • - 优化login.vue登录流程和手机号检查
                • - 优化parent-index.vue导航逻辑
                • - 更新需求分析文档状态
                • - 实现连续打卡里程碑奖励及自动重置定时任务
                • - 重构控制器按功能模块分组(admin/auth/family/guide/task/reward)
                • - 修复指导师信息入库、家庭检索逻辑等问题
                • - 添加API权限校验和测试文件
                • - 创建.gitignore排除构建产物
                • - 更新后端AGENTS.md,添加街道地址功能和代码地图
                • - 更新前端AGENTS.md,完善uni-app配置和地址匹配功能
                • - 新建Web管理端AGENTS.md,Vue.js + Element UI文档
                • - 新建Superpowers AGENTS.md,AI开发工具工作流规范
                • - 新建Tests AGENTS.md,分层测试策略和状态评估
                • - getFamilyWishlist: POST /family 改为 GET /family
                • - 避免与create的POST /冲突
                • - 修正HTTP方法语义(查询用GET)
                • - 添加idx_teacher_id索引
                • - 修复Unknown column 'teacher_id'错误
                • - getMyPackages: POST / 改为 GET /my
                • - 避免与createPackage的POST /冲突
                • - 修正HTTP方法语义(查询用GET)
                • - GuideFamilyTaskController保留 /api/guide/families
                • - 避免Ambiguous mapping错误
                • - BindInviteController保留 /api/guide/bind/invite
                • - 避免Ambiguous mapping错误
                • - 将指导师相关字段迁移移到DatabaseInitializer
                • * teacher_no - 指导师证书号
                • * teacher_photo - 指导师照片
                • * certificate_image - 证书照片
                • * teacher_status - 审核状态
                • - 修复GuideController缺少UUID导入
                • - 更新auth.js优化认证逻辑
                • - 更新router添加更多路由
                • - 更新Layout优化菜单结构
                • - 更新Rewards和Tasks页面功能
                • - 更新index.html标题
                • - 更新package.json依赖
                • - 新增PlayfulButton和PlayfulCard组件 - 趣味化UI
                • - 新增指导师相关页面(套餐管理、绑定邀请等)
                • - 新增家长市场页面(套餐市场、任务计划)
                • - 新增任务创建和审核页面
                • - 新增教师端页面
                • - 新增会员中心页面
                • - 新增孩子管理页面
                • - 优化登录页面和首页UI
                • - 更新pages.json路由配置
                • - 更新全局样式uni.scss
                • - 新增BindController - 家庭绑定指导师
                • - 新增BindInviteController - 绑定邀请
                • - 新增GuideController - 指导师管理
                • - 新增GuideFamilyTaskController - 指导师家庭任务管理
                • - 新增MarketController - 套餐市场
                • - 新增PackagePaymentController - 套餐支付
                • - 新增TaskTemplatePackageController - 任务模板套餐
                • - 新增PackageOrder实体和Mapper
                • - 新增BindInviteService和PackagePaymentService
                • - 更新schema.sql和配置文件
                • * 省市区街道四级选择
                • * 支持v-model双向绑定
                • * 自动加载地址路径
                • - 新增家庭地址编辑页面address-edit.vue
                • * 集成地址选择组件
                • * 保存家庭地址到后端
                • - 新增区域匹配页面street-match.vue
                • * 显示街道级/区县级/城市级匹配结果
                • * 统计各级别家庭和指导师数量
                • - 更新api.js添加街道相关API
                • * getProvinces - 获取省份
                • * getStreetChildren - 获取子级地址
                • * matchByStreet - 区域匹配
                • * getStreetStats - 区域统计
                • - Family和Teacher实体添加streetId及地址冗余字段
                • - 实现StreetService支持区域回退匹配逻辑
                • * 优先匹配相同街道
                • * 回退到区县级匹配
                • * 最终回退到城市级匹配
                • - 实现StreetController API端点
                • * GET /api/streets/provinces - 获取所有省份
                • * GET /api/streets/children/{parentId} - 获取子级地址
                • * GET /api/streets/{id}/match - 区域匹配
                • * GET /api/streets/stats - 按区域统计
                • - 数据库迁移添加streets表示例数据(广东省)
                • - 修复TaskReviewDTO缺少approved和comment字段
                • 用途:
                • - 家庭和指导师按街道进行匹配
                • - 按区域统计家庭数和指导师数
                • - 支持地址四级联动选择
                • - 在DatabaseInitializer中添加runMigrations()方法
                • - 使用try-catch处理列/索引已存在的情况
                • - 支持幂等性迁移(可重复执行)
                • - 添加tasks表executor_type/executor_id字段
                • - 添加users表roles/total_points等新字段
                • - 添加children表birthday/gender字段
                • - 支持teacher角色
                • - 修复TaskPlanService和TaskTemplatePackageService中var类型推断(Jave 8不支持)
                • - 修复TaskTemplatePackageService.getPublicPackages()方法
                • - 将QueryWrapper.list()改为packageMapper.selectList(wrapper)
                • - 完善Users, Children, Tasks, Rewards, Points页面功能
                • - 集成后台API接口,实现CRUD操作
                • - 优化Layout.vue菜单结构和路由配置
                • - 更新Login.vue登录逻辑
                • - 删除不存在的/pages/index/index路由
                • - 修复login.vue中isNewUser判断逻辑
                • - 更新api.js添加新的API端点
                • - 更新pages.json和App.vue配置
                • - 新增Mapper接口: MediaRecordMapper, TeacherMapper, TaskTemplateMapper等
                • - 新增Service层: MediaRecordService, TeacherService, MembershipService等
                • - 支持多媒体上传、教师管理、会员套餐、任务模板等功能模块
                • * JwtInterceptor将userId存入request attribute
                • * Controller从@RequestHeader改为@RequestAttribute获取userId
                • - 修复TaskService中PointsLog字段错误
                • * log.setUserId改为log.setChildId
                • - 新增待审核任务查询端点 GET /api/tasks/pending-review
                • - 新增MediaController、TeacherController等控制器
                • - 完善AdminController的Web管理端API
                • - 修复AdminController路由 /admin -> /api/admin
                • - 登录接口支持选择角色(parent/child)并收集生日性别
                • - 新增长按孩子卡片切换到孩子身份功能
                • - 家长端可添加孩子、切换模式
                • - 孩子端可切换回家长模式
                • - 添加数据库自动同步服务
                • - Add AGENTS.md for zxyj-backend with Spring Boot conventions
                • - Add AGENTS.md for zxyj-frontend with uni-app conventions
                • - Fix AdminLoginDTO missing password field for admin login
                • 重写schema.sql修复GBK乱码,所有中文注释使用正确UTF-8编码
                • 修复schema.sql中注释与SQL语句同行导致的语法错误
                • 将Java源文件编码从GBK转换为UTF-8,修复编译错误
                • 将项目从xzyj重命名为zxyj,更新所有包名和配置,修复selectSum编译错误
                • 删除原生小程序目录miniprogram,项目使用uni-app开发
                • 将项目名称从xzyj改为zxyj,更新所有包名和配置
                • 新功能

                  • 健康报告三合一 - 统一报告列表/审核/代传为单页带Tab
                  • 成长页新增推荐文章+推荐商品板块
                  • 成长板块推荐文章/商品 + AI自动分类
                  • 我的页面改为电商风格 - 订单五宫格/购物车/收货地址, 移除功能网格
                  • 通关解锁管理端 - 关卡配置 CRUD/排序/启停/家庭进度管理
                  • 前端组件+页面改造 - WuxingSandbox切换开关/gate-lock/gate-guide-bar/关卡中心页/parent-index+child-index门禁
                  • 报告详情页统一重构为完整页面,修复上传后跳转 routeDone 报错
                  • 食材戒备匹配功能
                  • 新增成就页面 achievement/index.vue
                  • 实现服务角色申请、报告详情、成就页面,修复占位按钮
                  • 新增应季食材管理后台页面
                  • 新增子维度自检题库(行6维/心自驱力自我概念/智成长型思维/富家族传承)及计分
                  • 心13维分组雷达图+行6维关系域雷达图+智成长型思维加入认知雷达
                  • 五维体系新增心13维/行6维/智成长型思维/富家族传承子维度字段与计算逻辑
                  • 菌群功能分析——功能维度聚合+P/B比值+饮食模式+风险提示
                  • 我的页面重设计为以我为中心
                  • 我的页面新增个人成就统计API
                  • 全量列表页支持点击列头排序
                  • 全量列表支持多列排序
                  • 通关解锁后端全链路 - 2表迁移+UnlockGateService(8判定)+/api/unlock/status+sandbox个人/全家门禁+5处触发钩子+管理端接口
                  • 上传报告前增加责任声明勾选
                  • 食材列表支持多列排序
                  • 添加营养产品管理后台页面(列表+详情+菜单)
                  • nutrition_product 添加 local_product_id 字段关联本平台商品
                  • 新增营养产品爬虫主脚本(强制包含被gitignore的.py)
                  • 新增营养产品爬虫脚本(京东/Amazon)
                  • 新增营养产品推荐Controller
                  • 新增营养产品推荐Service及DTO
                  • 新增6个营养产品Mapper
                  • 新增6个营养产品实体类
                  • schema.sql同步营养产品6张表
                  • 数据库迁移214-219创建营养产品6张表
                  • 食材库种子数据 224 条
                  • 富维度月度引导语 + 健康/成长页五维闭环体系
                  • 补全健康页和成长页登录前内容
                  • 行维度落地页挂载 - 五维弹窗 action 跳转到专属页面
                  • 添加菌群知识库836篇文章+embedding+LangGraph集成
                  • 五维详页+健康+成长页登录前品牌内容
                  • 菌群知识库6疾病相关菌新增问题相关性/证据强度
                  • 新增请求日志中间件 + /api/v1/logs 查询接口
                  • 首页新手任务进度条置顶 + 无家庭成员空状态引导
                  • 自检结果页新增一键加入今日微行动
                  • 新手任务新增 COMPLETE_SELF_CHECK(提交五维自检即完成)
                  • 微行动×五维联动 — micro_actions 增加维度字段与短板维度推荐
                  • 个人信息所在地改为省市区三级联动并与订单联系人共享地区数据
                  • 疾病风险内联编辑 + fromMap diseaseRisks 映射 + 全量编译验证
                  • 报告入口切换到统一详情页
                  • 统一报告详情页 report-detail(blocks 渲染)
                  • 通用报告块渲染器 report-blocks-renderer
                  • getReportDetail/DAN detail 返回 blocks
                  • 三个落库挂点写入 report_blocks(confirmDraft/confirmUpload/编辑)
                  • ReportBlockAssembler DAN 组装(score/list/text)
                  • ReportBlockAssembler gut_flora 组装 + fromMap 键名转换
                  • ReportBlock 实体/Mapper/Service(blocks upsert + 读取)
                  • report_blocks 表迁移(通用报告展示块)
                  • 报告确认后跳转方案页 + 全家报告选择+AI对话+任务生成
                  • 报告确认后跳转方案页 + 全家报告选择+AI对话+任务生成
                  • 五维页登录前改月度引导语 + 富页面移除底部菜单
                  • 成长页面重构为干预中心 + 定期调研系统全栈实现
                  • 上传后自动跳转确认页按 draftId 解析,移除本页预览/成员选择逻辑
                  • 新增 JOIN 赠券种子数据 + 我的优惠券接口
                  • 健康数据中心全栈实现
                  • 会员页精简 - 合并续费/升级卡片、移除tab价格、个人中心按钮与徽章等高
                  • 会员中心支持编辑会员等级(前端弹窗+后端update接口)
                  • 健康/成长Tab功能入口重组 + 成长档案改名成长记录
                  • 会员中心权益对比文案与个人中心会员卡升级入口
                  • 会员升级页移除功能列表、权益对比列联动高亮、状态卡片紧凑化
                  • member_upgraderecords 增加 approve* 审核列迁移
                  • 首页新增品牌定位语区块
                  • 报告上传流程拆分 — 新增 /report/upload(仅上传)+ /report/parse(按草稿解析)端点,修复 uploadBaseDir BLOCKING-2 残留
                  • 添加DimensionIntroCard组件 + 四个维度页插入介绍卡片
                  • 登录前页面改版 - 五维品牌定位语+LoginGuideCard升级+我的页跳过入口+富维度商城预览
                  • 富维度页面重构为财富之泉主题
                  • 小程序 index.vue 增加 LIFETIME 检测与会员态修复(终身会员隐藏续费入口、显示永久有效)
                  • 子维度改为水滴水满样式
                  • 新增财富能量环组件
                  • 小程序 upgrade.vue 增加 LIFETIME 权益对比列(灰色不可购买)与状态卡片终身会员展示
                  • 首页动态改为单行跑马灯滚动, 快捷按钮放大
                  • Web MembershipCenter.vue 增加终身会员统计卡片与标签样式
                  • AdminController 增加终身会员概览统计、候选人查询与审核授予接口
                  • 新增LifetimeStatsMapper消费/销售滚动365天聚合查询
                  • getPricingPlans 改读membership_levels并过滤LIFETIME(下线sys_config价格)
                  • 平台公告功能 - 动态页显示平台消息+管理员公告管理
                  • 插入LIFETIME终身会员等级行(migration 204)
                  • membership_levels 添加原价列并幂等同步价格(migration 203)
                  • 会员等级实体/DTO增加原价字段, 升级记录增加审批字段
                  • 商品详情底部按钮布局调整 - 海报靠左、加购物车/立即购买靠右
                  • 手机号快捷登录 - 使用微信 getPhoneNumber 授权获取手机号
                  • 商品推荐支持空维度返回全量推荐
                  • 推荐商品/推荐阅读改四列网格; fix(backend): 家庭成员列表按userId去重
                  • 去掉'我的'页面 Tab 切换过渡页
                  • 管理端CF值余额与流水查询页面
                  • 新增管理端CF值余额与流水查询接口
                  • 购买商品发放CF值并激活推荐人分润
                  • 活动签到发放CF值
                  • 新增CF值表结构迁移与存量佣金迁移
                  • 新增PlatformPointsService管理CF值余额与流水
                  • 新增CF值余额与流水实体及Mapper
                  • pages.json 注册会员 pay/result 页面
                  • 新增支付结果页 result.vue(成功态+赠券/失败态+续付)
                  • 新增订单确认页 pay.vue(明细/优惠券/拆单提示/虚拟支付逐期)
                  • /api/membership/plans 返回原价字段(originalYearly/Monthly/Quarterly)
                  • 会员原价配置(sys_config 新增4键: family/premium 年费月费原价)
                  • 商城首页搜索栏加购物车入口(带角标) 财富页移除购物车服务项
                  • 商城订单快捷+推广中心快捷+购物车/订单角标
                  • 任务首页重设计 - 三Tab布局 + 家庭成员任务分配 + 接受/拒绝 + 关系分数调整
                  • 任务首页重设计 - 支持分配任务给家庭成员,接受/拒绝机制及关系分数调整
                  • 我的页面服务区添加商城和购物车入口
                  • 将过渡页从首页移入独立页面 pages/splash
                  • TabBar 重构 - 4Tabs(首页/健康/成长/我的) + 中间五维启动器 + 自定义TabBar
                  • 成员详情页接入以成员为中心的关系条
                  • pairwise接口API + 成员条centerMemberId视角模式
                  • 成员条空状态引导 + 长按菜单升级关系现状Action Sheet
                  • 家庭成员卡片增加关系现状三色点
                  • 关系pairwise接口(以成员为中心) + VO补齐沟通评分+isSelf
                  • 问卷提交时同步pairwise关系评分到family_relationships
                  • family_relationships表增加关系质量评分三列
                  • 健康饮食菜单添加 LangGraph 管理入口
                  • 报告解析管理端页面 - 类型管理/指纹自学习/解析器导入/未知聚类
                  • 报告解析 agent 接入指纹识别与自动标注
                  • 报告指纹解析系统 - 类型注册/指纹识别/未知聚类/解析器导入
                  • 小程序同意/拒绝+参与成员多选+pending展示
                  • 管理端挑战评分配置页+AdminChallengeScoreConfigController
                  • respond端点+创建去门控+list返回myStatus
                  • create改pending+respondChallenge+打卡结算口径收紧
                  • ChallengeScoreService方向性评分结算引擎
                  • EnergyService新增awardEnergyByCode按维度code发放
                  • 新增participant/方向分数/评分配置实体与Mapper
                  • 参与机制迁移-新增participant/方向分数/评分配置表
                  • 恢复商品会员价 - 管理端设置 + 小程序详情页展示
                  • 规划师端代上传健康报告页面
                  • 规划师营养师代上传健康报告
                  • 添加饮食模块 AI 接口
                  • 添加饮食模块 AI 接口
                  • 添加饮食模块 AI 接口(食材识别+菜单生成)
                  • 线上服务商品管理闭环 - 服务者/时段配置UI + nutritionist服务商类型
                  • 饮食模块完整前端页面(7个页面)
                  • 饮食模块前端页面(首页+调研表)
                  • 饮食模块后端 API 完整实现
                  • 扩展 BeijingNutritionService(食材推荐方法)
                  • 法律合规补全 - 隐私政策/用户协议/同意记录/注销/数据授权/日志脱敏
                  • 家庭挑战管理页仅家长可访问
                  • 家庭挑战孩子端打卡入口 + cancelled 状态显示修复
                  • 家庭挑战到期惰性结算 + 角色校验(家长管理/孩子打卡)
                  • 家庭挑战结算发放能量点奖励并标记成员完成
                  • 商品详情页按会员身份显示会员价/原价,支付价按身份计算
                  • 合并生成含目录的完整成书稿(写法3完整版,16章5089行)
                  • 第3-7章按写法3重写(身/智/富/行/心五维)
                  • 供应商管理(CRUD + 侧边栏 + 入库单选择供应商)
                  • 订单管理页适配配送履约
                  • 商品配送与履约前端适配
                  • 优惠券表单加商品选择器ProductPicker,替代手输商品ID
                  • 创建会员权益独立配置表 + 隐藏非会员会员价 + 优惠券会员提示
                  • 商品配送与履约扩展(自取/线上服务)
                  • 库存管理 - 入库单商品搜索/日期/金额 + 手动出库 + 订单快递费
                  • 库存管理 - 入库单日期/金额/经办人 + 手动出库 + 订单快递费
                  • 家庭邀请流程改为申请审批制
                  • 库存管理 - 路由+侧边栏
                  • 库存管理 - ProductManage.vue增加库存按钮+弹窗
                  • 库存管理 - InventoryInboundCreate.vue
                  • 库存管理 - InventoryManage.vue(4标签页)
                  • 库存管理 - 管理端API调用
                  • 库存管理 - 订单集成(支付/取消/退款库存流水 + bundle穿透)
                  • 库存管理 - AdminInventoryController
                  • 库存管理 - InventoryService
                  • 补全饮水打卡 + 综合健康打卡页面 + 管理后台打卡管理
                  • 库存管理 - Mapper接口
                  • 库存管理 - 实体类(5个新实体 + Product/ProductSku扩展)
                  • parsePreview 先调 LangGraph 解析,失败回退 Java
                  • 创建 POST /api/v1/report/parse 接口
                  • 家庭加入改为申请审批流程 + familyId 后端派生(移除前端 familyId 存储依赖与冗余传参)
                  • 创建 ReportParseAgent(算法解析 + LLM 兜底)
                  • 提取 PDF 解析核心模块到 LangGraph parsers
                  • 家庭加入审批流程与统一知识库DB化(合并rebase后本地改动)
                  • 优惠券积分兑换入口+商品详情兑换区块+发券提示+会员权益展示
                  • 优惠券配置表单扩展+发券记录页+移除商品会员价输入
                  • 管理端发券记录查询grant-log接口
                  • 商品统一价停用memberPrice(活动侧保留)
                  • 积分兑换优惠券exchangeCoupon+优惠券兑换/查询4端点
                  • 新增家庭成员时按POPULATION规则发放人口券(成员有账号发自己,无账号发家庭创建者)
                  • PERIODIC会员券每日5:00定时补发任务+listActiveMemberUserIds
                  • 会员开通/续费/赠送时发放JOIN会员券(试用除外)
                  • CouponService支持三类型核销+幂等发券grant方法与查询(8单测)
                  • Coupon实体扩展会员券字段+新增CouponGrantLog实体与Mapper
                  • 迁移164 coupon表扩展会员券字段+新建coupon_grant_log发券流水表
                  • 虚拟支付失败错误上报后端日志,便于定位支付未完成根因
                  • 家庭挑战自定义管理
                  • report-confirm 补上 auto-create-inline 面板内嵌表单基础样式
                  • report-confirm 面板样式 + 清理 auto-create-card 死样式
                  • report-confirm 被检测人选择整合进基本信息卡片(内联面板+移除独立卡片)
                  • 商品详情页新增SKU规格选择器
                  • AiGateway.generateQuestionnaire LangGraph 接入 + fallback mock + python.base-url 指向 ai.etotem.com.cn
                  • 注册引导-无家庭引导组件接入核心页
                  • 注册引导-活动报名接入就地补充回写
                  • 注册引导-个人中心个人信息完善卡片
                  • 注册引导-user-edit新用户流程最小化
                  • 注册引导-回写工具profile-backfill
                  • 注册引导-个人信息使用关联表profile-field-usage
                  • 注册引导-前端api新增backfillProfile
                  • 注册引导-新增统一backfill回写接口
                  • 注册引导-注册路径不再自动创建家庭
                  • 注册引导-登录响应新增needsFamily标记
                  • 关系问卷评分算法替换 mock — 维度加权/反向/降级/缺题处理 + 5 个单测
                  • FamilyMemberService 补 isCallerInSameFamily/isCallerInFamily 跨家庭校验方法
                  • 会员退款ORD分支 + iOS退款问询按官方协议接入
                  • 指标标题显示共N项/M项异常,异常数红色
                  • 指标输入框颜色标注异常 + ?帮助按钮弹窗显示指标说明
                  • 书架封面有图时底部叠加文章标题
                  • 新增家庭详情/地址更新/区域统计 API 封装
                  • 新增按街道ID统计家庭/成长规划师数量接口
                  • 商品赠送会员功能 - 成长档案关联商品配置(GrowthArchiveProduct) + 后端 Controller/Service/Mapper/Entity + 前端 ProductEdit 商品编辑页
                  • 商品赠送会员-管理端配置区块
                  • 会员中心页与会员价引导交互
                  • 活动/商城会员价展示、分转元显示与未登录会员状态处理
                  • 活动详情支持游客浏览与会员价 - detail(id,userId) 解析会员价
                  • 活动模块升级——付费报名订单/审核发布流/总结资料
                  • 健康报告确认页指标按类别分组折叠, 支持全部展开/折叠与需处理计数
                  • 五维家庭自检问卷(P0-1) + 五行相生寻源建议引擎(P0-2)
                  • 接入现网/沙箱双 AppKey 并补充消息推送 Token 校验
                  • 活动详情报名/签到/分享海报需登录,注册弹窗改为自定义遮罩去内置按钮
                  • 管理端虚拟支付道具映射CRUD页面
                  • 小程序活动创建表单添加会员价输入
                  • 活动管理添加会员价字段(创建编辑表单+列表展示)
                  • 活动详情页分享改为生成海报(复用ContentSharePoster组件)
                  • 前端接入小程序虚拟支付
                  • 商城入口统一指向商品商城/移除积分商城+推荐商品文案统一+商城标题'浠艾福商城'
                  • 虚拟支付超时兜底任务 pending订单query_order确认+超时关单,防success回调丢失
                  • 支持集体总合与全员个人双目标模式
                  • 订阅订单改虚拟支付
                  • 放开已上架文章和活动的编辑权限,便于初期维护
                  • 会员订单改虚拟支付 createOrder返回VirtualPayParams,发货推送复用processPaymentCallback,修正等级硬编码FAMILY
                  • 测评订单改虚拟支付 payOrder返回VirtualPayParams保持pending,服务端计价,发货推送markPaid+预约确认+佣金
                  • 文章详情阅读时长每次进入从0开始计时,10秒上报一次
                  • VirtualPayController 接收虚拟支付消息推送 /api/internal/virtual-pay/notify(公开) + ios-refund-query,返回微信ErrCode协议
                  • VirtualPayService paySig签名/参数生成/发货退款推送处理+sessionKey持久化 JDK原生HMAC-SHA256零新依赖,双签名(paySig+signature),前缀路由,迁移144
                  • add counterfeit-warning product page, gut-kit image, HRW article image, update sales index
                  • 虚拟支付道具映射 实体/Mapper/Service/管理端CRUD接口
                  • 新增wechat.appkey与virtual-pay-env配置 小程序虚拟支付paySig签名密钥与环境(0现网/1沙箱)
                  • 迁移143 创建virtual_goods_config道具映射表 测评/会员/订阅虚拟支付道具映射,UNIQUE(goods_type,biz_key),幂等
                  • 权益对比区分家庭/高级会员(高级享每周管家服务)+ 家庭会员仅年付、高级会员月/年付费档位
                  • 微信内容安全检测(msg_sec_check + img_sec_check)
                  • add DAN professional assessment product page with 4-tier packages
                  • 活动中心增强——管理员活动管理+已报名状态标记+报名截止时间+未报名签到扣'行'维度能量
                  • add payment to water ionizer and turmeric product pages
                  • add gut-testing product links to articles
                  • sticky bottom payment bar like e-commerce
                  • 推荐阅读点击封面直接进入文章详情页
                  • save contact info to package_orders, keep SVG flow only
                  • ArticleBookshelf 改为竖版封面风格,一行3本横向滑动
                  • gut-testing 检测流程改用SVG流程图,8大检测维度补充商品解析长图
                  • add recipient address field to order form
                  • 新增公共配置读取接口 PublicConfigController
                  • 五维页面推荐组件统一——推荐阅读改用ArticleBookshelf、商品推荐改用DimensionProductList
                  • gut-testing 产品页补充商品图片(谷禾肠道菌群检测专业版)
                  • add memory-gut, water-unseen articles and gut-testing product page
                  • 商品详情加分享海报按钮+scene邀请码解析
                  • 文章详情去掉分享按钮,海报传维度/简介/邀请语
                  • ContentSharePoster 参数化五维配色+简介/邀请语/价格行+居中弹窗
                  • SharePoster 家庭邀请卡加 familyName 文案与邀请语,字号缩小2px
                  • 屏蔽在线开通会员功能,改为管理员后台设置
                  • 重新设计家庭成员页面 - 暖橙卡片风格 + 底部操作栏 + 直接邀请海报
                  • 文章评论审核前端——RadarChart/article-detail/order-list/article.js/CommentReview
                  • 文章评论审核功能——AdminArticleController/ArticleCommentController/ArticleCommentService
                  • 活动详情页新增报名表单 Modal(家庭成员选择 + 手动输入 + 合计)
                  • activity_registrations 表添加 registrant_name/registrant_phone 列, child_id 改为可空
                  • 活动报名支持批量提交 registrants 列表
                  • JwtInterceptor 无token改为设匿名用户(userId=-1)放行,不返回401
                  • complete coaching integration - rename characters (小付/小艾/小茜), action card rewrites, dialogue layer updates
                  • mp-html 富文本组件替换微信原生 rich-text
                  • 重新设计底部tab智图标为交叉斧剑
                  • 重新设计底部tab身图标为弯曲胳膊
                  • api请求失败时console打印完整URL以方便排查
                  • 替换底部tab富图标为水滴设计并修正引用
                  • 替换底部tab心图标为爱心设计
                  • 替换底部tab智图标为大脑设计
                  • 替换底部tab身图标为臂肌设计
                  • 替换底部tab行图标为嫩芽设计
                  • add withdrawal rules display on withdraw page per review guideline
                  • add AI disclaimer at bottom of health coach chat page
                  • integrate RecommendedSection into all 6 dimension pages
                  • add qr code image to project card
                  • add project introduction card SVG for sales directory
                  • add service role application review page and admin endpoints
                  • add service role apply entry in ProfileMenu
                  • add service role apply page with multi-select, upload, address
                  • add API functions and page registration for service role apply
                  • add ServiceRoleApplicationController with apply/upload/admin endpoints
                  • add ServiceRoleApplicationService with submit/approve/reject
                  • add ServiceRoleApplication entity, mapper, DTO + User fields
                  • add service_role_applications table and User status fields
                  • 文章详情页完整功能 — 自动完成阅读+评论系统+AI答题
                  • add gut microbiota-obesity article with 3 reference screenshots + track HRW sleep screenshots
                  • 过渡页最少800ms最多3s — 集中计时到tab-transition组件
                  • 完整记账功能 — 收支管理+分类统计+月度概览
                  • 上传健康报告页面两种上传方式差异化重构
                  • 财商打卡页面完整功能实现
                  • 家庭成员管理邀请功能增加分享邀请卡
                  • add hydrogen-water-sleep article with 5 PubMed reference screenshots
                  • insert scientific figures into pancreatitis and leaky-gut articles
                  • 家庭成员关系卡片增强 — 关系标签+联系+辈分+长按菜单
                  • 管理后台能量行为配置页面
                  • 能量行为配置系统 — 可配置每种行为的能量发放规则
                  • content share poster with wxacode for product/activity/article pages
                  • 任务添加五维维度参数支持
                  • 切换地址系统从 consignee 到 user_address
                  • add pancreatitis and leaky-gut articles, update screenshot plan
                  • insert 14 academic reference screenshots into 4 articles
                  • update stroke risk factors section and screenshot plan
                  • remove read-complete button, add auto reading time tracking
                  • add report-reading-time API for cumulative reading tracking
                  • add article_id and updated_at to article_reading_records
                  • 推荐活动卡片高度减半,布局更紧凑
                  • 添加浠艾福会员卡介绍PPT
                  • 科普文章嵌入参考文献截图(14篇健康科普嵌入配图)
                  • 行页面重构 - 能量沙盘+成员选择条+圈子卡片
                  • index.vue 兼容 PREMIUM 等级 - 对比表四列 + 等级列表按钮
                  • upgrade.vue 支持 FAMILY + PREMIUM 等级切换
                  • plans.vue 动态加载会员等级 + FAQ 更新
                  • /api/membership/plans 使用 sys_config 价格 + 推荐标记
                  • MembershipService 支持 PREMIUM 等级
                  • 文章/商品/活动详情页增加分享功能 + 邀请码自动绑定
                  • Add invitation QR code modal to parent index page
                  • redesign tab icons to match 五行沙盘 emoji themes
                  • 推荐阅读改为书册风格 ArticleBookshelf 组件
                  • redesign all 5 tab icons with consistent style (五维×五行)
                  • 扩展测试数据至五维全覆盖(15条记录)- 活动/文章/商品各3条,覆盖身智行心富五维 - SeedsController.java导入修复
                  • admin product min_quantity filter, activity detail mobile adaptation, web articles & changelog updates
                  • 添加独立测试数据初始化脚本和接口
                  • refactor upload to 2 methods (file/photo), add collectionDate, indicator dedup, image support
                  • 创建独立圈子发现页 /pages/discover/circles
                  • 行首页 OctopusGraph → 圈子区块替换
                  • 添加 carol.png 和 hxy.png 头像资源
                  • add Enagic product intro with images, QR referral tracking, gut/meta articles, and update existing health articles
                  • 勋章管理后台页面 + 家庭排名 + 勋章墙导航
                  • 家庭关系图视觉重编码 (信任/沟通/亲密度) + 身份形状 + 自导航维护页
                  • 北京菌群报告采集与精准营养推荐
                  • add 3 buying guides - water purifier, prebiotics, probiotics
                  • add ERW/HRW gut microbiome section with 3 new references (Tamaoki 2021, Xie 2022, systematic review 2025)
                  • ProductEdit 添加最小购买数量(minQuantity)输入框
                  • minQuantity DTO 字段映射 + 多商品下单产品级校验
                  • 2x2 grid layout + annotation overlays for 4 clinical-evidence screenshots
                  • 切换孩子前检查家庭成员中是否有child角色
                  • 微信登录自动获取手机号
                  • 新增index.html目录首页+AGENTS.md更新
                  • CA Cancer Statistics 2022截图标注替换(Sung 2020→Bray 2024); 免疫系统三大功效全重写为三栏卡片+癌症数据关联
                  • 心脑血管文章多项增强——牙痛心梗症状/比目鱼肌锻炼/个体化干预/菌群检测评估与追踪+7张来源截图
                  • 新增心脑血管文章误诊板块(沉默心梗/女性误诊/卒中漏诊/青年卒中),插入CANTOS和肠漏引用截图
                  • add ArticleBookshelf book-style recommendation component
                  • 手机自适应扩展 — Dashboard 2列 + 表格滚动 + 表单堆叠
                  • 管理后台手机自适应 — 响应式侧边栏折叠 + 布局优化
                  • 完善7维健康模型 - Tier2 VOICE/PHOTO支持, canvas雷达图, 数据源表迁移
                  • 商品规格最小购买数限制(minQuantity字段 + 订单校验)
                  • 完成 Task 5 AI健康管家MVP
                  • Task 5 AI健康管家补全 — health_butler_graph + 前端路由修复
                  • subpackage split - move non-TabBar pages out of main package to reduce size
                  • Dify-compatible adapter layer + AI health butler MVP
                  • use emoji tab icons matching wuxing sandbox style
                  • redesign tab bar icons in wuxing sandbox style
                  • 推广佣金体系后端实体 + 删除废弃 RelationshipPicker 组件
                  • TASK-P0-001 辈分重构 — 订阅式 generation + is_spouse,删除关系类型表与字段
                  • 富维度子维度组件 + 身克富杠杆展示 + 修复DatabaseInitializer编译错误
                  • P2-1 身份重塑系统 - 健康等级+积分引擎+时间线
                  • 完成5篇深度疾病科普文章并接入成长百科
                  • 在 HealthReportController 添加自动保存解析结果到 JSON 文件
                  • P1-2 健康行为智能预警实现
                  • P1-1 即时多巴胺反馈实现
                  • 成长百科改为人体五维标注布局 + 文本替换
                  • 重写成长百科为100vh单页布局(剪影背景+五维卡片+手机标签)
                  • 新增成长百科主页面 + Clarity 全站覆盖
                  • Hero 背景改用 AI 生成插画 (agnes-image-2.1-flash)
                  • 首页 Hero 添加家庭幸福健康抽象插画背景
                  • 预约页面传递 assessorId 参数
                  • 重构 AppointmentController 接入 DanAssessmentExecutionService 双角色模型
                  • AppointmentService 支持 assessorId, DanAssessmentExecutionService 关联 appointmentId
                  • assessment_appointments 添加 assessor_id, dan_assessment_executions 添加 appointment_id
                  • AiGateway + 5% grayscale routing to LangGraph
                  • config, models, RAG, Java client, RecommendAgent
                  • scaffold Python sidecar project
                  • 本地修改同步提交 - 小程序前端组件更新
                  • 微塑料科普页面 — 看不见的入侵者
                  • 行首页移除成长里程碑 - 移除OctopusGraph/milestones功能
                  • 心页面添加心理报告卡片 - 完整EMID四维条形图展示
                  • AI任务生成+今日能量文卡片+体检AI入口
                  • integrate KB v3 into gut-flora-risks-detail.vue
                  • knowledge base v3 - data/template separation foundation
                  • add purchase recommendation section to dan-assessment/report-upload page
                  • add purchase recommendation section to report-upload page
                  • implement taxonomy level support, pathogen tabs, report interpretation, DB migration 98
                  • add personalized indicator interpretations (P0) and overall assessment descriptions
                  • add report indicator knowledge base with standard ranges and descriptions
                  • add taxonomy level extraction (class/order/family/genus/species) from unified section
                  • 活动商品统一管理后续三项任务完成
                  • B5指南针仪表盘图像提取 — 19个子维度分数
                  • expand health survey with disease/family history, add physical exam detail page
                  • 健康知识库管理后台 CRUD
                  • FamilyRelationGraph 新增齿轮跳转成员管理、悬停/点击+号进入添加成员页、高度自适应
                  • add api methods, knowledge-popup component, register 4 pages in pages.json
                  • add KnowledgeBaseDataImporter + ref JSONs + import endpoint
                  • add POST /api/health/report/edit + updateReportFromPayload
                  • add health_knowledge_base (entity+mapper+service+controller+migration98)
                  • 将DAN报告上传重构到独立 dan_report_uploads 表
                  • add DAN report to JSON extraction script (extract_dan_to_json.py)
                  • 富维度页面添加TabTransition动画 + 用户卡片重构
                  • 心维度页面集成家庭天盘模块 + 心理报告上传功能
                  • 新增天盘周报PDF导出,移除富沛能量模块
                  • 首次登录跳过角色选择直接进入信息补充页(默认parent)+ 地址四级选择器
                  • 营养师/管家小程序入驻申请流程
                  • 文章/套餐审核添加详情弹窗、驳回原因显示、批量通过/驳回
                  • 添加营养师/管家申请API
                  • 添加营养师审核功能
                  • 添加 api_endpoint/api_key 字段; fix(sku): specs 字段类型改为 Object 支持JSON数组
                  • 推广/佣金配置控制器 + rebate_commission_config表; fix(promotion): 改用sysConfigService.getValue; feat(schema): 同步rebate_commission_config表
                  • 活动工作流缺失端点 + 电商供应商管理CRUD; feat(schema): 同步ecom_supplier表
                  • 同步健康打卡5表定义(exercise/sleep/water/meal/meditation)
                  • 健康打卡 exercise/sleep/water 三个控制器; fix(web): growth-task路径修正
                  • 增强搜索条件和优化样式
                  • 统一审核中心 - ReviewCenter.vue + 10子组件 + 后端summary接口
                  • 替换所有"即将上线"为真实跳转,补齐子维度点击导航
                  • 添加 family_member_logs 表(家庭成员变更日志)
                  • 家庭关系管理系统补齐 (relationship type extension + contact-to-member upgrade + family_member_logs + relation graph shapes)
                  • 新增供应商商品管理功能
                  • 为天盘卡片添加今日宜忌提示
                  • 实现天盘详情页展示周/月趋势
                  • 实现五行吉位算法
                  • 对接后端接口为家庭天盘提供动态数据
                  • 商城营销菜单新增家庭收益和收益提现审核入口
                  • 家庭推广体系重构 P3+P4
                  • add models field and agnes-2.5-flash model
                  • 添加家庭天盘功能到心页面
                  • 创建身/心/智/行四个维度专属内容组件
                  • member-detail 维度专属内容动态组件插槽
                  • add FamilyEarnings entity/mapper/service/controller + fix ButlerController bean name conflict
                  • add cfc-web butler admin UI + ButlerCommissionService + scheduled settlement
                  • add AdminButlerController + ButlerServiceRecord/CommissionSettlement entities
                  • 按中版本分文件存储 changelog,CHANGELOG.md 作为索引页显示最新版本
                  • skip version bump if only chore/engineering commits
                  • butler 管家服务 - 申请/档案/分配 + DB迁移
                  • add butler entities + migration + schema
                  • 供应商上下级关系体系 (supply hierarchy)
                  • 商城页新增会员升级营销触点 — 首页/购物车/结算页/支付页升级提醒
                  • 发现页新增会员升级营销触点 — 商品详情页立省横幅+发现页推荐卡片
                  • add dan_reports - assessment reports and processing scripts
                  • 肠道菌群报告详情页 + 上传日期评分优化 + 身页面重构 + 首页角色分流
                  • 新增家庭关系联系人组件 FamilyRelationshipSection
                  • RepurchaseReminderScheduledTask runs daily at 2 AM
                  • dimension-product query + repurchase-reminder service logic
                  • add dimension-products + repurchase-reminders endpoints with DTO fields
                  • 6个管理端表单页增加保存成功确认对话框(继续添加/关闭)
                  • AI conversation memory - migration 82 for ai_conversation_summary + ai_user_facts tables
                  • CartService.buildCartItemDTO builds specDesc from ProductSku.specs JSON when skuId is present
                  • 五行能量配置管理
                  • 增强五行雷达图可视化
                  • 管理端功能优化
                  • 五行相生相克前端展示
                  • AI对话记忆层 - 会话摘要+关键事实+意图感知上下文注入
                  • productSpecMap API + Ppoint API 重构 + 供应商管理员搜索修复
                  • products/cart 表新增 SKU 规格字段
                  • admin/user/search 供应商选管理员接口 + 修复 CircleService 循环依赖
                  • 添加OctopusGraph关系健康组件
                  • 维度页面缺口修补(Phase1) + 圈子系统(Phase2)
                  • 商品推荐 Phase 3-5 — FamilyContextService Dify输入 + AIChatController userId + 复购提醒
                  • 电商 + 推荐系统 + 阅读统计 综合升级
                  • wire FamilyMember birth fields + User hobbies/dietPreferences + profile history through service/controller/migration
                  • UserProfileHistory entity + mapper + schema.sql for tracking profile changes
                  • add hobbies + dietPreferences to User entity + UpdateUserDTO
                  • add birthHour/birthWeight/birthPlace/isCesarean to FamilyMember entity + DTO
                  • add article placeholder cards on action home page
                  • 商品推荐维度映射 + 复购提醒 + 供应商/规格迁移补全
                  • 电商体系升级 — 供应商/规格/推荐日志 + 五维能量富维度详情 + 产品推荐
                  • DAN报告上传 - 集成到mind/wisdom维度页面
                  • DAN报告上传 - 前端API + report-upload页面
                  • DAN报告上传 - Controller端点 + 维度分数更新
                  • DAN报告上传 - 创建DanReportParseService (A2/B4解析)
                  • DAN报告上传 - 实体字段 + 数据库迁移80
                  • clean dimension tabs + styled action articles
                  • TianpanService 引入缓存逻辑 - DB持久化每日运势和年度能量
                  • 产品订单退款系统 - 余额不足待退款队列、管理员中止、提现/商品双路退款
                  • 家庭天盘完整功能 - 核心服务+控制器+DTO+前端页面
                  • 退款队列系统 - 待退款自动重试
                  • 确定性差距修复 - P0全部 + P1部分 + P2/P3核心完成
                  • 变更日志弹窗宽高加大至900px/700px
                  • enhance PpointService with save/delete/query methods and English javadoc
                  • add PromotionTierEvalService and daily scheduled task for tier check
                  • promotion tier system, teacher message unread badge, FamilyEnergyBar collapse
                  • integrate promotion tier scaling into commission settlement + DB migration
                  • add PromotionTierConfig entity/mapper for configurable promotion tiers
                  • 确定性差距修复 - P0全部 + P1部分完成
                  • 一生一世家庭会员订阅系统 - 编译修复与完善
                  • DAN测评市场转化全链路实现(Phase 1-5)
                  • tongue diagnosis as health report type
                  • AI管家会话管理 - ButlerSession实体/服务/控制器 + 迁移42
                  • 统一四个Tab页面的家庭关系卡片组件 + 齿轮图进入成员维护
                  • emotion checkin add video capture + enhanced AI simulation
                  • 五维幸福矩阵『身』由『主动健康』更名为『根基永固』
                  • split admin/teacher dashboards, enrich admin with 8 stat cards, ECharts charts, system health panel, 8 quick actions
                  • purchase field config UI + consignee mini-program pages (P2-P3)
                  • enhance health reports page and add draft audit UI
                  • consignee + purchase field module (migration, entity, mapper, service, controller)
                  • add admin activity creation and management features
                  • family members empty state — always show as entry point
                  • redesign article-center with search/nav/dimension-param; enhance mind/articles with search and unified detail
                  • unify article entry points to article-center
                  • redesign family-members page with gear entry, detail modal, edit permissions
                  • add /api/family/member/editable endpoint
                  • add FamilyRelationshipService, refactor FamilyMemberService for bidirectional relations
                  • add family_relationships table with entity/mapper/migration
                  • radar chart dual-line support (avg + user cognitive scores)
                  • radar chart dual-line support (avg + user scores)
                  • v1.0.11 - table overflow scroll fix + Layout sidebar scroll fix
                  • 综合更新 - 后端服务修复、前端页面优化、管理端功能扩展
                  • add pointsUsed/moneyAmount to ProductOrderDTO + checkout points UI + noMoneyPayment handling
                  • product order hybrid payment + shop page refactor + DatabaseInitializer merge conflict resolution
                  • 添加供应商管理员(supplier_admin)角色及供应商管理功能
                  • admin/teacher 页面全局搜索 + 统一 admin-page 样式
                  • 心首页关键信息卡片 — 家庭+个人双栏概览
                  • health report Phase 2 - match confidence, candidate selection, auto-create member
                  • supplier distribution system - entities, services, controllers, and admin UI
                  • fuse Western astrology with Chinese zodiac for annual energy calculation
                  • 文章活动工作流状态管理前端页面
                  • 文章活动工作流状态管理API
                  • 饮食/文章管理完善 + 供需分发系统文档
                  • ActivityEdit 表单校验 + 创建成功弹窗
                  • update food-list.vue with full nutrition fields and recommendation index display
                  • 自动版本号递增 + CHANGELOG.md 生成
                  • add /api/health/foods/by-family endpoint and health report trigger for food index
                  • add FoodRecommendController with index/history/by-family endpoints
                  • add FoodRecommendService sourcing index from report scores
                  • update Foods.vue table columns and dialog fields with full nutrition input
                  • add FoodRecommendIndex and FoodRecommendIdxLog entities with mappers
                  • add food_recommend_idx and food_recommend_idx_log tables, fix kcalPer100g JSON mapping
                  • 订单详情页 + 订单/商品管理完善
                  • 商品管理前端 — 列表/分类/编辑/SKU组件 + DimensionWeightPicker修复
                  • 新增商品管理 + 订单管理 API
                  • 新增Cart/SystemConfig模块 + 家庭角色DTO/组件 + 设计文档 - 新增购物车实体/CartItemDTO/CartMapper/CartService - 新增系统配置实体/SystemConfigMapper/SystemConfigService - 新增家庭角色相关DTO(Create/Info/Update) + NutritionProfileService - 新增 FamilyRelationshipSection 前端组件 - 新增四维度首页及家庭成员角色系统重构方案文档
                  • teacher dashboard + activity admin API enhancements
                  • start.sh 支持本地外部配置,数据库凭据通过 -D 参数注入
                  • after-sales system — apply/list/detail pages + mock logistics + profile/order entries
                  • activity-detail 补充 formatDate 工具方法 + paid/checkin 状态增强
                  • activity/activity-detail 报名同步增强 - formatDate / 付费不退费 / paying 状态
                  • 活动详情页报名+签到全流程 + 付费确认 + 日期格式化 - 新增 formatDate() 方法统一日期显示格式 - 新增付费活动报名确认弹窗和退费说明 - 新增报名状态检查(pending/approved)、取消报名功能 - 新增签到状态管理和 checkinTime 渲染 - discover-detail 和 discover 双路径 activity-detail.vue 同步增强
                  • 文章审核系统 + 商城完善 + 管理端升级
                  • 新增 shop/index 店铺首页 + 修复 article-edit.vue :style 规范 - 新增 cfc-frontend/pages/shop/index/ 店铺分包含入口页面 - article-edit.vue: 将 :style 复杂内联表达式改为 dimStyle() 方法
                  • add HealthDimensionsSection component for inline health dimensions display on body page
                  • 创建身维度5个详情页面并绑定快捷入口
                  • 替换EMI四维条形图为大五人格雷达图,右上角添加测试按钮
                  • 活动模块后端+前端接入 - 初始化活动表/Product表字段扩展, DimensionActivities组件接入活动列表, 各维度页面导入getActivityList
                  • add audit workflow to web admin panel
                  • 简化 AIFloatingAvatar 组件 + 添加到各页面 + 更新 AGENTS.md - 移除 AIFloatingAvatar 脉冲动画,简化组件 - 在 body/index、index、mind、wisdom、profile、activity 页面添加悬浮头像 - AGENTS.md 新增 :class 绑定规则(小程序不支持方法调用)
                  • add my-posts page with status badges
                  • add article edit page with publish and draft
                  • add article detail page with AI quiz
                  • add article list page with tab navigation
                  • register subpackage in pages.json + add API methods
                  • add publish, my-posts, and audit endpoints
                  • enhance activity list - view ended/published activities, disable edit for non-draft, click participant count to review registrations inline
                  • add AI questions endpoint + submit answers with scoring
                  • 规划师端活动管理 — 活动创建/编辑/发布
                  • add article-center implementation plan
                  • 补充AI对话和profile页面变更
                  • add Article entity audit fields + ArticleQuizRecord
                  • add article-center implementation plan
                  • create activity home page with 3-tab structure
                  • 添加活动中心页面子包注册
                  • 新增心愿兑换积分检查和扣除方法
                  • 成长记录新增getRecordsByChild接口
                  • 新增grantEnergy和deductForWish接口
                  • 重写DimensionWeightPicker为slider+数字输入,动态max限制总和≤100%
                  • add 热门活动 and 推荐阅读 sections to index and body pages
                  • redesign SharePoster with brand header, warm orange gradient, content card, and dimension dots
                  • DataMigration controller and service adjustments
                  • schema v6 with shop order columns migration
                  • 修复打卡/能量接口 400/500 错误
                  • 推广系统九大功能升级 (T1-T9)
                  • add EmotionAlert admin management page with list and resolve actions
                  • add getAdminAlerts method to EmotionAlertService for admin page pagination
                  • auto-create follow_up on alert resolve in EmotionAlertService
                  • auto-create follow_up record when crisis alert is resolved
                  • push WeChat template notifications for high-severity alerts
                  • add WechatAlertTemplateService for crisis alert push via WeChat template messages
                  • 健康记录模块 — 日常打卡/成长记录/维度权重管理
                  • 活动报名服务 + TrialMembership入门会员
                  • 商城重构 — 订单生命周期/SKU/地址/退款/超时取消
                  • 认知评估增强 — 行动清单/常模参考线/历史趋势/训练方案系统
                  • FamilyRelationGraph升级compatibilityMap属性+mind首页入口路由更新
                  • 新增family-dashboard家庭天盘页面+duo-compatibility双人合盘详情页
                  • TraditionalMirrorController新增family-dashboard+compatibility两个端点
                  • CompatibilityService算法引擎+9个DTO定义+FamilyMemberAttributeService fromJson/toJson公开
                  • 兼容性数据表(entity+mapper)+schema seed(zodiac_pairing/blood_type_pairing/life_number_relationship)
                  • 激活会员中心页面导航入口
                  • redesign membership page with loading/error states
                  • add Canvas-based trend charts and index page updates
                  • upgrade emotion-checkin pages with 2D affect grid and Plutchik wheel
                  • add PHQ-9/GAD-7 screening page and route
                  • add PsychCrisisBanner component for crisis alerts
                  • implement emotion alert service with risk detection
                  • add emotion alert entity and VO
                  • implement mental health screening service with PHQ-9/GAD-7 scoring
                  • add mental health screening entities and DTOs
                  • implement emotion checkin service with trend/report + alert wiring
                  • add emotion entity fields and trend/scatter point DTOs
                  • add fine-grained emotion fields to DTOs and VO
                  • enhance virtual team management with invite controller and scheduled tasks
                  • 浠宝/福宝IP形象系统 - 用户可选择AI助手形象,所有AI对话携带形象标识
                  • 舌诊功能 + 身首页改造 + 全域指标管理
                  • virtual team management + unified invite system
                  • 关系健康概览 + controller familyId推导
                  • 关系质量评估+互动记录+智慧维度临时页面
                  • skip captcha verification in test mode (VUE_APP_SKIP_CAPTCHA=true)
                  • two-phase health report upload with preview confirm page
                  • 补全 Activities.vue 缺失字段 - 封面图上传/活动类型/地点/人数/价格/可见范围/签到积分
                  • add AI emotion recognition to emotion-checkin page
                  • add report draft module and food recommendation
                  • skip captcha verification in test mode
                  • move three pillars inside the product overview section
                  • restructure sections - swap pillars before capabilities, rename
                  • add happiness three pillars section with dimension mapping
                  • add health-norm-config and health-data-source menu entries
                  • admin controller, norm/data-source config views, tests
                  • dimension questionnaire, detail page, and entry navigation
                  • 数学闯关前端页面
                  • 数学闯关后端服务
                  • 新增肠脑轴情绪打卡功能
                  • add EMI and Big Five personality fields to dan_assessment_results
                  • 开屏splash页+tabbar切换过渡动画
                  • 会员体系 + 推广裂变 + 优惠券 + 成长任务模块
                  • add newbie task reward system with 6 task types
                  • add health-dimensions navigation entry
                  • wave 1 - trend, product-energy, dify, body energy integration
                  • referral team features - team list, invite, share poster
                  • wisdom dimension page redesign - 14-block full layout, cognitive report, self-quiz, training hub
                  • 统一家庭成员管理 - 后端双表+前端统一入口+管理端CRUD
                  • add ecommerce DDL blocks to DatabaseInitializer
                  • add ecommerce DB schema tables, config, and design spec
                  • migrate checkout/payment/logistics pages to CFC API
                  • migrate address.vue and address-edit.vue to CFC API
                  • migrate cart.vue to use CFC cart API
                  • enhance ProductOrderService/Controller and add LogisticsController
                  • refactor PaymentService with WeChat Pay V3 integration
                  • enhance ProductService and ProductController
                  • add AfterSales module (entity+mapper+service+controllers)
                  • add UserAddress module (entity+mapper+service+controller+region)
                  • add Cart backend module (entity+mapper+service+controller)
                  • add Discount module (entity+mapper+service+controller)
                  • add Distribution system module (entities+mappers+service+controller)
                  • add ProductCategory module (entity+mapper+service+controllers)
                  • add ProductOrder entity fields and OrderItemVO DTO
                  • add Product entity fields (categoryId, distributionSystemId)
                  • enhance web admin growth records with source type filter and new columns
                  • refactor growth record frontend pages with source types, upload, and supplement
                  • add growth record API functions and page registrations
                  • add growth record upload, supplement, dedup-check endpoints
                  • add report parsing service and growth record service with dedup
                  • add growth record DB schema, entity fields, and PDFBox dependency
                  • TabBar改文字+RelationshipPicker组件+编辑关系功能
                  • health-dimensions-phase1 implementation + compile fixes
                  • 活动管理功能完善——后端Service层+Web端CRUD+审核+小程序商品编辑
                  • 产品区改为数据采集→数据分析→方案确认→执行跟踪闭环描述
                  • 多源数据整合分析→健康档案,作为平台核心能力展示
                  • DAN成长档案→成长档案,菌群检测→健康档案 统一产品命名
                  • 新增运营推广文档与配置文件
                  • 新增GEO专题页面并优化产品定位
                  • 网站样式与交互优化
                  • 数据库配置切换为本地连接
                  • FAQ结构化数据扩展至20条,同步前端FAQ展示
                  • add food recommendation API endpoint, FoodService.listByReportId, and frontend food display in health report
                  • save food suitability data on health report creation; add reportId/score to Food entity
                  • add food suitability parsing to PdfParseService
                  • 登录页品牌升级 - 企业官网设计语言
                  • add nutrition-related entities and mappers
                  • 营养师管理页面与登录页优化
                  • TabBar重构与健康报告页面
                  • 营养评估与饮食推荐功能
                  • 五维沙盘粒子流动画
                  • 首次登录引导浮层组件
                  • 开屏页与发现页五维价值传达
                  • 登录页背景色改为品牌暖橙
                  • add frontend components, docs assets and .gitignore for Python
                  • Landing page optimization - Schema.org, FAQ, stats, testimonials, CTA, content
                  • 更新企业官网品牌色系与Logo为天空蓝主题
                  • add cfc-frontend/static assets (logo + tab icons)
                  • 添加网站品牌 Logo 资源
                  • 添加亿图腾企业官网页面
                  • remove danshop subsystem
                  • 家庭邀请二维码功能(小程序码+令牌+落地页)
                  • implement diet recommendation system (frontend)
                  • implement diet recommendation system (backend)
                  • health report PDF upload + login redirect fix
                  • article publish-review system + gut flora report parsing
                  • add gut flora summary fields to health report schema and refactor mind page
                  • register dimension store module in Vuex
                  • add routes for dimension-config and knowledge-base
                  • add dimension config and knowledge base admin pages
                  • add dimension selector, tag selector, knowledge table and dialog components
                  • add dimension and knowledge base API and Vuex store
                  • add dimension config and knowledge base admin controllers
                  • add knowledge base service with Dify sync support
                  • add dimension config and knowledge tag services
                  • add mybatis mappers for dimension and knowledge base
                  • add dimension config and knowledge base entities
                  • add nutritionist/teacher/admin views
                  • add role-to-permission mapping utility
                  • add multi-role JWT support (nutritionist/activity_admin/article_admin)
                  • add nutrition chat UI to frontend
                  • wire nutrition API into controllers + config
                  • add health analysis & recommendation services
                  • add nutrition recommendation DTOs
                  • add multi-role support (nutritionist, activity_admin, article_admin)
                  • 富沛(我的)页面改造 + 心愿单入口
                  • 心智页添加心/智双Tab结构
                  • CFC-DanShop集成 - 支付代理+批量迁移
                  • add FamilyRelationGraph canvas component to body/mind/action pages
                  • update web admin pages with slider captcha and format utils
                  • update frontend pages, components and splash screen
                  • update backend entities, services, DTOs and configs
                  • add precision nutrition & health report survey flow
                  • add showToFamily toggle in profile/child-edit, clean up mind page
                  • add FamilyMemberCard/FamilyMemberStrip components, wire into pages
                  • add contact management feature (ContactCard, ContactImport, contact-detail)
                  • add showToFamily field to Child/User, update HealthReport
                  • add getVisibleMembers and updateVisibility to UserService
                  • configure Dify API key for AI chat
                  • add showToFamily to ChildInfoDTO/UpdateChildDTO, create FamilyMemberVO
                  • add show_to_family column migration to children and users tables
                  • 心智模型重构 — DAN 70% + 先天 30% + 行为修正
                  • 健康能量 v1.2 心智增强设计 + 会员分销/财富模块功能完善
                  • migrate TabBar to 5-tab (首页/身体/心智/行动/我的), move shop→action path
                  • add web admin pages for article management, energy sandbox, withdraw audit, profit rate
                  • add energy/body/mind/promotion/stats pages, update existing pages for energy system
                  • add frontend components, custom-tab-bar and global styles
                  • restructure WeChat miniprogram with subPackages to fix error 80051 (source size 3172KB > 2MB)
                  • update backend config, schema, entities and services for new modules
                  • add backend services and controllers for energy/commission/article/badge/game/invite modules
                  • add backend entities, mappers and DTOs for energy/commission/article/badge/game modules
                  • 商城+服务商页面更新
                  • 心愿模块+任务管理模块更新
                  • 组件升级(claymorphism适配+PlayfulCard重构)
                  • 重构心愿页
                  • 重构家长端首页
                  • 重构孩子端首页(claymorphism设计系统)
                  • 统一品牌色系、基础样式与页面配置
                  • Product/ProductOrder/SysConfig/Admin 后端 Controller
                  • api.js 追加商品/订单/系统配置 API
                  • SysConfig 实体/Mapper/Service 实现
                  • ProductOrder 实体/Mapper/Service 实现
                  • Product 实体/Mapper/DTO/Service 实现
                  • 创建发现页作为登录前首页,未登录重定向
                  • 提取五行沙盘为独立组件,替换首页内联实现
                  • 商品/订单/系统配置 3 张表 DDL + 种子数据
                  • Web管理端添加服务商审核页面(审核列表+通过/拒绝操作)
                  • 个人中心添加会员中心/服务商中心入口及状态检测
                  • 添加五行能量沙盘(溪艾福)组件和溪福俱乐部占位页面(发现/商城/入驻/中心)
                  • 更新小程序TabBar(发现/商城)并注册溪福俱乐部页面路由和API
                  • 实现服务商入驻/审核/查询API(入驻申请+审核列表+审核操作)
                  • 用户实体添加服务商/家庭管理员字段并新增DB迁移
                  • 实现模块 A-E 完整功能
                  • 新增成长规划Controller、任务统计服务和申请记录实体
                  • 小程序前端功能增强和重构
                  • 规划师模块新增首页统计和家庭信息接口
                  • 实现任务批量操作功能(TASK-016)
                  • 添加任务时长字段(TASK-011)
                  • 修复DataMigrationService性别映射、幂等性和日志
                  • 重构Web管理端布局路由和API集成
                  • 完善数据迁移服务和用户认证流程
                  • 添加sfms多数据源配置和数据迁移服务
                  • 补充测试用例并修复编译错误
                  • 添加Service接口规范(TaskService,RewardService,UserService)
                  • 实现成长规划师模块完整功能
                  • 实现指导师功能完整迁移
                  • 实现小游戏作为任务类型功能
                  • 添加数据库字段运行时自动同步处理器(SchemaSyncHandler)
                  • 实现心愿功能(wishes)替代rewards/reward_wishlists
                  • 实现任务提醒和统计功能
                  • 实现用户操作日志功能
                  • 实现用户操作日志功能
                  • 完善任务重复设置功能
                  • 实现V1.2 P0需求
                  • 更新需求文档需求细则
                  • 更新需求文档(V1.2)
                  • 添加自动化测试套件,实现100%需求覆盖
                  • 实现小游戏积分系统、连续打卡功能及问题修复
                  • 创建分层AGENTS.md文档系统
                  • 完善Web管理端API和路由
                  • 完善前端页面和组件
                  • 新增指导师套餐和绑定功能控制器
                  • 实现前端地址选择和区域匹配功能
                  • 添加街道地址功能支持家庭和指导师区域匹配
                  • 完善Web管理端页面和API集成
                  • 新增实体类、Mapper和Service支持多媒体和会员功能
                  • 添加用户角色选择、生日性别字段及家长孩子身份切换功能
                  • add AGENTS.md files and fix AdminLoginDTO password field

                  重构

                  • 成长页面调整 — 戒备/饮食推荐从健康移至成长
                  • 去掉API自动传memberId——child角色从JWT获取currentMemberId,parent不自动选孩子
                  • LangGraphAdmin 重构为标签页布局 + 真实请求历史面板
                  • 方案制定页改为分步表单UI,隐藏AI对话界面
                  • 清理重复的 loadAllData 调用
                  • 标记旧佣金结算链路为@Deprecated
                  • 提现流程改为基于CF值余额
                  • upgrade页移除支付/优惠券逻辑,改下一步跳转pay,修复会员状态判断bug,支持划线原价
                  • 重设计我的页面 - 用户卡片+数据概览+五维能量+待办提醒+分组菜单
                  • 重设计'我的'页面为信息集散中心 - 用户卡片+数据概览+五维能量+待办提醒+功能菜单
                  • 重设计家庭挑战主页 - 移除重复的快速创建区,模板移至弹窗内,简化布局
                  • 首页重新设计 — 对齐新TabBar页面模式
                  • 移除维度页中的活动/文章/商品区块,仅保留能量相关内容
                  • 移除family-guard弹窗,无家庭时自动创建;移除创建/加入家庭按钮
                  • restructure tabbar from 5-dim to 4-tab + center 5-dim launcher
                  • 家庭关系卡重设计为FAB浮标+扇形展开,移除创建/加入家庭按钮(已自动创建)
                  • 清理已废弃的 relationship_types 表(迁移169)——移除活路径 ALTER 代码、DROP TABLE 从死代码移到活路径
                  • rename childId to memberId across full stack (childId was always family_member.id)
                  • 健康报告上传页 report-upload.vue 重构
                  • 移除死页面 plans.vue,权益对比保留在 upgrade 页
                  • gut-testing 删除 gut-kit-6/8 图片块,更新 8 大检测维度解析长图为压缩版
                  • 统一五维首页商品推荐组件为 DimensionProducts
                  • 移除 gut-testing 截图占位块和 gut-kit-3 微信解读CTA块
                  • 移除 gut-testing 产品页 gut-kit-2 寄回流程图和 gut-detail-banner 长图
                  • 统一活动详情和商品详情页
                  • 统一文章详情页为 article-center/article-detail
                  • 主动健康vs被动健康区域改为纵向布局,红绿改暖黄+青绿配色
                  • redirect old apply pages to unified service role apply page
                  • 富页面去掉我的邀请码区域
                  • 商品列表查询参数统一为 dimensionCode
                  • 按场景+角色重构测试用例,扩展至8角色27流程
                  • move strain table from gut-microbiota to probiotics-science, add cross-links and new target audience cards
                  • 重构10个控制器移除HttpServletRequest手动userId获取改用@RequestAttribute注入
                  • 更新添加孩子入口导航至家庭成员页面
                  • 废弃独立添加孩子页面,重定向至家庭成员
                  • 年龄优先判定孩子角色
                  • 替换并新增证据截图(CA Cancer/Bicarb/Mol Cancer)
                  • 精简症状识别表(+酸性微环境+抗炎闭环)
                  • 用科普文章链接替换免费领取白皮书文案
                  • 我的页面改为仅个人信息+配置,移除富相关组件
                  • 行页面移除成长里程碑(OctopusGraph组件+action页面清空)
                  • users.role ENUM → VARCHAR(20); add migration 99
                  • make indicator ranges computable with min/max + status levels
                  • redesign card UI with cover gradient and badge layout
                  • 删除成长计划页面并合并推荐商品与活动为统一信息流
                  • 扁平化营养师/管家入驻申请页面结构 + 统一import路径为@别名
                  • 全局UI文案套餐→任务模板重命名
                  • 审核中心提升为一级菜单, 删除老的5个子审核页面
                  • rename FamilyRelationshipSection -> OctopusGraph; fix: health chart shows zeros when no data
                  • 重构FamilyRelationGraph为全Canvas force-directed关系图
                  • 删除 UserQuickEntry 组件及全站引用
                  • remove FamilyRelationshipSection (重要关系组件) from body/mind/wisdom pages, keep unified FamilyRelationGraph
                  • remove relationship components from body/mind/wisdom pages
                  • merge health actions into quick-action bar, remove separate report/nutrition sections
                  • 全代码库替换术语 分销→销售 分润→返利 裂变→推荐 分佣→佣金
                  • remove login gate from activity/product/article detail pages
                  • remove reading timer from article detail
                  • unify admin page styles with global CSS design tokens
                  • merge wechatLogin and wechatPhoneLogin, capture phone from WeChat
                  • rebuild admin dashboard
                  • TabTransition 动态化 - 数据就绪后才自动消失
                  • 合并工作台至首页,删除独立路由和菜单
                  • 登录页左侧品牌区重新设计 — 五维能量轮盘
                  • replace inline 推荐阅读 with DimensionArticles组件 on action/mind pages
                  • 测评预约服务重构 + CreateWishDTO新增商品字段 + 支付服务扩展
                  • 子包重组 - 详情页移至 *-detail 目录降低主包大小
                  • 重构智页面布局并提取推荐阅读为共享组件
                  • 重构菜单分组+权限体系
                  • remove 智·认知 tab and add 传统文化 sections
                  • 移除DAN等级相关字段
                  • 数据库迁移DDL+seed, HealthReportController集成refreshFromGutReport, 前端7维字段修复
                  • rewrite FamilyRelationGraph with View+Canvas hybrid layout
                  • extract API base URL to config.js with multi-env support (.env.development/staging/production)
                  • zxyj → cfc 全局重命名
                  • Web管理端Layout重构和规划师模块完善
                  • 实体模型更新及后端服务增强
                  • 为所有44个Service类添加Interface规范
                  • 优化控制器导入和用户相关功能

                  文档

                  • 我的页面电商风格改造设计
                  • 通关解锁计划状态更新为后端完成+前端核心完成
                  • 新增实施计划 - 13任务分解,含迁移/Service/Controller/前端组件/管理端全链路
                  • 小程序空功能实现计划(P0-P3分类,共23项)
                  • 设计升级 v2.1 - 三关递进+沙盘个人/全家切换+增值关卡+六步法关卡总表
                  • 通关解锁功能设计 - 自检门禁解锁能量沙盘+增值关卡+软引导
                  • 知识库菌-疾病关联表格新增问题相关性/证据强度列
                  • 新增新用户引导与留存设计方案
                  • 通用报告块渲染引擎实施计划
                  • 通用报告块渲染引擎设计文档
                  • 新增规划与设计文档 - 内部沟通/合伙人PPT/家庭挑战参与
                  • 成长页面重构为干预中心设计文档(今日进度+持续追踪+里程碑+定期调研)
                  • 补充富维度登录前/后设计 + 五维统一视觉规范
                  • 更新 PROJECT-OVERVIEW.md v2.7 — 增加 LIFETIME 终身会员全栈完成记录
                  • 登录前页面改版设计 + 维度介绍卡片规范
                  • 富维度页面 redesign 设计文档 (财富之泉方案)
                  • 健康数据中心实现计划(12任务,3批次)
                  • 健康数据中心实现计划(12任务,3批次)
                  • 健康数据中心设计文档(看见·主动健康闭环)
                  • 平台终身会员(LIFETIME)设计文档(方案A: 等级扩展+实时聚合+管理员审核)
                  • 推荐组件移除维度实现计划
                  • 补充推荐组件移除维度设计细节
                  • 推荐组件移除维度参数设计
                  • 会员支付/升级实现计划(upgrade→pay→result 三段式 + 原价配置)
                  • 会员支付/升级页面设计(方案B:upgrade→pay→result 三段式 + 原价配置)
                  • 更新 PROJECT-OVERVIEW v2.6 - TabBar 重构完成状态
                  • 更新 TabBar 重构计划为 completed 状态 + 完成情况清单
                  • add TabBar redesign spec + restructure plan (4 native tabs + 5-dim launcher + wuxing dashboards + theory layer)
                  • 家庭成员关系条增强实现计划(FamilyMemberStrip)
                  • 家庭成员关系条关系展示增强设计文档
                  • 家庭挑战参与机制实现计划
                  • 更新 PROJECT-OVERVIEW.md
                  • 更新参考资料/dan_reports 提取脚本(extract_all_types +468行重构,merge 与 type_detector 小修)
                  • add tabbar restructure implementation plan
                  • 修复 momus 二轮评审问题(路由命令/打卡状态校验/奖励幂等条件更新)
                  • 家庭挑战修复计划按 momus 评审修正(完整方法体/登录角色门控/全员奖励发放/精确paths)
                  • 家庭挑战断点修复实现计划 + PROJECT-OVERVIEW 索引更新
                  • 家庭挑战 spec 自审修正 - 澄清家长修改进度表述
                  • 家庭挑战使用流程梳理 v1.0 - 现状基线 + 断点清单
                  • 新增滔达福项目总体介绍PPT成品(V1/V2)
                  • AI创新项目大赛新增行业应用场景,五维能量标签更新为身智富行心
                  • 新增AI创新项目大赛项目介绍文档(浠艾福定稿:AI健康教练/五维相生溯源算法/双培强基成果)
                  • 库存管理设计文档(入库单+流水+盘点+预警+套餐拆库存)
                  • 合并7个知识库为统一知识库JSON(v2.0 254.9KB,12模块,数据保真修正)
                  • AGENTS.md 追加 LangGraph 启动命令 + PROJECT-OVERVIEW 关系域标记已实施
                  • 报告解析迁移实现计划
                  • 报告解析迁移设计 — Java→LangGraph(Python算法+LLM兜底)
                  • 会员体系重构实现计划(修正apply折扣语义+8个单测)
                  • 会员体系重构设计-统一定价+优惠券发放/积分兑换
                  • mark report-confirm member-selector plan steps complete
                  • PROJECT-OVERVIEW 标记 report-confirm 选择面板计划已完成
                  • report-confirm 被检测人选择面板整合实现计划
                  • spec self-review - 统一 selectAndClose 选择逻辑 + 回填字段明确化
                  • report-confirm 被检测人选择面板整合设计
                  • 添加商品SKU选择器设计文档和实现计划
                  • 注册引导实施计划完成
                  • 新用户注册引导+个人信息按需补充/回写实施计划
                  • 关系问卷与互动记录功能补全实施计划
                  • 规格自检修正(POST /api/user/info、交叉引用)
                  • 新用户注册引导+个人信息按需补充/回写设计稿
                  • 关系问卷与互动记录功能补全设计稿
                  • 商品赠送会员实施计划
                  • 商品赠送会员功能设计(方案B 独立规则表)
                  • 同步设计文档 §5.1/5.2/§8 与 PROJECT-OVERVIEW 状态
                  • 假算法题材网络小说章节库 51 章
                  • 虚拟支付实施计划 + PROJECT-OVERVIEW 索引更新
                  • 章节草稿及规范文档同步更新引用表述
                  • 成书稿移除「浠艾福家庭健康报告」品牌化引用,改中性表述
                  • /运营: 小红书内容 D14/D15/D16、第三篇-月入2万的家庭、发布指南、README 同步更新
                  • 《家的算法》全书插图占位33处+插图规划清单+知识产权查证档案(24730/章鱼图/珍珠图)
                  • 《家的算法》全书审阅修复+藏宝图改名+第3-7章补本章要点(人物一致性/章节引用/数据矛盾/行动卡格式统一)
                  • 家庭成员页面重设计实施计划 + 饮水对比移动端轮播式重设计
                  • 《家的算法》第3章补充水主题延伸阅读书单(李复兴系列3本)
                  • 《家的算法》科学看见主线补强(财务/关系体检工具+菌群检测桥段+3个新家庭案例)
                  • 分享功能改造实施计划(海报组件参数化+5项分享入口)
                  • add D11-D14 drafts, post8/9 content, D8/D9 tracking data and process files
                  • 分享功能改造设计(海报组件参数化+5项分享入口)
                  • 家庭成员页面重新设计 - 设计文档
                  • 文章评论审核系统方案与实现计划
                  • mark service role apply design as implemented
                  • superpowers PROJECT-OVERVIEW and service-role-apply design + plan
                  • 文章详情页功能补充设计 — 自动完成阅读+评论系统+AI答题
                  • 家庭成员关系卡片修复方案
                  • 家庭成员关系卡片差距分析 — FamilyMemberStrip vs 需求设计
                  • 能量行为配置与系统功能关联机制设计
                  • 能量配置管理系统设计 — 行为配置+消费配置+转换规则
                  • 五维能量来源分析 — 19个来源+消耗+日上限
                  • update PROJECT-OVERVIEW to v2.1 - Phase 4 ✅ 已完成
                  • 维度筛选设计分析 — 活动/商品/文章/任务四实体对比
                  • 更新成员选择分析 — 按childId/memberId/无参数分类列出全部141个功能接口
                  • 家庭成员选择能力分析 — 梳理childId/memberId接口
                  • 补充活动流程图 — 详情页分享/报名按钮 + 评价流程
                  • 新增 checkout 地址管理改造设计文档和实施计划
                  • 新增财富能量兑换优惠券流程图
                  • 新增佣金结算流程图 — 两级推荐佣金+提现+结算全链路
                  • 新增支付流程流程图 — 覆盖订单创建/支付/退款/提现全链路
                  • 全部31个流程图重绘 — 数据上连线+中文标注+分层+完整性分析
                  • update PROJECT-OVERVIEW to v2.0 (2026-07-28)
                  • add report management design spec
                  • 数据移到连线标注 + 中文命名
                  • 重构成长档案流程图 — 按阶段/分层/数据传递重绘
                  • rewrite publishing guide with 5-dimension and knowledge point framework
                  • PROJECT-OVERVIEW v1.9 - E2E Phase 1 docs + resolve merge conflicts
                  • 创建AGENTS.md销售文章目录+交叉链接审计
                  • PROJECT-OVERVIEW v1.8 - 健康维度重构全完成(Tier2 VOICE/PHOTO + canvas雷达图),商品规格最小购买数限制已实施
                  • PROJECT-OVERVIEW - 添加管理后台手机自适应设计文档和实施计划索引
                  • docs:
                  • PROJECT-OVERVIEW v1.4 - Phase 5全栈完成 + 文档审计同步
                  • PROJECT-OVERVIEW - 健康维度重构状态更新为后端框架已实现
                  • PROJECT-OVERVIEW v1.7 - 同步富维度/文章发布/权限系统完成状态
                  • PROJECT-OVERVIEW v1.6 - Phase 4 status sync (健康7维/成长档案/供应商体系后端已实现,供应商订单修复完成)
                  • comprehensive plan Task 5 [-5→] ✅完成
                  • PROJECT-OVERVIEW v1.5 - sync P2-2/P3 active health backend status (all implemented)
                  • comprehensive plan 状态审计 - Tasks 1-10 完成情况更新
                  • PROJECT-OVERVIEW v1.4 - 全量状态审计
                  • update TASK-P0-001 status to 已实施
                  • PROJECT-OVERVIEW v1.3 - 辈分重构全栈完成 + 状态同步
                  • update PROJECT-OVERVIEW.md v1.3 - 辈分重构全栈完成状态同步
                  • PROJECT-OVERVIEW v1.2 状态审计校正(辈分重构→后端完成、推广体系→前端基础就绪、电商扩展→暂停、新增DAN双角色模型记录)
                  • update PROJECT-OVERVIEW.md v1.2 with Phase 2-4 recategorization and comprehensive implementation plan
                  • update PROJECT-OVERVIEW.md - P2-1 marked complete
                  • 主动健康六阶模型改进设计文档
                  • add implementation audit, tickler, phase1-remaining, and P0 tickets
                  • 新增小红书自动化发布工作流 + 30天内容矩阵
                  • unified execution plan v1.0 + PROJECT-OVERVIEW v1.2 status corrections
                  • mark LangGraph Phase 3 as implemented in PROJECT-OVERVIEW
                  • sync phase1-4 plan checkpoints; add langgraph start.sh; ignore .venv
                  • PROJECT-OVERVIEW.md v1.1 audit calibration
                  • sync PROJECT-OVERVIEW.md Phase 1 statuses with git-history verification (encoding fix)
                  • sync PROJECT-OVERVIEW.md Phase 1 statuses with git-history verification
                  • LangGraph Phase 2-4 implementation plans
                  • LangGraph migration design doc + Phase 1 implementation plan
                  • add AxonHub model routing and multi-model workflow to upgrade plans
                  • SB3 upgrade implementation plan with task breakdown
                  • Spring Boot 3升级 + Dify替代实施计划
                  • add Dify migration feasibility analysis
                  • add implementation plan for mini-program and Java backend modifications
                  • add analysis of personalized descriptive content to extract from reports
                  • add gap analysis between extraction results and miniprogram/backend
                  • 更新菌群报告设计 — 仅展示个性化数据+知识库弹框+异常颜色箭头
                  • update v5 export script, add knowledge base directory
                  • 菌群报告页面重构设计规范(查看+编辑混合模式)
                  • 添加DAN测评服务闭环流程设计文档
                  • add extracted JSON reports for 5 test PDFs
                  • refactor to single-PDF-in structured JSON mode + add phylum/disease bacteria tables
                  • cleanup old scripts and temporary CSV artifacts
                  • add bacteria composition tables extraction (core genus/probiotics/harmful/pathogens) for triplet format
                  • fix JSON triplet whitelist filtering + name/age/gender regex + vitamin B1/B12 overlap bug
                  • fix 朱 food table extraction (compressed detection + ref lookup) + regenerate CSV
                  • fix neurotransmitter dedup + regenerate all CSV with corrected data
                  • fix inline extraction for vitamins/barrier/pathogens + add disease risk known names and amino acid merge
                  • add PDF extraction scripts (v4 + v5 with JSON mode)
                  • update ISSUE-TRACKING v17 — admin route fix + all tests passed
                  • update ISSUE-TRACKING v16 with remote sync analysis and pending test plan
                  • 成员详情维度分段 设计文档+实施计划
                  • add CSV data and raw text from PDF extraction
                  • remove deprecated extract_food_csv.py
                  • 家庭推广体系重构 — 设计文档与实施计划
                  • supplier-system gap-fix plan + DAN Phase 2-5 framework
                  • 添加参考资料 PDF
                  • ISSUE-012~015 family member fixes tracking
                  • 五维功能-能量映射文档 + 缺失功能补全实施计划
                  • 商品推荐功能实施计划
                  • 添加富维度体系重设计划(子维度拆分+身克富杠杆+小程序富页)
                  • 添加 superpowers 设计文档与确定性修复计划
                  • 添加融资计划书演示文稿(PreA/PreA+轮)
                  • 融资计划书PPT内容方案更新至 v1.0
                  • add DAN assessment market transformation plan — full 5-phase design
                  • 一生一世家庭会员设计方案 v1.1 + 双并行实施计划
                  • update E2E test results documentation
                  • add article system redesign design document
                  • add 阶段性需求规格说明书 V1.0
                  • add family member relationship conversion spec and plan
                  • rewrite root AGENTS.md - compact, high-signal, removes stale refs
                  • 添加数据库迁移工作流规范
                  • add login-left-panel and article-center design docs
                  • add activity home page design and implementation plan
                  • DimensionWeightPicker 重设计规格文档
                  • 重写测试矩阵为用户故事方式(v2.0/120用例) + ISSUE-004/005/006根因分析文档
                  • 完整E2E测试报告2026-07-01 + ISSUE-003修复验证 + ISSUE-004/005/006录入 + 测试用例矩阵更新
                  • v2.2 IP形象融入五维能量色系
                  • 更新问题追踪表 ISSUE-001/003 已解决
                  • v2.1 浠宝→玄凤鹦鹉, 福宝→蓝白英短
                  • 浠宝(鹦鹉)/福宝(猫) IP吉祥物形象设计书 v2
                  • 同步e2e测试结果文件
                  • 更新测试追踪报告 + ISSUE-003根因确认 (2026-06-30)
                  • 添加测试追踪系统 + 多角色E2E测试报告 (2026-06-29)
                  • 更新E2E测试报告 - 第三次验证
                  • 更新管理后台发布E2E测试报告 - 第三次验证
                  • 更新管理后台发布E2E测试报告 (2026-06-28) 同步测试
                  • 添加智页面重构和组件提取实施计划
                  • 更新管理后台发布E2E测试报告 (2026-06-28)
                  • 重构幸福三支柱为三支柱→五维映射框架
                  • 身强体健更名为身强
                  • 升级幸福三支柱为五支柱,补充身和行
                  • add incremental implementation plan for 7D health dimension system
                  • 添加关系质量功能(第二层)实现计划
                  • update health dimensions design spec - add product-dimension integration section
                  • 更新百科词条-去技术章节改第三人称加参考资料
                  • 新增亿图腾百科词条(运营文案)
                  • add 7-dim health model refactor plan + design spec
                  • 更新README和AGENTS,同步TabBar/端口/关系管理模块
                  • add health-dimensions-phase1 design plan and resolve merge conflicts
                  • add mini-program promotion design and implementation plan
                  • add 智维度页面重设计方案 - wisdom dimension page redesign
                  • 心版块第一阶段实现计划——核心体验闭环补齐+六大补充方向
                  • P1 implementation plan
                  • P1 nutritionist feature design spec
                  • update AGENTS.md for cfclub branch (146 commits ahead)
                  • 更新企业官网文案与 README
                  • P0营养师核心功能实现计划(15 Tasks,5 Waves,档案视图+缺乏分析+可视化解读)
                  • P0营养师核心功能设计方案(档案统一视图+缺乏分析+可视化解读)
                  • 根据企业官网内容更新项目 README
                  • add health nutrition gaps fix implementation plan (5 tasks)
                  • add FamilyRelationGraph redesign spec and implementation plan
                  • add 参考资料 directory with PDFs
                  • add gut flora report schema fix implementation plan for dev engineer
                  • add admin backend controller to meal recommendation implementation plan (Task 9)
                  • add web permission system design docs
                  • add precision nutrition implementation plan
                  • add cfc-web refactor plan + test docs and fixes
                  • add cfc-web E2E test fix plan
                  • add DanShop order-fix plan
                  • update project knowledge base (AGENTS.md) - cfclub branch info, critical config, TabBar 5-page structure, system patterns and anti-patterns
                  • trim homepage plan — 9 tasks done by remote c1ade35, keep only Task 1
                  • 添加文章与活动发布系统设计文档
                  • add homepage risk fix plan — 10 issues across parent-index/child-index
                  • add systems-analyst role definition for OpenCode
                  • add family member cards design specs and plan
                  • 文档归档整理 + 行远页新增重要关系维护设计
                  • 新增财富健康设计文档和实现计划(记账打卡+保单管理+能量联动)
                  • add plans, specs, analysis docs for energy system, article system, wuxing sandbox, subPackages
                  • add article publishing system implementation plan
                  • 文章设计文档增加浏览权限控制(public/login/private)
                  • 新增文章内容发布系统设计文档
                  • 更正五星布局,从最左侧顺时针木火土金水,顶为心
                  • 新增五维五行哲学体系设计规范,更新能量设计文档对照
                  • 更新公司及产品介绍文案(五维全景幸福矩阵)
                  • 新增公司及产品介绍(身心情行富五大领域)
                  • 品牌名统一为浠艾福(Care Family),重写README定位为家庭健康成长平台
                  • 项目名称变更 知心益家→浠艾福,重写README
                  • 小程序页面重设计划
                  • add five-dimension energy system design spec and implementation plan
                  • 添加登录前浏览体验实现计划(7个任务)
                  • 添加登录前浏览体验设计规格(pre-login discovery)
                  • 现状差异分析报告 + Phase 1 商品系统实现计划
                  • 添加Phase 0实现计划文档
                  • 添加溪福俱乐部(CFC)设计文档和Phase 0实现计划
                  • 更新需求分析文档和设计文档
                  • 更新项目文档和需求分析文档
                  • 更新README项目结构和技术栈
                  • update design docs and directory references
                  • move system design docs under docs
                  • move system test docs under docs
                  • move requirements docs under docs
                  • 梳理任务管理需求文档
                  • 更新需求完成报告,反映V1.2当前实现状态

                  样式

                  • 添加商城订单快捷和推广中心快捷样式
                  • 重绘「身」TabBar 底签哑铃图标, 更新浠艾福项目总体介绍 pptx; gitignore 排除 .codegraph
                  • 家庭挑战卡片缩水为纯展示组件
                  • 心理报告上传卡片参照身页面卡片风格重新设计
                  • 淡化中心太极阴阳鱼,去除黑白底色改为半透明
                  • activity-detail 补充付费不退费 CSS 样式

                  测试

                  • 参与机制单元测试(respond/评分矩阵)
                  • 身份参数加固回归测试 + 修复过期断言
                  • 新增 parseDate 单元测试(iOS 兼容回归保障)
                  • 端到端测试 — report_parse API + ReportParseAgent + LLM非dict防护
                  • 补充近期需求变更的端到端覆盖
                  • switchToMember 测试 body 类型改为 Map
                  • fix 35+ flow-l1 test param issues (118→153 passed)
                  • Phase1 - infrastructure + core roles restructuring
                  • admin/health/nutrition 覆盖新增控制器
                  • add v1.1 scenarios for knowledge-popup, quick-nav, edit mode
                  • add unified-audit-center, guide-family-list, and vendor-product-manage E2E tests
                  • fix admin routes in E2E tests to use http://cfc.iwintrue.com/admin/login
                  • add admin-butler-review and family-earnings-flow E2E tests + update dan-report-flow for DAN cognitive/EMI dimensions
                  • update ISSUE-TRACKING v15 — remote sync analysis + E2E results + pending test additions
                  • fix E2E route paths per pages.json + update ISSUE-TRACKING with v14 findings
                  • add E2E tests for DAN report, flora microbiome, and AI plan-task flows + fix playwright.config.js baseURL
                  • fix e2e test runner - mini-games Playwright syntax, admin-panel URL, baseURL
                  • improve E2E test robustness and simplify DAN assessment flow
                  • 新增 DAN 测评服务商体系完整流程测试 + 需求验证报告
                  • v13 最终版 - SupplySystemServiceTest(18/18), 修复 getAdminList 参数签名, 更新测试文档
                  • v13 test records + issue tracking (ISSUE-010~012)
                  • unit tests for SupplySystem/FoodRecommend/ArticleWorkflow + v11 API test updates + E2E workflow scenarios
                  • s: fix playwright config, add E2E status report, system Chrome used
                  • s: v10 results - 15 PASS / 0 FAIL, ISSUE-002 fixed, issue tracking added
                  • 新增健康营养师流程测试 + E2E场景矩阵文档
                  • s: update v9 results - backend accessible, 12 pass / 3 fail
                  • s: add v9_test.js for cfclub updates
                  • v8 final results 11 PASS 2 FAIL 1 SKIP
                  • add v3 API test scripts for NEW fix verification
                  • round 5 API test reports + NEW-01/02/03 issue tracking + test scripts
                  • E2E测试配置和运行指南
                  • 成长记录/能量系统/商品购买/签到奖励流程测试
                  • 家庭成员管理/心愿兑换/规划师绑定流程测试
                  • Playwright E2E 端到端流程测试套件 (8个核心业务流程)
                  • 测评订单全流程集成测试
                  • add dimension controller and energy sync tests
                  • add service layer tests for ActivityAdminService, FoodService, NutritionDeficiencyService (36 tests)
                  • add teacher/admin role tests for WishController, child/admin denial for guideBindFamily; add test report
                  • add 7 role-boundary tests for GuideFamilyTaskController, extract TestRoles constants
                  • fix 6 test files entity/DTO field mismatch
                  • add 70 backend tests for 4 role types + fix 24 compilation errors
                  • add cfc-frontend test suite (153 tests) + update test report
                  • results:
                  • 修补测试用例,全量204测试通过
                  • s run: 204, Failures: 0, Errors: 0, Skipped: 0
                  • 新增成长档案与测评模块测试报告
                  • 新增成长规划师模块测试用例
                  • 重构系统测试用例,分离API测试和Web浏览器测试
                  • 性能优化

                    • 维度首页过渡页强制关闭上限 3s 缩短至 1.5s
                    • pre-compute display values in computed to avoid template method calls
                    • add async thread pool (core=8/max=16/queue=100) + start.sh with G1GC
                    • combine dashboard 7-API calls into single POST /api/stats/dashboard
                    • replace full Element UI import with selective imports
                    • add 9 composite indexes via idempotent migration
                    • add migration version table, skip migrations after first run
                    • batch queries in EnergyService to eliminate N+1 patterns
                    • configure HikariCP pool size 50, remove duplicate datasource config

                    v1.0.1009 (2026-08-12)

                    新功能

                    • 修复排序功能后端消费body sort + 前端构建修复

                    其他

                    • - AdminController.getUsers: 读body sort透传SortUtil
                    • - AdminArticleController + ArticleService: 读body sort透传
                    • - AdminProductController: 读body sort,条件化默认排序(避免SQL冲突)
                    • - AdminProductOrderController + ProductOrderService: 读body sort透传
                    • - AdminRecipeController + RecipeService: 加分页+读body sort
                    • - AdminCouponController + CouponService: 加分页+读body sort
                    • - AdminProductPpointController + PpointService: 读body sort透传
                    • - PpointConfigAdminController + MealRecommendService: 适配签名变更
                    • 前端:
                    • - 修复7个vue文件的+col_key+语法错误+错位header+重复import
                    • - npm run build通过

                    v1.0.1008 (2026-08-12)

                    新功能

                    • 成长页布局重构 - 饮食入口+今日推荐食材+记录卡平铺+干预快捷网格

                    v1.0.1007 (2026-08-12)

                    Bug 修复

                    • 修复排序批量 patch 产生的语法错误,恢复构建

                    其他

                    • - ArticleManage.vue: header 移到 viewCount 列,修 col_key,删重复 import,补 sortableColumns
                    • - OrderManage.vue: header 移到 orderNo 列,修 col_key,补 sortableColumns
                    • - ProductManage.vue: header 移到 name/salesCount 列,createdAt 修 col_key,补 sortableColumns
                    • - Recipes.vue: header 移到 name 列,补 import SortMixin,修 col_key
                    • - CouponManagement.vue: header 移到 name 列,修 275/389 语法,补 sortableColumns,加 loadList 别名
                    • - ProductPpointManage.vue: 修 156 行 }、sort 语法
                    • npm run build 通过

                    v1.0.1006 (2026-08-12)

                    新功能

                    • rebuild cfclub with essential project files

                    v1.0.1005 (2026-08-12)

                    Bug 修复

                    • 关卡页与报告渲染组件 :key 改为方法调用,消除非h5平台编译告警
                    • stable_token重试失败时回退常规token接口

                    其他

                    v1.0.1004 (2026-08-12)

                    Bug 修复

                    • 成长页推荐卡片 :key 改为方法调用,修复非h5平台编译告警
                    • 成长页成长回看改名为成长记录,追踪标签移除调研

                    v1.0.1003 (2026-08-12)

                    Bug 修复

                    • 报告上传改走 JD Cloud OSS,LangGraph 解析支持远程 URL

                    其他

                    • saveUploadFile 仍写本地磁盘,LangGraph 容器读不到文件(400 文件不存在)。
                    • 修复:
                    • 1. HealthReportController 注入 StorageService,uploadOnly/uploadReport/
                    • parsePreview 改用 storageService.storeFile → 文件上传到京东 OSS
                    • 2. parseByDraftId/parsePreview 对远程 OSS URL 直接传 URL 给 LangGraph,
                    • 本地路径才用 getFilePath(); 本地 Java fallback 用 getFilePath 下载
                    • 3. 删除不再使用的 saveUploadFile/resolveUploadFilePath 私有方法
                    • 4. LangGraph report_parse.py 的 file_path 支持 http(s) URL,自动下载到
                    • 临时文件后解析(不依赖共享 volume 时序)

                    v1.0.1002 (2026-08-12)

                    文档

                    • 明确商品积分仅按现金实付部分计算
                    • 家庭平台积分(CF值)体系设计文档

                    Bug 修复

                    • 移除报告审核 Tab 及相关路由
                    • 迁移227 product_skus.id 升级为 BIGINT

                    其他

                    • - 生产库 id/product_id 为 INT,实体为 Long,插入超出 INT 范围的 id 报错
                    • - 生产 DB 已直连 ALTER(即时生效)

                    v1.0.1001 (2026-08-12)

                    新功能

                    • 健康报告三合一 - 统一报告列表/审核/代传为单页带Tab

                    Bug 修复

                    • RegionController 移除硬编码数据,改用 StreetService 读取 DB 全量省市区数据

                    v1.0.1000 (2026-08-12)

                    Bug 修复

                    • 迁移226 products 添加 growth_category 列

                    其他

                    • - Product 实体已含字段,生产库缺列,商品列表分页查询报错
                    • - 生产 DB 已直连 ALTER(即时生效)
                    • - schema.sql 同步补列

                    v1.0.999 (2026-08-12)

                    Bug 修复

                    • 迁移225 articles 添加 growth_category 列

                    其他

                    • - Article 实体已含字段,生产库缺列,getFeatured 精选查询报错
                    • - 生产 DB 已直连 ALTER(即时生效)
                    • - schema.sql 同步补列 + 解决 unlock_gates/microbiome_article 冲突

                    v1.0.998 (2026-08-12)

                    Bug 修复

                    • 成长页推荐只调用一次API,前端按growth_category分组显示

                    v1.0.997 (2026-08-12)

                    Bug 修复

                    • 推荐接口移除 growth_category 过滤,直接取精选内容

                    v1.0.996 (2026-08-12)

                    新功能

                    • 成长页新增推荐文章+推荐商品板块

                    其他

                    • - 后端: AI自动分类接口 /api/growth/articles/products/ai-classify
                    • - 前端: growth-main 新增推荐文章和推荐商品卡片
                    • - 前端: api.js 新增 getGrowthRecommendations()

                    v1.0.995 (2026-08-12)

                    Bug 修复

                    • GrowthRecommendationService 修复 getCategory 调用错误

                    v1.0.994 (2026-08-12)

                    新功能

                    • 成长板块推荐文章/商品 + AI自动分类

                    其他

                    • - 后端: GrowthRecommendationService 推荐查询 + AI分类
                    • - 后端: GrowthController /api/growth/recommendations + /ai-classify
                    • - 前端: growth-main 新增推荐文章+推荐商品板块

                    v1.0.993 (2026-08-12)

                    重构

                    • 成长页面调整 — 戒备/饮食推荐从健康移至成长

                    其他

                    • - gut-flora-caution-detail → pages/growth/caution-detail
                    • - gut-flora-foods-detail → pages/growth/foods-detail
                    • - growth-main 新增戒备/饮食推荐行动卡片(戒备有数据时显示)
                    • - 更新 gut-flora-detail.vue 跳转链接

                    v1.0.992 (2026-08-12)

                    新功能

                    • 我的页面改为电商风格 - 订单五宫格/购物车/收货地址, 移除功能网格

                    其他

                    • - profile-main: 新增购物车(角标99+封顶)与收货地址入口
                    • - profile-main: 移除功能入口网格, 设置改为菜单项放退出登录上方
                    • - profile-main: loadOrderCounts 修正字段映射(pending/paid/shipped/refunding)
                    • - profile-main: 补充 loadCartCount 方法定义
                    • - order-list: onLoad 支持 status 参数, 我的订单五宫格点击直达对应状态列表
                    • Ultraworked with Sisyphus
                    • Co-authored-by: Sisyphus sisyphus@ohmyopencode.ai

                    v1.0.991 (2026-08-12)

                    Bug 修复

                    • 报告详情行距优化、富维度商品封面图URL修复、智维度功能区间距调整
                    • 修复成就页分包注册路径,健康/成长页移除家庭成员选择条

                    v1.0.990 (2026-08-12)

                    新功能

                    • 通关解锁管理端 - 关卡配置 CRUD/排序/启停/家庭进度管理

                    v1.0.989 (2026-08-12)

                    文档

                    • 我的页面电商风格改造设计

                    其他

                    • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                    • /data/cfc-uploads/ 文件,导致解析时报「文件不存在」。
                    • 修复:将 langgraph-data:/data 拆分为两层挂载:
                    • - /data/cfc-uploads → bind mount 宿主机路径(共享上传文件)
                    • - langgraph-data:/data/chroma_db → 独立命名卷(chroma 向量数据持久化)

                    Bug 修复

                    • LangGraph 容器挂载宿主机上传目录替代命名卷

                    v1.0.988 (2026-08-12)

                    文档

                    • 通关解锁计划状态更新为后端完成+前端核心完成

                    v1.0.987 (2026-08-11)

                    Bug 修复

                    • getFamilyEnergySandbox 兼容新返回格式,避免16个旧页面崩溃

                    v1.0.986 (2026-08-11)

                    新功能

                    • 前端组件+页面改造 - WuxingSandbox切换开关/gate-lock/gate-guide-bar/关卡中心页/parent-index+child-index门禁

                    v1.0.985 (2026-08-11)

                    新功能

                    • 报告详情页统一重构为完整页面,修复上传后跳转 routeDone 报错

                    其他

                    • - report-confirm.vue 去除 onLoad 重复的 draftId/memberId 赋值,draftId 模式自动跳转详情页
                    • - report-upload.vue 上传草稿后跳转详情页
                    • - 新增健康报告编辑日志(HealthReportEditLog + Mapper + 建表迁移)
                    • - 报告服务/区块组装/排序工具相关后端增强

                    v1.0.984 (2026-08-11)

                    Bug 修复

                    • 图片路径替换为京东云OSS URL

                    v1.0.983 (2026-08-11)

                    新功能

                    • 食材戒备匹配功能

                    其他

                    • - 前端: 新建 gut-flora-caution-detail.vue 页面,倒序展示 indexScore < 0 的食材
                    • - 前端: gut-flora-detail.vue 新增'食材戒备'入口卡片(有戒备食材时显示)
                    • - 前端: api.js 新增 getFoodCautionList()

                    v1.0.982 (2026-08-11)

                    新功能

                    • 新增成就页面 achievement/index.vue
                    • 实现服务角色申请、报告详情、成就页面,修复占位按钮

                    v1.0.981 (2026-08-11)

                    新功能

                    • 新增应季食材管理后台页面

                    其他

                    v1.0.980 (2026-08-11)

                    新功能

                    • 新增子维度自检题库(行6维/心自驱力自我概念/智成长型思维/富家族传承)及计分
                    • 心13维分组雷达图+行6维关系域雷达图+智成长型思维加入认知雷达
                    • 五维体系新增心13维/行6维/智成长型思维/富家族传承子维度字段与计算逻辑

                    Bug 修复

                    • 自驱力/自我概念/成长型思维解析改为嵌套Map+中文key的structuredAnalysis真实结构

                    v1.0.979 (2026-08-11)

                    Bug 修复

                    • 修正 UserController 变量重复声明

                    v1.0.978 (2026-08-11)

                    Bug 修复

                    • UserController 编译错误 - 修复 getPointsBalance 方法和 log 引用

                    v1.0.977 (2026-08-11)

                    新功能

                    • 菌群功能分析——功能维度聚合+P/B比值+饮食模式+风险提示
                    • 我的页面重设计为以我为中心
                    • 我的页面新增个人成就统计API

                    其他

                    • - BeijingNutritionService.analyzeGutFlora: 按功能分类聚合菌属
                    • (丁酸盐生产者/黏液屏障/蛋白质发酵者/SCFA/产气菌/益生菌等)
                    • - 计算 Prevotella/Bacteroides 比值推断饮食模式
                    • - 组合风险模型(IBD/代谢/肠易激/神经-肠轴)
                    • - 益生菌补充指导
                    • - POST /api/nutrition/beijing/analysis
                    • 前端:
                    • - gut-flora-detail.vue 新增分析卡片(功能维度评估/PB比值/饮食模式/风险/益生菌)
                    • - api.js 添加 getGutFloraAnalysis
                    • Ultrawwork with Sisyphus
                    • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                    • Ultraworked with Sisyphus
                    • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai

                    v1.0.976 (2026-08-11)

                    新功能

                    • 全量列表页支持点击列头排序

                    其他

                    • - 后端: SortInterceptor + SortUtil 全量支持
                    • - 支持单击设主排序、Shift+Click追加、双击切换方向,最多3列组合

                    v1.0.975 (2026-08-11)

                    Bug 修复

                    • 修复测试编译错误和 FoodService 列名映射错误

                    v1.0.974 (2026-08-11)

                    Bug 修复

                    • 修复 EnergyControllerTest 编译错误

                    v1.0.973 (2026-08-11)

                    Bug 修复

                    • SortUtil 修复 LambdaQueryWrapper 类型不兼容问题

                    v1.0.972 (2026-08-11)

                    新功能

                    • 全量列表支持多列排序

                    其他

                    • - 新增 SortUtil.applySort(wrapper) 自动注入 ORDER BY
                    • - 批量 patch 110+ 个 controller/service 文件

                    v1.0.971 (2026-08-11)

                    新功能

                    • 通关解锁后端全链路 - 2表迁移+UnlockGateService(8判定)+/api/unlock/status+sandbox个人/全家门禁+5处触发钩子+管理端接口

                    Bug 修复

                    • 雷达图销毁后停止初始化重试 + 成长页定期调研改名成长回看并防御空项点击

                    v1.0.970 (2026-08-11)

                    新功能

                    • 上传报告前增加责任声明勾选

                    其他

                    • 解决方案,平台承诺未经授权不向第三方提供报告内容。未勾选时点击上传
                    • 卡片会弹出确认弹窗,用户同意后自动勾选并继续选文件流程。
                    • Closes: 报告上传用户隐私声明需求

                    v1.0.969 (2026-08-11)

                    Bug 修复

                    • 我的页面isLoggedIn改为data+onShow赋值,修复登录后仍显示登录前视图

                    v1.0.968 (2026-08-11)

                    Bug 修复

                    • NutritionProductService 字段名冲突导致 Bean 注入失败

                    v1.0.967 (2026-08-11)

                    Bug 修复

                    • 补全 FileRecord 实体和 Mapper(JdCloudStorageService 依赖)

                    文档

                    • 新增实施计划 - 13任务分解,含迁移/Service/Controller/前端组件/管理端全链路

                    其他

                    v1.0.966 (2026-08-11)

                    新功能

                    • 食材列表支持多列排序

                    其他

                    • - 后端: AdminFoodController 解析前端 sort 数组传入 Service
                    • - 前端: 列头点击排序(单击设主排序,Shift+Click追加,Ctrl+Click切换方向)
                    • - 前端: 排序徽章显示当前排序链,最多支持3列组合排序
                    • - 前端: 排序列高亮 + 方向图标

                    v1.0.964 (2026-08-11)

                    Bug 修复

                    • 雷达图标签边界约束 + 底部留白防tabbar遮挡 + 五维卡片标题单行 + 移除闭环图

                    新功能

                    • nutrition_product 添加 local_product_id 字段关联本平台商品
                    • 新增营养产品爬虫主脚本(强制包含被gitignore的.py)
                    • 新增营养产品爬虫脚本(京东/Amazon)
                    • 新增营养产品推荐Controller
                    • 新增营养产品推荐Service及DTO
                    • 新增6个营养产品Mapper
                    • 新增6个营养产品实体类
                    • schema.sql同步营养产品6张表

                    v1.0.963 (2026-08-10)

                    新功能

                    • 数据库迁移214-219创建营养产品6张表

                    Bug 修复

                    • diet/record/daily, survey/status, survey/history memberId 为空时优雅降级

                    其他

                    • - DietRecordService: getDailySummary/getWeeklyTrend 增加 userId 参数 + resolveMemberId 反查当前用户自己的 family_members 记录
                    • - SurveyController: 移除 status/history/submit 的缺少成员ID 报错
                    • - SurveyServiceImpl: resolveMemberId 兜底,submit 时仍无法确定则抛业务异常返回 400

                    v1.0.962 (2026-08-10)

                    文档

                    • 小程序空功能实现计划(P0-P3分类,共23项)

                    v1.0.961 (2026-08-10)

                    新功能

                    • 食材库种子数据 224 条

                    其他

                    • - 11个分类: 蔬菜58、水果42、水产品35、肉类27、干果15、豆类14、主食14、蛋类7、乳制品6、汤3、快餐3
                    • - 字段: name, category, energy_kj, protein, fat, carbs, fiber, starch, cholesterol
                    • - SQL: docs/superpowers/specs/food_seed_data.sql (可直接执行)
                    • - 数据库已有 UNIQUE INDEX idx_name(name) 防重复

                    v1.0.960 (2026-08-10)

                    文档

                    • 设计升级 v2.1 - 三关递进+沙盘个人/全家切换+增值关卡+六步法关卡总表

                    其他

                    v1.0.959 (2026-08-10)

                    新功能

                    • 富维度月度引导语 + 健康/成长页五维闭环体系

                    其他

                    • - 新增月度引导语(12个月差异化文案)
                    • - 💧金色主题样式
                    • 健康页(health-main)登录前:
                    • - 新增五维闭环体系可视化(身/心/智/行/富环形图)
                    • - 相生关系: 身→智→富→行→心→身
                    • - 相克关系: 身克富·智克行·富克心·行克身·心克智
                    • - 五维介绍卡片(点击跳转对应维度页)
                    • 成长页(growth-main)登录前:
                    • - 同构五维闭环体系(绿色主题区分)
                    • - 替换原理念卡位置,内容更丰富
                    • - 保留原登录后逻辑不变

                    v1.0.958 (2026-08-10)

                    新功能

                    • 补全健康页和成长页登录前内容

                    其他

                    • - 品牌定位语'科学管理全家健康数据'
                    • - 痛点卡: 指标正常≠健康 + 孩子反复生病文案
                    • - 4宫格功能预览(报告/认知测评/心理测评/智能方案)
                    • - 15题五维健康自检入口
                    • - LoginGuideCard 升级版
                    • 成长页(growth-main)登录前:
                    • - 品牌定位语'看见改变正在发生'
                    • - 理念卡: 记录不是目的,看见改变才是
                    • - 脱敏案例展示(小明3个月前后对比)
                    • - 4宫格功能预览(打卡/调研/里程碑/家庭挑战)
                    • - LoginGuideCard 升级版
                    • - 原登录后逻辑不变

                    v1.0.957 (2026-08-10)

                    新功能

                    • 行维度落地页挂载 - 五维弹窗 action 跳转到专属页面

                    其他

                    • - pages.json 注册 pages/action-detail/index 页面
                    • - custom-tab-bar dimMap.action 从首页改为 /pages/action-detail/index

                    v1.0.956 (2026-08-10)

                    Bug 修复

                    • 移除公告分类(27篇文章+68个chunk)

                    v1.0.955 (2026-08-10)

                    新功能

                    • 添加菌群知识库836篇文章+embedding+LangGraph集成

                    v1.0.954 (2026-08-10)

                    Bug 修复

                    • HealthReportControllerTest 适配 listReports 方法签名变更

                    v1.0.953 (2026-08-10)

                    Bug 修复

                    • LangGraphAdmin.vue 修复 ES6 spread 语法兼容 webpack4

                    v1.0.952 (2026-08-10)

                    Bug 修复

                    • 报告列表接口不强制 memberId——未传时回退到家庭报告列表

                    v1.0.951 (2026-08-10)

                    Bug 修复

                    • 修复测试编译错误——适配 controller 方法签名变更(增加 @RequestAttribute 参数)

                    v1.0.950 (2026-08-10)

                    Bug 修复

                    • HealthDimensionControllerTest 适配 history 方法签名变更

                    v1.0.949 (2026-08-10)

                    Bug 修复

                    • LangGraph管理页全屏布局 + 健康检查修复

                    其他

                    • - monitoring.py: Java后端检查由GET /api/改为POST /api/admin-auth/login-by-password
                    • - monitoring.py: LLM检查由ainvoke改为abatch(max_tokens=1)加速
                    • - .env.production: JAVA_BASE_URL改为172.17.0.1(Docker桥接网关)

                    v1.0.948 (2026-08-10)

                    Bug 修复

                    • LangGraph健康检查修复Java后端状态显示

                    其他

                    • (Java后端所有接口均为POST,GET返回404)
                    • - .env.production: JAVA_BASE_URL由远程IP改为172.17.0.1(Docker桥接网关)
                    • (Java后端运行在同服务器宿主机,Docker容器通过桥接网络访问)

                    v1.0.947 (2026-08-10)

                    重构

                    • 去掉API自动传memberId——child角色从JWT获取currentMemberId,parent不自动选孩子

                    其他

                    • - parent-index.vue: 去掉自动选中children[0],默认显示自己,用户从FamilyMemberStrip选择后设置selectedChild
                    • - 后端: HealthSleep/Water/Exercise/DailyCheckin/HealthDimension 五个Controller添加@RequestAttribute('currentMemberId')回退
                    • - 前端: sleep/water/exercise/daily-checkin/diet 五个健康页,child角色不从storage取currentChildId
                    • - 理念依据:《家的算法》书稿(测量先行→最小输入→循环→反馈→系统升级)
                    • - 主线硬门禁:家庭级判据,任一成员完成五维自检解锁全家沙盘
                    • - 增值关卡:下单菌群检测/DAN测评(无前置依赖,可先于主线完成)
                    • - 软引导:微行动/打卡里程碑/复测趋势,推荐不锁死
                    • - 管理端完整配置页:开关/顺序/奖励/条件,数据驱动
                    • - 同步更新 PROJECT-OVERVIEW.md 功能表与文档索引

                    文档

                    • 通关解锁功能设计 - 自检门禁解锁能量沙盘+增值关卡+软引导

                    v1.0.946 (2026-08-10)

                    Bug 修复

                    • LangGraph管理页全屏布局 + Java后端健康检查修复

                    其他

                    • - 表格高度自适应,无固定 max-height
                    • - Java后端健康检查由 /health 改为 /api/(返回401=正常需认证)
                    • - 组件详情展示 detail 字段而非 code

                    v1.0.945 (2026-08-10)

                    新功能

                    • 五维详页+健康+成长页登录前品牌内容

                    其他

                    • - 健康页登录前新增痛点卡、功能预览、五维自测入口
                    • - 成长页新增登录前内容(理念卡+示例展示+功能预览+LoginGuideCard)
                    • - 所有内容来自《家的算法》书稿(book/目录)
                    • - 登录后内容保持不变

                    v1.0.944 (2026-08-10)

                    Bug 修复

                    • 修复重置用户密码接口请求体参数丢失 - data 改为 data: { password }
                    • 天盘页面 routeDone 路由错误修复 - 导航工具加锁防重复跳转、修复 canvas 混合 API 用法

                    其他

                    v1.0.943 (2026-08-10)

                    Bug 修复

                    • TeacherLoginTest 适配 roles 改为 List
                    • v1.0.942 (2026-08-10)

                      Bug 修复

                      • 健康/成长页不传memberId + 后端自动解析当前用户memberId JwtInterceptor对所有角色设置currentMemberId/familyMemberId
                      • 无 memberId 时跳过健康/成长页数据请求,避免后端 400 空字符串解析错误

                      v1.0.941 (2026-08-10)

                      Bug 修复

                      • User.roles 改为 List 修复修改角色反序列化错误
                      • 其他

                        • - LoginResultDTO.roles: String → List
                        • - UpdateUserDTO.roles: String → List
                        • - UserService: 移除 parseRoles/joinRoles,直接使用 List
                        • - EnergyService: 简化 parent 角色检查
                        • - SupplyManageController: 直接使用 List.contains()
                        • - DataMigrationService: 使用 Arrays.asList()
                        • - ServiceRoleApplicationServiceImpl: 保留 JSON 序列化(独立表字段)
                        • v1.0.940 (2026-08-10)

                          文档

                          • 知识库菌-疾病关联表格新增问题相关性/证据强度列

                          其他

                          新功能

                          • 菌群知识库6疾病相关菌新增问题相关性/证据强度

                          v1.0.939 (2026-08-10)

                          Bug 修复

                          • 健康/成长页 memberId 为空修复 - getReportList 传 selectedMemberId、onShow 顺序调整、FamilyMemberStrip 绑定 @select 事件

                          v1.0.938 (2026-08-10)

                          Bug 修复

                          • 权限不足时跳403而非/,避免无限循环导致栈溢出

                          其他

                          • 形成 '/dashboard → / → /dashboard → …' 无限循环。
                          • 改为 next('/403') 直接跳 403 页面,终止循环。

                          v1.0.937 (2026-08-10)

                          重构

                          • LangGraphAdmin 重构为标签页布局 + 真实请求历史面板

                          其他

                          新功能

                          • 新增请求日志中间件 + /api/v1/logs 查询接口

                          v1.0.936 (2026-08-10)

                          Bug 修复

                          • 修复 4Tab 编译错误 - 补回 wealth/index.vue 缺失的 service-item v-for 和 serviceList 数据; 修复 report-detail.vue 和 report-blocks-renderer.vue 的 :key 表达式改为方法调用

                          v1.0.935 (2026-08-10)

                          Bug 修复

                          • JwtConfig 兼容短密钥,避免 WeakKeyException

                          其他

                          • 低于 JWT HMAC-SHA 要求的 256 位。新增自动扩展逻辑:
                          • - SHA-256 哈希扩展(密钥>=256位时直接使用原密钥)
                          • - 字节填充回退

                          v1.0.934 (2026-08-10)

                          文档

                          • 新增新用户引导与留存设计方案

                          其他

                          新功能

                          • 首页新手任务进度条置顶 + 无家庭成员空状态引导
                          • 自检结果页新增一键加入今日微行动
                          • 新手任务新增 COMPLETE_SELF_CHECK(提交五维自检即完成)
                          • 微行动×五维联动 — micro_actions 增加维度字段与短板维度推荐

                          v1.0.933 (2026-08-10)

                          Bug 修复

                          • LangGraph管理页改造 + 新增health/coach/generate端点

                          其他

                          • - 移除功能测试面板(quickTests)
                          • - API端点列表高度 500→700px
                          • - 日志面板高度 250→600px
                          • - 状态判定改为只看LLM/ChromaDB,Java后端因内外网隔离不作为降级依据
                          • - 刷新间隔从30s改为60s
                          • 后端:
                          • - adapter.py 新增 POST /api/v1/health/coach/generate 端点
                          • - 接收 {familyId, memberIds, dimensions, goal},调用 health_coach_graph
                          • - 修复 Java 后端 HealthPlanServiceImpl 调用端点 404 问题
                          • 部署:
                          • - 新增 deploy.sh 脚本(rsync同步 + docker-compose重启 + 健康检查)

                          v1.0.932 (2026-08-10)

                          新功能

                          • 个人信息所在地改为省市区三级联动并与订单联系人共享地区数据

                          其他

                          • - 前端 profile.vue: loadUserInfo 按14个字段计算个人信息完整度 profileProgress, 修复一直显示0/14的问题
                          • - 后端: users/consignees 表新增 province/city/district/street 字段(迁移211 + schema.sql同步)
                          • - UserService.updateUserInfo: 保存地区后自动创建/更新同名同手机号联系人, 共享地区数据
                          • - ConsigneeService.save: 联系人姓名手机号与当前用户一致时, 反向同步地区回用户

                          v1.0.931 (2026-08-10)

                          新功能

                          • 疾病风险内联编辑 + fromMap diseaseRisks 映射 + 全量编译验证
                          • 报告入口切换到统一详情页
                          • 统一报告详情页 report-detail(blocks 渲染)
                          • 通用报告块渲染器 report-blocks-renderer
                          • getReportDetail/DAN detail 返回 blocks
                          • 三个落库挂点写入 report_blocks(confirmDraft/confirmUpload/编辑)
                          • ReportBlockAssembler DAN 组装(score/list/text)
                          • ReportBlockAssembler gut_flora 组装 + fromMap 键名转换
                          • ReportBlock 实体/Mapper/Service(blocks upsert + 读取)
                          • report_blocks 表迁移(通用报告展示块)

                          Bug 修复

                          • 修复预存编译错误(DanshopSyncService引用 + 缺失File/FileOutputStream import)

                          v1.0.930 (2026-08-10)

                          重构

                          • 方案制定页改为分步表单UI,隐藏AI对话界面

                          其他

                          • - 步骤指示器 + 卡片式报告选择
                          • - 需求输入区改为标准表单,非对话样式
                          • - LangGraph 调用逻辑不变(aiSendMessage),仅前端 UI 改造
                          • - 方案结果以普通卡片展示,任务列表支持执行人修改

                          v1.0.929 (2026-08-10)

                          新功能

                          • 报告确认后跳转方案页 + 全家报告选择+AI对话+任务生成

                          其他

                          • - 后端 HealthReportService 新增 getFamilyReports(familyId) 方法
                          • - report-confirm.vue 确认后跳转 health-plan-summary
                          • - 重写 health-plan-summary.vue:
                          • - 选择全家已有报告(含其他家人)
                          • - AI 对话式输入需求,返回方案内容
                          • - 自动解析任务列表,支持修改执行人
                          • - 确认后批量创建任务单

                          文档

                          • 通用报告块渲染引擎实施计划
                          • 通用报告块渲染引擎设计文档

                          v1.0.928 (2026-08-10)

                          新功能

                          • 报告确认后跳转方案页 + 全家报告选择+AI对话+任务生成

                          其他

                          • - 后端 HealthReportService 新增 getFamilyReports(familyId) 方法
                          • - report-confirm.vue 确认后跳转 health-plan-summary
                          • - 重写 health-plan-summary.vue:
                          • - 选择全家已有报告(含其他家人)
                          • - AI 对话式输入需求,返回方案内容
                          • - 自动解析任务列表,支持修改执行人
                          • - 确认后批量创建任务单

                          v1.0.927 (2026-08-09)

                          Bug 修复

                          • 移除维度页未使用的LoginGuideCard import

                          v1.0.926 (2026-08-09)

                          新功能

                          • 五维页登录前改月度引导语 + 富页面移除底部菜单

                          Bug 修复

                          • 修正指标异常计数与展示不一致

                          其他

                          • (未知文本一律算异常),而 _cssClass/statusText 用白名单映射(未知显示正常),
                          • 导致分组标题'X 项异常'把样式正常的指标计入异常数。
                          • 改为与 _cssClass 一致的白名单判定(仅 high/low/abnormal/偏高/偏低/异常/
                          • 缺乏/不足/注意/高风险 计异常),并补齐 _cssClass/statusText 的'异常'中文键。

                          v1.0.925 (2026-08-09)

                          Bug 修复

                          • 修复 parse 读取文件路径重复拼接 uploadBaseDir
                          • 健康报告上传改用 upload-only 接口

                          其他

                          • parse/parse-preview 读取时又拼一次 uploadBaseDir,形成
                          • /data/cfc-uploads/data/cfc-uploads/uploads/... 的重复路径导致文件找不到。
                          • 新增 resolveUploadFilePath 兼容绝对/相对两种历史格式,两处读取统一走该方法。
                          • 前端 uploadReportOnly 仍调旧路由命中一体化 uploadReport(返回详情无 draftId),
                          • 导致上传成功但 res.data.draftId 为空、不跳转确认页且 toast 显示 message=success。
                          • 修正 URL 为 /api/health/report/upload-only。

                          v1.0.924 (2026-08-09)

                          Bug 修复

                          • 删除DanshopSync stub + 实现EnergyService占位方法 + PdfReport用PDFBox渲染 + AiGateway新增generateHealthPlan

                          v1.0.923 (2026-08-09)

                          新功能

                          • 成长页面重构为干预中心 + 定期调研系统全栈实现

                          其他

                          • - 新增SurveyTemplate/SurveyRecord实体 + Mapper + SurveyService
                          • - 新增SurveyController(小程序端status/active/submit/history)
                          • - 新增AdminSurveyController(管理端save/list/delete/ai-generate)
                          • - AI生成调研题目调用LangGraph,失败回退本地fallback
                          • - 前端小程序:新增survey-questionnaire/survey-history页面
                          • - 重构growth-main为干预中心(今日干预进度卡+持续追踪Tab+里程碑+定期调研)
                          • - 前端api.js新增调研API,pages.json注册新页面
                          • - Web管理端:新增SurveyTemplates.vue(CRUD+AI生成)+ survey.js API
                          • - 修复getSurveyStatus命名冲突(旧report-survey重命名为getReportSurveyStatus)
                          • - 同步更新schema.sql + PROJECT-OVERVIEW.md

                          v1.0.922 (2026-08-09)

                          Bug 修复

                          • 迁移208 health_gut_flora.detection_rate 列扩容

                          其他

                          • - VARCHAR(50)→VARCHAR(255),源数据(菌种检出率描述)可能超过50字符
                          • - 生产 DB 已直连 ALTER(即时生效)
                          • - schema.sql 新增 health_gut_flora 表 DDL

                          v1.0.921 (2026-08-09)

                          新功能

                          • 上传后自动跳转确认页按 draftId 解析,移除本页预览/成员选择逻辑

                          v1.0.920 (2026-08-09)

                          Bug 修复

                          • 后台管理列表页统一显示用户名而非用户ID

                          其他

                          • - CouponGrantLog/DanExecution/CfValueManage/MembershipCenter/PendingRefund/ButlerAudit/ServiceRoleApplications/supply-system/Detail/HealthReportAudit: 新增resolveUserNames方法,通过searchUsers API将userId解析为用户名显示

                          v1.0.919 (2026-08-09)

                          新功能

                          • 新增 JOIN 赠券种子数据 + 我的优惠券接口

                          v1.0.918 (2026-08-09)

                          Bug 修复

                          • 移除 @Slf4j 注解,改用显式 Logger 避免编译错误

                          新功能

                          • 健康数据中心全栈实现

                          其他

                          • - 在线测评(dimension-questionnaire.vue)扩展:cognitive/mental/relationship三套题库(各8题)+dim参数路由
                          • - 方案汇总页(health-plan-summary.vue)新建:生成表单+结果展示+历史列表
                          • - 后端:health_plans表+HealthPlan实体/Mapper/Service/Controller(4端点)
                          • - 数据库迁移207:health_plans表
                          • - 前端API:generateHealthPlan/saveHealthPlan/getHealthPlanList/getHealthPlanDetail
                          • - pages.json注册health-plan-summary页面
                          • - PROJECT-OVERVIEW更新

                          v1.0.917 (2026-08-09)

                          文档

                          • 新增规划与设计文档 - 内部沟通/合伙人PPT/家庭挑战参与

                          Bug 修复

                          • CouponService 改用显式 Logger 替代 @Slf4j,修复编译错误

                          v1.0.916 (2026-08-09)

                          Bug 修复

                          • 健康报告页修复 - memberId兜底、移除自定义导航、指标状态标签、文案优化

                          v1.0.915 (2026-08-09)

                          新功能

                          • 会员中心支持编辑会员等级(前端弹窗+后端update接口)

                          v1.0.914 (2026-08-09)

                          文档

                          • 成长页面重构为干预中心设计文档(今日进度+持续追踪+里程碑+定期调研)

                          v1.0.913 (2026-08-09)

                          新功能

                          • 会员页精简 - 合并续费/升级卡片、移除tab价格、个人中心按钮与徽章等高

                          其他

                          Bug 修复

                          • 清理残留成长档案文案 (DimensionIntroCard + profile-main)

                          v1.0.912 (2026-08-09)

                          Bug 修复

                          • AdminController 补 @Slf4j + 修复 AdminNoticeController LambdaQueryWrapper 写法

                          新功能

                          • 报告上传流程拆分 — 新增 /report/upload(仅上传)+ /report/parse(按草稿解析)端点,修复 uploadBaseDir BLOCKING-2 残留

                          v1.0.911 (2026-08-09)

                          新功能

                          • 健康/成长Tab功能入口重组 + 成长档案改名成长记录

                          其他

                          • - 成长Tab: 移除重复体征记录入口,保留每日打卡等8项执行层入口
                          • - 全局改名: 成长档案 → 成长记录 (15个文件: 页面文本/导航标题/注释)
                          • - 导航修复: mind-detail和wealth的TabBar页跳转改用nav.goPage; child-index/child-detail goToGrowth改用switchTab

                          Bug 修复

                          • health tab getReportList 空 memberId → 从 store/storage 取当前用户ID

                          v1.0.910 (2026-08-09)

                          新功能

                          • 会员中心权益对比文案与个人中心会员卡升级入口
                          • 会员升级页移除功能列表、权益对比列联动高亮、状态卡片紧凑化
                          • member_upgraderecords 增加 approve* 审核列迁移

                          其他

                          v1.0.909 (2026-08-09)

                          新功能

                          • 首页新增品牌定位语区块

                          v1.0.908 (2026-08-09)

                          新功能

                          • 添加DimensionIntroCard组件 + 四个维度页插入介绍卡片

                          v1.0.907 (2026-08-09)

                          新功能

                          • 登录前页面改版 - 五维品牌定位语+LoginGuideCard升级+我的页跳过入口+富维度商城预览

                          v1.0.906 (2026-08-09)

                          Bug 修复

                          • AdminNoticeController LambdaQueryWrapper eq方法参数类型错误

                          v1.0.905 (2026-08-09)

                          文档

                          • 补充富维度登录前/后设计 + 五维统一视觉规范
                          • 更新 PROJECT-OVERVIEW.md v2.7 — 增加 LIFETIME 终身会员全栈完成记录

                          新功能

                          • 富维度页面重构为财富之泉主题
                          • 小程序 index.vue 增加 LIFETIME 检测与会员态修复(终身会员隐藏续费入口、显示永久有效)
                          • 子维度改为水滴水满样式
                          • 新增财富能量环组件
                          • 小程序 upgrade.vue 增加 LIFETIME 权益对比列(灰色不可购买)与状态卡片终身会员展示

                          Bug 修复

                          • 富维度 banner 配色改为琥珀金

                          v1.0.904 (2026-08-09)

                          新功能

                          • 首页动态改为单行跑马灯滚动, 快捷按钮放大

                          v1.0.903 (2026-08-09)

                          文档

                          • 登录前页面改版设计 + 维度介绍卡片规范
                          • 富维度页面 redesign 设计文档 (财富之泉方案)

                          新功能

                          • Web MembershipCenter.vue 增加终身会员统计卡片与标签样式
                          • AdminController 增加终身会员概览统计、候选人查询与审核授予接口

                          v1.0.902 (2026-08-09)

                          文档

                          • 健康数据中心实现计划(12任务,3批次)

                          v1.0.901 (2026-08-09)

                          文档

                          • 健康数据中心实现计划(12任务,3批次)

                          v1.0.900 (2026-08-09)

                          新功能

                          • 新增LifetimeStatsMapper消费/销售滚动365天聚合查询
                          • getPricingPlans 改读membership_levels并过滤LIFETIME(下线sys_config价格)
                          • 插入LIFETIME终身会员等级行(migration 204)
                          • membership_levels 添加原价列并幂等同步价格(migration 203)
                          • 会员等级实体/DTO增加原价字段, 升级记录增加审批字段

                          v1.0.899 (2026-08-09)

                          Bug 修复

                          • 推荐服务商品状态改 on_shelf 修复 dimension-products 空数组; feat(frontend): 推荐阅读三列书封比例/推荐商品自加载/会员级别样式

                          v1.0.898 (2026-08-09)

                          新功能

                          • 平台公告功能 - 动态页显示平台消息+管理员公告管理

                          v1.0.897 (2026-08-09)

                          新功能

                          • 商品详情底部按钮布局调整 - 海报靠左、加购物车/立即购买靠右

                          文档

                          • 健康数据中心设计文档(看见·主动健康闭环)

                          Bug 修复

                          • getOrderCounts 接口路径错误导致 404

                          其他

                          v1.0.896 (2026-08-09)

                          Bug 修复

                          • growth-main 移除活动维度参数
                          • home-detail 移除任务维度参数
                          • member-detail 移除任务维度参数
                          • index-home 移除维度参数
                          • wisdom 成员详情页移除维度参数
                          • wisdom-detail 成员详情页移除维度参数
                          • mind-detail 成员详情页移除维度参数
                          • body-detail 成员详情页移除维度参数
                          • action 成员详情页移除维度参数
                          • mind 成员详情页移除维度参数
                          • body 成员详情页移除维度参数
                          • DimensionTasks 移除维度参数自加载
                          • DimensionActivities 移除维度参数自加载
                          • DimensionArticles 移除维度参数自加载
                          • DimensionProducts 移除维度参数自加载
                          • 推荐商品接口支持空 dimensionCode 返回全量

                          文档

                          • 平台终身会员(LIFETIME)设计文档(方案A: 等级扩展+实时聚合+管理员审核)
                          • 推荐组件移除维度实现计划
                          • 补充推荐组件移除维度设计细节

                          新功能

                          • 商品推荐支持空维度返回全量推荐

                          v1.0.895 (2026-08-09)

                          新功能

                          • 手机号快捷登录 - 使用微信 getPhoneNumber 授权获取手机号

                          v1.0.894 (2026-08-09)

                          文档

                          • 推荐组件移除维度参数设计

                          新功能

                          • 推荐商品/推荐阅读改四列网格; fix(backend): 家庭成员列表按userId去重
                          • 管理端CF值余额与流水查询页面
                          • 新增管理端CF值余额与流水查询接口
                          • 购买商品发放CF值并激活推荐人分润
                          • 活动签到发放CF值

                          其他

                          • - ArticleBookshelf 组件: 书册横滑改四列网格, 显示4篇文章
                          • - index-home: 推荐阅读移到推荐商品下方, 推荐商品请求数量 2->4
                          • - FamilyMemberStrip: 无 props 用法时自我加载可见家庭成员
                          • - UserService: 家庭成员列表按 userId 去重(创建者双表记录)

                          重构

                          • 标记旧佣金结算链路为@Deprecated
                          • 提现流程改为基于CF值余额

                          v1.0.893 (2026-08-09)

                          重构

                          • 清理重复的 loadAllData 调用

                          新功能

                          • 去掉'我的'页面 Tab 切换过渡页

                          v1.0.892 (2026-08-09)

                          Bug 修复

                          • 添加家庭成员数量校验 - 任务分配需≥2人/挑战需≥2参与者/互动双方不能同一人

                          v1.0.891 (2026-08-09)

                          新功能

                          • 新增CF值表结构迁移与存量佣金迁移
                          • 新增PlatformPointsService管理CF值余额与流水
                          • 新增CF值余额与流水实体及Mapper

                          v1.0.890 (2026-08-09)

                          新功能

                          • pages.json 注册会员 pay/result 页面
                          • 新增支付结果页 result.vue(成功态+赠券/失败态+续付)
                          • 新增订单确认页 pay.vue(明细/优惠券/拆单提示/虚拟支付逐期)
                          • /api/membership/plans 返回原价字段(originalYearly/Monthly/Quarterly)
                          • 会员原价配置(sys_config 新增4键: family/premium 年费月费原价)

                          重构

                          • upgrade页移除支付/优惠券逻辑,改下一步跳转pay,修复会员状态判断bug,支持划线原价

                          Bug 修复

                          • createOrder 透传 couponId(会员优惠券此前未生效)

                          文档

                          • 会员支付/升级实现计划(upgrade→pay→result 三段式 + 原价配置)
                          • 会员支付/升级页面设计(方案B:upgrade→pay→result 三段式 + 原价配置)

                          v1.0.889 (2026-08-09)

                          新功能

                          • 商城首页搜索栏加购物车入口(带角标) 财富页移除购物车服务项

                          v1.0.888 (2026-08-09)

                          样式

                          • 添加商城订单快捷和推广中心快捷样式

                          新功能

                          • 商城订单快捷+推广中心快捷+购物车/订单角标

                          v1.0.887 (2026-08-09)

                          重构

                          • 重设计我的页面 - 用户卡片+数据概览+五维能量+待办提醒+分组菜单
                          • 重设计'我的'页面为信息集散中心 - 用户卡片+数据概览+五维能量+待办提醒+功能菜单

                          v1.0.885 (2026-08-09)

                          Bug 修复

                          • 管理员登录兼容 BCrypt 密码验证 + 新管理员密码用 BCrypt
                          • 家庭成员邀请改为小程序原生分享

                          其他

                          • - 移除 dead code: 无意义的 empty-tip 视图
                          • - 移除无用 import: generateFamilyInviteQrCode
                          • - onInvite 使用 uni.share type=5(小程序原生卡片分享),不再依赖 QR 图片
                          • - 分享卡片带标题+家庭名,被邀请人直接打开 invite/join 页面

                          v1.0.884 (2026-08-09)

                          新功能

                          • 我的页面服务区添加商城和购物车入口

                          其他

                          • 🛒 购物车 (pages/shop/cart/cart) 快捷入口。
                          • Ultraworked with Sisyphus
                          • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                          • 当 store familyId 为空时显示 FamilyEmptyState(暂无数据)。
                          • 编辑个人资料不应依赖是否有家庭,改为老用户 (isNewUserFlow=false) 始终显示表单。
                          • Ultraworked with Sisyphus
                          • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai

                          Bug 修复

                          • 完善信息页面移除 hasFamily 门控 — 老用户编辑时始终显示表单

                          v1.0.883 (2026-08-09)

                          新功能

                          • 我的页面服务区添加商城和购物车入口

                          其他

                          • 🛒 购物车 (pages/shop/cart/cart) 快捷入口。
                          • Ultraworked with Sisyphus
                          • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                          • 当 store familyId 为空时显示 FamilyEmptyState(暂无数据)。
                          • 编辑个人资料不应依赖是否有家庭,改为老用户 (isNewUserFlow=false) 始终显示表单。
                          • Ultraworked with Sisyphus
                          • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai

                          Bug 修复

                          • 完善信息页面移除 hasFamily 门控 — 老用户编辑时始终显示表单

                          v1.0.882 (2026-08-08)

                          重构

                          • 首页重新设计 — 对齐新TabBar页面模式

                          其他

                          • - 移除 FamilyEnergyBar(沙盘已含能量信息)
                          • - 移除 DimensionTasks/圈子模块,移入功能入口
                          • - 新增 3列功能入口网格(对齐健康/成长页 grid-3col)
                          • - 移除未登录态五维全景幸福矩阵
                          • - 重构结构:Banner → FamilyMemberStrip → 沙盘 → 网格 → 挑战 → 推荐
                          • - 清理冗余 JS 数据/方法/API调用和 CSS 样式
                          • 导致 ProfileHeader/Badges/Growth/Menu 加载失败,页面仅显示内联个人信息卡片。
                          • 将 4 个 Profile 组件复制到全局 components/ 目录,并更新两处 import 路径。
                          • Ultraworked with Sisyphus
                          • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai

                          Bug 修复

                          • 修复我的页面主包引用分包组件导致内容不显示

                          v1.0.881 (2026-08-08)

                          重构

                          • 移除维度页中的活动/文章/商品区块,仅保留能量相关内容

                          v1.0.880 (2026-08-08)

                          Bug 修复

                          • adjust position of heart icon and update tab icons

                          v1.0.879 (2026-08-08)

                          新功能

                          • 将过渡页从首页移入独立页面 pages/splash

                          v1.0.878 (2026-08-08)

                          Bug 修复

                          • growth tab 空态不刷新 — hasFamily 加入 children/records 判断

                          v1.0.877 (2026-08-08)

                          Bug 修复

                          • TabBar 分包冲突 + 自定义TabBar不显示修复

                          其他

                          • pages/health/index → pages/health-main/index
                          • pages/growth/index → pages/growth-main/index
                          • pages/profile/profile → pages/profile-main/profile
                          • - 更新 nav.js, custom-tab-bar, pages.json 等 10 处引用
                          • - main.js 添加 custom-tab-bar 显式注册(强制构建编译)
                          • - pages.json 4个Tab页添加 usingComponents 引用 custom-tab-bar
                          • - 修复 checkout.vue ES6 简写方法语法错误

                          v1.0.876 (2026-08-08)

                          文档

                          • 更新 PROJECT-OVERVIEW v2.6 - TabBar 重构完成状态
                          • 更新 TabBar 重构计划为 completed 状态 + 完成情况清单

                          新功能

                          • TabBar 重构 - 4Tabs(首页/健康/成长/我的) + 中间五维启动器 + 自定义TabBar

                          其他

                          • - 五维 index 页移入分包: mind→mind-detail, body→body-detail, wisdom→wisdom-detail, wealth分包
                          • - 新建 custom-tab-bar: 4Tab + 中间⭐按钮 + 五维半屏浮层, 规划师5Tab不变
                          • - 新建 pages/health/index.vue 健康Tab页(报告/测评/打卡概览)
                          • - 增强 pages/growth/index.vue 为方案执行中心(待办/功能入口)
                          • - 新建 utils/nav.js 统一导航工具
                          • - 替换 switchTab 引用为 nav.goPage/navigateTo
                          • - 活动推荐移至成长页, 健康页新增科普文章推荐
                          • - profile 显示完整菜单(showServices=true)

                          v1.0.875 (2026-08-08)

                          Bug 修复

                          • 缩小推荐商品卡片尺寸

                          v1.0.874 (2026-08-08)

                          Bug 修复

                          • 能量沙盘调整顺序 - 心在最上,顺时针身智富行

                          文档

                          • 家庭挑战参与机制实现计划

                          新功能

                          • 小程序同意/拒绝+参与成员多选+pending展示

                          v1.0.873 (2026-08-08)

                          文档

                          • add TabBar redesign spec + restructure plan (4 native tabs + 5-dim launcher + wuxing dashboards + theory layer)

                          v1.0.872 (2026-08-08)

                          Bug 修复

                          • 修复邀请流程 - 传递familyRole、改用小程序分享
                          • 创建家庭时自动将创建人加入为家庭成员(修复空心家庭问题)

                          v1.0.871 (2026-08-08)

                          Bug 修复

                          • 修复 UserService 中 createJoinRequest 调用
                          • 修复 createJoinRequest 调用参数
                          • 修复邀请流程 - 保存familyRole、修复轮询逻辑

                          v1.0.870 (2026-08-08)

                          Bug 修复

                          • 修复 RequestBodyCachingFilter 编译问题
                          • FamilyMemberStrip centerMemberId watcher 加 immediate + 清理重复 .action-header 样式
                          • pairwise VO 补齐 isSpouse 与 lastInteractionAt(修复成员详情页 action-sheet 关系标签和上次填写时间显示)
                          • 修正 parseDate import 语法(named export)

                          新功能

                          • 成员详情页接入以成员为中心的关系条
                          • pairwise接口API + 成员条centerMemberId视角模式
                          • 成员条空状态引导 + 长按菜单升级关系现状Action Sheet
                          • 家庭成员卡片增加关系现状三色点
                          • 关系pairwise接口(以成员为中心) + VO补齐沟通评分+isSelf
                          • 问卷提交时同步pairwise关系评分到family_relationships
                          • family_relationships表增加关系质量评分三列

                          文档

                          • 家庭成员关系条增强实现计划(FamilyMemberStrip)
                          • 家庭成员关系条关系展示增强设计文档

                          v1.0.869 (2026-08-08)

                          Bug 修复

                          • 移除多余的 String 构造函数调用
                          • 修复 Java 8 兼容性问题 - readAllBytes 改用 readStream

                          v1.0.868 (2026-08-08)

                          Bug 修复

                          • 将 Java 11 HttpClient 改为 RestTemplate 兼容 Java 8

                          v1.0.867 (2026-08-08)

                          Bug 修复

                          • LangGraph 管理页面使用原生 fetch 避免 axios 拦截器问题
                          • 迁移192 verification_codes.type 添加默认值

                          其他

                          • - 旧版 INSERT 未携带 type 字段,DB 列 NOT NULL 无默认值导致插入失败
                          • - 使用 MODIFY COLUMN 添加 DEFAULT 'login'(向后兼容,无需改代码)
                          • - 直连生产 DB ALTER 已执行(下次服务重启 DBI 迁移幂等跳过)

                          v1.0.866 (2026-08-08)

                          Bug 修复

                          • LangGraph 管理页面使用独立 axios 实例避免 CORS 和响应格式问题

                          v1.0.865 (2026-08-08)

                          新功能

                          • 健康饮食菜单添加 LangGraph 管理入口

                          v1.0.864 (2026-08-08)

                          Bug 修复

                          • 处理生产日志错误(foods.report_id/score + 知识库JSON + DBI迁移112)

                          其他

                          • - 迁移191: foods 添加 report_id/score 列
                          • - 直连生产 DB ALTER 已执行
                          • - 修复 菌属-食材映射 JSON 解析失败:
                          • - DB 顶层为 JSON Array 但代码期望 Map,加载时包装为 {_list: [...]}
                          • - 消费端兼容两种形态
                          • - 修复 迁移112 日志等级:
                          • - Duplicate column 已存在是幂等预期,log.error → log.warn
                          • - 避免误报

                          v1.0.863 (2026-08-08)

                          Bug 修复

                          • 修复测试编译与 getTemplates 断言;补充肠道菌群解析参考脚本

                          新功能

                          • 报告解析管理端页面 - 类型管理/指纹自学习/解析器导入/未知聚类
                          • 报告解析 agent 接入指纹识别与自动标注
                          • 报告指纹解析系统 - 类型注册/指纹识别/未知聚类/解析器导入

                          其他

                          • - report_parse API 对接报告类型注册表
                          • - 新增 test_auto_tag 自动标注测试
                          • report_unknown_cluster/report_unknown_upload/report_parser_import 五表
                          • - 新增 ReportParserController + ReportParserAdminController
                          • - 新增 5 entity + 5 mapper + 3 service(ReportFingerprintService/
                          • ReportImportService/ReportParserDispatchService)
                          • - schema.sql 同步 5 张新表定义

                          v1.0.862 (2026-08-08)

                          Bug 修复

                          • 修复 diet/index.vue 运行时错误

                          其他

                          • - addIngredient/removeIngredient/addFood 方法缺少 var self = this

                          新功能

                          • 管理端挑战评分配置页+AdminChallengeScoreConfigController
                          • respond端点+创建去门控+list返回myStatus
                          • create改pending+respondChallenge+打卡结算口径收紧

                          测试

                          • 参与机制单元测试(respond/评分矩阵)

                          v1.0.861 (2026-08-08)

                          Bug 修复

                          • 饮食首页改造——原生导航栏+空数据弹窗+未配置共餐降级

                          其他

                          • 2. 前端:无菌群报告/无推荐食材时弹窗引导上传报告
                          • 3. 后端:generateIngredientList 未配置共餐时降级为查询
                          • 家庭全部成员,而非返回空列表

                          新功能

                          • ChallengeScoreService方向性评分结算引擎
                          • EnergyService新增awardEnergyByCode按维度code发放
                          • 新增participant/方向分数/评分配置实体与Mapper
                          • 参与机制迁移-新增participant/方向分数/评分配置表

                          v1.0.860 (2026-08-08)

                          Bug 修复

                          • 家庭成员扇形展开 - fan-wrap 改 fixed 修复成员错位+不可点击; 半径 280→220rpx

                          v1.0.859 (2026-08-07)

                          Bug 修复

                          • 修复 FamilyChallengeService.getTemplates 数组越界 Index 7 out of bounds

                          其他

                          • 导致 ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7

                          v1.0.858 (2026-08-07)

                          Bug 修复

                          • 修正身页面饮食入口路径
                          • 迁移180/181 health_reports.health_report_drafts 缺列修复

                          其他

                          • 改为指向正确的饮食模块首页 /pages/diet/index
                          • - 修复 Unknown column 'is_living_together'(family_members, 迁移174已生效但DBI嵌套错误未触发)
                          • - 修复嵌套 try/catch 结构(迁移178/180 误嵌在迁移179 catch 内)
                          • - 迁移号校正:178→180, 180→181(diet 模块占用了原 178-181 编号)
                          • - health_reports 新增 proxy_uploader_id / proxy_upload_note / ai_analysis
                          • - health_report_drafts 新增 remark
                          • 生产 DB 已直连 ALTER(无需等下次重启)

                          v1.0.857 (2026-08-07)

                          文档

                          • 更新 PROJECT-OVERVIEW.md
                          • 更新参考资料/dan_reports 提取脚本(extract_all_types +468行重构,merge 与 type_detector 小修)

                          v1.0.856 (2026-08-07)

                          Bug 修复

                          • 首页家庭挑战区块增加管理入口跳转 challenge-manage
                          • 修复 FamilyControllerTest 编译错误 - 废弃接口测试改为无参断言 410

                          其他

                          v1.0.855 (2026-08-07)

                          新功能

                          • 恢复商品会员价 - 管理端设置 + 小程序详情页展示

                          其他

                          • - product-detail.vue: 详情页按会员身份展示 - 非会员显示普通价+加入会员享会员价链接,会员显示会员价+原价划线;去掉底部栏价格
                          • - 修复远端合并引入的编译错误: HealthReportController缺import、HealthReportService的reportMapper笔误、HealthReportDraft实体补remark字段

                          v1.0.854 (2026-08-07)

                          Bug 修复

                          • FamilyMemberStrip fan-wrap 改 v-if 不再遮挡五维页点击; diet :key 表达式改方法调用

                          其他

                          • revert(frontend): 撤销 tabbar 4Tab 重构, 恢复 5维TabBar(行心身智富)
                          • revert(frontend): 撤销分包重命名 -pkg, 恢复为 health/growth/profile
                          • revert(frontend): 撤销 tabbar 入口页移至 pages/tabs/ 的改动

                          v1.0.853 (2026-08-07)

                          Bug 修复

                          • 修复家庭FAB按钮点击失效 + 位置上移

                          其他

                          • 改为 v-if="!fanOpen"(默认常驻),且背景由透明边框改为实心半透明
                          • rgba(249,115,22,0.25)。该层绝对定位 72rpx 与 .fab-avatar 完全重合、
                          • DOM 顺序在后且未设 pointer-events: none,常驻覆盖在 FAB 按钮上层,
                          • 拦截所有点击,导致家庭成员扇形无法展开。
                          • - .fab-pulse 增加 pointer-events: none,点击穿透到按钮本体
                          • - FAB 位置从 bottom: 33.33% 上移至 bottom: 45%(黄金分割位下移后过于靠下)
                          • Reviewed-by: Sisyphus

                          v1.0.852 (2026-08-07)

                          Bug 修复

                          • 恢复添加家庭成员页保存按钮

                          其他

                          • ()替换为监护人同意弹窗的
                          • 注释代码时误删了按钮且未加回,导致表单无法提交。script 中 submit()/
                          • doSubmit() 方法与 CSS .btn-primary 均为死代码残留。
                          • 已在手机号字段后恢复保存按钮,监护人弹窗确认流程(14岁以下儿童)不受影响。
                          • Reviewed-by: Sisyphus
                          • v1.0.851 (2026-08-07)

                            Bug 修复

                            • 统一 SKU specs 存库为数组格式,修复规格名丢失

                            其他

                            • 对象 Map、后端 DTO 只认对象),导致规格名记录不进去:
                            • - ProductSkuEditor.normalizeSpecsToJson 改为输出数组格式,空值默认 '[]'
                            • - ProductSkuDTO.from 兼容数组格式(数组→Map),旧数组数据可正常回显
                            • - formatSpecsForInput/parseSpecs 数组分支正确解析 {name,value},不再显示 [object Object]
                            • - CartService 兼容对象格式(旧数据兜底),修复购物车规格描述丢失
                            • - ProductSkuService 空 specs 默认 '[]'
                            • 同步修复预存编译错误:HealthReportController 缺 HttpServletRequest import、
                            • HealthReportService reportMapper 应为 healthReportMapper、HealthReportDraft
                            • 补 remark 字段(含 schema.sql + DatabaseInitializer 迁移180)。
                            • Reviewed-by: Sisyphus

                            v1.0.850 (2026-08-07)

                            Bug 修复

                            • 已登录用户富页面误显'请先登录'的会话过期修复
                            • 修复 HealthReport 预存编译错误 - HttpServletRequest import / reportMapper 变量名 / remark 字段缺失

                            其他

                            • - AuthController.verify: 增加 user 存在性检查,用户被删/禁用时返回 401
                            • - api.js: 新增 verifyToken() 导出函数
                            • - App.vue: onLaunch 时调用 verifyStoredToken() 启动校验 token(develop 跳过)
                            • - api.test.js: 新增 3 条 verifyToken 测试(成功/过期/用户不存在)
                            • 后端 mvn clean compile BUILD SUCCESS
                            • 前端 npm test auth API 16/16 通过

                            v1.0.849 (2026-08-07)

                            Bug 修复

                            • 修复 ContentSharePoster 分享海报 String 属性收到 null 告警

                            其他

                            • ContentSharePoster 的 String props(title/coverImage/summary/priceText 等)。
                            • Vue 2 中 props 的 default 只在未传时生效,显式绑定 null 会触发微信类型检查
                            • 告警 [Component] property received type-uncompatible value: expected
                            • but get null value。已在所有绑定处加 || '' 兜底。
                            • Reviewed-by: Sisyphus
                            • v1.0.848 (2026-08-07)

                              Bug 修复

                              • 修复商品详情页会员身份加载与详情图片显示
                              • 修正 profile-page.vue 中 Profile* 组件的 import 路径
                              • 修正 profile-page.vue 移动后的相对路径 import

                              其他

                              • TypeError: this.loadMembership is not a function
                              • - 商品介绍/详情 mp-html 传入 domain(config.API_BASE_URL),
                              • 修复富文本中相对路径图片被解析到本地 DevTools 服务器的问题
                              • Reviewed-by: Sisyphus
                              • 修正后路径: ../profile-pkg/components/Profile*.vue
                              • 移至 pages/tabs/

                              v1.0.847 (2026-08-07)

                              新功能

                              • 规划师端代上传健康报告页面

                              v1.0.846 (2026-08-07)

                              测试

                              • 身份参数加固回归测试 + 修复过期断言

                              其他

                              • - 修复 X-User-Id header 断言(改为断言不再发送)
                              • - 新增 identity parameter hardening 4 个回归测试:
                              • request 不发 X-User-Id 头、测评 wrapper 无参且 body 为空、today-tasks 仅含 memberId
                              • 改为 @RequestAttribute("userId") 获取当前用户,移除 body.userId 读取
                              • - record/current 标记为已废弃(无前端调用方,familyId 参数不再被信任)
                              • - FamilyController:guide-bind 的 @RequestHeader("X-User-Id") 改为 @RequestAttribute("userId");
                              • 两个已废弃端点移除 X-User-Id 参数
                              • - AdminController:/api/admin/families/** 及 /families/count 增加 admin 角色校验
                              • - HealthReportController:parse-preview 的 familyId 由 @RequestParam 改为 @RequestAttribute
                              • - 移除 pages/promotion/material.vue 本地 _request 的 X-User-Id 头
                              • - 测评 wrapper(getMy/ChildAssessmentResults)改为无参发送 {}
                              • - 测评页面(results/apply/purchase)停传 userId
                              • - 删除 mind/index.vue 两个指向不存在端点的死调用(/api/mind/report/*)
                              • - 移除 report-upload/meal-config/bind-invite 的 familyId/family_id 传参
                              • - parent-index.vue getPendingWishes() 去实参(wrapper 已忽略)

                              Bug 修复

                              • 后端身份参数改从JWT推导,不再信任客户端传入
                              • 移除前端身份参数传递——前端只传memberId,不传userId/familyId/childId

                              v1.0.844 (2026-08-07)

                              Bug 修复

                              • 将 tabbar 入口页移至 pages/tabs/ 消除与分包 root 的路径冲突

                              其他

                              • 后,路径前缀与同名分包 root(pages/health、pages/growth、pages/profile)冲突,
                              • 导致 HBuilderX 编译失败→全白板。
                              • 修复方案:将 tabbar 入口页从分包目录移到 pages/tabs/ 目录,
                              • 路径前缀与所有 48 个分包 root 完全无重叠,消除冲突。
                              • 变更:
                              • - pages/health-pkg/index.vue -> pages/tabs/health-index.vue
                              • - pages/growth-pkg/index.vue -> pages/tabs/growth-index.vue
                              • - pages/profile-pkg/profile.vue -> pages/tabs/profile-page.vue
                              • - pages.json: 主包 tabbar 页路径 + 分包 root 保持 -pkg 后缀
                              • - 10 个文件中的路径引用同步更新

                              v1.0.843 (2026-08-07)

                              Bug 修复

                              • 修复 meal.py 语法错误

                              v1.0.842 (2026-08-07)

                              Bug 修复

                              • 修复 tabbar 路径与分包 root 冲突导致的 HBuilderX 编译失败

                              其他

                              • - pages/growth → pages/growth-pkg
                              • - pages/health → pages/health-pkg
                              • - pages/profile → pages/profile-pkg
                              • 同步更新 pages.json 分包 root、tabBar 路径及 30 个文件中的 66 处引用

                              v1.0.841 (2026-08-07)

                              Bug 修复

                              • 修复路由前缀重复问题

                              v1.0.840 (2026-08-07)

                              新功能

                              • 添加饮食模块 AI 接口

                              v1.0.839 (2026-08-07)

                              Bug 修复

                              • 修复行/身页面 hasFamily 误判导致 FamilyEmptyState 覆盖内容区
                              • pages.json 修复 diet 分包错位导致的 JSON 语法错误(HBuilderX 编译失败→白板)

                              其他

                              • 改为乐观加载模式(接口未返回前返回 true),避免暂无数据闪烁
                              • - index-home/index.vue: loadChildren/loadFamilyMembers 增加 checked 标记设置
                              • - DimensionProducts.vue: hasFamily 增加 isLoggedIn 判断,信任父组件可见性控制
                              • 导致 pages.json 语法错误,HBuilderX 编译失败、小程序全部白板
                              • - 将 diet 块移回 subPackages 数组内(正确缩进)
                              • - cfc-frontend/AGENTS.md: 写入打包规范(HBuilderX 打包 → unpackage/,禁止 npm build 自行打包)

                              v1.0.838 (2026-08-07)

                              Bug 修复

                              • 修复pages.json饮食分包位置错误 + 饮食模块config引用改为config.js

                              v1.0.837 (2026-08-07)

                              新功能

                              • 添加饮食模块 AI 接口

                              v1.0.836 (2026-08-07)

                              重构

                              • 移除family-guard弹窗,无家庭时自动创建;移除创建/加入家庭按钮

                              v1.0.835 (2026-08-07)

                              Bug 修复

                              • 修复 FamilyEmptyState 误显示 - 28处 hasFamily 守卫改为数据优先判断

                              其他

                              • store getter 仅兜底(store.familyId 恒空导致空态吞掉正常内容)
                              • - App.vue 冷启动从接口恢复 familyId,store setFamilyId 持久化供恢复
                              • - login.vue 登录/自动登录同步 familyId 到 store
                              • - 修复 9 处批量修改导致的 computed 对象未闭合语法错误

                              v1.0.834 (2026-08-07)

                              Bug 修复

                              • 修复编译错误(类型不匹配)

                              v1.0.833 (2026-08-07)

                              其他

                              • design: 家庭FAB悬浮按钮重新设计 - 家庭图标 + 渐变光环 + 黄金分割定位
                              • - 图标: 默认态显示家庭图标👨‍👩‍👧‍👦, 展开时渐变过渡为当前成员头像
                              • - 效果: 暖橙渐变背景 + 双层光晕阴影 + 展开光环 + 呼吸脉冲动画
                              • - 交互: 展开时弹性缩放(1.05), 头像淡入旋转过渡
                              • - custom-tab-bar: 4 functional tabs + center star button + half-screen overlay
                              • - utils/nav.js: unified navigation utility for auto switchTab/navigateTo
                              • - health/index.vue: new health tab as closed-loop hub (测评/报告/打卡/饮食/运动)
                              • - Replace all switchTab→dimension pages with nav.js (nativeTabs pattern removed)
                              • - Move growth/index and profile/profile from subpackages to main package
                              • - Teacher independent tabbar preserved (v-if='currentRole !== "teacher"')
                              • - 5 dimension pages moved from tabbar to subpackages
                              • - custom-tab-bar redesign with half-screen overlay
                              • - Unified nav utility for switchTab/navigateTo routing
                              • fix: 家庭FAB悬浮左缘中部 + 无家庭用户查询接口自动创建兜底
                              • - 新增 UserService.ensureUserFamily 公开兜底入口
                              • - UserController/FamilyUserController.getFamilyMembers 与 getVisibleMembers 在 familyId 为空时自动创建家庭
                              • Ultraworked with Sisyphus
                              • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai

                              重构

                              • restructure tabbar from 5-dim to 4-tab + center 5-dim launcher

                              文档

                              • add tabbar restructure implementation plan

                              新功能

                              • 添加饮食模块 AI 接口(食材识别+菜单生成)
                              • 线上服务商品管理闭环 - 服务者/时段配置UI + nutritionist服务商类型

                              v1.0.832 (2026-08-07)

                              新功能

                              • 饮食模块完整前端页面(7个页面)

                              v1.0.831 (2026-08-07)

                              新功能

                              • 饮食模块前端页面(首页+调研表)
                              • 饮食模块后端 API 完整实现
                              • 扩展 BeijingNutritionService(食材推荐方法)

                              重构

                              • 家庭关系卡重设计为FAB浮标+扇形展开,移除创建/加入家庭按钮(已自动创建)

                              v1.0.829 (2026-08-06)

                              文档

                              • 家庭挑战使用流程梳理 v1.0 - 现状基线 + 断点清单

                              v1.0.828 (2026-08-06)

                              新功能

                              • 合并生成含目录的完整成书稿(写法3完整版,16章5089行)
                              • 第3-7章按写法3重写(身/智/富/行/心五维)

                              v1.0.827 (2026-08-06)

                              Bug 修复

                              • 商品海报分享未携带封面图(coverImage 未转完整 URL)

                              其他

                              v1.0.826 (2026-08-06)

                              Bug 修复

                              • 移除无家庭时的创建或加入家庭弹窗(5001 仅拒绝请求)
                              • 分享海报封面图按原比例绘制(contain 居中),不再拉伸变形
                              • 报名弹窗点击家庭成员/添加报名人即关闭(.self 修饰符在 mp-weixin 被丢弃,改用 @click.stop)
                              • 活动报名弹窗重复导致点击家庭成员关闭弹窗
                              • checkout.vue methods 间缺逗号语法错误

                              其他

                              新功能

                              • 供应商管理(CRUD + 侧边栏 + 入库单选择供应商)

                              文档

                              • 新增滔达福项目总体介绍PPT成品(V1/V2)
                              • AI创新项目大赛新增行业应用场景,五维能量标签更新为身智富行心

                              v1.0.825 (2026-08-05)

                              Bug 修复

                              • 库存流水列表显示商品名称
                              • 商品详情页移除会员价展示

                              其他

                              v1.0.824 (2026-08-05)

                              新功能

                              • 订单管理页适配配送履约
                              • 商品配送与履约前端适配
                              • 优惠券表单加商品选择器ProductPicker,替代手输商品ID

                              v1.0.823 (2026-08-05)

                              新功能

                              • 创建会员权益独立配置表 + 隐藏非会员会员价 + 优惠券会员提示

                              v1.0.822 (2026-08-05)

                              新功能

                              • 商品配送与履约扩展(自取/线上服务)

                              v1.0.821 (2026-08-05)

                              Bug 修复

                              • 报告确认页 :key 表达式改为方法调用(微信小程序兼容)

                              其他

                              v1.0.819 (2026-08-05)

                              Bug 修复

                              • 迁移173 创建库存管理4张表(inventory_transactions/counting_records/inbound_orders/inbound_items)+ 同步schema.sql

                              v1.0.818 (2026-08-05)

                              Bug 修复

                              • 迁移173 创建库存管理4张表(inventory_transactions/counting_records/inbound_orders/inbound_items)+ 同步schema.sql

                              v1.0.817 (2026-08-05)

                              Bug 修复

                              • 安全加固——SQL日志/密钥外部化/BCrypt限流/后台防重

                              v1.0.816 (2026-08-05)

                              Bug 修复

                              • 迁移172 products添加min_stock_alert列+同步schema.sql(库存管理功能遗漏)

                              v1.0.815 (2026-08-05)

                              新功能

                              • 家庭邀请流程改为申请审批制

                              其他

                              • - 后端: requestJoinByCode 兼容 token/inviteCode/familyId 三种输入
                              • - 后端: FamilyJoinRequestService.createJoinRequest 支持 UUID token 识别
                              • - 前端: invite/join.vue 展示邀请人头像, 改为提交申请+轮询审批流程
                              • - 前端: FamilyMemberStrip.vue 加 isAdmin prop、红点徽章、审批弹窗(通过/拒绝)
                              • - 前端: api.js 补充 pending-requests/approve-request/reject-request/my-request API

                              v1.0.814 (2026-08-05)

                              新功能

                              • 库存管理 - 路由+侧边栏
                              • 库存管理 - ProductManage.vue增加库存按钮+弹窗
                              • 库存管理 - InventoryInboundCreate.vue
                              • 库存管理 - InventoryManage.vue(4标签页)
                              • 库存管理 - 管理端API调用
                              • 库存管理 - 订单集成(支付/取消/退款库存流水 + bundle穿透)
                              • 库存管理 - AdminInventoryController
                              • 库存管理 - InventoryService

                              Bug 修复

                              • Controller gutFlora 入库补全 taxonomy+pathogen 8 列表 (对齐 Service); 确认页新增 taxonomy 分类组成 + 病原菌 + 益生菌种区块(采到啥显示啥)

                              v1.0.813 (2026-08-05)

                              新功能

                              • 补全饮水打卡 + 综合健康打卡页面 + 管理后台打卡管理

                              v1.0.812 (2026-08-05)

                              Bug 修复

                              • gender枚举校验+MindFortuneController空值防御 - UserService.updateUserInfo: gender 仅接受 male/female,修复 Data truncated 错误 - FortuneServiceImpl: generatePlaceholderFortune/getFamilyFortune 添加 familyId 空值校验 - MindFortuneController: 三个端点添加 familyId 空值检查,返回友好提示
                              • make LangGraph URL configurable via @Value + app.yml (IMPORTANT-3) + overview key normalization (BLOCKING-1) + Docker deployment TODO comment
                              • normalize Chinese→English overview keys in ReportParseAgent (BLOCKING-1)
                              • add audit logging for family_id/user_id + trailing newline
                              • register report_parse router in main.py (missing include_router)

                              新功能

                              • 库存管理 - Mapper接口
                              • 库存管理 - 实体类(5个新实体 + Product/ProductSku扩展)
                              • parsePreview 先调 LangGraph 解析,失败回退 Java
                              • 创建 POST /api/v1/report/parse 接口

                              测试

                              • 端到端测试 — report_parse API + ReportParseAgent + LLM非dict防护

                              v1.0.811 (2026-08-05)

                              Bug 修复

                              • 心维度页面 loadHealthAlerts/loadMilestones 移除残留 familyId 存储读取(后端已 JWT 派生)

                              其他

                              v1.0.810 (2026-08-05)

                              文档

                              • 新增AI创新项目大赛项目介绍文档(浠艾福定稿:AI健康教练/五维相生溯源算法/双培强基成果)

                              v1.0.809 (2026-08-05)

                              新功能

                              • 家庭加入改为申请审批流程 + familyId 后端派生(移除前端 familyId 存储依赖与冗余传参)
                              • 家庭加入审批流程与统一知识库DB化(合并rebase后本地改动)

                              其他

                              • - 统一知识库 knowledge_base_section 表 + UnifiedKnowledgeBaseService(迁移165,DB为查询源,classpath种子兜底)
                              • - HealthKnowledgeBaseController 新增 /unified/* 系列端点
                              • - 控制器增加家庭ID解析与成员归属校验辅助方法
                              • - JwtInterceptor/Result/api.js 同步增强

                              文档

                              • 合并7个知识库为统一知识库JSON(v2.0 254.9KB,12模块,数据保真修正)

                              v1.0.808 (2026-08-05)

                              Bug 修复

                              • add raise_for_status to expose real LLM HTTP errors
                              • 心维度页面 milestones/health-alerts 传入实际 familyId 替代 {} 对象

                              其他

                              • 导致后端解析 Long.valueOf('{}') 时抛出 NumberFormatException。
                              • 改为从 currentFamilyId/userInfo.familyId 获取实际值,与同文件
                              • loadCompatibilityData 等方法的现有模式保持一致。

                              v1.0.807 (2026-08-05)

                              Bug 修复

                              • MindFortuneController 添加 userId 为空检查(过期JWT被设为匿名用户时抛出'用户不存在')

                              v1.0.806 (2026-08-05)

                              重构

                              • 清理已废弃的 relationship_types 表(迁移169)——移除活路径 ALTER 代码、DROP TABLE 从死代码移到活路径

                              新功能

                              • 创建 ReportParseAgent(算法解析 + LLM 兜底)

                              Bug 修复

                              • detect_format 兜底分支改为返回 inline(修复同义反复)
                              • compose 显式覆盖 JAVA_CONTEXT_URL 指向宿主机 9082,修复容器内 chat load_context 回调 Java 失败

                              v1.0.805 (2026-08-05)

                              Bug 修复

                              • DatabaseInitializer.initializeDatabase() xzyj→zxyj 数据库名拼写错误

                              新功能

                              • 提取 PDF 解析核心模块到 LangGraph parsers

                              其他

                              • - 从 extract_full_report_v5.py 提取核心逻辑(overview/疾病风险/营养/氨基酸/维生素)
                              • - requirements.txt: 补充 PyPDF2 依赖

                              v1.0.804 (2026-08-05)

                              Bug 修复

                              • 问卷推理超时防护 — gunicorn timeout 60→300s + ChatOpenAI timeout=180/max_retries=1

                              其他

                              • 超过 gunicorn 60s 超时导致 worker 被杀(WORKER TIMEOUT + SIGABRT)。
                              • - gunicorn --timeout 60→300:给推理留足时间
                              • - ChatOpenAI timeout=180/max_retries=1:单次推理上限 180s,失败仅重试 1 次

                              v1.0.803 (2026-08-05)

                              文档

                              • 库存管理设计文档(入库单+流水+盘点+预警+套餐拆库存)

                              v1.0.802 (2026-08-05)

                              Bug 修复

                              • 问卷生成服务接入旧入口 — src 路由重构为 router + LLM env 兼容 + healthcheck 修复

                              其他

                              • - app/main.py: 合并 questionnaire_router,旧路由/中间件/知识库同步不变
                              • - src/llm/client.py: LLM* 环境变量优先(与 .env.production 一致),兼容 OPENAI*
                              • - Dockerfile: 新增 COPY src/ src/(生产镜像此前无问卷代码)
                              • - docker-compose.yml: langgraph-svc healthcheck 改用 python urllib 探 /health(镜像无 curl + 原路径 404)

                              v1.0.801 (2026-08-05)

                              文档

                              • AGENTS.md 追加 LangGraph 启动命令 + PROJECT-OVERVIEW 关系域标记已实施

                              Bug 修复

                              • GraphState 补 _prompt 字段 + 测试 mock 目标修正为模块内引用

                              v1.0.800 (2026-08-05)

                              文档

                              • 报告解析迁移实现计划
                              • 报告解析迁移设计 — Java→LangGraph(Python算法+LLM兜底)

                              v1.0.799 (2026-08-05)

                              Bug 修复

                              • schema.sql 移除重复的 guide_commissions CREATE TABLE 空壳行(导致 initializeTables 正则匹配合并成畸形 SQL)

                              v1.0.798 (2026-08-05)

                              Bug 修复

                              • 迁移166 payment_orders添加group_no/period_no列(会员拆单支付)
                              • 修复图片上传 URL 语法错误,清理认知测评/成长报告重复接口定义,修正注释乱码
                              • 修复健康报告上传 URL 语法错误,首页宫格替换为记录互动/家庭天盘/成员管理,清理重复的 getChildOverview 定义

                              v1.0.797 (2026-08-05)

                              Bug 修复

                              • 迁移165 virtual_goods_config添加goods_price列(会员道具价格,用于拆单判断)

                              v1.0.796 (2026-08-05)

                              Bug 修复

                              • controller parameter signatures, test compilation fixes
                              • 迁移163 为family_challenge添加creator_id列(原迁移158在runMigration100死代码中从未执行)

                              新功能

                              • 优惠券积分兑换入口+商品详情兑换区块+发券提示+会员权益展示
                              • 优惠券配置表单扩展+发券记录页+移除商品会员价输入
                              • 管理端发券记录查询grant-log接口
                              • 商品统一价停用memberPrice(活动侧保留)
                              • 积分兑换优惠券exchangeCoupon+优惠券兑换/查询4端点
                              • 新增家庭成员时按POPULATION规则发放人口券(成员有账号发自己,无账号发家庭创建者)
                              • PERIODIC会员券每日5:00定时补发任务+listActiveMemberUserIds
                              • 会员开通/续费/赠送时发放JOIN会员券(试用除外)
                              • CouponService支持三类型核销+幂等发券grant方法与查询(8单测)
                              • Coupon实体扩展会员券字段+新增CouponGrantLog实体与Mapper
                              • 迁移164 coupon表扩展会员券字段+新建coupon_grant_log发券流水表

                              文档

                              • 会员体系重构实现计划(修正apply折扣语义+8个单测)
                              • 会员体系重构设计-统一定价+优惠券发放/积分兑换

                              v1.0.795 (2026-08-05)

                              新功能

                              • 商品统一价停用memberPrice(活动侧保留)
                              • 积分兑换优惠券exchangeCoupon+优惠券兑换/查询4端点
                              • 新增家庭成员时按POPULATION规则发放人口券(成员有账号发自己,无账号发家庭创建者)
                              • PERIODIC会员券每日5:00定时补发任务+listActiveMemberUserIds
                              • 会员开通/续费/赠送时发放JOIN会员券(试用除外)
                              • CouponService支持三类型核销+幂等发券grant方法与查询(8单测)
                              • Coupon实体扩展会员券字段+新增CouponGrantLog实体与Mapper
                              • 迁移164 coupon表扩展会员券字段+新建coupon_grant_log发券流水表

                              文档

                              • 会员体系重构实现计划(修正apply折扣语义+8个单测)
                              • 会员体系重构设计-统一定价+优惠券发放/积分兑换

                              Bug 修复

                              • 迁移163 为family_challenge添加creator_id列(原迁移158在runMigration100死代码中从未执行)

                              v1.0.794 (2026-08-05)

                              Bug 修复

                              • 迁移163 为family_challenge添加creator_id列(原迁移158在runMigration100死代码中从未执行)

                              v1.0.793 (2026-08-04)

                              新功能

                              • 虚拟支付失败错误上报后端日志,便于定位支付未完成根因

                              v1.0.792 (2026-08-04)

                              新功能

                              • 家庭挑战自定义管理
                              • report-confirm 补上 auto-create-inline 面板内嵌表单基础样式
                              • report-confirm 面板样式 + 清理 auto-create-card 死样式
                              • report-confirm 被检测人选择整合进基本信息卡片(内联面板+移除独立卡片)

                              其他

                              • - 支持通过模板快速创建自定义挑战
                              • - 支持编辑/删除挑战
                              • - 移除非兜底的自动创建模板逻辑
                              • - 后端新增 creator_id 字段区分系统/用户创建
                              • - 后端新增 templates/create/update/delete 接口
                              • - 前端新增 challenge-manage 管理页
                              • - 行首页挑战区添加管理入口

                              文档

                              • mark report-confirm member-selector plan steps complete
                              • PROJECT-OVERVIEW 标记 report-confirm 选择面板计划已完成
                              • report-confirm 被检测人选择面板整合实现计划
                              • spec self-review - 统一 selectAndClose 选择逻辑 + 回填字段明确化
                              • report-confirm 被检测人选择面板整合设计

                              Bug 修复

                              • 修复WXSS中文类名编译错误 + 恢复getPublicConfig函数
                              • resolve duplicate exports in api.js and syntax errors in report-upload.vue

                              v1.0.791 (2026-08-04)

                              Bug 修复

                              • 补全打卡系统缺失的 schema.sql 建表 + 迁移 + 小程序前端打卡功能

                              v1.0.790 (2026-08-04)

                              Bug 修复

                              • 购物车结算页传递SKU信息到下单

                              其他

                              新功能

                              • 商品详情页新增SKU规格选择器

                              文档

                              • 添加商品SKU选择器设计文档和实现计划

                              v1.0.789 (2026-08-04)

                              Bug 修复

                              • 防重复提交整改——补齐唯一约束/统一订单号/修复竞态/批量前端守卫

                              v1.0.788 (2026-08-04)

                              Bug 修复

                              • 上报健康报告页加载即崩溃 - 移除未实现的 getPublicConfig 调用

                              其他

                              • 改为调用已有的 getProductsByDomain('body', 1, 4),行为等同于原 getPublicConfig 返回空时的回退路径(domain='body' 加载身体维度推荐商品)。功能语义不退化。
                              • 同时移除变成 unused 的 productList import。
                              • 文件: cfc-frontend/pages/health/report-upload.vue (+3/-13)
                              • 验证: npm run build:mp-weixin DONE; 编译产物 getPublicConfig=0, getProductsByDomain=1

                              v1.0.787 (2026-08-04)

                              新功能

                              • AiGateway.generateQuestionnaire LangGraph 接入 + fallback mock + python.base-url 指向 ai.etotem.com.cn

                              v1.0.786 (2026-08-04)

                              Bug 修复

                              • _roundRect arcTo missing parameter in ContentSharePoster

                              其他

                              • - Caused bottom-left rounded rect rendering failure on all canvas shapes

                              v1.0.785 (2026-08-04)

                              Bug 修复

                              • 去掉指标项上的状态文字标签,只保留颜色

                              文档

                              • 注册引导实施计划完成

                              v1.0.784 (2026-08-04)

                              Bug 修复

                              • discardReportDraft传参修复 - 对象改为直接传draftId

                              新功能

                              • 注册引导-无家庭引导组件接入核心页
                              • 注册引导-活动报名接入就地补充回写
                              • 注册引导-个人中心个人信息完善卡片
                              • 注册引导-user-edit新用户流程最小化
                              • 注册引导-回写工具profile-backfill
                              • 注册引导-个人信息使用关联表profile-field-usage
                              • 注册引导-前端api新增backfillProfile
                              • 注册引导-新增统一backfill回写接口
                              • 注册引导-注册路径不再自动创建家庭
                              • 注册引导-登录响应新增needsFamily标记

                              文档

                              • 新用户注册引导+个人信息按需补充/回写实施计划

                              v1.0.783 (2026-08-04)

                              新功能

                              • 关系问卷评分算法替换 mock — 维度加权/反向/降级/缺题处理 + 5 个单测
                              • FamilyMemberService 补 isCallerInSameFamily/isCallerInFamily 跨家庭校验方法
                              • 会员退款ORD分支 + iOS退款问询按官方协议接入

                              Bug 修复

                              • FamilyMemberStrip 编辑资料补全 nickname/gender/phone/birthday query 参数
                              • 迁移155-157 创建 interaction_logs/questionnaire_snapshots/questionnaire_responses 三张缺失表
                              • report-upload member selector + api.js dead code removal + comment mojibake restoration

                              其他

                              • - MembershipService: 新增 refundByOrderNo(orderNo) 退单+降级管理员
                              • - VirtualPayService: handleRefundNotify ORD 分支调用 membershipService.refundByOrderNo
                              • Task B: iOS退款问询按官方协议接入
                              • - VirtualPayController: notify() 新增 xpay_subscribe_ios_refund_query_notify 事件分发
                              • - VirtualPayService: 新增 handleIosRefundQuery 按 pay_order_id 路由+判定退款
                              • - VirtualPayController: iosRefundBaseResponse 字段修正为官方 IosRefundQueryResponse 协议
                              • - 测试: 新增5个用例覆盖ORD退款路由+iOS问询(同意/拒绝/不存在/已退款)
                              • - api.js: remove unused parseReportPreview function (33 lines)
                              • - api.js: restore 86 garbled Chinese comments (UTF-8 bytes decoded as GBK then re-encoded)

                              重构

                              • rename childId to memberId across full stack (childId was always family_member.id)

                              v1.0.782 (2026-08-04)

                              文档

                              • 关系问卷与互动记录功能补全实施计划
                              • 规格自检修正(POST /api/user/info、交叉引用)
                              • 新用户注册引导+个人信息按需补充/回写设计稿

                              Bug 修复

                              • extractInlineNamesFromRegion substring 越界保护

                              新功能

                              • 指标标题显示共N项/M项异常,异常数红色

                              v1.0.781 (2026-08-04)

                              新功能

                              • 指标输入框颜色标注异常 + ?帮助按钮弹窗显示指标说明

                              v1.0.780 (2026-08-04)

                              Bug 修复

                              • 补充PDF解析缺失指标 - 菌群层级表/致病菌/其它重要菌属/病原菌属

                              v1.0.779 (2026-08-04)

                              Bug 修复

                              • 商品SKU规格specs字段保存失败
                              • 维度首页推荐阅读补传 dimensionCode,与知识中心一致

                              其他

                              • MyBatis-Plus无TypeHandler导致updateById无法正确写入JSON列。
                              • 修复: specs改为String类型,service层校验空值默认设为{}
                              • dimensionCode 参数,导致后端返回所有精选文章而非按维度过滤。
                              • - body/index.vue: 补传 dimensionCode: 'body'
                              • - wealth/index.vue: 补传 dimensionCode: 'wealth',移除客户端
                              • relatedDimensions hack(后端已正确过滤无需前端二次筛选)

                              v1.0.778 (2026-08-04)

                              文档

                              • 关系问卷与互动记录功能补全设计稿

                              Bug 修复

                              • 商城首页/搜索页商品价格显示放大100倍(漏除100)

                              v1.0.777 (2026-08-04)

                              新功能

                              • 书架封面有图时底部叠加文章标题

                              Bug 修复

                              • activity 详情/列表封面拼接 API_BASE_URL

                              其他

                              • 导致封面加载失败。统一走 getImageUrl() 拼接 config.API_BASE_URL。

                              v1.0.776 (2026-08-04)

                              Bug 修复

                              • call applyDisplayState for guests so displayStatus/registrationStatus are always populated

                              其他

                              • unauthenticated users, leaving displayStatus/displayLabel/
                              • registrationStatus as null. This caused the activity detail page to
                              • hide the cover, registration button, and check-in button for all
                              • visitors. Now applyDisplayState() runs for everyone; guests get
                              • default values ('open'/'not_registered') derived purely from activity
                              • time windows.

                              v1.0.775 (2026-08-04)

                              Bug 修复

                              • 邀请接口相关修复
                              • 微信安全检测改用stable_token接口避免'not latest'冲突

                              其他

                              v1.0.774 (2026-08-04)

                              Bug 修复

                              • 商品详情页修复 — 封面轮播、字段映射修正、按钮等大

                              其他

                              • - 添加 getImageUrl() 自动补全 API_BASE_URL 前缀
                              • - 修正字段映射:商品介绍 → intro,商品详情 → description
                              • - 价格/会员价上下排列,会员价字体缩小
                              • - 加购物车和立即购买按钮统一字体大小
                              • - 供应商编辑页新增「商品简介」intro 字段
                              • 删除废弃的 pages/action 分包并修复引用
                              • - parent-index.vue: /pages/action/contact-detail → /pages/action-detail/contact-detail
                              • - action-section.vue: activity-detail 跳转修正为 /pages/activity/activity-detail/activity-detail
                              • - action-section.vue: task-detail 标记 TODO(该页面不存在,为死代码)
                              • - pages.json: 移除 pages/action 分包注册

                              v1.0.773 (2026-08-04)

                              Bug 修复

                              • CORS放行111.228.6.214; 实现/article/updated-since增量查询接口
                              • 家庭地址编辑与区域匹配页面消除 $http 引用并接入真实接口
                              • 地址选择器改用标准 API 封装 - 修复省市选择控件无法使用
                              • 行Tab页推荐阅读修复 - coverImage补传 + actionArticles过滤修正(indexArticles而非articles)

                              其他

                              新功能

                              • 新增家庭详情/地址更新/区域统计 API 封装
                              • 新增按街道ID统计家庭/成长规划师数量接口

                              v1.0.772 (2026-08-04)

                              Bug 修复

                              • 心/智/行首页推荐阅读补传 coverImage 修复封面图不显示

                              其他

                              v1.0.771 (2026-08-03)

                              Bug 修复

                              • 推荐商品组件移除五维权重徽章展示

                              其他

                              v1.0.770 (2026-08-03)

                              Bug 修复

                              • 新建商品维度权重默认值未初始化导致保存失败

                              其他

                              v1.0.769 (2026-08-03)

                              Bug 修复

                              • 首次登录创建家庭后跳转到带底部TabBar的行首页

                              其他

                              • /pages/home-pages/parent-index(非 TabBar 页),导致底部 TabBar 不显示。
                              • 改为 uni.switchTab() 跳到 /pages/index-home/index(行 Tab)。
                              • 同样修复 submitGuideApplication 中相同的 redirectTo 错误跳转。

                              v1.0.768 (2026-08-03)

                              Bug 修复

                              • self-check 页面 :style 空对象 {} 改用字符串避免 WXML 编译错误
                              • 移除 DatabaseInitializer 残留冲突标记行 - 修复生产构建失败

                              其他

                              • (7498行), 导致 mvn compile 报 illegal start of expression。
                              • 仅删除该残留标记行, 迁移152/153 内容保持不变。

                              v1.0.767 (2026-08-03)

                              Bug 修复

                              • 修复 Playwright addInitScript 单参数传参 bug + 远程 E2E 测试套件

                              v1.0.766 (2026-08-03)

                              新功能

                              • 商品赠送会员功能 - 成长档案关联商品配置(GrowthArchiveProduct) + 后端 Controller/Service/Mapper/Entity + 前端 ProductEdit 商品编辑页

                              v1.0.765 (2026-08-03)

                              Bug 修复

                              • PaymentService 微信支付V3解密用原始API密钥而非SHA-256哈希
                              • 商品详情原生分享补上 setShareInfo - 分享路径带商品ID和邀请码

                              其他

                              v1.0.764 (2026-08-03)

                              Bug 修复

                              • resolve merge conflict in tap-water-pollution.html (accept upstream version)

                              v1.0.763 (2026-08-03)

                              新功能

                              • 商品赠送会员-管理端配置区块

                              Bug 修复

                              • 圈子页无 childId 时跳过请求, 后端 memberId 空串防御 - 修复 discover 500 与 my-circles 400

                              v1.0.762 (2026-08-03)

                              其他

                              新功能

                              • 会员中心页与会员价引导交互
                              • 活动/商城会员价展示、分转元显示与未登录会员状态处理
                              • 活动详情支持游客浏览与会员价 - detail(id,userId) 解析会员价

                              Bug 修复

                              • ActivityControllerTest 适配活动模块升级后的接口签名
                              • 上传存储路径统一 upload.base-dir - 修复 transferTo 相对路径落盘失败与 /uploads URL 404
                              • VirtualGoodsConfig.save() 重命名 saveConfig() 避免 saveOrUpdate 递归 StackOverflow
                              • 会员接口匿名访问返回 FREE 空数据 + getMemberLevel 查询 LIMIT 1

                              重构

                              • 健康报告上传页 report-upload.vue 重构

                              v1.0.761 (2026-08-03)

                              Bug 修复

                              • 修复成员条移除后不刷新 + 可见成员列表字段缺失

                              v1.0.760 (2026-08-03)

                              文档

                              • 商品赠送会员实施计划

                              新功能

                              • 活动模块升级——付费报名订单/审核发布流/总结资料

                              其他

                              v1.0.759 (2026-08-03)

                              新功能

                              • 健康报告确认页指标按类别分组折叠, 支持全部展开/折叠与需处理计数

                              Bug 修复

                              • 迁移151 growth_records 补齐学校/年级7列 - 修复 Unknown column 'school'

                              其他

                              • 且其 snake_case 列名与实体不匹配, 导致全列查询报 Unknown column 'school'。
                              • schema.sql 同步为 camelCase 与实体一致。

                              v1.0.758 (2026-08-03)

                              文档

                              • 商品赠送会员功能设计(方案B 独立规则表)

                              Bug 修复

                              • List.of 替换为 Arrays.asList 兼容 Java 8

                              v1.0.757 (2026-08-03)

                              Bug 修复

                              • 完善 PDF 解析服务 - 支持 inline 格式、Kangxi 部首归一化、指标去重、白名单过滤

                              v1.0.756 (2026-08-03)

                              样式

                              • 重绘「身」TabBar 底签哑铃图标, 更新浠艾福项目总体介绍 pptx; gitignore 排除 .codegraph

                              Bug 修复

                              • 迁移148 payment_orders.user_coupon_id 兜底添加

                              其他

                              • Unknown column 'user_coupon_id' in 'field list':entity PaymentOrder
                              • 已声明 userCouponId 但部分库建表时缺失该列。
                              • 使用 ensureColumn 幂等添加。本地 MariaDB 与新 MySQL 8 远端已
                              • 有此列,迁移对它们为 no-op。schema.sql 已含 user_coupon_id,
                              • 无需同步。

                              v1.0.755 (2026-08-03)

                              Bug 修复

                              • globalData.currentChildId 替换为 uni.getStorageSync('currentChildId'),修复孩子视角切换数据失效
                              • getApp().globalData.baseUrl/apiBase 替换为 config.API_BASE_URL,修复 uploadFile invalid url 与图片加载
                              • 消除开发者工具告警 - getSystemInfoSync 弃用替换为 getWindowInfo, 修复 article-center articles prop 非数组类型错误

                              v1.0.754 (2026-08-03)

                              新功能

                              • 五维家庭自检问卷(P0-1) + 五行相生寻源建议引擎(P0-2)

                              样式

                              • 家庭挑战卡片缩水为纯展示组件

                              其他

                              • - 详情行合并为单行, 卡片内边距/字号/进度条全面收紧约20%
                              • - parent-index.vue: 移除无用的 childId 传参与 @updated 监听

                              v1.0.753 (2026-08-03)

                              Bug 修复

                              • 修复 ArticleBookshelf relatedDimensions 数组拆分崩溃与 switchTab 非 TabBar 路由系统错误
                              • FamilyRelationGraph 力导向模拟增加动能收敛检测, 布局稳定后自动停止避免永续占用主线程

                              其他

                              • - custom-tab-bar/index.vue: 富 tab 指向 wealth/index, tab 顺序对齐原生 tabBar, nativeTabPages 只含原生 tab 页
                              • - login.vue / action / wisdom / index-home: 清理 stale nativeTabs 列表, 避免对非 tabBar 页面调用 switchTab 触发 routeDone 路由错误
                              • - user-edit.vue: 规划师入驻提交后 redirectTo 分包页而非 switchTab
                              • - utils/format.js + DimensionActivities.vue: 新增 iOS 安全 parseDate 统一日期解析

                              v1.0.752 (2026-08-03)

                              Bug 修复

                              • add missing goodsCategory API to fix empty product list on shop index page

                              v1.0.751 (2026-08-03)

                              测试

                              • 补充近期需求变更的端到端覆盖

                              其他

                              • 家庭挑战 (d6bb7d48):
                              • - 挑战列表带 familyId 参数(修复之前漏传导致返回空)
                              • - 验证 targetMode/targetValue 双目标模式字段
                              • - 验证 totalProgress/memberProgress 进度字段
                              • - 新增 /api/health/challenge/history 历史
                              • - 新增 /api/health/challenge/progress 进度上报(childId 已有活跃挑战时)
                              • 活动会员价 (15a93dd3 + 89673f07):
                              • - 管理端活动列表验证 memberPrice 字段
                              • - 管理端活动详情验证 memberPrice
                              • 文章 (ab9f4a44 + 阅读时长功能):
                              • - admin/articles/list 带 auditStatus 参数过滤
                              • - 文章详情返回 readTime 字段
                              • - /api/articles/record-read 上报阅读时长(需 childId)
                              • - /api/share/qrcode 生成小程序码(855a8df5 分享改海报)
                              • - /api/admin/articles/upload/image 端点存在性(598e7601 + c697fb7b)
                              • 测试结果:211 passed / 0 failed / 0 skipped(原 199 → +12 新增全通过)。

                              v1.0.750 (2026-08-03)

                              文档

                              • 同步设计文档 §5.1/5.2/§8 与 PROJECT-OVERVIEW 状态

                              其他

                              Bug 修复

                              • offerId 改为支付应用ID并按官方 camelCase JSON 串重建 signData 签名

                              v1.0.749 (2026-08-03)

                              新功能

                              • 接入现网/沙箱双 AppKey 并补充消息推送 Token 校验

                              其他

                              • - VirtualPayService: effectiveAppKey() 按 virtual-pay-env 选择签名密钥,paySig/query_order pay_sig 统一切换
                              • - VirtualPayController: 新增 GET /notify URL 验证端点(echostr 校验);POST /notify 增加微信签名校验(sha1(token+timestamp+nonce))防伪造推送
                              • - tasks/rewards/home-pages/teacher 等非 TabBar 页面改用 navigateTo,修复 switchTab 无法跳转分包页的问题
                              • - user-edit 登录后角色分流、家长/孩子端任务/奖励入口同步修复
                              • mysql-internet-cn-north-1-23feae2268.rds.jdcloud.com:3306,
                              • 库名 zxyj(与本地同名),账号 cfc/cfc@1314。
                              • main 与 sfms 两段 datasource 同步切换(sfms 默认 enabled=false)。
                              • {memberId, source: "family_member"},source 是 String,
                              • Map 会导致 Jackson 反序列化失败。其他端点
                              • (kick / editable / logs)不接收 source,保持 Map。
                              • BadSqlGrammarException。直接赋值在两库均可用(MySQL 8 JSON 列接受
                              • 字符串时自动校验,MariaDB JSON 为 LONGTEXT 别名)。
                              • Bug 修复

                                • 统一商城首页路径并修复 switchTab 非 TabBar 跳转
                                • 维度权重保存移除 CAST(? AS JSON) — MariaDB 不兼容

                                测试

                                • switchToMember 测试 body 类型改为 Map
                                • v1.0.748 (2026-08-03)

                                  Bug 修复

                                  • interaction/add 修复 familyId 为空报错——后端按 userId 自动解析

                                  v1.0.747 (2026-08-03)

                                  Bug 修复

                                  • 生成海报二维码必须登录 — 拦截 anonymous 流量反复触发 access_token 'not latest'

                                  其他

                                  • - /api/share/qrcode 加入必登录清单,根因解决 anonymous 反复调 cgi-bin/token 导致全实例 token 失效
                                  • - ShareController.getQrCode 同步加 userId<=0 兜底校验(双保险)

                                  v1.0.746 (2026-08-03)

                                  重构

                                  • 移除死页面 plans.vue,权益对比保留在 upgrade 页

                                  其他

                                  Bug 修复

                                  • 开通会员页改用 getMembershipPlans 获取实际配置价格

                                  v1.0.745 (2026-08-03)

                                  Bug 修复

                                  • 未登录时跳过邀请码请求与维度商品展示守卫

                                  文档

                                  • 假算法题材网络小说章节库 51 章

                                  其他

                                  v1.0.744 (2026-08-02)

                                  新功能

                                  • 活动详情报名/签到/分享海报需登录,注册弹窗改为自定义遮罩去内置按钮
                                  • 管理端虚拟支付道具映射CRUD页面

                                  其他

                                  文档

                                  • 虚拟支付实施计划 + PROJECT-OVERVIEW 索引更新

                                  v1.0.743 (2026-08-02)

                                  新功能

                                  • 前端接入小程序虚拟支付
                                  • 虚拟支付超时兜底任务 pending订单query_order确认+超时关单,防success回调丢失
                                  • 订阅订单改虚拟支付
                                  • 会员订单改虚拟支付 createOrder返回VirtualPayParams,发货推送复用processPaymentCallback,修正等级硬编码FAMILY
                                  • 测评订单改虚拟支付 payOrder返回VirtualPayParams保持pending,服务端计价,发货推送markPaid+预约确认+佣金
                                  • VirtualPayController 接收虚拟支付消息推送 /api/internal/virtual-pay/notify(公开) + ios-refund-query,返回微信ErrCode协议
                                  • VirtualPayService paySig签名/参数生成/发货退款推送处理+sessionKey持久化 JDK原生HMAC-SHA256零新依赖,双签名(paySig+signature),前缀路由,迁移144

                                  其他

                                  Bug 修复

                                  • 更新VirtualPayServiceTest发货推送断言为handleVirtualPaySuccess路由
                                  • 虚拟支付Task4评审修复 sessionKey防序列化泄露/发货推送幂等/缺参ack/签名断言

                                  v1.0.741 (2026-08-02)

                                  Bug 修复

                                  • wangEditor v5 上传图片改用customInsert+限制5M+错误提示
                                  • 图片上传multipart大小限制+微信安全检测超过1M跳过
                                  • 文章详情页封面图和正文图片拼接 API_BASE_URL,修复未登录时相对路径图片加载失败

                                  其他

                                  v1.0.740 (2026-08-02)

                                  新功能

                                  • 商城入口统一指向商品商城/移除积分商城+推荐商品文案统一+商城标题'浠艾福商城'

                                  Bug 修复

                                  • 新建商品时显示SKU维护入口

                                  其他

                                  • - ProductSkuEditor: 支持新建时暂存 SKU,商品创建后自动提交
                                  • - handleSave: 创建后更新 form.id,触发 SKU 编辑器 watch

                                  v1.0.739 (2026-08-02)

                                  新功能

                                  • 商城入口统一指向商品商城/移除积分商城+推荐商品文案统一+商城标题'浠艾福商城'

                                  Bug 修复

                                  • 新建商品时显示SKU维护入口

                                  其他

                                  • - ProductSkuEditor: 支持新建时暂存 SKU,商品创建后自动提交
                                  • - handleSave: 创建后更新 form.id,触发 SKU 编辑器 watch

                                  v1.0.738 (2026-08-02)

                                  新功能

                                  • 支持集体总合与全员个人双目标模式

                                  其他

                                  • - DatabaseInitializer 新增幂等迁移:target_mode (VARCHAR(20) DEFAULT 'aggregate') 与 target_value (INT DEFAULT 0)
                                  • - schema.sql 同步 family_challenge 表结构
                                  • - FamilyChallenge 实体新增 targetMode/targetValue 字段与 @TableField(exist=false) 的 totalProgress/memberProgress
                                  • - FamilyChallengeService 扩展 templates 数组为 8 列(添加目标列),重构 checkAndSettle() 按目标模式分支判定:
                                  • - aggregate:全体 progress 合计 ≥ target_value 即达标
                                  • - all_members:家庭内每个成员 progress ≥ target_value(无记录=0 判失败)
                                  • - 抽离 normalizeTarget() 实现旧数据向后兼容;fillProgress() 为 /list /history 填充总进度与成员进度
                                  • 前端:
                                  • - FamilyChallengeCard 重写:双模式目标展示(aggregate=总进度条 X/Y;all_members=成员进度列表+达标✓),打卡上报入口(updateChallengeProgress({challengeId, childId, delta}) → $emit('updated'))
                                  • - parent-index 卡片传 :childId="currentChildId" + 监听 @updated="loadFamilyInteraction"
                                  • - patch-node-compat.cjs:node v24 polyfill(util.isRegExp 等已被移除),构建时通过 NODE_OPTIONS="--require ./patch-node-compat.cjs" 注入

                                  文档

                                  • /运营: 小红书内容 D14/D15/D16、第三篇-月入2万的家庭、发布指南、README 同步更新

                                  v1.0.737 (2026-08-02)

                                  新功能

                                  • 放开已上架文章和活动的编辑权限,便于初期维护

                                  其他

                                  • - 前端 ArticleEdit/ActivityEdit 的 published 不再进入 readonly
                                  • - 列表页 published 文章按钮由「查看」改为「编辑」
                                  • - 保存按钮文案与提示语按状态区分(保存修改/保存草稿)

                                  v1.0.735 (2026-08-02)

                                  Bug 修复

                                  • wangEditor 初始化配置提前到 created 生命周期

                                  其他

                                  • 避免 mounted 阶段编辑器实例已初始化导致配置不生效

                                  v1.0.734 (2026-08-02)

                                  Bug 修复

                                  • 修复外部提交引入的语法错误,恢复小程序构建

                                  其他

                                  • - articles.vue: onSearchBlur 补齐闭合花括号、移除多余 }(e327a0ef 引入)
                                  • - 上报间隔 30000→10000,每10秒自动记录该用户已读时长
                                  • - 退出文章时 pauseReadingTimer 记录当时时长(保留原逻辑)

                                  新功能

                                  • 文章详情阅读时长每次进入从0开始计时,10秒上报一次

                                  v1.0.733 (2026-08-02)

                                  新功能

                                  • add counterfeit-warning product page, gut-kit image, HRW article image, update sales index
                                  • 虚拟支付道具映射 实体/Mapper/Service/管理端CRUD接口
                                  • 新增wechat.appkey与virtual-pay-env配置 小程序虚拟支付paySig签名密钥与环境(0现网/1沙箱)
                                  • 迁移143 创建virtual_goods_config道具映射表 测评/会员/订阅虚拟支付道具映射,UNIQUE(goods_type,biz_key),幂等

                                  v1.0.732 (2026-08-02)

                                  新功能

                                  • 权益对比区分家庭/高级会员(高级享每周管家服务)+ 家庭会员仅年付、高级会员月/年付费档位

                                  v1.0.731 (2026-08-02)

                                  其他

                                  Bug 修复

                                  • AI/promotion/vendor/parent pages use API_BASE_URL for uploaded images
                                  • upload/meal/points pages use API_BASE_URL for uploaded images
                                  • index/product/detail pages use API_BASE_URL for uploaded images
                                  • activity/guide pages use API_BASE_URL for uploaded cover images
                                  • order pages use API_BASE_URL for uploaded order cover images
                                  • shop core pages use API_BASE_URL for uploaded product images
                                  • product/discover pages use API_BASE_URL for uploaded cover images
                                  • article pages use API_BASE_URL for uploaded cover images
                                  • base config/components use API_BASE_URL for uploaded image URLs

                                  v1.0.730 (2026-08-02)

                                  Bug 修复

                                  • WechatService 用 StreamUtils.copyToByteArray 替代 readAllBytes,兼容 Java 8 编译

                                  v1.0.729 (2026-08-02)

                                  新功能

                                  • 微信内容安全检测(msg_sec_check + img_sec_check)

                                  其他

                                  • - WechatService: access_token 加缓存(TTL 7000s); 实现 msg_sec_check / img_sec_check
                                  • - MediaController: 上传图片/文本检测 (P0)
                                  • - AdminArticleController: 文章图片/标题/正文检测 (P1)
                                  • - HealthReportController: 健康报告图片上传检测 (P1)
                                  • - ServiceRoleApplicationController: 资质图片上传检测 (P1)
                                  • - 微信API异常时 fail-open 不阻塞上传; testMode 跳过检测

                                  v1.0.728 (2026-08-02)

                                  其他

                                  • 屏蔽选择AI助手功能

                                  v1.0.727 (2026-08-02)

                                  Bug 修复

                                  • 富文本编辑器图片上传路径和网络图片弹窗被遮挡

                                  其他

                                  • - ArticleEdit/ProductEdit/ActivityEdit: onSuccess 内拼接后端 baseURL 生成完整图片 URL

                                  v1.0.726 (2026-08-02)

                                  Bug 修复

                                  • ErrorLoggingFilter 捕获链式异常并记录500日志; DimensionWeightController 参数校验; GlobalExceptionHandler 兜底异常处理

                                  v1.0.725 (2026-08-02)

                                  新功能

                                  • add DAN professional assessment product page with 4-tier packages

                                  其他

                                  • - 7 report packages by age group (A1/A2/B2/B3/B4/B5/B6, C1 excluded from retail)
                                  • - 4-tier pricing: single 699 / dual 1280 / triple 1860 / quadruple 2390
                                  • - Package combination rules per user spec (A2+B4 golden combo, +B3/B5/B6 for 3+ packs)
                                  • - WeChat native QR payment flow with plan selection modal

                                  Bug 修复

                                  • 五维首页为你推荐商品区改为使用公开接口数据, 未选孩子也能显示

                                  v1.0.724 (2026-08-02)

                                  新功能

                                  • 活动中心增强——管理员活动管理+已报名状态标记+报名截止时间+未报名签到扣'行'维度能量

                                  v1.0.723 (2026-08-02)

                                  Bug 修复

                                  • simplify payment QR instruction text

                                  其他

                                  文档

                                  • 《家的算法》全书插图占位33处+插图规划清单+知识产权查证档案(24730/章鱼图/珍珠图)

                                  v1.0.722 (2026-08-02)

                                  Bug 修复

                                  • set gut testing price to ¥1,314
                                  • update payment QR instructions for WeChat browser users

                                  其他

                                  v1.0.721 (2026-08-02)

                                  Bug 修复

                                  • DatabaseInitializer 清理 — 修正 modifyColumnToText 表名、移除已删表的残留迁移
                                  • skip OAuth2 JSAPI flow, use Native QR code directly for WeChat browser

                                  其他

                                  新功能

                                  • add payment to water ionizer and turmeric product pages

                                  v1.0.720 (2026-08-02)

                                  新功能

                                  • add gut-testing product links to articles
                                  • sticky bottom payment bar like e-commerce

                                  其他

                                  v1.0.719 (2026-08-02)

                                  Bug 修复

                                  • show contact info in QR payment popup

                                  其他

                                  新功能

                                  • 推荐阅读点击封面直接进入文章详情页

                                  v1.0.718 (2026-08-02)

                                  Bug 修复

                                  • sync ProductOrder for admin order management

                                  其他

                                  v1.0.717 (2026-08-02)

                                  新功能

                                  • save contact info to package_orders, keep SVG flow only

                                  其他

                                  • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                                  • 改为 scroll-view 保持默认 block,内部 .bs-books-inner 用 inline-flex 横向排列

                                  Bug 修复

                                  • ArticleBookshelf 书籍横向排列 — scroll-view 内包 inline-flex 容器

                                  v1.0.716 (2026-08-02)

                                  Bug 修复

                                  • show product info in payment popup, auto-close on success

                                  其他

                                  v1.0.715 (2026-08-02)

                                  Bug 修复

                                  • missing braces in JS, add backend QR code endpoint, use backend QR code instead of external API

                                  其他

                                  重构

                                  • gut-testing 删除 gut-kit-6/8 图片块,更新 8 大检测维度解析长图为压缩版

                                  v1.0.714 (2026-08-02)

                                  Bug 修复

                                  • add CORS origin for www.cf-club.com, fix QR code display, add diagnostic filter
                                  • 文章列表点击直接进入详情页,未登录也可阅读公开文章

                                  其他

                                  • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                                  • - 五维首页(index-home/body/wisdom/mind/wealth)与 action 页统一使用 DimensionProducts
                                  • - 统一商品跳转 goProductDetail/goMoreProducts,移除登录跳转冗余分支
                                  • - 修复 DimensionProducts 空态文案依赖 isLoggedIn 的逻辑
                                  • - 每屏固定3本,多余横向滑动,指示器按3本一组并随滚动高亮
                                  • - 骨架屏同步改为3个封面占位

                                  重构

                                  • 统一五维首页商品推荐组件为 DimensionProducts

                                  新功能

                                  • ArticleBookshelf 改为竖版封面风格,一行3本横向滑动

                                  v1.0.713 (2026-08-02)

                                  文档

                                  • 《家的算法》全书审阅修复+藏宝图改名+第3-7章补本章要点(人物一致性/章节引用/数据矛盾/行动卡格式统一)

                                  v1.0.712 (2026-08-02)

                                  新功能

                                  • gut-testing 检测流程改用SVG流程图,8大检测维度补充商品解析长图

                                  v1.0.711 (2026-08-02)

                                  Bug 修复

                                  • 统一移除RecommendedSection的v-if条件

                                  其他

                                  v1.0.710 (2026-08-02)

                                  Bug 修复

                                  • 统一五维首页推荐组件 — 顺序为活动→商品→阅读→推荐

                                  其他

                                  • wealth: 添加DimensionActivities, 添加loadDimensionActivities, 移除v-if
                                  • mind: ArticleBookshelf移到DimensionProductList之后, 移除v-if
                                  • 统一顺序: DimensionActivities → DimensionProductList → ArticleBookshelf → RecommendedSection
                                  • Ultraworked with Sisyphus
                                  • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai

                                  v1.0.709 (2026-08-02)

                                  重构

                                  • 移除 gut-testing 截图占位块和 gut-kit-3 微信解读CTA块

                                  v1.0.708 (2026-08-02)

                                  新功能

                                  • add recipient address field to order form

                                  其他

                                  v1.0.707 (2026-08-01)

                                  Bug 修复

                                  • getOAuth2Url 用 String 重载的 URLEncoder.encode,兼容 Java 8 编译

                                  v1.0.706 (2026-08-01)

                                  文档

                                  • 家庭成员页面重设计实施计划 + 饮水对比移动端轮播式重设计

                                  其他

                                  • - specs/2026-07-31-compare-table-mobile-redesign.md: 饮水对比表格移动端轮播卡片设计
                                  • - PROJECT-OVERVIEW.md: 文档索引同步新增两条
                                  • - 路径已在 WebConfig JWT 白名单(/api/config/public/**),免登录访问
                                  • - mind/wisdom 商品推荐迁移至 DimensionProductList(支持未登录空态)
                                  • - body 移除商品推荐 v-if 登录守卫,组件内部处理未登录态
                                  • - DimensionProductList familyId 改为可选,无 familyId 时不请求接口展示引导文案
                                  • - wealth 页新增推荐阅读区块(未登录/已登录两区块)

                                  新功能

                                  • 新增公共配置读取接口 PublicConfigController
                                  • 五维页面推荐组件统一——推荐阅读改用ArticleBookshelf、商品推荐改用DimensionProductList

                                  v1.0.705 (2026-08-01)

                                  Bug 修复

                                  • add payment endpoints to JWT exclude list

                                  其他

                                  v1.0.704 (2026-08-01)

                                  Bug 修复

                                  • fix fallbackNativePay syntax error, center order form modal

                                  其他

                                  v1.0.703 (2026-08-01)

                                  重构

                                  • 移除 gut-testing 产品页 gut-kit-2 寄回流程图和 gut-detail-banner 长图

                                  新功能

                                  • gut-testing 产品页补充商品图片(谷禾肠道菌群检测专业版)

                                  v1.0.702 (2026-08-01)

                                  新功能

                                  • add memory-gut, water-unseen articles and gut-testing product page

                                  其他

                                  v1.0.701 (2026-08-01)

                                  Bug 修复

                                  • 重绘底部tab身图标,更简洁的弯曲胳膊造型
                                  • ContentRecommendService 商品/活动推荐改用 dimension_weights JSON 列查询

                                  其他

                                  • Ultraworked with Sisyphus
                                  • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                                  • (domain / dimension_code) 进行维度匹配,导致配置了 dimension_weights
                                  • 但未设置旧字段的商品/活动在推荐系统中被遗漏。
                                  • 改为与 ProductService/ActivityService 一致的 JSON_EXTRACT + 旧字段
                                  • OR 回退模式,确保权重感知查询全面覆盖。

                                  v1.0.700 (2026-08-01)

                                  Bug 修复

                                  • add /upgrade-records route alias to MembershipController

                                  其他

                                  • /api/admin/membership/upgrade-records (AdminController) existed.
                                  • Added /upgrade-records as an alias to the existing /records endpoint
                                  • in MembershipController, which returns the current user's upgrade
                                  • records with pagination.

                                  v1.0.699 (2026-08-01)

                                  Bug 修复

                                  • promotion模板缺少
                                  • 闭合标签

                                其他

                                v1.0.698 (2026-08-01)

                                Bug 修复

                                • promotion模板多根元素 + 内联赋值

                                其他

                                v1.0.697 (2026-08-01)

                                文档

                                • 《家的算法》第3章补充水主题延伸阅读书单(李复兴系列3本)

                                v1.0.696 (2026-08-01)

                                其他

                                • Revert "feat: 屏蔽在线开通会员功能,改为管理员后台设置"

                                v1.0.695 (2026-08-01)

                                文档

                                • 《家的算法》科学看见主线补强(财务/关系体检工具+菌群检测桥段+3个新家庭案例)

                                v1.0.694 (2026-08-01)

                                新功能

                                • 商品详情加分享海报按钮+scene邀请码解析
                                • 文章详情去掉分享按钮,海报传维度/简介/邀请语
                                • ContentSharePoster 参数化五维配色+简介/邀请语/价格行+居中弹窗
                                • SharePoster 家庭邀请卡加 familyName 文案与邀请语,字号缩小2px
                                • 屏蔽在线开通会员功能,改为管理员后台设置

                                其他

                                • - upgrade.vue: 替换为'暂不支持在线开通'提示页
                                • - ProfileMenu: 导航从index改为benefits
                                • Ultraworked with Sisyphus
                                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai

                                v1.0.693 (2026-08-01)

                                Bug 修复

                                • RecommendedSection无数据时显示空状态而非隐藏整个组件

                                其他

                                v1.0.692 (2026-07-31)

                                文档

                                • 分享功能改造实施计划(海报组件参数化+5项分享入口)

                                Bug 修复

                                • 重新绘制底部tab身图标,更清晰的弯曲胳膊造型
                                • DimensionProductList使用attached生命周期在uni-app中不触发

                                其他

                                v1.0.691 (2026-07-31)

                                文档

                                • add D11-D14 drafts, post8/9 content, D8/D9 tracking data and process files
                                • rewrite publishing guide with 5-dimension and knowledge point framework

                                其他

                                • - 3.4 Logic consistency checklist: avoid "started last week" vs "3-month data" timeline contradiction
                                • - 2.2.1 Five-dimension generation/restriction: row-birth-heart, knowledge-restrict-row, wealth-birth-row, row-restrict-body
                                • - 2.2.2 Knowledge point requirement: each article must include at least 1 psychology/neuroscience mechanism
                                • - 12 Shuangpei Qiangji knowledge base index: A2/B4 reports + public account history articles reference

                                v1.0.690 (2026-07-31)

                                文档

                                • 分享功能改造设计(海报组件参数化+5项分享入口)

                                Bug 修复

                                • recommend-mixin传参字段名与后端DTO不匹配

                                其他

                                v1.0.689 (2026-07-31)

                                其他

                                • book: 补权威引用+人物一致性修复——第2/3/6/9/10/11章新增Maslow/WHO/Korelitz/Duhigg/Kluger/Ries等引用、附录新增参考文献总表(41条学术文献)、小茜→老李/老周人物改名、三岁→九岁年龄修正、第七章→第7章格式统一、章节标记全部主题化;策划方案新增'引用与数据策略'章节

                                v1.0.688 (2026-07-31)

                                Bug 修复

                                • family-members弹窗关闭内联表达式

                                其他

                                v1.0.687 (2026-07-31)

                                Bug 修复

                                • 健康报告上传失败时 console 输出错误详情

                                v1.0.686 (2026-07-31)

                                其他

                                • book: 核实补正——Todorovic氢水研究限定'肥胖成年人'语境(正文+来源块)、第四章补Lepper 1973过度理由效应实验来源(草稿+成书稿同步)
                                • book: 全书论点依据核实——魏高峡去名人化4处、无据断言修改(A级硬伤+B级补来源)、'优势溢出效应'改'扬长促短'(草稿+成书稿同步)
                                • book: 第三支柱'传承'改'代际传承'(三代链条:承接-活出-传递),育儿内容定位'焦点放回自己'——孩子是镜子验证自己成长,父母是预言验证孩子未来(序章/第1/2/3/6/7章/终章/附录/策划方案同步,成书稿重拼)
                                • book: 第1章'教育'石头转'成长'(成人+育儿双视角),第8/9/10/12章加无孩适配注记,终章回顾同步
                                • book: 全书定位从'育儿书'转为'个人成长书'——五维是每个人的成长维度,家庭是承载处(序章定位声明/传承支柱/身智两章重构/行四象限+与父母关系/心加非育儿场景/成书稿重拼)

                                v1.0.684 (2026-07-31)

                                性能优化

                                • 维度首页过渡页强制关闭上限 3s 缩短至 1.5s

                                v1.0.683 (2026-07-31)

                                其他

                                • 屏蔽小程序文章评论及AI问答功能

                                v1.0.682 (2026-07-31)

                                Bug 修复

                                • add missing List import in ActivityController and DB migrations for dimension_code/family_scope columns

                                其他

                                • - DatabaseInitializer: add migrations 138-140 for tasks.dimension_code,
                                • products.family_scope, activities.family_scope (were dead code in migration102)

                                v1.0.681 (2026-07-31)

                                Bug 修复

                                • add missing List import in ActivityController and DB migrations for dimension_code/family_scope columns

                                其他

                                • - DatabaseInitializer: add migrations 138-140 for tasks.dimension_code,
                                • products.family_scope, activities.family_scope (were dead code in migration102)

                                v1.0.680 (2026-07-31)

                                Bug 修复

                                • circle接口空字符串解析Long报NumberFormatException

                                其他

                                v1.0.679 (2026-07-31)

                                其他

                                • book: 合入「为什么是算法」主轴论述(第1章)并重新生成成书稿
                                • - 收束金句:算法不是让你更快,是让你回家
                                • - 第2章「为什么叫算法」节精简呼应,避免重复
                                • - 成书稿.txt 同步重新生成(16章结构不变)
                                • book: 书名定位升级为「一词三通」(宇宙因果×传统文化×AI)
                                • - 竞品调研新增算法/逻辑方法类(人生算法、底层逻辑)与 AI×家庭类(2026 新兴赛道)
                                • - 应对策略与结论同步更新:三块空白交汇处正是本书

                                v1.0.678 (2026-07-31)

                                Bug 修复

                                • 富页登录按钮因重复CSS规则min-height:80vh位置偏高

                                其他

                                v1.0.677 (2026-07-31)

                                Bug 修复

                                • article-detail auto-merge遗留重复方法

                                其他

                                v1.0.676 (2026-07-31)

                                Bug 修复

                                • article-detail内联表达式导致data-event-opts编译错误

                                其他

                                v1.0.675 (2026-07-31)

                                Bug 修复

                                • 未登录可浏览商品/活动/文章详情 + 富页面预登录内容

                                其他

                                • wealth/index.vue: 移除全屏登录墙,未登录显示商品推荐+登录引导,登录后显示完整内容

                                v1.0.674 (2026-07-31)

                                文档

                                • 文章评论审核系统方案与实现计划

                                新功能

                                • 文章评论审核前端——RadarChart/article-detail/order-list/article.js/CommentReview
                                • 文章评论审核功能——AdminArticleController/ArticleCommentController/ArticleCommentService

                                其他

                                • book: 生成成书稿txt(序章→第十三章→终章→附录 全16章拼接)
                                • book: 全书一致性修订——补全预告链/数据来源说明,规范引号与格式

                                v1.0.673 (2026-07-31)

                                新功能

                                • 活动详情页新增报名表单 Modal(家庭成员选择 + 手动输入 + 合计)
                                • activity_registrations 表添加 registrant_name/registrant_phone 列, child_id 改为可空
                                • 活动报名支持批量提交 registrants 列表

                                其他

                                v1.0.672 (2026-07-30)

                                重构

                                • 统一活动详情和商品详情页

                                其他

                                • 商品详情: 保留 discover-detail/product-detail(已含 mp-html),删除 discover/product-detail(死代码,641行)
                                • 更新 15+ 个文件的引用路径
                                • 清理 pages.json 移除 discover-detail 子包中的 activity-detail 注册

                                v1.0.671 (2026-07-30)

                                新功能

                                • JwtInterceptor 无token改为设匿名用户(userId=-1)放行,不返回401

                                其他

                                Bug 修复

                                • 统一活动详情页,删除 discover-detail 重复文件
                                • 补充ActivityDTO缺失字段 requireRegistration/requireCheckinReview/memberPrice/feedbackDimensions

                                v1.0.670 (2026-07-30)

                                重构

                                • 统一文章详情页为 article-center/article-detail

                                其他

                                • 删除 pages/mind-detail/article-detail.vue(功能不完整,无评论/阅读追踪)
                                • 更新 9 个文件的引用路径
                                • 移除 pages.json 中的旧注册

                                新功能

                                • complete coaching integration - rename characters (小付/小艾/小茜), action card rewrites, dialogue layer updates

                                v1.0.669 (2026-07-30)

                                Bug 修复

                                • resolve 6 backend compilation errors

                                v1.0.668 (2026-07-30)

                                Bug 修复

                                • article-detail模板结构错误 — template作容器/多余闭合标签/tag无匹配end

                                其他

                                v1.0.667 (2026-07-30)

                                Bug 修复

                                • override ejs to 3.1.10 to fix critical CVE in webpack-bundle-analyzer

                                其他

                                • Override via package.json forces 3.1.10 in the webpack-bundle-analyzer tree.

                                v1.0.666 (2026-07-30)

                                新功能

                                • mp-html 富文本组件替换微信原生 rich-text
                                • 重新设计底部tab智图标为交叉斧剑
                                • 重新设计底部tab身图标为弯曲胳膊

                                其他

                                • - 3个 article-detail.vue: rich-text → mp-html
                                • - 2个 activity-detail.vue: 纯文本 → mp-html 渲染
                                • - 2个 product-detail.vue: 纯文本 → mp-html 渲染
                                • - family-dashboard.vue: rich-text → mp-html
                                • Ultraworked with Sisyphus
                                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                                • Ultraworked with Sisyphus
                                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai

                                v1.0.665 (2026-07-30)

                                新功能

                                • api请求失败时console打印完整URL以方便排查

                                其他

                                • - uploadAndParseReport(): 失败/网络错误日志
                                • - parseReportPreview(): 失败/网络错误日志
                                • - danParsePreview(): 失败/网络错误日志
                                • - langgraphRequest(): 不可达时打印URL后回退Dify
                                • Ultraworked with Sisyphus
                                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai

                                v1.0.664 (2026-07-30)

                                新功能

                                • 替换底部tab富图标为水滴设计并修正引用
                                • 替换底部tab心图标为爱心设计
                                • 替换底部tab智图标为大脑设计
                                • 替换底部tab身图标为臂肌设计
                                • 替换底部tab行图标为嫩芽设计

                                其他

                                v1.0.663 (2026-07-30)

                                其他

                                Bug 修复

                                • ContentRecommendService NPE when type is null
                                • replace Map.of() with HashMap for Java 8 compatibility

                                v1.0.662 (2026-07-30)

                                重构

                                • 主动健康vs被动健康区域改为纵向布局,红绿改暖黄+青绿配色

                                v1.0.661 (2026-07-30)

                                Bug 修复

                                • recommend-mixin.js 导入路径多一层目录

                                其他

                                v1.0.660 (2026-07-30)

                                Bug 修复

                                • ContentRecommendService select() incompatibility, ProductRecommendationService bean injection conflict
                                • 登录合规整改 - 跳过登录入口、静默授权、协议措辞

                                其他

                                • - parent-index.vue: 移除 mounted 中强制跳转登录页的逻辑
                                • - agreement.vue: 修改第2.1条「授权登录即视为注册」措辞
                                • - 验证商品/活动/文章详情页无需登录可访问(后端公开路径已配置)

                                新功能

                                • add withdrawal rules display on withdraw page per review guideline

                                v1.0.659 (2026-07-30)

                                新功能

                                • add AI disclaimer at bottom of health coach chat page

                                v1.0.658 (2026-07-30)

                                新功能

                                • integrate RecommendedSection into all 6 dimension pages

                                Bug 修复

                                • remove WeChat branding from login page per review guideline

                                v1.0.657 (2026-07-30)

                                其他

                                • Merge: resolve conflicts on recommend system + service-role-apply APIs

                                v1.0.656 (2026-07-30)

                                新功能

                                • add qr code image to project card

                                其他

                                • - Resize SVG to 800x1280 to accommodate QR code section
                                • - Replace text CTA button with actual QR code image
                                • - Add '扫码了解更多' label above QR code

                                v1.0.655 (2026-07-30)

                                新功能

                                • add project introduction card SVG for sales directory

                                其他

                                • - Five dimension circles (身/智/富/行/心) with colors
                                • - Project description, three pillars, core features
                                • - CTA button and contact info
                                • - Designed for web/sales/ directory

                                v1.0.654 (2026-07-30)

                                Bug 修复

                                • promotion try无catch语法错误 + 创建缺失的member-detail分包页面

                                其他

                                • 2. member-detail/report-detail.vue: 新建(pages.json已注册但文件缺失)
                                • 3. member-detail/service-role-apply.vue: 新建(pages.json已注册但文件缺失)
                                • Ultraworked with Sisyphus
                                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai

                                v1.0.653 (2026-07-30)

                                其他

                                v1.0.653 (2026-07-30)

                                Bug 修复

                                • parameterize JSON_EXTRACT dimension_weights queries to prevent SQL injection

                                其他

                                • - ArticleService.getList() / getFeatured()
                                • - ProductService.getProductPage()
                                • - TaskService dimension filter
                                • - ActivityService dimension filter

                                文档

                                • mark service role apply design as implemented

                                重构

                                • redirect old apply pages to unified service role apply page
                                • 富页面去掉我的邀请码区域

                                新功能

                                • add service role application review page and admin endpoints
                                • add service role apply entry in ProfileMenu
                                • add service role apply page with multi-select, upload, address
                                • add API functions and page registration for service role apply
                                • add ServiceRoleApplicationController with apply/upload/admin endpoints
                                • add ServiceRoleApplicationService with submit/approve/reject
                                • add ServiceRoleApplication entity, mapper, DTO + User fields
                                • add service_role_applications table and User status fields

                                v1.0.652 (2026-07-29)

                                文档

                                • superpowers PROJECT-OVERVIEW and service-role-apply design + plan

                                其他

                                Bug 修复

                                • OCR finding - DimensionActivities CSS flex overflow
                                • resolve OCR findings - AIService workflowId URL + EnergyService parent role filter

                                v1.0.651 (2026-07-29)

                                Bug 修复

                                • 财商打卡页内联表达式导致data-event-opts编译错误 + 修复模板编译器recyclableRender未定义

                                其他

                                • 2. package.json: 升级vue-cli-plugin-uni到2.0.2-5010420260703001匹配7月版模板编译器
                                • 3. postinstall-fix.js: 新增templateLoader.js补丁,移除未定义的recyclableRender/components导出
                                • Ultraworked with Sisyphus
                                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai

                                v1.0.650 (2026-07-29)

                                Bug 修复

                                • add sendWorkflow and getTodayTasks(Long) overload, pull remote changes

                                v1.0.649 (2026-07-29)

                                Bug 修复

                                • 推荐商品和活动价格显示到分
                                • allow tracking screenshots in web/articles/ via .gitignore

                                新功能

                                • 文章详情页完整功能 — 自动完成阅读+评论系统+AI答题
                                • add gut microbiota-obesity article with 3 reference screenshots + track HRW sleep screenshots
                                • 过渡页最少800ms最多3s — 集中计时到tab-transition组件
                                • 完整记账功能 — 收支管理+分类统计+月度概览

                                文档

                                • 文章详情页功能补充设计 — 自动完成阅读+评论系统+AI答题

                                v1.0.648 (2026-07-29)

                                Bug 修复

                                • 推荐商品和活动价格显示到分

                                v1.0.647 (2026-07-29)

                                新功能

                                • 文章详情页完整功能 — 自动完成阅读+评论系统+AI答题

                                Bug 修复

                                • allow tracking screenshots in web/articles/ via .gitignore

                                v1.0.646 (2026-07-29)

                                新功能

                                • add gut microbiota-obesity article with 3 reference screenshots + track HRW sleep screenshots

                                文档

                                • 文章详情页功能补充设计 — 自动完成阅读+评论系统+AI答题

                                v1.0.645 (2026-07-29)

                                新功能

                                • 过渡页最少800ms最多3s — 集中计时到tab-transition组件

                                v1.0.644 (2026-07-29)

                                新功能

                                • 完整记账功能 — 收支管理+分类统计+月度概览

                                v1.0.643 (2026-07-29)

                                新功能

                                • 上传健康报告页面两种上传方式差异化重构

                                其他

                                • - 方式 1(文件上传)虚线蓝框 + 蓝色基调 + 蓝色实心图标方块
                                • - 方式 2(拍照上传)橙色边框 + 渐变橙色实心按钮(更醒目,即时操作)
                                • - 顶部「方式 1/2」标签让用户明确二选一
                                • - 保持 pickFile/takePhoto/selectedFile/photoPath/parsedInfo 逻辑不变
                                • - 数据库初始化器同步上一轮的 report_summary 迁移(迁移 106)

                                v1.0.642 (2026-07-29)

                                新功能

                                • 财商打卡页面完整功能实现

                                v1.0.641 (2026-07-29)

                                新功能

                                • 家庭成员管理邀请功能增加分享邀请卡

                                v1.0.640 (2026-07-29)

                                新功能

                                • add hydrogen-water-sleep article with 5 PubMed reference screenshots
                                • insert scientific figures into pancreatitis and leaky-gut articles

                                v1.0.639 (2026-07-29)

                                Bug 修复

                                • 智首页六维认知雷达图无数据时也显示人群平均值

                                v1.0.638 (2026-07-29)

                                Bug 修复

                                • 身首页七维雷达图无数据时也显示人群平均值

                                v1.0.637 (2026-07-29)

                                Bug 修复

                                • 关系图连线映射交换 — 信任度→颜色(低红高绿),沟通度→线形
                                • 关系图连线视觉映射调整 — 粗细/颜色/虚线 + 无数据默认黑色

                                v1.0.636 (2026-07-29)

                                新功能

                                • 家庭成员关系卡片增强 — 关系标签+联系+辈分+长按菜单

                                v1.0.635 (2026-07-29)

                                Bug 修复

                                • payment.wxss 多余逗号导致编译错误

                                v1.0.634 (2026-07-29)

                                文档

                                • 家庭成员关系卡片修复方案
                                • 家庭成员关系卡片差距分析 — FamilyMemberStrip vs 需求设计

                                v1.0.633 (2026-07-29)

                                新功能

                                • 管理后台能量行为配置页面

                                v1.0.632 (2026-07-29)

                                Bug 修复

                                • EnergyService 修复 JSONObject.getInt -> getIntValue 和 executeAward 缺少 totalAmount 参数

                                其他

                                v1.0.631 (2026-07-29)

                                新功能

                                • 能量行为配置系统 — 可配置每种行为的能量发放规则

                                v1.0.630 (2026-07-29)

                                新功能

                                • content share poster with wxacode for product/activity/article pages

                                其他

                                • - ContentSharePoster.vue: reusable canvas poster with cover/title/QR code/CTA
                                • - product-detail, activity-detail, article-detail: add poster button + component
                                • - api.js: add getShareQrCode(page, scene) helper
                                • - DimensionWeightPicker: fix proportional redistribution to keep sum=100%

                                文档

                                • 能量行为配置与系统功能关联机制设计

                                v1.0.629 (2026-07-29)

                                文档

                                • 能量配置管理系统设计 — 行为配置+消费配置+转换规则

                                v1.0.628 (2026-07-29)

                                文档

                                • 五维能量来源分析 — 19个来源+消耗+日上限

                                v1.0.627 (2026-07-29)

                                重构

                                • 商品列表查询参数统一为 dimensionCode

                                v1.0.626 (2026-07-29)

                                新功能

                                • 任务添加五维维度参数支持

                                v1.0.625 (2026-07-29)

                                文档

                                • update PROJECT-OVERVIEW to v2.1 - Phase 4 ✅ 已完成

                                其他

                                v1.0.624 (2026-07-29)

                                文档

                                • 维度筛选设计分析 — 活动/商品/文章/任务四实体对比

                                v1.0.623 (2026-07-29)

                                Bug 修复

                                • ActivityEdit/ArticleEdit full scroll, action tab no auto-select, timeout 800ms

                                其他

                                • - action/index.vue: revert auto-select-first-child, only load when saved childId matches
                                • - action/index.vue: tab-transition fallback timeout 5000ms -> 800ms
                                • - ArticleEdit: add maxFileSize 5MB to upload config
                                • - DatabaseInitializer: gate test data behind app.init-test-data flag

                                v1.0.622 (2026-07-29)

                                文档

                                • 更新成员选择分析 — 按childId/memberId/无参数分类列出全部141个功能接口

                                v1.0.621 (2026-07-29)

                                文档

                                • 家庭成员选择能力分析 — 梳理childId/memberId接口
                                • 补充活动流程图 — 详情页分享/报名按钮 + 评价流程

                                v1.0.620 (2026-07-29)

                                文档

                                • 新增 checkout 地址管理改造设计文档和实施计划

                                其他

                                新功能

                                • 切换地址系统从 consignee 到 user_address

                                v1.0.618 (2026-07-29)

                                Bug 修复

                                • 推荐活动和推荐商品显示实际价格而非'登录查看价格'

                                其他

                                • - index-home/index.vue: 游客视图商品卡片显示价格而非固定'登录查看'
                                • EnergyWeekCard, FunTaskItem, HealthCheckinCard, HealthDimensionsSection,
                                • HealthLikeButton, HealthTips, MediaRecorder, OctopusGraph, PearlDiagram,
                                • PointsProgressRing, RepurchaseReminder, SkeletonBlock, TaskItem/TaskReminder,
                                • UserQuickEntry, WisdomTips; assessment/body/membership/parent/register-child/
                                • wisdom_temp 等老旧页面; teacherGuard router

                                文档

                                • 新增财富能量兑换优惠券流程图

                                  v1.0.617 (2026-07-29)

                                Bug 修复

                                • 推荐活动和推荐商品显示实际价格而非'登录查看价格'

                                其他

                                • - index-home/index.vue: 游客视图商品卡片显示价格而非固定'登录查看'

                                v1.0.616 (2026-07-29)

                                性能优化

                                • pre-compute display values in computed to avoid template method calls

                                其他

                                v1.0.615 (2026-07-29)

                                其他

                                Bug 修复

                                • ProductEdit card layout, sales page add leaky-gut/pancreatitis articles
                                • remove required:true from dimensionCode prop in DimensionActivities/Products

                                新功能

                                • add pancreatitis and leaky-gut articles, update screenshot plan

                                文档

                                • 新增佣金结算流程图 — 两级推荐佣金+提现+结算全链路

                                v1.0.614 (2026-07-29)

                                Bug 修复

                                • ProductEdit card layout, sales page add leaky-gut/pancreatitis articles
                                • remove required:true from dimensionCode prop in DimensionActivities/Products

                                新功能

                                • add pancreatitis and leaky-gut articles, update screenshot plan

                                其他

                                文档

                                • 新增佣金结算流程图 — 两级推荐佣金+提现+结算全链路

                                v1.0.613 (2026-07-29)

                                Bug 修复

                                • remove required:true from dimensionCode prop in DimensionActivities/Products

                                其他

                                v1.0.612 (2026-07-29)

                                文档

                                • 新增佣金结算流程图 — 两级推荐佣金+提现+结算全链路

                                v1.0.611 (2026-07-29)

                                Bug 修复

                                • el-main添加overflow-y:auto使内容区可滚动,解决长表单被截断问题
                                • replace template literal fallback with computed props for WXML compat

                                其他

                                v1.0.610 (2026-07-29)

                                文档

                                • 新增支付流程流程图 — 覆盖订单创建/支付/退款/提现全链路

                                v1.0.609 (2026-07-29)

                                Bug 修复

                                • add null defaults for dailyFortune and dominantElement props
                                • add currentChildId guard and fix getMyCircles params
                                • add iOS date parsing fallback for Java format
                                • 商品编辑页el-card__body增加overflow-y:auto使表单可滚动,保存按钮可见

                                其他

                                v1.0.608 (2026-07-29)

                                其他

                                v1.0.608 (2026-07-29)

                                文档

                                • 全部31个流程图重绘 — 数据上连线+中文标注+分层+完整性分析

                                v1.0.607 (2026-07-29)

                                Bug 修复

                                • member pricing display, wisdom/body page layout, :key expr in FamilyTianpanCard, remove FamilyRelationGraph

                                v1.0.605 (2026-07-28)

                                文档

                                • add report management design spec

                                v1.0.604 (2026-07-28)

                                新功能

                                • insert 14 academic reference screenshots into 4 articles

                                其他

                                • - exercise-mood-cognition.html: 4 screenshots (BMJ meta, hippocampus, gut diversity, gut RCT)
                                • - puerarin.html: 3 screenshots (hangover, diabetes, brain protection)
                                • - gut-microbiota-testing.html: 2 screenshots (HMP, dysbiosis->immune disease)
                                • Screenshots in web/img/ref-screenshots/ are gitignored (kept locally only)

                                v1.0.603 (2026-07-28)

                                文档

                                • update PROJECT-OVERVIEW to v2.0 (2026-07-28)

                                其他

                                • 更新: LangGraph 前端集成/推广体系/富维度/辈分/文章系统/家庭会员/营养健康 状态

                                v1.0.602 (2026-07-28)

                                Bug 修复

                                • add mind/alert/active and mind/traditional/mirror to public paths

                                v1.0.601 (2026-07-28)

                                Bug 修复

                                • verify-password 400 error — replace broad /api/auth/ public path with explicit list

                                v1.0.600 (2026-07-28)

                                文档

                                • 数据移到连线标注 + 中文命名

                                v1.0.599 (2026-07-28)

                                文档

                                • 重构成长档案流程图 — 按阶段/分层/数据传递重绘

                                v1.0.598 (2026-07-28)

                                重构

                                • 按场景+角色重构测试用例,扩展至8角色27流程

                                v1.0.597 (2026-07-28)

                                其他

                                新功能

                                • update stroke risk factors section and screenshot plan
                                • remove read-complete button, add auto reading time tracking
                                • add report-reading-time API for cumulative reading tracking
                                • add article_id and updated_at to article_reading_records

                                v1.0.596 (2026-07-28)

                                Bug 修复

                                • empty purchasedIds causing NOT IN () SQL syntax error

                                v1.0.595 (2026-07-28)

                                Bug 修复

                                • empty purchasedIds causing NOT IN () SQL syntax error

                                v1.0.594 (2026-07-28)

                                Bug 修复

                                • 8 test failures — entity fixes + test param alignment

                                v1.0.593 (2026-07-28)

                                新功能

                                • 推荐活动卡片高度减半,布局更紧凑

                                v1.0.592 (2026-07-28)

                                新功能

                                • 添加浠艾福会员卡介绍PPT
                                • 科普文章嵌入参考文献截图(14篇健康科普嵌入配图)

                                v1.0.591 (2026-07-28)

                                新功能

                                • 行页面重构 - 能量沙盘+成员选择条+圈子卡片

                                其他

                                • - 家庭成员选择条添加能量值显示
                                • - 添加圈子卡片(我的圈子+发现推荐)
                                • - 删除章鱼图和导入联系人弹窗
                                • - 成员卡片显示能量分数

                                v1.0.590 (2026-07-28)

                                Bug 修复

                                • Product entity column mapping + test param fixes

                                v1.0.589 (2026-07-28)

                                Bug 修复

                                • add migrations 126-132 with ensureColumn for column alignment

                                v1.0.588 (2026-07-28)

                                Bug 修复

                                • add 9 missing tables (migrations 117-125) + fix JwtInterceptor familyId + fix test emotion childId

                                v1.0.587 (2026-07-28)

                                Bug 修复

                                • 商城升级提示文案通用化 - '开通家庭会员'改为'开通付费会员'

                                新功能

                                • index.vue 兼容 PREMIUM 等级 - 对比表四列 + 等级列表按钮
                                • upgrade.vue 支持 FAMILY + PREMIUM 等级切换
                                • plans.vue 动态加载会员等级 + FAQ 更新
                                • /api/membership/plans 使用 sys_config 价格 + 推荐标记
                                • MembershipService 支持 PREMIUM 等级

                                其他

                                • - createOrder() 新增 PREMIUM 定价分支,年起 ¥13,168/月起 ¥1,314
                                • - applyMemberDiscount() 新增 PREMIUM 折扣支持,从 sys_config member_discount_premium 读取

                                v1.0.586 (2026-07-27)

                                新功能

                                • 文章/商品/活动详情页增加分享功能 + 邀请码自动绑定

                                v1.0.585 (2026-07-27)

                                新功能

                                • Add invitation QR code modal to parent index page

                                v1.0.584 (2026-07-27)

                                测试

                                • fix 35+ flow-l1 test param issues (118→153 passed)

                                v1.0.583 (2026-07-27)

                                Bug 修复

                                • move migrations 105/106 into runMigrations() — they were in dead code migration102()

                                新功能

                                • redesign tab icons to match 五行沙盘 emoji themes

                                其他

                                • - 身(土): 🌏 globe with meridian and continent arcs
                                • - 智(金): ⚡ lightning bolt shape
                                • - 富(水): 💧 water drop with pointed top
                                • - 行(木): 🌿 leaf with stem and veins
                                • - 心(火): 🔥 flame with inner/outer layers
                                • All 81x81px, gray (#999) normal + element color active.

                                v1.0.582 (2026-07-27)

                                Bug 修复

                                • resolve P0-1/2/2b/3/5/6 test bugs + P0-4 DB migration for growth_records

                                v1.0.581 (2026-07-27)

                                Bug 修复

                                • migration 106 add growth_records missing columns (family_member_id/school info)

                                v1.0.580 (2026-07-27)

                                新功能

                                • 推荐阅读改为书册风格 ArticleBookshelf 组件

                                v1.0.579 (2026-07-27)

                                新功能

                                • redesign all 5 tab icons with consistent style (五维×五行)
                                • 扩展测试数据至五维全覆盖(15条记录)- 活动/文章/商品各3条,覆盖身智行心富五维 - SeedsController.java导入修复

                                其他

                                • and element-themed colors:
                                • - 身(土): circle, orange #FF8C42
                                • - 智(金): diamond, indigo #6366F1
                                • - 富(水): water drop, amber #F59E0B
                                • - 行(木): arrow up, emerald #10B981
                                • - 心(火): heart, pink #FF6B9D
                                • Normal = gray #999, Active = element color
                                • commit faedcc33 (temporary copies from tab-mind). The icons were
                                • corrupted in commit ac6e7040 where they were saved as base64-encoded
                                • text instead of binary PNG data.

                                Bug 修复

                                • restore tab-wisdom icons from earliest valid version (faedcc33)

                                v1.0.578 (2026-07-27)

                                其他

                                • Merge remote-tracking branch 'origin/cfclub'
                                • - SeedsController: minor fix
                                • - activity-detail pages: mobile experience upgrade
                                • - web articles: SEO & content updates across 25+ pages
                                • - CHANGELOG updates
                                • - Add migration 105: ensure products.min_quantity column exists
                                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                                • sync: 小红书内容更新 + opencode运维脚本
                                • base64-encoded text instead of binary PNG data, causing the
                                • wisdom (智) tab icon to not display in WeChat mini-program.
                                • - tab-wisdom.png: 10989 bytes base64 text -> 8239 bytes binary PNG
                                • - tab-wisdom-active.png: 8351 bytes base64 text -> 6261 bytes binary PNG
                                • Note: active icon decoded from truncated base64 (missing ~0.75 bytes
                                • of final scanline, imperceptible at 50x50)
                                • - 新增 SeedsController.java: POST /api/admin/seeds/init-test-data,需 admin 权限
                                • - 幂等执行: INSERT IGNORE 防止重复插入
                                • - 已回滚 DatabaseInitializer.java 中的临时种子数据代码
                                • 等过强表述,改为炎症是多因素中的重要一环。
                                • 已修改:
                                • - diabetes.html: meta + 尾部 CTA
                                • - alzheimer.html: meta + og + hero + 因 section + 核心结论
                                • - cardio-cerebro.html: meta + hero + 病 section + 因 section 标题 + 损伤链描述
                                • - osteoporosis.html: 因 section intro + 核心证据框 + 主动健康五步
                                • - metabolic-syndrome.html: meta + og + hero
                                • - cancer.html: 新增免疫三大系统 section(之前未提交)
                                • - gut-microbiota-testing.html: 菌株速查表迁移至 probiotics-science(之前未提交)
                                • 已有 DatabaseInitializer 迁移创建但 schema.sql 缺失,初始化时不会自动建表
                                • (item.id || item.circleId),改为 getCircleKey(item) 方法调用。
                                • pages/action/index.vue (2处) + pages/discover/circles.vue (2处)
                                • 同时更新 AGENTS.md / README.md 加入规范
                                • 会触发'Syntax error in text'解析错误。
                                • 修复两处:
                                • - A6 节点:'⚙️ PDF解析引擎 (Stage 1)' → 包裹双引号
                                • - A9 节点:'📱 创建成长档案 (Stage 2) /create-from-upload' → 包裹双引号
                                • 包裹引号后Mermaid将整个字符串视为字面文本,跳过括号解析。
                                • rename: 三高六高 → 从三高到六高 (title, meta, h1, cross-references)
                                • - Backend: HealthIndicator add collectionDate field + migration 103
                                • - Backend: parsePreview supports image upload (type=image)
                                • - Backend: createReport indicator dedup by (category|indicatorName)
                                • - Backend: ParsedReportPayload.Indicator add collectionDate
                                • - pages/discover/circles.vue: 新页面,含我的圈子+推荐列表、CircleCard/CircleDetail 组件复用、加入/退出功能
                                • - action/index.vue: goDiscoverCircles 改为 navigateTo 跳转到新页面
                                • web: add probiotics/prebiotics science articles + update sales index
                                • - New: probiotics-science.html (益生菌科学解读)
                                • - Update: prebiotics-guide.html — removed science sections, kept buying
                                • content, added cross-links to new science article
                                • - Update: probiotics-guide.html — removed definition section, kept buying
                                • content, renumbered sections, added cross-links to new science article
                                • - Update: sales/index.html — nutrition section now 3 articles:
                                • turmeric + prebiotics-science + probiotics-science
                                • - Fix: osteoporosis.html — updated citation ref-3 from Physiological
                                • Reviews 2023 to Bone Research 2026 (Wang et al.), corrected image path
                                • - cfc-frontend/pages/action/index.vue: 移除 OctopusGraph 组件, 新增「我的圈子+发现推荐」区块
                                • - docs: 设计文档 + 实现计划
                                • never actually executed inside runMigrations(), so the production DB
                                • was missing the column. This adds the call at the end of runMigrations()
                                • so it runs on next startup.
                                • - sales/*: QR code ?share=xxx referral system on index + 3 sales pages
                                • - articles/gut-microbiota-testing.html + metabolic-syndrome.html: new articles
                                • - articles/*: various health article updates (alzheimer, cancer, cardio, diabetes, etc.)
                                • - img/products/: 4 Enagic product images; img/cert/: certification images
                                • - cfc-frontend: badge.vue 增加家庭勋章排行展示
                                • - cfc-frontend: rewards.vue 增加勋章墙导航入口
                                • - 节点形状按身份区分 (圆角矩形/圆形/菱形)
                                • - 点自己跳转维护页 (原为添加成员)
                                • - 触摸自身显示⚙提示
                                • - child-index: 新增'自己出题'快速入口
                                • 后端 Java 实现:
                                • - BacteriaFoodMapping: 菌属-食材映射表 KB,启动时加载 22 个核心菌属
                                • - BeijingNutritionService: 推荐引擎,支持知识库和数据库两种模式
                                • - BeijingNutritionController: 5 个 REST 端点 (save/recommend/recommend-custom/kb-query/kb-list/kb-info)
                                • - BeijingNutritionDTO: 请求/响应 DTO
                                • 文档与知识库:
                                • - 报告指标知识库: 从 14 类扩展至 28 类(GMHI/菌群表型/抗炎/免疫/糖脂代谢等)
                                • - 菌属-食材映射表: 22 个核心菌属的促进/抑制食材清单 + 科学引用
                                • - 北京报告采集框架: PDF 指纹识别 + 提取流水线架构设计
                                • - FMT 前后对比分析文档: 移植前后菌群变化与营养建议
                                • - 添加迁移完成后验证查询,通过information_schema确认列是否存在
                                • - 若列缺失会在启动日志中打出error,替代原来静默忽略
                                • fortune_level_text、fortune_description、mood_score、mood_emoji、
                                • mood_text、weekly_tip列,对齐FamilyFortune实体。
                                • 修复MindFortuneController.getFamilyFortune()调用selectByFamilyAndDate
                                • 时报Unknown column 'fortune_level_text'错误。
                                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                                • - Add unified auth helper (helpers/auth.js) supporting all 8 roles
                                • - Add utils.js with API assertion utilities and fixtures.js test data factory
                                • - Add db.js globalSetup for automatic database reset before test runs
                                • - Update playwright.config.js: globalSetup, increased timeout, retries, screenshots/trace on failure, mobile viewport project
                                • - Restructure tests into roles/ directory:
                                • - roles/parent/: family-management, wish-management, assessment-order, energy-dashboard, points (5 files)
                                • - roles/child/: login, daily-checkin, mini-games (3 files)
                                • - roles/teacher/: login, family-binding (2 files)
                                • - roles/admin/: login, article/workflow, vendor/management (3 files)
                                • - Add design spec and implementation plan documents
                                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                                • matches SPEC color mapping: mind=#FF6B9D, wisdom=#6366F1
                                • - ArticleService.publishByUser: compute dimensionWeights JSON
                                • (equal distribution, e.g. 3 dims → {"body":34,"mind":33,"wisdom":33})
                                • enables dimension-aware query (COALESCE(JSON_EXTRACT)) for user posts
                                • - article-detail.vue: parseDimensions reads real weights from
                                • article.dimensionWeights JSON, falls back to equal distribution
                                • Also fixed mind/wisdom color mapping in dimMap to match SPEC
                                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                                • - article-detail.vue: call recordArticleRead(id,durationSeconds) on 阅读完成 click
                                • → backend creates completed Task, awards points, calls EnergyService.awardEnergy
                                • → shows earned toast / already-completed / below-threshold feedback
                                • - article-center/index.vue: fix res.code === 0 → 200 (backend Result.success = code 200)
                                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                                • - FamilyUserController, InteractionLogController
                                • - RelationshipQuestionnaireController, FamilyMembersController
                                • - RelationshipQualityController, AuthController
                                • - DanAssessmentExecutionController (含 @GetMapping→@PostMapping 修复)
                                • - AdminSettlementController: 修复Result导入路径+@PostMapping+删除重复SettlementStats
                                • - pom.xml: 删除重复的PDFBox依赖

                                新功能

                                • admin product min_quantity filter, activity detail mobile adaptation, web articles & changelog updates
                                • 添加独立测试数据初始化脚本和接口
                                • refactor upload to 2 methods (file/photo), add collectionDate, indicator dedup, image support
                                • 创建独立圈子发现页 /pages/discover/circles
                                • 行首页 OctopusGraph → 圈子区块替换
                                • 添加 carol.png 和 hxy.png 头像资源
                                • add Enagic product intro with images, QR referral tracking, gut/meta articles, and update existing health articles
                                • 勋章管理后台页面 + 家庭排名 + 勋章墙导航
                                • 家庭关系图视觉重编码 (信任/沟通/亲密度) + 身份形状 + 自导航维护页
                                • 北京菌群报告采集与精准营养推荐
                                • add 3 buying guides - water purifier, prebiotics, probiotics
                                • add ERW/HRW gut microbiome section with 3 new references (Tamaoki 2021, Xie 2022, systematic review 2025)

                                Bug 修复

                                • year_month reserved word quoting + products.min_quantity migration
                                • 修复 stats-report-flow.md Mermaid 虚线连接语法错误(-:- → -.-)
                                • 修复 promotion_tier 表列名映射——teamSize1st→team_size_1st
                                • decode tab-wisdom PNG icons from base64 to binary
                                • 梳理慢性病文章因果措辞——炎症不再作为唯一病因
                                • schema.sql 补充 4 个 butler 表定义
                                • key 表达式改为方法调用,修复小程序非 H5 平台编译警告
                                • 修复growth-record-flow.md Mermaid语法错误
                                • remove broken image refs in gut-microbiota-testing.html
                                • replace {param} with :param in mermaid node text to fix syntax error in v11.12.1
                                • replace bare
                                  with
                                  in mermaid flow diagrams to fix syntax error in v11.12.1
                                • goDiscoverCircles 跳转到 discover 首页(原路径 /pages/discover/circles 不存在)
                                • add products.min_quantity migration to runMigrations()
                                • remove invalid shape:box from all mermaid classDef
                                • update article count from 2→1 after turmeric article removal
                                • 报告日期/综合评分仅文件上传后显示,ping文件Ping重置日期评分
                                • 改进ensureColumn错误处理+添加迁移104/103验证日志
                                • correct activity flow diagram with proper business rules
                                • 补充缺失的default-avatar.png,统一路径
                                • tianpan_daily_fortune表添加8个缺失字段修复Unknown column错误
                                • prioritize K8 (8-plate, 37900元), fix 20-year cost analysis, update certifications placeholder
                                • DimensionProductList activeChildId为空时跳过渲染
                                • 推荐阅读数据补充dimensionWeights和likes字段
                                • P2/P3 article fixes
                                • 快捷入口对齐action页原版样式和funcList
                                • 行TabBar章鱼图+联系人导入,顺序对齐原计划
                                • unify 活性氢→分子氢 terminology across sales pages and infographic
                                • unify terminology - 活性氢→分子氢, 磷脂配比→天然基底油, refine descriptions
                                • remove dead link to deleted turmeric_rewritten.html
                                • 行TabBar登录态数据加载对齐action页(孩子/能量/任务/活动/商品/文章)
                                • products表添加min_quantity列(迁移103)+ schema.sql同步
                                • restore article reading timer + recordRead积分发放 + fix response code
                                • recapture UKPDS 16 and DPP study reference screenshots
                                • update microplastic and tap-water sales pages
                                • update article content
                                • update WHO PDF link to IRIS archive, restore ref-18 CAS card
                                • 去掉行TabBar页的redirectTo,登录态内容内联渲染,保持底签可见
                                • 文章编辑页内容过长时无法滚动到底部

                                重构

                                • move strain table from gut-microbiota to probiotics-science, add cross-links and new target audience cards
                                • 重构10个控制器移除HttpServletRequest手动userId获取改用@RequestAttribute注入

                                文档

                                • PROJECT-OVERVIEW v1.9 - E2E Phase 1 docs + resolve merge conflicts

                                测试

                                • Phase1 - infrastructure + core roles restructuring

                                v1.0.577 (2026-07-27)

                                Bug 修复

                                • 修复 stats-report-flow.md Mermaid 虚线连接语法错误(-:- → -.-)

                                v1.0.575 (2026-07-27)

                                Bug 修复

                                • decode tab-wisdom PNG icons from base64 to binary

                                其他

                                • base64-encoded text instead of binary PNG data, causing the
                                • wisdom (智) tab icon to not display in WeChat mini-program.
                                • - tab-wisdom.png: 10989 bytes base64 text -> 8239 bytes binary PNG
                                • - tab-wisdom-active.png: 8351 bytes base64 text -> 6261 bytes binary PNG
                                • Note: active icon decoded from truncated base64 (missing ~0.75 bytes
                                • of final scanline, imperceptible at 50x50)
                                • - 新增 SeedsController.java: POST /api/admin/seeds/init-test-data,需 admin 权限
                                • - 幂等执行: INSERT IGNORE 防止重复插入
                                • - 已回滚 DatabaseInitializer.java 中的临时种子数据代码

                                新功能

                                • 添加独立测试数据初始化脚本和接口

                                v1.0.574 (2026-07-27)

                                Bug 修复

                                • decode tab-wisdom PNG icons from base64 to binary

                                其他

                                • base64-encoded text instead of binary PNG data, causing the
                                • wisdom (智) tab icon to not display in WeChat mini-program.
                                • - tab-wisdom.png: 10989 bytes base64 text -> 8239 bytes binary PNG
                                • - tab-wisdom-active.png: 8351 bytes base64 text -> 6261 bytes binary PNG
                                • Note: active icon decoded from truncated base64 (missing ~0.75 bytes
                                • of final scanline, imperceptible at 50x50)

                                v1.0.573 (2026-07-27)

                                新功能

                                • 添加独立测试数据初始化脚本和接口

                                其他

                                • - 新增 SeedsController.java: POST /api/admin/seeds/init-test-data,需 admin 权限
                                • - 幂等执行: INSERT IGNORE 防止重复插入
                                • - 已回滚 DatabaseInitializer.java 中的临时种子数据代码

                                v1.0.572 (2026-07-27)

                                Bug 修复

                                • 梳理慢性病文章因果措辞——炎症不再作为唯一病因

                                其他

                                • 等过强表述,改为炎症是多因素中的重要一环。
                                • 已修改:
                                • - diabetes.html: meta + 尾部 CTA
                                • - alzheimer.html: meta + og + hero + 因 section + 核心结论
                                • - cardio-cerebro.html: meta + hero + 病 section + 因 section 标题 + 损伤链描述
                                • - osteoporosis.html: 因 section intro + 核心证据框 + 主动健康五步
                                • - metabolic-syndrome.html: meta + og + hero
                                • - cancer.html: 新增免疫三大系统 section(之前未提交)
                                • - gut-microbiota-testing.html: 菌株速查表迁移至 probiotics-science(之前未提交)

                                v1.0.571 (2026-07-27)

                                Bug 修复

                                • schema.sql 补充 4 个 butler 表定义

                                其他

                                • 已有 DatabaseInitializer 迁移创建但 schema.sql 缺失,初始化时不会自动建表

                                v1.0.570 (2026-07-27)

                                Bug 修复

                                • key 表达式改为方法调用,修复小程序非 H5 平台编译警告

                                其他

                                • (item.id || item.circleId),改为 getCircleKey(item) 方法调用。
                                • pages/action/index.vue (2处) + pages/discover/circles.vue (2处)
                                • 同时更新 AGENTS.md / README.md 加入规范

                                v1.0.569 (2026-07-27)

                                Bug 修复

                                • 修复growth-record-flow.md Mermaid语法错误

                                其他

                                • 会触发'Syntax error in text'解析错误。
                                • 修复两处:
                                • - A6 节点:'⚙️ PDF解析引擎 (Stage 1)' → 包裹双引号
                                • - A9 节点:'📱 创建成长档案 (Stage 2) /create-from-upload' → 包裹双引号
                                • 包裹引号后Mermaid将整个字符串视为字面文本,跳过括号解析。
                                • rename: 三高六高 → 从三高到六高 (title, meta, h1, cross-references)

                                v1.0.568 (2026-07-27)

                                重构

                                • move strain table from gut-microbiota to probiotics-science, add cross-links and new target audience cards

                                Bug 修复

                                • remove broken image refs in gut-microbiota-testing.html

                                新功能

                                • refactor upload to 2 methods (file/photo), add collectionDate, indicator dedup, image support

                                其他

                                • - Backend: HealthIndicator add collectionDate field + migration 103
                                • - Backend: parsePreview supports image upload (type=image)
                                • - Backend: createReport indicator dedup by (category|indicatorName)
                                • - Backend: ParsedReportPayload.Indicator add collectionDate

                                v1.0.567 (2026-07-26)

                                Bug 修复

                                • replace {param} with :param in mermaid node text to fix syntax error in v11.12.1

                                新功能

                                • 创建独立圈子发现页 /pages/discover/circles

                                其他

                                • - pages/discover/circles.vue: 新页面,含我的圈子+推荐列表、CircleCard/CircleDetail 组件复用、加入/退出功能
                                • - action/index.vue: goDiscoverCircles 改为 navigateTo 跳转到新页面

                                v1.0.566 (2026-07-26)

                                Bug 修复

                                • replace bare
                                  with
                                  in mermaid flow diagrams to fix syntax error in v11.12.1

                                v1.0.565 (2026-07-26)

                                Bug 修复

                                • goDiscoverCircles 跳转到 discover 首页(原路径 /pages/discover/circles 不存在)

                                v1.0.564 (2026-07-26)

                                其他

                                • web: add probiotics/prebiotics science articles + update sales index
                                • - New: probiotics-science.html (益生菌科学解读)
                                • - Update: prebiotics-guide.html — removed science sections, kept buying
                                • content, added cross-links to new science article
                                • - Update: probiotics-guide.html — removed definition section, kept buying
                                • content, renumbered sections, added cross-links to new science article
                                • - Update: sales/index.html — nutrition section now 3 articles:
                                • turmeric + prebiotics-science + probiotics-science
                                • - Fix: osteoporosis.html — updated citation ref-3 from Physiological
                                • Reviews 2023 to Bone Research 2026 (Wang et al.), corrected image path

                                v1.0.563 (2026-07-26)

                                新功能

                                • 行首页 OctopusGraph → 圈子区块替换

                                其他

                                • - cfc-frontend/pages/action/index.vue: 移除 OctopusGraph 组件, 新增「我的圈子+发现推荐」区块
                                • - docs: 设计文档 + 实现计划

                                v1.0.562 (2026-07-26)

                                Bug 修复

                                • add products.min_quantity migration to runMigrations()

                                其他

                                • never actually executed inside runMigrations(), so the production DB
                                • was missing the column. This adds the call at the end of runMigrations()
                                • so it runs on next startup.

                                v1.0.561 (2026-07-26)

                                新功能

                                • 添加 carol.png 和 hxy.png 头像资源

                                v1.0.560 (2026-07-26)

                                Bug 修复

                                • remove invalid shape:box from all mermaid classDef

                                v1.0.559 (2026-07-26)

                                Bug 修复

                                • update article count from 2→1 after turmeric article removal

                                新功能

                                • add Enagic product intro with images, QR referral tracking, gut/meta articles, and update existing health articles

                                其他

                                • - sales/*: QR code ?share=xxx referral system on index + 3 sales pages
                                • - articles/gut-microbiota-testing.html + metabolic-syndrome.html: new articles
                                • - articles/*: various health article updates (alzheimer, cancer, cardio, diabetes, etc.)
                                • - img/products/: 4 Enagic product images; img/cert/: certification images

                                v1.0.558 (2026-07-26)

                                新功能

                                • 勋章管理后台页面 + 家庭排名 + 勋章墙导航

                                其他

                                • - cfc-frontend: badge.vue 增加家庭勋章排行展示
                                • - cfc-frontend: rewards.vue 增加勋章墙导航入口

                                v1.0.557 (2026-07-26)

                                新功能

                                • 家庭关系图视觉重编码 (信任/沟通/亲密度) + 身份形状 + 自导航维护页

                                其他

                                • - 节点形状按身份区分 (圆角矩形/圆形/菱形)
                                • - 点自己跳转维护页 (原为添加成员)
                                • - 触摸自身显示⚙提示
                                • - child-index: 新增'自己出题'快速入口

                                v1.0.556 (2026-07-26)

                                新功能

                                • 北京菌群报告采集与精准营养推荐

                                其他

                                • 后端 Java 实现:
                                • - BacteriaFoodMapping: 菌属-食材映射表 KB,启动时加载 22 个核心菌属
                                • - BeijingNutritionService: 推荐引擎,支持知识库和数据库两种模式
                                • - BeijingNutritionController: 5 个 REST 端点 (save/recommend/recommend-custom/kb-query/kb-list/kb-info)
                                • - BeijingNutritionDTO: 请求/响应 DTO
                                • 文档与知识库:
                                • - 报告指标知识库: 从 14 类扩展至 28 类(GMHI/菌群表型/抗炎/免疫/糖脂代谢等)
                                • - 菌属-食材映射表: 22 个核心菌属的促进/抑制食材清单 + 科学引用
                                • - 北京报告采集框架: PDF 指纹识别 + 提取流水线架构设计
                                • - FMT 前后对比分析文档: 移植前后菌群变化与营养建议

                                Bug 修复

                                • 报告日期/综合评分仅文件上传后显示,ping文件Ping重置日期评分

                                v1.0.555 (2026-07-26)

                                Bug 修复

                                • 改进ensureColumn错误处理+添加迁移104/103验证日志

                                其他

                                • - 添加迁移完成后验证查询,通过information_schema确认列是否存在
                                • - 若列缺失会在启动日志中打出error,替代原来静默忽略

                                v1.0.554 (2026-07-26)

                                Bug 修复

                                • correct activity flow diagram with proper business rules

                                v1.0.553 (2026-07-26)

                                Bug 修复

                                • 补充缺失的default-avatar.png,统一路径

                                v1.0.552 (2026-07-26)

                                Bug 修复

                                • tianpan_daily_fortune表添加8个缺失字段修复Unknown column错误
                                • prioritize K8 (8-plate, 37900元), fix 20-year cost analysis, update certifications placeholder

                                其他

                                • fortune_level_text、fortune_description、mood_score、mood_emoji、
                                • mood_text、weekly_tip列,对齐FamilyFortune实体。
                                • 修复MindFortuneController.getFamilyFortune()调用selectByFamilyAndDate
                                • 时报Unknown column 'fortune_level_text'错误。
                                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai

                                v1.0.551 (2026-07-26)

                                文档

                                • PROJECT-OVERVIEW v1.9 - E2E Phase 1 docs + resolve merge conflicts

                                v1.0.550 (2026-07-26)

                                Bug 修复

                                • DimensionProductList activeChildId为空时跳过渲染

                                v1.0.549 (2026-07-26)

                                测试

                                • Phase1 - infrastructure + core roles restructuring

                                其他

                                • - Add unified auth helper (helpers/auth.js) supporting all 8 roles
                                • - Add utils.js with API assertion utilities and fixtures.js test data factory
                                • - Add db.js globalSetup for automatic database reset before test runs
                                • - Update playwright.config.js: globalSetup, increased timeout, retries, screenshots/trace on failure, mobile viewport project
                                • - Restructure tests into roles/ directory:
                                • - roles/parent/: family-management, wish-management, assessment-order, energy-dashboard, points (5 files)
                                • - roles/child/: login, daily-checkin, mini-games (3 files)
                                • - roles/teacher/: login, family-binding (2 files)
                                • - roles/admin/: login, article/workflow, vendor/management (3 files)
                                • - Add design spec and implementation plan documents

                                v1.0.548 (2026-07-25)

                                新功能

                                • add 3 buying guides - water purifier, prebiotics, probiotics

                                其他

                                Bug 修复

                                • 推荐阅读数据补充dimensionWeights和likes字段

                                v1.0.547 (2026-07-25)

                                Bug 修复

                                • P2/P3 article fixes

                                其他

                                • matches SPEC color mapping: mind=#FF6B9D, wisdom=#6366F1
                                • - ArticleService.publishByUser: compute dimensionWeights JSON
                                • (equal distribution, e.g. 3 dims → {"body":34,"mind":33,"wisdom":33})
                                • enables dimension-aware query (COALESCE(JSON_EXTRACT)) for user posts
                                • - article-detail.vue: parseDimensions reads real weights from
                                • article.dimensionWeights JSON, falls back to equal distribution
                                • Also fixed mind/wisdom color mapping in dimMap to match SPEC

                                v1.0.546 (2026-07-25)

                                Bug 修复

                                • 快捷入口对齐action页原版样式和funcList

                                v1.0.545 (2026-07-25)

                                Bug 修复

                                • 行TabBar章鱼图+联系人导入,顺序对齐原计划

                                v1.0.544 (2026-07-25)

                                Bug 修复

                                • unify 活性氢→分子氢 terminology across sales pages and infographic
                                • unify terminology - 活性氢→分子氢, 磷脂配比→天然基底油, refine descriptions

                                其他

                                新功能

                                • add ERW/HRW gut microbiome section with 3 new references (Tamaoki 2021, Xie 2022, systematic review 2025)

                                v1.0.543 (2026-07-25)

                                Bug 修复

                                • remove dead link to deleted turmeric_rewritten.html

                                其他

                                v1.0.542 (2026-07-25)

                                Bug 修复

                                • 行TabBar登录态数据加载对齐action页(孩子/能量/任务/活动/商品/文章)

                                v1.0.541 (2026-07-25)

                                Bug 修复

                                • products表添加min_quantity列(迁移103)+ schema.sql同步

                                v1.0.540 (2026-07-25)

                                Bug 修复

                                • restore article reading timer + recordRead积分发放 + fix response code

                                其他

                                • - article-detail.vue: call recordArticleRead(id,durationSeconds) on 阅读完成 click
                                • → backend creates completed Task, awards points, calls EnergyService.awardEnergy
                                • → shows earned toast / already-completed / below-threshold feedback
                                • - article-center/index.vue: fix res.code === 0 → 200 (backend Result.success = code 200)

                                v1.0.539 (2026-07-25)

                                Bug 修复

                                • recapture UKPDS 16 and DPP study reference screenshots
                                • update microplastic and tap-water sales pages
                                • update article content
                                • update WHO PDF link to IRIS archive, restore ref-18 CAS card

                                其他

                                v1.0.538 (2026-07-25)

                                Bug 修复

                                • 去掉行TabBar页的redirectTo,登录态内容内联渲染,保持底签可见

                                v1.0.536 (2026-07-25)

                                重构

                                • 重构10个控制器移除HttpServletRequest手动userId获取改用@RequestAttribute注入

                                其他

                                • - FamilyUserController, InteractionLogController
                                • - RelationshipQuestionnaireController, FamilyMembersController
                                • - RelationshipQualityController, AuthController
                                • - DanAssessmentExecutionController (含 @GetMapping→@PostMapping 修复)
                                • - AdminSettlementController: 修复Result导入路径+@PostMapping+删除重复SettlementStats
                                • - pom.xml: 删除重复的PDFBox依赖

                                v1.0.535 (2026-07-25)

                                Bug 修复

                                • correct gut-microbiome-damage.jpg path in cancer.html and diabetes.html feat: add missing reference screenshots (turmeric marketplace, nature figures)

                                v1.0.534 (2026-07-25)

                                Bug 修复

                                • 修复 createMultiItem 中 minQuantity 产品级校验注入位置错误

                                其他

                                v1.0.533 (2026-07-25)

                                新功能

                                • ProductEdit 添加最小购买数量(minQuantity)输入框
                                • minQuantity DTO 字段映射 + 多商品下单产品级校验

                                其他

                                v1.0.532 (2026-07-25)

                                新功能

                                • 2x2 grid layout + annotation overlays for 4 clinical-evidence screenshots

                                v1.0.531 (2026-07-25)

                                其他

                                • clean: remove deprecated turmeric_rewritten.html placeholder

                                v1.0.530 (2026-07-25)

                                重构

                                • 更新添加孩子入口导航至家庭成员页面
                                • 废弃独立添加孩子页面,重定向至家庭成员
                                • 年龄优先判定孩子角色

                                其他

                                新功能

                                • 切换孩子前检查家庭成员中是否有child角色
                                • 微信登录自动获取手机号

                                v1.0.529 (2026-07-25)

                                Bug 修复

                                • move Hallmarks screenshot to content area, fix container nesting

                                v1.0.528 (2026-07-25)

                                其他

                                • - enagic-turmeric.html: 新增Enagic UKON Sigma产品科普文章
                                • - tap-water-pollution.html: 恢复未提交修改
                                • - turmeric.html: 恢复未提交修改

                                v1.0.528 (2026-07-25)

                                新功能

                                • 新增index.html目录首页+AGENTS.md更新
                                • CA Cancer Statistics 2022截图标注替换(Sung 2020→Bray 2024); 免疫系统三大功效全重写为三栏卡片+癌症数据关联
                                • 心脑血管文章多项增强——牙痛心梗症状/比目鱼肌锻炼/个体化干预/菌群检测评估与追踪+7张来源截图
                                • 新增心脑血管文章误诊板块(沉默心梗/女性误诊/卒中漏诊/青年卒中),插入CANTOS和肠漏引用截图

                                其他

                                • - 销售文章(3篇): sales/tap-water/microplastic
                                • - 慢性病系列(6篇): cancer/cardio-cerebro/diabetes/osteoporosis/alzheimer/uric-acid
                                • - 肠道与免疫(4篇): gut-microbiome-immune + 3篇FAQ
                                • - 饮水安全(2篇): tap-water-pollution/plastic-health
                                • - 营养与抗炎(3篇): turmeric/enagic-turmeric/turmeric_rewritten
                                • - 快速跳转导航条 + 各分类颜色编码卡片
                                • - AGENTS.md更新目录结构,加入index.html
                                • - cancer_ref_bicarb.png: 新增Cancer Res 2009截图(Robey),标注碳酸氢钠提高肿瘤pH/抑制自发转移/减少转移灶
                                • - cancer_ref_molcancer.png: 新增Mol Cancer 2016截图(Faes),标注碳酸氢钠单药抑制54.4%/联合雷帕霉素98.3%
                                • - cancer.html: 酸性微环境模块后插入两组证据框,链接临床转化意义声明
                                • - 新增酸性肿瘤微环境模块: Warburg效应→pH6.5-6.8→免疫抑制/侵袭/耐药
                                • - 连接还原水: 碱性电解水缓冲瘤内pH的辅助预防逻辑
                                • - 姜黄素补充: NF-κB抑制机制+生物利用度限制+增效方案
                                • - Step 3新增第⑦项: 酸碱平衡调控(还原水)
                                • - 文章叙事链重构: 免疫监视失败→酸性土壤→炎症供能→肠漏源头→抗炎闭环
                                • - 证据框引用更新: Sung 2020→Bray 2024, doi更新, 新增2050预测数据
                                • - 免疫三大功能: 从简单列表升级为三栏卡片(免疫防御/自稳/监视), 每栏含机制+异常+癌症关联
                                • - 新增三点核心结论(免疫监视失败=癌症)
                                • - ref-5引用信息补全: 被引42,510次, 1/5患癌/1/9男1/12女数据
                                • 自来水文章截图替换+标注:4张源论文页面截图(ES&T/JEMA/Ecotox/IntJEnvironHealth)加红色标注框和中文翻译; Enagic pH档位更新为7档精准方案(2.5消毒~11.5去农残); 外出就餐新增消毒水建议; 修正ref-9引用期刊名
                                • 截图标注+翻译:7张心脑血管引用截图加红色标注框和中文翻译; 修复Frontiers引用作者名和DOI
                                • - cancer.html: 4处证据块添加img.ref-shot引用截图
                                • - diabetes.html: 4处证据块添加img.ref-shot引用截图
                                • - osteoporosis.html: 3处证据块添加img.ref-shot引用截图

                                文档

                                • 创建AGENTS.md销售文章目录+交叉链接审计

                                重构

                                • 替换并新增证据截图(CA Cancer/Bicarb/Mol Cancer)
                                • 精简症状识别表(+酸性微环境+抗炎闭环)

                                Bug 修复

                                • 修复cardio-cerebro.html中ref-screenshot图片路径(/img→../img)
                                • 替换cancer_ref3截图源,补全三篇文章ref-shot img标签

                                v1.0.527 (2026-07-24)

                                新功能

                                • add ArticleBookshelf book-style recommendation component

                                其他

                                • dimension-based color gradients, magazine spread overlay on tap
                                • - Integrated into article-center/index.vue via getFeaturedArticles API
                                • - Follows uni.scss design tokens, Vue 2 compatible (no optional chaining,
                                • flexbox layout)
                                • - goExplore() navigation stub to /pages/article-center/article-explore

                                v1.0.526 (2026-07-24)

                                Bug 修复

                                • 恢复行首页redirectTo;修复CircleRanking WXML编译错误;新增plans占位页

                                v1.0.525 (2026-07-24)

                                新功能

                                • 手机自适应扩展 — Dashboard 2列 + 表格滚动 + 表单堆叠

                                v1.0.524 (2026-07-24)

                                文档

                                • PROJECT-OVERVIEW v1.8 - 健康维度重构全完成(Tier2 VOICE/PHOTO + canvas雷达图),商品规格最小购买数限制已实施

                                v1.0.523 (2026-07-24)

                                文档

                                • PROJECT-OVERVIEW - 添加管理后台手机自适应设计文档和实施计划索引

                                v1.0.522 (2026-07-24)

                                新功能

                                • 管理后台手机自适应 — 响应式侧边栏折叠 + 布局优化

                                其他

                                • - 768px 以下侧边栏折叠,汉堡按钮控制展开/收起
                                • - 侧边栏以 fixed overlay 方式滑入/滑出,配合遮罩层
                                • - 路由切换自动关闭移动端侧边栏
                                • - window.resize 监听自动适配桌面/移动端
                                • Login.vue:
                                • - 480px 以下表单卡片全屏展示
                                • 全局 CSS:
                                • - 移动端 padding 缩小,表格字号调小
                                • - PROJECT-OVERVIEW v1.4 -> v1.6 冲突解决(取远程版本)
                                • - 废弃设计文档同步移至 backup/
                                • - Phase 3/4 状态修正:文章系统已上线,成长档案已完成
                                • - 文章发布审核工作流、维度知识库、菌群报告 -> ✅ 已实施
                                • - 家庭关系图修复 -> ✅ 已修复
                                • - 公众号内容发布Dify工作流 -> 🔄 已废弃
                                • - 确定性PPT设计 -> 移至 backup/
                                • - 之前声明为已废弃但未物理移动的10个文件 -> 同步移至 backup/

                                文档

                                • docs:
                                • PROJECT-OVERVIEW v1.4 - Phase 5全栈完成 + 文档审计同步

                                v1.0.521 (2026-07-24)

                                新功能

                                • 完善7维健康模型 - Tier2 VOICE/PHOTO支持, canvas雷达图, 数据源表迁移

                                文档

                                • PROJECT-OVERVIEW - 健康维度重构状态更新为后端框架已实现

                                v1.0.520 (2026-07-24)

                                其他

                                • 优化DAN测评流程

                                v1.0.519 (2026-07-24)

                                Bug 修复

                                • 行首页登录后保持TabBar;家庭挑战任务移至身页面

                                v1.0.518 (2026-07-24)

                                Bug 修复

                                • 用evidence-inline替换cancer/diabetes/osteoporosis断链截图

                                其他

                                • - diabetes.html: 4个 ref-shot → evidence-inline引用块
                                • - osteoporosis.html: 3个 ref-shot → evidence-inline引用块+CSS
                                • - footer.js: 增加子目录路径自适应,logo和链接自动添加../前缀

                                v1.0.517 (2026-07-24)

                                其他

                                • 新增规范
                                • 新增规范
                                • 新增规范
                                • 新增规范
                                • 1、用户预约测评后,小程序端可以看到规划师
                                • 1、用户预约测评后,小程序端可以看到规划师

                                v1.0.516 (2026-07-24)

                                文档

                                • PROJECT-OVERVIEW v1.7 - 同步富维度/文章发布/权限系统完成状态

                                v1.0.515 (2026-07-24)

                                新功能

                                • 商品规格最小购买数限制(minQuantity字段 + 订单校验)

                                其他

                                • schema.sql: 补充 product_skus 建表语句(含 min_quantity 列)
                                • DatabaseInitializer: runMigration101() 定义(添加 min_quantity 列)
                                • ProductOrderService.createMultiItem(): SKU 级别最小购买数量校验

                                v1.0.514 (2026-07-24)

                                Bug 修复

                                • 添加真实DOI参考文献到3篇geo-faq文章,修复导航链接路径
                                • 为8篇独立文章补充footer CSS样式

                                其他

                                • - geo-faq-2-attention: 7条引用(血清素/肠脑轴/ADHD菌群/人工色素等)
                                • - geo-faq-3-immunity: 5条引用(益生菌/维生素D/儿童感冒次数等)
                                • - sales: 添加科普文章交叉链接
                                • - 所有nav链接修复为正确的相对路径(../index.html)
                                • 导致.site-footer无样式渲染。补充完整footer CSS适配各文章配色:
                                • - 使用 var(--bg-dark, #1a1a3a) 确保 footer 背景自动适配已定义--bg-dark的文章
                                • - 使用 var(--accent, #27ae60) 保持 hover/logo-tag 色与文章主题一致
                                • - 全文覆盖:.site-footer, .footer-inner, .footer-brand, .footer-links,
                                • .footer-col, .footer-contact, .footer-bottom, .footer-logo-img, .footer-legal
                                • 受影响文件:uric-acid, plastic-health, diabetes, cancer, cardio-cerebro,
                                • tap-water-pollution, turmeric, osteoporosis
                                • geo-faq三个文章已链接主站../css/style.css,无需内嵌footer样式。

                                v1.0.513 (2026-07-24)

                                Bug 修复

                                • resolve subpackage path conflict in pages.json
                                • fix encoding corruption from directory rename and restore UTF-8
                                • Fix:
                                • rename pages/index to pages/home and update all references
                                • fix 405 POST→GET redirect, RecommendedFeed items ref, and unhandled rejections

                                其他

                                • - pages/index-home/index.vue (main package TabBar home page)
                                • - pages/home-pages/ (subpackage for parent-index, child-index, member-home-detail)
                                • - Update all navigation URLs to use correct paths
                                • - Fix /pages/home-index/index -> /pages/index-home/index across 19 files
                                • corrupting Chinese characters in 230+ files, causing Unterminated string errors.
                                • - Restore all files from e8fd4d05~1 (pre-corruption) via git checkout
                                • - Re-apply directory rename (pages/index -> pages/home)
                                • - Re-apply path replacements using Python with explicit UTF-8 encoding
                                • - Fix tab icon references (tab-home -> tab-action) in custom-tab-bar
                                • - Fix historical encoding issue in pages/games/1a2b.vue (pre-existing garbled text)
                                • - Clean up duplicate pages/home/index/ directory created by git checkout
                                • - Update pages.json: TabBar pagePath, main pages array, and subPackages root
                                • - Fix custom-tab-bar page paths and icon filenames (tab-home -> tab-action)
                                • - Update all Vue file navigation URLs from /pages/index/... to /pages/home/...
                                • to subpackages (pages/index, pages/login, pages/share, pages/profile)
                                • - index/index.vue: remove static import of ParentIndex/ChildIndex, redirect
                                • authenticated users via redirectTo instead of rendering as sub-components
                                • - AGENTS.md: document subpackage structure (45 subpackages)
                                • - api.js: add console.log for /api/auth requests for debugging
                                • - family/add-member.vue: minor fix
                                • language as the energy sandbox (wuxing-sandbox) dots:
                                • 行🌿 身🌏 智⚡ 心🔥 富💧
                                • the energy sandbox (wuxing-sandbox) visual language:
                                • 行(wood/leaf) 身(earth/mountain) 智(metal/diamond) 心(fire/flame) 富(water/drop)
                                • - Use dimension colors from the sandbox palette for active state,
                                • gray for inactive state
                                • - Remove old tab-home icons (replaced by tab-action)
                                • - Update pages.json to reference new tab-action filenames
                                • redirect converting POST to GET
                                • - RecommendedFeed.vue: template 'items'→'displayItems' (undefined
                                • computed ref)
                                • - parent-index.vue: add .catch() to getFamilyRanking/getChallengeList
                                • to prevent unhandled Promise rejections

                                新功能

                                • subpackage split - move non-TabBar pages out of main package to reduce size
                                • use emoji tab icons matching wuxing sandbox style
                                • redesign tab bar icons in wuxing sandbox style

                                v1.0.512 (2026-07-24)

                                Bug 修复

                                • 修复肠脑轴图/页脚/参考文献/证据截图

                                其他

                                • - 页脚样式:补充完整的 .site-footer CSS 样式(配色适配文章暗色调)
                                • - 参考文献:11篇全部添加 DOI 超链接(CANTOS/Lancet/NEJM/Nature/Cell/Science/PNAS/JAMA)
                                • - 证据截图:新增3处 evidence-inline 截图证明(小胶质细胞双面角色/CANTOS抗炎证据/富氢水神经保护)
                                • - 修正参考文献作者信息(TREM2: Guerreiro 2013 NEJM, Lecanemab: van Dyck 2023 NEJM, DAM: Keren-Shaul 2017 Cell 等)

                                重构

                                • 用科普文章链接替换免费领取白皮书文案

                                v1.0.511 (2026-07-23)

                                Bug 修复

                                • 修正图片引用路径并替换缺失的参考截图

                                其他

                                • - alzheimer.html: alzheimer_ref1.png → gut-microbiome-damage.jpg (替换不存在的截图)

                                v1.0.510 (2026-07-23)

                                新功能

                                • 完成 Task 5 AI健康管家MVP

                                其他

                                • 调用 health_butler_graph,支持知识库检索+个性化建议+任务生成
                                • - cfc-frontend: 新增 aiSendHealthButlerMessage() (api.js)
                                • 输入 childId/familyId,传给 LangGraph /health/butler 端点
                                • - cfc-frontend: mode='butler' 完整支持 chat.vue
                                • isButler computed / 导航标题 / 欢迎语+3个快速问题 / 🏥头像 / sendMessage分支
                                • - cfc-frontend: 身体页功能列表新增「🏥 健康管家」入口
                                • 导航到 /pages/ai/chat?mode=butler&fromPage=pages/body/index

                                v1.0.509 (2026-07-23)

                                文档

                                • PROJECT-OVERVIEW v1.6 - Phase 4 status sync (健康7维/成长档案/供应商体系后端已实现,供应商订单修复完成)

                                v1.0.508 (2026-07-23)

                                文档

                                • comprehensive plan Task 5 [-5→] ✅完成

                                v1.0.507 (2026-07-23)

                                新功能

                                • Task 5 AI健康管家补全 — health_butler_graph + 前端路由修复

                                其他

                                • - 新建 health_butler_graph.py (322行): Java KB集成的健康管家图
                                • (load_knowledge → search_knowledge → llm_answer → save_memory)
                                • 查询 Java 健康知识库(bacteria/indicator/food)注入 LLM 上下文
                                • - 修复 health_coach_graph.py: HEALTH_BUTLER_PROMPT → HEALTH_COACH_PROMPT
                                • - 修复 chat.vue: aiSendHealthButlerMessage → aiSendHealthCoachMessage
                                • - 修复 AIFloatingAvatar.vue: 从身/智/心页面自动传递 mode=health
                                • 确保健康维度页面进入 AI 聊天时使用健康教练模式
                                • - 同步 PROJECT-OVERVIEW.md 远程更新(Phase 4/健康7维)

                                v1.0.506 (2026-07-23)

                                文档

                                • PROJECT-OVERVIEW v1.5 - sync P2-2/P3 active health backend status (all implemented)
                                • comprehensive plan 状态审计 - Tasks 1-10 完成情况更新

                                其他

                                • - Tasks 1-4, 6-10: ✅ 全部完成 (标记 [x] + evidence)
                                • - Task 5: ⚠️ 基础完成(缺专用 health_butler_graph.py)
                                • - Tasks 11-13: ⏳ Phase 4 计划级未实施
                                • - Scope/Success criteria 同步更新

                                v1.0.505 (2026-07-23)

                                其他

                                • langgraph调整,.env 文件我没上传

                                v1.0.504 (2026-07-23)

                                Bug 修复

                                • 修正 cancer/cardio-cerebro 路径引用

                                v1.0.503 (2026-07-23)

                                Bug 修复

                                • 修正子目录路径引用,添加 turmeric 文章

                                其他

                                • - 新增 turmeric.html (姜黄/黄原糖健康科普)

                                v1.0.502 (2026-07-23)

                                其他

                                • 代码修复
                                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                                • - 保存路径:uploads/json-results/{timestamp}_result.json
                                • - 每次调用 POST /api/health/report/parse-preview 时自动保存
                                • - 使用 Jackson ObjectMapper 格式化输出 JSON
                                • - 日志中记录保存的文件路径和关键信息摘要
                                • - 不影响主要流程,保存失败仅记录警告

                                Bug 修复

                                • remove stale RelationshipTypes route referencing deleted component

                                新功能

                                • 在 HealthReportController 添加自动保存解析结果到 JSON 文件

                                v1.0.501 (2026-07-23)

                                Bug 修复

                                • add throws Exception to test methods calling preHandle

                                其他

                                v1.0.500 (2026-07-23)

                                其他

                                • 修正tap-water-pollution.html图片引用:.png→.jpg,配合已压缩的截图文件
                                • 优化tap-water-pollution.html:压缩截图为高质量JPG并修正引用路径;保留Enagic SVG
                                • - 修正HTML图片引用:.png/.svg → .jpg(农药残留/DBPs/氯消毒机制/EDCs/抗生素ARGs/肠道菌群)
                                • - 保留Enagic还原水对比图为SVG矢量图
                                • web/sales: 新建销售目录,移动sales.html,新增微塑料和自来水污染销售页

                                v1.0.499 (2026-07-23)

                                Bug 修复

                                • add missing MockHttpServletRequest import

                                其他

                                v1.0.498 (2026-07-23)

                                新功能

                                • Dify-compatible adapter layer + AI health butler MVP

                                其他

                                Bug 修复

                                • resolve compilation errors - Java 8 var removal + type casts

                                v1.0.497 (2026-07-23)

                                文档

                                • PROJECT-OVERVIEW v1.4 - 全量状态审计

                                其他

                                • - v1.3 → v1.4, 状态行更新
                                • - §3.1: 主动健康六阶 🚧→✅(P0-P2-1完成); 营养缺陷修复 🟡→✅
                                • - §3.2: DAN测评结果展示 🟡→✅
                                • - §4.1: 公众号内容发布(Dify) ❌取消(LangGraph取代)
                                • - §5.1: 维度知识库 🟡待实施→✅已实施
                                • - §8: 维度页面缺口 P1+2✅, 营养健康✅
                                • - §10: 6个spec/plan状态同步更新
                                • - §11: 删除重复行

                                v1.0.496 (2026-07-23)

                                Bug 修复

                                • PROJECT-OVERVIEW §2.3 家庭成员体系状态 🚧→✅(4/4 全部完成)

                                v1.0.495 (2026-07-23)

                                文档

                                • update TASK-P0-001 status to 已实施
                                • PROJECT-OVERVIEW v1.3 - 辈分重构全栈完成 + 状态同步
                                • update PROJECT-OVERVIEW.md v1.3 - 辈分重构全栈完成状态同步

                                Bug 修复

                                • remove dead getRelationshipTypes API after P0-001 backend removal
                                • extend postinstall-fix.js to also patch HBuilderX bundled remove-scoped.js
                                • revert to @vue/cli-service v4 + patch remove-scoped.js via postinstall
                                • Fix:
                                • fix syntax error in parent-index.vue - loadAlerts + handleDismissAlert
                                • restore @vue/cli-service v5, remove PostCSS config files
                                • Fix:
                                • restore @vue/cli-service to v5 to fix WeChat DevTools compile error
                                • use ES module default-export for generationLevel constants

                                其他

                                • type list (family/friend/partner/colleague/other), matching backend removal of
                                • /relationship-types endpoint and relationship_types table.
                                • v4 alone had remove-scoped.js crash on empty selector (spaces access).
                                • - Keep @vue/cli-service ~4.5.0, postcss 7.0.39 pinned
                                • - Add postinstall-fix.js to patch remove-scoped.js selector.first guard
                                • - Add node-sass as devDependency (needed by uni-app sass-loader)
                                • - Restore .postcssrc.js, postcss.config.js, vue.config.js
                                • - Document build constraints in AGENTS.md
                                • 导致 webpack-uni-mp-loader/script.js 编译失败。
                                • - 正确闭合 loadAlerts 的 .then() 链
                                • - 将 dismissAlert 调用抽出为独立的 handleDismissAlert(alertId) 方法
                                • added postcss:^8.4.49 as a direct dependency, causing remove-scoped.js
                                • (Cannot read properties of undefined (reading 'spaces')) crash.
                                • - @vue/cli-service ^4.5.19 -> ^5.0.9
                                • - copy-webpack-plugin ^5.1.2 -> ^14.0.0
                                • - Remove .postcssrc.js, postcss.config.js, vue.config.js
                                • - Remove postcss from dependencies (v5 brings its own)
                                • - Remove postcss/postcss-selector-parser from overrides
                                • - 删除 RelationshipPicker.vue: 已被 GenerationPicker.vue 替代
                                • - @vue/cli-plugin-babel: ~4.5.0 → ^5.0.9
                                • - copy-webpack-plugin: ^5.1.2 → ^14.0.0
                                • - @babel/core/preset-env: ^7.16.0 → ^7.29.7
                                • - Remove override @vue/babel-plugin-resolve-type@1.0.0 (does not exist on npm)
                                • Root cause: downgrade to @vue/cli-service v4 in 6a4d0496 triggered
                                • remove-scoped.js crash in WeChat DevTools build pipeline.
                                • - 创建 WealthSubScores.vue 组件展示富维度三子维度详情(家长/孩子角色感礁)
                                • - 更新 wealth/index.vue: 导入两个新组件 + data添加bodyWealthStatus/Message字段 + API加载逻辑
                                • - 修复 DatabaseInitializer.java: runMigration100方法缺少闭合括号导致编译失败
                                • TASK-P0-002 前端实施完成,后端EnergyService子维度计算已由先前提交完成

                                新功能

                                • 推广佣金体系后端实体 + 删除废弃 RelationshipPicker 组件
                                • TASK-P0-001 辈分重构 — 订阅式 generation + is_spouse,删除关系类型表与字段
                                • 富维度子维度组件 + 身克富杠杆展示 + 修复DatabaseInitializer编译错误

                                v1.0.494 (2026-07-22)

                                其他

                                • 优化自来水污染科普文章:新增农药残留和氯消毒副产物章节,突出Enagic还原水机方案
                                • - 新增Section: 农药残留(46种农药频繁检出,拟除虫菊酯首次在自来水中确认)
                                • - 新增Section: 氯消毒副产物DBPs(Liu et al. Nature Sustainability 2022 膀胱癌关联)
                                • - 新增Section: Enagic还原水机(ISO 13485认证、五种功能水、科学依据与临床证据)
                                • - 新增Sticky TOC导航、数据表格、引用卡片网格、对比表格
                                • - 更新参考文献至25条(新增农药/DBPs/Enagic相关引用)
                                • - 添加截图占位区域(用户替换为实际截图)

                                v1.0.493 (2026-07-22)

                                其他

                                • content(D2-D3): 智维度专注力俊辰案例 + 富维度记账破洞 + 知识库索引

                                v1.0.492 (2026-07-22)

                                Bug 修复

                                • @keyframes 从 scoped 移到非 scoped 样式块,修复 vue-cli-plugin-uni 编译错误

                                其他

                                v1.0.491 (2026-07-22)

                                文档

                                • PROJECT-OVERVIEW v1.2 状态审计校正(辈分重构→后端完成、推广体系→前端基础就绪、电商扩展→暂停、新增DAN双角色模型记录)

                                其他

                                v1.0.490 (2026-07-22)

                                文档

                                • update PROJECT-OVERVIEW.md v1.2 with Phase 2-4 recategorization and comprehensive implementation plan

                                其他

                                • - B类4项+ C类4项重新分Phase(Phase 2-4)
                                • - 新增 comprehensive implementation plan (13 tasks across 3 phases)
                                • - 阶段总览更新:Phase 2=商业模式&AI落地, Phase 3=五维增强, Phase 4=平台扩展

                                v1.0.489 (2026-07-22)

                                其他

                                • web/knowledge.html: swap side panel directions per request

                                v1.0.488 (2026-07-22)

                                其他

                                • 1、优化管理端前端的分页异常问题 2、用户预约测评后,管理端分配规划师

                                v1.0.487 (2026-07-22)

                                其他

                                • web/knowledge.html: >> in header, side panel for hidden articles, fix layout

                                v1.0.486 (2026-07-22)

                                文档

                                • update PROJECT-OVERVIEW.md - P2-1 marked complete

                                其他

                                • - 状态行更新: P0/P1-1/P1-2/P2-1 全部 ✅ 完成
                                • - 矩阵新增状态列
                                • - 新增 HealthScoreService 积分计算引擎
                                • - 新增 HealthLevelService 等级判定+种子数据自动插入
                                • - 新增 HealthTimelineService 时间线事件生成(里程碑/升级/首次)
                                • - 新增 HealthScoreController+HealthTimelineController
                                • - 数据库迁移 105/106 (health_level+health_timeline_event)
                                • - 前端 HealthBadge + HealthTimeline 组件
                                • - 前端 store/health-score.js + api.js 端点集成
                                • - profile.vue 展示等级称号+进度条+时间线

                                新功能

                                • P2-1 身份重塑系统 - 健康等级+积分引擎+时间线

                                v1.0.485 (2026-07-22)

                                新功能

                                • 完成5篇深度疾病科普文章并接入成长百科

                                其他

                                • - 重写 osteoporosis.html(骨质疏松):慢性炎症+肠-骨轴+RANKL/OPG机制
                                • - 增强 cancer.html:症压缩证据盒+免疫三大功能+肠-癌轴
                                • - 更新 knowledge.html:将 alzheimer.html 接入成长百科(身维度)
                                • 文章核心框架:症压缩 → 慢性炎症统一病因 → 抗炎干预(菌群+富氢水)

                                v1.0.484 (2026-07-22)

                                其他

                                • 启动报错修复

                                v1.0.483 (2026-07-22)

                                新功能

                                • P1-2 健康行为智能预警实现

                                其他

                                • - 数据库: schema.sql + DatabaseInitializer migration 104 (health_alerts表)
                                • - 前端: HealthAlertBanner横幅组件 + store/health-alert.js + parent-index集成
                                • - 6条预警规则: 睡眠下降/无运动/饮水少/运动过强/7天无打卡/今日未打卡
                                • - 去重机制: 同一规则24h内不重复生成
                                • - 严重程度排序: high > medium > low,最多展示2条

                                v1.0.482 (2026-07-22)

                                Bug 修复

                                • point develop env to cfc.etotem.com.cn; extract deep selector to non-scoped style for HBuilderX compat

                                新功能

                                • P1-1 即时多巴胺反馈实现

                                其他

                                • - 数据库: schema.sql + DatabaseInitializer migration 103
                                • - 前端: FeedbackToast, MilestoneCelebration, DailySummary 组件
                                • - 预设文案引擎: 12 场景触发 + 里程碑判定
                                • - Vuex 反馈状态模块 + parent-index 集成
                                • - 微行动完成后自动触发即时反馈

                                v1.0.481 (2026-07-22)

                                其他

                                • web/knowledge.html: Fix title padding (margin-top), add disease articles, wealth marker right->65%

                                v1.0.480 (2026-07-22)

                                其他

                                • web: Fix 浠艾福 typo(爱→艾), fix knowledge.html title padding, shift markers up 10%, max-3 articles with >> reveal
                                • - PROJECT-OVERVIEW.md v1.1→v1.2: 新增 Phase 5 阶段、3.1 身 条目、十 文档索引、十一 主动健康改进章节
                                • - AGENTS.md: 新增变更追踪规则 — superpowers/ 下文件增删改必须同步 PROJECT-OVERVIEW.md

                                文档

                                • 主动健康六阶模型改进设计文档

                                v1.0.479 (2026-07-22)

                                Bug 修复

                                • replace >>> deep selector with ::v-deep for postcss compat
                                • fix hash operator precedence, use floorMod for negative-safe index

                                v1.0.478 (2026-07-22)

                                其他

                                • 修复前端分页问题
                                • 分配规划师
                                • 分配规划师
                                • 填写预约报告表单
                                • 填写预约报告表单
                                • 填写预约报告表单
                                • 填写预约报告表单
                                • 修复程序报错
                                • 修复程序报错
                                • 修复程序报错

                                v1.0.477 (2026-07-22)

                                其他

                                • web: Fix footer typo 浐色福→浠艾福, remove 成长百科 column; Fix knowledge.html title obscured by fixed header

                                v1.0.476 (2026-07-22)

                                其他

                                • web/diabetes.html: Fix missing shared footer placeholder

                                v1.0.475 (2026-07-22)

                                其他

                                • web: 全站统一 footer 为共享组件 js/footer.js,移除各页面自定义 footer CSS

                                v1.0.474 (2026-07-22)

                                新功能

                                • 成长百科改为人体五维标注布局 + 文本替换

                                其他

                                • - 人体五部位对应五维: 肠→身, 脑→智, 心→心, 手→富, 脚→行
                                • - Desktop: 人体图四周浮动标注卡片,连接圆点指向对应身体部位
                                • - Mobile: 顶部5标签切换(身·智·富·行·心),点击显示文章列表
                                • - 替换所有'亿图腾(北京)科技有限公司'→'浠艾福主动健康研究院'

                                v1.0.473 (2026-07-22)

                                新功能

                                • 重写成长百科为100vh单页布局(剪影背景+五维卡片+手机标签)

                                其他

                                • - 新增100vh单页布局(overflow:hidden),无滚动
                                • - 单人剪影+群组剪影作为装饰性页面背景(低透明度)
                                • - Desktop: 5维卡片水平排列,各维度文章链接直接可见
                                • - Mobile: 顶部5标签切换(身·智·富·行·心),点击显示对应文章
                                • - 所有文章数据及标签切换逻辑由内联JS驱动

                                v1.0.472 (2026-07-22)

                                新功能

                                • 新增成长百科主页面 + Clarity 全站覆盖

                                其他

                                • - web/css/style.css: 新增知识页面全套响应式样式(k-hero/k-dim-section/k-article-grid)
                                • - 全站添加 Microsoft Clarity 用户行为分析脚本(FAQ 3 篇 + sales.html + knowledge.html)
                                • - 导航与 footer 链接统一指向 knowledge.html
                                • - index.html 知识区新增" 进入成长百科 →\按钮

                                v1.0.471 (2026-07-22)

                                文档

                                • add implementation audit, tickler, phase1-remaining, and P0 tickets

                                v1.0.470 (2026-07-22)

                                Bug 修复

                                • use setFontSize in renderLegacy for WeChat compat, add _destroyed lifecycle guard

                                v1.0.469 (2026-07-22)

                                Bug 修复

                                • 联系电话 010-86461234 → 010-58733188

                                文档

                                • 新增小红书自动化发布工作流 + 30天内容矩阵

                                其他

                                • - 小红书发布/内容方法论-六阶模型.md: 主动健康六阶模型 × 五维映射方法论
                                • - 小红书发布/发布日历.md: 30天日均内容矩阵 (身→智→富→行→心 五天循环)
                                • - 小红书内容/: 4篇正式稿+指南+速查卡
                                • - 小红书发布计划.md / 发布数据复盘清单.md

                                v1.0.468 (2026-07-21)

                                新功能

                                • Hero 背景改用 AI 生成插画 (agnes-image-2.1-flash)

                                其他

                                • - 自然暖色调抽象家庭插画:屋顶/成长树/太阳/彩虹弧/家庭剪影
                                • - 右侧留白用于文字叠加
                                • - .hero-bg 更新为引用真实图片而非 SVG

                                v1.0.467 (2026-07-21)

                                新功能

                                • 首页 Hero 添加家庭幸福健康抽象插画背景

                                其他

                                • - 包含:屋顶/成长树/太阳/彩虹弧/家庭五人剪影/心形/草地祥云
                                • - 暖色调大地色系(棕#C4956A / 浅绿#8DB48E / 淡黄#F5D89A / 蓝#A8D4E6)
                                • - .hero-bg 加 SVG 背景图 + 左侧渐变遮罩确保文字可读性

                                v1.0.466 (2026-07-21)

                                文档

                                • unified execution plan v1.0 + PROJECT-OVERVIEW v1.2 status corrections

                                其他

                                • Phase 1 completion (5 items), Phase 2 launch (4 items), 6 tech debt items,
                                • 4-sprint timeline with dependencies and risk analysis
                                • - Updated PROJECT-OVERVIEW.md: 12 completed features corrected from
                                • 🚧/🟡 to ✅ based on code verification (profile redesign, action pages,
                                • pre-login experience, emotion check-in, article center, flora report,
                                • membership frontend, family graph, member detail sections, mind dual-tab,
                                • parent homepage, homepage overhaul)

                                v1.0.465 (2026-07-21)

                                其他

                                • uric-acid.html: rename title to 高尿酸的先天性与后天性

                                v1.0.464 (2026-07-21)

                                其他

                                • index.html: 主动健康概念卡片改为五维语言——被动健康是五维内部消耗(前半生用健康换财富,后半生用财富换健康),主动健康是五维持续增长

                                v1.0.463 (2026-07-21)

                                其他

                                新功能

                                • 预约页面传递 assessorId 参数
                                • 重构 AppointmentController 接入 DanAssessmentExecutionService 双角色模型
                                • AppointmentService 支持 assessorId, DanAssessmentExecutionService 关联 appointmentId
                                • assessment_appointments 添加 assessor_id, dan_assessment_executions 添加 appointment_id

                                v1.0.462 (2026-07-21)

                                其他

                                • index.html: 新增主动健康概念专章 + 家庭成长闭环按主动健康思路重写
                                • - 家庭成长闭环4步重写:提前识别→风险管控→主动干预→效果评估

                                v1.0.461 (2026-07-21)

                                其他

                                • index.html: 将积分奖励激励替换为有序支出、规划传承

                                v1.0.460 (2026-07-21)

                                Bug 修复

                                • ensure .vue resolution in webpack

                                文档

                                • mark LangGraph Phase 3 as implemented in PROJECT-OVERVIEW

                                v1.0.459 (2026-07-21)

                                其他

                                • index.html: 全站整合「主动健康」理念
                                • - About 描述首位加入:主动健康为核心
                                • - 五维能量 section subtitle 增加:主动健康 · 五大能量维度
                                • - 五维能量 section desc 首句加入:主动健康理念贯穿五维——不等病来,主动管理
                                • - JSON-LD FAQ「浠艾福是什么平台」答案首句加入主动健康理念
                                • - JSON-LD FAQ「什么是五维能量体系」重构为以主动健康为核心的定义

                                v1.0.458 (2026-07-21)

                                其他

                                • 网站去亿图腾化:全面替换为浠艾福主动健康学院,更新备案号为京ICP备14061870号-5
                                • - 页脚版权信息、About版块、JSON-LD组织名称 均更新
                                • - 移除 keywords 中亿图腾
                                • - 4个HTML文件全部更新:index.html, geo-faq-1-allergy.html, geo-faq-2-attention.html, geo-faq-3-immunity.html

                                v1.0.457 (2026-07-21)

                                其他

                                • index.html: 成长百科新增微塑料与健康、尿酸高的成因与调节两篇文章链接

                                v1.0.456 (2026-07-21)

                                其他

                                • uric-acid.html: 添加8处内联文献证据截图(带高亮注释+中文翻译),移除参考文献列表截图显示
                                • - 概述、转运体、肠道菌群、SCFA、益生菌、EAW、富氢水、运动8个关键段落各添加1处带红色虚线高亮框的截图证据
                                • - 每处证据盒包含:高亮内容原文 + 中文翻译 + DOI链接
                                • - 12个参考文献卡片中移除截图直接显示,仅保留权威性标签+翻译+链接
                                • - 更新图4为新生成的痛风发病机理图(diagram_4_en.png)
                                • - 新增图1-3英文版机制图(diagram_1/2/3_en.png)
                                • - 删除临时文件 .tmp_snapshot_ref3.txt

                                v1.0.455 (2026-07-21)

                                Bug 修复

                                • 修复 uni-app 小程序编译兼容性问题及运行优化

                                其他

                                • - 降级 @vue/compiler-sfc 到 2.7.16 确保 HBuilderX 兼容
                                • - 添加 postcss-import、postcss-url、autoprefixer 配置
                                • - 添加 fix-hbuilderx-scoped.js 和 fix-postcss.sh 自动化修复脚本
                                • - 回退 Babel 和 Vue CLI 版本到兼容的 4.x 系列
                                • - 优化小程序样式 scoped 问题修复工具
                                • - 修复组件编译警告和问题:
                                • * ActionArticleRecommend.vue
                                • * HealthDimensionsSection.vue
                                • * RecommendedFeed.vue
                                • * mind-section.vue
                                • * health 相关页面
                                • * payment.vue (移除 scoped)
                                • * child-index.vue
                                • * index.vue
                                • - 优化 Python LangGraph 记忆和检索逻辑

                                v1.0.454 (2026-07-21)

                                文档

                                • sync phase1-4 plan checkpoints; add langgraph start.sh; ignore .venv

                                v1.0.453 (2026-07-21)

                                文档

                                • PROJECT-OVERVIEW.md v1.1 audit calibration

                                其他

                                • - Downgrade 2 features to ⚠️ (e-commerce shop_ tables missing, promotion frontend missing)
                                • - Mark langgraph-requirements-summary.md as ⚠️ file missing
                                • - Version bump v1.0 → v1.1

                                Bug 修复

                                • align MemorySaver import path and pin dependency upper bounds

                                v1.0.452 (2026-07-21)

                                文档

                                • sync PROJECT-OVERVIEW.md Phase 1 statuses with git-history verification (encoding fix)

                                其他

                                • - AI Sidecar: 🟡->🚧 (AiGateway+5% done, sidecar dir ready)
                                • - Generation model: 🟡->🚧 (GenerationLevel.java introduced)
                                • - Wealth dimension: 🟡->🚧 (EnergyService v2.1 done)
                                • - First login: 🟡->🚧 (login.vue modified)
                                • - Flora report: 🟡->🚧 (gut-flora-detail.vue modified)
                                • - Article center: 🟡->🚧 (4 pages: index/detail/edit/my-posts)
                                • - Family membership: 🟡->🚧 (MemberSubscriptionService done)
                                • - Section 10 spec/plan index: 8 entries synced accordingly

                                Bug 修复

                                • restore file encoding to UTF-8 (was corrupted by PowerShell ANSI default)

                                v1.0.451 (2026-07-21)

                                文档

                                • sync PROJECT-OVERVIEW.md Phase 1 statuses with git-history verification

                                其他

                                • - AI Sidecar: 🟡→🚧 (AiGateway+5% done, sidecar dir ready)
                                • - Generation model: 🟡→🚧 (GenerationLevel.java introduced)
                                • - Wealth dimension: 🟡→🚧 (EnergyService v2.1 done)
                                • - First login: 🟡→🚧 (login.vue modified)
                                • - Flora report: 🟡→🚧 (gut-flora-detail.vue modified)
                                • - Article center: 🟡→🚧 (4 pages: index/detail/edit/my-posts)
                                • - Family membership: 🟡→🚧 (MemberSubscriptionService done)
                                • - Section 10 spec/plan index: 8 entries synced accordingly

                                v1.0.450 (2026-07-21)

                                Bug 修复

                                • 添加 tab-wisdom 图标文件,修复 gitignore 顺序

                                其他

                                • 使静态图标 PNG 能被正确追踪
                                • - Add tab-wisdom.png / tab-wisdom-active.png (placeholder from tab-mind)
                                • Fix TabBar compile error: 'tab-wisdom.png' not found

                                v1.0.448 (2026-07-20)

                                Bug 修复

                                • FamilyMemberCard roleBadgeColor use this.member instead of bare member

                                v1.0.447 (2026-07-20)

                                其他

                                • web(plastic-health): replace 亿图腾→浠艾福, add Clarity, fix two-col mobile responsive

                                v1.0.446 (2026-07-20)

                                Bug 修复

                                • 运势接口Mybatis错误 - 添加@Select注解修复Invalid bound statement + 表结构对齐

                                重构

                                • 我的页面改为仅个人信息+配置,移除富相关组件

                                其他

                                • - 移除 ProfileStats(行动/财富数据,归属富页面)
                                • - ProfileMenu.vue 新增 showServices prop,我的页面隐藏"服务"板块(会员/订单/售后等归富页面)
                                • - 保留:ProfileHeader / ProfileGrowth / ProfileBadges / 个人+设置菜单

                                v1.0.445 (2026-07-20)

                                Bug 修复

                                • add fallback when navigateBack has no pages in stack

                                v1.0.444 (2026-07-20)

                                文档

                                • LangGraph Phase 2-4 implementation plans

                                v1.0.443 (2026-07-20)

                                新功能

                                • AiGateway + 5% grayscale routing to LangGraph
                                • config, models, RAG, Java client, RecommendAgent
                                • scaffold Python sidecar project

                                其他

                                • - application.yml: 新增 python.* 配置项
                                • - RecommendationController: 5% 流量走 Python,异常自动 fallback
                                • - models/: 请求/响应 Pydantic 模型
                                • - rag/: ChromaDB + Embedding + 混合检索 (BM25+向量)
                                • - tools/: JavaClient HTTP 封装 + product_tools (3 个 @tool)
                                • - graphs/recommend_graph.py: RecommendAgent (LLM + Tool Calling)
                                • - api/recommend.py: POST /api/v1/recommend 端点
                                • - main.py: 注册路由 + startup/shutdown 钩子
                                • - FastAPI app skeleton with /health endpoint
                                • - Dockerfile, .env.example, .gitignore
                                • - Fix root .gitignore *.py exclusion for cfc-langgraph/

                                v1.0.442 (2026-07-20)

                                文档

                                • LangGraph migration design doc + Phase 1 implementation plan

                                v1.0.441 (2026-07-20)

                                文档

                                • add AxonHub model routing and multi-model workflow to upgrade plans

                                v1.0.440 (2026-07-20)

                                文档

                                • SB3 upgrade implementation plan with task breakdown
                                • Spring Boot 3升级 + Dify替代实施计划

                                v1.0.439 (2026-07-20)

                                文档

                                • add Dify migration feasibility analysis

                                v1.0.438 (2026-07-20)

                                Bug 修复

                                • parent-index wx:for 添加 wx:key 消除 WXML 运行时警告

                                其他

                                • uni-app 编译器能正确生成 wx:key="id"
                                • - placeholder 文章占位卡片的 :key="'ph-'+i" 已改为 :key="i"

                                v1.0.437 (2026-07-20)

                                Bug 修复

                                • extract_full_report_v5.py - report interpretation content no longer truncated

                                其他

                                • instead of first occurrence on page 1 summary; 566 chars (was 300)
                                • - 肠道年龄评估: now captures full gut age (page 12) + flora assessment
                                • (pages 13-14, 菌群平衡/菌群多样性); 1938 chars (was 500)
                                • - Removed hard-coded [:500] and [:300] truncation limits
                                • - Proper end-marker detection using 菌群构成层级/菌群详细构成

                                v1.0.436 (2026-07-20)

                                其他

                                • web(plastic-health): optimize screenshot sizes for faster loading
                                • web(plastic-health): add ref-22 WWF weekly 5g intake citation

                                v1.0.435 (2026-07-20)

                                其他

                                • web(plastic-health): add screenshot links to all 21 citation cards, fix ref-7/ref-12 metadata
                                • - Fix ref-7 journal name: Nutrients -> Antioxidants
                                • - Fix ref-12 DOI: 108319 -> 108353
                                • - Retake ref-21 without cookie popup
                                • - Add translation overlays: ref-13 (Chinese), ref-19 (English)

                                v1.0.434 (2026-07-20)

                                其他

                                • 修复小程序运行不起来问题

                                v1.0.433 (2026-07-20)

                                新功能

                                • 本地修改同步提交 - 小程序前端组件更新

                                v1.0.432 (2026-07-20)

                                Bug 修复

                                • FamilyFortuneMapper.selectByFamilyAndDate 添加 @Select SQL 注解

                                其他

                                • 缺少 SQL 绑定,既无 XML 映射文件也无 @Select 注解。

                                v1.0.430 (2026-07-20)

                                其他

                                • web(plastic-health): add authoritative descriptions to all 21 references
                                • - ref 2/4/5/7/9/10/11/12/13/14/15/20/21: journal + publisher + SCI tier
                                • - ref 3: news media context
                                • - ref 19: institutional + professor affiliation

                                v1.0.429 (2026-07-20)

                                其他

                                • web(plastic-health): enrich references with journal names and add container guide
                                • ref-11: Antioxidants, ref-12: Environment International, ref-13: Nature Medicine
                                • - Add ref-20 (ANSES glass cap paint) and ref-21 (Heliyon container comparison)
                                • - Replace tip cards container section with safety ranking guide
                                • - Re-take NEJM screenshot without cookie popup

                                v1.0.428 (2026-07-20)

                                重构

                                • 行页面移除成长里程碑(OctopusGraph组件+action页面清空)

                                v1.0.427 (2026-07-20)

                                其他

                                • web(plastic-health): remove boiling water option from protect section
                                • - Renumbered 方案三(电解还原水机)→ 方案二
                                • - Keep 方案一 as 更换饮水容器 (tip grid)
                                • web(plastic-health): add antibiotics/pesticides/hormones row and correct boiling limitation
                                • removal across all 4 water solutions
                                • - Updated tap water conclusion: acknowledge boiling cannot
                                • remove chemical contaminants (antibiotics, pesticides,
                                • contraceptive drugs)
                                • - Updated office tips: recommend activated carbon filter
                                • before boiling as supplement

                                v1.0.426 (2026-07-20)

                                其他

                                • web(plastic-health): consolidate 4 water solutions into one comparison table
                                • a single 5-column table covering 8 dimensions: microplastics,
                                • minerals, BPA/plasticizers, secondary contamination, antioxidant
                                • benefits, obesity/anxiety risk, cost, and overall rating.
                                • - 桶装水/瓶装水 | 自来水(烧开后) | RO反渗透纯水机 | 电解还原水机
                                • - Color-coded cells for quick visual comparison
                                • - Two conclusion boxes: tap water as budget choice, electrolyzed
                                • reduced water as optimal upgrade

                                v1.0.425 (2026-07-20)

                                其他

                                • web(plastic-health): add 3 factual logic points - obesity/anxiety from barreled water, tap vs RO comparison, electrolyzed reduced water as optimal
                                • triggering metabolic disorders and gut-brain axis anxiety
                                • 2. Tap vs RO comparison table: WHO warns against long-term
                                • demineralized water; boiled tap water retains minerals
                                • 3. Electrolyzed reduced water as optimal solution: multi-stage
                                • filtration + antioxidant hydrogen water + retained minerals
                                • 4. New references [14]-[19] for all three additions
                                • web(plastic-health): add 4 evidence screenshots with Chinese annotations for office water risk factors
                                • - ref-hot-water-antimony.png: 70°C高温锑/BPA释放 对应风险②高温加热
                                • - ref-heat-sunlight.png: UV/高温加速降解 对应风险③存放暴晒
                                • - ref-ohio-state.png: 瓶装水塑料为自来水2-3倍 对应风险④密封垫磨损
                                • Each English-page screenshot includes injected Chinese translation annotations.

                                v1.0.424 (2026-07-20)

                                样式

                                • 心理报告上传卡片参照身页面卡片风格重新设计

                                其他

                                • - 使用紫粉渐变背景匹配心维度色系
                                • - 保留报告列表功能,统一色调

                                v1.0.423 (2026-07-20)

                                Bug 修复

                                • isLoggedIn computed → data property to fix login state reactivity
                                • FamilyRelationGraph 组件兼容性修复 - 修正小程序requestAnimationFrame错误

                                新功能

                                • 微塑料科普页面 — 看不见的入侵者

                                其他

                                • - 10个内容章节:概述→定义→办公室水源→进入路径→5大危害→研究里程碑→对比表→防护方案
                                • - 每条结论均标注引用文献链接
                                • - 嵌入5张研究来源截图(ScienceDaily/WHO/NEJM/PNAS/科普中国)
                                • - 响应式设计,匹配官网设计系统
                                • Ultraworked with Sisyphus
                                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                                • Ultraworked with Sisyphus
                                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai

                                v1.0.422 (2026-07-20)

                                Bug 修复

                                • normalize Kangxi radicals in Java service
                                • add CAG candidate genera for full coverage

                                其他

                                • - Apply normalization at both init (buildIndexes) and lookup time
                                • - Remove duplicate Kangxi radical entries from JSON (now handled by code)
                                • - Belt-and-suspenders: data + code both normalize

                                v1.0.421 (2026-07-20)

                                Bug 修复

                                • move floating migrations into runMigrations(), fix brace balance

                                v1.0.420 (2026-07-20)

                                Bug 修复

                                • add 4 missing genera + fix Kangxi radical chars

                                其他

                                • to 菌属功能库 (genera 88 -> 92)
                                • - Add U+2ED4 Kangxi radical variants of 幽门螺杆菌 and 沙门氏菌
                                • for matching extracted report data
                                • - Verified on 556168709-mi.pdf: match rate 98% (176/179)
                                • - Genus: 52/53 (Prevotellamassilia now added)
                                • - Species: 43/45 (CAG unclassified only)
                                • - Disease risks: 10/10 (100%)
                                • - Other indicators: 71/71 (100%)

                                重构

                                • users.role ENUM → VARCHAR(20); add migration 99

                                v1.0.419 (2026-07-20)

                                样式

                                • 淡化中心太极阴阳鱼,去除黑白底色改为半透明

                                v1.0.418 (2026-07-20)

                                Bug 修复

                                • 开发环境跳过 auto-login 避免启动时 10s 超时错误

                                其他

                                • 直接跳过自动登录,避免后端不可达时触发 WeChat SDK
                                • SystemError timeout。

                                v1.0.417 (2026-07-20)

                                Bug 修复

                                • 修复支付页订单金额显示为0元

                                其他

                                • 改为按分原样传参 amount,与全局金额格式化约定保持一致。

                                v1.0.416 (2026-07-20)

                                Bug 修复

                                • 修复体检报告详情页小程序编译失败
                                • add wx:key to v-for placeholder loop in DimensionArticles
                                • product-detail 移除 memberPrice 价格回退
                                • FamilyRelationGraph 齿轮/+号/高度自适应被误回退,重新实现
                                • navigateBack instead of deleted plans page
                                • add ProductService.getById() to resolve pre-existing compile error
                                • break circular dependency between HealthReportService and DimensionScoreServiceImpl
                                • remove duplicate closing brace in CSS
                                • 解决 git stash 合并冲突残留标记(body/index, gut-index, report-list)

                                其他

                                • - 修复空状态条件引用不存在的 indicatorGroups,改为 indicators.length
                                • to wx:key. Changed to :key="i" which compiles to wx:key="*this",
                                • eliminating the WXML runtime warning.
                                • ProductService was missing this delegation method. Pre-existing bug
                                • uncovered when running mvn compile for v1.1 verification.
                                • to resolve Spring Boot 2.7+ circular reference rejection.
                                • The cycle was:
                                • HealthReportService → DimensionScoreService → DimensionScoreServiceImpl → HealthReportService
                                • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                                • - 重写 admin-butler-review 用 13800138000 账号 + admin-auth/login-by-password 取 token
                                • - 新增 health-knowledge-base / nutritionist-apply 覆盖 HealthKnowledgeBaseController (3 endpoints) 与 NutritionistController (2 endpoints)
                                • - 附带 mass-create-users 脚本 + create-role-users.sql + 上一次批量建号结果 create-result.json 用于手动复现
                                • - pages/parent/plans/index.vue, detail.vue
                                • - pages/guide/plans/index.vue, detail.vue
                                • - pages/guide/training-plans/index.vue, detail.vue
                                • 2. pages.json 中移除对应的路由注册
                                • 3. 新增 components/RecommendedFeed.vue:
                                • - 将商品和活动混合为交替排列的信息流 (商品/活动/商品/活动...)
                                • - 统一展示:封面图 + 类型标签 + 标题 + 价格 + 状态
                                • - 点击统一跳转到对应详情页
                                • 4. parent-index.vue:
                                • - 替换 DimensionActivities + DimensionProducts 为 RecommendedFeed
                                • - 新增 onFeedItemClick 和 goMoreDiscover 方法
                                • 5. child-index.vue:
                                • - 替换 DimensionActivities + DimensionProducts 为 RecommendedFeed
                                • - 新增 onFeedItemClick 和 goMoreDiscover 方法
                                • 6. member-detail.vue:
                                • - 替换 DimensionActivities + DimensionProducts 为 RecommendedFeed
                                • - 新增 onFeedItemClick 和 goMoreDiscover 方法

                                重构

                                • redesign card UI with cover gradient and badge layout
                                • 删除成长计划页面并合并推荐商品与活动为统一信息流

                                测试

                                • admin/health/nutrition 覆盖新增控制器

                                v1.0.415 (2026-07-19)

                                新功能

                                • 行首页移除成长里程碑 - 移除OctopusGraph/milestones功能

                                v1.0.414 (2026-07-19)

                                Bug 修复

                                • SKU编辑器适配Map类型specs + enabled Boolean转1/0
                                • 新增findByProductIdAll供管理端SKU列表(无enabled过滤)
                                • ProductSkuDTO specs类型从List改为Map

                                  其他

                                  v1.0.413 (2026-07-19)

                                  新功能

                                  • 心页面添加心理报告卡片 - 完整EMID四维条形图展示

                                  v1.0.412 (2026-07-19)

                                  新功能

                                  • AI任务生成+今日能量文卡片+体检AI入口

                                  其他

                                  • - AIChatController [TASK]标记解析集成
                                  • - FamilyContextService任务上下文注入
                                  • - chat.vue任务卡片渲染+报告解读模式
                                  • - 阅读卡片改为今日能量文并重新设计(深色渐变/辉光)
                                  • - 体检/菌群报告详情页AI解读FAB入口
                                  • - 富页面模式切换+profile返回入口

                                  v1.0.411 (2026-07-19)

                                  新功能

                                  • integrate KB v3 into gut-flora-risks-detail.vue

                                  其他

                                  • - Update showKnowledge() to query v3 KB first (偏高影响/偏低影响/调整建议)
                                  • - Fall back to old queryKnowledgeBase('disease', ...) when v3 returns nothing
                                  • - Follows same pattern as gut-flora-detail.vue and gut-flora-species-detail.vue
                                  • All 4 gut-flora report pages now use KB v3 with fallback.

                                  v1.0.410 (2026-07-19)

                                  其他

                                  • - .gitignore: add .env.production
                                  • - git rm --cached .env.production (keep on disk)
                                  • Environment-specific configs should not be tracked in git.

                                  v1.0.410 (2026-07-19)

                                  Bug 修复

                                  • resolve login API 405 and logo 404 on /admin/ deployment

                                  其他

                                  • (auth.js URLs start with /api/, so baseURL=api caused axios to emit
                                  • api/api/... → browser resolves to /admin/api/api/..., backend returns 405)
                                  • - Login.vue: → src="logo.png" (relative,
                                  • resolves correctly under /admin/ subpath)
                                  • - public/logo.png: added (copied from web/logo.png)
                                  • - .gitignore: add !cfc-web/public/logo.png exception

                                  v1.0.409 (2026-07-19)

                                  Bug 修复

                                  • clean bacteria names (remove Chinese prefix) + add 3 missing genera

                                  其他

                                  • - Added 3 missing genera: Coprobacter, Paraprevotella, Parasutterella
                                  • - Verified: 50/55 genera match KB directly, 41/43 species match via genus backoff

                                  v1.0.408 (2026-07-19)

                                  新功能

                                  • knowledge base v3 - data/template separation foundation

                                  其他

                                  • - extract_full_report_v5.py: normalize_output() - 字段统一/冗余删除/菌属名称清洗
                                  • - 字段拆分清单.md: personal data vs knowledge base 边界定义
                                  • - 设计规格: docs/superpowers/specs/2026-07-19-knowledge-base-v3-data-refactor.md
                                  • - 验证输出: 547982403.json, 朱评估报告.json 新格式确认

                                  v1.0.407 (2026-07-19)

                                  Bug 修复

                                  • update test to match new BindController signatures

                                  其他

                                  • parameter - it's resolved internally via MembershipService.
                                  • Add @MockBean MembershipService and update call sites.

                                  v1.0.406 (2026-07-19)

                                  Bug 修复

                                  其他

                                  • no interceptor sets familyId as a request attribute → Spring 400 error.
                                  • @RequestAttribute("userId") + membershipService.getUserFamilyId(userId)
                                  • Affected controllers:
                                  • - MindFortuneController (getTodayFortune, refreshFortune, exportFortuneReport)
                                  • - PackagePaymentController (createOrder)
                                  • - MarketController (purchasePackage, getMyPlans)
                                  • - BindController (acceptBind, getBoundGuides, unbind)

                                  新功能

                                  • add purchase recommendation section to dan-assessment/report-upload page

                                  v1.0.405 (2026-07-19)

                                  Bug 修复

                                  • 商品图片上传两项关键修复

                                  新功能

                                  • add purchase recommendation section to report-upload page

                                  其他

                                  • - Add recommendedProducts/loadingProducts data states
                                  • - Implement loadRecommendProducts method with REPORT_DOMAIN_MAP
                                  • - Add goToProduct and formatPriceWithSymbol utility methods
                                  • - Insert horizontal scrollable purchase card section below type selector
                                  • - Add scoped styles for purchase recommendation section

                                  v1.0.404 (2026-07-19)

                                  新功能

                                  • implement taxonomy level support, pathogen tabs, report interpretation, DB migration 98

                                  v1.0.403 (2026-07-18)

                                  文档

                                  • add implementation plan for mini-program and Java backend modifications

                                  v1.0.402 (2026-07-18)

                                  新功能

                                  • add personalized indicator interpretations (P0) and overall assessment descriptions

                                  其他

                                  • Merge remote-tracking branch 'origin/cfclub' for upstream changes

                                  Bug 修复

                                  • 商品图片上传两项关键修复

                                  v1.0.401 (2026-07-18)

                                  文档

                                  • add analysis of personalized descriptive content to extract from reports
                                  • add gap analysis between extraction results and miniprogram/backend

                                  v1.0.400 (2026-07-18)

                                  重构

                                  • make indicator ranges computable with min/max + status levels

                                  新功能

                                  • add report indicator knowledge base with standard ranges and descriptions

                                  v1.0.399 (2026-07-18)

                                  Bug 修复

                                  • probiotic species-level extraction (22 items), inline format timeout
                                  • inline format bacteria table timeout - skip truly compressed format, 朱评估报告 now completes

                                  v1.0.398 (2026-07-18)

                                  新功能

                                  • add taxonomy level extraction (class/order/family/genus/species) from unified section

                                  Bug 修复

                                  • bacteria table inline parsing, pathogen tables, antibiotic dedup, harmful/other bacteria expansion

                                  v1.0.397 (2026-07-18)

                                  Bug 修复

                                  • comprehensive extraction fixes - Kangxi radicals, inline fallback, amino acid boundary, taxonomy levels

                                  v1.0.396 (2026-07-18)

                                  Bug 修复

                                  • 移除活动菜单项 + MembershipCenter 改用本地axios
                                  • 管理端API请求方法修复 — PUT/DELETE统一改用POST
                                  • 文件存储调用方适配 — upload→store、移除原始文件IO逻辑
                                  • 文件存储重构 — 可配置上传目录、MIME类型校验、delete方法

                                  其他

                                  • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                                  • 导致生产环境 405 Method Not Allowed 错误。
                                  • 修复范围:
                                  • • 用户: updateUser/deleteUser — 方法+URL 修正
                                  • • 家庭: updateFamily/deleteFamily — 方法+URL 修正
                                  • • 孩子: updateChild/deleteChild — 方法+URL 修正
                                  • • 任务模板: updateTaskTemplate/deleteTaskTemplate — 方法+URL 修正
                                  • • 奖励模板: updateRewardTemplate/deleteRewardTemplate — 方法+URL 修正
                                  • • 系统配置: deleteSysConfig — 方法修正
                                  • • 教师任务模板: deleteTeacherTaskTemplate — 方法+URL 修正
                                  • • 心愿: setWishPrice/rejectWish/approveWishExchange/markWishFulfilled — 方法修正
                                  • • 心愿: deleteWish — 方法+URL 修正 (/api/wishes/{id}→/cancel)
                                  • Ultraworked with Sisyphus
                                  • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                                  • • AssessmentReportController: upload() → store()
                                  • • DanReportUploadService: upload() → store()
                                  • Ultraworked with Sisyphus
                                  • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                                  • • FileStorageService: 增加 delete() 方法用于删除已上传文件
                                  • • WebConfig: addResourceHandler 使用 upload.base-dir 替代 System.getProperty
                                  • • application.yml: 添加 upload.base-dir 和 upload.allowed-types 配置
                                  • Ultraworked with Sisyphus
                                  • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai

                                  v1.0.395 (2026-07-18)

                                  Bug 修复

                                  • comprehensive bacteria table & indicator extraction fixes

                                  其他

                                  • - Fix regex patterns for abundance, normal range, population level
                                  • - Add inline fallback for missing disease risks, amino acids, barrier/scfa/nt
                                  • - Fix overview extraction for gut age, health score details

                                  v1.0.394 (2026-07-18)

                                  新功能

                                  • 活动商品统一管理后续三项任务完成

                                  v1.0.393 (2026-07-18)

                                  Bug 修复

                                  • 非管理员登录避免死循环 — teacher 直接进 /teacher-dashboard

                                  新功能

                                  • B5指南针仪表盘图像提取 — 19个子维度分数

                                  其他

                                  • - DanReportParseService.parseB5Report(): 新增compassImage参数 + 第7步图像分析
                                  • - 新增常量: B5_QUAD_ANGLES/FACTORS/SUB_DIMS + B5_CENTER坐标
                                  • - 新增方法: extractB5CompassImage(PDDocument) — PDFBox提取PNG→BufferedImage
                                  • - 新增方法: measureFillAtAngle() — 沿角度射线逐像素扫描填充半径
                                  • - 新增方法: extractB5CompassScores() — 动态校准因子 + 19子维度分数映射
                                  • - parseText(): 新增两参数重载(public) + 三参数版本(private)
                                  • - 图像提取失败不影响文本数据(log.warn静默降级)
                                  • 算法: 从r=150扫描跳过中心色块, 25px间隙容忍跨越环线,
                                  • 每象限角度范围等分→子维度射线±2°偏移→平均fill×校准因子→1-5分
                                  • 测试: 37 tests run, 0 failures

                                  v1.0.392 (2026-07-18)

                                  新功能

                                  • expand health survey with disease/family history, add physical exam detail page

                                  v1.0.391 (2026-07-18)

                                  新功能

                                  • 健康知识库管理后台 CRUD

                                  其他

                                  • - HealthKnowledgeBaseService: listAll/save/updateById/removeById
                                  • - HealthKnowledgeBaseController: /list /add /update /delete
                                  • - cfc-web/views/admin/health-knowledge.vue: 列表+筛选+新增/编辑/删除/导入
                                  • - router: 注册 /health-knowledge,Layout 侧边栏 知识中心 下新增菜单

                                  Bug 修复

                                  • AdminArticleController.create 修复ArrayList强转String — visibility/visibleTo/articleType字段可能为JSON数组

                                  v1.0.389 (2026-07-17)

                                  Bug 修复

                                  • class 绑定改用预计算/内联表达式,避免方法调用

                                  v1.0.388 (2026-07-17)

                                  新功能

                                  • FamilyRelationGraph 新增齿轮跳转成员管理、悬停/点击+号进入添加成员页、高度自适应

                                  其他

                                  v1.0.387 (2026-07-17)

                                  测试

                                  • add v1.1 scenarios for knowledge-popup, quick-nav, edit mode

                                  其他

                                  • - [场景7] Knowledge base popup query and display
                                  • - [场景8] Quick nav card navigation to subpages
                                  • - [场景9] Edit mode toggle and save
                                  • Covers the new v1.1 report detail features.

                                  v1.0.386 (2026-07-17)

                                  新功能

                                  • add api methods, knowledge-popup component, register 4 pages in pages.json
                                  • add KnowledgeBaseDataImporter + ref JSONs + import endpoint
                                  • add POST /api/health/report/edit + updateReportFromPayload
                                  • add health_knowledge_base (entity+mapper+service+controller+migration98)

                                  Bug 修复

                                  • 修复管理端多处模板标签闭合并将本地开发接口指向 127.0.0.1:9082 代理

                                  v1.0.385 (2026-07-17)

                                  Bug 修复

                                  • 完善Canvas渲染逻辑

                                  其他

                                  • 2. stopSimulation 用 clearTimeout 替代 cancelAnimationFrame
                                  • 3. simulationTick 改用 setTimeout(33ms) 轮询
                                  • 4. render() 添加 Canvas 节点未就绪时的重试逻辑(最多5次)
                                  • 5. renderLegacy() 完整迁移 Canvas 2D API(ctx.strokeStyle/ctx.fillStyle/
                                  • ctx.lineWidth/ctx.font/ctx.textAlign/ctx.textBaseline 直接赋值)
                                  • 6. 新增 hexToRgba 辅助函数

                                  v1.0.384 (2026-07-17)

                                  Bug 修复

                                  • 修复小程序编译错误和完善商品下单流程
                                  • 添加 getWealthDetail 到 api.js(富维度详情 API)

                                  其他

                                  • (微信小程序不支持 ctx.setFont() 等链式调用方法)
                                  • 2. product-detail.vue: onBuy() 从直接创建订单改为跳转到 checkout 结算页
                                  • 3. checkout.vue: onSubmit() 添加 addressSnapshot、couponId、discountAmount 参数
                                  • - 修复富页面运行时 TypeError: getWealthDetail is not a function

                                  v1.0.383 (2026-07-17)

                                  新功能

                                  • 将DAN报告上传重构到独立 dan_report_uploads 表

                                  其他

                                  • - DanAssessmentController 的 /report/parse-preview 和 /report/confirm 委托给 DanReportUploadService(Phase 4-5)
                                  • - dan_assessment_results.source_report_id 关联 dan_report_uploads.id
                                  • - dan_assessment_results.analysisStatus 新增字段(待规划师确认分析)
                                  • - 迁移95: 历史 dan_assessment_results 数据 ETL 回填到 dan_report_uploads
                                  • - 迁移93-94: dan_report_uploads 建表 + 扩展字段 source_report_id/analysisStatus
                                  • - schema.sql 同步新建表定义
                                  • - 合并远程并行迁移(dan_assessment_executions 等表)

                                  Bug 修复

                                  • 迁移40 ALTER ENUM前先UPDATE非法role值,避免Data truncated错误

                                  v1.0.382 (2026-07-17)

                                  新功能

                                  • add DAN report to JSON extraction script (extract_dan_to_json.py)

                                  v1.0.381 (2026-07-17)

                                  重构

                                  • 扁平化营养师/管家入驻申请页面结构 + 统一import路径为@别名

                                  其他

                                  新功能

                                  • 富维度页面添加TabTransition动画 + 用户卡片重构
                                  • 心维度页面集成家庭天盘模块 + 心理报告上传功能
                                  • 新增天盘周报PDF导出,移除富沛能量模块

                                  Bug 修复

                                  • FamilyTianpanCard 修复多余闭合括号导致编译失败 + Canvas动画改用setTimeout兼容小程序

                                  v1.0.380 (2026-07-17)

                                  文档

                                  • 更新菌群报告设计 — 仅展示个性化数据+知识库弹框+异常颜色箭头

                                  v1.0.379 (2026-07-17)

                                  文档

                                  • update v5 export script, add knowledge base directory

                                  v1.0.378 (2026-07-17)

                                  文档

                                  • 菌群报告页面重构设计规范(查看+编辑混合模式)

                                  重构

                                  • 全局UI文案套餐→任务模板重命名

                                  其他

                                  • - 后端:Swagger @Tag/@Operation注解、DTO校验消息、entity字段注释、service javadoc
                                  • - 数据库schema.sql:表注释、列注释
                                  • - 测试文件:测试数据fixture名称
                                  • - 会员档位选择(membership/upgrade.vue)→'档位选择'避免与任务模板混淆
                                  • - 测评类型'bundle'标签:'套餐'→'组合'(与任务模板区分)
                                  • - 未改动:API URL路径、Java类名、数据库表/列名、CSS类名
                                  • - 验证:mvn clean compile通过 + npm run build通过

                                  v1.0.377 (2026-07-17)

                                  Bug 修复

                                  • SKU specs Map正确序列化为JSON + 审核中心滚动容器统一

                                  v1.0.376 (2026-07-16)

                                  文档

                                  • 添加DAN测评服务闭环流程设计文档

                                  v1.0.375 (2026-07-16)

                                  Bug 修复

                                  • 修复身页面编译错误 - 商品组件导入路径和天盘卡片语法
                                  • body page radar chart display issue
                                  • entire chain: dimension data -> score validation -> canvas render -> visual display

                                  其他

                                  • - 原路径从 components/ 目录向上两级会超出项目根目录
                                  • - 正确路径应为 ../utils/api.js (从 components/ 到项目根目录再到 utils/)
                                  • 2. FamilyTianpanCard.vue: 修复 methods 对象后缺少逗号
                                  • - 在 export default 对象中,methods 属性后需要逗号分隔
                                  • - 缺少逗号导致 Vue 编译器报 'Unexpected token' 错误
                                  • 3. body/index.vue: 确保 DimensionProductList 组件正确注册
                                  • Co-authored-by: openhands openhands@all-hands.dev
                                  • Revert unnecessary large files, keep only radar chart fix
                                  • Changes:
                                  • 1. Add _safeScore utility in RadarChart.vue - normalize null/NaN scores to 0
                                  • 2. Update _startAnimation, _drawScoreArea, _drawVertices, _drawScoreText to use _safeScore processing
                                  • 3. Add retry initialization for Canvas render in RadarChart.vue - retry up to 5 times within 60ms intervals
                                  • 4. Modify body/index.vue template - replace inline :dimensions/:scores with computed radarDimensions/radarScores (respecting AGENTS.md non-method-call constraint)
                                  • 5. Handle null scores in computed radarScores - reject null/NaN to 0, maintaining functional correctness
                                  • Verification:
                                  • - LSP diagnostics check completed
                                  • - Resolver scripts completion
                                  • Co-authored-by: openhands openhands@all-hands.dev
                                  • - 基于主导五行智能生成个性化行为建议
                                  • - 优化布局:区分颜色、对齐与留白
                                  • - 响应式设计:适应不同屏幕尺寸
                                  • - 文案结构化:不同五行对应不同宜忌行为模式
                                  • - 提供周趋势图、月度日历、历史周报三种视图模式
                                  • - 实现 Canvas 五行罗盘和运势趋势线图绘制
                                  • - 集成菜单切换功能
                                  • - 支持 PDF 周报导出功能占位
                                  • - 优化 UI 交互:响应式布局、动画过渡、色彩搭配
                                  • - 增强 FortuneService 实现基于干支五行的吉位算法
                                  • - 更新 MindFortuneController 返回完整数据格式
                                  • - 添加专业五行生克关系判断逻辑
                                  • - 提供更丰富的运势描述和心情表达
                                  • - 计算复杂:基于家庭五行+日期干支确定最吉方位
                                  • - 添加 getFamilyFortune API 函数到 utils/api.js
                                  • - 优先使用后端返回的数据,兼容模式使用前端算法
                                  • - 调整 FamilyTianpanCard 组件的数据绑定逻辑

                                  新功能

                                  • 为天盘卡片添加今日宜忌提示
                                  • 实现天盘详情页展示周/月趋势
                                  • 实现五行吉位算法
                                  • 对接后端接口为家庭天盘提供动态数据

                                  v1.0.374 (2026-07-16)

                                  新功能

                                  • 首次登录跳过角色选择直接进入信息补充页(默认parent)+ 地址四级选择器

                                  其他

                                  • - user-edit.vue: autoParent 模式下默认 parent,嵌入 AddressPicker 四级地址组件
                                  • - UpdateUserDTO + UserController + UserService: 扩展 address 字段支持
                                  • - schema.sql: users 表同步 address 列

                                  v1.0.373 (2026-07-16)

                                  文档

                                  • add extracted JSON reports for 5 test PDFs
                                  • refactor to single-PDF-in structured JSON mode + add phylum/disease bacteria tables
                                  • cleanup old scripts and temporary CSV artifacts

                                  其他

                                  • Ultraworked with Sisyphus
                                  • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                                  • - PHYLUM_TABLE_TITLES + _parse_phylum_tables() for phylum-level extraction
                                  • - DISEASE_BACTERIA_TITLES + _parse_disease_bacteria() for obesity/constipation/depression etc.
                                  • - main() now takes PDF path as arg, outputs same-name .json file
                                  • - Fallthrough terminator extended, CSV output covers all new table types
                                  • Ultraworked with Sisyphus
                                  • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                                  • Ultraworked with Sisyphus
                                  • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai

                                  v1.0.372 (2026-07-16)

                                  Bug 修复

                                  • 修复拖动时按比例分配算法,首维度多分配问题

                                  v1.0.371 (2026-07-16)

                                  新功能

                                  • 营养师/管家小程序入驻申请流程

                                  其他

                                  • - 小程序: 新增 pages/nutritionist/apply 营养师入驻页面
                                  • - 小程序: 新增 pages/butler/apply 管家入驻页面
                                  • - pages.json: 注册 nutritionist/butler 两个子包
                                  • - api.js: 新增 nutritionistApply/nutritionistStatus/butlerApply 函数

                                  v1.0.370 (2026-07-16)

                                  Bug 修复

                                  • ArticleManage分页onPageChange未接收页码参数; 增加每页条数选择器

                                  v1.0.369 (2026-07-16)

                                  文档

                                  • add bacteria composition tables extraction (core genus/probiotics/harmful/pathogens) for triplet format

                                  其他

                                  新功能

                                  • 文章/套餐审核添加详情弹窗、驳回原因显示、批量通过/驳回

                                  v1.0.368 (2026-07-16)

                                  Bug 修复

                                  • 活动列表滚动容器统一用overflow:auto消除分页导致的宽度抖动

                                  v1.0.367 (2026-07-16)

                                  文档

                                  • fix JSON triplet whitelist filtering + name/age/gender regex + vitamin B1/B12 overlap bug

                                  其他

                                  v1.0.366 (2026-07-16)

                                  文档

                                  • fix 朱 food table extraction (compressed detection + ref lookup) + regenerate CSV

                                  其他

                                  v1.0.365 (2026-07-16)

                                  文档

                                  • fix neurotransmitter dedup + regenerate all CSV with corrected data

                                  其他

                                  v1.0.364 (2026-07-16)

                                  新功能

                                  • 添加营养师/管家申请API

                                  v1.0.363 (2026-07-16)

                                  Bug 修复

                                  • 活动管理列表横向滚动 + 查询条件间距调大
                                  • PackageAudit getPackageList/reviewPackage函数缺失修复; 修复后端reject用params传递reason

                                  v1.0.362 (2026-07-16)

                                  Bug 修复

                                  • ActivityReview overflow-x:auto 修复横向滚动

                                  v1.0.361 (2026-07-16)

                                  Bug 修复

                                  • showDialog处理object规格+update移除productId避免400

                                  v1.0.360 (2026-07-16)

                                  Bug 修复

                                  • approveGuide 中 username 字段为 null 时使用 teacher_{userId} 兜底; fix(web): ArticleAudit 接口名/参数修正 + GuideAudit 分页
                                  • 创建规划师admin时phone为null导致username为空

                                  v1.0.359 (2026-07-16)

                                  文档

                                  • fix inline extraction for vitamins/barrier/pathogens + add disease risk known names and amino acid merge

                                  其他

                                  v1.0.358 (2026-07-16)

                                  新功能

                                  • 添加营养师审核功能

                                  其他

                                  • AdminController添加营养师审核3端点(applications/approve/reject),
                                  • ReviewCenterController增加nutritionistPending统计,
                                  • DatabaseInitializer迁移91,schema.sql同步
                                  • 前端: NutritionistAudit.vue组件, ReviewCenter.vue添加营养师Tab,
                                  • admin.js添加营养师审核API函数

                                  v1.0.357 (2026-07-16)

                                  文档

                                  • add PDF extraction scripts (v4 + v5 with JSON mode)

                                  其他

                                  v1.0.356 (2026-07-16)

                                  Bug 修复

                                  • ProductSkuDTO 适配 specs 字段 String→Object 变更
                                  • sku.getSpecs() 返回非String类型时类型转换保护
                                  • normalizeSpecsToJson 参数类型改为 Object 适配 specs 字段变更
                                  • 审核中心10个页面添加横向滚动+filter-bar美化
                                  • 修复规划师审核列表数据显示问题

                                  新功能

                                  • 添加 api_endpoint/api_key 字段; fix(sku): specs 字段类型改为 Object 支持JSON数组

                                  其他

                                  • 正确处理 res.data.records 映射;优化样式布局

                                  v1.0.355 (2026-07-16)

                                  Bug 修复

                                  • ProductSku create() sku_code NOT NULL 缺失自动生成默认值

                                  其他

                                  • - ProductSkuService.create() 在 skuCode 为 null/空时自动生成:
                                  • 'SKU-{productId}-{timestamp}'

                                  v1.0.354 (2026-07-16)

                                  新功能

                                  • 推广/佣金配置控制器 + rebate_commission_config表; fix(promotion): 改用sysConfigService.getValue; feat(schema): 同步rebate_commission_config表

                                  v1.0.353 (2026-07-16)

                                  新功能

                                  • 活动工作流缺失端点 + 电商供应商管理CRUD; feat(schema): 同步ecom_supplier表

                                  Bug 修复

                                  • SupplyHierarchy change-requests systemId 改为可选 + ((Number)→Long.valueOf) 解析修复

                                  其他

                                  • - Service.getChangeRequests: 仅在 systemId != null 时加入 where 条件
                                  • - 全 Controller 20 处 ((Number) ...).longValue() → Long.valueOf(... .toString()) 防 String/Integer 类型解析异常

                                  v1.0.352 (2026-07-16)

                                  测试

                                  • add unified-audit-center, guide-family-list, and vendor-product-manage E2E tests

                                  v1.0.350 (2026-07-15)

                                  新功能

                                  • 健康打卡 exercise/sleep/water 三个控制器; fix(web): growth-task路径修正

                                  Bug 修复

                                  • 修正管理端4个API路径+2个分页兼容

                                  v1.0.349 (2026-07-15)

                                  Bug 修复

                                  • ProductAudit 兼容 records 分页格式
                                  • 修正7个小程序API路径错误(article/supplier/messages/upload/families)

                                  v1.0.348 (2026-07-15)

                                  新功能

                                  • 增强搜索条件和优化样式

                                  其他

                                  • - 新增所属维度筛选(身/心/智/行/富)
                                  • - 新增审核状态筛选(待审核/已通过/已拒绝)
                                  • - 优化搜索框占位符文字
                                  • 样式优化:
                                  • - 重构 header 布局为 flexbox,支持响应式换行
                                  • - 统一搜索框和按钮样式
                                  • - 增加 header-search 类控制搜索框宽度
                                  • - 优化操作按钮间距和对齐
                                  • 其他改进:
                                  • - 默认分页大小从 10 改为 20
                                  • - 查询按钮显式触发搜索

                                  v1.0.347 (2026-07-15)

                                  其他

                                  • - 4 Java 文件: entity/EducationSystem, mapper/EducationSystemMapper, service/EducationSystemService, controller/admin/EducationSystemController
                                  • - Vue 页面: admin/EducationSystems.vue
                                  • - admin.js: 5 个 education-systems API 封装
                                  • 顺手清理相关遗留:
                                  • - DatabaseInitializer:
                                  • * 删除 modifyColumnToText('education_systems', 'description') 迁移 (表没了)
                                  • * 删除 runMigration92() (整个迁移不入群, 改为 university+education_system 列在 Guide 未被消费)
                                  • - entity/Guide.java: 删除 university + eduSystem 字段
                                  • * 顺带删除 schema.sql 中 guides 表的 university + education_system 列定义
                                  • - schema.sql: 删除 CREATE TABLE/INSERT FOR education_systems
                                  • - Layout.vue: 删除教育体系菜单项 + submenu 项
                                  • - router/index.js: 删除 education-systems 路由
                                  • 验证: mvn compile 通过, 全项目无 EducationSystem 残留引用

                                  v1.0.347 (2026-07-15)

                                  Bug 修复

                                  • 移除无对应路由的文章审核侧边栏项

                                  新功能

                                  • 统一审核中心 - ReviewCenter.vue + 10子组件 + 后端summary接口

                                  v1.0.344 (2026-07-15)

                                  Bug 修复

                                  • 修复 createFamily API 路径错误

                                  其他

                                  • 与后端 FamilyUserController 路径匹配

                                  新功能

                                  • 添加 family_member_logs 表(家庭成员变更日志)
                                  • 家庭关系管理系统补齐 (relationship type extension + contact-to-member upgrade + family_member_logs + relation graph shapes)

                                  v1.0.343 (2026-07-15)

                                  新功能

                                  • 新增供应商商品管理功能

                                  其他

                                  • - SupplySystemService 添加 getByAdminId() 方法
                                  • - SupplySystemController 添加 /my-system 端点
                                  • - AdminProductController.list() 支持 distributionSystemId 过滤
                                  • - 新增 SupplierProductController 提供供应商商品 CRUD
                                  • 前端:
                                  • - 新增 SupplierProductManage.vue 页面
                                  • - 新增 supplier product API 函数
                                  • - 添加路由和侧边栏菜单
                                  • - ProductEdit.vue 增强供应商管理员支持(自动锁定体系选择)

                                  v1.0.342 (2026-07-15)

                                  Bug 修复

                                  • SupplySettlementService/Controller ((Number)→.toString()) 修复ClassCastException

                                  v1.0.341 (2026-07-15)

                                  Bug 修复

                                  • ProductService 添加 getById 方法,SupplierProductController 编译错误

                                  v1.0.340 (2026-07-15)

                                  Bug 修复

                                  v1.0.339 (2026-07-15)

                                  新功能

                                  • 商城营销菜单新增家庭收益和收益提现审核入口

                                  v1.0.338 (2026-07-15)

                                  Bug 修复

                                  • schema.sql 同步补充 79 张缺失表的 CREATE TABLE 定义

                                  其他

                                  • - 37 张表: 从 DatabaseInitializer.runMigration* 提取 CREATE TABLE 语句
                                  • - 42 张表: 从 entity @TableField/pojo 字段反向生成 CREATE TABLE
                                  • - 验证: 无重复表名, mvn clean compile 通过
                                  • - cfc-frontend/utils/api.js: 新增6个家庭收益API函数
                                  • - cfc-frontend/pages/promotion/index.vue: 重设计(家庭数据卡片+成员贡献榜+管理员面板+孩子只读+支付预留)
                                  • P4: 管理后台家庭收益管理
                                  • - cfc-backend: 新增 AdminEarningsController (3个管理端点)
                                  • - cfc-web/src/api/admin.js: 新增家庭收益管理API
                                  • - cfc-web/src/router/index.js: 新增两个路由
                                  • - cfc-web/src/views/admin/FamilyEarnings.vue: 家庭收益列表+详情弹窗
                                  • - cfc-web/src/views/admin/FamilyEarningsWithdraw.vue: 家庭收益流水查看

                                  新功能

                                  • 家庭推广体系重构 P3+P4

                                  v1.0.337 (2026-07-15)

                                  测试

                                  • update ISSUE-TRACKING v15 — remote sync analysis + E2E results + pending test additions

                                  Bug 修复

                                  • add dimension_weights column to products table (migration 89)

                                  v1.0.336 (2026-07-15)

                                  测试

                                  • fix E2E route paths per pages.json + update ISSUE-TRACKING with v14 findings

                                  v1.0.335 (2026-07-15)

                                  新功能

                                  • 添加家庭天盘功能到心页面

                                  其他

                                  • - 在 pages/mind/index.vue 嵌入家庭天盘模块
                                  • - 使用火元素配色 (#FF6B9D) 和 Claymorphism 卡片风格
                                  • - 添加占位数据逻辑,准备对接后端接口
                                  • - 微信小程序兼容:无可选链、无 CSS Grid、flexbox 布局

                                  v1.0.334 (2026-07-15)

                                  新功能

                                  • add models field and agnes-2.5-flash model

                                  其他

                                  • - Update SupplySystem entity with models field
                                  • - Sync schema.sql
                                  • - Fix duplicate familyId field in CommissionRecord.java
                                  • - Create Agnes AI supplier with agnes-image-2.0-flash + agnes-2.5-flash

                                  Bug 修复

                                  • DatabaseInitializer 显式声明 Logger 替代 @Slf4j 注解,避免 Lombok 处理异常

                                  v1.0.333 (2026-07-15)

                                  Bug 修复

                                  • add dimension_weights column to activities table (migration 88)

                                  v1.0.332 (2026-07-15)

                                  Bug 修复

                                  • CommissionRecord 添加 family_id 字段 + CommissionService createCommissionRecord 集成 familyId

                                  v1.0.331 (2026-07-15)

                                  Bug 修复

                                  • CommissionService 编译错误 - 补充 familyId 字段和 L2 调用参数

                                  v1.0.329 (2026-07-14)

                                  文档

                                  • 成员详情维度分段 设计文档+实施计划

                                  其他

                                  新功能

                                  • 创建身/心/智/行四个维度专属内容组件
                                  • member-detail 维度专属内容动态组件插槽

                                  v1.0.328 (2026-07-14)

                                  Bug 修复

                                  • 代码规范修复 — @Autowired→@Resource + Result泛型补全
                                  • 其他

                                    • - AdminGuideController: 3处@Autowired替换为@Resource,移除Autowired import
                                    • - VendorService: 3个方法补全Result泛型参数
                                    • - VendorController: 同步补全Result泛型参数
                                    • v1.0.327 (2026-07-14)

                                      Bug 修复

                                      • 后端稳定性 — catch块日志/空值处理/PostMapping统一/管家stub

                                      其他

                                      • - DatabaseInitializer: 36个空catch块添加log.warn日志
                                      • - TeacherService: getTeacherInfo抛异常, getAuthorizedChildren返回空列表
                                      • - 14个controller: 42处@GetMapping/@PutMapping/@DeleteMapping→@PostMapping
                                      • - ButlerController: 2个stub方法标记@Deprecated+抛UnsupportedOperationException

                                      v1.0.325 (2026-07-14)

                                      Bug 修复

                                      • 金融安全修复 — payment绕过/验证码stub/积分兑换/教师端点/类型转换

                                      新功能

                                      • add cfc-web butler admin UI + ButlerCommissionService + scheduled settlement

                                      v1.0.324 (2026-07-14)

                                      Bug 修复

                                      • 迁移87: articles表添加content_type/difficulty_level/dimension_ids/dimension_weights字段

                                      v1.0.323 (2026-07-14)

                                      新功能

                                      • add AdminButlerController + ButlerServiceRecord/CommissionSettlement entities

                                      Bug 修复

                                      • 迁移86: product_orders表添加purchase_info字段(OrderTimeoutCancelTask)

                                      其他

                                      • 注册ButlerController bean起别名,解决多个ButlerController项目启动报错问题

                                      v1.0.322 (2026-07-14)

                                      Bug 修复

                                      • 调整 pages/profile/index 在 tabBar 中的位置并移除 customTabBar 配置
                                      • 同步 pages/wealth/index 路径与远程一致
                                      • 修复 Recipes.vue el-dialog 开始标签丢失

                                      v1.0.321 (2026-07-14)

                                      新功能

                                      • 按中版本分文件存储 changelog,CHANGELOG.md 作为索引页显示最新版本

                                      v1.0.320 (2026-07-14)

                                      新功能

                                      • skip version bump if only chore/engineering commits

                                      Bug 修复

                                      • missing SubscriptionBenefitLog import + column comparison in ButlerService

                                      v1.0.319 (2026-07-14)

                                      v1.0.318 (2026-07-14)

                                      Bug 修复

                                      • remove extra closing braces at end of DatabaseInitializer

                                      v1.0.317 (2026-07-14)

                                      v1.0.316 (2026-07-14)

                                      新功能

                                      • butler 管家服务 - 申请/档案/分配 + DB迁移

                                      其他

                                      • - ButlerService: 管家核心业务逻辑
                                      • - ButlerProfile: 管家档案实体
                                      • - SubscriptionBenefitLogService: 订阅权益日志
                                      • - DatabaseInitializer: butler_assignments 表迁移
                                      • - MemberSubscriptionService: 订阅关联修改 -

                                      v1.0.315 (2026-07-14)

                                      v1.0.314 (2026-07-14)

                                      测试

                                      • add E2E tests for DAN report, flora microbiome, and AI plan-task flows + fix playwright.config.js baseURL

                                      Bug 修复

                                      • 修复 pages.json tabBar 富页面注册缺失 + 维度权重前端修改

                                      新功能

                                      • add dan_reports - assessment reports and processing scripts
                                      • 肠道菌群报告详情页 + 上传日期评分优化 + 身页面重构 + 首页角色分流

                                      v1.0.313 (2026-07-14)

                                      v1.0.312 (2026-07-14)

                                      新功能

                                      • add butler entities + migration + schema

                                      v1.0.311 (2026-07-14)

                                      v1.0.310 (2026-07-14)

                                      Bug 修复

                                      • resolve merge conflicts in package.json, CHANGELOG.md, .last_build_commit

                                      v1.0.308 (2026-07-14)

                                      v1.0.307 (2026-07-14)

                                      Bug 修复

                                      • add missing closing brace for export default in Detail.vue — fixes build error

                                      v1.0.301 (2026-07-14)

                                      其他

                                      • merge: integrate remote changes + supply hierarchy management
                                      • - cfc-web: supply-hierarchy management (new), supply-system/Detail update
                                      • - cfc-frontend: App.vue, invite/join.vue updates
                                      • - cfc-web: admin.js API, router updates -

                                      v1.0.299 (2026-07-14)

                                      Bug 修复

                                      • resolve merge conflicts in cfc-web build files

                                      v1.0.298 (2026-07-14)

                                      v1.0.297 (2026-07-14)

                                      v1.0.296 (2026-07-14)

                                      v1.0.294 (2026-07-14)

                                      v1.0.293 (2026-07-14)

                                      Bug 修复

                                      • add missing Map import in SupplySystemService

                                      v1.0.292 (2026-07-14)

                                      v1.0.291 (2026-07-14)

                                      新功能

                                      • add dan_reports - assessment reports and processing scripts
                                      • 肠道菌群报告详情页 + 上传日期评分优化 + 身页面重构 + 首页角色分流

                                      v1.0.290 (2026-07-14)

                                      v1.0.289 (2026-07-14)

                                      文档

                                      • 家庭推广体系重构 — 设计文档与实施计划

                                      其他

                                      • 实施计划: 分 P1~P4 四个阶段,每阶段可独立上线
                                      • - P1: 二维码改造(wxacode + env_version 修复 + scene 解析)
                                      • - P2: 家庭公共账户(3 张新表 + CommissionService 改造)
                                      • - P3: 前端重构(推广中心重设计 + 支付集成)
                                      • - P4: 管理后台(家庭收益管理 + 提现审核)
                                      • Ultraworked with Sisyphus
                                      • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai -

                                      v1.0.288 (2026-07-14)

                                      v1.0.287 (2026-07-14)

                                      新功能

                                      • 新增家庭关系联系人组件 FamilyRelationshipSection

                                      v1.0.286 (2026-07-14)

                                      v1.0.285 (2026-07-14)

                                      Bug 修复

                                      • 二维码分享功能统一收敛 — 新增通用 QR 后端接口 + 修复三处前端 QR 生成

                                      v1.0.284 (2026-07-14)

                                      v1.0.283 (2026-07-14)

                                      Bug 修复

                                      • PpointService null date handling + adminList keyword filter; ProductPpointManage effectiveDate→startDate field name fix

                                      v1.0.282 (2026-07-14)

                                      v1.0.281 (2026-07-14)

                                      v1.0.280 (2026-07-13)

                                      v1.0.279 (2026-07-13)

                                      Bug 修复

                                      • resolve ambiguous mapping /api/recommend/dimension-products - remove duplicate from RecommendationController

                                      v1.0.278 (2026-07-13)

                                      v1.0.277 (2026-07-13)

                                      Bug 修复

                                      • SupplyManageController detail/update/delete robust id parsing
                                      • api.js repurchase-reminders GET→POST + click tracking

                                      其他

                                      • JSON string rather than a number. Added type-safe parsing that
                                      • handles both Number and String id values across the supplier
                                      • management endpoints.
                                      • Co-authored-by: Sisyphus sisyphus@omo.codes
                                      • implementation plan for dimension-products, repurchase-reminders,
                                      • scheduled task, and frontend fixes
                                      • - 2026-07-13-dan-assessment-phase2-5.md: pending Phase 2-5 plan
                                      • referencing assessment-market-plan.md — quota system, dual-channel
                                      • reports, plan generation engine, and review→confirm→execute loop
                                      • Co-authored-by: Sisyphus sisyphus@omo.codes
                                      • @PostMapping convention. DimensionProductList.goProduct() fires
                                      • clickRepurchaseReminder() before navigation for repurchase-type
                                      • products.
                                      • Co-authored-by: Sisyphus sisyphus@omo.codes
                                      • RecommendationService.generateDailyRepurchaseReminders() to scan
                                      • paid/received orders and generate repurchase reminders based on
                                      • repurchase_reminder_config rules (category/reminderDays/maxReminders).
                                      • Co-authored-by: Sisyphus sisyphus@omo.codes
                                      • - getDimensionProducts() — query product_dimension_mapping by
                                      • dimensionCode, join products, filter status=上架/stock>0
                                      • - getRepurchaseReminders() — query user's unpurchased reminders
                                      • - markRepurchaseClicked() — update clicked=1 on reminder record
                                      • - generateDailyRepurchaseReminders() — scan paid/received orders,
                                      • apply repurchase_reminder_config rules, insert reminders
                                      • Injects ProductDimensionMappingMapper, RepurchaseReminderRecordMapper,
                                      • RepurchaseReminderConfigMapper, ProductOrderMapper.
                                      • Co-authored-by: Sisyphus sisyphus@omo.codes
                                      • RecommendationController adds 3 @PostMapping endpoints:
                                      • - /dimension-products — query products by dimension code, sorted by matchScore
                                      • - /repurchase-reminders — list user's pending repurchase reminders
                                      • - /repurchase-reminder/{id}/click — mark reminder as clicked
                                      • Co-authored-by: Sisyphus sisyphus@omo.codes

                                      文档

                                      • supplier-system gap-fix plan + DAN Phase 2-5 framework

                                      新功能

                                      • RepurchaseReminderScheduledTask runs daily at 2 AM
                                      • dimension-product query + repurchase-reminder service logic
                                      • add dimension-products + repurchase-reminders endpoints with DTO fields

                                      v1.0.276 (2026-07-13)

                                      v1.0.275 (2026-07-13)

                                      新功能

                                      • 6个管理端表单页增加保存成功确认对话框(继续添加/关闭)

                                      Bug 修复

                                      • 添加 dify.callback-secret 配置 + 管理端多页面优化

                                      其他

                                      • - cfc-web: 多个管理页面样式和功能优化(ArticleCategory, BaziConfigs, CouponManagement, KnowledgeTag, PackageTemplates, RelationshipTypes, VirtualTeamList, ZodiacConfigs, data-source-config, dimension-config, dimension/index)
                                      • - 版本号自动更新 -

                                      v1.0.274 (2026-07-13)

                                      v1.0.273 (2026-07-13)

                                      新功能

                                      • AI conversation memory - migration 82 for ai_conversation_summary + ai_user_facts tables

                                      v1.0.272 (2026-07-13)

                                      v1.0.271 (2026-07-13)

                                      文档

                                      • 添加参考资料 PDF

                                      其他

                                      v1.0.270 (2026-07-13)

                                      v1.0.269 (2026-07-13)

                                      新功能

                                      • CartService.buildCartItemDTO builds specDesc from ProductSku.specs JSON when skuId is present
                                      • 五行能量配置管理
                                      • 增强五行雷达图可视化
                                      • 管理端功能优化
                                      • 五行相生相克前端展示
                                      • AI对话记忆层 - 会话摘要+关键事实+意图感知上下文注入
                                      • productSpecMap API + Ppoint API 重构 + 供应商管理员搜索修复
                                      • products/cart 表新增 SKU 规格字段
                                      • admin/user/search 供应商选管理员接口 + 修复 CircleService 循环依赖

                                      其他

                                      • - WuxingConfig.vue: 能量来源比例配置+每日限制概览
                                      • - 路由注册 /admin/energy-config
                                      • - 数据驱动多边形填充(familyWuxing.aggregatePercentages)
                                      • - 百分比标签 + 数据节点圆点
                                      • - 中心显示家庭名+最强/最弱元素
                                      • - ProductOrderService: SKU价格计算
                                      • - Form.vue: 标签更新
                                      • - 心理维度子项卡片(仅儿童用户显示)
                                      • - 11个新data字段 + 13个CSS状态变体
                                      • - loadWealthDetail读取API新字段
                                      • - 新增映射器: AiConversationSummaryMapper, AiUserFactMapper
                                      • - 新增AiContextService: 7意图路由
                                      • - AIService: enrichInputsWithMemory, getContext, requestSummaryAsync
                                      • - AIChatController: getContext()端点 + sendMessage注入记忆
                                      • - DatabaseInitializer: runMigration81内建表
                                      • - schema.sql: 同步两张新表定义
                                      • - WebConfig: /api/ai/context加入JWT白名单
                                      • - chat.vue: 简化传参(移除reportId/surveyId)
                                      • - admin.js: Ppoint API 重命名 (getProductPpointList/saveProductPpoint/deleteProductPpoint/byProduct)
                                      • - supply-system/Form.vue: searchUsers 改用 API 函数
                                      • - products.sku_spec_names: 规格维度名 JSON
                                      • - products.delivery_methods: 配送方式支持
                                      • - cart.sku_id: 选中 SKU ID
                                      • - cart.spec_option_ids: 规格选项 ID 列表 JSON
                                      • - CircleService: 添加 @Lazy 注解打破 CircleService ↔ CircleMatchService 循环依赖
                                      • - cfc-web: 新增 ProductPpointManage 积分管理页面,完善供应商体系表单
                                      • - cfc-frontend: product-detail 页面更新

                                      Bug 修复

                                      • 修复DatabaseInitializer编译错误

                                      v1.0.268 (2026-07-13)

                                      v1.0.267 (2026-07-13)

                                      Bug 修复

                                      • break circular dependency CircleService↔CircleMatchService with @Lazy

                                      重构

                                      • rename FamilyRelationshipSection -> OctopusGraph; fix: health chart shows zeros when no data
                                      • 重构FamilyRelationGraph为全Canvas force-directed关系图

                                      新功能

                                      • 添加OctopusGraph关系健康组件

                                      其他

                                      v1.0.266 (2026-07-13)

                                      v1.0.265 (2026-07-13)

                                      Bug 修复

                                      • resolve playwright.config.js merge conflict - restore baseURL

                                      v1.0.264 (2026-07-13)

                                      v1.0.263 (2026-07-13)

                                      其他

                                      新功能

                                      • add article placeholder cards on action home page
                                      • DAN报告上传 - 集成到mind/wisdom维度页面
                                      • DAN报告上传 - 前端API + report-upload页面
                                      • DAN报告上传 - Controller端点 + 维度分数更新
                                      • DAN报告上传 - 创建DanReportParseService (A2/B4解析)
                                      • DAN报告上传 - 实体字段 + 数据库迁移80

                                      v1.0.262 (2026-07-13)

                                      其他

                                      • 测试提交

                                      v1.0.261 (2026-07-13)

                                      v1.0.260 (2026-07-13)

                                      v1.0.259 (2026-07-13)

                                      v1.0.258 (2026-07-13)

                                      新功能

                                      • AI对话记忆层 - 会话摘要+关键事实+意图感知上下文注入

                                      其他

                                      • - 新增映射器: AiConversationSummaryMapper, AiUserFactMapper
                                      • - 新增AiContextService: 7意图路由
                                      • - AIService: enrichInputsWithMemory, getContext, requestSummaryAsync
                                      • - AIChatController: getContext()端点 + sendMessage注入记忆
                                      • - DatabaseInitializer: runMigration81内建表
                                      • - schema.sql: 同步两张新表定义
                                      • - WebConfig: /api/ai/context加入JWT白名单
                                      • - chat.vue: 简化传参(移除reportId/surveyId) -

                                      v1.0.257 (2026-07-13)

                                      v1.0.256 (2026-07-13)

                                      新功能

                                      • productSpecMap API + Ppoint API 重构 + 供应商管理员搜索修复
                                      • products/cart 表新增 SKU 规格字段

                                      其他

                                      • - admin.js: Ppoint API 重命名 (getProductPpointList/saveProductPpoint/deleteProductPpoint/byProduct)
                                      • - supply-system/Form.vue: searchUsers 改用 API 函数
                                      • - products.sku_spec_names: 规格维度名 JSON
                                      • - products.delivery_methods: 配送方式支持
                                      • - cart.sku_id: 选中 SKU ID
                                      • - cart.spec_option_ids: 规格选项 ID 列表 JSON -

                                      v1.0.255 (2026-07-13)

                                      v1.0.254 (2026-07-13)

                                      v1.0.253 (2026-07-13)

                                      v1.0.252 (2026-07-13)

                                      新功能

                                      • admin/user/search 供应商选管理员接口 + 修复 CircleService 循环依赖

                                      其他

                                      • - CircleService: 添加 @Lazy 注解打破 CircleService ↔ CircleMatchService 循环依赖
                                      • - cfc-web: 新增 ProductPpointManage 积分管理页面,完善供应商体系表单
                                      • - cfc-frontend: product-detail 页面更新 -

                                      v1.0.251 (2026-07-13)

                                      Bug 修复

                                      • ProductController spec map JSON.parseArray type inference for Java 8

                                      新功能

                                      • 维度页面缺口修补(Phase1) + 圈子系统(Phase2)

                                      其他

                                      • - 身: 健康打卡入口(HealthCheckinCard) + body/index.vue
                                      • - 智: 阅读时长展示(wisdom/index.vue reading stats)
                                      • - 心: 天盘相性入门版(已有完整天盘/兼容性模块)
                                      • - EnergyService: 心子维度(情绪稳定/理解包容/传承传递) + 五行克生算法v2.0
                                      • - MemberEnergyDTO: 心子维度字段
                                      • - ProductController: spec/map 规格映射接口
                                      • Phase2 珍珠图/圈子系统:
                                      • - 后端: SocialCircle/SocialCircleMember实体+Mapper
                                      • - 后端: CircleService CRUD + CircleMatchService匹配引擎
                                      • - 后端: CircleController API + DatabaseInitializer迁移85 + schema.sql
                                      • - 前端: PearlDiagram.vue 珍珠图横向滚动
                                      • - 前端: CircleCard.vue 圈子卡片组件
                                      • - 前端: CircleDetail.vue 圈子详情弹窗
                                      • - 前端: action/index.vue 集成PearlDiagram + CircleDetail
                                      • - 前端: api.js 圈子API函数 -

                                      v1.0.250 (2026-07-13)

                                      新功能

                                      • 商品推荐 Phase 3-5 — FamilyContextService Dify输入 + AIChatController userId + 复购提醒
                                      • 电商 + 推荐系统 + 阅读统计 综合升级

                                      其他

                                      • - FamilyContextService: 新增3个Dify inputs (dimensionScores/recentCognitiveResult/purchasedProductTags) + 3私有辅助方法
                                      • - AIChatController: RecommendationQuery传入userId和familyId用于已购过滤
                                      • Phase 4 (P1):
                                      • - AssessmentService已有异步hook: DanAssessmentResult parent_upload 触发认知弱维度商品推荐
                                      • Phase 5 (P2):
                                      • - RepurchaseReminderService: @Scheduled 每日09:00扫描30-60天订单创建复购提醒 + getPendingReminders/onReminderClicked/onReminderPurchased
                                      • - RepurchaseReminderController: GET list + POST click/purchased 3个端点
                                      • - RepurchaseReminder.vue: 前端待处理复购提醒组件
                                      • - wisdom/index.vue: 阅读时长条件从 !== undefined 改为 > 0
                                      • - cart: 支持 SKU 选择 (sku_id, spec_option_ids), 字段扩展 (skuId, specDesc, supplierName)
                                      • - DatabaseInitializer: 迁移84 — cart 表 sku_id, spec_option_ids 列
                                      • - OrderItemVO: 新增 skuId, specOptionIds
                                      • - ProductDTO: 新增 effectivePpoint, ppointSource, profitRate
                                      • - CartService: addToCart 接收 skuId, 回填 supplierName 从 vendorName
                                      • ### P点管理
                                      • - PpointService: adminList() 管理端分页列表
                                      • - AdminProductPpointController: 新增管理端 P点配置控制器
                                      • ### 商品推荐系统
                                      • - ProductRecommendationService: 维度匹配引擎 (dimensionScore 排序 + 90天过滤 + 购买历史排除)
                                      • - ProductRecommendationController: POST /api/recommend/dimension-products
                                      • - 5维页面 (wisdom/body/mind/action/wealth): DimensionProductList 替换 DimensionProducts
                                      • ### 健康打卡
                                      • - HealthCheckinCard.vue: 新增健康打卡卡片组件
                                      • - body/index.vue: 集成 HealthCheckinCard
                                      • ### 智慧维度
                                      • - wisdom/index.vue: 本月阅读卡片 + 阅读统计 API 接入
                                      • ### 文档
                                      • - 五维能量设计: 更新 v2.1 富维度子维度算法 + 身克富杠杆文档
                                      • - 五维五行哲学: 补充富子维度表 + 身克富三态公式

                                      Bug 修复

                                      • CartService 回填 skuId + wisdom 阅读统计条件优化

                                      v1.0.249 (2026-07-13)

                                      文档

                                      • ISSUE-012~015 family member fixes tracking

                                      其他

                                      Bug 修复

                                      • restore family member menu + auto-derive generationLevel + add birth/preference form fields

                                      新功能

                                      • wire FamilyMember birth fields + User hobbies/dietPreferences + profile history through service/controller/migration
                                      • UserProfileHistory entity + mapper + schema.sql for tracking profile changes
                                      • add hobbies + dietPreferences to User entity + UpdateUserDTO
                                      • add birthHour/birthWeight/birthPlace/isCesarean to FamilyMember entity + DTO

                                      v1.0.248 (2026-07-12)

                                      v1.0.247 (2026-07-12)

                                      新功能

                                      • 商品推荐维度映射 + 复购提醒 + 供应商/规格迁移补全
                                      • 电商体系升级 — 供应商/规格/推荐日志 + 五维能量富维度详情 + 产品推荐

                                      其他

                                      • - 迁移80: 创建 product_dimension_mapping 表 + 索引
                                      • - 迁移81: products 表添加 recommendation_tags/purchase_count_threshold/repurchase_interval_days
                                      • - 迁移82: 创建 repurchase_reminder_record 表
                                      • - 迁移83: 创建 repurchase_reminder_config 表
                                      • - 新增 ProductDimensionMapping/RepurchaseReminderConfig/RepurchaseReminderRecord 实体+Mapper
                                      • - schema.sql 同步新表DDL
                                      • - 小程序: DimensionProductList 组件 + api.js 推荐/复购接口
                                      • - 修复 RecommendationQuery DTO
                                      • - 新增 Supplier/ProductSpecGroup/ProductSpecOption/ProductSupplier/OrderItemSku 实体+Mapper+Service+Controller
                                      • - 新增 ProductRecommendationLog 实体+Mapper(推荐记录打点)
                                      • - EnergyController: /wealth-detail 富维度详情接口
                                      • - EnergyService: 身克富杠杆逻辑 + calcParentWealth 传参修复
                                      • - AssessmentService + HealthAnalysisService: 推荐系统相关逻辑
                                      • - schema.sql: 同步新表DDL
                                      • - 小程序: 商品详情页规格选择器; 购物车/结算页展示SKU与供应商; 富维度页重构; 个人主页新增
                                      • - 管理端: EcomSupplierManage.vue 供应商CRUD页面 + admin.js API + 路由
                                      • - 前端 api.js: 新增供应商/规格/推荐相关接口 -

                                      v1.0.246 (2026-07-12)

                                      v1.0.245 (2026-07-12)

                                      文档

                                      • 五维功能-能量映射文档 + 缺失功能补全实施计划

                                      其他

                                      • - 新增 2026-07-12-wuxing-ke-full-design.md(五克完整设计)
                                      • - 新增 2026-07-12-wuxing-homepage-and-conversion-algorithm.md(首页+转化算法)
                                      • - 新增 2026-07-12-dimension-pages-gap-fix.md(分阶段实施计划)
                                      • - 更新 2026-06-08-five-dimension-wuxing-philosophy.md(克哲学对齐新理解) -

                                      v1.0.244 (2026-07-12)

                                      v1.0.243 (2026-07-12)

                                      Bug 修复

                                      • 退款流程5项修复 (ISSUE-007~011)

                                      其他

                                      • - ISSUE-008: 中止退款后订单状态未恢复 — cancelPendingRefund增加ProductOrder状态回滚
                                      • - ISSUE-009: 订单管理搜索条件增强 — 后端支持keyword+日期范围 + 前端增加日期选择器和搜索按钮
                                      • - ISSUE-010: Dashboard缺失退款审核计数 — StatsController增加pendingRefundCount + Dashboard新增卡片
                                      • - ISSUE-011: 退款余额不足提示优化 — approveRefund返回明确提示 + 前端使用后端message -

                                      v1.0.242 (2026-07-12)

                                      v1.0.241 (2026-07-12)

                                      文档

                                      • 商品推荐功能实施计划

                                      重构

                                      • 删除 UserQuickEntry 组件及全站引用

                                      其他

                                      • - 移除 wisdom/mind/body 三个页面中的 import、components 注册、模板使用
                                      • - 清理 body/index.vue 中的残留注释 -

                                      v1.0.240 (2026-07-12)

                                      v1.0.239 (2026-07-12)

                                      新功能

                                      • clean dimension tabs + styled action articles

                                      其他

                                      • - action 统一化:补 @manage="goFamilyMembers" + goFamilyMembers method
                                      • - action 推荐阅读 -> 独立 ActionArticleRecommend 组件,行绿色调卡片造型
                                      • - 移除未用导入 getContactList/getHealthAlerts/getMilestones -

                                      v1.0.238 (2026-07-12)

                                      v1.0.237 (2026-07-12)

                                      文档

                                      • 添加富维度体系重设计划(子维度拆分+身克富杠杆+小程序富页)

                                      v1.0.236 (2026-07-12)

                                      v1.0.235 (2026-07-12)

                                      Bug 修复

                                      • 拆分 v-if 条件提高可读性
                                      • ArticleManage table 添加 max-height 防止溢出
                                      • 修复前后端数据流5个关键bug

                                      其他

                                      • - daily-fortune.vue: 请求载荷添加 familyId
                                      • - related-items.vue: 请求载荷从 {} 改为 { familyId, daysAhead: 7 }
                                      • - relation-detail.vue: 传参从 { familyId, memberId } 改为 { member1Id, member2Id }
                                      • - TianpanController: 兼容性接口从参数读取 memberType (不再硬编码 child) -

                                      v1.0.234 (2026-07-12)

                                      v1.0.233 (2026-07-12)

                                      Bug 修复

                                      • 待退款队列可见性 + 退款到帐中状态 + 防重复审核

                                      其他

                                      • - ProductOrder实体: refundStatus注释补充 4=退款到帐中
                                      • - PendingRefund实体: status注释补充 cancelled(已中止)
                                      • - AdminCommissionController + PendingRefundService: getAllPendingRefunds 支持 orderType 过滤
                                      • - OrderManage.vue: 新增 refund_pending 状态(退款到帐中)文案/样式/筛选选项,隐藏退款审核按钮
                                      • - PendingRefund.vue: loadList 传 orderType 到后端
                                      • - router/index.js: 注册 pending-refund 路由
                                      • - Layout.vue: 商城营销菜单加'待退款管理'入口 -

                                      v1.0.232 (2026-07-11)

                                      v1.0.231 (2026-07-11)

                                      Bug 修复

                                      • body index simplify childId checks use || '' fallback

                                      v1.0.230 (2026-07-11)

                                      v1.0.229 (2026-07-11)

                                      Bug 修复

                                      • FamilyRelationGraph 修复单成员家庭显示重复的问题

                                      其他

                                      • 避免 selfId 不匹配时 same member 同时出现在 selfMember 和 otherMembers 中 -

                                      v1.0.228 (2026-07-11)

                                      v1.0.227 (2026-07-11)

                                      重构

                                      • remove FamilyRelationshipSection (重要关系组件) from body/mind/wisdom pages, keep unified FamilyRelationGraph

                                      v1.0.226 (2026-07-11)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.225 (2026-07-11)

                                      工程化

                                      • rebase merge from remote cfclub

                                      v1.0.224 (2026-07-11)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.223 (2026-07-11)

                                      新功能

                                      • TianpanService 引入缓存逻辑 - DB持久化每日运势和年度能量

                                      其他

                                      • - 新增 TianpanDailyFortuneMapper/TianpanMemberAnnualEnergyMapper
                                      • - buildDailyFortune: cache-aside 模式,优先读 DB 无则计算写入
                                      • - buildAnnualEnergy: cache-aside 模式,按 member+year 缓存年度能量
                                      • - schema.sql 同步两表 DDL

                                      Bug 修复

                                      • 补充迁移79(pending_refund.order_type/order_no) + 修复TianpanDailyFortune import

                                      v1.0.222 (2026-07-11)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.221 (2026-07-11)

                                      新功能

                                      • 产品订单退款系统 - 余额不足待退款队列、管理员中止、提现/商品双路退款

                                      其他

                                      • - PendingRefundService新增overloaded createPendingRefund、cancelPendingRefund、移除markFailed最大重试限制
                                      • - ProductOrderService在approveRefund中拦截NOT_ENOUGH余额不足异常,自动加入待退款队列
                                      • - RefundScheduledTasks新增processProductRefund按orderType路由提现/商品退款
                                      • - AdminCommissionController新增POST /refunds/cancel管理员中止接口
                                      • - schema.sql和DatabaseInitializer迁移78同步order_type/order_no列
                                      • - cfc-web新增PendingRefund.vue管理页面和admin.js API函数 -

                                      v1.0.220 (2026-07-11)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.219 (2026-07-11)

                                      Bug 修复

                                      • add missing FamilyRelationGraph to mind page

                                      v1.0.218 (2026-07-11)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.217 (2026-07-11)

                                      新功能

                                      • 家庭天盘完整功能 - 核心服务+控制器+DTO+前端页面

                                      其他

                                      • - TianpanController: REST API端点(/api/tianpan/*)
                                      • - DTOs: TianpanMemberVO/TianpanDashboardVO/DailyFortuneVO/MemberAnnualEnergyVO/RelatedItemsVO/RelationshipVO
                                      • - TaskService: 新增getPendingTasksByFamily
                                      • - AssessmentOrderService: 新增getPendingOrdersByFamily
                                      • - ZodiacAnnualEnergyService: 新增getWesternSign公开方法
                                      • - WebConfig: 添加cf-club.iwintrue.com CORS
                                      • - 前端: 天盘6页面 + store模块 + routes/API配置 -

                                      v1.0.216 (2026-07-11)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.215 (2026-07-11)

                                      重构

                                      • remove relationship components from body/mind/wisdom pages

                                      v1.0.214 (2026-07-11)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.213 (2026-07-11)

                                      新功能

                                      • 退款队列系统 - 待退款自动重试
                                      • 确定性差距修复 - P0全部 + P1部分 + P2/P3核心完成

                                      其他

                                      • - WithdrawalService.audit() 审核通过时余额不足自动创建待退款记录
                                      • - RefundScheduledTasks 每5分钟执行,FIFO处理待退款队列,指数退避重试
                                      • - 新增 Admin API: /api/admin/commission/refunds/pending (列表+状态过滤+分页)
                                      • - 新增 Admin API: /api/admin/commission/refunds/summary (待退款总金额统计)
                                      • - 修复 TianpanDashboardVO 缺失 import
                                      • P0: G7(FamilyAccessInterceptor), G1(五维能量分数持久化), G18(测评对比)
                                      • P1: G8(视角切换+密码校验), G9(邀请码过期/次数/吊销), G2(results_ready联动)
                                      • 新增: G10(规划师绑定家庭审批), G13(地址SFMS导入骨架), G14(Dify会话本地镜像)
                                      • P2: G23(schema_versions迁移表), G25(schema.sql新表补齐),
                                      • G3(测评报告结构化 structured_analysis), G26(test-mode启动断言)
                                      • P3: G4(死字段标记deprecated), G27(sfms只读强制)
                                      • 新增文件: TeacherFamilyBindingController/Service/Mapper/Entity,
                                      • ChatConversation, ChatMessage, ChatMirrorService,
                                      • SchemaVersion, PendingRefund服务(提现退款处理)
                                      • 预留未完成(工作量过大): G15(饮食推荐规则层), G21(PDF多供应商), G22(前端mock) -

                                      v1.0.212 (2026-07-11)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.211 (2026-07-11)

                                      Bug 修复

                                      • 删除body页face多余的
                                      • 修复模板多根元素错误

                                      v1.0.210 (2026-07-11)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.209 (2026-07-11)

                                      新功能

                                      • 变更日志弹窗宽高加大至900px/700px

                                      Bug 修复

                                      • 修复E2E-TEST-SCENARIOS.md section12编码乱码
                                      • 鏇存柊 playwright 閰嶇疆 + 鏂板娴嬭瘯鏂囦欢 (consignee/health-report/teacher-dashboard/publish-dimension-articles)

                                      v1.0.207 (2026-07-11)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.206 (2026-07-11)

                                      Bug 修复

                                      • add updateTier(Long, String, String) overload to match call in PromotionTierEvalService

                                      新功能

                                      • enhance PpointService with save/delete/query methods and English javadoc

                                      其他

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.205 (2026-07-11)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.204 (2026-07-11)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.203 (2026-07-11)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.202 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.201 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.200 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.199 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.198 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.197 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.196 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.195 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.194 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.193 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.192 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.191 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.190 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.189 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.188 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.187 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.186 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.185 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.184 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.183 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.182 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.181 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.180 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.179 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.178 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.177 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.176 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.175 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.174 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.173 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.172 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.171 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.170 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.169 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.168 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.167 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.166 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.165 (2026-07-10)

                                      重构

                                      • merge health actions into quick-action bar, remove separate report/nutrition sections

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.164 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.163 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.162 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.161 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.160 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.159 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.158 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.157 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.156 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.155 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.154 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.153 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.152 (2026-07-10)

                                      新功能

                                      • add PromotionTierEvalService and daily scheduled task for tier check
                                      • promotion tier system, teacher message unread badge, FamilyEnergyBar collapse
                                      • integrate promotion tier scaling into commission settlement + DB migration
                                      • add PromotionTierConfig entity/mapper for configurable promotion tiers

                                      其他

                                      Bug 修复

                                      • 七维健康图无个人数据时返回默认值 65

                                      v1.0.151 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.150 (2026-07-10)

                                      Bug 修复

                                      • 身/心维度页推荐文章添加dimensionCode过滤

                                      其他

                                      • 遗漏了 dimensionCode 参数,导致推荐文章未按维度过滤。
                                      • 智/行维度页已有正确过滤,对齐处理。 -

                                      v1.0.149 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.148 (2026-07-10)

                                      新功能

                                      • 确定性差距修复 - P0全部 + P1部分完成

                                      其他

                                      • - G7: FamilyAccessInterceptor familyId 入参校验
                                      • - G1: 五维能量分数持久化 (five_dimension_scores)
                                      • - G18: 首次vs最新测评对比端点
                                      • - G8: 视角切换统一 + 密码校验
                                      • - G9: 邀请码过期/次数/吊销
                                      • - G2: 测评订单 results_ready 联动
                                      • - G13: 地址数据库导入骨架 -

                                      v1.0.146 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.145 (2026-07-10)

                                      Bug 修复

                                      • 修复退款失败 - package_orders表缺少user_coupon_id列

                                      其他

                                      • - schema.sql: package_orders建表语句同步添加user_coupon_id列 -

                                      v1.0.143 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.142 (2026-07-10)

                                      Bug 修复

                                      • add missing PpointService for CommissionService compilation

                                      新功能

                                      • 一生一世家庭会员订阅系统 - 编译修复与完善

                                      其他

                                      • - 创建缺失的 PpointService (被 CommissionService 引用)
                                      • - 修复 FamilyAccessInterceptor 两处编译错误
                                      • - 添加缺失 @Component import
                                      • - HandlerMapping.PATH_VARIABLES_ATTR → 字符串字面量
                                      • - MemberSubscriptionService 实现 P-point 消费返利
                                      • - subscribe/renew 时 L1 推荐人获消费返利 (L1=20%, L2=40%)
                                      • - DatabaseInitializer 添加迁移69: promotion_tier_config 表 + R0-R4 种子数据
                                      • New files:
                                      • - PpointService.java
                                      • - FamilyAccessInterceptor.java (家庭数据访问安全拦截器)
                                      • - RequestBodyCachingFilter.java (body 缓存供拦截器使用)
                                      • - AdminSubscriptionController.java
                                      • - FiveDimensionScoreService.java + entity/mapper (五维能量持久化)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.140 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.139 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.136 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.133 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.130 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.129 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.128 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.127 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.126 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.125 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.124 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.123 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.122 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.121 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.120 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.119 (2026-07-10)

                                      Bug 修复

                                      • specs字段规范化为合法JSON避免MySQL JSON列报错

                                      其他

                                      • 将 "颜色:红色;尺码:M" 文本格式转为 {"颜色":"红色","尺码":"M"} JSON
                                      • - 前端 ProductSkuEditor handleSave 发送前同样做前端规范化
                                      • - 根因: product_skus.specs 列为 MySQL JSON NOT NULL, 前端输入普通文本被拒绝

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.118 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.117 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.116 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.115 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.114 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.113 (2026-07-10)

                                      重构

                                      • 全代码库替换术语 分销→销售 分润→返利 裂变→推荐 分佣→佣金

                                      其他

                                      • - 前端小程序(cfc-frontend)会员页用户可见文本
                                      • - PPT 生成器脚本及输出(5 个生成器 + 确定性PPT)
                                      • - Java 后端 Swagger 描述、错误消息、日志、注释
                                      • - SQL schema COMMENT 和段注释
                                      • - Web 管理端路由和 API 注释
                                      • - 所有设计文档/需求文档/Spec 文档
                                      • - 测试文件描述和官网文稿
                                      • 保留不变:数据库表名/列名、Java 类名/方法名/变量名等技术标识符
                                      • - Update imports in guide/plans/detail.vue and guide/plans/index.vue
                                      • - Remove AssessmentOrderController and related tests (moved to DanAssessmentController)
                                      • - Resolve merge conflicts in cfc-web

                                      Bug 修复

                                      • resolve getPlanDetail duplicate declaration and clean up assessment controllers
                                      • getTrendStats send {} to avoid axios stringify undefined

                                      v1.0.112 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      Bug 修复

                                      • 用原生 button @click 替换 el-button 绕过组件事件问题

                                      其他

                                      -

                                      v1.0.111 (2026-07-10)

                                      Bug 修复

                                      • knowledge layout — wrap body, add status filter dropdown

                                      v1.0.109 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.108 (2026-07-10)

                                      其他

                                      • debug: 添加原生 button 对比测试点击事件 -

                                      v1.0.106 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.105 (2026-07-10)

                                      文档

                                      • 添加 superpowers 设计文档与确定性修复计划
                                      • 添加融资计划书演示文稿(PreA/PreA+轮)
                                      • 融资计划书PPT内容方案更新至 v1.0

                                      其他

                                      v1.0.104 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.103 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.102 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.101 (2026-07-10)

                                      重构

                                      • remove login gate from activity/product/article detail pages

                                      其他

                                      • Prices visible before/after login. Login only required for booking, placing orders, adding to cart. -

                                      v1.0.99 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.98 (2026-07-10)

                                      新功能

                                      • DAN测评市场转化全链路实现(Phase 1-5)

                                      其他

                                      • - AssessmentProduct实体/Mapper/Service/Controller
                                      • - 管理端测评商品管理页面 + 规划师端测评商品页
                                      • - 测评额度配额管理与扣减服务
                                      • - 商品SKU/促销层级/推荐树实体与迁移
                                      • Phase 2 - 购买与执行解耦:
                                      • - 预约-支付-执行分离流程
                                      • - AssessmentQuotaService额度扣减逻辑
                                      • - 预约确认/取消/支付回调
                                      • - 前端预约页+额度页+上传页
                                      • Phase 3 - 报告双通道+结构化指导:
                                      • - AssessmentReportController(上传/确认/指导意见)
                                      • - GrowthGuidanceService结构化指导意见
                                      • - ReportParseService PDF解析
                                      • - 家长上传报告+规划师录入结果双通道
                                      • Phase 4 - 方案生成引擎:
                                      • - AssessmentPlanRule规则引擎(维度×分数区间匹配)
                                      • - AssessmentPlanGenerator自动方案生成
                                      • - AdminPlanRuleController规则CRUD
                                      • - 迁移63-66: assessment_plan_rule建表 + TaskPlanInstance扩展字段
                                      • - 管理端方案规则配置页 + 方案管理看板
                                      • Phase 5 - 方案审核与执行:
                                      • - PlanReviewController(规划师方案列表/审核/激活)
                                      • - PlanActivationService激活生成待办任务
                                      • - 规划师小程序方案审核页+详情页
                                      • - 修复既存asyncDeepParse编译错误
                                      • 新增: 会员订阅/积分体系/商城商品管理等基础设施 -

                                      v1.0.97 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.96 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      Bug 修复

                                      • el-link 点击事件改用 .native 修饰符

                                      其他

                                      -

                                      v1.0.94 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.93 (2026-07-10)

                                      重构

                                      • remove reading timer from article detail

                                      其他

                                      v1.0.92 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.91 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      其他

                                      Bug 修复

                                      • 注册 Element UI Link 组件使变更日志可点击
                                      • AdminArticleController 空字串转Long抛NumberFormatException

                                      v1.0.89 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.88 (2026-07-10)

                                      文档

                                      • add DAN assessment market transformation plan — full 5-phase design

                                      v1.0.87 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.86 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      其他

                                      • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                                      • 新增服务器运行状态: 运行时长、CPU 使用率、JVM 内存占用, 数据来自后端 /api/system/health 接口
                                      • 已在 mounted 中调用 loadServerHealth() 自动加载
                                      • Ultraworked with Sisyphus
                                      • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai

                                      Bug 修复

                                      • 系统状态卡片增加变更日志入口与服务器运行监控

                                      v1.0.84 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.83 (2026-07-10)

                                      新功能

                                      • tongue diagnosis as health report type

                                      其他

                                      • - report-confirm.vue: add tongue indicators card, route confirm to confirmTongue
                                      • - report-list.vue: add tongue badge display
                                      • - body/index.vue: redirect tongue entry to report-upload?reportType=tongue
                                      • - tongue-index.vue: deprecate — redirect to new report flow
                                      • - api.js: parseReportPreview accepts optional type param -

                                      v1.0.82 (2026-07-10)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.81 (2026-07-10)

                                      新功能

                                      • AI管家会话管理 - ButlerSession实体/服务/控制器 + 迁移42
                                      • 统一四个Tab页面的家庭关系卡片组件 + 齿轮图进入成员维护

                                      其他

                                      • - 新增 ButlerSessionMapper (MyBatis-Plus)
                                      • - 新增 ButlerSessionService (CRUD/归档/上下文管理)
                                      • - 新增 ButlerController (/api/ai/butler/sessions/* 6端点)
                                      • - DatabaseInitializer 迁移42: 创建 butler_sessions 表
                                      • - schema.sql 同步更新 -

                                      v1.0.80 (2026-07-09)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.79 (2026-07-09)

                                      新功能

                                      • emotion checkin add video capture + enhanced AI simulation

                                      其他

                                      v1.0.78 (2026-07-09)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.77 (2026-07-09)

                                      文档

                                      • 一生一世家庭会员设计方案 v1.1 + 双并行实施计划

                                      其他

                                      • - 拆分为两个并行实施计划:
                                      • Plan 1: 订阅+推广核心(P0+P1, 12-15天)
                                      • Plan 2: AI+管家+推荐引擎(P0b+P2+P3, 15-20天)
                                      • - Plan 2 通过 Stub/Provider 模式与 Plan 1 解耦,可完全并行开发 -

                                      v1.0.76 (2026-07-09)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.75 (2026-07-09)

                                      新功能

                                      • 五维幸福矩阵『身』由『主动健康』更名为『根基永固』

                                      v1.0.74 (2026-07-09)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.73 (2026-07-09)

                                      新功能

                                      • split admin/teacher dashboards, enrich admin with 8 stat cards, ECharts charts, system health panel, 8 quick actions

                                      其他

                                      • - Rewrite Dashboard.vue to admin-only (875 lines) with expanded stats
                                      • - Add getDashboardOverview() API for /api/stats/overview
                                      • - Add ECharts trend chart (user/family growth) and membership pie chart
                                      • - Replace system info with enriched health panel (status, version, refresh)
                                      • - Expand quick actions from 4 to 8 (4x2 gradient icon grid)
                                      • - Register /teacher-dashboard route, update router guard for teacher redirect
                                      • - Make sidebar '首页' menu path dynamic based on role
                                      • - Update AGENTS.md with new dashboard architecture -

                                      v1.0.72 (2026-07-09)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.71 (2026-07-09)

                                      新功能

                                      • purchase field config UI + consignee mini-program pages (P2-P3)

                                      v1.0.70 (2026-07-09)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.69 (2026-07-09)

                                      Bug 修复

                                      • convert content-bearing VARCHAR columns to TEXT to prevent Data too long errors

                                      其他

                                      • audit_reason, summary, advice, overall_assessment, config_value fields
                                      • from VARCHAR(255/500/200) to TEXT across ~40 tables
                                      • - Added idempotent modifyColumnToText() migrations in DatabaseInitializer
                                      • (~55 ALTER TABLE MODIFY COLUMN calls) for production database sync
                                      • - Primary fix: activities.description was the original crash site but
                                      • many other columns had the same truncation risk -

                                      v1.0.68 (2026-07-09)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.67 (2026-07-09)

                                      Bug 修复

                                      • show family relation graph card even with single member

                                      其他

                                      • so the card displays for families with only 1 member. the canvas
                                      • drawing already guards against drawing lines when < 2 members. -

                                      v1.0.66 (2026-07-09)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.65 (2026-07-09)

                                      Bug 修复

                                      • connect after-sales request and product order refund flows

                                      其他

                                      • admin order management can find refunding orders (was filtering by
                                      • order.status='refunding' but after-sales was stored in separate table).
                                      • ProductOrderService.approveRefund/rejectRefund now syncs back to
                                      • AfterSalesRequest.status so mini-program after-sales list stays in sync.
                                      • ProductOrderDTO.from() now carries refund/logistics fields that were
                                      • previously omitted, so admin refund dialog shows refund reason. -

                                      v1.0.64 (2026-07-09)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.63 (2026-07-09)

                                      Bug 修复

                                      • restore DatabaseInitializer encoding and fix ActivityController tests

                                      其他

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.62 (2026-07-09)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.61 (2026-07-09)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.60 (2026-07-09)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.59 (2026-07-09)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.58 (2026-07-09)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.57 (2026-07-09)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.56 (2026-07-09)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.55 (2026-07-09)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.54 (2026-07-09)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.53 (2026-07-09)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.52 (2026-07-09)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.51 (2026-07-09)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.50 (2026-07-09)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.49 (2026-07-09)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.48 (2026-07-09)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.47 (2026-07-09)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.46 (2026-07-09)

                                      Bug 修复

                                      • 修复 numsoul_config 种子数据语法错误(缺失引号和逗号)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.45 (2026-07-09)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.44 (2026-07-09)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.43 (2026-07-09)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.42 (2026-07-09)

                                      新功能

                                      • enhance health reports page and add draft audit UI

                                      其他

                                      Bug 修复

                                      • improve health report scoring and add admin report list

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.41 (2026-07-09)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.40 (2026-07-09)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      其他

                                      • sync: merge E2E test stash from cfclub branch (AGENTS.md, package-lock, test report)

                                      测试

                                      • fix e2e test runner - mini-games Playwright syntax, admin-panel URL, baseURL
                                      • improve E2E test robustness and simplify DAN assessment flow

                                      文档

                                      • update E2E test results documentation

                                      Bug 修复

                                      • repair playwright baseURL, add test scripts and lockfile
                                      • resolve merge conflict in DatabaseInitializer, add mascot to UpdateUserDTO

                                      v1.0.39 (2026-07-09)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.38 (2026-07-09)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.37 (2026-07-09)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.36 (2026-07-09)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.35 (2026-07-09)

                                      新功能

                                      • consignee + purchase field module (migration, entity, mapper, service, controller)
                                      • add admin activity creation and management features
                                      • family members empty state — always show as entry point

                                      其他

                                      • Ultraworked with Sisyphus
                                      • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                                      • Ultraworked with Sisyphus
                                      • Co-authored-by: Sisyphus clio-agent@sisyphuslabs.ai
                                      • - 添加 → 导航到 /pages/family/add-member
                                      • - 邀请 → 打开邀请弹窗
                                      • - family-header 在无 familyName 时显示 '我的家庭' 占位
                                      • - 筛选后无结果时仍显示 '暂无家长/暂无孩子' 提示
                                      • - Unify formatTime to t.replace('T',' ').substring(0,19) pattern
                                      • - Replace new Date().toLocaleString() with consistent T-replace in
                                      • OrderManage/WithdrawAudit/EmotionAlertManage/ProductManage
                                      • - Uses table-scroll-wrap CSS classes (overflow:auto + max-height)
                                      • - Inline overflow:auto;max-height style on pages without class wrapper

                                      Bug 修复

                                      • add role-based permission checks to activity endpoints
                                      • 补齐个人信息保存缺失的 idCard/mascot 映射
                                      • normalize time format to YYYY-MM-DD HH:mm:ss across admin pages
                                      • complete scroll wrapper for all 59 pages with fixed=right columns

                                      工程化

                                      • auto bump version and changelog [skip ci]
                                      • auto bump version and changelog [skip ci]
                                      • auto bump version and changelog [skip ci]

                                      v1.0.34 (2026-07-08)

                                      重构

                                      • unify admin page styles with global CSS design tokens
                                      • merge wechatLogin and wechatPhoneLogin, capture phone from WeChat

                                      其他

                                      工程化

                                      • auto bump version and changelog [skip ci]
                                      • auto bump version and changelog [skip ci]
                                      • auto bump version and changelog [skip ci]
                                      • auto bump version and changelog [skip ci]
                                      • auto bump version and changelog [skip ci]
                                      • auto bump version and changelog [skip ci]
                                      • auto bump version and changelog [skip ci]
                                      • auto bump version and changelog [skip ci]
                                      • auto bump version and changelog [skip ci]
                                      • auto bump version and changelog [skip ci]
                                      • auto bump version and changelog [skip ci]
                                      • auto bump version and changelog [skip ci]
                                      • auto bump version and changelog [skip ci]
                                      • auto bump version and changelog [skip ci]
                                      • auto bump version and changelog [skip ci]
                                      • auto bump version and changelog [skip ci]
                                      • auto bump version and changelog [skip ci]
                                      • auto bump version and changelog [skip ci]
                                      • auto bump version and changelog [skip ci]
                                      • auto bump version and changelog [skip ci]
                                      • auto bump version and changelog [skip ci]
                                      • auto bump version and changelog [skip ci]
                                      • auto bump version and changelog [skip ci]
                                      • auto bump version and changelog [skip ci]
                                      • auto bump version and changelog [skip ci]
                                      • auto bump version and changelog [skip ci]
                                      • auto bump version and changelog [skip ci]
                                      • auto bump version and changelog [skip ci]
                                      • auto bump version and changelog [skip ci]
                                      • auto bump version and changelog [skip ci]
                                      • auto bump version and changelog [skip ci]
                                      • auto bump version and changelog [skip ci]
                                      • auto bump version and changelog [skip ci]

                                      文档

                                      • add article system redesign design document

                                      新功能

                                      • redesign article-center with search/nav/dimension-param; enhance mind/articles with search and unified detail
                                      • unify article entry points to article-center
                                      • redesign family-members page with gear entry, detail modal, edit permissions
                                      • add /api/family/member/editable endpoint
                                      • add FamilyRelationshipService, refactor FamilyMemberService for bidirectional relations
                                      • add family_relationships table with entity/mapper/migration

                                      Bug 修复

                                      • revert error-throwing, keep auto-create for unidentified users
                                      • prevent auto-create user when openid not found and no phoneCode
                                      • wechatLogin use real code2Session API instead of mock openid
                                      • validate openid before WeChat prepay - reject phone-prefixed/mock openid (resolves PARAM_ERROR 无效的openid)

                                      v1.0.31 (2026-07-08)

                                      Bug 修复

                                      • add missing wangEditor Toolbar component to enable rich text editing
                                      • add overflow:auto scroll wrapper to all 58 pages with fixed=right columns

                                      其他

                                      • - Fix prop name from :config to :defaultConfig (wangEditor Vue2 API)
                                      • - Add toolbarConfig for Toolbar component initialization
                                      • - Add missing @wangeditor/editor CSS import to ArticleEdit and ActivityEdit
                                      • - Add editor CSS styles (rich-editor border, toolbar wrap, text-container min-height)
                                      • - All 58 Vue pages with fixed="right" columns now have horizontal scroll container
                                      • - Pattern: div wrapper with overflow:auto;max-height:calc(100vh - 300px)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.29 (2026-07-08)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.27 (2026-07-08)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.25 (2026-07-08)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      v1.0.24 (2026-07-08)

                                      工程化

                                      • auto bump version and changelog [skip ci]

                                      Bug 修复

                                      • admin UI improvements - action dropdown, scroll, labels, confirm dialogs

                                      其他

                                      • - Layout.vue 全局滚动修复(overflow-y:auto 覆盖所有 admin-page 编辑页)
                                      • - 搜索框"全部"选项改为语义标签(11 页面:「全部状态」「全部分类」等)
                                      • - 状态变更操作增加 确认 + 自动 loadList() 刷新
                                      • - 活动列表 flex 布局 + 滚动 CSS 修复 -

                                      v1.0.21 (2026-07-08)

                                      工程化

                                      • bump to v1.0.20

                                      v1.0.20 (2026-07-08)

                                      新功能

                                      • radar chart dual-line support (avg + user cognitive scores)

                                      其他

                                      • - Shows gray dashed avg line behind user's indigo filled polygon
                                      • - 6 dims: perception/focus/memory/logic/spatial/processing speed -

                                      v1.0.19 (2026-07-08)

                                      新功能

                                      • radar chart dual-line support (avg + user scores)

                                      其他

                                      • - New _drawAvgScoreArea() method renders average as background layer
                                      • - Body page passes mock avg scores alongside user dimension scores
                                      • - Avg scores: [72,68,75,70,73,69,71] for 7 dimensions
                                      • - Without user data, only avg line shows; with data, both lines visible
                                      • - Add console logs for tracking dimension data loading flow
                                      • - Helps diagnose radar chart not rendering when no child selected or API fails
                                      • - Bump package.json version 1.0.11 → 1.0.17
                                      • - Update .last_build_commit to latest build
                                      • - web/index.html: update Clarity tracking ID, remove duplicate inline script

                                      Bug 修复

                                      • guard loadHealthDimensions on activeChildId + debug logs
                                      • add table overflow scroll to admin pages

                                      工程化

                                      • clean CHANGELOG, bump version to 1.0.17, update Clarity tracking ID

                                      v1.0.18 (2026-07-08)

                                      Bug 修复

                                      • guard loadHealthDimensions on activeChildId + debug logs
                                      • add table overflow scroll to admin pages

                                      其他

                                      • - Add console logs for tracking dimension data loading flow
                                      • - Helps diagnose radar chart not rendering when no child selected or API fails
                                      • - Bump package.json version 1.0.11 → 1.0.17
                                      • - Update .last_build_commit to latest build
                                      • - web/index.html: update Clarity tracking ID, remove duplicate inline script

                                      工程化

                                      • clean CHANGELOG, bump version to 1.0.17, update Clarity tracking ID

                                      v1.0.18 (2026-07-08)

                                      v1.0.18 (2026-07-08)

                                      Bug 修复

                                      • Dashboard.vue: 替换 CSS Grid 为 flexbox(.td-quick-actions、.td-today-stats)
                                      • Dashboard.vue: teacher API null/undefined 守卫,防止 Promise.all catch 后访问 undefined 属性
                                      • Dashboard.vue: el-progress 进度环空值容错(parseFloat fallback)
                                      • Dashboard.vue: 改进 Markdown 解析器,支持代码块、列表、标题、加粗/斜体/链接
                                      • 闭合括号格式错误导致构建失败

                                      v1.0.17 (2026-07-08)

                                      Bug 修复

                                      • ArticleService.recordRead: null userId 守卫,防止 creator_id NOT NULL 异常
                                      • TeacherDashboard: 添加 null/undefined 守卫

                                      新功能

                                      • Dashboard.vue 全面优化:CSS grid → flexbox、API 错误处理、进度条容错、Markdown 解析器增强

                                      其他

                                      • omf 插件更新至最新版本
                                      • web/index.html: Clarity 追踪 ID 更新 (xbtkn3d56w → xj4p74ra9m),移除重复内联脚本