个人测评报告 / API 验收

这页专门把个人测评这条线里最容易混的 3 件事拆开:提交 API、报告回读、Prompt 边界。这样我们不会只验到“能出结果”,却漏掉对外字段和服务端边界。

当前验收顺序

先看 `POST /api/assessment/complete` 的公开返回,再回 `/app/assess/report` 核公开结果有没有接住,最后去看 Prompt API 边界,确认私有字段没有顺手漏出去。

如果要先回总图

如果现在已经在核个人测评报告 / API,先回最终联调总地图和 Coach v2.3 总映射,再看这轮到底是在收前台报告、Prompt 边界还是后续教练承接。

提交 API:`POST /api/assessment/complete`

先核公开返回结构是不是已经稳定成产品可消费的样子。

curl

curl -X POST "http://localhost:3000/api/assessment/complete" \
  -H "Content-Type: application/json" \
  -d '{"version":"L1","answers":{"L1_Q001":"A"}}'

公开返回重点

{
  "success": true,
  "data": {
    "version": "L1",
    "persisted": true,
    "profile": { "summary": {}, "readinessScore": 72 },
    "recommendations": [],
    "recommendedSuite": "standard",
    "reportSuites": [
      {
        "id": "standard",
        "isRecommended": true,
        "actionCopy": {},
        "partnerFollowUp": {}
      }
    ],
    "boundary": {
      "mode": "mindos_public_safe",
      "hiddenFields": [...]
    }
  }
}
1确认 `POST /api/assessment/complete` 返回 `profile / recommendations / recommendedSuite / reportSuites / boundary`。
2确认 `reportSuites[]` 已带 `isRecommended / actionCopy / partnerFollowUp`,而不是只回裸报告块。
3确认前台 `/app/assess/report` 能顺着公开结果继续读标准版 / 深度版 / 融合版。

服务端边界

这里专门核:哪些字段继续只留在服务端,不该跟着报告或 Prompt 对外返回。

继续隐藏

privateSummaryrawDimensionsquestionScoresscore_weightsb_module_rule_detailsprompt_private_payloads

当前公开口径

对外继续只出公开 profile、reportSuites、推荐版本和 follow-up,不直接给原始算分、权重、B 模块规则或 Prompt 私有载荷。

前台报告回读

API 核完以后,回前台确认公开结果是否真的被产品页吃住。

前台核对点

  • - `/app/assess/report` 能读到公开 profile summary 和 readinessScore。
  • - 标准版 / 深度版 / 融合版切换仍能正常工作。
  • - 报告页里的合伙人 follow-up 仍只基于公开结果继续承接。

Prompt API 边界

最后核 Prompt API,确认解释层继续只看 contract 和示例 payload。

curl

curl "http://localhost:3000/api/assessment/prompt-payloads?layer=scoring"
1确认 `GET /api/assessment/prompt-payloads?layer=scoring` 能返回示例载荷。
2确认 Prompt API 只回示例 payload 与 contract,不直接暴露公式、权重或原始算分链。
3确认 `boundary.hiddenFields` 与 Prompt API 的 private fields 口径保持一致。