Files
airz-uniapp/docs/候选版本/rc-20261009-r3-mp1/acceptance-cases.json
T

3840 lines
134 KiB
JSON
Raw Normal View History

{
"schemaVersion": 1,
"candidateId": "rc-20261009-r3-mp1",
"taskCount": 63,
"pageCount": 27,
"sourceTreeSha256": "aa5170fe434db364da97cbe31ae58cfb7b67692fff39fb598301c148dbb34526",
"taskLedgerSnapshotSha256": "c92df6c5c65fa30bdcfaae49f69b999789a6578730e4768d6ba1b88978ae8eb8",
"pages": [
"pages/home/home",
"packages/finance/entry/entry",
"packages/finance/assessment/assessment",
"packages/finance/confirm/confirm",
"packages/finance/analyzing/analyzing",
"packages/finance/report/report",
"packages/finance/next-step/next-step",
"packages/finance/matches/matches",
"packages/finance/product/product",
"packages/finance/compare/compare",
"packages/finance/assistant/assistant",
"packages/finance/archive/archive",
"packages/account/index/index",
"packages/account/login/login",
"packages/account/profile/profile",
"packages/account/edit-profile/edit-profile",
"packages/account/security/security",
"packages/account/password/password",
"packages/account/change-phone/change-phone",
"packages/account/points/points",
"packages/account/messages/messages",
"packages/content/search/search",
"packages/content/help/help",
"packages/content/news/news",
"packages/content/article/article",
"packages/content/classroom/classroom",
"packages/content/lesson/lesson"
],
"commonExecutionRules": [
"本轮只定义和固定用例,63项正式结果全部未执行,不预填签收。",
"真实账户/运营写入、真实模型、迁移/守护/恢复演练须按相应已有授权和环境约束另行实施。",
"执行记录必须带候选源码摘要、实际设备与版本;源码变更后创建新候选,保留本基线。",
"课程整篇一次已读、无草稿、身份证明文输入/后台脱敏、积分默认关闭保持。",
"不在公开结果记录手机号、Token、凭据、证件内容或原始生产数据。"
],
"evidenceCatalog": [
{
"id": "E01",
"title": "1.02 主流程",
"date": "2026-10-08",
"historicalChecks": 1666,
"formalAcceptance": false,
"rerunThisTurn": false,
"artifacts": [
{
"privateRelativePath": "core-flow-regression/airz-core-flow-1791443749845/verification.json",
"sha256": "ed7d8ef872b03740b204c87ee19b6d159b95d7cbf569a0da89fd494e17fbbd27"
},
{
"privateRelativePath": "core-flow-regression/airz-core-flow-1791443749845/tests.json",
"sha256": "bd54d4643b023322f276c19f504f98c1842c4e3bbf4d3d9085598cb05b01f761"
},
{
"privateRelativePath": "core-flow-regression/airz-core-flow-1791443749845/cleanup.json",
"sha256": "79f62bb7a68ec82f81f6a614fe2793385b94e82332bc10bca15e41e4a0d80a01"
},
{
"privateRelativePath": "core-flow-regression/airz-core-flow-1791443749845/final-source-validation.json",
"sha256": "e22a100a6c5b8dc7bfcb8ad476b1f0dd85990f923befa92498bd85fdbba468fe"
}
],
"testSourceApplicability": [
{
"path": "tests/core_assessment_flow.php",
"recordedSha256": "35e5d7a5d85e0604e13ace6d5fb9a7f650512232fe1515b580df10441cf62a5e",
"currentSha256": "35e5d7a5d85e0604e13ace6d5fb9a7f650512232fe1515b580df10441cf62a5e",
"status": "same-test-source",
"currentEvidence": null
},
{
"path": "tests/match_records.php",
"recordedSha256": "215709f81458fa59958ccf10e7713be6a2483f0898c9fba806250309348406c8",
"currentSha256": "215709f81458fa59958ccf10e7713be6a2483f0898c9fba806250309348406c8",
"status": "same-test-source",
"currentEvidence": null
},
{
"path": "tests/product_explanations.php",
"recordedSha256": "32e79231ef235f364cbcc08a1bd8d2cfc2826907886b2d7abcad6048e71b5011",
"currentSha256": "32e79231ef235f364cbcc08a1bd8d2cfc2826907886b2d7abcad6048e71b5011",
"status": "same-test-source",
"currentEvidence": null
},
{
"path": "tests/report_persistence.php",
"recordedSha256": "835b3677fc3809eb77fa399d78502062ea39fc1d80093f77cb6a3c56079b95a2",
"currentSha256": "835b3677fc3809eb77fa399d78502062ea39fc1d80093f77cb6a3c56079b95a2",
"status": "same-test-source",
"currentEvidence": null
},
{
"path": "tests/api_assessments.php",
"recordedSha256": "bcf7ffee73a09c327020b457da6c263e26c212a7ae675dcfd44c7a20ac839e83",
"currentSha256": "bcf7ffee73a09c327020b457da6c263e26c212a7ae675dcfd44c7a20ac839e83",
"status": "same-test-source",
"currentEvidence": null
},
{
"path": "tests/product_matching.php",
"recordedSha256": "9b555c04468ba32d1bbbb7d6db12d88796b3e31bcaf18a5b2d7513780fa87898",
"currentSha256": "9b555c04468ba32d1bbbb7d6db12d88796b3e31bcaf18a5b2d7513780fa87898",
"status": "same-test-source",
"currentEvidence": null
},
{
"path": "tests/product_match_rules.php",
"recordedSha256": "55f3ce3703b9899b0b91029b36a48a62ab3eb9061bbcfc0d76b117951be1c465",
"currentSha256": "55f3ce3703b9899b0b91029b36a48a62ab3eb9061bbcfc0d76b117951be1c465",
"status": "same-test-source",
"currentEvidence": null
},
{
"path": "tests/assessment_revisions.php",
"recordedSha256": "d1d2a28b11f87af2465b21d2c0b77993cb1bc2105868e29c4e028ffe7020ccd1",
"currentSha256": "d1d2a28b11f87af2465b21d2c0b77993cb1bc2105868e29c4e028ffe7020ccd1",
"status": "same-test-source",
"currentEvidence": null
},
{
"path": "tests/product_matching_tasks.php",
"recordedSha256": "95752cea15ba763011224e6a3a6db3d34c043814e4c473780455ad5aa4eef492",
"currentSha256": "95752cea15ba763011224e6a3a6db3d34c043814e4c473780455ad5aa4eef492",
"status": "same-test-source",
"currentEvidence": null
},
{
"path": "tests/report_history.php",
"recordedSha256": "a5c8c20016454b1624aefb7ab01309afdd787dd82006ee3cacffd3aae6672824",
"currentSha256": "a5c8c20016454b1624aefb7ab01309afdd787dd82006ee3cacffd3aae6672824",
"status": "same-test-source",
"currentEvidence": null
}
],
"limitation": "合成数据/假模型与当时源码的局部开发证据;测试入口一致也不证明全部业务依赖或真实渠道一致。"
},
{
"id": "E02",
"title": "1.03 会话组合",
"date": "2026-10-08",
"historicalChecks": 1369,
"formalAcceptance": false,
"rerunThisTurn": false,
"artifacts": [
{
"privateRelativePath": "security-flow-regression/airz-security-flow-1791445051475/verification.json",
"sha256": "b27946877b8b8b25e4bc88e86aac1f38b1739cfbfe2303bdc5c7eccf461c5206"
},
{
"privateRelativePath": "security-flow-regression/airz-security-flow-1791445051475/tests.json",
"sha256": "fd44327c5cd41095beffbff757b25fc1bf94683e095a8c33517480574ca52872"
},
{
"privateRelativePath": "security-flow-regression/airz-security-flow-1791445051475/cleanup.json",
"sha256": "ff036ca83f80c0bb0c01d4134c020b234d46e926d71181597450e6fdf5521d06"
},
{
"privateRelativePath": "security-flow-regression/airz-security-flow-1791445051475/final-source-validation.json",
"sha256": "22907fb7f5ebeec4a66bb633450d5a93489c62e995eff599a1c47b0a53962d6a"
}
],
"testSourceApplicability": [
{
"path": "tests/session_assistant_flow.php",
"recordedSha256": "871a672571f5a47a63acda7bdcd4fc3a87eef353f513b2ac24651870bbd86c82",
"currentSha256": "871a672571f5a47a63acda7bdcd4fc3a87eef353f513b2ac24651870bbd86c82",
"status": "same-test-source",
"currentEvidence": null
},
{
"path": "tests/api_session.php",
"recordedSha256": "e6821886a1d27b33b01802bd8845b4ea48f65993ea8ac463f69f236c5e5ce6f0",
"currentSha256": "e6821886a1d27b33b01802bd8845b4ea48f65993ea8ac463f69f236c5e5ce6f0",
"status": "same-test-source",
"currentEvidence": null
},
{
"path": "tests/assistant_chats.php",
"recordedSha256": "f1ab6d1033bdc7f6188265f64c164658f0864058b22a50b2eab81df5a2918ae6",
"currentSha256": "f1ab6d1033bdc7f6188265f64c164658f0864058b22a50b2eab81df5a2918ae6",
"status": "same-test-source",
"currentEvidence": null
},
{
"path": "tests/api_profile.php",
"recordedSha256": "6cb88f7d54f4ab3e5ebb2095967fbd0c006f1883eb8814a666eaa83370f894fc",
"currentSha256": "6cb88f7d54f4ab3e5ebb2095967fbd0c006f1883eb8814a666eaa83370f894fc",
"status": "same-test-source",
"currentEvidence": null
},
{
"path": "tests/core_assessment_flow.php",
"recordedSha256": "35e5d7a5d85e0604e13ace6d5fb9a7f650512232fe1515b580df10441cf62a5e",
"currentSha256": "35e5d7a5d85e0604e13ace6d5fb9a7f650512232fe1515b580df10441cf62a5e",
"status": "same-test-source",
"currentEvidence": null
}
],
"limitation": "合成数据/假模型与当时源码的局部开发证据;测试入口一致也不证明全部业务依赖或真实渠道一致。"
},
{
"id": "E03",
"title": "1.04 后台组合",
"date": "2026-10-08",
"historicalChecks": 1249,
"formalAcceptance": false,
"rerunThisTurn": false,
"artifacts": [
{
"privateRelativePath": "admin-flow-regression/airz-admin-flow-1791445932955/verification.json",
"sha256": "f743c2d545b63de826abb25686aa017c53f5b988bc2c3639a6cf00c65a8f269e"
},
{
"privateRelativePath": "admin-flow-regression/airz-admin-flow-1791445932955/tests.json",
"sha256": "f4832922a72214e22ddb01b1df13fc3149e4bfd73a04cbf2fdc3984464fc28b4"
},
{
"privateRelativePath": "admin-flow-regression/airz-admin-flow-1791445932955/cleanup.json",
"sha256": "426038269852ebb5de2c371e2d71dbe3ff3d197091ea2659fa662033a699b826"
},
{
"privateRelativePath": "admin-flow-regression/airz-admin-flow-1791445932955/final-source-validation.json",
"sha256": "f2f7bcc54ea2742dc6b5a0e04102cdbc86006632ce0d325b7b96bc6650d76f85"
}
],
"testSourceApplicability": [
{
"path": "tests/admin_permission_definitions.php",
"recordedSha256": "621e5501d18702c825e1f299f25bc5f96af648437182df76c3c8d1722d3f1e1b",
"currentSha256": "621e5501d18702c825e1f299f25bc5f96af648437182df76c3c8d1722d3f1e1b",
"status": "same-test-source",
"currentEvidence": null
},
{
"path": "tests/admin_privacy.php",
"recordedSha256": "ec3f3f90cd7ceb3c9677f24fb67bf430663dbf218ca2f21584d0fbe97b6ad05d",
"currentSha256": "ec3f3f90cd7ceb3c9677f24fb67bf430663dbf218ca2f21584d0fbe97b6ad05d",
"status": "same-test-source",
"currentEvidence": null
},
{
"path": "tests/assessment_diagnostics.php",
"recordedSha256": "e67d19cfd9b1b06b3e2b0968e55b7e122478a210b69a5b1c5c163003ee78d85c",
"currentSha256": "e67d19cfd9b1b06b3e2b0968e55b7e122478a210b69a5b1c5c163003ee78d85c",
"status": "same-test-source",
"currentEvidence": null
},
{
"path": "tests/assessment_retry_service.php",
"recordedSha256": "c00a0db9ea6456c665a0d77f335bf395ed9f33345c40378c48ff894fa27b206d",
"currentSha256": "c00a0db9ea6456c665a0d77f335bf395ed9f33345c40378c48ff894fa27b206d",
"status": "same-test-source",
"currentEvidence": null
},
{
"path": "tests/assessment_retry_audit.php",
"recordedSha256": "7ede17a3bdd957d315f4571ba87a09218b40ea406951a65cc9353be2b09a6b08",
"currentSha256": "7ede17a3bdd957d315f4571ba87a09218b40ea406951a65cc9353be2b09a6b08",
"status": "same-test-source",
"currentEvidence": null
},
{
"path": "tests/service_diagnostics.php",
"recordedSha256": "7474f3ee5197f237ea18aa9587f16d4bb73018b033dcf5cd284141b8db558aee",
"currentSha256": "7474f3ee5197f237ea18aa9587f16d4bb73018b033dcf5cd284141b8db558aee",
"status": "same-test-source",
"currentEvidence": null
},
{
"path": "tests/ai_usage_diagnostics.php",
"recordedSha256": "bf857b42a152783af1a9f63bdd54059e1e32f3cc026392154b1a12df5de70dd6",
"currentSha256": "bf857b42a152783af1a9f63bdd54059e1e32f3cc026392154b1a12df5de70dd6",
"status": "same-test-source",
"currentEvidence": null
},
{
"path": "tests/assessment_diagnostics_db.php",
"recordedSha256": "6457dffb3837940e5eb9f68ae83e31843ca76609ca02dc8ae1dded81e33aa5bc",
"currentSha256": "6457dffb3837940e5eb9f68ae83e31843ca76609ca02dc8ae1dded81e33aa5bc",
"status": "same-test-source",
"currentEvidence": null
},
{
"path": "tests/assessment_retry_service_db.php",
"recordedSha256": "60234921eea0e0a957a02c5324a1c09e8b74c06671e5dfa257031c364ba83cc7",
"currentSha256": "60234921eea0e0a957a02c5324a1c09e8b74c06671e5dfa257031c364ba83cc7",
"status": "same-test-source",
"currentEvidence": null
},
{
"path": "tests/service_diagnostics_db.php",
"recordedSha256": "91f78adc2185f2899fb39dff9ee6ca64713021675354518fc881116c0d8d4428",
"currentSha256": "91f78adc2185f2899fb39dff9ee6ca64713021675354518fc881116c0d8d4428",
"status": "same-test-source",
"currentEvidence": null
},
{
"path": "tests/ai_usage_diagnostics_db.php",
"recordedSha256": "5e291ef4c0a75f5a4e8285a1bd1ddb8404d4f0b31ae25e4178d6d2fd5abdc875",
"currentSha256": "5e291ef4c0a75f5a4e8285a1bd1ddb8404d4f0b31ae25e4178d6d2fd5abdc875",
"status": "same-test-source",
"currentEvidence": null
},
{
"path": "tests/core_assessment_flow.php",
"recordedSha256": "35e5d7a5d85e0604e13ace6d5fb9a7f650512232fe1515b580df10441cf62a5e",
"currentSha256": "35e5d7a5d85e0604e13ace6d5fb9a7f650512232fe1515b580df10441cf62a5e",
"status": "same-test-source",
"currentEvidence": null
},
{
"path": "tests/admin_access.php",
"recordedSha256": "0bd0bf66776b9fb14a050467d67ee94b37f328b923286f6a2fe004e5002b54b1",
"currentSha256": "0bd0bf66776b9fb14a050467d67ee94b37f328b923286f6a2fe004e5002b54b1",
"status": "same-test-source",
"currentEvidence": null
},
{
"path": "tests/admin_assessment_flow.php",
"recordedSha256": "3e2837a8a562ddf52ef07510cd7ad02aa3cc828300c34edd03362f3771805c9c",
"currentSha256": "3e2837a8a562ddf52ef07510cd7ad02aa3cc828300c34edd03362f3771805c9c",
"status": "same-test-source",
"currentEvidence": null
}
],
"limitation": "合成数据/假模型与当时源码的局部开发证据;测试入口一致也不证明全部业务依赖或真实渠道一致。"
},
{
"id": "E04",
"title": "1.05 反馈消息组合",
"date": "2026-10-08",
"historicalChecks": 1018,
"formalAcceptance": false,
"rerunThisTurn": false,
"artifacts": [
{
"privateRelativePath": "feedback-flow-regression/airz-feedback-flow-1791447922008/verification.json",
"sha256": "2e8dea0f9da81946419c0aba60ff08f53fb4d30b164d57e34c2562427ce36c12"
},
{
"privateRelativePath": "feedback-flow-regression/airz-feedback-flow-1791447922008/tests.json",
"sha256": "b184ecbe576f4673e03f10b0328a5370ae4a00081560c92c6e70cd72fc4c2bd0"
},
{
"privateRelativePath": "feedback-flow-regression/airz-feedback-flow-1791447922008/cleanup.json",
"sha256": "04f930d237193c235139542c0c2b21b6abdc25fb9b838c6356743c803dd8bb96"
},
{
"privateRelativePath": "feedback-flow-regression/airz-feedback-flow-1791447922008/final-source-validation.json",
"sha256": "b73cdb4564e23ac9d031c444dbfd4201cd764187272b2b60259dd77e58ce9780"
}
],
"testSourceApplicability": [
{
"path": "tests/feedback_records.php",
"recordedSha256": "9dc80b312a69eb787828149dbf3b0e1f54b14c7007ca0e80d7becd4e0346c5e1",
"currentSha256": "9dc80b312a69eb787828149dbf3b0e1f54b14c7007ca0e80d7becd4e0346c5e1",
"status": "same-test-source",
"currentEvidence": null
},
{
"path": "tests/feedback_editor.php",
"recordedSha256": "da2194ddf21acbafe50720afcd5fe78ffff63953e22289134cc93a2a3ac7c2aa",
"currentSha256": "da2194ddf21acbafe50720afcd5fe78ffff63953e22289134cc93a2a3ac7c2aa",
"status": "same-test-source",
"currentEvidence": null
},
{
"path": "tests/feedback_notifications.php",
"recordedSha256": "208f730f443dfb01a682b34a110abebaf07da19bbadfd99f6d4381db09f0d094",
"currentSha256": "208f730f443dfb01a682b34a110abebaf07da19bbadfd99f6d4381db09f0d094",
"status": "same-test-source",
"currentEvidence": null
},
{
"path": "tests/feedback_recovery_notifications.php",
"recordedSha256": "04743781df63bbdff161838892c63a42d07a8c4031ec6da20da0f38d11987202",
"currentSha256": "04743781df63bbdff161838892c63a42d07a8c4031ec6da20da0f38d11987202",
"status": "same-test-source",
"currentEvidence": null
},
{
"path": "tests/api_session.php",
"recordedSha256": "e6821886a1d27b33b01802bd8845b4ea48f65993ea8ac463f69f236c5e5ce6f0",
"currentSha256": "e6821886a1d27b33b01802bd8845b4ea48f65993ea8ac463f69f236c5e5ce6f0",
"status": "same-test-source",
"currentEvidence": null
},
{
"path": "tests/admin_access.php",
"recordedSha256": "0bd0bf66776b9fb14a050467d67ee94b37f328b923286f6a2fe004e5002b54b1",
"currentSha256": "0bd0bf66776b9fb14a050467d67ee94b37f328b923286f6a2fe004e5002b54b1",
"status": "same-test-source",
"currentEvidence": null
},
{
"path": "tests/feedback_message_flow.php",
"recordedSha256": "dbaa3d419a4e8534bf3103f7a02371fdf8fb78a26de79a5f1cc97a445119d75b",
"currentSha256": "dbaa3d419a4e8534bf3103f7a02371fdf8fb78a26de79a5f1cc97a445119d75b",
"status": "same-test-source",
"currentEvidence": null
}
],
"limitation": "合成数据/假模型与当时源码的局部开发证据;测试入口一致也不证明全部业务依赖或真实渠道一致。"
},
{
"id": "E05",
"title": "1.06 内容发布组合",
"date": "2026-10-08",
"historicalChecks": 1163,
"formalAcceptance": false,
"rerunThisTurn": false,
"artifacts": [
{
"privateRelativePath": "content-flow-regression/airz-content-flow-1791448910652/verification.json",
"sha256": "9f954cde629e098f1278ba9a2c30c9842802d733e2188d8355000afc577271a0"
},
{
"privateRelativePath": "content-flow-regression/airz-content-flow-1791448910652/tests.json",
"sha256": "52ac0c63bec305e584c0bb94a535158ccb514bdf7c75055630889b3b855c6afc"
},
{
"privateRelativePath": "content-flow-regression/airz-content-flow-1791448910652/cleanup.json",
"sha256": "21785e33e84f35e611b3dd05cc3a2087c416c2688c32f0376c44588372c9beaf"
},
{
"privateRelativePath": "content-flow-regression/airz-content-flow-1791448910652/final-source-validation.json",
"sha256": "24afa6d8b3d02bb84ba587733a79accf7c7ee3c04c125688215d5bd9e78786b4"
}
],
"testSourceApplicability": [
{
"path": "tests/content_catalog.php",
"recordedSha256": "c8ee628692b76d58aa44e5e92f03217c0f4a664d42c99725249c3d6737829e80",
"currentSha256": "c8ee628692b76d58aa44e5e92f03217c0f4a664d42c99725249c3d6737829e80",
"status": "same-test-source",
"currentEvidence": null
},
{
"path": "tests/api_content.php",
"recordedSha256": "e3860e15c4521aad9a0d68cc9be950645766b7cfbe540d215e29731fe2f4026b",
"currentSha256": "e3860e15c4521aad9a0d68cc9be950645766b7cfbe540d215e29731fe2f4026b",
"status": "same-test-source",
"currentEvidence": null
},
{
"path": "tests/admin_access.php",
"recordedSha256": "0bd0bf66776b9fb14a050467d67ee94b37f328b923286f6a2fe004e5002b54b1",
"currentSha256": "0bd0bf66776b9fb14a050467d67ee94b37f328b923286f6a2fe004e5002b54b1",
"status": "same-test-source",
"currentEvidence": null
},
{
"path": "tests/content_publication_flow.php",
"recordedSha256": "6ebc93b90bb413c4ca21310df51228e6a870d6553ad09804f95c2ce2a2c4c287",
"currentSha256": "5264cfe35bec3f5e7baa520cb0897efad20dc5fd3e1f698fa9931679d469d5cb",
"status": "changed-since-historical-run",
"currentEvidence": "E06"
}
],
"limitation": "合成数据/假模型与当时源码的局部开发证据;测试入口一致也不证明全部业务依赖或真实渠道一致。"
},
{
"id": "E06",
"title": "1.07 内容CSRF",
"date": "2026-10-08",
"historicalChecks": 1794,
"formalAcceptance": false,
"rerunThisTurn": false,
"artifacts": [
{
"privateRelativePath": "content-csrf-regression/airz-content-csrf-1791450130328/verification.json",
"sha256": "4ec856654ca5fe6422c3743216cafd5a8a95c20cc5f1b33425aa82c2730b9148"
},
{
"privateRelativePath": "content-csrf-regression/airz-content-csrf-1791450130328/tests.json",
"sha256": "999a47e05cf55c961494fae6105282d39c788f6715a9d95bad41e1ddc42bbff7"
},
{
"privateRelativePath": "content-csrf-regression/airz-content-csrf-1791450130328/cleanup.json",
"sha256": "cf83cd46eedab3fd388df3d2f982191263e28cc43cb673afacd6e335ba847c28"
},
{
"privateRelativePath": "content-csrf-regression/airz-content-csrf-1791450130328/final-source-validation.json",
"sha256": "d9451e5c7c3e38211cc326ad394623e5ae788c955aa7f8961919c98bed73c56a"
}
],
"testSourceApplicability": [
{
"path": "tests/content_csrf.php",
"recordedSha256": "bc028a3fa89cb0bf36433c647c12202556bbd92094687d5fa438c1aadd55a4a0",
"currentSha256": "bc028a3fa89cb0bf36433c647c12202556bbd92094687d5fa438c1aadd55a4a0",
"status": "same-test-source",
"currentEvidence": null
},
{
"path": "tests/content_publication_flow.php",
"recordedSha256": "5264cfe35bec3f5e7baa520cb0897efad20dc5fd3e1f698fa9931679d469d5cb",
"currentSha256": "5264cfe35bec3f5e7baa520cb0897efad20dc5fd3e1f698fa9931679d469d5cb",
"status": "same-test-source",
"currentEvidence": null
},
{
"path": "tests/content_catalog.php",
"recordedSha256": "c8ee628692b76d58aa44e5e92f03217c0f4a664d42c99725249c3d6737829e80",
"currentSha256": "c8ee628692b76d58aa44e5e92f03217c0f4a664d42c99725249c3d6737829e80",
"status": "same-test-source",
"currentEvidence": null
},
{
"path": "tests/api_content.php",
"recordedSha256": "e3860e15c4521aad9a0d68cc9be950645766b7cfbe540d215e29731fe2f4026b",
"currentSha256": "e3860e15c4521aad9a0d68cc9be950645766b7cfbe540d215e29731fe2f4026b",
"status": "same-test-source",
"currentEvidence": null
},
{
"path": "tests/admin_access.php",
"recordedSha256": "0bd0bf66776b9fb14a050467d67ee94b37f328b923286f6a2fe004e5002b54b1",
"currentSha256": "0bd0bf66776b9fb14a050467d67ee94b37f328b923286f6a2fe004e5002b54b1",
"status": "same-test-source",
"currentEvidence": null
}
],
"limitation": "合成数据/假模型与当时源码的局部开发证据;测试入口一致也不证明全部业务依赖或真实渠道一致。"
},
{
"id": "E07",
"title": "1.08 security-r3发布",
"date": "2026-10-08",
"artifacts": [
{
"privateRelativePath": "production-release/airz-security-release-1791452975863/release-receipt.json",
"sha256": "ce6809dcb62995e5272f9ac29bbc86fcdd81ef73179de1d74b67552bd9280146"
},
{
"privateRelativePath": "production-release/airz-security-release-1791452975863/final-verification.json",
"sha256": "be9275df2b918010e869026ba24eb53d5efa859db2f7b717722574fc78641d31"
},
{
"privateRelativePath": "production-release/airz-security-release-1791452975863/final-source-validation.json",
"sha256": "485cc7b93f9042a5df431714d6eadbc21054a8303827c02f4e1e8b82de054e11"
}
],
"serverHttpsChecks": 20,
"publicHttpsChecks": 22,
"recordedFiles": 85,
"formalAcceptance": false,
"rerunThisTurn": false,
"limitation": "历史服务器/公网核验与恢复干跑;本轮未连接生产,不代表当前服务状态或完整业务/守护验收。"
},
{
"id": "E08",
"title": "1.09 微信分包修复",
"date": "2026-10-09",
"currentChecks": 31,
"artifacts": [
{
"candidateRelativePath": "frontend-checks.json",
"sha256": "d815d2f01f4545f89c408891139c85ef84a86c645a69b6407bcda79c016e1ad6"
}
],
"formalAcceptance": false,
"rerunThisTurn": true,
"limitation": "实际生成JavaScript及隔离的微信生命周期/窗口信息桩;不等同实际微信模拟器或真机。"
},
{
"id": "E09",
"title": "积分关闭与合成检查",
"documentPath": "docs/积分规则与开发契约.md",
"documentSha256": "7074dd3aeccc5571acd937959610b7cb2668a110fd6986946e96597c1e18839e",
"formalAcceptance": false,
"rerunThisTurn": false,
"limitation": "仅保留既有记录对应的样例与平台边界,不扩展为当前候选全面验收。"
},
{
"id": "E10",
"title": "PDF冻结导出与平台边界",
"documentPath": "docs/评估版本与最新资料.md",
"documentSha256": "8b4611e9d432670cabe2ff8880415bcadc40f786bd57e4aedaa6daa5176e23e8",
"formalAcceptance": false,
"rerunThisTurn": false,
"limitation": "仅保留既有记录对应的样例与平台边界,不扩展为当前候选全面验收。"
},
{
"id": "E11",
"title": "既有真实模型小样例",
"documentPath": "docs/AI助手真实语义验收.md",
"documentSha256": "32acf0536cfb3d264b9fe632aa17a95c7ab8e76a3eb3018285b7b30a8d77164d",
"formalAcceptance": false,
"rerunThisTurn": false,
"limitation": "仅保留既有记录对应的样例与平台边界,不扩展为当前候选全面验收。"
},
{
"id": "E12",
"title": "合成恢复/密钥/队列/导入证据目录",
"documentPath": "database/release-evidence.json",
"documentSha256": "0372bed58c7b2cc06c87108ae094f522aef8c365d3ef980de948b70722a32deb",
"formalAcceptance": false,
"rerunThisTurn": false,
"limitation": "指向既有合成演练证据;Linux/systemd、真实告警投递、真实密钥托管及规模RTO/RPO尚缺。"
}
],
"blockers": [
{
"id": "EXT-SMS",
"current": "服务商/签名模板/测试号码与回执能力未就绪",
"responsibleRole": "业务选型与开通;开发验证",
"exitCriterion": "成功发送、用途隔离、频控、过期及核销证据",
"namedOwner": null,
"targetDate": null,
"resolved": false
},
{
"id": "EXT-WX",
"current": "微信服务类型/主体权限/授权回调能力未定",
"responsibleRole": "业务账号负责人;开发接入",
"exitCriterion": "普通/微信内H5与目标小程序能力矩阵、真实授权和账号绑定证据",
"namedOwner": null,
"targetDate": null,
"resolved": false
},
{
"id": "EXT-ONE",
"current": "一键登录服务商及浏览器/运营商能力未定",
"responsibleRole": "业务与开发联合选型",
"exitCriterion": "SDK/服务端校验、网络限制、失败回退与真实绑定证据",
"namedOwner": null,
"targetDate": null,
"resolved": false
},
{
"id": "EXT-STORAGE",
"current": "私有证件存储/读取/生命周期方案未确认",
"responsibleRole": "开发提案;业务确认",
"exitCriterion": "私有存储、鉴权读取、元数据、删除与保留规则及越权反例",
"namedOwner": null,
"targetDate": null,
"resolved": false
},
{
"id": "EXT-DATA",
"current": "真实查询产品/资质/样例/计费对账未就绪",
"responsibleRole": "业务渠道负责人;开发验证",
"exitCriterion": "字段字典、授权凭证、验签/回调/计费与成功失败样例",
"namedOwner": null,
"targetDate": null,
"resolved": false
},
{
"id": "EXT-AI",
"current": "TokenHub指定模型真实权限已有证据;商业预算/异常和生产容量未签收",
"responsibleRole": "业务预算负责人;开发验证",
"exitCriterion": "模型标识、预算与费用核对入口、真实异常和容量证据",
"namedOwner": null,
"targetDate": null,
"resolved": false
},
{
"id": "EXT-CS",
"current": "客服供应商、真人坐席、工作时间/离线责任人未定",
"responsibleRole": "业务客服负责人;开发接入",
"exitCriterion": "身份签名、真实坐席、排队/离线/失败回退与渠道支持矩阵",
"namedOwner": null,
"targetDate": null,
"resolved": false
},
{
"id": "EXT-DEPLOY",
"current": "既有生产域名/HTTPS/数据库/Redis/worker已发布可用;完整守护/恢复/告警/规模未验收",
"responsibleRole": "运维与业务负责人",
"exitCriterion": "可恢复演练窗口、systemd信号/重启/开机、真实告警投递、密钥托管和实际RTO/RPO;独立机路线已取消",
"namedOwner": null,
"targetDate": null,
"resolved": false
},
{
"id": "DEC-PRIVACY",
"current": "正式协议全文/版本、资料范围、留存与撤销处理未定",
"responsibleRole": "业务/隐私规则负责人",
"exitCriterion": "版本化全文、逐项用途/保留/撤销清单和私有资料签收",
"namedOwner": null,
"targetDate": null,
"resolved": false
},
{
"id": "DEC-QUERY",
"current": "查询项目、适用对象、重查/失败路径和费用归属未定",
"responsibleRole": "业务查询负责人",
"exitCriterion": "数据产品到页面授权映射、重查条件和费用决策",
"namedOwner": null,
"targetDate": null,
"resolved": false
},
{
"id": "DEC-READINESS",
"current": "等权字段/条件分母开发版已发布;人工业务样例未签收",
"responsibleRole": "业务规则负责人",
"exitCriterion": "个人/企业含零值/none/other/缺失反例的人工复算及非授信说明签收",
"namedOwner": null,
"targetDate": null,
"resolved": false
},
{
"id": "DEC-MATCH",
"current": "三态/来源门槛/单产品覆盖/无评分口径已采用;真实金标准未签收",
"responsibleRole": "业务产品负责人",
"exitCriterion": "真实产品规则、边界/来源冲突金标准与人工签收",
"namedOwner": null,
"targetDate": null,
"resolved": false
},
{
"id": "DEC-PRODUCT",
"current": "首发真实产品及发布责任人未确认;历史四草稿不具发布条件",
"responsibleRole": "业务产品负责人",
"exitCriterion": "银行当前受理材料、地区/对象/额度/期限/利率/有效期及完整准入依据",
"namedOwner": null,
"targetDate": null,
"resolved": false
},
{
"id": "DEC-AI",
"current": "模型已确认;业务额度/重试/超时/月预算/超额处理未定",
"responsibleRole": "业务预算负责人",
"exitCriterion": "版本化额度/重试/超时/数据最小化与预算策略及费用对账责任人",
"namedOwner": null,
"targetDate": null,
"resolved": false
},
{
"id": "DEC-POINT",
"current": "积分数额/次数/条件/时区/有效期/权益未批准",
"responsibleRole": "业务规则负责人",
"exitCriterion": "正式版本化积分规则和可信事件;批准前保持关闭、不迁移旧表、不发真实奖励",
"namedOwner": null,
"targetDate": null,
"resolved": false
},
{
"id": "B-VERSION",
"current": "小程序1.0.6于2026-10-09 09:35由用户报告已发行;尚无发行包/上传源码摘要绑定",
"responsibleRole": "用户发行负责人;开发核对",
"exitCriterion": "保存开发者工具发行记录与候选摘要/构建来源,区别平台1.0.6和manifest的1.0.0",
"namedOwner": null,
"targetDate": null,
"resolved": false
},
{
"id": "B-ENV",
"current": "当前APP_ENVIRONMENT=test,连接已发布后端;PRODUCTION_API_URL为空",
"responsibleRole": "开发配置负责人;用户发行负责人",
"exitCriterion": "明确体验/正式发行配置、HTTPS及request/upload/download域名,关闭模拟且无失败兜底;改配置需新候选",
"namedOwner": null,
"targetDate": null,
"resolved": false
},
{
"id": "B-DEVICE",
"current": "本轮微信/Android编译及本机桩通过;真实设备/微信内H5/Safari/多设备未验收",
"responsibleRole": "用户验收负责人;开发",
"exitCriterion": "指定实际设备/基础库/浏览器,记录键盘/弱网/回跳/下载与账户隔离证据",
"namedOwner": null,
"targetDate": null,
"resolved": false
},
{
"id": "B-FRONT",
"current": "搜索旧响应竞态、反馈真实回执丢失持久恢复及多设备恢复未形成完整目标端证据",
"responsibleRole": "开发",
"exitCriterion": "受控延迟/断网/换账户/重进场景与目标端复核;本机后端回归不能替代",
"namedOwner": null,
"targetDate": null,
"resolved": false
},
{
"id": "B-OPS",
"current": "正式运营账号/权限并集、真实内容责任人、操作与签收负责人未指定",
"responsibleRole": "业务/运营负责人",
"exitCriterion": "明确账号与绑定授权,真实内容/产品/反馈/策略操作记录和留存;本轮不绑定或写入",
"namedOwner": null,
"targetDate": null,
"resolved": false
},
{
"id": "B-H5",
"current": "H5未发布,完整目标浏览器和真实渠道未验收",
"responsibleRole": "用户发布负责人;开发",
"exitCriterion": "明确H5发行范围/地址/候选摘要及浏览器矩阵,发行后保存验收与回退记录",
"namedOwner": null,
"targetDate": null,
"resolved": false
}
],
"cases": [
{
"id": "AC-BASE-001",
"taskId": "BASE-001",
"module": "BASE",
"title": "接口契约与字段字典",
"priority": "P0",
"taskStatusSnapshot": "开发中",
"directTaskDependencies": [],
"formalAcceptanceCriterion": "接口样例可同时被 PHP 和 UTS 解析;区分占位接口与后端现有实现。",
"prerequisite": "接口字典与A/B受控账号",
"steps": [
"逐项核路由/错误码/分页ID/时间字典",
"以个人和企业样例对照前后端字段",
"送出非法ID/金额精度/未知字段"
],
"expectedResults": [
"协议样例与实际响应一致",
"非法输入明确拒绝且无业务写入"
],
"blockedBy": [
"B-ENV"
],
"historicalPartialEvidence": [
"E02",
"E08"
],
"evidenceRequired": [
"候选ID/源码摘要和实际发布版本",
"实际端/基础库/浏览器及非敏感账号角色别名",
"成功/失败/恢复步骤与脱敏截图或安全回执",
"requestId/taskId/assessmentId/revisionId等非秘密关联编号(仅按需)",
"执行日期、执行人、缺陷号与复验结论"
],
"result": {
"status": "not-performed",
"executedAt": null,
"executor": null,
"device": null,
"evidence": [],
"defects": [],
"signoff": null
}
},
{
"id": "AC-BASE-002",
"taskId": "BASE-002",
"module": "BASE",
"title": "统一请求与认证适配",
"priority": "P0",
"taskStatusSnapshot": "开发中",
"directTaskDependencies": [
"BASE-001"
],
"formalAcceptanceCriterion": "HTTP 200 中业务失败不判成功;过期 Token 清会话;普通业务按所有者鉴权。",
"prerequisite": "有效/过期/禁用受控会话",
"steps": [
"密码登录后读取本人资料",
"模拟超时/业务错误/401再恢复",
"换B账号后释放A迟到响应"
],
"expectedResults": [
"Bearer和requestId一致",
"401撤当前会话且旧响应不回填B,错误可手动恢复"
],
"blockedBy": [
"B-DEVICE"
],
"historicalPartialEvidence": [
"E02",
"E08"
],
"evidenceRequired": [
"候选ID/源码摘要和实际发布版本",
"实际端/基础库/浏览器及非敏感账号角色别名",
"成功/失败/恢复步骤与脱敏截图或安全回执",
"requestId/taskId/assessmentId/revisionId等非秘密关联编号(仅按需)",
"执行日期、执行人、缺陷号与复验结论"
],
"result": {
"status": "not-performed",
"executedAt": null,
"executor": null,
"device": null,
"evidence": [],
"defects": [],
"signoff": null
}
},
{
"id": "AC-BASE-003",
"taskId": "BASE-003",
"module": "BASE",
"title": "环境与用户缓存隔离",
"priority": "P0",
"taskStatusSnapshot": "开发中",
"directTaskDependencies": [
"BASE-002"
],
"formalAcceptanceCriterion": "切换账户无串数据;旧草稿键清理且不恢复;退出清理敏感缓存和临时填写内容。",
"prerequisite": "候选配置、A/B账号与可观察缓存",
"steps": [
"核test API及关闭模拟配置",
"A填写未提交表单后退出再登录B",
"重新进入/刷新并检查缓存",
"在隔离构建核空地址/非HTTPS生产配置"
],
"expectedResults": [
"没有跨账户缓存或草稿",
"未配置请求明确失败,无模拟成功",
"正式配置变化必须重建候选"
],
"blockedBy": [
"B-ENV",
"B-DEVICE"
],
"historicalPartialEvidence": [
"E02",
"E08"
],
"evidenceRequired": [
"候选ID/源码摘要和实际发布版本",
"实际端/基础库/浏览器及非敏感账号角色别名",
"成功/失败/恢复步骤与脱敏截图或安全回执",
"requestId/taskId/assessmentId/revisionId等非秘密关联编号(仅按需)",
"执行日期、执行人、缺陷号与复验结论"
],
"result": {
"status": "not-performed",
"executedAt": null,
"executor": null,
"device": null,
"evidence": [],
"defects": [],
"signoff": null
}
},
{
"id": "AC-BASE-004",
"taskId": "BASE-004",
"module": "BASE",
"title": "首页和联调骨架",
"priority": "P1",
"taskStatusSnapshot": "待验收",
"directTaskDependencies": [
"BASE-002",
"BASE-003"
],
"formalAcceptanceCriterion": "深链接与刷新正确恢复;首页无硬编码账户数据;真实未读数由 MSG 聚合接口接入。",
"prerequisite": "可用首页聚合数据与A/B账号",
"steps": [
"打开首页/搜索/消息/融资与登录入口",
"分别注入空态/失败/迟到响应",
"登录返回原业务页"
],
"expectedResults": [
"聚合数据与接口一致",
"重试可恢复且无旧响应串页,账号包独立加载无缺失模块"
],
"blockedBy": [
"B-DEVICE"
],
"historicalPartialEvidence": [
"E02",
"E08"
],
"evidenceRequired": [
"候选ID/源码摘要和实际发布版本",
"实际端/基础库/浏览器及非敏感账号角色别名",
"成功/失败/恢复步骤与脱敏截图或安全回执",
"requestId/taskId/assessmentId/revisionId等非秘密关联编号(仅按需)",
"执行日期、执行人、缺陷号与复验结论"
],
"result": {
"status": "not-performed",
"executedAt": null,
"executor": null,
"device": null,
"evidence": [],
"defects": [],
"signoff": null
}
},
{
"id": "AC-AUTH-001",
"taskId": "AUTH-001",
"module": "AUTH",
"title": "短信接入与验证码服务",
"priority": "P0",
"taskStatusSnapshot": "阻塞",
"directTaskDependencies": [
"BASE-002",
"EXT-SMS"
],
"formalAcceptanceCriterion": "发送成功才倒计时;验证码过期、复用、跨用途和频繁发送均拒绝。",
"prerequisite": "已开通短信渠道、测试号码与批准模板",
"steps": [
"按不同用途发送并核回执",
"验证频控/过期/错误/重复核销",
"用登录码尝试其他用途"
],
"expectedResults": [
"按配置发送且用途隔离",
"过期或重用明确失败,无模拟短信成功"
],
"blockedBy": [
"EXT-SMS"
],
"historicalPartialEvidence": [
"E02"
],
"evidenceRequired": [
"候选ID/源码摘要和实际发布版本",
"实际端/基础库/浏览器及非敏感账号角色别名",
"成功/失败/恢复步骤与脱敏截图或安全回执",
"requestId/taskId/assessmentId/revisionId等非秘密关联编号(仅按需)",
"执行日期、执行人、缺陷号与复验结论"
],
"result": {
"status": "not-performed",
"executedAt": null,
"executor": null,
"device": null,
"evidence": [],
"defects": [],
"signoff": null
}
},
{
"id": "AC-AUTH-002",
"taskId": "AUTH-002",
"module": "AUTH",
"title": "真实登录与会话",
"priority": "P0",
"taskStatusSnapshot": "开发中",
"directTaskDependencies": [
"AUTH-001",
"BASE-003"
],
"formalAcceptanceCriterion": "真实账户登录成功;登录失败无假 Token;登出撤销当前 Token;旧散列兼容。",
"prerequisite": "A/B账号、禁用与旧散列受控账户、短信渠道",
"steps": [
"验证密码/短信登录与首次注册",
"验证旧散列升级和禁用账号",
"登出A一个会话后重试A其他会话及B"
],
"expectedResults": [
"真实会话只归本人",
"禁用拒绝、旧散列安全升级",
"退出仅撤当前会话"
],
"blockedBy": [
"EXT-SMS",
"B-DEVICE"
],
"historicalPartialEvidence": [
"E02"
],
"evidenceRequired": [
"候选ID/源码摘要和实际发布版本",
"实际端/基础库/浏览器及非敏感账号角色别名",
"成功/失败/恢复步骤与脱敏截图或安全回执",
"requestId/taskId/assessmentId/revisionId等非秘密关联编号(仅按需)",
"执行日期、执行人、缺陷号与复验结论"
],
"result": {
"status": "not-performed",
"executedAt": null,
"executor": null,
"device": null,
"evidence": [],
"defects": [],
"signoff": null
}
},
{
"id": "AC-AUTH-003",
"taskId": "AUTH-003",
"module": "AUTH",
"title": "资料与头像持久化",
"priority": "P1",
"taskStatusSnapshot": "开发中",
"directTaskDependencies": [
"AUTH-002"
],
"formalAcceptanceCriterion": "不同设备资料一致;昵称不覆盖评估实名;头像不依赖临时路径。",
"prerequisite": "A/B账号与合法/非法头像文件",
"steps": [
"A修改昵称和头像后刷新/重进",
"上传超限/伪MIME/错误内容",
"B读取A附件后切回A"
],
"expectedResults": [
"以服务端资料为准",
"非法文件无持久化,跨用户读取拒绝,迟到资料不回填"
],
"blockedBy": [
"B-DEVICE"
],
"historicalPartialEvidence": [
"E02"
],
"evidenceRequired": [
"候选ID/源码摘要和实际发布版本",
"实际端/基础库/浏览器及非敏感账号角色别名",
"成功/失败/恢复步骤与脱敏截图或安全回执",
"requestId/taskId/assessmentId/revisionId等非秘密关联编号(仅按需)",
"执行日期、执行人、缺陷号与复验结论"
],
"result": {
"status": "not-performed",
"executedAt": null,
"executor": null,
"device": null,
"evidence": [],
"defects": [],
"signoff": null
}
},
{
"id": "AC-AUTH-004",
"taskId": "AUTH-004",
"module": "AUTH",
"title": "改密与手机换绑",
"priority": "P0",
"taskStatusSnapshot": "开发中",
"directTaskDependencies": [
"AUTH-002"
],
"formalAcceptanceCriterion": "跨账户或单个验证码不能换绑;修改后旧 Token 全失效;新密码8–32位且含字母和数字。",
"prerequisite": "A至少两个会话、B账号、原新手机号真实双挑战",
"steps": [
"A改密后分别用旧/新密码与旧会话访问",
"B持续访问",
"验证换绑双挑战、号码冲突、挑战重用与事务失败"
],
"expectedResults": [
"A旧会话全撤而B不受影响",
"换绑同时验证原/新手机号且失败完整回滚"
],
"blockedBy": [
"EXT-SMS",
"B-DEVICE"
],
"historicalPartialEvidence": [
"E02"
],
"evidenceRequired": [
"候选ID/源码摘要和实际发布版本",
"实际端/基础库/浏览器及非敏感账号角色别名",
"成功/失败/恢复步骤与脱敏截图或安全回执",
"requestId/taskId/assessmentId/revisionId等非秘密关联编号(仅按需)",
"执行日期、执行人、缺陷号与复验结论"
],
"result": {
"status": "not-performed",
"executedAt": null,
"executor": null,
"device": null,
"evidence": [],
"defects": [],
"signoff": null
}
},
{
"id": "AC-LOGIN-001",
"taskId": "LOGIN-001",
"module": "LOGIN",
"title": "登录渠道能力与身份方案",
"priority": "P0",
"taskStatusSnapshot": "阻塞",
"directTaskDependencies": [
"BASE-001",
"EXT-WX",
"EXT-ONE"
],
"formalAcceptanceCriterion": "形成渠道支持矩阵、回调和身份唯一键方案;不以昵称/openid跨应用猜测同一账户。",
"prerequisite": "微信/一键登录真实能力资料",
"steps": [
"列普通移动/桌面/微信内H5及小程序支持方式",
"核服务端身份/手机号绑定设计",
"验证不支持方式的可见降级"
],
"expectedResults": [
"渠道支持边界与资质一致",
"不支持时明确提示且不模拟成功"
],
"blockedBy": [
"EXT-WX",
"EXT-ONE"
],
"historicalPartialEvidence": [],
"evidenceRequired": [
"候选ID/源码摘要和实际发布版本",
"实际端/基础库/浏览器及非敏感账号角色别名",
"成功/失败/恢复步骤与脱敏截图或安全回执",
"requestId/taskId/assessmentId/revisionId等非秘密关联编号(仅按需)",
"执行日期、执行人、缺陷号与复验结论"
],
"result": {
"status": "not-performed",
"executedAt": null,
"executor": null,
"device": null,
"evidence": [],
"defects": [],
"signoff": null
}
},
{
"id": "AC-LOGIN-002",
"taskId": "LOGIN-002",
"module": "LOGIN",
"title": "微信登录接入",
"priority": "P0",
"taskStatusSnapshot": "阻塞",
"directTaskDependencies": [
"LOGIN-001",
"AUTH-002",
"EXT-WX"
],
"formalAcceptanceCriterion": "授权取消和重放安全失败;绑定现有账户需原账户证明;获批H5场景真机通过。",
"prerequisite": "微信真实账号权限与回调测试能力",
"steps": [
"完成授权和首次手机号绑定",
"测试错误state/重复code/取消授权",
"测试已有账号冲突及退出重登"
],
"expectedResults": [
"code只在服务端交换",
"state与绑定归属有效",
"冲突/取消不产生伪登录"
],
"blockedBy": [
"EXT-WX",
"EXT-SMS",
"B-DEVICE"
],
"historicalPartialEvidence": [],
"evidenceRequired": [
"候选ID/源码摘要和实际发布版本",
"实际端/基础库/浏览器及非敏感账号角色别名",
"成功/失败/恢复步骤与脱敏截图或安全回执",
"requestId/taskId/assessmentId/revisionId等非秘密关联编号(仅按需)",
"执行日期、执行人、缺陷号与复验结论"
],
"result": {
"status": "not-performed",
"executedAt": null,
"executor": null,
"device": null,
"evidence": [],
"defects": [],
"signoff": null
}
},
{
"id": "AC-LOGIN-003",
"taskId": "LOGIN-003",
"module": "LOGIN",
"title": "一键登录接入",
"priority": "P0",
"taskStatusSnapshot": "阻塞",
"directTaskDependencies": [
"LOGIN-001",
"AUTH-002",
"EXT-ONE"
],
"formalAcceptanceCriterion": "按渠道支持的网络/运营商/浏览器验收;客户端自报手机号不能登录。",
"prerequisite": "一键登录测试环境与批准绑定方案",
"steps": [
"在支持网络完成号码认证和服务端校验",
"在不支持浏览器/运营商/网络验证降级",
"测试过期/重复凭据和账号冲突"
],
"expectedResults": [
"真实服务端验证后才登录",
"失败回退可用且不能通过客户端自报号码绑定"
],
"blockedBy": [
"EXT-ONE",
"EXT-SMS",
"B-DEVICE"
],
"historicalPartialEvidence": [],
"evidenceRequired": [
"候选ID/源码摘要和实际发布版本",
"实际端/基础库/浏览器及非敏感账号角色别名",
"成功/失败/恢复步骤与脱敏截图或安全回执",
"requestId/taskId/assessmentId/revisionId等非秘密关联编号(仅按需)",
"执行日期、执行人、缺陷号与复验结论"
],
"result": {
"status": "not-performed",
"executedAt": null,
"executor": null,
"device": null,
"evidence": [],
"defects": [],
"signoff": null
}
},
{
"id": "AC-LOGIN-004",
"taskId": "LOGIN-004",
"module": "LOGIN",
"title": "身份渠道联调",
"priority": "P0",
"taskStatusSnapshot": "未开始",
"directTaskDependencies": [
"LOGIN-002",
"LOGIN-003"
],
"formalAcceptanceCriterion": "身份关联不误合并账户;重放无效;不支持场景有清晰短信回退。",
"prerequisite": "已实现微信/一键渠道及目标端矩阵",
"steps": [
"逐端走两渠道登录/取消/失败/重新进入",
"验证绑定冲突和可用解绑流程",
"切换A/B并恢复业务回跳"
],
"expectedResults": [
"各端只展示支持能力",
"身份不串账户,失败可恢复,回跳保留合法上下文"
],
"blockedBy": [
"EXT-WX",
"EXT-ONE",
"EXT-SMS",
"B-DEVICE",
"B-H5"
],
"historicalPartialEvidence": [],
"evidenceRequired": [
"候选ID/源码摘要和实际发布版本",
"实际端/基础库/浏览器及非敏感账号角色别名",
"成功/失败/恢复步骤与脱敏截图或安全回执",
"requestId/taskId/assessmentId/revisionId等非秘密关联编号(仅按需)",
"执行日期、执行人、缺陷号与复验结论"
],
"result": {
"status": "not-performed",
"executedAt": null,
"executor": null,
"device": null,
"evidence": [],
"defects": [],
"signoff": null
}
},
{
"id": "AC-FILE-001",
"taskId": "FILE-001",
"module": "FILE",
"title": "私有资料存储方案",
"priority": "P0",
"taskStatusSnapshot": "阻塞",
"directTaskDependencies": [
"BASE-001",
"EXT-STORAGE",
"DEC-PRIVACY"
],
"formalAcceptanceCriterion": "私有文件不在公开web目录;形成文件用途/权限/生命周期配置清单。",
"prerequisite": "批准私有存储与隐私方案",
"steps": [
"区分公开头像与私有证件目录/桶",
"核类型/大小/元数据/密钥读取/生命周期",
"审核保留/删除/访问策略"
],
"expectedResults": [
"私有资料无公开URL且有归属和期限",
"密钥仅服务端,方案签收后才实施"
],
"blockedBy": [
"EXT-STORAGE",
"DEC-PRIVACY"
],
"historicalPartialEvidence": [],
"evidenceRequired": [
"候选ID/源码摘要和实际发布版本",
"实际端/基础库/浏览器及非敏感账号角色别名",
"成功/失败/恢复步骤与脱敏截图或安全回执",
"requestId/taskId/assessmentId/revisionId等非秘密关联编号(仅按需)",
"执行日期、执行人、缺陷号与复验结论"
],
"result": {
"status": "not-performed",
"executedAt": null,
"executor": null,
"device": null,
"evidence": [],
"defects": [],
"signoff": null
}
},
{
"id": "AC-FILE-002",
"taskId": "FILE-002",
"module": "FILE",
"title": "私有上传与下载",
"priority": "P0",
"taskStatusSnapshot": "未开始",
"directTaskDependencies": [
"FILE-001",
"AUTH-002"
],
"formalAcceptanceCriterion": "无登录/跨用户不能读取;客户端临时路径不能提交为附件;失效链接不可访问。",
"prerequisite": "私有上传/读取已实施、A/B与受控文件",
"steps": [
"A上传合法证件并用附件ID读取",
"提交超限/伪MIME/错误内容与B读取",
"验证取消/断网重试/删除后读取"
],
"expectedResults": [
"仅本人可读取",
"非法或取消不留可用附件",
"删除与失败按批准生命周期执行"
],
"blockedBy": [
"EXT-STORAGE",
"DEC-PRIVACY",
"B-DEVICE"
],
"historicalPartialEvidence": [],
"evidenceRequired": [
"候选ID/源码摘要和实际发布版本",
"实际端/基础库/浏览器及非敏感账号角色别名",
"成功/失败/恢复步骤与脱敏截图或安全回执",
"requestId/taskId/assessmentId/revisionId等非秘密关联编号(仅按需)",
"执行日期、执行人、缺陷号与复验结论"
],
"result": {
"status": "not-performed",
"executedAt": null,
"executor": null,
"device": null,
"evidence": [],
"defects": [],
"signoff": null
}
},
{
"id": "AC-FILE-003",
"taskId": "FILE-003",
"module": "FILE",
"title": "协议与授权版本",
"priority": "P0",
"taskStatusSnapshot": "阻塞",
"directTaskDependencies": [
"FILE-001",
"AUTH-002",
"DEC-PRIVACY"
],
"formalAcceptanceCriterion": "提交可追溯所见协议版本;撤销阻止新查询;前端布尔勾选不冒充第三方授权。",
"prerequisite": "正式协议全文/版本与授权事件已实施",
"steps": [
"查看实际全文并同意指定版本/范围",
"提交后更新协议并读取旧快照",
"撤销授权并尝试后续读取/查询"
],
"expectedResults": [
"同意与撤销可追溯且绑定版本",
"历史不被新协议覆盖,撤销按批准规则限制后续使用"
],
"blockedBy": [
"DEC-PRIVACY",
"EXT-STORAGE"
],
"historicalPartialEvidence": [],
"evidenceRequired": [
"候选ID/源码摘要和实际发布版本",
"实际端/基础库/浏览器及非敏感账号角色别名",
"成功/失败/恢复步骤与脱敏截图或安全回执",
"requestId/taskId/assessmentId/revisionId等非秘密关联编号(仅按需)",
"执行日期、执行人、缺陷号与复验结论"
],
"result": {
"status": "not-performed",
"executedAt": null,
"executor": null,
"device": null,
"evidence": [],
"defects": [],
"signoff": null
}
},
{
"id": "AC-FILE-004",
"taskId": "FILE-004",
"module": "FILE",
"title": "资料授权页面联调",
"priority": "P0",
"taskStatusSnapshot": "未开始",
"directTaskDependencies": [
"FILE-002",
"FILE-003"
],
"formalAcceptanceCriterion": "仅已上传且有权访问的附件入评估;拒绝可选授权仍可自填,不显示已查询。",
"prerequisite": "私有附件与授权功能已实施、目标端",
"steps": [
"逐端上传/授权并提交",
"验证拒绝/取消/离页/断网后重进",
"退出A登录B并释放迟到上传结果"
],
"expectedResults": [
"页面展示真实持久状态",
"不以选图预览或占位协议表示成功",
"无跨账户附件"
],
"blockedBy": [
"EXT-STORAGE",
"DEC-PRIVACY",
"B-DEVICE"
],
"historicalPartialEvidence": [],
"evidenceRequired": [
"候选ID/源码摘要和实际发布版本",
"实际端/基础库/浏览器及非敏感账号角色别名",
"成功/失败/恢复步骤与脱敏截图或安全回执",
"requestId/taskId/assessmentId/revisionId等非秘密关联编号(仅按需)",
"执行日期、执行人、缺陷号与复验结论"
],
"result": {
"status": "not-performed",
"executedAt": null,
"executor": null,
"device": null,
"evidence": [],
"defects": [],
"signoff": null
}
},
{
"id": "AC-ASSESS-001",
"taskId": "ASSESS-001",
"module": "ASSESS",
"title": "评估字段与增量模型",
"priority": "P0",
"taskStatusSnapshot": "开发中",
"directTaskDependencies": [
"BASE-001",
"DEC-DEMAND"
],
"formalAcceptanceCriterion": "现有与v2字段映射明确,元字符串/整数月/用途条件校验;历史新字段NULL,不新建评估表。",
"prerequisite": "现行个人/企业字段字典和版本样例",
"steps": [
"核用途/other与金额元万换算",
"提交零值/none/null/未知字段反例",
"读取旧v1/v2与当前输入的需求字段"
],
"expectedResults": [
"字段与冻结字典一致",
"旧未采集不同于0,非法输入不落库,需求版本可追溯"
],
"blockedBy": [
"DEC-READINESS"
],
"historicalPartialEvidence": [
"E01"
],
"evidenceRequired": [
"候选ID/源码摘要和实际发布版本",
"实际端/基础库/浏览器及非敏感账号角色别名",
"成功/失败/恢复步骤与脱敏截图或安全回执",
"requestId/taskId/assessmentId/revisionId等非秘密关联编号(仅按需)",
"执行日期、执行人、缺陷号与复验结论"
],
"result": {
"status": "not-performed",
"executedAt": null,
"executor": null,
"device": null,
"evidence": [],
"defects": [],
"signoff": null
}
},
{
"id": "AC-ASSESS-002",
"taskId": "ASSESS-002",
"module": "ASSESS",
"title": "正式评估记录与历史",
"priority": "P0",
"taskStatusSnapshot": "待验收",
"directTaskDependencies": [
"ASSESS-001",
"AUTH-002"
],
"formalAcceptanceCriterion": "同用户可多次评估;越权拒绝;历史v1不回填需求、不重算,v2显示冻结需求且不可编辑。",
"prerequisite": "A含多页/多版本历史、B受控账号",
"steps": [
"翻页/筛选本人评估并读各版本详情",
"B尝试A记录及游标",
"刷新/重新登录并启动独立空白评估"
],
"expectedResults": [
"只读本人正式历史",
"无草稿续填",
"旧未采集明确展示,新评估独立记录"
],
"blockedBy": [
"B-DEVICE"
],
"historicalPartialEvidence": [
"E01"
],
"evidenceRequired": [
"候选ID/源码摘要和实际发布版本",
"实际端/基础库/浏览器及非敏感账号角色别名",
"成功/失败/恢复步骤与脱敏截图或安全回执",
"requestId/taskId/assessmentId/revisionId等非秘密关联编号(仅按需)",
"执行日期、执行人、缺陷号与复验结论"
],
"result": {
"status": "not-performed",
"executedAt": null,
"executor": null,
"device": null,
"evidence": [],
"defects": [],
"signoff": null
}
},
{
"id": "AC-ASSESS-003",
"taskId": "ASSESS-003",
"module": "ASSESS",
"title": "提交与生命周期API",
"priority": "P0",
"taskStatusSnapshot": "开发中",
"directTaskDependencies": [
"ASSESS-002",
"FILE-004"
],
"formalAcceptanceCriterion": "同键同内容原回执,合法需求或版本变化409、非法格式422;最低新建版本2或用途停用不阻断原键回放;旧重试返回原taskId。",
"prerequisite": "受控评估数据、幂等键、真实附件授权就绪",
"steps": [
"个人/企业各提交一次并同键重发",
"同键修改字段/并发提交",
"测试无效授权、旧请求重放、失败后人工/用户重试"
],
"expectedResults": [
"201/202生命周期和请求回执一致",
"同键不重复创建,冲突/授权失败无部分落库"
],
"blockedBy": [
"EXT-STORAGE",
"DEC-PRIVACY"
],
"historicalPartialEvidence": [
"E01"
],
"evidenceRequired": [
"候选ID/源码摘要和实际发布版本",
"实际端/基础库/浏览器及非敏感账号角色别名",
"成功/失败/恢复步骤与脱敏截图或安全回执",
"requestId/taskId/assessmentId/revisionId等非秘密关联编号(仅按需)",
"执行日期、执行人、缺陷号与复验结论"
],
"result": {
"status": "not-performed",
"executedAt": null,
"executor": null,
"device": null,
"evidence": [],
"defects": [],
"signoff": null
}
},
{
"id": "AC-ASSESS-004",
"taskId": "ASSESS-004",
"module": "ASSESS",
"title": "评估全页面联调",
"priority": "P0",
"taskStatusSnapshot": "开发中",
"directTaskDependencies": [
"ASSESS-003"
],
"formalAcceptanceCriterion": "个人/企业新建空白,修改所选评估最新资料并保存新版本;12.345678万元=123456.78元;无草稿,历史不串账户,迟到响应不恢复旧资料。",
"prerequisite": "可用报告/匹配、A/B与目标端",
"steps": [
"贯穿填写/确认/分析/报告/档案",
"修改最新资料生成新版本并读历史",
"失败重评保留旧发布版",
"离页/换账户/弱网后恢复"
],
"expectedResults": [
"assessmentId/revisionId不混用",
"金额精度一致,无重复提交或草稿,迟到响应不回填"
],
"blockedBy": [
"B-DEVICE",
"B-FRONT"
],
"historicalPartialEvidence": [
"E01"
],
"evidenceRequired": [
"候选ID/源码摘要和实际发布版本",
"实际端/基础库/浏览器及非敏感账号角色别名",
"成功/失败/恢复步骤与脱敏截图或安全回执",
"requestId/taskId/assessmentId/revisionId等非秘密关联编号(仅按需)",
"执行日期、执行人、缺陷号与复验结论"
],
"result": {
"status": "not-performed",
"executedAt": null,
"executor": null,
"device": null,
"evidence": [],
"defects": [],
"signoff": null
}
},
{
"id": "AC-DATA-001",
"taskId": "DATA-001",
"module": "DATA",
"title": "查询渠道与范围定稿",
"priority": "P0",
"taskStatusSnapshot": "阻塞",
"directTaskDependencies": [
"BASE-001",
"EXT-DATA",
"DEC-QUERY"
],
"formalAcceptanceCriterion": "每种首发授权都有明确数据来源和支持范围;缺失渠道记阻塞并更新估算。",
"prerequisite": "真实渠道产品与批准查询范围",
"steps": [
"核个人/企业可开通产品及授权映射",
"审核样例/字典/留存/计费",
"明确拒绝/失败后的自填路径和重查费用"
],
"expectedResults": [
"能力/费用/授权逐项可追溯",
"未可用产品不承诺查询成功"
],
"blockedBy": [
"EXT-DATA",
"DEC-QUERY",
"DEC-PRIVACY"
],
"historicalPartialEvidence": [],
"evidenceRequired": [
"候选ID/源码摘要和实际发布版本",
"实际端/基础库/浏览器及非敏感账号角色别名",
"成功/失败/恢复步骤与脱敏截图或安全回执",
"requestId/taskId/assessmentId/revisionId等非秘密关联编号(仅按需)",
"执行日期、执行人、缺陷号与复验结论"
],
"result": {
"status": "not-performed",
"executedAt": null,
"executor": null,
"device": null,
"evidence": [],
"defects": [],
"signoff": null
}
},
{
"id": "AC-DATA-002",
"taskId": "DATA-002",
"module": "DATA",
"title": "授权查询适配与记录",
"priority": "P0",
"taskStatusSnapshot": "未开始",
"directTaskDependencies": [
"DATA-001",
"FILE-003",
"ASSESS-003"
],
"formalAcceptanceCriterion": "无有效授权不调用;重复发起不重复建本地请求;不得将他人结果用于本次评估。",
"prerequisite": "查询适配已实施、合法授权与测试渠道",
"steps": [
"按评估发起查询并同键重发",
"A/B互换附件/授权/评估编号",
"撤销授权后重新发起"
],
"expectedResults": [
"请求唯一且绑定本人评估",
"凭证不下发,越权或撤销拒绝且不预留收费请求"
],
"blockedBy": [
"EXT-DATA",
"DEC-QUERY",
"DEC-PRIVACY",
"EXT-STORAGE"
],
"historicalPartialEvidence": [],
"evidenceRequired": [
"候选ID/源码摘要和实际发布版本",
"实际端/基础库/浏览器及非敏感账号角色别名",
"成功/失败/恢复步骤与脱敏截图或安全回执",
"requestId/taskId/assessmentId/revisionId等非秘密关联编号(仅按需)",
"执行日期、执行人、缺陷号与复验结论"
],
"result": {
"status": "not-performed",
"executedAt": null,
"executor": null,
"device": null,
"evidence": [],
"defects": [],
"signoff": null
}
},
{
"id": "AC-DATA-003",
"taskId": "DATA-003",
"module": "DATA",
"title": "回调与结果标准化",
"priority": "P0",
"taskStatusSnapshot": "未开始",
"directTaskDependencies": [
"DATA-002"
],
"formalAcceptanceCriterion": "伪造/过期回调拒绝;迟到结果不覆盖冻结输入;查询失败不转换成零风险。",
"prerequisite": "渠道真实验签样例及回调/对账测试能力",
"steps": [
"送入有效/错误签名/重放回调",
"重复回调和主动查询并发",
"核字段/来源/时间和受限留存"
],
"expectedResults": [
"验签和防重放有效",
"结果仅持久一次且标准化一致,重复事件不重复计费"
],
"blockedBy": [
"EXT-DATA",
"DEC-QUERY"
],
"historicalPartialEvidence": [],
"evidenceRequired": [
"候选ID/源码摘要和实际发布版本",
"实际端/基础库/浏览器及非敏感账号角色别名",
"成功/失败/恢复步骤与脱敏截图或安全回执",
"requestId/taskId/assessmentId/revisionId等非秘密关联编号(仅按需)",
"执行日期、执行人、缺陷号与复验结论"
],
"result": {
"status": "not-performed",
"executedAt": null,
"executor": null,
"device": null,
"evidence": [],
"defects": [],
"signoff": null
}
},
{
"id": "AC-DATA-004",
"taskId": "DATA-004",
"module": "DATA",
"title": "异常与渠道端到端验收",
"priority": "P0",
"taskStatusSnapshot": "未开始",
"directTaskDependencies": [
"DATA-003"
],
"formalAcceptanceCriterion": "成功和失败均可追踪;超时收费不明先对账;各已承诺首发场景有真实渠道证据。",
"prerequisite": "渠道成功/拒绝/超时/余额不足样例",
"steps": [
"依次验证超时/拒绝/撤销/余额不足",
"重复回调/重查并核供应商账单",
"逐端H5往返和断网恢复"
],
"expectedResults": [
"状态与费用可对账",
"不以未知或失败表示成功,恢复不重复查询/扣费"
],
"blockedBy": [
"EXT-DATA",
"DEC-QUERY",
"B-DEVICE",
"B-H5"
],
"historicalPartialEvidence": [],
"evidenceRequired": [
"候选ID/源码摘要和实际发布版本",
"实际端/基础库/浏览器及非敏感账号角色别名",
"成功/失败/恢复步骤与脱敏截图或安全回执",
"requestId/taskId/assessmentId/revisionId等非秘密关联编号(仅按需)",
"执行日期、执行人、缺陷号与复验结论"
],
"result": {
"status": "not-performed",
"executedAt": null,
"executor": null,
"device": null,
"evidence": [],
"defects": [],
"signoff": null
}
},
{
"id": "AC-PRODUCT-001",
"taskId": "PRODUCT-001",
"module": "PRODUCT",
"title": "规则字典与评分口径",
"priority": "P0",
"taskStatusSnapshot": "开发中",
"directTaskDependencies": [
"ASSESS-001",
"DEC-MATCH"
],
"formalAcceptanceCriterion": "发布规则与人工样例可审阅;非法字段/操作符阻止发布;fail优先于unknown,匹配指标不作为审批概率。",
"prerequisite": "真实产品与人工金标准",
"steps": [
"复核来源门槛/用途/单产品需求覆盖",
"用pass/fail/unknown与缺失反例人工复算",
"核冻结规则版本和排序口径"
],
"expectedResults": [
"三态依据可追溯且fail优先",
"缺依据不推断满足,未发布评分时score/rank为null"
],
"blockedBy": [
"DEC-PRODUCT",
"DEC-MATCH"
],
"historicalPartialEvidence": [
"E01",
"E08"
],
"evidenceRequired": [
"候选ID/源码摘要和实际发布版本",
"实际端/基础库/浏览器及非敏感账号角色别名",
"成功/失败/恢复步骤与脱敏截图或安全回执",
"requestId/taskId/assessmentId/revisionId等非秘密关联编号(仅按需)",
"执行日期、执行人、缺陷号与复验结论"
],
"result": {
"status": "not-performed",
"executedAt": null,
"executor": null,
"device": null,
"evidence": [],
"defects": [],
"signoff": null
}
},
{
"id": "AC-PRODUCT-002",
"taskId": "PRODUCT-002",
"module": "PRODUCT",
"title": "准入与排序执行器",
"priority": "P0",
"taskStatusSnapshot": "开发中",
"directTaskDependencies": [
"PRODUCT-001"
],
"formalAcceptanceCriterion": "同输入/快照结果稳定;未知不当满足,配置错误不归咎用户;需求不拆额、不改期;未运行与零候选区分。",
"prerequisite": "合法上架目录与边界金标准",
"steps": [
"测试上下架/生效失效/对象/地区及金额期限",
"用至少一条fail和unknown反例复算",
"冻结后更新产品/策略再重试历史"
],
"expectedResults": [
"执行器与人工金标准一致",
"productId排序稳定,快照不被现价/新策略改写"
],
"blockedBy": [
"DEC-PRODUCT",
"DEC-MATCH",
"DEC-READINESS"
],
"historicalPartialEvidence": [
"E01",
"E08"
],
"evidenceRequired": [
"候选ID/源码摘要和实际发布版本",
"实际端/基础库/浏览器及非敏感账号角色别名",
"成功/失败/恢复步骤与脱敏截图或安全回执",
"requestId/taskId/assessmentId/revisionId等非秘密关联编号(仅按需)",
"执行日期、执行人、缺陷号与复验结论"
],
"result": {
"status": "not-performed",
"executedAt": null,
"executor": null,
"device": null,
"evidence": [],
"defects": [],
"signoff": null
}
},
{
"id": "AC-PRODUCT-003",
"taskId": "PRODUCT-003",
"module": "PRODUCT",
"title": "产品后台与公共查询",
"priority": "P0",
"taskStatusSnapshot": "开发中",
"directTaskDependencies": [
"PRODUCT-001",
"BASE-002",
"DEC-PRODUCT"
],
"formalAcceptanceCriterion": "产品用途/地区/额度/期限有真实依据;规则可配置并启停,版本变化留依据;公共详情无个人分数。",
"prerequisite": "真实银行材料、运营发布责任人与批准权限",
"steps": [
"录入草稿、来源/条件/用途和日期",
"对缺项/过期/来源不足尝试发布",
"补齐材料后发布/下架并查公开详情",
"测试跨类型/撤权/旧版本冲突"
],
"expectedResults": [
"不足依据不能发布",
"草稿不可公开,合法发布可追溯且历史版本不被修改"
],
"blockedBy": [
"DEC-PRODUCT",
"DEC-MATCH",
"B-OPS"
],
"historicalPartialEvidence": [
"E01",
"E08"
],
"evidenceRequired": [
"候选ID/源码摘要和实际发布版本",
"实际端/基础库/浏览器及非敏感账号角色别名",
"成功/失败/恢复步骤与脱敏截图或安全回执",
"requestId/taskId/assessmentId/revisionId等非秘密关联编号(仅按需)",
"执行日期、执行人、缺陷号与复验结论"
],
"result": {
"status": "not-performed",
"executedAt": null,
"executor": null,
"device": null,
"evidence": [],
"defects": [],
"signoff": null
}
},
{
"id": "AC-PRODUCT-004",
"taskId": "PRODUCT-004",
"module": "PRODUCT",
"title": "匹配页面与快照",
"priority": "P0",
"taskStatusSnapshot": "开发中",
"directTaskDependencies": [
"PRODUCT-002",
"PRODUCT-003",
"ASSESS-004",
"REPORT-003"
],
"formalAcceptanceCriterion": "每条解释可追溯且不凑三正三反;当前产品变化不改历史;跨账户拒绝;unavailable/零候选/failed不混淆。",
"prerequisite": "同评估冻结匹配三态与已发布报告",
"steps": [
"打开分组/分页/详情及解释",
"更新现产品和发布新报告后读取旧列表/详情",
"测试B越权、单项失败、unavailable/零候选/failed"
],
"expectedResults": [
"不混结果/快照版本",
"新报告后旧版不能解释重试,失败与零候选分开,理由不补造"
],
"blockedBy": [
"DEC-PRODUCT",
"DEC-MATCH",
"B-DEVICE"
],
"historicalPartialEvidence": [
"E01",
"E08"
],
"evidenceRequired": [
"候选ID/源码摘要和实际发布版本",
"实际端/基础库/浏览器及非敏感账号角色别名",
"成功/失败/恢复步骤与脱敏截图或安全回执",
"requestId/taskId/assessmentId/revisionId等非秘密关联编号(仅按需)",
"执行日期、执行人、缺陷号与复验结论"
],
"result": {
"status": "not-performed",
"executedAt": null,
"executor": null,
"device": null,
"evidence": [],
"defects": [],
"signoff": null
}
},
{
"id": "AC-PRODUCT-005",
"taskId": "PRODUCT-005",
"module": "PRODUCT",
"title": "同类产品对比",
"priority": "P1",
"taskStatusSnapshot": "待验收",
"directTaskDependencies": [
"PRODUCT-004"
],
"formalAcceptanceCriterion": "不跨评估/混用现价;缺值不同于0;手机横向表格可读,单项失败明确;不重跑模型。",
"prerequisite": "同评估2至3个冻结产品与目标端",
"steps": [
"从列表/产品补选并进入对比",
"移除/刷新/登录返回",
"测试超3项/重复/跨评估/单列失败重试与账户变化"
],
"expectedResults": [
"仅同评估冻结产品对比",
"缺值不同于0,顺序可恢复且手机可读",
"无重复模型调用"
],
"blockedBy": [
"DEC-PRODUCT",
"B-DEVICE"
],
"historicalPartialEvidence": [
"E01",
"E08"
],
"evidenceRequired": [
"候选ID/源码摘要和实际发布版本",
"实际端/基础库/浏览器及非敏感账号角色别名",
"成功/失败/恢复步骤与脱敏截图或安全回执",
"requestId/taskId/assessmentId/revisionId等非秘密关联编号(仅按需)",
"执行日期、执行人、缺陷号与复验结论"
],
"result": {
"status": "not-performed",
"executedAt": null,
"executor": null,
"device": null,
"evidence": [],
"defects": [],
"signoff": null
}
},
{
"id": "AC-REPORT-001",
"taskId": "REPORT-001",
"module": "REPORT",
"title": "DeepSeek适配与配额",
"priority": "P0",
"taskStatusSnapshot": "待验收",
"directTaskDependencies": [
"BASE-002",
"EXT-AI",
"DEC-AI"
],
"formalAcceptanceCriterion": "模型可配置;密钥不下发;失败与使用量可追踪;数值事实不被模型改写。",
"prerequisite": "真实指定模型、批准额度与测试预算",
"steps": [
"核密钥仅服务端和模型标识",
"用人工事实样例调用并核JSON/数值/用量",
"测试额度不足/超时/格式错与对账"
],
"expectedResults": [
"失败不成功",
"输入最小化且数值事实不被改写",
"预留/消耗可定位费用"
],
"blockedBy": [
"EXT-AI",
"DEC-AI"
],
"historicalPartialEvidence": [
"E01",
"E07",
"E10",
"E11"
],
"evidenceRequired": [
"候选ID/源码摘要和实际发布版本",
"实际端/基础库/浏览器及非敏感账号角色别名",
"成功/失败/恢复步骤与脱敏截图或安全回执",
"requestId/taskId/assessmentId/revisionId等非秘密关联编号(仅按需)",
"执行日期、执行人、缺陷号与复验结论"
],
"result": {
"status": "not-performed",
"executedAt": null,
"executor": null,
"device": null,
"evidence": [],
"defects": [],
"signoff": null
}
},
{
"id": "AC-REPORT-002",
"taskId": "REPORT-002",
"module": "REPORT",
"title": "异步任务与补偿",
"priority": "P0",
"taskStatusSnapshot": "开发中",
"directTaskDependencies": [
"ASSESS-003",
"REPORT-001"
],
"formalAcceptanceCriterion": "漏投/中断可恢复或明确失败;旧任务不可回写;输入/目标结果/策略/产品快照重试不隐式变化。",
"prerequisite": "可恢复隔离队列、冻结评估与可控故障",
"steps": [
"模拟漏投/进程中断/租约过期",
"以原键重试并核输入/策略/产品快照",
"释放旧任务迟到结果与并发补投"
],
"expectedResults": [
"一次有效发布且旧任务不可回写",
"冻结快照不隐式更新,故障可恢复或明确失败"
],
"blockedBy": [
"EXT-DEPLOY",
"EXT-AI",
"DEC-AI"
],
"historicalPartialEvidence": [
"E01",
"E07",
"E10",
"E11"
],
"evidenceRequired": [
"候选ID/源码摘要和实际发布版本",
"实际端/基础库/浏览器及非敏感账号角色别名",
"成功/失败/恢复步骤与脱敏截图或安全回执",
"requestId/taskId/assessmentId/revisionId等非秘密关联编号(仅按需)",
"执行日期、执行人、缺陷号与复验结论"
],
"result": {
"status": "not-performed",
"executedAt": null,
"executor": null,
"device": null,
"evidence": [],
"defects": [],
"signoff": null
}
},
{
"id": "AC-REPORT-003",
"taskId": "REPORT-003",
"module": "REPORT",
"title": "报告生成与持久化",
"priority": "P0",
"taskStatusSnapshot": "阻塞",
"directTaskDependencies": [
"REPORT-002",
"DATA-004",
"PRODUCT-002",
"PRODUCT-003",
"DEC-MATCH",
"DEC-READINESS"
],
"formalAcceptanceCriterion": "完整度按发布字段集复算,等级有依据且非审批;null rank/score按状态验证;格式错误不成功,产品/规则更新不改旧报告。",
"prerequisite": "真实产品/渠道/金标准与报告链路",
"steps": [
"个人/企业各完成自填与授权查询的正式报告",
"人工复算完整度/等级和规则依据",
"测试格式错/发布事务失败/后续产品更新"
],
"expectedResults": [
"报告原子持久化",
"三态/版本与冻结输入一致,非授信且历史不重算"
],
"blockedBy": [
"EXT-DATA",
"DEC-QUERY",
"DEC-PRODUCT",
"DEC-MATCH",
"DEC-READINESS",
"EXT-AI",
"DEC-AI"
],
"historicalPartialEvidence": [
"E01",
"E07",
"E10",
"E11"
],
"evidenceRequired": [
"候选ID/源码摘要和实际发布版本",
"实际端/基础库/浏览器及非敏感账号角色别名",
"成功/失败/恢复步骤与脱敏截图或安全回执",
"requestId/taskId/assessmentId/revisionId等非秘密关联编号(仅按需)",
"执行日期、执行人、缺陷号与复验结论"
],
"result": {
"status": "not-performed",
"executedAt": null,
"executor": null,
"device": null,
"evidence": [],
"defects": [],
"signoff": null
}
},
{
"id": "AC-REPORT-004",
"taskId": "REPORT-004",
"module": "REPORT",
"title": "分析报告历史联调",
"priority": "P0",
"taskStatusSnapshot": "开发中",
"directTaskDependencies": [
"REPORT-003",
"PRODUCT-004",
"ASSESS-004"
],
"formalAcceptanceCriterion": "个人/企业链路按版本展示;未发布无分或等级,100%不等于授信;旧报告不重算;修改重评复用记录新增输入版本,新建评估另建记录。",
"prerequisite": "A多版本报告、B与目标端",
"steps": [
"展示概况/匹配/改善并分别失败重试",
"修改重评处理中/失败/成功时读旧历史",
"B读取A报告和换账号释放迟到响应"
],
"expectedResults": [
"未发布无评分",
"旧报告不改写,栏目版本一致且100%不表示获批",
"无越权回填"
],
"blockedBy": [
"DEC-PRODUCT",
"B-DEVICE"
],
"historicalPartialEvidence": [
"E01",
"E07",
"E10",
"E11"
],
"evidenceRequired": [
"候选ID/源码摘要和实际发布版本",
"实际端/基础库/浏览器及非敏感账号角色别名",
"成功/失败/恢复步骤与脱敏截图或安全回执",
"requestId/taskId/assessmentId/revisionId等非秘密关联编号(仅按需)",
"执行日期、执行人、缺陷号与复验结论"
],
"result": {
"status": "not-performed",
"executedAt": null,
"executor": null,
"device": null,
"evidence": [],
"defects": [],
"signoff": null
}
},
{
"id": "AC-REPORT-005",
"taskId": "REPORT-005",
"module": "REPORT",
"title": "报告PDF导出",
"priority": "P1",
"taskStatusSnapshot": "待验收",
"directTaskDependencies": [
"REPORT-004"
],
"formalAcceptanceCriterion": "本人成功报告可导出;金额/理由与历史一致;不重跑模型/泄露身份;中文分页可读,JSON错误不保存成PDF。",
"prerequisite": "成功中文报告、微信downloadFile合法域名与目标端",
"steps": [
"导出历史版PDF并逐项核金额/理由/分页",
"测试401/404/JSON伪PDF/截断/过大/取消/断网",
"换账户并重试下载"
],
"expectedResults": [
"错误文件不保存/预览",
"临时文件清理且只导出本人冻结版,无新模型调用",
"各目标端实际可读"
],
"blockedBy": [
"B-ENV",
"B-DEVICE",
"B-H5"
],
"historicalPartialEvidence": [
"E01",
"E07",
"E10",
"E11"
],
"evidenceRequired": [
"候选ID/源码摘要和实际发布版本",
"实际端/基础库/浏览器及非敏感账号角色别名",
"成功/失败/恢复步骤与脱敏截图或安全回执",
"requestId/taskId/assessmentId/revisionId等非秘密关联编号(仅按需)",
"执行日期、执行人、缺陷号与复验结论"
],
"result": {
"status": "not-performed",
"executedAt": null,
"executor": null,
"device": null,
"evidence": [],
"defects": [],
"signoff": null
}
},
{
"id": "AC-REPORT-006",
"taskId": "REPORT-006",
"module": "REPORT",
"title": "下一步行动",
"priority": "P1",
"taskStatusSnapshot": "待验收",
"directTaskDependencies": [
"PRODUCT-004",
"REPORT-004",
"CHAT-003"
],
"formalAcceptanceCriterion": "根据判定及当前可用性开放行动;无银行申请提交;新评估不改历史、无草稿;上下文和返回正确。",
"prerequisite": "当前/历史报告和产品可用性、目标端",
"steps": [
"验证材料/报告/优化资料/新评估/咨询入口",
"使当前记录重评中/失败或产品不可用",
"登录返回原栏目和版本"
],
"expectedResults": [
"按可用性正确降级",
"新评估独立且无草稿,不存在银行申请提交或审批承诺"
],
"blockedBy": [
"DEC-PRODUCT",
"B-DEVICE"
],
"historicalPartialEvidence": [
"E01",
"E07",
"E10",
"E11"
],
"evidenceRequired": [
"候选ID/源码摘要和实际发布版本",
"实际端/基础库/浏览器及非敏感账号角色别名",
"成功/失败/恢复步骤与脱敏截图或安全回执",
"requestId/taskId/assessmentId/revisionId等非秘密关联编号(仅按需)",
"执行日期、执行人、缺陷号与复验结论"
],
"result": {
"status": "not-performed",
"executedAt": null,
"executor": null,
"device": null,
"evidence": [],
"defects": [],
"signoff": null
}
},
{
"id": "AC-CHAT-001",
"taskId": "CHAT-001",
"module": "CHAT",
"title": "会话与消息API",
"priority": "P1",
"taskStatusSnapshot": "待验收",
"directTaskDependencies": [
"AUTH-002",
"BASE-001"
],
"formalAcceptanceCriterion": "用户只能读自身会话;评估会话与普通会话分离;重进恢复历史。",
"prerequisite": "A/B账号与普通/评估/产品上下文",
"steps": [
"创建不同上下文会话并分页历史",
"重进按chatId恢复",
"B请求A会话/游标和错误上下文"
],
"expectedResults": [
"只读本人会话且上下文分离",
"创建/读取不自动调用模型"
],
"blockedBy": [
"B-DEVICE"
],
"historicalPartialEvidence": [
"E02",
"E11"
],
"evidenceRequired": [
"候选ID/源码摘要和实际发布版本",
"实际端/基础库/浏览器及非敏感账号角色别名",
"成功/失败/恢复步骤与脱敏截图或安全回执",
"requestId/taskId/assessmentId/revisionId等非秘密关联编号(仅按需)",
"执行日期、执行人、缺陷号与复验结论"
],
"result": {
"status": "not-performed",
"executedAt": null,
"executor": null,
"device": null,
"evidence": [],
"defects": [],
"signoff": null
}
},
{
"id": "AC-CHAT-002",
"taskId": "CHAT-002",
"module": "CHAT",
"title": "DeepSeek对话调用",
"priority": "P1",
"taskStatusSnapshot": "待验收",
"directTaskDependencies": [
"CHAT-001",
"REPORT-001",
"REPORT-002"
],
"formalAcceptanceCriterion": "同请求不重复建消息或记本地消耗;错误回复不标成功;不会发送无关证件资料。",
"prerequisite": "批准AI预算与冻结上下文",
"steps": [
"明确发送后同requestId重复/并发",
"审查发送给模型的最小事实",
"验证格式错/额度不足/失败后原键重试"
],
"expectedResults": [
"一次预留和有效回复",
"敏感证件不外发,错误不标成功",
"费用可追溯"
],
"blockedBy": [
"EXT-AI",
"DEC-AI"
],
"historicalPartialEvidence": [
"E02",
"E11"
],
"evidenceRequired": [
"候选ID/源码摘要和实际发布版本",
"实际端/基础库/浏览器及非敏感账号角色别名",
"成功/失败/恢复步骤与脱敏截图或安全回执",
"requestId/taskId/assessmentId/revisionId等非秘密关联编号(仅按需)",
"执行日期、执行人、缺陷号与复验结论"
],
"result": {
"status": "not-performed",
"executedAt": null,
"executor": null,
"device": null,
"evidence": [],
"defects": [],
"signoff": null
}
},
{
"id": "AC-CHAT-003",
"taskId": "CHAT-003",
"module": "CHAT",
"title": "助手页面接入",
"priority": "P1",
"taskStatusSnapshot": "待验收",
"directTaskDependencies": [
"CHAT-002",
"REPORT-004"
],
"formalAcceptanceCriterion": "切换会话不串上下文;超时保留可重试消息;重进页面能继续。",
"prerequisite": "多会话与报告/产品/对比入口、目标端",
"steps": [
"从各入口查看摘要并发送",
"分页/切换会话/刷新/超时重进",
"过期登录后恢复同chatId/版本"
],
"expectedResults": [
"不串上下文或旧响应",
"消息可恢复重试,快捷入口不自动扣费"
],
"blockedBy": [
"B-DEVICE",
"B-FRONT"
],
"historicalPartialEvidence": [
"E02",
"E11"
],
"evidenceRequired": [
"候选ID/源码摘要和实际发布版本",
"实际端/基础库/浏览器及非敏感账号角色别名",
"成功/失败/恢复步骤与脱敏截图或安全回执",
"requestId/taskId/assessmentId/revisionId等非秘密关联编号(仅按需)",
"执行日期、执行人、缺陷号与复验结论"
],
"result": {
"status": "not-performed",
"executedAt": null,
"executor": null,
"device": null,
"evidence": [],
"defects": [],
"signoff": null
}
},
{
"id": "AC-CHAT-004",
"taskId": "CHAT-004",
"module": "CHAT",
"title": "对话异常与额度验收",
"priority": "P1",
"taskStatusSnapshot": "开发中",
"directTaskDependencies": [
"CHAT-003"
],
"formalAcceptanceCriterion": "配额并发不超扣;供应商计费不明可对账;仅真实成功回复显示完成。",
"prerequisite": "可控供应商异常/额度及并发测试环境",
"steps": [
"并发提交多个逻辑问题与重复点击",
"超时/回执丢失后原键重试",
"撤销会话/换账户并核费用与旧消息"
],
"expectedResults": [
"不超扣或重复回复",
"只有有效成功才显示完成,费用不明可对账"
],
"blockedBy": [
"EXT-AI",
"DEC-AI",
"B-DEVICE",
"B-FRONT"
],
"historicalPartialEvidence": [
"E02",
"E11"
],
"evidenceRequired": [
"候选ID/源码摘要和实际发布版本",
"实际端/基础库/浏览器及非敏感账号角色别名",
"成功/失败/恢复步骤与脱敏截图或安全回执",
"requestId/taskId/assessmentId/revisionId等非秘密关联编号(仅按需)",
"执行日期、执行人、缺陷号与复验结论"
],
"result": {
"status": "not-performed",
"executedAt": null,
"executor": null,
"device": null,
"evidence": [],
"defects": [],
"signoff": null
}
},
{
"id": "AC-CONTENT-001",
"taskId": "CONTENT-001",
"module": "CONTENT",
"title": "内容模型与发布后台",
"priority": "P1",
"taskStatusSnapshot": "开发中",
"directTaskDependencies": [
"BASE-001"
],
"formalAcceptanceCriterion": "后台可发布/下架;段落重排不换ID;草稿不可公开;FAQ可维护。",
"prerequisite": "真实内容、批准运营账号与版本",
"steps": [
"新建资讯/课程/FAQ/协议草稿并发布/下架",
"重排段落/修改正文核版本",
"对缺失/错/跨会话CSRF和撤权/跨类型/批量越界提交",
"失败刷新Token后手动重试"
],
"expectedResults": [
"草稿不可公开且段落ID稳定",
"仅合法status批量生效",
"Token门禁不自动重放,错误无部分保存"
],
"blockedBy": [
"B-OPS"
],
"historicalPartialEvidence": [
"E05",
"E06",
"E07"
],
"evidenceRequired": [
"候选ID/源码摘要和实际发布版本",
"实际端/基础库/浏览器及非敏感账号角色别名",
"成功/失败/恢复步骤与脱敏截图或安全回执",
"requestId/taskId/assessmentId/revisionId等非秘密关联编号(仅按需)",
"执行日期、执行人、缺陷号与复验结论"
],
"result": {
"status": "not-performed",
"executedAt": null,
"executor": null,
"device": null,
"evidence": [],
"defects": [],
"signoff": null
}
},
{
"id": "AC-CONTENT-002",
"taskId": "CONTENT-002",
"module": "CONTENT",
"title": "列表详情与首页推荐",
"priority": "P1",
"taskStatusSnapshot": "待验收",
"directTaskDependencies": [
"CONTENT-001",
"BASE-004"
],
"formalAcceptanceCriterion": "首页/列表/详情ID一致;无模拟兜底内容;下架详情有明确不可用状态。",
"prerequisite": "已发布/下架内容及目标端",
"steps": [
"从首页/列表/分类分页打开详情",
"改变发布状态并刷新",
"注入无内容/断网/迟到旧详情"
],
"expectedResults": [
"各入口ID/版本一致",
"下架明确不可用,无模拟兜底或迟到内容回填"
],
"blockedBy": [
"B-OPS",
"B-DEVICE",
"B-FRONT"
],
"historicalPartialEvidence": [
"E05",
"E06",
"E07"
],
"evidenceRequired": [
"候选ID/源码摘要和实际发布版本",
"实际端/基础库/浏览器及非敏感账号角色别名",
"成功/失败/恢复步骤与脱敏截图或安全回执",
"requestId/taskId/assessmentId/revisionId等非秘密关联编号(仅按需)",
"执行日期、执行人、缺陷号与复验结论"
],
"result": {
"status": "not-performed",
"executedAt": null,
"executor": null,
"device": null,
"evidence": [],
"defects": [],
"signoff": null
}
},
{
"id": "AC-CONTENT-003",
"taskId": "CONTENT-003",
"module": "CONTENT",
"title": "云端课程已读",
"priority": "P1",
"taskStatusSnapshot": "待验收",
"directTaskDependencies": [
"CONTENT-002",
"AUTH-002"
],
"formalAcceptanceCriterion": "整篇直接阅读;单一课程已读操作;账户隔离、失败可重试及跨设备一致。",
"prerequisite": "已读课程、A/B账号与两实际设备",
"steps": [
"整篇连续阅读并一次标已读",
"A另一设备恢复",
"重排/改简介/改正文/下架再发布",
"B读取与重复提交"
],
"expectedResults": [
"不引入章节任务",
"整篇一次已读按版本兼容且不重复记账,A/B进度隔离"
],
"blockedBy": [
"B-OPS",
"B-DEVICE",
"B-FRONT"
],
"historicalPartialEvidence": [
"E05",
"E06",
"E07"
],
"evidenceRequired": [
"候选ID/源码摘要和实际发布版本",
"实际端/基础库/浏览器及非敏感账号角色别名",
"成功/失败/恢复步骤与脱敏截图或安全回执",
"requestId/taskId/assessmentId/revisionId等非秘密关联编号(仅按需)",
"执行日期、执行人、缺陷号与复验结论"
],
"result": {
"status": "not-performed",
"executedAt": null,
"executor": null,
"device": null,
"evidence": [],
"defects": [],
"signoff": null
}
},
{
"id": "AC-CONTENT-004",
"taskId": "CONTENT-004",
"module": "CONTENT",
"title": "搜索与FAQ联调",
"priority": "P1",
"taskStatusSnapshot": "开发中",
"directTaskDependencies": [
"CONTENT-002"
],
"formalAcceptanceCriterion": "旧搜索响应不覆盖新关键词;返回ID可开详情;FAQ与实际业务行为一致。",
"prerequisite": "全文字段/FAQ数据与受控响应延迟",
"steps": [
"快速换关键词/分类使旧响应后到",
"分页时换查询/换账户",
"测试无结果/断网/刷新和FAQ退回"
],
"expectedResults": [
"仅当前查询响应更新",
"正文全文命中、无重复页/横溢,失败可重试且旧响应不污染"
],
"blockedBy": [
"B-OPS",
"B-DEVICE",
"B-FRONT"
],
"historicalPartialEvidence": [
"E05",
"E06",
"E07"
],
"evidenceRequired": [
"候选ID/源码摘要和实际发布版本",
"实际端/基础库/浏览器及非敏感账号角色别名",
"成功/失败/恢复步骤与脱敏截图或安全回执",
"requestId/taskId/assessmentId/revisionId等非秘密关联编号(仅按需)",
"执行日期、执行人、缺陷号与复验结论"
],
"result": {
"status": "not-performed",
"executedAt": null,
"executor": null,
"device": null,
"evidence": [],
"defects": [],
"signoff": null
}
},
{
"id": "AC-MSG-001",
"taskId": "MSG-001",
"module": "MSG",
"title": "通知事件与去重",
"priority": "P1",
"taskStatusSnapshot": "待验收",
"directTaskDependencies": [
"BASE-001",
"REPORT-004"
],
"formalAcceptanceCriterion": "重复任务不会重复通知;成功/失败通知关联正确assessmentId及revisionId。",
"prerequisite": "可控评估/反馈事件与A/B账号",
"steps": [
"重复发布同逻辑事件与失败重试",
"核原版本绑定",
"事务失败后重新处理"
],
"expectedResults": [
"每事件仅一条本人通知",
"失败不留半条通知,历史绑定不改新评估"
],
"blockedBy": [
"B-OPS"
],
"historicalPartialEvidence": [
"E02",
"E04"
],
"evidenceRequired": [
"候选ID/源码摘要和实际发布版本",
"实际端/基础库/浏览器及非敏感账号角色别名",
"成功/失败/恢复步骤与脱敏截图或安全回执",
"requestId/taskId/assessmentId/revisionId等非秘密关联编号(仅按需)",
"执行日期、执行人、缺陷号与复验结论"
],
"result": {
"status": "not-performed",
"executedAt": null,
"executor": null,
"device": null,
"evidence": [],
"defects": [],
"signoff": null
}
},
{
"id": "AC-MSG-002",
"taskId": "MSG-002",
"module": "MSG",
"title": "消息读写API",
"priority": "P1",
"taskStatusSnapshot": "待验收",
"directTaskDependencies": [
"MSG-001",
"AUTH-002"
],
"formalAcceptanceCriterion": "跨用户读写拒绝;已读重复操作幂等;列表/计数一致。",
"prerequisite": "多页/多类型通知和并发新消息",
"steps": [
"A分页/分类/单条已读",
"全部已读时插入新通知",
"B读A消息/游标并核read_at/is_read"
],
"expectedResults": [
"归属与分类严格",
"已读水位不吞新消息,未读计数与存储一致"
],
"blockedBy": [
"B-DEVICE"
],
"historicalPartialEvidence": [
"E02",
"E04"
],
"evidenceRequired": [
"候选ID/源码摘要和实际发布版本",
"实际端/基础库/浏览器及非敏感账号角色别名",
"成功/失败/恢复步骤与脱敏截图或安全回执",
"requestId/taskId/assessmentId/revisionId等非秘密关联编号(仅按需)",
"执行日期、执行人、缺陷号与复验结论"
],
"result": {
"status": "not-performed",
"executedAt": null,
"executor": null,
"device": null,
"evidence": [],
"defects": [],
"signoff": null
}
},
{
"id": "AC-MSG-003",
"taskId": "MSG-003",
"module": "MSG",
"title": "消息页面与首页红点",
"priority": "P1",
"taskStatusSnapshot": "待验收",
"directTaskDependencies": [
"MSG-002",
"BASE-004"
],
"formalAcceptanceCriterion": "换设备状态一致;打开通知到对应历史;关联记录不可用有提示。",
"prerequisite": "真实报告/反馈通知与目标端",
"steps": [
"首页红点进入消息后刷新/批量已读",
"打开原版本报告/单条反馈",
"目标下架/过期登录/换账户后重进"
],
"expectedResults": [
"红点来自服务端",
"跳转到原目标或明确不可用,登录恢复正确且不串用户"
],
"blockedBy": [
"B-DEVICE",
"B-FRONT"
],
"historicalPartialEvidence": [
"E02",
"E04"
],
"evidenceRequired": [
"候选ID/源码摘要和实际发布版本",
"实际端/基础库/浏览器及非敏感账号角色别名",
"成功/失败/恢复步骤与脱敏截图或安全回执",
"requestId/taskId/assessmentId/revisionId等非秘密关联编号(仅按需)",
"执行日期、执行人、缺陷号与复验结论"
],
"result": {
"status": "not-performed",
"executedAt": null,
"executor": null,
"device": null,
"evidence": [],
"defects": [],
"signoff": null
}
},
{
"id": "AC-MSG-004",
"taskId": "MSG-004",
"module": "MSG",
"title": "事件消息验收",
"priority": "P1",
"taskStatusSnapshot": "待验收",
"directTaskDependencies": [
"MSG-003"
],
"formalAcceptanceCriterion": "全部已读不误吞操作后新增消息;通知去重和未读数通过数据库核对。",
"prerequisite": "两端/两会话、分页与并发事件",
"steps": [
"同时分页/全部已读并新增消息",
"重复事件/失败恢复",
"多设备刷新与改密撤销"
],
"expectedResults": [
"一次通知、正确水位和计数",
"旧会话拒绝,多设备最终一致"
],
"blockedBy": [
"B-DEVICE",
"B-FRONT"
],
"historicalPartialEvidence": [
"E02",
"E04"
],
"evidenceRequired": [
"候选ID/源码摘要和实际发布版本",
"实际端/基础库/浏览器及非敏感账号角色别名",
"成功/失败/恢复步骤与脱敏截图或安全回执",
"requestId/taskId/assessmentId/revisionId等非秘密关联编号(仅按需)",
"执行日期、执行人、缺陷号与复验结论"
],
"result": {
"status": "not-performed",
"executedAt": null,
"executor": null,
"device": null,
"evidence": [],
"defects": [],
"signoff": null
}
},
{
"id": "AC-POINT-001",
"taskId": "POINT-001",
"module": "POINT",
"title": "积分规则定稿",
"priority": "P1",
"taskStatusSnapshot": "阻塞",
"directTaskDependencies": [
"BASE-001",
"DEC-POINT"
],
"formalAcceptanceCriterion": "形成版本化活动规则;复制/分享不等于奖励;未确认奖励规则不得上线。",
"prerequisite": "业务规则负责人及正式规则方案",
"steps": [
"逐项确认签到/资料/邀请数额次数条件",
"明确业务时区/有效期/权益和反例",
"签收版本化规则"
],
"expectedResults": [
"批准前始终关闭",
"不自行设奖励、迁移旧表或发放真实积分"
],
"blockedBy": [
"DEC-POINT"
],
"historicalPartialEvidence": [
"E09"
],
"evidenceRequired": [
"候选ID/源码摘要和实际发布版本",
"实际端/基础库/浏览器及非敏感账号角色别名",
"成功/失败/恢复步骤与脱敏截图或安全回执",
"requestId/taskId/assessmentId/revisionId等非秘密关联编号(仅按需)",
"执行日期、执行人、缺陷号与复验结论"
],
"result": {
"status": "not-performed",
"executedAt": null,
"executor": null,
"device": null,
"evidence": [],
"defects": [],
"signoff": null
}
},
{
"id": "AC-POINT-002",
"taskId": "POINT-002",
"module": "POINT",
"title": "积分账户与签到",
"priority": "P1",
"taskStatusSnapshot": "开发中",
"directTaskDependencies": [
"POINT-001",
"AUTH-002"
],
"formalAcceptanceCriterion": "同用户同日并发只加一次;流水与积分一致;错误不静默吞掉。",
"prerequisite": "批准规则后在隔离环境实施;未批准只检查关闭态",
"steps": [
"核默认关闭及旧写接口保护",
"仅批准后模拟跨日/重复/并发签到和流水故障",
"核服务端日期/余额/幂等"
],
"expectedResults": [
"关闭时零积分写入",
"启用后余额/流水同事务,重复事件不多发"
],
"blockedBy": [
"DEC-POINT"
],
"historicalPartialEvidence": [
"E09"
],
"evidenceRequired": [
"候选ID/源码摘要和实际发布版本",
"实际端/基础库/浏览器及非敏感账号角色别名",
"成功/失败/恢复步骤与脱敏截图或安全回执",
"requestId/taskId/assessmentId/revisionId等非秘密关联编号(仅按需)",
"执行日期、执行人、缺陷号与复验结论"
],
"result": {
"status": "not-performed",
"executedAt": null,
"executor": null,
"device": null,
"evidence": [],
"defects": [],
"signoff": null
}
},
{
"id": "AC-POINT-003",
"taskId": "POINT-003",
"module": "POINT",
"title": "邀请码与邀请关系",
"priority": "P1",
"taskStatusSnapshot": "未开始",
"directTaskDependencies": [
"POINT-002"
],
"formalAcceptanceCriterion": "客户端不能自报完成奖励;重复/自邀拒绝;已有关系不随分享覆盖。",
"prerequisite": "批准规则及可信邀请事件已实施",
"steps": [
"生成邀请码并首次有效绑定",
"测试重复绑定/自邀/换账户/伪客户端事件",
"并发奖励和事务失败重试"
],
"expectedResults": [
"邀请码唯一且绑定只一次",
"不相信客户端达成,自邀/重复无奖励,发放幂等"
],
"blockedBy": [
"DEC-POINT"
],
"historicalPartialEvidence": [
"E09"
],
"evidenceRequired": [
"候选ID/源码摘要和实际发布版本",
"实际端/基础库/浏览器及非敏感账号角色别名",
"成功/失败/恢复步骤与脱敏截图或安全回执",
"requestId/taskId/assessmentId/revisionId等非秘密关联编号(仅按需)",
"执行日期、执行人、缺陷号与复验结论"
],
"result": {
"status": "not-performed",
"executedAt": null,
"executor": null,
"device": null,
"evidence": [],
"defects": [],
"signoff": null
}
},
{
"id": "AC-POINT-004",
"taskId": "POINT-004",
"module": "POINT",
"title": "任务积分页面联调",
"priority": "P1",
"taskStatusSnapshot": "开发中",
"directTaskDependencies": [
"POINT-003",
"ASSESS-004"
],
"formalAcceptanceCriterion": "真实到账后才提示成功;跨账户/跨设备一致;邀请复制不立即发奖励。",
"prerequisite": "积分规则和邀请功能就绪、目标端",
"steps": [
"当前候选检查关闭提示/余额接口",
"批准后验证真实任务/签到/邀请/规则页",
"断网回执丢失与换账户恢复"
],
"expectedResults": [
"关闭时不承诺奖励",
"启用后仅显示服务端数据,无重复签到或账户残留"
],
"blockedBy": [
"DEC-POINT",
"B-DEVICE",
"B-FRONT"
],
"historicalPartialEvidence": [
"E09"
],
"evidenceRequired": [
"候选ID/源码摘要和实际发布版本",
"实际端/基础库/浏览器及非敏感账号角色别名",
"成功/失败/恢复步骤与脱敏截图或安全回执",
"requestId/taskId/assessmentId/revisionId等非秘密关联编号(仅按需)",
"执行日期、执行人、缺陷号与复验结论"
],
"result": {
"status": "not-performed",
"executedAt": null,
"executor": null,
"device": null,
"evidence": [],
"defects": [],
"signoff": null
}
},
{
"id": "AC-SUPPORT-001",
"taskId": "SUPPORT-001",
"module": "SUPPORT",
"title": "客服方案与运营准备",
"priority": "P0",
"taskStatusSnapshot": "阻塞",
"directTaskDependencies": [
"BASE-001",
"EXT-CS"
],
"formalAcceptanceCriterion": "具有可测试坐席和离线处理渠道;确认SDK/隐私及首发支持范围。",
"prerequisite": "真实客服能力及运营责任人",
"steps": [
"核普通/微信内H5支持、身份签名和坐席",
"明确工作时间/离线与反馈状态",
"审批运营接待方案"
],
"expectedResults": [
"真实责任人与渠道能力明确",
"没有坐席时不展示虚假在线接待"
],
"blockedBy": [
"EXT-CS",
"B-OPS"
],
"historicalPartialEvidence": [
"E04"
],
"evidenceRequired": [
"候选ID/源码摘要和实际发布版本",
"实际端/基础库/浏览器及非敏感账号角色别名",
"成功/失败/恢复步骤与脱敏截图或安全回执",
"requestId/taskId/assessmentId/revisionId等非秘密关联编号(仅按需)",
"执行日期、执行人、缺陷号与复验结论"
],
"result": {
"status": "not-performed",
"executedAt": null,
"executor": null,
"device": null,
"evidence": [],
"defects": [],
"signoff": null
}
},
{
"id": "AC-SUPPORT-002",
"taskId": "SUPPORT-002",
"module": "SUPPORT",
"title": "反馈提交与处理闭环",
"priority": "P1",
"taskStatusSnapshot": "开发完成,待验收",
"directTaskDependencies": [
"AUTH-002",
"FILE-002"
],
"formalAcceptanceCriterion": "反馈可提交到后台并回复;仅当前用户可查;附件无越权。",
"prerequisite": "A/B、真实反馈处理角色及附件功能就绪",
"steps": [
"A提交后丢弃回执并退出/改密再登录按原键补确认",
"跨角色处理回复并重复保存",
"B/撤权账号读取与故障回滚"
],
"expectedResults": [
"一条反馈和首次有效回复通知",
"不串账户/角色或重复处理,持久恢复可追溯"
],
"blockedBy": [
"EXT-STORAGE",
"DEC-PRIVACY",
"B-OPS",
"B-DEVICE",
"B-FRONT"
],
"historicalPartialEvidence": [
"E04"
],
"evidenceRequired": [
"候选ID/源码摘要和实际发布版本",
"实际端/基础库/浏览器及非敏感账号角色别名",
"成功/失败/恢复步骤与脱敏截图或安全回执",
"requestId/taskId/assessmentId/revisionId等非秘密关联编号(仅按需)",
"执行日期、执行人、缺陷号与复验结论"
],
"result": {
"status": "not-performed",
"executedAt": null,
"executor": null,
"device": null,
"evidence": [],
"defects": [],
"signoff": null
}
},
{
"id": "AC-SUPPORT-003",
"taskId": "SUPPORT-003",
"module": "SUPPORT",
"title": "H5人工客服接入",
"priority": "P0",
"taskStatusSnapshot": "阻塞",
"directTaskDependencies": [
"SUPPORT-001",
"AUTH-002",
"EXT-CS"
],
"formalAcceptanceCriterion": "真实到达人工坐席;不由前端伪造用户身份;离线可留言并有处理路径。",
"prerequisite": "真人坐席、SDK和服务端身份签名已接入",
"steps": [
"以A身份打开客服在线/排队/离线",
"验证签名过期/SDK失败/不支持端",
"换B后关闭重开"
],
"expectedResults": [
"身份由服务端签发且不串账户",
"失败有明确反馈回退,无虚假成功"
],
"blockedBy": [
"EXT-CS",
"B-DEVICE",
"B-H5"
],
"historicalPartialEvidence": [
"E04"
],
"evidenceRequired": [
"候选ID/源码摘要和实际发布版本",
"实际端/基础库/浏览器及非敏感账号角色别名",
"成功/失败/恢复步骤与脱敏截图或安全回执",
"requestId/taskId/assessmentId/revisionId等非秘密关联编号(仅按需)",
"执行日期、执行人、缺陷号与复验结论"
],
"result": {
"status": "not-performed",
"executedAt": null,
"executor": null,
"device": null,
"evidence": [],
"defects": [],
"signoff": null
}
},
{
"id": "AC-SUPPORT-004",
"taskId": "SUPPORT-004",
"module": "SUPPORT",
"title": "客服反馈联调",
"priority": "P0",
"taskStatusSnapshot": "未开始",
"directTaskDependencies": [
"SUPPORT-002",
"SUPPORT-003",
"CONTENT-004"
],
"formalAcceptanceCriterion": "会话无跨账户泄漏;客户可获回复;供应商不支持项准确提示。",
"prerequisite": "客服与反馈闭环和两目标端",
"steps": [
"逐端客服/反馈往返",
"验证账户变化/关闭重开/无坐席/SDK失败",
"消息定位本人最新回复和历史反馈"
],
"expectedResults": [
"客服/反馈/通知闭环正确",
"私有附件归属有效,失败可恢复且运营签收可追溯"
],
"blockedBy": [
"EXT-CS",
"EXT-STORAGE",
"DEC-PRIVACY",
"B-OPS",
"B-DEVICE",
"B-FRONT",
"B-H5"
],
"historicalPartialEvidence": [
"E04"
],
"evidenceRequired": [
"候选ID/源码摘要和实际发布版本",
"实际端/基础库/浏览器及非敏感账号角色别名",
"成功/失败/恢复步骤与脱敏截图或安全回执",
"requestId/taskId/assessmentId/revisionId等非秘密关联编号(仅按需)",
"执行日期、执行人、缺陷号与复验结论"
],
"result": {
"status": "not-performed",
"executedAt": null,
"executor": null,
"device": null,
"evidence": [],
"defects": [],
"signoff": null
}
},
{
"id": "AC-ADMIN-001",
"taskId": "ADMIN-001",
"module": "ADMIN",
"title": "菜单与角色权限",
"priority": "P0",
"taskStatusSnapshot": "开发中",
"directTaskDependencies": [
"BASE-001"
],
"formalAcceptanceCriterion": "管理员权限最小化;无需恢复已删除会员组/规则;敏感字段继续掩码。",
"prerequisite": "正式运营/客服/技术/超管账号及批准绑定方案",
"steps": [
"核菜单和直接访问权限并集",
"校验身份/金额/密钥/日志脱敏",
"撤销角色再访问原入口"
],
"expectedResults": [
"后端动作授权有效且撤权即时生效",
"敏感字段独立授权,密钥不回显"
],
"blockedBy": [
"B-OPS"
],
"historicalPartialEvidence": [
"E03",
"E06",
"E07"
],
"evidenceRequired": [
"候选ID/源码摘要和实际发布版本",
"实际端/基础库/浏览器及非敏感账号角色别名",
"成功/失败/恢复步骤与脱敏截图或安全回执",
"requestId/taskId/assessmentId/revisionId等非秘密关联编号(仅按需)",
"执行日期、执行人、缺陷号与复验结论"
],
"result": {
"status": "not-performed",
"executedAt": null,
"executor": null,
"device": null,
"evidence": [],
"defects": [],
"signoff": null
}
},
{
"id": "AC-ADMIN-002",
"taskId": "ADMIN-002",
"module": "ADMIN",
"title": "任务与查询排障",
"priority": "P1",
"taskStatusSnapshot": "开发中",
"directTaskDependencies": [
"REPORT-004",
"DATA-004",
"ADMIN-001"
],
"formalAcceptanceCriterion": "可定位失败原因;重试仍走生命周期和幂等;不允许后台手改正式结果。",
"prerequisite": "受控失败/当前发布/历史任务与批准重试账号",
"steps": [
"按assessmentId/taskId/requestId查诊断",
"测试客服/旧技术/撤权拒绝和当前失败版合法重试",
"同键/并发/审计故障/模型暂停与查询force反例"
],
"expectedResults": [
"仅授权技术/超管在允许状态重试",
"任务和审计同事务,历史回执稳定,无跨用户查询或隐式强制"
],
"blockedBy": [
"EXT-DATA",
"B-OPS",
"EXT-DEPLOY"
],
"historicalPartialEvidence": [
"E03",
"E06",
"E07"
],
"evidenceRequired": [
"候选ID/源码摘要和实际发布版本",
"实际端/基础库/浏览器及非敏感账号角色别名",
"成功/失败/恢复步骤与脱敏截图或安全回执",
"requestId/taskId/assessmentId/revisionId等非秘密关联编号(仅按需)",
"执行日期、执行人、缺陷号与复验结论"
],
"result": {
"status": "not-performed",
"executedAt": null,
"executor": null,
"device": null,
"evidence": [],
"defects": [],
"signoff": null
}
},
{
"id": "AC-ADMIN-003",
"taskId": "ADMIN-003",
"module": "ADMIN",
"title": "模型额度与服务检查",
"priority": "P1",
"taskStatusSnapshot": "开发中",
"directTaskDependencies": [
"REPORT-001",
"CHAT-004",
"ADMIN-001"
],
"formalAcceptanceCriterion": "密钥不回显;配置失败可定位;本地消耗与渠道对账有入口。",
"prerequisite": "批准运维账号、配置与供应商状态核对入口",
"steps": [
"读取模型密钥状态/额度/调用用量和队列",
"核启停权限/策略版本冲突",
"分别检查短信/存储未配置与可用状态"
],
"expectedResults": [
"只展示安全状态不泄露密钥",
"未配置不报正常,启停/额度有审计且费用可定位"
],
"blockedBy": [
"EXT-SMS",
"EXT-STORAGE",
"EXT-AI",
"DEC-AI",
"EXT-DEPLOY",
"B-OPS"
],
"historicalPartialEvidence": [
"E03",
"E06",
"E07"
],
"evidenceRequired": [
"候选ID/源码摘要和实际发布版本",
"实际端/基础库/浏览器及非敏感账号角色别名",
"成功/失败/恢复步骤与脱敏截图或安全回执",
"requestId/taskId/assessmentId/revisionId等非秘密关联编号(仅按需)",
"执行日期、执行人、缺陷号与复验结论"
],
"result": {
"status": "not-performed",
"executedAt": null,
"executor": null,
"device": null,
"evidence": [],
"defects": [],
"signoff": null
}
},
{
"id": "AC-ADMIN-004",
"taskId": "ADMIN-004",
"module": "ADMIN",
"title": "运营交接验收",
"priority": "P1",
"taskStatusSnapshot": "未开始",
"directTaskDependencies": [
"ADMIN-002",
"ADMIN-003",
"CONTENT-004",
"MSG-004",
"POINT-004",
"SUPPORT-004"
],
"formalAcceptanceCriterion": "运营可独立发布/下架/处理反馈及定位异常;业务字段无占位数据。",
"prerequisite": "真实业务资料/渠道和运营负责人就绪",
"steps": [
"按批准角色演练产品/内容/课程/消息/反馈/客服",
"批准积分后演练规则任务,否则记录阻塞",
"复核操作说明/错误恢复/审计与责任人签收"
],
"expectedResults": [
"真实运营闭环且权限正确",
"每项有实际操作/恢复证据,未就绪项不代签"
],
"blockedBy": [
"DEC-PRODUCT",
"DEC-MATCH",
"DEC-POINT",
"EXT-CS",
"EXT-STORAGE",
"DEC-PRIVACY",
"B-OPS"
],
"historicalPartialEvidence": [
"E03",
"E06",
"E07"
],
"evidenceRequired": [
"候选ID/源码摘要和实际发布版本",
"实际端/基础库/浏览器及非敏感账号角色别名",
"成功/失败/恢复步骤与脱敏截图或安全回执",
"requestId/taskId/assessmentId/revisionId等非秘密关联编号(仅按需)",
"执行日期、执行人、缺陷号与复验结论"
],
"result": {
"status": "not-performed",
"executedAt": null,
"executor": null,
"device": null,
"evidence": [],
"defects": [],
"signoff": null
}
},
{
"id": "AC-RELEASE-001",
"taskId": "RELEASE-001",
"module": "RELEASE",
"title": "核心与权限回归",
"priority": "P0",
"taskStatusSnapshot": "开发中",
"directTaskDependencies": [
"REPORT-004",
"LOGIN-004",
"AUTH-004",
"ADMIN-004"
],
"formalAcceptanceCriterion": "关键用例通过且有证据;无阻断或高危未解决缺陷;所有一期模块进入验收。",
"prerequisite": "候选摘要相符、全部模块具备验收条件",
"steps": [
"按本文件63用例和个人/企业全链路执行",
"复测跨账户/金额/幂等/产品变更/并发",
"登记阻断缺陷并验证修复后新候选"
],
"expectedResults": [
"核心与权限有对应真实证据",
"无阻断/高危未解决项,不能以开发断言数替代63任务签收"
],
"blockedBy": [
"B-VERSION",
"B-ENV",
"B-DEVICE",
"B-FRONT",
"B-OPS"
],
"historicalPartialEvidence": [
"E01",
"E02",
"E03",
"E04",
"E05",
"E06",
"E07",
"E08",
"E12"
],
"evidenceRequired": [
"候选ID/源码摘要和实际发布版本",
"实际端/基础库/浏览器及非敏感账号角色别名",
"成功/失败/恢复步骤与脱敏截图或安全回执",
"requestId/taskId/assessmentId/revisionId等非秘密关联编号(仅按需)",
"执行日期、执行人、缺陷号与复验结论"
],
"result": {
"status": "not-performed",
"executedAt": null,
"executor": null,
"device": null,
"evidence": [],
"defects": [],
"signoff": null
}
},
{
"id": "AC-RELEASE-002",
"taskId": "RELEASE-002",
"module": "RELEASE",
"title": "H5与第三方真实验收",
"priority": "P0",
"taskStatusSnapshot": "未开始",
"directTaskDependencies": [
"RELEASE-001"
],
"formalAcceptanceCriterion": "真实渠道与目标浏览器矩阵通过;不是仅编译通过或mock成功。",
"prerequisite": "真实渠道就绪、H5与小程序发行信息明确",
"steps": [
"逐实际端核键盘/上传/回跳/断网/弱网/PDF",
"各真实渠道走成功/取消/失败/恢复",
"两设备/账户核缓存和状态"
],
"expectedResults": [
"目标浏览器/设备矩阵和真实渠道通过",
"编译或桩不代替实际平台运行"
],
"blockedBy": [
"B-VERSION",
"B-ENV",
"B-DEVICE",
"B-H5",
"EXT-WX",
"EXT-ONE",
"EXT-SMS",
"EXT-DATA",
"EXT-CS"
],
"historicalPartialEvidence": [
"E01",
"E02",
"E03",
"E04",
"E05",
"E06",
"E07",
"E08",
"E12"
],
"evidenceRequired": [
"候选ID/源码摘要和实际发布版本",
"实际端/基础库/浏览器及非敏感账号角色别名",
"成功/失败/恢复步骤与脱敏截图或安全回执",
"requestId/taskId/assessmentId/revisionId等非秘密关联编号(仅按需)",
"执行日期、执行人、缺陷号与复验结论"
],
"result": {
"status": "not-performed",
"executedAt": null,
"executor": null,
"device": null,
"evidence": [],
"defects": [],
"signoff": null
}
},
{
"id": "AC-RELEASE-003",
"taskId": "RELEASE-003",
"module": "RELEASE",
"title": "部署与恢复演练",
"priority": "P0",
"taskStatusSnapshot": "阻塞",
"directTaskDependencies": [
"RELEASE-001",
"ADMIN-003",
"EXT-DEPLOY"
],
"formalAcceptanceCriterion": "干净测试环境可部署;有数据环境升级可恢复;不重跑旧空表限定迁移。",
"prerequisite": "用户另行授权可恢复演练窗口/目标和备份方案;不要求已取消的独立机",
"steps": [
"核配置/HTTPS/增量迁移预检与恢复守卫",
"受控验证systemd信号/重启/开机、告警实际投递与密钥恢复",
"测规模备份/恢复RTO/RPO并保护后续数据"
],
"expectedResults": [
"服务/数据可恢复且费用无重复",
"真实故障/告警/托管/耗时有证据",
"既有r3恢复与干跑仅为历史局部证据"
],
"blockedBy": [
"EXT-DEPLOY",
"B-OPS"
],
"historicalPartialEvidence": [
"E01",
"E02",
"E03",
"E04",
"E05",
"E06",
"E07",
"E08",
"E12"
],
"evidenceRequired": [
"候选ID/源码摘要和实际发布版本",
"实际端/基础库/浏览器及非敏感账号角色别名",
"成功/失败/恢复步骤与脱敏截图或安全回执",
"requestId/taskId/assessmentId/revisionId等非秘密关联编号(仅按需)",
"执行日期、执行人、缺陷号与复验结论"
],
"result": {
"status": "not-performed",
"executedAt": null,
"executor": null,
"device": null,
"evidence": [],
"defects": [],
"signoff": null
}
},
{
"id": "AC-RELEASE-004",
"taskId": "RELEASE-004",
"module": "RELEASE",
"title": "首发验收与发布记录",
"priority": "P0",
"taskStatusSnapshot": "未开始",
"directTaskDependencies": [
"RELEASE-002",
"RELEASE-003"
],
"formalAcceptanceCriterion": "所有一期必做项已验收;生产无demo数据/占位协议/模拟Token;记录实际版本和时间。",
"prerequisite": "RELEASE-001/002/003完成且63必做项真实签收",
"steps": [
"核所有范围/外部条件/缺陷结论与候选SHA",
"保存实际小程序/H5/后端版本和时间",
"经授权正式发布后冒烟并核回退触发/数据保护"
],
"expectedResults": [
"正式负责人签收且版本可追溯",
"无demo数据/占位协议/模拟Token,完整首发记录与回退条件齐备"
],
"blockedBy": [
"B-VERSION",
"B-ENV",
"B-DEVICE",
"B-H5",
"B-OPS"
],
"historicalPartialEvidence": [
"E01",
"E02",
"E03",
"E04",
"E05",
"E06",
"E07",
"E08",
"E12"
],
"evidenceRequired": [
"候选ID/源码摘要和实际发布版本",
"实际端/基础库/浏览器及非敏感账号角色别名",
"成功/失败/恢复步骤与脱敏截图或安全回执",
"requestId/taskId/assessmentId/revisionId等非秘密关联编号(仅按需)",
"执行日期、执行人、缺陷号与复验结论"
],
"result": {
"status": "not-performed",
"executedAt": null,
"executor": null,
"device": null,
"evidence": [],
"defects": [],
"signoff": null
}
}
],
"overallAcceptance": {
"status": "not-performed",
"signoffPerson": null,
"signedAt": null,
"conclusion": null
}
}