Files
airz-uniapp/docs/开发进度.md
T
hujun 71b3c25695 feat: 优化账户切换时的页面状态一致性,增加登录回跳校验和课程阅读新逻辑
- 增加账户状态监听定时器,页面切换时自动校验账户归属,避免跨账户操作
- 新增登录回跳路径校验函数,限制仅允许指定页面回跳,防止非法跳转
- 课程页改为整篇连续阅读,底部仅一次标记已读,兼容历史记录
- 完善助手、对比页、资料填写页等多处的账户状态校验逻辑,防止错版数据提交
- 优化账户资料请求逻辑,增加版本校验,避免旧请求覆盖新数据
2026-10-07 10:01:05 +08:00

1755 lines
301 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# AI 融资平台开发进度
基线日期:2026-09-22。文档版本:1.67。课程整篇阅读与单一已读操作见0.77节,CONTENT-002/003/004内容、课程进度与搜索组合开发检查见0.76节,AUTH-003/004账户资料、头像及会话撤销后端隔离HTTP开发检查见0.75节,AUTH-003/004账户资料、改密及退出组合开发检查见0.74节,ASSESS-004评估新建/修改后端隔离HTTP开发检查见0.73节,ASSESS-004资料填写、确认提交与档案回显组合开发检查见0.72节,PRODUCT-004匹配读取与产品解释后端隔离开发检查见0.71节,PRODUCT-004/005匹配详情与对比历史版本组合开发检查见0.70节,CHAT-004后端消息幂等、并发额度与历史上下文隔离开发检查见0.69节,CHAT-004历史版本上下文与异常会话组合开发检查见0.68节,REPORT-006行动页与报告可用性组合开发检查见0.67节,REPORT-005微信PDF下载与导出边界开发检查见0.66节,REPORT-004历史报告与重评组合开发检查见0.65节,REPORT-003报告生成与持久化开发检查见0.64节,REPORT-002异步任务与补偿链开发检查见0.63节,反馈与消息后端生产发布见0.62节,反馈与消息配套发布准备见0.61节,最新反馈恢复与消息组合检查见0.60节,反馈回复与站内消息联动见0.59节,会员反馈原键恢复见0.58节,小程序既有发布状态及后台反馈处理见0.57节,首页隔离回归见0.56节,后端发布见0.55节;此前章节保留阶段记录。技术方案和接口说明见[开发文档](./开发文档.md),发布材料见[反馈消息发布清单](./反馈消息发布清单.md)。本台账现有63项任务、27页面,编号与开发文档保持一致。
### 0.77 2026-10-07 课程整篇阅读与单一已读操作
用户明确要求课程不分章节,简化阅读。`packages/content/lesson/lesson.uvue` 改为类似文章的连续正文,全部内容直接展示,只保留自然段落的小标题;去掉目录、折叠、编号、逐节按钮、开始/继续学习按钮、章节计数及进度条。白底阅读排版,底部仅一个“我已读完”操作,完成后显示“已读完”。匿名可直接阅读,登录只在标记已读时需要;状态读取慢或失败不阻止正文展示。
复用已上线的内容结构、章节版本与进度接口,仅前端课程页源码修改,无数据库迁移或后端接口变更。单次已读操作依次补齐未完成记录,全部成功后才显示已读;老部分记录保留,途中失败重载服务器状态再补未完成部分,避免假成功。最多30个既有段落请求,不新增后台任务。每次发送前/响应后核对账户、版本和页面代次,换账户或离页停止剩余请求,保留双击防护。后台的稳定段落ID属于兼容存储,用户界面不再提供章节学习流程。
Chrome H5 `http://localhost:5175` 手机390×844、小屏360×740、桌面1280×900最终57项、53次受控业务请求(15次合成PUT及1次合成登录POST)通过。覆盖连续正文/全部文本/无章节控件与文案、滚动到文末、一次完成/重复零写/刷新恢复、历史部分完成、慢状态可阅读且禁止写、失败状态及部分保存重试、双击仅一组、版本冲突停止、立即及保存中换账户、离页停止、匿名零进度GET/密码登录回跳、小屏按钮适配;身份、非空、无遮罩、无横溢、段落不重叠、封面及三截图通过,pageerror=0、未定义API=0,console仅刻意503/409。首轮截图图片等待为空集合误通过,补可见封面背景条件后最终57项通过,无业务修复或依赖安装。
HBuilderX5.26最终Android08:36:34、微信08:37:08,27页面编译通过。初始CLI提示HBuilderX未打开,正常启动后编译成功;新5175预览初编译等待后运行。Browser plugin not available,复用已有Playwright CLI;共享layout既有H5类型警告保留。安全证据ROOT `C:/Users/JUN/AppData/Local/Temp/airz-reading-20261007/` 内 `verification.json`、`reading-mobile.png`、`reading-end-mobile.png`、`reading-desktop.png` 及两平台最终日志。临时脚本/CLI日志含无服务权限合成会话,不整体分享。浏览器存储/cookies/routes清空并关闭专用reading会话;新5175/PID15480保留供查看。本轮开始时5173/5174/旧5175均无监听,未停止其他服务。后端只读,不读正式.env,不启动数据库/Redis/worker,不连生产或调用真实短信/模型。
仅课程页及四份相关说明更新,两仓库既有未提交保持,63任务/27页面与任务状态不变。课程“用户分章节阅读/逐节完成”需求由本轮整篇阅读/课程级已读取代,历史章节仅记录兼容实现;未发布、提交、推送或正式验收。真机/跨设备/真实后端联调未覆盖。下一项仍为内容、课程已读和搜索后端隔离HTTP检查,按当前整篇阅读语义检查历史记录兼容、幂等、版本变化、账户归属及失败恢复,不重新引入章节交互。
### 0.76 2026-10-06 CONTENT-002/003/004 内容、课程进度与搜索组合开发检查
本轮受控浏览器复现并修复六类问题:资讯详情接受另一ID、进度接受重复/外来章节、分页接受错误页码、旧课程页用新账户提交、无操作换账户仍显示旧进度,以及完成回执接受不同课程版本。修改 `services/content.uts`、`packages/content/lesson/lesson.uvue`、`news/news.uvue`、`classroom/classroom.uvue`、`search/search.uvue` 五个前端文件,后端业务源码只读。
共享解析校验对象、ID、文本、章节、课程场景/数量/版本及分页契约,详情核对请求归属和完整正文;保留列表/首页摘要的空正文/章节及后端跳过坏存储行时不足20条的合法响应。学习进度核对课程ID、版本及唯一章节,页面进一步核对章节属于当前课程;完成回执须包含所选章节并保持版本。课程可见期每秒核对账户Token,操作前及异步回包也核对账户/代次;换账户清旧进度和展开状态并刷新,离页停止检查。重复完成、加载/保存期间及隐藏页不提交;迟到401不清新会话。三类分页拒绝重复追加,失败保留已有列表和原页码供重试,刷新清分页错误;搜索补可见性守卫。
Chrome H5 `http://localhost:5175` 手机390×844、桌面1280×900最终123项、107次受控业务请求(9次合成PUT/登录POST)通过。覆盖23种坏服务响应、4种非法输入零请求、内容推荐及聚合首页共享解析、资讯下架/重试/分页/分类竞争、课程分页/场景竞争/详情归属、重复完成/双击/失败刷新重试、错版/外来章节、立即及无操作换账户/新Token/迟到读取/401/离页回包、匿名登录回跳,以及搜索关键词/类型竞争、429/重复分页/详情跳转/空/断网恢复/清空/建议。分类检查同时核对所选场景和新课程标题。六项原缺陷复测均false;pageerror=0、未定义API=0,console仅刻意404/503/401/429及net::ERR_FAILED。身份、非空、无遮罩、无横溢、图片及七截图通过,全部外部请求拦截,无真实后端写入。
HBuilderX5.26最终Android21:27:44、微信21:34:02,27页面编译通过。Android UTS前向引用采用既有回调约定;旧5174返回旧共享模块,另启5175并补齐临时HX_APP_ROOT环境标识后加载当前export。测试初期uni-button禁用断言改为组件属性并核对实际零请求,登录定位/协议勾选、匿名零GET、新Token刷新及场景页面证据补齐;早期中断结果不计最终数。Browser plugin not available,使用缓存Playwright CLI,无新增依赖;共享layout既有H5类型警告保留。两仓库diff及五源码/两台账UTF-8无BOM、主要行尾约定检查通过。
ROOT `C:/Users/JUN/AppData/Local/Temp/airz-content-combo-20261006/`,安全证据为 `verification.json`、`repro-after.json`、七张页面截图、`android-final.log`、`weixin-final.log`。临时脚本/CLI日志含无服务器权限合成会话,不整体分享。浏览器存储/cookies/routes清空,专用浏览器关闭;当前源码预览5175/PID68580保留供查看,旧5174/PID76784及另一项目5173保留,下轮核对归属再复用或停止。未启动数据库/Redis/后端/worker,未读正式.env、连接生产或调用真实短信/模型。两仓库既有未提交及前端 `%SystemDrive%/`、`scripts/`、`.vite/` 保留。本轮未正式验收、部署、提交、推送或重新发行小程序;63任务/27页面不变,任务状态保持,真机/跨设备及真实后端联调未覆盖,新增源码仍未配套发布。
下一开发入口:CONTENT-002/003/004后端内容、课程进度与搜索隔离HTTP检查。`D:/AAdesk/202609/airz/tests/content_catalog.php` 已要求显式bootstrap但固定3309且未复用report_test_bootstrap,不直接重启旧环境;先统一隔离守卫、随机本机HTTP继承及精确清理,再另建本机库/Redis。覆盖发布/下架/坏存储行、列表/详情/首页/搜索契约、鉴权/账户隔离/重复完成、章节重排保持与正文更新失效、版本冲突及事务/并发失败,不自行正式验收、接真实供应商、调用模型或沿用历史生产授权发布。
### 0.75 2026-10-06 AUTH-003/004 账户资料、头像及会话撤销后端隔离HTTP开发检查
后端 `D:/AAdesk/202609/airz/tests/api_profile.php`、`tests/api_session.php` 改用显式 `--bootstrap=<path>`,缺参在框架初始化前拒绝,复用report_test_bootstrap的隔离ROOT、本机库/Redis及不可用模型地址守卫。新增 `tests/account_http_test.php`、`tests/account_http_router.php`,随机本机HTTP、并发子进程及头像存储继承同一隔离环境;故障模式仅从runtime内本次作业文件读取。按本次合成账户、Token、评估、附件、触发器与文件精确清理,清理成功才输出PASS,异常返回非零。本轮只修改四个测试文件,前后端业务源码未修改。
资料专项268项、76次真实本机HTTP请求通过:鉴权/跨账户/非法JSON与大小/未知字段/no-store、昵称2–20字符及独立会话持久化,昵称和头像操作不改变个人/企业最新评估资料或历史输入日志。覆盖图片缺失/伪造/GIF/500KB/4096边长/400万像素及重编码后超限拒绝,PNG/JPEG/WebP重新编码为PNG、去尾随内容及安全元数据;上传不自动绑定,附件归属/类别/storage/路径/实体文件校验、avatarId省略保持和null恢复默认。数据库触发器验证头像入库失败删除已写文件、资料更新失败昵称/头像一起回滚;目录阻塞与移除故障后重试通过。
会话专项281项、69次真实本机HTTP请求通过:密码/JSON/Bearer边界、撤销/过期Token、禁用账户、独立会话、旧MD5+salt仅成功登录升级。退出驱动故障503保留Token供重试,成功只撤当前会话;非法/错误旧密码、数据库与Redis撤销故障保留原密码,成功改密明确reLoginRequired并撤销本账户全部Token,另一账户保持。晚期改密Hook失败回滚密码但已撤Token,旧密码重新登录可恢复;登录Hook失败回滚数据库并清新Token。8/32位密码边界通过,MySQL行锁与双PHP进程验证三轮登录/改密竞争后旧密码不会留下有效Token,以及两个同旧密码改密恰好一个成功。短信/auth返回503,账户短信/换绑无路由404,不产生假成功。合计549项/145次本机HTTP,不记作正式验收。
全新ROOT `C:/Users/JUN/AppData/Local/Temp/airz-account-backend-20261006-1791290960616/`,MySQL5.7.26仅127.0.0.1:3323、Redis5.0.14.1仅127.0.0.1:6403/DB15,模型锁为127.0.0.1:1并关闭,无worker。26表由schema初始化,未读正式.env、连接生产或调用真实短信/模型,无新增依赖或迁移。初期MySQL启动参数、合成ID类型、测试Token导入及空JSON数组/对象预期已修正;收尾当前PHP Redis扩展没有shutdown方法,改用已有redis-cli正常关闭。中断结果不计最终通过数。最终七业务表、故障触发器、Redis键及头像目录均0,测试库已DROP,专用HTTP/MySQL/Redis停止,3323/6403无监听。四文件PHP7.4 lint、两个缺bootstrap拒绝、两仓库diff及变更文本UTF-8无BOM/LF行尾检查通过。
安全证据为ROOT内 `verification.json`、`cleanup.json`、`services.json`,最终日志为 `profile-final.out`/`profile-final.err`、`session-final.out`/`session-final.err`,最终stderr均空;临时bootstrap/runtime/工具文件不整体分享或直接复用,下次另建隔离环境。前端未变,沿用0.74最终浏览器及微信/Android编译证据,不重复。5174/PID76784预览已核对归属并保留,另一项目5173保持;两仓库既有未提交及前端 `%SystemDrive%/`、`scripts/`、`.vite/` 保留。本轮未正式验收、部署、提交、推送或重新发行小程序。63任务/27页面不变,AUTH-003/004仍开发中,完整登录/换绑受短信供应商阻塞,真机/跨设备及正式验收待补;此前新增业务源码仍未配套发布。
下一开发入口:CONTENT-002/003/004内容、课程进度与搜索组合开发检查。核对列表/详情ID与下架状态、课程进度按账户及章节版本隔离、重复完成/失败重试/迟到回包、搜索关键词/分类分页与旧响应竞争。先用受控API响应和现有H5预览;如需后端HTTP,先核对脚本显式隔离入口并另建本机环境。不重复本轮账户专项、自行接供应商、正式验收、真实短信/模型调用或沿用历史生产授权发布。
### 0.74 2026-10-06 AUTH-003/004 账户资料、改密及退出组合开发检查
本轮复现并修复同手机号换Token后仍提交旧页资料、个人中心保留旧账户内容、旧退出确认框退出新账户、离页改密回包主动跳转,以及保存后迟到GET覆盖新昵称缓存五类问题。修改账户服务、个人中心、编辑资料、安全、改密、换绑及验证码组件七个文件;业务状态仍以服务端为准,昵称与评估实名独立,未增加页面或数据表。
页面操作、弹窗/选图回调、异步回包及可见期核对Token、userId与请求代次;换账户清理旧内容或重新进入入口,离页停止定时检查。资料响应校验userId、手机号掩码和字段类型,头像必须返回有效附件编号及非空地址,改密/换绑须明确reLoginRequired;成功资料写入使旧GET失效,失败保存保留输入以便重试。改密成功后即使原页面已隐藏,也只清理原账户被撤销的本机会话,不跳转隐藏页面或影响新账户;密码/验证码离页清空。退出确认和回包绑定原页面与账户,失败保留会话、可重试,当前账户缓存及内存评估流程清理沿用既有基础设施,未确认签到/反馈命令按既有约定保留。
Chrome H5 `http://localhost:5174` 手机390×844、桌面1280×900最终103项、48次受控业务请求(21次合成写请求)通过。覆盖坏资料/错归属/掩码/头像/改密回执、密码与双验证码校验、同手机号Token变化、迟到GET与编辑/保存竞争、昵称不改评估实名、保存失败重试、头像大小/过期选图/坏回执/预览/默认头像/离页回包、个人中心自动换账户、旧评估菜单及退出确认、退出失败重试/迟到回包/缓存清理、改密失败/确认/显示控制/切验证方式/成功重登录/离页清密/迟到401、短信未开放/目标号码变化/离页不倒计时或提示成功、换绑未开放和安全页会话过期。页面身份/非空/无遮罩/横溢及六截图通过,pageerror=0、未定义API=0;console仅刻意注入的401/409/422/503。全部外部请求拦截,不把合成改密回执当作真实服务端全会话撤销证据。
HBuilderX5.26最终Android20:38:52、微信20:39:33,27页面编译通过。初期脚本的返回页预期、uni-input事件等待、同名占位文字及隐藏组件定位问题已修正,早期中断结果不计最终通过数。Browser plugin not available,使用已有Playwright CLI,无新增依赖;共享layout既有H5类型警告保留。两仓库diff检查、七文件及两台账UTF-8无BOM/既有主要行尾约定通过。测试脚本、日志和截图放在 `C:/Users/JUN/AppData/Local/Temp/airz-auth003004-20261006/`,安全证据为 `verification.json`、六张截图、`android-final.log`、`weixin-final.log`;脚本/CLI日志含无服务器权限的合成会话,不整体分享。存储/cookies/routes已清空,验证浏览器关闭。本轮预览服务5174/PID76784保留供查看,启动命令属于本项目、输出为ROOT/h5;下一会话须核对归属再复用或停止。另一项目5173/PID68536保持。
后端只读核对Session/AccountProfile契约和路由;未读取正式.env、启动数据库/Redis/worker、连接生产或调用真实短信/模型。当前只实现原密码改密;账户短信及手机号换绑无正式路由,保持未开放,完整AUTH-004仍受短信供应商阻塞。用户此前小程序发布状态、前端 `%SystemDrive%/`、`scripts/`、`.vite/` 及两仓库所有既有未提交保留。63任务/27页面不变,AUTH-003/004仍开发中,本轮未正式验收、部署、提交、推送或重新发行小程序;新增业务源码尚未配套发布,真机/真实渠道/跨设备未覆盖。
下一开发入口:AUTH-003/004账户资料、头像及会话撤销后端隔离HTTP检查。旧 `D:/AAdesk/202609/airz/tests/api_profile.php`、`tests/api_session.php` 在参数检查前初始化默认环境且HTTP固定127.0.0.1,不得直接运行;先适配显式隔离bootstrap、随机本机HTTP继承、独立头像存储和精确清理,再另建本机库/Redis。验证鉴权/越权、昵称与评估资料独立、头像附件归属/文件检查、持久化及事务失败、退出当前会话、改密全部会话撤销和未开放短信拒绝。不自行接供应商、调用真实短信或模型、正式验收、部署或重新发行小程序。
### 0.73 2026-10-06 ASSESS-004 评估新建/修改后端隔离HTTP开发检查
`D:/AAdesk/202609/airz/tests/api_assessments.php` 改用显式 `--bootstrap=<path>`,在框架初始化前拒绝缺参;复用report_test_bootstrap本机库/Redis、独立ROOT及不可用模型地址守卫。夹具采用inputVersion=3与当前AssessmentStore,删除评估编号等同资料主键、旧加密身份及资料表保存任务状态的过时假设。新增 `tests/assessment_http_router.php`,随机本机HTTP服务继承同一bootstrap/随机队列,分析开关只从隔离runtime文件读取,不通过业务请求注入。双进程同样继承入口、队列和runtime内作业文件,用stdin闸门验证MySQL事务竞争;按本次账户、产品、队列、故障触发器和临时文件精确清理,清理成功后才输出PASS,异常返回非零。
专项514项、158次真实本机HTTP请求通过。覆盖匿名/撤销Token/跨账户拒绝、成功及业务拒绝no-store、JSON对象/大小、金额两位元字符串与上下限、12.345678万元对应123456.78元、企业0经营月和0.01元收入、非法v1/v2/格式/额外字段/附件授权/信用卡一致性、只读脱敏与本人完整回填、取消需求字段不返回。验证新建独立会话但每用户每类型仅一份最新资料、修改读取本评估而非另一独立记录、个人和企业资料互不覆盖、原键回执不回写最新资料、同键改内容/错作用域冲突、非法或过时baseRevisionId及类型修改拒绝、修改产生新版本和历史输入不变。双进程同键新建/修改各只生成一条输入,异键同基准修改仅一方成功,另一方REVISION_CONFLICT且无额外输入。
数据库触发器注入资料更新失败,真实HTTP500时新建会话/版本日志及修改指针/最新资料完整回滚,故障移除后原键可安全提交。分析启用时HTTP提交保存实际queued任务,处理中拒绝新修改,同键重放不增加预留;显式假客户端完成个人首次成功、重评失败和原键重试成功,旧报告在处理中/失败可读,新成功才发布新版本,旧完整快照不变、迟到旧任务零调用。企业成功及失败重评也保留已发布报告与最新提交收入。23版历史分页、独立评估分页、类型/状态过滤、错版本/非法数组/错误方法及软删除原键拒绝通过。专项只执行5次显式假调用,不启动消费worker或真实模型;既有 `tests/assessment_revisions.php` 58项通过,合计572项,不记作真实语义或正式业务验收。
全新ROOT `C:/Users/JUN/AppData/Local/Temp/airz-assessment-backend-20261006-1791288138879/`,MySQL5.7.26仅127.0.0.1:3322、Redis5.0.14.1仅127.0.0.1:6402/DB15,模型地址锁为127.0.0.1:1。26张表由schema初始化,PDF依赖/字体仅复制现有锁定版本,未安装软件;未读正式.env、连接正式库/Redis/worker或调用真实模型。初期合成用户名超长、MySQL启动参数及ThinkPHP执行测试DDL的未缓冲查询问题已修正,故障DDL使用独立PDO,早期未完成结果不计入最终数。最终六业务表、故障触发器和Redis键均0,测试库已DROP,专用HTTP/MySQL/Redis停止,3322/6402无监听。两测试文件PHP7.4 lint、缺bootstrap拒绝、两仓库diff及变更文本UTF-8无BOM检查通过。
安全证据为ROOT内 `verification.json`,最终日志为 `assessment-final.out`、`assessment-final.err`、`revisions-final.out`、`revisions-final.err`;bootstrap/runtime/工具文件含合成配置,不整体分享或直接复用。前端及后端业务源码未变,不重复平台编译或浏览器检查,沿用0.72最终证据。两仓库全部既有未提交、前端 `%SystemDrive%/`、`scripts/`、`.vite/` 保留,本轮无提交/推送/部署或小程序发行。63任务/27页面不变,ASSESS-004仍开发中,真实渠道、真机和正式验收未覆盖,此前新增业务源码尚未配套发布。
下一开发入口为AUTH-003/004账户资料、改密及退出组合开发检查:核对个人中心与编辑资料的账户隔离/迟到响应、昵称不覆盖评估实名、资料保存失败重试、改密和退出的会话撤销及旧页清理;短信/换绑未开放状态不产生假成功。先使用受控响应,若检查后端HTTP须先核对脚本隔离入口,另建本机环境。不要重复评估/匹配/助手专项、自行正式验收、真实短信/模型调用或沿用历史发布授权部署。
### 0.72 2026-10-06 ASSESS-004 资料填写、确认提交与档案回显组合开发检查
复现并修复五类问题:修改回填缺失revisionId仍被接受、修改提交接受另一评估的回执、确认页换账户后仍发送旧资料、离页后迟到提交回执跳转分析页、档案页换账户后继续显示旧资料。`packages/finance/services/records.uts` 核对评估/版本编号、类型、状态、版本序号、已发布版本及分页归属/游标;修改回填须有元单位与完整对象,修改回执须属于原评估、状态accepted且产生不同于baseRevisionId的新版本。详情和完整度保持显式版本,坏页不推进分页。新建、修改继续分开幂等作用域,同内容重试保留原键。
填写、确认、档案三页增加可见期账户检查与离页停止;操作前及异步响应后校验账户/请求代次,换账户清空旧表单和档案,迟到401不清新会话。选图和操作菜单回调也核对代次;档案重新加载后重启账户检查,等待版本历史结束后再次核对详情,避免清空后访问空详情。个人/企业新建仍为空白独立评估,修改和历史档案修改入口读取本评估最新完整资料,通过baseRevisionId创建新版本。
Chrome H5 `http://localhost:5174` 手机390×844、桌面1280×900最终96项通过,72次受控业务请求、13次合成POST。覆盖服务缺版本/错评估/非法状态/错回执/分页、个人及企业新建提交与修改、零经营月数/零负债、12.345678万元准确转换为123456.78元、同键重放/改内容换键、附件授权未开放拒绝、确认与档案脱敏回显、完整度错版局部重试、重评失败保留旧成功结果入口、历史版本详情及最新资料修改、无操作/立即操作的账户变化、重载守卫恢复、离页与换账户迟到回包。页面身份/非空/无框架遮罩/无横溢及四张截图通过,pageerror=0,console仅刻意注入的401,无未定义API请求。全部外部请求拦截,无实际后端或模型调用;失败保留报告的真实持久化沿用0.65后端证据,本轮只验证页面入口,不把合成回包当作正式验收。
HBuilderX5.26最终源码Android18:29:34、微信18:30:24编译成功,63任务/27页面不变。首次Android检查发现Number(string)不兼容Kotlin,改为parseInt后通过。脚本字段定位、锁定类型/自定义按钮状态断言、立即操作与自动等待的竞争、只读夹具脱敏及预览加载超时已修正;更换专用浏览器并使用DOM就绪等待后完整检查通过,早期未完成结果不计入最终通过数。Browser plugin not available,复用缓存Playwright CLI run-code --filename,无新增依赖;共享layout既有H5类型警告保留。源码diff检查及变更文本UTF-8无BOM检查通过,保留仓库既有行尾约定。
仓库外ROOT `C:/Users/JUN/AppData/Local/Temp/airz-assess004-20261006/`,安全结果为 `verification.json`,截图为 `confirm-mobile.png`、`archive-mobile.png`、`confirm-desktop.png`、`archive-desktop.png`。临时 `repro.js`、`verify.js` 和CLI日志含无服务器权限的合成会话,不整体分享或直接复用。浏览器存储/cookies/routes清空,两个专用浏览器均关闭;核对命令归属后停止本轮5174/PID76016,端口无监听,另一项目5173/PID68536保留。未启动数据库、Redis、后端或worker,未读取正式.env、连接生产或调用真实模型;后端仅只读核对接口/脚本。两仓库既有未提交和前端 `%SystemDrive%/`、`scripts/`、`.vite/` 保留,无提交/推送/部署或小程序发行。
ASSESS-004仍开发中,真机、Safari/微信内H5、真实渠道及正式验收未覆盖;本轮源码与此前新增业务源码尚未配套发布。下一开发入口为评估新建/修改后端隔离HTTP检查:旧 `D:/AAdesk/202609/airz/tests/api_assessments.php` 在检查参数前初始化默认环境,夹具也未声明inputVersion=3,不得直接运行;先适配显式隔离bootstrap、当前版本存储、子进程/本机HTTP继承及精确清理,再另建本机库/Redis和假模型。`tests/assessment_revisions.php` 已接显式report_test_bootstrap,可作为版本行为回归入口。不要重复匹配/助手专项、自行正式验收、真实模型调用或沿用历史发布授权部署。
### 0.71 2026-10-06 PRODUCT-004 匹配读取与产品解释后端隔离开发检查
后端 `tests/match_records.php`、`tests/product_explanations.php` 改用显式 `--bootstrap=<path>`,复用 `report_test_bootstrap.php` 的隔离ROOT、本机数据库/Redis和不可用模型地址守卫;缺参时在框架初始化前拒绝。新增 `tests/match_test_fixtures.php`,采用当前inputVersion=3与AssessmentStore,故障夹具同时更新已发布版本日志及最新结果镜像,避免沿用只改match_result的旧存储假设。演示产品仅在空隔离目录表中导入,并发子进程继承同一bootstrap、随机队列和作业文件;新增 `tests/match_http_router.php` 将本机HTTP接到相同隔离环境。测试失败或清理异常返回非零,清理成功后才输出PASS,按本次账户、产品和队列精确清理。
匹配专项238项、101次真实本机HTTP请求通过。覆盖Bearer/越权/撤销Token、参数与方法、no-store、三态分组/分页/游标、错评估和错版本、损坏快照及当前目录故障;个人/企业重评处理中与失败时默认继续读取旧成功版,新版成功后默认切到新版,旧游标仍能继续读取原快照,历史解释只读且拒绝新调用。核对读取及被拒绝的历史解释不改变输入、最新资料、日志或消息,不预留模型调用。修正零候选夹具:临时为“普惠基础融资贷”增加必不满足的收入规则,得到completed状态的0 eligible/3 ineligible/1 unknown,与未运行及v1旧版明确区分;finally恢复原产品规则。HTTP同键解释请求重放只保留一次预留。
产品解释专项52项通过,覆盖双进程同键预留、重复消费者不重复调用、成功缓存、解释更新不破坏游标/其他冻结字段/报告、身份资料不进入模型、reasonId重排及非法输出拒绝、失败同键不重试/新键人工重试和三次上限、过期租约、迟到回复仅补用量、持久待办、unknown三态保持、共享每日次数及删除记录拒绝。两项专项合计290项,使用假模型,不将本机HTTP与假模型结果记作真实语义或正式业务验收。本轮仅修正测试脚本/夹具,后端业务源码和前端业务源码未修改。
隔离ROOT `C:/Users/JUN/AppData/Local/Temp/airz-match-backend-20261006-1791279449016/`,MySQL仅127.0.0.1:3321、Redis仅127.0.0.1:6401/DB15,模型地址锁为127.0.0.1:1;未读取正式.env、连接生产数据库/Redis/worker或调用真实模型。最终隔离账户、产品、会话及日志均0,Redis DB15无键,专用HTTP与MySQL/Redis已停止;收尾再次核对3321/6401无监听。四个本轮PHP文件7.4语法检查、两个缺bootstrap拒绝检查、两仓库diff检查及35个变更文本UTF-8无BOM检查通过。安全结果为ROOT内 `verification.json`,最终日志为 `match-final.out`、`explain-final.out`;早期结果日志不作为最终通过数,临时bootstrap/runtime/工具文件不整体分享或直接复用。
前端源码未变,不重复浏览器及微信/Android编译,沿用0.70平台证据。63任务/27页面不变,PRODUCT-004开发中、PRODUCT-005待验收;真实产品、跨浏览器/真机、生产容量及正式验收仍未覆盖。两仓库既有未提交及前端 `%SystemDrive%/`、`scripts/` 保留,本轮未提交/推送/部署或重新发行小程序,此前新增业务源码仍未配套发布。下一开发入口为ASSESS-004资料填写、确认提交与档案回显组合检查,关注个人/企业新建空白与修改最新资料、重评失败保留历史、金额精度、同键重放、账户变化和迟到回包;继续使用受控响应及显式隔离环境,不重复本轮匹配专项或自行正式验收、真实模型调用及生产发布。
### 0.70 2026-10-06 PRODUCT-004/005 匹配详情与对比历史版本组合开发检查
复现并修复四类问题:列表追加不同快照分页、未指定版本入口刷新切到新版、账户切换后发出旧产品解释请求、账户切换后仍能进入旧对比详情。匹配服务核对有效revisionId/resultVersion、产品编号与版本、三态、当前可用性、分组/重复ID/分页游标/统计及快照元数据;详情和解释复用冻结记录校验,公共产品独立核对编号与版本。列表分页校验前页快照/统计及重复行,失败保留首屏和原游标,新增局部重试;对比锁定首个成功快照,单列失败与重试不更换锚点。
三个页面补发起前账户核对、可见期账户守卫及离页/迟到响应清理。换账户清空旧选择和资料,旧401不清新会话。首次读取成功后固定revisionId并绑定选择缓存,H5地址保留版本、分组和实际选择,刷新、移除、补选、切栏保持同版。登录增加resumeMatch白名单,恢复匹配/详情/对比的版本、选择、产品、栏目及来源;历史产品解释只读,失败对比不以公共产品补齐。
Chrome H5 `http://localhost:5173`,390×844与1280×900共97项通过、104次受控请求。覆盖服务错版/错产品/无版本/缺快照/非法状态/错分组/游标,v1未执行与completed零候选、零利率、下架/unknown与冻结额度/材料、显式旧版及新版默认回包、跨组三项选择、补选/移除/刷新/切栏、404/503单列重试、分页503/错快照/重复行局部重试、换组迟到分页、账户变化/迟到401/立即旧动作/无操作清空、三个合成登录回跳、非法参数、解释原键重试/错快照轮询/查询恢复/次数上限和离页迟到详情。全部外部请求拦截,6次合成POST为3次解释及3次登录,无真实模型或后端连接;重评发布行为沿用0.65后端证据,本轮不生成真实重评任务。页面身份/非空/无遮罩/无横溢及两截图通过,pageerror=0,console仅刻意401/404/503。初期脚本require、正则分组、重复查询参数和按钮文案定位错误已修正,不计通过数。
HBuilderX5.26最终源码微信17:18:58、Android17:19:47编译成功,63任务/27页面不变;共享layout既有H5类型警告保留。Browser plugin not available,使用缓存Playwright CLI run-code --filename,无新增依赖。仓库外安全证据 `C:/Users/JUN/AppData/Local/Temp/airz-product-combo-verification.json`、`airz-product-combo-mobile.png`、`airz-product-combo-desktop.png`;临时脚本 `airz-product-combo-repro.js`、`airz-product-combo-qa.js` 和CLI日志含无服务权限的合成会话,不整体分享。浏览器存储/cookies/routes清空并关闭;本轮localhost预览停止,另一个17:12:56启动的127.0.0.1:5173 Vite进程并非本轮命令,保留。未启动数据库/Redis/后端/worker,未读默认.env、连接正式环境或修改后端源码;全部既有未提交及未跟踪工作保留,无新增未跟踪Vite缓存。
PRODUCT-004仍开发中、PRODUCT-005待验收,真实产品、跨浏览器/真机和正式验收未覆盖;本轮不提交/推送/部署或小程序发行。此前REPORT-002/003/004后端、档案修复、REPORT-005微信PDF、REPORT-006、CHAT-004及本轮源码仍未配套发布。下一入口为匹配只读与产品解释后端的当前存储/历史版本隔离检查:`tests/match_records.php`、`tests/product_explanations.php` 在参数检查前初始化默认环境,仍有inputVersion=2及直接改match_result夹具;先改显式隔离bootstrap、当前AssessmentStore、子进程继承/HTTP路由及精确清理,再另建本机库/Redis并使用假模型,不能直接运行旧脚本或沿用历史发布授权。
### 0.69 2026-10-06 CHAT-004 后端消息幂等、并发额度与历史上下文隔离开发检查
`D:/AAdesk/202609/airz/tests/assistant_chats.php` 改为显式隔离 `--bootstrap=<path>`,复用 `report_test_bootstrap.php` 的本机库/Redis/模型地址守卫;缺少入口时在框架初始化前拒绝。夹具采用当前inputVersion=3及AssessmentStore版本存储,并发子进程继承同一隔离入口、队列和显式作业文件。新增 `tests/assistant_http_router.php` 只允许本机专用标记,补PATH_INFO并接相同隔离配置;失败及清理错误返回非零,PASS在清理成功后输出。测试只删除本次账户、产品和随机队列,不修改默认.env。
助手专项165项通过,覆盖双进程同键创建/发送/失败重试、不同键串行、重复消费者仅一次假调用、原回执重放不重复预留、暂停/额度耗尽后成功回执仍可确认、助手/产品解释共享评估剩余额度、失败及软删除日志仍占当日次数、有效/过期租约、迟到用量、历史分页、脱敏及金额守卫。个人重评处理中、失败、重试成功后,旧显式/无指定版本会话继续引用冻结收入和产品;产品改名/下架不改旧上下文,新会话读取新版。失效会员及删除会话的待办不进入模型。18次真实本机HTTP请求检查Bearer、越权、回执丢失重放、同键改文409、额外字段422、错误方法按既有精确路由404、历史预览/恢复/冲突、非法数组版本404、撤销Token401及全部no-store;读取历史不预留调用。
组合检查复现并修复一处发布事务缺陷:`application/common/library/AssessmentStore.php` 原来在旧报告无queued/running解释时仍重写旧输入日志,同一秒的无变化UPDATE返回0,被误判为保存失败并最终标AI_INTERNAL。现在只在确实关闭旧解释时更新旧快照,无待关闭解释保留整条旧版本行;原锁定读取、结构校验、真实写故障回滚和待关闭解释日志要求保持。本轮增加旧日志同秒及逐列不变检查;报告持久化75项、评估版本58项、历史报告215项回归通过,合计513项,包含四处SQL写故障回滚及旧queued/running解释同事务关闭。三个本轮PHP文件7.4 lint、两仓库diff和UTF-8无BOM检查通过。
全新ROOT `C:/Users/JUN/AppData/Local/Temp/airz-assistant-backend-20261006-1791275687879/`,MySQL5.7.26仅127.0.0.1:3310随机库 `airz_product_test_1791275687879`、Redis5.0.14.1仅127.0.0.1:6398/DB15;无默认.env、正式3306/6379、线上库或生产worker连接,真实模型0,供应商地址锁为不可用的127.0.0.1:1。初始MySQL回环认证、旧夹具断言及临时ROOT缺PDF依赖导致的失败已修正,未计入通过数;PDF使用复制的现有锁定运行依赖/字体,无安装或模板变更。收尾六业务表0、故障触发器0、Redis键0,库已DROP,MySQL/Redis正常停止、专用PHP HTTP停止,3310/6398/8098/5173无监听。安全证据为ROOT内 `verification.json`;结果日志为 `assistant-result.log`、`persistence-result.log`、`revisions-result.log`、`history-result.log`。其余临时runtime/工具文件保留,不整体分享或复用bootstrap,后续另建隔离环境。
CHAT-004保持开发中,CHAT-001—003待验收,63任务/27页面不变;真实语义、供应商费用对账、生产容量和真机未在本轮验证。前端源码未变,不重复微信/Android编译或浏览器检查,沿用0.68平台证据。两仓库全部既有工作保留,本轮未提交/推送/部署或小程序发行,新增后端修复尚未上线。下一开发入口为PRODUCT-004/005匹配列表、产品详情与对比的历史/重评版本组合检查,关注分页/补选/刷新/列失败重试、当前可用性与冻结值、账户变化及迟到回包,不重复本轮助手专项或自行正式验收、真实模型调用及生产发布。
### 0.68 2026-10-06 CHAT-004 历史版本上下文与异常会话组合开发检查
受控回包复现并修复五类问题:预览、历史恢复和创建会话接受错版上下文,发送接受另一请求的回执,以及账户切换后立即发送时旧草稿先携新Token发出。`packages/finance/services/assistant.uts` 统一核对评估、产品列表、显式版本、产品展示ID及版本有效性,创建时校验会话编号;没有显式绑定的历史入口仍恢复会话原冻结上下文。发送回执核对requestId、原文和尝试序号,拒绝旧尝试,允许原键重放返回已推进的尝试。`packages/finance/assistant/assistant.uvue` 在发送请求前核对页面代次和账户,立即切换账户后首次发送、已有会话发送及旧请求重试均不会发出。
Chrome H5 `http://localhost:5173` 手机390×844、桌面1280×900共62项通过,81次受控API请求、33次合成POST。覆盖普通/报告/产品上下文、错版/错评估/错产品/缺版本/非法会话、显式历史绑定与无绑定恢复、发送/刷新/来源返回、错回执及原键重放、429/503、断网回执丢失、排队阻止重复发送、轮询完成、确认失败后递增尝试和重试上限、历史分页、账户变化及迟到上下文/401、立即换账户发送与重试、合成登录恢复和非法参数。全部API在浏览器内拦截,无未定义请求或实际后端连接;本轮额度检查仅证明错误提示及原键恢复,不作为后端配额并发证据。
页面身份、非空、无框架遮罩、手机/桌面无横向溢出及截图通过;pageerror=0,console仅刻意429/503/401及net::ERR_FAILED。微信16:23:43、Android16:25:31 HBuilderX5.26最终源码编译成功,63任务/27页面不变,共享layout既有H5类型警告保留。Browser plugin not available,使用缓存Playwright CLI的 `run-code --filename`,未安装新依赖。
证据为仓库外 `C:/Users/JUN/AppData/Local/Temp/airz-chat004-result.json`、`airz-chat004-mobile.png`、`airz-chat004-desktop.png`,最终脚本为 `airz-chat004-qa.js`;初始复现脚本为 `airz-chat004-repro.js` 与 `airz-chat004-switch-repro.js`。结果JSON不含凭据,临时脚本/CLI日志含无服务器权限的合成会话,不整体分享。浏览器存储、cookies和拦截路由已清理,跳转about:blank后关闭专用浏览器,5173预览停止;本轮Vite生成的两个未跟踪缓存文件已清除。未启动数据库/Redis/后端/worker,未读取默认.env、连接生产或调用真实模型;后端源码只读,保留两仓库及前端 `%SystemDrive%/`、`scripts/` 全部既有工作,无提交/推送/部署或小程序发行。
CHAT-004保持开发中,CHAT-001—003仍待验收;真实语义、真机/跨浏览器及生产容量未在本轮验证。下一开发子项为助手后端消息幂等、并发额度与历史上下文的隔离检查,先将旧 `tests/assistant_chats.php` 改为显式隔离bootstrap,适配当前inputVersion=3/版本存储并核对并发子进程和精确清理,再在新建本机数据库/Redis及假模型中检查;不得直接运行旧脚本加载默认.env。前轮REPORT-002/003/004后端、档案修复、REPORT-005微信PDF、本轮及REPORT-006前端源码尚未配套发布,不自行正式验收、真实模型调用或复用历史发布授权。
### 0.67 2026-10-06 REPORT-006 行动页与报告可用性组合开发检查
本轮修复 `packages/finance/next-step/next-step.uvue` 两处展示问题:行动页补报告版本及最新提交正在评估、失败保留上次成功结果或已有新版的提示;v1旧版报告及v2未完成产品匹配时,入口改为“查看准备说明”,材料区明确暂不提供产品材料,不引导选择不存在的匹配产品。版本和状态直接消费已保存报告,不重算历史。既有产品冻结版本、当前可用性、账户变化与迟到响应守卫保持。
Chrome H5在 `http://localhost:5173` 使用全量API受控合成响应,手机390×844、桌面1280×900共38项通过。覆盖个人/企业、显式历史版本、重评处理中/失败、v1兼容、匹配未就绪、可用产品冻结材料、产品下架/状态未知/条件不符/待核实、错版/错快照拒绝、无报告/404/409、账户切换及迟到响应。实际点击报告和AI入口保留revisionId=72,AI上下文请求同版;优化资料回填当前评估最新提交,不新建评估或自动提交;合成密码登录后恢复assessmentId/productId/section/revisionId,非法参数不发业务请求。全部业务请求仅GET与一次合成登录POST,无评估/会话创建、真实后端连接或模型调用。
页面身份、非空、无框架遮罩、手机/桌面无横溢及截图通过;pageerror=0,console仅刻意注入的404/409资源错误,无未定义请求。Browser plugin not available,使用缓存Playwright CLI `run-code --filename`。测试前期的长参数空输出、直接修改同页hash未触发onLoad、uni按钮角色及助手组合标题定位问题已修正,不计作业务通过。微信15:57:28、Android15:58:55 HBuilderX5.26本地编译成功,63任务/27页面不变;共享layout既有H5类型警告未改。
临时测试代码与证据均在仓库外:`C:/Users/JUN/AppData/Local/Temp/airz-report006-boundaries.js`、`airz-report006-verification.json`、`airz-report006-20261006-processing-mobile.png`、`airz-report006-20261006-actions-desktop.png`。本轮生成的CLI日志/快照移至 `C:/Users/JUN/AppData/Local/Temp/airz-report006-cli-artifacts/`。浏览器存储/路由已清理,专用浏览器关闭,5173预览停止;没有启动数据库/Redis/后端/worker,不读取默认.env、不连接生产。本轮仅行动页及两份台账新增改动,保留全部既有工作;未提交/推送/部署、未重新发行小程序。
REPORT-006仍待验收,真机、跨浏览器、真实产品材料/办理渠道及正式业务验收未覆盖。下一开发入口为CHAT-004历史版本上下文与异常会话组合检查,优先核对预览/创建/历史恢复绑定、账户变化与迟到响应、失败重试/额度错误;继续使用隔离数据和假模型,不自行真实调用、发布或正式验收。前轮REPORT-002/003/004后端及REPORT-005微信PDF源码尚未配套发布。
### 0.66 2026-10-06 REPORT-005 微信PDF下载与导出边界开发检查
用户反馈小程序导出提示“当前客户端暂未开放PDF下载”,原因是共享服务此前只开放H5。`packages/finance/services/report-export.uts` 新增MP-WEIXIN分支,经 `uni.downloadFile` 携带Bearer请求头和显式revisionId下载,再以 `uni.openDocument` 打开PDF并显示保存/转发菜单;报告页与下一步行动页共用入口,无新增页面或后端数据库改动。令牌不写URL/文件名;仅使用临时文件,预览期间保留,返回小程序或下次导出时清理,删除失败保留路径重试。其他原生端及微信内H5的既有提示保持。
下载边界包含HTTPS、评估/版本编号、HTTP状态、PDF MIME、头尾标志、未压缩Content-Length一致性及20 MiB上限;小程序通过响应头、下载进度和实际文件大小检查超限,PDF只读取5字节头及最多1024字节尾。下载中取消立即拒绝并abort,迟到文件清理;旧401不清新账户,换账户不打开旧报告。系统预览接管后忽略组件销毁的cancel,避免删除正在预览的文件;下载域名、网络、超时、服务端JSON与预览失败分别提示。H5同步增加显式版本及未压缩文件长度校验,并处理空响应。
新增 `scripts/test-report-export.cjs`,运行实际HBuilderX微信编译产物、注入隔离uni/API,无网络或数据库访问。执行 `D:/Develop/nvm/nodejs/node.exe scripts/test-report-export.cjs` 前须先编译MP-WEIXIN;38项通过,覆盖历史版本/鉴权、401和迟到回包、JSON/HTML/损坏PDF、三层超限及恰好20 MiB、取消、账户变化、预览/文件系统失败和临时文件清理重试。微信14:41:30、Android14:36:23 HBuilderX5.26编译成功;脚本语法及diff检查通过。
Chrome Playwright手机390×844/桌面1280×900实际报告页6项与H5服务边界17项通过;503错误保留报告,重试触发一次实际浏览器下载,两次导出请求保持鉴权及版本。边界采用浏览器内fake fetch,无实际网络;全部页面API为受控合成响应。pageerror=0、正常准备阶段console为空,业务console仅刻意503;首次裸UTS导入是测试工具路径错误,改为 `?import` 后17项通过。页面非空、身份/无框架错误浮层/桌面无横溢通过,截图已核对。Browser plugin not available,使用现有缓存Playwright;本轮PDF为头尾标志夹具,不证明PDF内容可渲染,分页证据沿用0.65与6.21。
ROOT `C:/Users/JUN/AppData/Local/Temp/airz-pdf-weixin-1791268574971/` 的 `verification.json` 为无凭据证据,截图为 `h5-download-mobile.png`、`h5-download-desktop.png`。浏览器存储清空、路由拦截撤销、专用浏览器关闭,前台5173预览已停止;未启动数据库/Redis/后端,不读取默认.env、不连接线上、不调用模型。临时脚本/日志含无服务器权限的合成会话,不整体分享。保留两仓库既有改动及前端未跟踪 `%SystemDrive%/`,无提交/推送/部署或正式验收。
发布前需在微信后台将 `https://airz.hqling.cloud` 加入downloadFile合法域名,已有request合法域名不能替代;本轮未修改微信后台。用户需用新增源码重新编译发行小程序,当前已发布版本不会自动获得支持。官方接口依据:[downloadFile](https://developers.weixin.qq.com/miniprogram/dev/api/network/download/wx.downloadFile.html)、[openDocument](https://developers.weixin.qq.com/miniprogram/dev/api/file/wx.openDocument.html)。微信系统预览、保存/转发、真机域名校验及生产生成并发/容量未验证,REPORT-005仍待验收。下一开发入口为REPORT-006行动页与报告可用性的组合检查,不自行正式验收或复用历史发布授权。
### 0.65 2026-10-06 REPORT-004 历史报告与重评组合开发检查
完成个人/企业的初版成功、修改排队、模型失败、显式重试、新版成功和旧版显式读取组合检查。重评复用评估记录并增加输入版本;新版本未成功时默认报告、匹配和PDF仍使用上次成功版本,指定未完成版本返回409。新结果发布后历史输入/事实/匹配不重算,产品改名、额度变化、版本更新和下架不改冻结参数;历史解释只读,旧分页游标仍可用于原版,不能用于新版。保留REPORT-002/003及两仓库全部既有未提交改动,本轮不正式验收、部署或重复发布小程序。
发现并修复三处版本边界问题。后端 `application/api/controller/v1/Assessments.php` 保留 `revisionId` 原始类型交给统一归属/版本校验,数组参数从500改为404/REVISION_NOT_FOUND,越权仍优先404/ASSESSMENT_NOT_FOUND。前端 `packages/finance/services/records.uts` 的档案详情补评估ID/显式版本校验,档案完整度补显式版本校验;受控错版回包不会显示另一版收入或完整度,详情重新加载及完整度局部重试可恢复正确资料。
新增后端 `tests/report_history.php`、`tests/report_history_http_router.php`,沿用显式隔离 `report_test_bootstrap.php`。专项215项通过,覆盖五类读取端点的匿名/越权/跨记录版本/非法数组与0版本、no-store、只读/无模型预留、真实PDF完整二进制与私有响应头、v1兼容、导出引擎不可用503和Token撤销401。`tests/assessment_revisions.php` 适配显式bootstrap和并发子进程,精确清理本次产品/队列,58项版本集成通过;合计273项PHP检查,四个本轮PHP文件7.4 lint及两仓库diff检查通过。
Chrome Playwright手机390×844/桌面1280×900共32项、82次隔离GET请求通过,包含失败/处理中查看旧报告、三栏切换、本人历史收入、完整匹配列表/产品详情、错版拒绝与重试、新版默认读取及旧版深链、历史解释只读和三次实际PDF下载。pageerror和console error/warn均0,截图无横溢/遮挡;浏览器全部API转发本机8098,三类错版仅用受控响应注入。Browser plugin not available,复用已有缓存Playwright,无新增依赖。13份PDF(含浏览器下载)52项提取文字检查通过,核对收入、提交序号、冻结名称及身份脱敏;个人历史8页、企业新版3页经Poppler渲染核对中文/分页,未改变导出模板。微信10:08:29、Android10:08:53 HBuilderX5.26本地编译成功,27页/63任务不变;无真机、跨浏览器或正式模型验收。
本轮ROOT `C:/Users/JUN/AppData/Local/Temp/airz-report004-20261006-1791251466341/`,MySQL5.7.26在127.0.0.1:3310随机库 `airz_product_test_1791251466341`、Redis5.0.14.1在6398/DB15。未加载默认.env、未连接正式3306/6379/线上/生产worker,模型外呼0。收尾六张业务表0、故障触发器0、Redis键0,测试库已DROP;MySQL/Redis正常停止,8098 PHP停止,浏览器存储清空并关闭。后台常驻H5预览启动被自动审批以 `blocked by policy` 拒绝,无更具体原因,未重试或绕过,5173预览也已停止。安全证据为ROOT内 `verification.json`、`cleanup-result.json`、`ui-result.json`、`pdf-verification.json`;临时fixture/浏览器日志可能含已撤销的合成Token,不整体共享或重新启动bootstrap,后续另建隔离环境。
REPORT-004整体仍开发中,真实产品、外部渠道、业务人工签收及移动端正式验收状态不变。本轮源码未提交/推送/部署,小程序已发布的版本不包含本轮三处修复。下一开发入口为REPORT-005 PDF导出边界与容量检查,优先异常二进制、超限、取消/离页、登录状态变化和分页可读性,不自行正式验收或发布。
### 0.64 2026-10-06 REPORT-003 报告生成与持久化开发检查
后端 `Assessment::complete()` 与 `AssessmentStore::saveResult()` 加固报告发布事务:报告、匹配数组、当前输入快照、历史解释关闭、发布指针和 `result_version` 一起保存;写入失败抛错并全部回滚。发布前校验当前/历史日志归属、版本号、状态及匹配结构;历史 queued/running 解释必须有合法任务ID和对应未完成日志,否则安全失败。`AnalysisTasks` 不再重复写报告版本,迟到任务只能补记原用量,不能覆盖新结果。保留此前REPORT-002调度改动和全部既有未提交工作。
新增后端 `tests/report_persistence.php` 与显式隔离入口 `tests/report_test_bootstrap.php`。专项75项通过:历史v1与无目标标记v2不补算新报告;v2重试复用输入、执行策略、产品目录及哈希;最新资料、产品名称/版本/硬规则、准备度策略和当前开关变化不影响旧结果;eligible/ineligible/unknown统计与null rank/score正确落库;四类损坏快照在调用模型前失败;会话字段、历史输入、当前输入和发布指针四处真实SQL故障均完整回滚;旧queued/running解释日志缺失回滚;正常重评关闭旧解释;新任务先成功后旧任务迟到不覆盖。
旧回归 `assessment_readiness.php`、`product_matching_tasks.php` 和测试HTTP路由改为显式bootstrap及当前 `AssessmentStore` 状态读取。`readiness_fixtures.php` 仅在隔离测试中重建历史v2输入与需求策略,生产新建仍只接受inputVersion=3;未放开旧采集字段。准备度/报告58项(含随机端口HTTP鉴权、归属、no-store、v1兼容)、演示产品匹配19项、任务调度36项通过,连同专项共188项;10个相关PHP文件7.4 lint及diff检查通过。常规假模型调用,不发生收费模型请求;不重复平台编译或移动端验收。
本轮全新隔离ROOT为 `C:/Users/JUN/AppData/Local/Temp/airz-report003-20261006-1791249639741/`;MySQL5.7.26仅监听 `127.0.0.1:3310/airz_product_test_1791249639742`,从schema初始化26表;独立Redis5.0.14.1在6398/DB15、随机队列与专用Token前缀,模型地址锁定不可用的本机端口。未加载默认.env、未连接正式3306/6379、线上数据库或生产worker。收尾六张业务表为0、故障触发器为0、Redis键为0;测试库已DROP,MySQL/Redis已正常停止。无凭据证据为ROOT内 `verification.json`;临时目录保留,不整体共享或重新启动bootstrap,后续检查另建隔离环境。
自填报告、冻结策略与演示产品支线已实现,本次完成REPORT-003持久化的本地开发检查;完整任务仍阻塞于真实产品、外部查询、人工业务规则签收与生产容量/守护,不标整体验收完成。小程序已由用户发布,本轮未重复发行;未提交、推送、部署或正式验收。下一开发入口为REPORT-004历史报告、重评失败保留旧结果、匹配/PDF版本一致性组合检查。
### 0.63 2026-10-06 REPORT-002 异步任务与补偿链开发检查
后端 `application/common/library/AnalysisTasks.php` 加固任务ID、租约和补偿边界:非法或缺失 `task_id` 不进入 Redis、不被 `run()` 执行;运行中任务缺失/损坏租约或任务ID时明确失败为 `AI_TASK_INTERRUPTED`;失败日志只按当前合法任务ID精确更新,避免脏值误写历史 assistant 调用;有效未来租约保持 processing/running。queued 漏投仍由数据库扫描补投,不增加 `attempt_count`;Redis 暂时不可用时保留已接受任务,恢复后可补投;迟到结果继续只记录原任务用量,不能覆盖新任务。
`tests/analysis_tasks.php` 改为必须传入显式隔离 `--bootstrap`,子进程重试/消费沿用同一配置,夹具使用当前 `fa_ai_chat`/`AssessmentStore` 架构和 `inputVersion=3`。为把本轮范围限定在调度与补偿链,测试显式沿用v1报告结果格式;不代表v2报告语义或真实模型验收。
验证结果:PHP 7.4 lint(两个文件)通过;在 `C:/Users/JUN/AppData/Local/Temp/airz-analysis-report002-20261006/` 的独立 MySQL `127.0.0.1:3310/airz_product_test_2026100602`、Redis `127.0.0.1:6398`/DB15 环境运行,模型关闭、只用假客户端,`PASS: 36 analysis task checks.`。覆盖并发重试/消费者、过期与缺失租约、非法任务ID、迟到结果、用量保留、Redis 断开补投和旧日志保护。回归后仅停止本轮隔离 MySQL/Redis;未连接正式 `.env`、3306/6379、线上数据库或生产 worker。
本轮为本地开发检查,未正式验收、部署、提交、推送或发布;用户已发布的小程序状态不因本轮改变。REPORT-002整体仍按任务台账保持开发中,下一依赖项为REPORT-003报告生成与持久化,需继续区分v2策略/产品规则和真实业务验收边界。
### 0.62 2026-10-05 反馈与消息后端生产发布
在维护窗口内通过宝塔 Playwright 完成 `111.230.144.231:3306/airz` 的反馈结构迁移和后端发布。完整私密备份为 `/root/airz-feedback-release-20261005-114514`;迁移补齐 `fa_feedback.request_id/reply/handled_by/handled_at` 及唯一索引 `uk_user_feedback_request(user_id,request_id)`,迁移后预检为 `missingFields=[]`、`indexExists=true`、`duplicateGroups=0`、`changeCount=0`。迁移行摘要备份为 `/root/airz-feedback-release-20261005-114514/migration/feedback-20261005-115239-3e7a68c4.json`。
按精确清单发布 7 个后端文件,发布包 SHA-256 为 `597A2BC55D8877FCA5EFC205C1B0761D14B0B1E614196DD7C1C1FF7B8775D4B3`;线上文件哈希一致,PHP 7.4 lint 通过,权限为 `644 root:root`。`php-fpm-74`、`redis`、`airz-analysis` 已恢复 active,Redis 认证后分析队列为0,worker 无 warning/error 日志。只读烟测通过首页200、匿名消息/产品/积分401、后台反馈入口登录页和 `/.env=404`;未创建真实反馈或回复,临时发布物已清理。
本轮只发布后端,小程序端由用户自行发行;未提交、未推送、未创建 PR。回滚仅恢复代码并保留迁移后的反馈、回复、审计和通知数据,不整表恢复。首页、积分、FAQ种子及供应商依赖不属于本批次。
### 0.61 2026-10-05 反馈与消息配套发布准备
新增[反馈与消息发布清单](./反馈消息发布清单.md),整理0.57—0.59的前后端精确文件、明确排除项、数据库只读预检、迁移授权前置、推荐发布顺序、兼容性矩阵和保留业务数据的回滚边界。清单明确 `fa_feedback` 的 `request_id/reply/handled_by/handled_at` 与 `uk_user_feedback_request`,以及 `fa_user_message` 的 `uk_user_message_event` 必须先预检;缺失时不得凭“源码无新增DDL”跳过结构核对,正式 `--apply` 需另行授权、备份和停写条件。
本轮已在明确生产目标 `111.230.144.231:3306/airz` 执行只读预检:`fa_user_message` 唯一索引存在且重复事件组为0;`fa_feedback` 缺少四列及 `uk_user_feedback_request`,重复请求组为0,`changeCount=5`、`applied=false`。现网只读基线 `/api/v1/home=200`、匿名消息/产品/积分为401、敏感路径为404;本地7个后端文件已通过PHP/JS语法检查并生成限定包。缺失结构阻断代码发布,未执行迁移、后端部署、前端发行、正式验收、提交或推送;需单独取得生产维护授权、停写/worker空闲确认和完整备份后才能执行5项DDL。小程序端由用户自行发行,实际发布仍须将后端与六个前端文件作为同一兼容批次安排。当前工作树其他未提交/未跟踪改动保持原样,首页、积分、FAQ种子及供应商依赖不纳入本批次。
### 0.60 2026-10-04 反馈原键恢复与消息组合开发检查
新增后端 `tests/feedback_recovery_notifications.php`,以显式隔离 bootstrap 检查原键重放返回最新处理状态、同键冲突、通知目标归属、分类分页、已读水位、修订不重复通知/不重置已读、另一会员隔离及删除目标不可用;常规夹具事务回滚,七张相关表原有行保持。首次运行发现新测试将 `nextBeforeId` 误当作下一条消息编号,已按既有“本页末条编号、下一页 id<beforeId”契约修正断言,未修改业务实现。最终组合24项、通知专项43项、反馈67项,共134项通过,三文件PHP7.4 lint通过,模型调用0。
Chrome Playwright手机390×844/桌面1280×900补充42项组合检查、38次受控接口请求通过:系统/活动/服务分类、服务分类20+3分页和503重试、快照外新通知保持未读、第一页之外反馈目标、通知跳转同时恢复原键、刷新不自动POST、手动原键确认与最新回复、旧弹窗/已读动作、跨账户迟到分页/401/成功回执及原会员重新鉴权恢复。pageerror=0,2条console仅刻意503/401,无未处理外部请求、框架遮罩或横溢,截图已视觉核对。Browser plugin not available,使用已有缓存Playwright,无新增依赖。全部浏览器API由合成响应提供,本轮不新增真实HTTP/浏览器联调证据;修订通知的真实去重/已读保持由后端隔离测试验证。
全新ROOT `C:/Users/JUN/AppData/Local/Temp/airz-feedback-combo-1791117356770/`,本机MySQL8.0.44仅监听127.0.0.1:3309,随机库 `airz_product_test_1791117356770` 从5.7结构schema初始化26表,显式配置关闭模型、不加载正式.env,不连接正式3306/线上数据库,不启动worker或Redis/PHP HTTP服务。本轮不是MySQL5.7环境验证。测试库已DROP,MySQL正常关闭,浏览器存储清空并关闭,3309/8097/6398无监听;5173原预览保留。证据为ROOT内 `verification.json`、`ui-result.json`、`cleanup-result.json`、`combo-pending-mobile.png` 和 `combo-confirmed-desktop.png`,历史私密ROOT未改、未复用。自动审批以 `blocked by policy` 拒绝本轮文件清理命令,未重试或绕过;本ROOT及初始化失败目录 `C:/Users/JUN/AppData/Local/Temp/airz-feedback-combo-1791117251852/` 的mysql-data/runtime/工具文件和本轮生成日志暂保留,不整体共享或直接启动其中bootstrap,后续另建隔离环境。
本轮仅新增测试和记录,无前端业务源码、接口/DDL或发布变化,不重复平台编译,沿用0.59编译记录。未正式验收、提交/推送或部署,63任务/27页面及SUPPORT-002、MSG正式验收状态保持。下一步优先准备0.57—0.59配套发布的文件清单、顺序、兼容性与回滚检查,取得新授权后才发布;积分规则/原表迁移、真实产品及私有附件/短信/数据/人工客服依赖按既有决策推进。
### 0.59 2026-10-04 反馈回复与站内消息通知联动
`FeedbackEditor` 保存有效 `resolved/closed` 非空回复时,在反馈与安全审计的同一事务内插入服务通知。事件唯一键为 `(user_id,feedback_replied,feedback_id)`,每条反馈最多一条;重复保存、修订及关闭不重复通知、不重置已读。处理中、空回复、匿名或已删除会员不通知,不自动回补未修改的历史记录。消息正文不复制反馈或回复;通知写入失败以 `FEEDBACK_NOTIFICATION_UNAVAILABLE` 回滚反馈和审计,审计失败也无残留通知。复用既有表及唯一索引,无DDL。
消息详情新增 `kind:feedback,feedbackId`,同时核对消息和反馈归属,删除/归属改变返回目标不可用。前端仅生成帮助页白名单路由,独立读取单条反馈并核对回执编号,第一页之外的旧记录也能查看最新回复。新增关联反馈卡、局部失败重试和登录后原目标回跳;离页清理回复,换账户清除目标,迟到响应/401、旧弹窗确认、旧列表点击和全部已读操作不能跨账户回填或跳转。
隔离后端通知专项43项、反馈67项、处理32项,共142项通过;覆盖双PHP进程竞争、通知/审计触发器故障回滚、本人目标、删除/归属变化、去重及已读水位。Chrome Playwright手机390×844/桌面1280×900页面48项、51请求通过(46真实隔离后端、5受控坏目标/详情故障),含完整真实密码登录回跳、实际Token撤销401和跨账户迟到响应。pageerror=0,3条console仅刻意503/404/401;页面身份、非空、无框架遮罩、交互及截图视觉检查通过,无横溢。Browser plugin not available,使用已有缓存Playwright,不新增依赖。HBuilderX5.26 Android 19:38:59、微信19:39:40编译成功,27页面。
新建ROOT `C:/Users/JUN/AppData/Local/Temp/airz-feedback-notify-1791113938987/`,MySQL `127.0.0.1:3309/airz_product_test_1791113938987` 从schema初始化26表,独立Redis6398/DB15及PHP8097;未加载正式.env、未连接正式3306/线上、无模型或worker调用。测试库已DROP、两名合成会员全部Token已清除,三服务停止且3309/8097/6398无监听,5173预览保留。自动审批以 `blocked by policy` 拒绝删除本ROOT的 `fixture.json/runtime/mysql-data`,未重试或绕过,私密文件保留,禁止直接复用或整体共享。安全证据为 `ui-result.json/verification.json/cleanup-db-result.json/cleanup-result.json` 和 `feedback-reply-mobile.png/feedback-reply-desktop.png`。
仅开发检查,未正式验收、提交/推送或发布。最新后端仍为0.55,用户此前发布的小程序不含本轮源码。反馈目标为新增契约,旧前端无法解析,需将本轮及0.57/0.58前后端配套安排发布;不沿用历史授权。SUPPORT-002、MSG系列正式验收及私有附件/客服供应商依赖保持原状态。
### 0.58 2026-10-04 会员反馈原键恢复
帮助页在发送前按会员保存并回读 `{requestId, content}`,键为 `airz:v1:user:<userId>:content.feedback.pending`。仅保存已准备发送且结果尚未确认的命令,不保存普通草稿、Token、反馈列表或回复。刷新、离页重进和浏览器进程重启后恢复原键/原文,锁定原内容并显示“确认上次提交”,不自动POST;反馈列表读取失败仍可原键确认。退出、401及账户切换清理其余会员私有缓存,保留这条恢复例外,必须重新鉴权为原会员才可查看或确认。
POST成功回执必须包含相同 `requestId`,完整解析后比较本机原命令再清理,迟到回执不能清新命令或回填另一账户。网络/401/服务故障/冲突/坏回执保留原键;只有明确的参数或附件拒绝才清键并保留可编辑原文。存储写入、读取或清理失败及损坏记录阻止新提交,并提供重新读取状态;针对H5同步读取吞异常返回空值,先核对键是否存在,清理后以键不存在确认。后端DTO新增 `requestId:string|null`,历史记录保持null,同键重放返回原记录的当前处理状态;复用既有列和唯一索引,无新增DDL。
检查通过:后端反馈67项;Chrome Playwright手机390×844/桌面1280×900主流程72项、进程重启/存储故障补充21项,共93项页面开发检查、29次反馈POST。真实入库后丢回执、离页/刷新、实际撤销Token触发401及通过真实 `saveSession` 重新建立合成会话、主动退出、换账户、迟到旧回执、错误/缺少requestId、坏回复、确定422拒绝、比较清理和存储抛错/静默失败均覆盖。重新登录未覆盖完整真实登录表单。两批pageerror均0,13条console日志仅对应刻意网络/401/422/503故障;无横溢或框架错误遮罩,最终手机/桌面截图已视觉核对。Browser插件未提供,使用已有缓存Playwright,无新增依赖。HBuilderX 5.26最终Android 19:14:42、微信19:16:09编译成功,均27页面。
只操作本轮新建 `127.0.0.1:3309/airz_product_test_1791111261424`(26张表)、PHP8097及独立Redis6398/DB15,未加载正式.env、未连接正式3306/线上、无模型/worker调用。测试库已DROP、两枚Token已清除,MySQL/Redis正常关闭、PHP停止,3309/8097/6398无监听;H5预览5173保留。自动审批以 `blocked by policy` 拒绝删除本轮 `fixture.json/browser-profile/runtime/mysql-data`,未重试或绕过,私密文件保留、禁止直接复用或整体共享。安全回执、截图与精确ROOT见[交接](新会话交接.md)最新节。
本轮仅本地开发检查,不做正式验收或发布。用户已发布的是此前小程序版本,本轮新增前端仍未发行;后端最近发布仍为0.55,本轮回执及0.57后台增强未部署。新前端依赖后端 `requestId` 回执,须后端先或配套发布,否则旧后端即使已保存反馈,前端仍保持待确认。下一开发项建议反馈回复与消息通知联动;积分业务规则、私有附件和客服供应商依赖另行处理。
### 0.57 2026-10-04 小程序已发布,继续反馈处理开发
用户确认小程序端已发布,版本号和具体渠道未提供;此状态更新不代表 H5 已发行或正式验收完成。后端仍以0.55发布记录为准,以下新增反馈处理源码尚未部署。
后台反馈表单新增 CSRF 与 `row[expectedVersion]`。版本由原始处理快照生成 SHA-256,锁内比较,旧页面返回 `FEEDBACK_VERSION_CONFLICT`,不会覆盖新回复;冲突时保留输入并提示复制草稿、重新打开核对。保存时重新检查管理员正常状态和当前处理权限,反馈变更及成功审计在同一事务内完成,审计失败回滚回复。审计仅保留反馈编号、状态、版本及安全错误枚举,原文、回复、Token和未知字段不落盘;同状态同回复不改处理人、不重复成功审计。页面补标题,并修复窄屏弹窗 Bootstrap 负边距造成的15px横向溢出。复用现有表及权限,无新DDL或角色绑定。
隔离检查:反馈服务65项、处理事务/审计失败/双PHP进程竞争32项、真实HTTP25项(13请求)、既有角色权限HTTP227项(158请求)、重试审计纯90项、模型配置审计20项、权限定义97项通过,9个PHP文件lint和反馈JS语法通过。Browser plugin not available,使用缓存Playwright完成22项真实隔离页面检查,1280×900/390×844,冲突在表单内持续显示且保留输入→重新打开最新回复→保存通过;控制台error/warn均0,截图无横溢。只操作新随机隔离库、临时PHP/运行目录,模型关闭、无worker/正式数据库调用;非正式业务验收。测试账户/反馈/日志清空,隔离库删除,PHP/MySQL正常停止,3309/8097/8098无监听。自动审批以blocked by policy拒绝删除剩余本轮数据目录/runtime/会话文件,未绕过,证据与精确路径见交接本轮节。
### 0.55 2026-10-04 后端发布
按用户授权将后端发布至 `https://airz.hqling.cloud`,线上目录 `/www/wwwroot/xctai.cn`,API 前缀 `/api/v1`。本轮只发布后端,不发布前端,不执行数据库迁移、积分表迁移或正式业务验收。发布包实际部署 3716 个文件,SHA-256 为 `9A39A29E77D43EEF5DA2CE5E1217FB24B4E1DBCDF97E7E266C7FDF7E55E5FEFB`;PyMySQL 临时依赖仅用于部署过程,完成后已清理。
部署阶段 `stage → prepare → deploy → resume → verify → cleanup` 全部成功:prepare 确认 26 张表且 worker 已停止,deploy 返回 `DEPLOYED files=3716`,resume 返回 `worker=active`,cleanup 归档至 `/root/airz-backend-20261004`。verify 与本机只读烟测均确认首页 200、匿名消息/产品/积分 401、`.env` 与 `.git/config` 404;未调用收费模型、未修改线上业务数据。前端尚未重新发行,真机、多设备、真实模型和正式验收仍待后续安排。
### 0.54 2026-10-04 反馈与消息适配层响应契约增强
反馈帮助页完成提交回执回填、处理时间优先显示和详情读取;反馈服务对状态、编号、文本、时间、分页和数组项做严格校验。消息服务补齐分类、编号、快照/游标、列表项、详情关联目标、已读回执和快照一致性校验,关联跳转只允许报告与评估白名单路由。首页聚合和 FAQ 页面沿用当前账户/页面代次守卫,避免迟到响应污染新状态。
本轮首次 Android 编译暴露反馈列表 `map` 回调的 UTS/Kotlin 类型推断错误,已改为先显式转换并校验 `UTSJSONObject[]` 后再映射。HBuilderX 5.26 Android 与微信小程序(27 页面)最终编译通过,`git diff --check` 通过。未执行隔离数据库回归、线上部署、前端发行、真机或正式验收;当前仍保留未提交改动。
### 0.53 2026-10-04 首页聚合 BASE-004 开发
后端新增只读 `GET /api/v1/home` 首页聚合,匿名请求返回公开课程、文章和空横幅;有效登录凭据只附加当前会员的评估状态摘要与未读数。评估摘要按会员、`assessment` 场景和未删除记录读取,草稿不计入总数,排队中的任务显示“排队中”;聚合不读取或下发输入资料、报告、匹配正文和消息私密字段。前端首页已接入严格响应解析,移除硬编码评估数量,并对聚合失败保留公开内容和真实消息数的局部降级。
后端 `tests/home_catalog.php` 已补充匿名契约及登录隔离回归夹具,覆盖草稿过滤、本人未读数、最新排队状态和敏感字段不泄露;测试事务回滚且不调用模型或 worker。PHP 7.4 lint、前端 Web/微信小程序/Android 编译和 `git diff --check` 已通过。由于当前本机隔离 MySQL `127.0.0.1:3309` 未监听,数据库回归尚未执行;只检测到独立 MySQL 3306,未连接或修改正式库。下一步先恢复明确的隔离数据库与 bootstrap 后重跑回归;暂不部署、发行或开展验收。
### 0.56 2026-10-04 首页聚合隔离数据库回归完成
新建临时 MySQL 8 实例,仅监听 `127.0.0.1:3309`,使用随机库 `airz_product_test_20261004123000` 从 `database/schema.sql` 初始化 26 张表;PHP bootstrap 显式覆盖隔离数据库、关闭 DeepSeek 和调试。`tests/home_catalog.php` 回归结果为 `checks=8`、`modelCalls=0`、`writes=0`、`rollback=true`,覆盖匿名契约、公开内容推荐、草稿过滤、当前会员评估/未读数隔离、排队状态和敏感字段不泄露。测试后临时 MySQL 已停止,3309 无监听;正式 3306、线上数据库和业务数据未连接或修改。PHP 7.4 lint 与 `git diff --check` 通过。临时目录清理由本机策略拦截,未影响工作区或正式服务,后续按精确路径处理。
### 0.52 2026-10-03 FAQ 服务端导入与隔离 HTTP 联调
FAQ 初始内容按 `database/faq_initial.json` 导入本机隔离 MySQL `127.0.0.1:3310/airz_product_test_20261003`:首次预检 8 条待导入,首次 apply 插入 8 条;复核为 8 条 `published`、8 个唯一 slug。重复预检和重复 apply 均为 `keptExisting=8, inserted=0`,回执记录 ID、slug 和内容 SHA-256。正式 `.env`、3306 数据库和线上环境未连接或写入。
隔离 PHP HTTP 联调覆盖 `GET /api/v1/help/faqs` 全量及账户使用、融资评估、资料与隐私三类筛选,返回 8/3/3/2 条;非法分类、非法分页为 HTTP 422,POST 为 HTTP 404。8 条 FAQ 全部下架时返回空 `items`,随后恢复 published。配置显式锁定隔离数据库并关闭 DeepSeek,未调用模型或 worker;临时 PHP/MySQL、INI、bootstrap、路由和运行目录已清理。
FAQ 服务端导入与公开读取联调完成,下一步为前端帮助页页面级错误/空态联调;仍未线上导入、后端发布或前端发行。
### 0.51 2026-10-02 积分页面恢复与隔离联调
积分页补齐签到恢复:已保存请求优先于今日完成状态,成功丢响应后刷新仍能原键确认;读取余额、规则或流水失败时也保留确认入口。确定未入账的日期/规则/当日已签/请求冲突/余额异常、参数及规则不可用错误清旧键并刷新,网络、写冲突和账本不可用继续保留原键。共享API错误对象保留HTTP状态与业务错误码,成功回执严格校验正奖励、非负INT余额和boolean重放标记,坏回执不能提示成功或丢键。
四读取接口暂存后统一校验业务日、时区、规则版本、奖励及签到状态,再原子展示;读取失败显示不可用与重试,不伪造0余额或空账本。按页面代次、可见性和加载所属Token守卫迟到结果;规则、任务、签到、分页及明细展开动作前核对账户,切换账户先清旧数据再读取,防止旧请求键/游标进入新账户。
Chrome Playwright手机390×844及桌面1280×900主流程98项通过:127次浏览器积分请求中123次转发本机真实PHP/MySQL,4次为受控故障;密码登录回跳使用合成认证响应,不代表真实登录后端验证。覆盖默认关闭、20+7本人快照分页、NULL/零/负流水、展开和规则弹窗、读取503及恢复、多接口跨日/换规则、确定拒绝弃键、写冲突保键、两次实际提交后丢空响应及原键重放、历史回执不覆盖当前200余额、当前规则损坏仍确认、五种坏成功回执、账户切换及可见/隐藏页401。无未捕获pageerror、框架遮罩或横溢;13条console.error均对应刻意的HTTP拒绝或200空body解析日志,正常路径无未解释运行错误。
证据目录 `C:/Users/JUN/AppData/Local/Temp/airz-points-page-20261002/` 保存 `ui-result.json`、手机/桌面/错误/确认截图及临时脚本。Browser插件未提供,使用已安装Playwright,无新增依赖。初次脚本的原生input定位、包含历史日期的“10”检查和暂停响应等待已修正;最后日志分类漏计故意空JSON响应后,精确清理旧夹具、重新建立新夹具完整通过,不把失败运行计为通过。
补充恢复检查81项/81次积分请求通过(78次真实后端、3次受控网络/HTTP故障),主流程与补充共179项/208次积分请求。真实浏览器网络中断后原键提交、真实成功丢body后流水读取503仍确认、账户切换分页/明细展开不带旧游标,以及真实REQUEST_CONFLICT/422 INPUT_INVALID/BALANCE_INVALID拒绝弃键、未知账本503保键均覆盖。7条console日志均对应预期故障,pageerror=0;截图为 `points-extra-pending-ledger-failure.png`、`points-extra-final-mobile.png/desktop.png`。初次67项功能检查后脚本误等toast节点删除而超时,改为等隐藏、保留原记录,并在新的合成12月日期完整重跑81项通过。
复核发现共享会话清理会丢待确认键,`clearAccountCache`现仅排除原userId的三字段签到命令,其它资料缓存与会话继续清理;401/过期/退出/账户切换后的确认仍须重新鉴权且不能带到新会员。同步积分契约v3,作为恢复范围的工程调整,非奖励规则批准。HBuilderX 5.26最终Android 19:22:21、微信小程序19:23:14编译通过;H5保留已有layout/PDF编译警告,正常浏览器业务路径没有未解释异常。
登录清理专项35项/17请求通过:15次真实隔离积分HTTP和2次合成密码登录,真实提交丢响应→Redis Token撤销401→会话/资料哨兵清理且原键保留→同会员重新登录→实际原键重放,余额只加7、流水只加1,另一账户缓存不受清理影响。专项只实测401路径;本机过期、主动退出及saveSession切换共用的清理函数已同步例外,但这些完整交互未另外实测。安全回执 `ui-auth-recovery-result.json`,截图 `points-auth-recovery-confirmed.png`。主流程/补充/专项共214项;积分请求共223次(216真实后端、7受控故障),合成登录请求另计。
收尾:两次随机积分库(首次修正脚本前后)、自建空源库、scope Token、随机runtime及私密fixture/INI均精确移除;独立MySQL3309/PID63248正常SHUTDOWN、PHP64115/PID37280停止,原Redis队列摘要保持,0模型/worker调用。MySQL临时data保留但进程不运行,不包含业务数据;当前没有本轮3309/64115/5173监听。回执 `cleanup-result.json`、`source-cleanup-result.json` 和 `verification.json`保留。脚本依赖已删私密环境,不能直接重跑,应重新准备明确隔离夹具。原3306和线上未触碰,未提交/推送。
工具边界:Browser插件未提供,现有Playwright完成全部页面检查;长期H5开发上下文HMR日志出现过一次scrollTop空对象错误,最终独立浏览器记录pageerror均0,未将热更新上下文列为真实设备结论。停止常驻CLI后,后台重新启动预览被自动审批以 `blocked by policy` 拒绝;未改用其它机制绕过,预览服务未保留,不提供可用本地URL。
积分后端仍为已部署提交 `5fee3cf`;本轮前端未发行,正式配置 `enabled=false`、DEC-POINT待确认、原表4增量未应用。仅本地隔离开发,不做运营/真机验收或模型/worker调用。POINT-002与POINT-004开发中,POINT-003未开始;POINT-004的邀请与资料奖励部分尚未实施。
### 0.50 2026-10-02 积分页面真实读取
积分页面已接入已部署的积分服务:读取余额、规则、任务和本人流水,使用服务端业务日与规则版本;流水使用 `snapshotId`/`beforeId` 游标,空账本保留 `snapshotId=0`。移除本机签到天数、固定 10 分和固定邀请码,关闭配置时保留奖励 `null` 并显示未发布状态。
签到请求键按 `pts_` 加 32 位小写十六进制生成,并按当前账户保存请求上下文;未知网络结果继续使用原键确认,成功后重新读取余额。页面增加登录回跳、加载/错误/空流水/分页状态,并校验 Token 与页面代次,阻止离页或切换账户的迟到结果。
积分配置仍 `enabled=false`,未执行原表迁移、正式奖励发布或真实设备到账验收。HBuilderX 5.26 Android 与微信小程序编译通过;下一步为业务规则确认后的隔离 HTTP/页面联调,不把编译结果视为积分到账验收。
### 0.49 2026-10-01 积分协议与隔离开发检查
积分HTTP边界已补:显式Bearer、原始/有效方法一致及覆盖头拒绝、JSON Content-Type和三唯一字符串字段、原始query解码白名单/去重/与PHP解析一致。五条精确路由错误方法统一405,跨域预检沿既有Common入口通过,v1框架错误加no-store。重复JSON键(含Unicode等价)、重复query/NUL/坏编码/空片段均拒绝;不改其它API鉴权。
真实87HTTP请求/1079项检查通过,包含已提交响应丢失后原键确认、跨日/规则更新/暂停、账户停用/删除/Token撤销、本人快照分页、旧NULL/0流水、余额上下限、损坏回执和Redis不可用。使用独立临时ROOT/RUNTIME及随机ENV_PREFIX、新建合成库、Redis DB15随机前缀,不加载正式.env;本轮数据库、Token、临时服务/文件清理完毕,原两表和原队列摘要保持。主服务238、HTTP输入190项纯检查通过;原表23项只读预检通过,4增量、14类质量计数全0。迁移新增历史非NULL时间和流水正UINT主键阻断,首次快照坏ID映射账本异常。
配置仍enabled=false且发布元字段null,业务规则待DEC-POINT确认。POINT-002开发中、POINT-003/004未实施,页面仍本机体验,27页面/63任务保持。未迁移共享原表、未连接正式库、未改默认.env、未调用模型/worker、未部署或开展运营/真机验收。下一子项为积分页面真实读取及原键确认流程,可在规则未发布状态继续开发;实际奖励启用另行确认。
迁移纯110项及独立合成库apply/备份/ACL/恢复89项通过。第一新库2会员4流水、apply4增量后重复为0,完整双表schema+NDJSON恢复至第二新库,逐列摘要一致;目录及3文件Windows ACL/读写probe通过。修复Windows原生绝对备份路径及父级路径识别,补纯路径边界。两自建库、私密INI/备份/probe均精确清理,共享源表结构/全部行摘要一致;安全回执C:/Users/JUN/AppData/Local/Temp/airz-points-migration-20261001/apply-20261001-115749-d50a5cd87fd5a84a/verification.json保留。未在共享原表或生产执行apply。
### 0.48 2026-10-01 历史:积分后端基础(默认关闭、原表未迁移/未部署/未接页面)
用户要求继续下一轮;奖励数额、权益、期限和会员等级建议仍未获业务回复,DEC-POINT/POINT-001待确认。已新增PointsRules/UserPoints、v1 Points五路由及默认关闭配置,未发布元字段全null,异常规则安全拒绝;POINT-002后端基础进入开发中,POINT-003未做、POINT-004页面仍本机体验且未接。27页面、63任务和原任务编号保持,详见[积分契约](积分规则与开发契约.md)。
事务服务先锁正常会员、先成功请求重放、再校验锁后上海业务日/固定日事件/有效规则;同日同键原回执、异键拒绝,只更新score并写完整冻结流水。ID有界游标只本人,历史NULL不伪造,memo不返回;历史balanceAfter不当当前余额。旧后台score/level修改及legacy User::score已封闭,现有level 0/1初始化保持,无管理员任意调整入口。schema.sql/ScoreLog中文元注释增加期望的request_id/rule_version、唯一(user_id,request_id)及idx_user_point_id(user_id,id),原业务索引复用。
显式[积分迁移脚本](D:/AAdesk/202609/airz/database/migrate_points.php)已编写:默认只读预检,apply需显式环境/精确目标、停写和双表完整私密备份;MySQL DDL隐式提交、无自动修复或整表回退。实际默认只读预检在3309/airz_product_test_20260930连续两次通过,4增量、13类质量计数各项0、applied=false,无backup/apply,原两表读前后结构/数据摘要一致;PDO原生事务追踪已修正。apply/完整备份/ACL尚未运行,所有原fa_user/score_log均未迁移。主服务纯237项、迁移纯84项、写保护纯98项、隔离事务45项、只读预检22项及16PHP lint通过。事务只使用同一隔离库随机pts_合成表,真正双PHP同键/异键、锁等待跨业务日、trigger故障回滚通过;原两表结构/数据摘要保持,合成表精确清理。
本轮未生产、未默认.env、未部署、未HTTP/浏览器/Redis/worker/模型,不进行运营或真机验收。源码及合成表检查不能替代原表迁移、页面到账或线上能力。下一步先业务确认、显式隔离真正迁移验证及HTTP开发检查,再接积分页;邀请规则/关系和完整POINT-004继续后续安排,不复用历史生产授权。
### 0.47 2026-10-01 历史:积分规则与开发方案草案
本轮仅完成[积分规则与开发契约](积分规则与开发契约.md)和后端[积分数据库方案](D:/AAdesk/202609/airz/database/points-design.md)的规则建议、接口和结构设计,不实现API、签到到账、迁移/部署,也不执行DB、运行测试或收费模型调用。POINT-001仍阻塞于DEC-POINT,POINT-002/003/004未实施,63任务不变;不以设计记录替代开发检查或业务验收。
首阶段建议每日10分、上海业务日一次不补签,资料/邀请关闭;数额、权益、有效期和level策略仍待确认,配置未发布安全默认停止新入账。复用现有score/流水,不导入体验签到或固定码;business_type/business_id、uk_user_business、idx_user_time已有,首阶段仅拟request_id/rule_version、用户请求唯一及idx_user_point_id(user_id,id)游标索引,成功流水回执不另建签到表。
拟保留POST /points/check-in,正文恰好requestId/expectedRuleVersion/expectedDate,锁后日期校验防跨午夜误发奖;流水拟有界游标,主文档已链接完整契约。旧后台绝对值score写入与User::score吞异常/level联动须实施前封闭或统一账户锁和审计。下一步确认首阶段规则后POINT-002,邀请资格/关系与完整POINT-004后续安排,不复用以前生产授权。
本轮只读方案复核及文档校验完成:8文档UTF-8无BOM/无行尾空白,两新方案10处本地链接目标存在、围栏配对;两仓库限定文档git diff --check通过,只有既有LF/CRLF提示。源码字段/已有索引与方案一致,错误优先级/固定已回滚竞争错误码/ID分页索引已补。未连接DB/Redis/HTTP、未调用模型,不是运行测试或积分到账证据;DEC-POINT未批准,POINT-001仍阻塞,其余未实施。
### 0.46 2026-10-01 模型运行参数与调用额度受控配置开发
ADMIN-003 本轮完成四字段受控运行策略子项源码:暂停新调用、新评估模型Flash/Pro、每日三场景共享次数1–1000和评估尝试1–3;助手/产品解释仍固定3次,环境启用开关仍为硬限制,凭据/地址/timeout/maxTokens不编辑。独立后台GET/POST复用保留 `fa_config.ai_runtime_policy` JSON,无新表/字段。通用配置入口/模型/文件刷新保护该行,三场景在会员锁内共享锁读取一次当前策略快照,无跨操作缓存;旧调用模型冻结,正在curl自然收尾,暂停后未开始任务沿禁用路径失败,已有预留保留。
保存严格白名单、CSRF、预期版本、随机请求键和四种固定原因;当前管理员/权限、CAS比较和成功审计同事务,审计失败回滚,原请求重放返回原回执而不覆盖后续变更。拒绝日志仅安全元数据。新增3节点/独立技术v5模板继承v4,隔离库显式备份应用4项、复检0项;旧规则及绑定保持,不自动换绑,不进行生产迁移。
本轮仍仅本地开发和显式隔离检查,不改正式库、默认 `.env`、线上、真实worker或移动端,不部署或开展验收。ADMIN-003保持开发中,供应商余额/费用对账和外部告警仍缺能力/方案,下一开发范围应按现有依赖选择,不承诺未确认供应商接口。维护见[服务检查与受控配置](D:/AAdesk/202609/airz/database/admin-services.md)。
检查通过:策略纯83/事务24、独立双PHP/双连接并发43、业务路径纯63/隔离DB43、权限97、审计20,原服务53/用量76/重试39;服务HTTP207项(95请求)与Chrome Playwright桌面1280×900/手机390×844页面67项。并发首行实测1213,一方保存一方固定冲突;同键原回执/异意图拒绝、成功审计回滚、三场景快照/旧模型、暂停和配置故障安全关闭均覆盖。页面检验实际提交后响应丢失仍原键重放、另一管理员冲突自动刷新、CSRF/字段白名单/Referer不回显、技术v4/客服/运营拒绝写及超管通用Config保护。坏记录不回退旧指标,额度/剩余数/最大尝试NULL仍保留已预留次数;无未解释console/pageerror、横溢或文字重叠,刻意中断响应的一条网络错误另记。
收尾修正保存确认关闭动画与快速冲突响应的刷新时序;请求字段规范化固定顺序,等价POST乱序重放仍返回原审计/回执、不改后续版本。乱序新增2项纯检查及1项隔离DB检查已计入83/24,6表摘要保持并回滚。
并发14表及HTTP原13表/原Redis队列摘要一致,原Config和site.php摘要保持;held清理3项通过,owned夹具精确清理、凭据和scope私密JSON删除,0模型/worker调用。23PHP lint、2JS语法、26源码/测试文件UTF-8无BOM/空白检查通过,3309/PID19100和8097/PID43340仍仅监听127.0.0.1,无本机analysis:work。证据目录 `C:/Users/JUN/AppData/Local/Temp/airz-admin-runtime-policy-20261001/`有 `verification.json/ui-result.json`、`saved-desktop.png/saved-mobile.png/invalid-mobile.png`;页面脚本依赖已删夹具,不能直接重跑,须显式新建。Browser插件未提供,沿用本机Playwright,无新增依赖;继续先复查监听和bootstrap,不运行默认worker或旧cleanup/reset。
### 0.45 2026-10-01 分析进程心跳与进度超时提示开发
ADMIN-003 本轮完成最近登记常驻分析进程的进度观测子项源码。独立Redis JSON键按数据库配置及分析队列隔离,不新增业务表或字段;随机实例标识本次启动,原子校验instanceId及startedAt,新进程可接替,旧进程的进度更新/停止不能覆盖接替者,首次响应丢失重试也不能无条件抢占。普通进度更新可原子补登记缺失键,停止不复建。`--once`、`--recover-only`不登记。进程记录启动、工作、空闲、降级和停止边界,心跳存储失败不改变任务执行、租约、预算或日志。
后台保持只读权限,显示最后进度、年龄和阈值,区分缺记录/未启用/损坏/Redis不可用/进度超时。阈值为配置值(默认180秒)、模型timeout+60、租约秒数和30秒的最大值;TTL86400秒且大于阈值。进度超时不能证明进程死亡、其他worker停止或供应商失联,退出路径上报停止不证明任务正常完成;外部通知/告警投递尚未接入。
本轮无权限增量/账号换绑/数据库结构迁移,不修改默认 `.env`、正式库、线上或移动端,不部署、不开展运营和真机验收。ADMIN-003 保持开发中,供应商余额/账单对账和受控配置编辑仍待开发;维护见[服务检查说明](D:/AAdesk/202609/airz/database/admin-services.md)。
开发检查通过:心跳纯133项、真实隔离Redis90项、服务纯53项/隔离数据库14项、服务HTTP207项(95请求)与Chrome Playwright桌面1280×900/移动390×844页面43项,9文件PHP lint及JS语法通过。覆盖新owner保护、首写已落地却丢响应12项、丢键补登记、停止不复建、once/recover-only不登记、exit/致命错误上报、Redis不可达及9种后台状态;页面无console/pageerror、文档横溢或文字重叠。0模型调用,原13表及原Redis队列摘要一致。HTTP held夹具精确清理3项通过,临时凭据JSON和浏览器专用scope私密JSON删除,随机观测键及专用8098/PID36740精确清理;原MySQL3309/PID19100与PHP8097/PID43340仍监听127.0.0.1,无真实worker。回执与截图在 `C:/Users/JUN/AppData/Local/Temp/airz-admin-heartbeat-20261001/`;Browser插件未提供,沿用本机Playwright,无新增依赖。临时UI夹具已删除,复跑先建立新的显式隔离夹具,不运行默认环境或旧cleanup/reset。
下一开发项建议推进模型运行参数和调用额度的受控配置;供应商余额/费用对账仍依赖接口能力确认,外部告警投递方案另定,ADMIN-003不标整体完成。
### 0.44 2026-10-01 只读模型与服务检查、调用用量开发
ADMIN-003 进入开发中,首个只读子项源码完成。后台新增固定七项服务检查、任务排队/运行/租约观察,以及按会员/日期/场景/状态查询的安全调用元数据、20条分页和会员今日预留额度。模型只查配置、不请求供应商;队列和登录Redis仅有限只读命令,目录仅权限预检,短信未接入,worker无心跳显示未知。所有写入口包含超管均拒绝。
额度统计匹配真实执行路径,今日全部assistant预留包含失败、软删除、遗留和未来时间记录,与报表日期/场景/状态独立。报表只含已识别场景且未删除记录;未知Token保留NULL并统计未知条数,已知零和大整数用十进制字符串,不估算费用。查询开始及失败清除旧结果,控件禁用防止筛选/翻页错配;不读取正文/报告/匹配/上下文/凭据,不派发、恢复、消费任务或调用模型。
权限新增3节点及独立技术 `v4` 模板;旧技术 `v3/v2/v1`、客服 `v2`、运营 `v1` 和账号绑定保持,无业务表字段迁移。正式库、默认 `.env`、线上与移动端源码未改,未部署或开展运营/真机验收。供应商余额/账单与费用对账、受控配置编辑和心跳告警尚未实现,ADMIN-003不标整体完成;维护见[服务检查说明](D:/AAdesk/202609/airz/database/admin-services.md)。
开发检查通过:服务纯48/隔离数据库13、用量纯76/隔离数据库26、权限定义90;服务HTTP203项(95请求),原权限227项(158请求),Chrome Playwright桌面1280×900/移动390×844页面56项。真实20条分页、大Token字符串、未知与零、历史窗口/场景不改今日额度、加载防重、错误清旧结果及恢复、旧角色拒绝均覆盖。无console/pageerror/文档横溢;Browser插件未提供,沿用本机Playwright,无新增依赖。合成账号/会员/会话/调用/日志精确清理,凭据JSON删除,13表原有行及原Redis队列摘要保持,0模型调用。权限备份、截图和安全回执在 `C:/Users/JUN/AppData/Local/Temp/airz-admin-services-20261001/`;原3309/8097保持、worker未启动。下一开发子项建议分析进程心跳与失联提示,外部告警投递待方案。
### 0.43 2026-10-01 受控人工重试与操作审计开发
ADMIN-002 的人工重试及操作审计源码完成。详情页仅对有权管理员的当前失败任务显示重试,确认固定原因后提交预期版本/任务、CSRF和随机请求键。网络结果未确认时保留同一请求,重放返回原任务,接受后刷新详情及调用列表并可查看操作日志。会员状态、版本、任务、尝试上限和每日额度均在锁定事务中校验;后台与用户重试共享生命周期且请求命名空间隔离。
成功审计与任务/调用预留同事务,审计失败回滚;提交后派发,派发失败保留接受回执以便原键补投。拒绝日志只记录安全白名单和稳定错误,不保存完整POST、CSRF、身份资料、报告或模型正文。旧版本输入、已发布结果和匹配保持冻结。技术新增独立 `v3` 模板,旧技术 `v2`、客服 `v2`、运营 `v1` 和账号绑定保持;隔离库备份应用1节点/1模板共2项,重复预检0项,无业务表字段变化。
本轮重试服务纯39项/事务45项、审计90项、权限定义82项及诊断纯48项/事务47项通过;重试HTTP/数据库1016项(91请求)、原排障回归1075项(200请求)和原权限227项(158请求)通过。覆盖两个独立PHP进程同键/异键竞争、审计插入失败完整回滚及拒绝日志故障、模型关闭、次数/日额度、队列不可达后原键补投、参数和隐私保护。Redis投递允许同任务重复消息,执行幂等依赖任务/租约,不承诺队列exactly-once。
Chrome Playwright 1280×900/390×844页面38项通过,核对确认、状态冲突刷新、失联后取消/页面内刷新仍可确认原请求、CSRF更新、原任务/审计重放、状态/列表刷新及旧角色按钮隐藏。无新增未解释console/pageerror;刻意丢弃一次接受响应是预期网络故障。13表原有记录及其他Redis队列摘要一致,合成账号/评估/日志/触发器/随机队列和凭据JSON已精确清理,profile恢复,0次模型调用。安全回执及截图在 `C:/Users/JUN/AppData/Local/Temp/airz-admin-retry-20261001/`,专用8098已停止,原隔离3309/8097保留。Browser插件未提供,沿用本机Playwright,未安装依赖。
正式库、默认 `.env`、线上与移动端源码未改,未部署或开展运营/真机验收。维护见[评估排障说明](D:/AAdesk/202609/airz/database/admin-assessment.md)。ADMIN-002 保持开发中,完整外部查询/对账仍依赖 DATA-004;下一独立开发项可做 ADMIN-003 服务状态检查。
### 0.42 2026-10-01 已有评估任务只读排障开发
ADMIN-002 进入开发中,已有评估任务的只读子项完成。后台按评估 ID、任务 ID、请求 ID、会员 ID 查询阶段/状态/派发/租约/安全错误,详情分别分页展示提交版本与调用尝试。当前任务与历史版本区分;历史零调用阻断任务仍可检索,遗留无版本关联调用明确标注,产品解释调用不计入评估尝试。Token/耗时的未知与零区分,迟到用量更新时间不作为任务完成时间。
服务只投影元数据,不加载表单、报告、匹配、上下文或供应商正文;缺版本、错关联、不支持格式、缺任务和运行租约给稳定提示。超管和普通业务角色均不能通过此控制器写入、重试、恢复或派发,查询不触发模型。客服/技术新增独立 `v2` 模板,旧 `v1` 及管理员绑定保持;运营仍使用 `v1`。隔离库只增3节点/2模板,显式备份应用5项后预检0项,菜单缓存精确刷新,无业务表字段变化。
48项纯函数、42项隔离事务、1053项HTTP/数据库开发检查通过(194次请求),新增边界包括超管写入拒绝、历史零调用、旧日志、坏版本、错会话关联与缺失任务/租约。原后台权限回归另227项通过(158次请求),权限定义75项、隐私37项和字段投影73项通过。1280×900及390×844页面27项检查通过:查询/清空、详情弹窗、版本切换、独立分页、错误/空态及尺寸正常,无新增console/pageerror。截图和临时脚本在 `C:/Users/JUN/AppData/Local/Temp/airz-admin-assessment-20261001/`,全部合成账号和任务已精确清理,原有记录一致,0次模型调用。
本轮未部署、未改正式库/默认 `.env`/移动端代码,未做运营或真机验收。详细接口与维护见[排障说明](D:/AAdesk/202609/airz/database/admin-assessment.md)。下一开发子项为受控人工重试及操作审计;完整外部查询/对账仍依赖 DATA-004,ADMIN-002 不标整体完成。
### 0.41 2026-10-01 后台菜单与角色权限开发
ADMIN-001 源码完成,暂不做运营、真机或发布验收。复用现有 `fa_auth_rule/fa_auth_group/fa_auth_group_access`,新增运营、客服、技术三个独立最小权限模板。运营管理产品/文章/课堂/FAQ;客服只读会员/资料/消息、处理反馈及查看融资资质字段;技术只读会员/资料/消息和模型配置、查看/受控启停密钥、查看自身及下属管理员日志。全员保留本人配置与改密能力,不授全局统计、权限管理、硬删除、导入或附件管理,不恢复会员组/会员规则。
资料和系统消息的后台写入口全部关闭,包含超级管理员、批量、导入和回收站;资料按 `user/info/financial` 投影,姓名/手机/企业名称/代码保持掩码,证件原文和附件永不输出。会员/密钥/模型列表限制字段、过滤及排序,模型选择器只返回 ID/名称;密钥批量只能修改合法启停状态,不能修改所属模型、密文或消耗。反馈列表/编辑不显示历史附件;操作日志新写和历史读取均脱敏,请求日志不保留 URL 查询串。通用缓存清理和排序改为校验管理员权限,角色首屏只选择有权业务页。
新增独立 `database/migrate_admin_permissions.php` 和[权限维护说明](D:/AAdesk/202609/airz/database/admin-permissions.md):显式环境/目标、默认只读,应用前备份并锁定三权限表,只补缺失节点/模板,不覆盖既有节点/角色/账号绑定,模板人工漂移或不兼容层级阻断。隔离库 `127.0.0.1:3309/airz_product_test_20260930` 已增加50节点和3模板,原管理员未自动绑定;备份位于受限临时 `airz-admin-permissions-20261001` 目录。初始化后精确刷新隔离 `__menu__` 缓存,正式发布须与受控控制器及FAQ/反馈业务配套部署。
PHP/JS语法、权限/隐私纯内存回归及227项真实隔离HTTP/数据库检查通过(158次请求);合成会员/资料/消息/反馈/模型/密钥/管理员/绑定/日志精确清理,13张相关表原有行保持,0次模型调用。正式数据库、`.env`、线上部署和移动端源码均未修改。开发检查不代表运营或生产验收,任务保持开发中;下一步 ADMIN-002 可先开发已有评估任务的只读排障,完整外部查询仍依赖 DATA-004。
### 0.39 2026-10-01 FAQ服务端化开发
继续功能开发,暂不做真机或跨设备验收。FAQ改为复用`fa_acticle`的`type=6`和`content` JSON,结构为`schemaVersion=1/kind=faq`,新增公开`GET /api/v1/help/faqs`,按分类返回已发布且结构有效的问题;损坏、草稿和下架内容不公开。没有新增表或字段。
后台新增独立FAQ编辑入口,沿用现有管理员权限、发布状态和版本冲突保护;FAQ初始内容使用显式目标的`database/import_faq.php`和`database/faq_initial.json`导入,预检默认不写入,不能连接默认`.env`。前端帮助页移除本地FAQ数组,始终读取服务端并保留空态/错误重试。
本轮仅完成源码、种子脚本和隔离事务回归,未导入正式库、未部署PHP/后台资源、未修改正式数据。2026-10-03修正退出登录后的评估资料说明,并为导入脚本增加种子slug必填/唯一校验及`--apply`前备份目录门禁;本机隔离MySQL/PHP当前未运行,尚未执行数据库预检或接口联调。FAQ之后继续开发反馈提交/处理闭环;人工客服仍受`EXT-CS`供应商选择阻塞。原有资讯、课堂、搜索、课程进度、消息和产品部署状态不变。
### 0.40 2026-10-01 反馈提交与处理闭环开发
继续功能开发,暂不做真机、跨设备和正式发布验收。反馈复用`fa_feedback`并新增`request_id`、`reply`、`handled_by`、`handled_at`及`(user_id,request_id)`唯一索引;显式迁移脚本`database/migrate_feedback.php`默认只预检,执行要求隔离/正式目标、`--apply`和备份目录,历史NULL请求键兼容。本轮仅对本机隔离库应用,未修改正式库。
后端新增`FeedbackRecords`、`Feedback`控制器和三条登录接口:文字内容去HTML并限制255字,附件暂只接受空数组;同会员同请求键幂等返回原记录,参数冲突409;列表分页和详情严格按当前会员归属。后台隐藏新增、删除、批量和导入,只允许白名单修改状态与回复,自动记录管理员和处理时间。
帮助页新增意见反馈表单、失败重试复用请求键、本人记录分页和回复展示,登录后可返回反馈页;FAQ保持原服务端读取,客服按钮继续显示未开放。PHP语法、隔离迁移预检/应用和58项反馈数据库回归通过,正式迁移、部署、真机及验收未执行。
### 0.38 2026-10-01 资讯、课堂、搜索与正式部署
新闻/课堂列表、详情、首页推荐与搜索已从静态数组切换真实接口,支持分类、分页/总数、空态/错误重试及迟到响应保护。保留原型布局,关键约束中文注释。后台复用文章和融资课堂,JSON结构化编辑、发布/下架、封面、稳定章节ID/排序、保存版本冲突及旧协议正文兼容完成。CONTENT-002/003待验收;CONTENT-001/004包含未完成的FAQ,保持开发中。
复用fa_acticle.type=5及fa_finance.content TEXT,无现有表新增字段;新建fa_user_lesson_progress关系表,按会员保存固定章节ID/正文摘要/首次完成,重排保留进度、正文更新失效,lessonVersion冲突409、重复完成幂等。正式消息唯一索引一并迁移。4篇新闻/3门课程按slug只新增,重复预检0改动;6条产品、现有会员/助手/报告及输入版本存储保持。
40项真实MySQL5.7隔离数据库、81项内容HTTP/Playwright(42次隔离请求)、13项后台UI/HTTP和166项产品编辑纯内存回归通过。390×844与1280×900无运行错误,微信/Android开发编译通过;UI合成内容/用户/Token/进度精确清理,原行摘要一致,0次收费调用。证据在C:/Users/JUN/AppData/Local/Temp/airz-content-20261001/的qa-ui.json、qa-admin.json、cleanup.json和截图。
用户授权后,经宝塔新增airz.hqling.cloud绑定、部署Let's Encrypt证书并移除旧aitest.ychysg.cn;内部站点xctai.cn与目录不变。停写/停空闲worker并备份,正式消息索引/课程进度表增量迁移、7条内容导入、34源码/后台资源限定部署完成,含此前产品编辑/公共目录与消息功能。64项服务器HTTPS/FPM及假模型验收通过、2次显式假评估、0收费调用;26表预期摘要、原有行、无关源码/.env/全局参数保持,夹具和独立队列清理。
worker和公网入口已恢复,三服务active、队列[0,0,0]、MainPID=1041115/NRestarts=0(后续重查)。公网11条路径及HTTP301检查通过:内容/字典200、匿名消息/产品401、敏感路径404、TLS校验0。证书到期2026-12-29 16:12:27 UTC。服务器/root/airz-content-20261001和受限本机D:/AAdesk/202609/airz-backups/content-deploy-20261001保留22文件备份/验收,归档包与全部文件SHA256一致。恢复见[内容维护说明](D:/AAdesk/202609/airz/database/content-publication.md),不可整库回退或删有进度的关系表。
前端test API已改为https://airz.hqling.cloud/api/v1;小程序需重新发行,并把微信request合法域名改为https://airz.hqling.cloud,上传/下载按实际使用配置相应合法域名。本轮未代上传小程序、未部署H5,真机/多设备/真实模型未验收。旧域名阻塞和消息未部署段落仅为历史阶段;本机测试仍须显式隔离bootstrap,禁止默认.env或本机worker连接活动库。
### 0.37 2026-09-30 消息中心与评估事件
MSG-001—004完成本机实施,状态待验收:复用消息页原分类/图标/底栏,移除静态通知与本机已读缓存;接入服务端分类分页、真实未读总数、单条/全部已读、详情及原版本报告/档案跳转。首页红点来自真实未读数,登录后可返回消息页;离页、换分类及账户切换拒绝旧请求。分页失败保留已加载列表并在末端显示重试,滚动高度按顶栏/分类/底栏扣除,避免导航遮挡。Android局部函数前向引用使用延后绑定回调兼容,关键约束中文注释。
后端UserMessages/Messages与五个路由完成;评估成功/失败通知同结果事务保存,唯一键原子去重。business_id指system输入日志revisionId,修改重评产生新版本通知,失败重试不重复;详情校验当前用户及关联会话/输入日志删除状态。列表固定snapshotId上界和beforeId游标,全部已读只更新上界以内,新增通知保持未读,单条首次readAt保持。fa_user_message只增加uk_user_message_event唯一索引,无新表/字段、不回填历史通知。
50项MySQL5.7.26真实隔离数据库、57项HTTP/Playwright(42次隔离API)及16项索引迁移/恢复检查通过。手机390×844、桌面1280×900,console/pageerror为0;覆盖成功/失败版本、重试去重、权限、分页/错误恢复、已读与红点、新通知及账户切换迟到响应,含两个独立PHP连接并发事件插入。微信/Android本地编译通过,H5热更新及页面联调通过;模型全部使用假客户端,0次收费调用。测试账户/Token/资料/会话/消息和本批随机队列已精确清理,25表原有行摘要一致,原4条草稿和6条产品保留。
用户已上传上一版小程序;**本轮消息索引迁移、PHP部署及前端发行尚未执行**。公网HTTPS排查按用户要求暂停,未复测公网、真机或真实模型。迁移默认只读、显式配置/目标,执行需维护标识和备份,阻断重复组、活动任务及错误同名索引;只恢复代码/索引,不整表覆盖新消息。说明见后端[消息维护与恢复](D:/AAdesk/202609/airz/database/user-messages.md),临时证据在airz-messages-20260930目录。63任务、27页面不变,站内消息不含外部推送或运营群发。
### 0.36 2026-09-30 产品业务展示与正式资料同步
按用户要求,六条产品采用正常业务名称、机构显示名、材料、条件和建议,匹配/详情/对比/报告/行动/助手/PDF去除环境标签;内部来源引用和元数据保留。清理上一阶段未完成的内存模拟入口及登录绕过,维持真实后端链路。正式MySQL5.7/airz产品ID22—27已事务更新至版本2,参数/条件保持,其他24表逐行摘要一致。更新脚本、隔离恢复演练和正式六行备份见后端[恢复说明](D:/AAdesk/202609/airz/database/product-display-update.md)。没有DDL、历史改写或收费模型调用。
605项PHP检查通过(151匹配、153发布、166表单、45目录、22模型、38材料、30PDF),企业v3回归修正`year_income`映射,正确覆盖收入门槛和经营月数。Playwright/Chrome手机390×844、桌面1280×900完成242项检查,个人/企业报告→匹配分组→选择对比→展开→助手,以及产品来源/材料与行动入口正常,54次隔离后端GET,console/pageerror/HTTP错误0。微信开发编译通过;本轮Android未完成有效编译。截图和QA记录在临时`airz-product-editor-20260930`目录;联调账户、资料、会话、日志、Token和本批队列已清理,隔离24表恢复原摘要。
正式产品数据已同步;用户授权“先做第1项”后,后端`AssessmentNeedsReport.php`、`AssistantChats.php`、`ReportPdf.php`三处展示/提示词改动已通过宝塔备份、停空闲worker、限定部署并恢复服务。76项服务器本机HTTPS/FPM及假模型检查通过,实际PDF和助手流程正常,临时数据已清理,25张表原有数据与其他源码/.env保持;4次假客户端、0次收费调用。三服务active,最终worker PID944033/NRestarts0,队列为空,原nginx配置恢复。备份及恢复说明见上述后端文档;12个备份/验收文件已下载并核对源码/数据库SHA256。
本次未发布产品编辑器/公共目录的其他改动。小程序/H5未发行,前端需重新发行上传;公网HTTPS和真机未复验,本机TLS通过不表示公网恢复。本节覆盖0.35关于强制展示环境标签的旧约定。
### 0.35 2026-09-30 演示产品正式库核对与v3匹配回归
按用户确认,正式MySQL5.7/airz当前无评估用户,已有6条演示产品(个人、企业及混合主体)继续用于功能开发;逐条结构化比对与本地`demo_products.json`完全一致,未新增重复记录或改写历史会话。演示产品仍明确标记为非真实机构资料,仅用于页面、匹配和报告联调。
本机隔离MySQL5.7补齐同一批6条演示产品,保留原4条银行材料草稿;种子脚本新增`--env`显式隔离参数,重复执行只核对并保留已有记录。新增v3匹配回归覆盖个人/企业收入边界、城市范围、资料缺失三态、产品额度/期限保留、无评分以及已删除融资金额/期限/用途字段不进入证据。151项内存匹配、153项发布编译、45项目录模型、38项材料复核检查通过。
本轮没有新增正式库迁移、没有模型调用、没有部署前端;正式库6条演示产品可继续作为测试目录,真实银行材料仍保持草稿并阻止上架。后续优先联调评估→匹配→报告三条链路,再进行外网HTTPS与体验版真机验收。
### 0.33 2026-09-30 产品地区待核实与完整问题清单
按用户同意的下一步完善产品录入:新增“待核实”并作为新增默认,SQL NULL/明确全国[]/指定城市三态往返。NULL地区不再误判旧规则,四条公开材料来源正常显示;真正旧规则来源仍可只读查看,未明确重建时普通保存保留原JSON。发布检查一次列出独立字段缺失、范围倒置、过期或未来核对日期、用途及逐条条件错误;格式错误仅构造内存诊断候选,保存和模型/后台上架仍严格重验。空的可选经营月数不误报必填,版本冲突与规则版本上限继续阻断。
450项PHP检查通过(153发布、166表单、22模型、45目录、64规则),模型及目录合成写入全部回滚。82项真实本机HTTP/Playwright检查通过:四条材料只读预检、来源显示、完整清单、NULL保存/刷新、显式全国/城市、空城市、未知地区上架阻断、旧规则保留、版本冲突;1280×900和390×844均无横向溢出或新增console/pageerror。Browser plugin not available,使用既有Playwright,无新增依赖。7项清理/完整性检查通过:仅清理本轮两个合成产品,原ID1—4及user/user_info/ai_chat/ai_chat_log/model_user五表逐行摘要一致。
额外7项只读首屏/地区/来源检查通过,浏览器与HTTP共89项。证据在C:/Users/JUN/AppData/Local/Temp/airz-product-editor-20260930/qa-pending-ui.json、qa-pending-view.json、qa-pending-cleanup.json及pending-*.png;首次测试比较差异来自MySQL JSON格式化/键排序,已以插入后实际数据库文本作为基准复验。四条材料均保持本机草稿,不部署、不修改正式库、不调用模型、不扩充城市或资料采集。PRODUCT-003仍开发中,下一步取得受理银行对当前参数、有效期、地区及完整硬条件的确认,再做人工匹配金标准验收。
### 0.34 2026-09-30 首批材料复核与匹配验收准备
新增后端只读命令`database/review_product_materials.php`和内存检查`tests/product_materials.php`:固定读取`local_draft_only`材料JSON,复用ProductPublication检查发布格式,输出来源、地区三态、逐字段缺项、银行核实状态和不可发布标记;不初始化应用、不读取.env、不连接数据库、不访问来源网址、不调用模型、不覆盖原材料。材料格式完整仍不代表银行签核,`bankVerification=pending`且`mayPublish=false`。
首批四条复核结果:工银融e借8项、闪电贷7项、农银微捷贷5项、税易贷7项后台格式缺项;0条格式完整、0条银行确认、0条可发布。由于四条均是草稿,个人和企业profileOnly目录都返回`unavailable/PRODUCT_CATALOG_UNAVAILABLE`,不会把草稿伪装成四个unknown候选。合成样例补测金额边界、缺失三态、verified来源和已取消需求字段排除,38项检查通过。核实表及技术差距/人工金标准见`docs/产品材料/首批产品银行核实与验收-20260930.md`,复核JSON见同目录`首批产品复核清单-20260930.json`。
本轮仅准备核实材料、复核工具和合成技术样例,未取得新增银行回复或重新查阅官网;不进行银行联系、正式库写入、部署、上架、城市字典扩充或资料采集变更。收到确认后另建材料版本并完成无法核验条件的处理约定,才能开展真实政策的人工金标准验收;现有公开材料基线保持字节一致。
### 0.32 2026-09-30 PRODUCT-003结构化编辑与公共列表
按用户要求继续功能开发:后台产品新增/编辑已改为基本参数、全国/指定城市、按对象用途、来源四字段及动态准入条件;旧JSON默认保留,明确重建才替换规则并清除旧年龄条件。最多44条补充条件,金额保留元精度,字段/运算符/对象/来源均复用既有白名单。发布前只读检查、事务内版本冲突保护及工具栏上架/下架已接通,沿用FastAdmin权限和批量回滚,历史匹配快照不改写。新增GET /api/v1/products会员公共列表,按对象/城市/名称筛选、ID游标分页,响应no-store;复用公共详情DTO,无个人匹配信息。
326项PHP检查通过(73发布/64规则/128表单/16模型/45目录与编辑),本机MySQL5.7.26/PHP7.4.3隔离库合成写入回滚。另35项浏览器/HTTP主流程、18项旧规则/权限、36项公共目录真实本机HTTP检查通过。Playwright在1280×900、390×844验证非空页面、页面身份、无错误覆盖层、条件增删/切换回填、只读预检、发布/修改/冲突/下架、明确重建及只读管理员拒绝写入;console/pageerror均0。截图与无凭据QA记录在本机临时airz-product-editor-20260930目录。Browser plugin not available,使用既有Playwright依赖,无新增依赖安装。
本轮未迁移/修改正式库、未部署线上、无真实产品录入或模型调用;未改UTS,无新的小程序编译。PRODUCT-003保持开发中:录入工具已完成,真实资料/运营核对/金标准与正式发布验收仍依赖DEC-PRODUCT。下一步应准备首批真实产品条件材料,按契约核对后录入草稿并做人工匹配验收;公网HTTPS修复及体验版发行仍属独立待办。
收尾补充:10项生产静态资源/关闭调试模式检查通过,企业默认规则和移动布局正常;本机合成产品/会员/日志/Token已清理,仅保留隔离预览管理员。8097/3309预览服务与私密测试登录文件说明见交接文档,不与正式数据混用。
### 0.30 2026-09-30 正式评估版本迁移与PHP维护
已按用户本轮授权在111.230.144.231:3306/airz完成迁移及21个源码文件部署,MySQL5.7.44/PHP7.4.33。维护中先阻断外部写入、停worker并备份完整数据库和代码/.env/nginx,再迁移三表与部署。63项实际服务器本机HTTPS/FPM及假模型流程通过;原助手449及2日志、22张无关表摘要一致,仍1会员/6产品/0评估资料。合成数据/Token/任务清理,0次收费模型调用。
www恢复扫描为0,systemd实际消费失效的合成评估任务通过、队列为空、无storage error。PHP-FPM/Redis/airz-analysis恢复active,最终PID848445/NRestarts0;nginx原配置恢复,生产.env未变,log_bin_trust_function_creators恢复0。完整备份/root/airz-revisions-20260930,三表备份/root/airz-backups/assessment-revisions-20260930-115301-810221;详细过程及服务恢复后禁止整表回退的边界见后端database/assessment-revisions.md。
小程序/H5仍未发布,微信/Android编译为前轮验证。外网复测HTTP301跳转HTTPS,HTTPS仍连接重置;服务器本机TLS通过不代表外网恢复。下一步修复域名外网访问、核对微信合法域名,再发行体验版并做真机验收。本轮没有提交/推送。
### 0.31 2026-09-30 会话任务列精简
按用户确认将`fa_ai_chat.context_data`之后的17列精简为8列:`status`、`task_stage`、`task_id`、`lease_until`、`dispatched_at`、`type`、`current_input_id`、`published_input_id`。重复状态从当前输入日志的JSON读取,`match_result`、历史报告、普通助手不变。隔离MySQL5.7完成58项版本回归、精简迁移/备份恢复/重复拒绝演练及旧资料结构首次迁移;线上部署4个PHP文件并通过71项本机HTTPS/FPM假模型检查,worker实际消费失效合成任务后恢复。无收费模型调用。备份和恢复边界见后端`database/assessment-chat-compact.md`。
### 0.29 2026-09-30 原型09报告还原
按用户反馈再次对照原型09:白底/顶部PDF、浅色准备状态/简短摘要、实际改善项橙红编号列表、固定底部重新评估;详细完整度/事实/依据按需展开。保留真实准备状态,未引入B+评级、概率或固定建议。服务适配器从已有结构化improvements保留不含证据附注的正文,完整证据仍可展开;无API和数据库变更。
360/390/1280px H5受控响应验证、微信/Android编译通过,覆盖三栏/展开/空建议/旧版失败提示/PDF503回执与重试/原评估修改回填。PDF503为刻意注入,除此无新增console/pageerror;不是正式外网或真机验收。样例截图和脚本保留本机临时目录,未发布。
### 0.28 2026-09-30 最新资料与评估版本
已完成前后端代码:每用户两类最新资料、明文身份、同会话修改重评/新建独立评估、日志JSON版本、失败保留上次报告、匹配数组、版本历史分页以及报告/产品/对比/助手/行动/PDF绑定版本。本人修改完整回填,类型固定,baseRevisionId拒绝旧版本覆盖;并发原键重放不重复创建也不回写资料。完整契约见[评估版本与最新资料](评估版本与最新资料.md)。
MySQL5.7.26和MySQL8各51项隔离集成检查通过,5.7建表、合成迁移与恢复演练通过;微信/Android编译通过,H5真实本机接口联调修改和历史读取通过。全部使用隔离配置及假模型,不收费。旧任务测试尚未整体迁移,不能对新库/活动库直接运行。真机、真实模型语义和生产容量未验收。
本地开发完成,正式迁移/部署/小程序发布待执行;新客户端需配套新后端。迁移脚本、SHA256备份、阶段记录及维护期恢复说明见后端 `database/assessment-revisions.md`。本轮没有覆盖前轮未提交改动,也没有提交/推送。
会话交接(2026-09-29):已整理[新会话交接](新会话交接.md),包含当前成果、验证边界、业务约定、代码入口和环境状态。原型08、10及09 PDF已完成本地实施,当前边界见0.27与6.28节;08累计13次真实调用,新增三轮金额精度专项通过;下一步为移动端、真实产品与跨平台验收。
### 0.27 2026-09-29 恢复原资料表单
个人/企业信用融资恢复至2026-09-23 19:04需求扩展之前的采集范围:删除融资金额、融资期限、资金用途、其他用途说明;保留经营月数和原有身份/经营收入/资产负债/资料授权。提交使用inputVersion=3,结果仍为resultVersion=2,保留报告三栏、产品匹配、助手、PDF与行动入口。v3不生成需求事实或匹配规则,不把取消采集的字段列为“未提供/待核实”、补填项或完整度扣分项;产品自身额度、期限、利率和用途资料保留。其他真实缺失或来源未核验仍按既有规则处理。
已按用户授权在111.230.144.231/airz执行:删除报告161/229、关联会话151/219及2条日志;普通助手449及其2条日志保留,会员1个、产品6个保留。fa_user_info删除requested_amount、requested_term_months、purpose_code、purpose_detail四列;input_version、analysis_context属于必要版本和快照元数据,继续保留。两个触发器同步移除需求列校验,输入版本允许1/2/3,接口新建最低3。22张不相关表摘要一致,log_bin_trust_function_creators临时开启后恢复0。备份:D:/AAdesk/202609/airz-backups/restore-profile-20260929-180938/。
当前外网阻塞:aitest.ychysg.cn已被腾讯云备案检查拦截,HTTP跳转dnspod.qcloud.com/static/webblock.html,外网HTTPS连接重置。服务器本机TLS与应用接口通过,不等于外网可用;体验版联网前需完成域名备案/接入并复测。此前“外网正常”的记录仅代表早先验收时间。
## 0. 2026-09-22 首轮实施更新(优先于初始基线)
本轮已开始M0与无需第三方的账户功能;下文历史基础表保留规划时事实,当前会话存储以本节为准。
| 项目 | 实际结果 | 依据与未完成边界 |
| --- | --- | --- |
| Token存储 | 本地fa_user_token(迁移前0行)已备份删除,实际库25表;Token改Redis | 后端database/migrate_token_redis.py、database/schema.sql;不复制旧会话 |
| Redis驱动 | 摘要键、TTL、用户索引、单会话退出/全部撤销原子操作,故障不回退 | tests/token_redis.php:14项通过,隔离测试键已清理 |
| 后端回归 | 金额、加密、评估生命周期和账户基础回归通过 | tests/finance.php:41项通过,数据库回滚,Redis测试会话清理 |
| 真实HTTP | 密码登录、Bearer资料读取、退出、原密码改密和多个旧Token失效通过 | tests/api_session.php:16项通过,临时用户/会话清理;短信返回503 |
| 前端基础 | 统一请求和错误、默认密码登录、Redis退出、userId缓存隔离 | services/api.uts、config.uts、storage.uts;真实业务其他接口待开发 |
| 浏览器联调 | 真实密码登录→首页→“我的”→确认退出;A/B账户缓存隔离;短信503无倒计时;历史草稿检查已随功能取消 | 本地Chromium,390×844和1280×900;详见6.1;不含微信内置浏览器 |
| 编译 | Web编译通过;Android退出回调类型问题已修复后编译通过 | HBuilderX 5.26本地编译;非真机/正式发行验证 |
| 外部准备 | 短信服务商和首批真实产品资料未具备;DeepSeek密钥与模型已收到并仅保存在后端私密配置 | AUTH-001、PRODUCT-003仍阻塞;REPORT-001配置已启动,真实调用与预算待验证 |
| 恢复点 | 已保存目标表结构与数据备份 | D:/AAdesk/202609/airz-backups/token-redis-20260922-165215-988442/user_token.sql |
仍待完成:全量接口字典和requestId日志关联、生产配置校验、短信注册/换绑及其他业务模块。当前没有将任何整模块标记为已完成。
### 0.1 最新调整:取消草稿、账户资料与AI配置
- 用户取消全部评估草稿:本机/云端保存、续填及旧草稿导入从范围移除。表单只在当前填写→确认流程中保留内存,离开、刷新和退出清空;历史档案仅面向正式提交记录,读取接口当时待实现;2026-09-23已接通,见0.2。
- 账户资料GET/PUT、头像POST已实现;服务端校验归属、类型、尺寸、500KB上限并重新编码。退出、过期及401清账户缓存;启动清理旧草稿键。
- 已撤回草稿接口及revision/client_draft_id/唯一索引;city_code、operating_months作为正式评估标准字段保留。撤回备份:D:/AAdesk/202609/airz-backups/cancel-drafts-20260922-180035/user_info.sql。
- DeepSeek密钥已存后端忽略的.env;两个模型已记录为deepseek-v4-pro-0813和deepseek-v4-flash-0731,接入腾讯云TokenHub。只完成配置与官方文档核对,未发起真实模型调用;预算、额度和模型权限待验证。文档不保存密钥。
- 最终代码验证:tests/api_profile.php 14项(含草稿路由移除)、tests/finance.php 41项通过;账户会话16项在本轮前段回归通过。中途39项草稿检查仅属已取消方案,不计当前功能交付。Web可运行,Android本地编译通过;并非真机或发行验收。
- 原69–117人日为初始估算基线;取消草稿后不再称作最新剩余工时,后续按正式提交与历史范围重估。60个任务编号不变,ASSESS-002用途更新为正式评估记录与历史。
### 0.2 2026-09-23 最新进展:正式提交与历史
- 完成POST /assessments(HTTP201固定接受回执)、GET列表/详情/状态;个人/企业正式输入保存至fa_user_info并创建唯一关联fa_ai_chat,不新增表/字段,不执行迁移。
- 无草稿、提交后只读;规范化白名单/金额/枚举/城市/月数校验、本人归属和脱敏。用户行锁+已有唯一索引防重复创建,原请求异内容409,软删除/内部draft不可读。
- 分析任务仍未接通:提交保存资料后明确记录failed/ANALYSIS_NOT_CONFIGURED,前端说明分析暂未开放;不会让记录假装排队或跳固定评分。DeepSeek尚未真实请求,短信和真实产品仍待准备。
- ASSESS-002进入待验收;ASSESS-003/004及REPORT-004进入开发中。提交与历史子流程可用,不将完整融资核心或AI报告标完成。
- 当前界面路径:填写→确认提交资料→真实状态→档案只读详情;历史空态、错误重试、每页20条加载更多、刷新及返回列表已验证。附件/外部授权未开放时明确阻止提交,选择不被静默丢弃。
### 0.3 2026-09-23 最新进展:DeepSeek、分析任务与失败重试
| 内容 | 当前结果 | 边界 |
| --- | --- | --- |
| 模型 | Pro/Flash指定版本均真实连通;默认Flash已生成个人/企业自填报告 | 不自动回退;不代表商业预算或余额确认 |
| 分析任务 | 数据库预留→提交后Redis派发→独立worker→报告落库;并发抢占、补投及租约恢复 | 过期任务失败,不自动重复收费调用;生产守护未部署 |
| 重试与报告API | POST /assessments/:id/retry HTTP202;GET /assessments/:id/report;归属、原任务回执幂等、每日额度/次数上限 | 初次提交回执仍HTTP201不变;超时可能产生用量 |
| 报告与界面 | 真实事实/定性解释/缺失项;万元精确展示;失败重试、档案跳转、刷新恢复;移除固定85分与雷达 | 当前仅自填资料,overallScore=null,匹配明确未执行 |
| 安全与调用 | 白名单事实输入;不发姓名/手机号/证件/企业名/自由文本;日志仅安全错误与用量 | tokens未知为null,语义正确性仍需人工样例验收 |
| 数据库 | fa_user_info增补任务元数据和派发索引,无新表 | 迁移前评估0行;备份见开发文档及后端database/README |
| 测试 | 29项任务检查、15项隔离HTTP检查通过;原54项正式评估、41项基础、14项账户回归通过 | 54项在开启本地模型前运行;开启后该脚本会SKIP,不能算通过 |
| 浏览器/编译 | 本地普通Chromium H5,390×844/1280×900;企业真实重试→报告、精确金额及刷新恢复;Android编译成功 | 微信内H5、Safari、原生真机、生产容量未验收 |
开发默认策略:单用户每日20次预留,单评估最多3次,连接10秒/调用90秒,执行租约180秒,Redis reserved240秒。配额为可配置开发默认,商业策略和月预算仍待DEC-AI确认。金额只由服务端事实字段生成,中文/全角数值改写也会被报告校验拦截。测试所用合成账号会清理,原会员账号及密码未修改。
本轮不新增任务编号、不调整60项任务的基线工时。REPORT-001/002与ASSESS-003进入待验收;REPORT-003完整产品/外部数据范围仍阻塞,REPORT-004仅自填支线已联调,保持开发中。
### 0.4 2026-09-23 需求与评估结果契约补充(历史阶段:文档已完成,业务未实施)
新增[需求与评估结果数据契约](需求与评估结果数据契约.md):inputVersion=2需求字段、完整度字段集和公式、准备等级建议与发布闸门、准入三态和证据、报告resultVersion=2、历史兼容及任务快照。已参考旧说明书/原型,不覆盖用户后续确认的技术栈、无草稿和存储约定。
| 子范围 | 任务 | 本轮产物 | 新增业务状态/依赖 |
| --- | --- | --- | --- |
| 需求字段/版本/迁移 | ASSESS-001/002/003/004 | 四字段及DB映射、用途草案、旧键重放/历史NULL、新旧版本发布顺序 | 未开始;DEC-DEMAND待确认 |
| 完整度/准备等级 | REPORT-003/004 | 建议等权字段集、计数规则、一致性与非授信等级、未发布不出分 | 未开始;DEC-READINESS待确认 |
| 匹配解释/结果 | PRODUCT-001/002/003/004 | 三态与fail优先、单产品需求覆盖、证据/快照、分页/结果详情及null score/rank | 未开始;DEC-MATCH、真实产品仍阻塞 |
| 任务依据冻结 | ASSESS-003、REPORT-002/003 | analysis_context增量设计、提交时输入字典冻结、执行时策略/产品快照冻结与重试复用 | 未开始;随v2实施并验证 |
整体任务包含v1已实现与v2未开始两部分。ASSESS-002/003、REPORT-002由待验收调整为开发中,表示新增范围尚未完成;不撤销原v1测试证据。其他任务状态保持并补证据说明。文档审阅/静态校验不计业务验收,本轮无代码、数据库、模型请求或配置变更。
仍沿用60个编号和历史基线人日;本次增加的工作没有已确认增量估算,不能直接沿用69—117人日作为最新剩余工期。用途、完整度及等级建议先形成可审阅契约,确认后按任务重估;本轮不自动纳入渠道、注销、RAG、对比/PDF实现。
### 0.5 2026-09-24 融资需求录入、提交与历史(历史阶段)
| 子范围 | 当前结果 | 剩余边界 |
| --- | --- | --- |
| DEC-DEMAND | 用户授权实施契约用途/必填规则,已发布用途版本financing-purposes-20260923-v1,新建最低inputVersion=2 | 后台字典编辑尚未开发,变更配置须提升版本 |
| ASSESS-001/003 | 需求四字段、输入版本、严格校验、同键全字段比较、冻结用途字典/哈希、旧键重放已实现 | 私有附件/正式授权仍未接入,整体保持开发中 |
| ASSESS-002 | v2本人只读历史及冻结标签、v1“当时未采集”已实现并联调 | 改待验收;生产/业务验收待完成 |
| ASSESS-004 | 个人/企业第2步资金需求、确认编辑、提交及历史刷新、无草稿通过 | 微信内H5、Safari、真机及附件授权全链路未验收,整体开发中 |
| REPORT-002 | 提交input_snapshot与inputHash已实现,失败重试不覆盖 | execution_snapshot和报告v2策略/产品快照待做,整体开发中 |
| 数据库 | 2026-09-23备份后执行6列、3 CHECK共9变更,无新表;迁移前两表均0行,复跑预检0 DDL | 恢复点见开发文档0.5,不覆盖后续业务数据 |
| 报告边界 | inputVersion=2仍生成resultVersion=1自填报告;本轮用假模型验证,无真实模型调用 | DEC-READINESS、DEC-MATCH及真实产品仍待准备;需求尚不参与分析/匹配 |
专项76项(9月24日)及基础41项、任务29项、HTTP15项(9月23日)通过;H5手机/桌面、Web和Android编译证据见6.5。旧54项评估测试未作为本轮证据:它测试v1新建,在新门槛和分析开关下不适用。60个任务编号和历史基线人日保持不变,新增范围实际剩余工时待重估,不计算整体完成率。
### 0.6 2026-09-24 完整度、准备状态与报告v2(实施阶段记录)
| 子范围 | 实际结果 | 状态/剩余边界 |
| --- | --- | --- |
| DEC-READINESS | 按用户继续下一步授权,采用契约等权字段及三状态;开发版self-reported-base-20260924-v1已发布 | 业务人工样例及生产验收待完成 |
| REPORT-002 | 新提交冻结targetResultVersion,首次执行冻结策略和摘要,重试不改;旧目标保持v1 | 自填快照子项待验收;真实产品/规则/排序快照、生产守护未完成,整体开发中 |
| REPORT-003 | 个人14/企业9项、other条件分母、零值/none、invalid优先、整数舍入、依据引用、报告v2原子落库 | 自填子项已联调;真实产品、外部查询、v2真实模型语义仍待验收;完整范围仍阻塞 |
| REPORT-004 | 需求概况、逐项完整度、准备依据、AI证据标签、固定风险;v1和未发布策略兼容 | 手机/桌面H5通过;微信内/Safari/真机未验收,整体开发中 |
| 数据与环境 | 复用现有analysis_context和report_data,无迁移/新表;未处理现有会员任务 | 本轮只用假模型/合成数据,无真实模型调用,密钥配置未改 |
54项报告专项、76项需求、41项基础和15项HTTP通过;Web/Android本地编译通过,详见6.6。原29项任务回归保留9月23日证据,本轮未运行含全库恢复扫描的脚本,避免影响现有业务processing记录。60个任务编号和历史基线工时不变,不推算整体完成率。
### 0.7 2026-09-24 报告v2真实模型验证
已按用户授权完成真实TokenHub调用:初始Flash个人/企业两例AI_INVALID_REPORT;修正提示词及中文数值约束后,Flash个人缺失/企业完整/个人矛盾三例、Pro企业other一例均通过格式和逐条语义检查。新增可复用的显式--live测试脚本,使用内存合成资料,不创建会员/评估或处理现存任务。
本轮58项报告回归通过;6次真实调用合计输入9369/输出2373 tokens(包含失败调用),费用以供应商账单为准。完整证据与输出见[报告v2真实模型验证](报告v2真实模型验证.md)。REPORT-001保留待验收,REPORT-003完整产品/外部数据范围仍阻塞,REPORT-004仍开发中;4个修正样例通过不代表生产稳定性或业务签收。
### 0.8 2026-09-24 评估与报告异常流程验证
完成排队/分析状态区分和长等待提示,修复分析页重试与刷新竞争、查询失败后旧按钮残留。后端31项任务、36项v2 HTTP、76项需求、58项报告检查通过,共201项;普通Chromium H5验证双击重试、回执丢失后的同键回放、报告刷新与历史跳转。Web和Android编译通过。详见6.9节。
本轮使用合成账户/假模型,没有调用收费模型;测试完成后账户、会话、队列已清理,原1个会员及2条成功评估保留,后台分析进程已恢复。ASSESS-002仍待业务验收,ASSESS-003/004与REPORT-002/004保留整体开发中;私有附件授权、真实产品、其他渠道和生产守护不在本次通过范围内。
### 0.9 2026-09-24 原型04—10改造及产品规则开发
已补[逐页清单与跳转方案](原型04-10页面改造与跳转方案.md):04/05/06复用产品详情,新增07对比和10行动两页,08明确报告/产品问答上下文,09补三栏和PDF;路径、参数、返回、公共/历史数据边界、异常及验收均已定义。当前pages.json仍25页,计划目标27页,未把文档路由标成已实现。
正式新增PRODUCT-005、REPORT-005、REPORT-006,共5—8.5工程人日,任务总数63。原69—117是历史估算,不代表当前剩余;已有页面任务的增量仍需复估。对比/PDF的旧“另行排期”说明由本轮用户明确授权覆盖。
PRODUCT-001/002进入开发中:采用既有三态、单产品覆盖、无评分和稳定ID排序作为开发口径;已完成纯硬规则计算基础及64项内存测试,详见[规则开发契约](产品匹配规则开发契约.md)。实际排序、目录筛选、产品来源/发布、冻结持久化、模型解释、API和页面仍未实现。当前无需生图;后续确需图片时使用用户指定img2-right.py方法。
### 0.10 2026-09-24 产品发布预检与字段编译
PRODUCT-003进入开发中:新增ProductPublication及Product模型发布校验,补齐来源、用途、范围、有效期和城市代码预检;支持局部更新、批量回滚及服务端版本递增。PRODUCT-002补齐按个人/企业编译规则和不适用依据。全国/现有5城市精确匹配可编译,省区覆盖尚不支持。
73项发布/编译、16项模型事务、64项规则和41项基础回归全部通过,共194项;合成记录回滚,正式worker保持运行。未修改前端页面或后台模板,未迁移数据库、发布产品或调用模型。完整JSON和限制见[规则契约](产品匹配规则开发契约.md)第6节。
产品来源真实性、首批真实资料及业务验收仍待DEC-PRODUCT;后台结构化编辑、公共查询、目录冻结/排序/理由模板、正式评估集成和04—10页面改造未完成,不标记整模块完成。
### 0.11 2026-09-24 匹配任务落库与本地演示产品(最新)
用户明确允许当前本地项目直接录入/上架样例,已新增6条演示产品(ID22—27)并验证重复录入不新增、不覆盖。PRODUCT-002补齐目录冻结、稳定排序和理由模板,REPORT-002/003接通正式任务及结果同事务落库;新评估使用已上架目录,旧报告/旧冻结失败任务不补算。
报告适配器已读取后端匹配统计和演示提示,后端465项检查通过,Web/Android编译及H5报告→刷新→历史导航通过。匹配列表/详情接口、04—10页面及真实业务验收仍待实施,未将整模块改为已完成。下一步先接只读匹配接口,再改造产品详情和匹配页面。
### 0.12 2026-09-24 匹配读取接口与03/04/05/06页面基础接入
已新增本人匹配分页、匹配详情、会员可读公共产品详情三个GET接口。读取既有快照,不重跑模型或规则;先验证评估归属与成功状态,再解析绑定账户/评估/结果摘要/分组的加密游标。当前产品下架、过期或删除只改变currentAvailability,历史参数与理由保持不变。公共详情不附个人判定、理由或事实。
报告新增“查看本次匹配与依据”;匹配列表展示三态分组、真实统计、默认三项分页、失败重试和演示标记;详情改为匹配解释/产品详情/申请条件三栏,金额及事实以万元展示,取消固定匹配百分比。已满足理由可展开,不符/待核实理由完整保留;AI解释未生成时明确提示。无评估入口引导历史或新评估,不猜测最近记录;越权不回退公共产品。
PRODUCT-004记为开发中,不能标整项完成:07对比、08上下文助手、09报告三栏/PDF、10行动页及单产品AI解释仍待开发。当前“查看资料准备说明”仅切换条件栏,不提交申请;返回重新鉴权读取列表首屏,精确滚动位置恢复与登录后原路返回待后续完善。真实产品资料/人工金标准及微信内H5、真机验收仍未完成。具体接口见规则契约第8节,验证见进度6.13。
### 0.13 2026-09-28 融资档案恢复原卡片布局
按用户确认,融资档案恢复个人/企业切换、完整度卡片和四组资料入口,新增历史记录选择;保留无草稿、提交后只读及多次评估分别存档的规则。默认展示所选类型的最新记录,可分页切换较早记录;显式assessmentId刷新后重新鉴权查看原记录,错误不回退到最新记录。数据分组展开查看,底部进入同次报告/分析状态或空白新评估。
完整度仅取本人成功报告的冻结percent,不从当前字段重算;无记录、旧版未计算、分析中/失败、未评定及读取错误使用“—”和对应说明,不能显示成0%。各组“已记录”仅指存在已提交字段,不等同该组完整或信用核验。资料与授权保持未开放。金额仍精确显示万元。代码位于archive/archive.uvue和services/records.uts,复用已有后端type过滤与读取API,本轮无后端业务修改、迁移或新增表。
### 0.14 2026-09-28 个人中心入口去重
个人中心顶部“评估记录/查看”改为图标+“开始评估”,先选择个人/企业,再进入对应融资入口;“评估报告/查看”改为图标+“最近报告”。菜单“我的融资档案”继续作为个人/企业历史、已提交资料和对应报告的管理入口。
最近报告通过已有GET /assessments?status=succeeded&limit=1查询本人所有类型中最近提交且已成功的记录,携带assessmentId直接打开报告;不被较新的未完成评估遮挡。无成功记录才查询status=processing&limit=1,提示“报告生成中”并可查看同次进度;两者都无则提示暂无报告,可发起评估,失败记录仍在融资档案查看。请求异常提示重试,不假装没有报告。查找不创建评估、不重跑分析、不缓存个人报告。
账户分包新增latest-report.uts服务,仅依赖共享请求,不跨包导入融资服务。未登录先登录,查找中防重复,离页/Token变化后丢弃迟到响应和弹窗回调。沿用既有edit-file/file-text图标,与积分中心统一样式,无新增页面或后端接口。
### 0.15 2026-09-28 原型07产品对比基础完成
PRODUCT-005新增compare页面,注册页数由25变为26。匹配列表与本次产品详情可选择最多3项,支持跨分组选择;正式对比需2—3项,0/1项仅作补选状态。URL按顺序保存assessmentId和productIds,移除会替换URL,刷新重新鉴权。选择ID只存在按账户会话/评估隔离的内存中,不新增草稿、持久个人缓存或数据表。
每列复用GET /assessments/:id/matches/:productId,最多三项并行;校验响应assessmentId、产品ID、resultVersion、catalogSnapshotId、ruleVersion和orderingPolicyVersion。错误列独立重试,版本不一致的列不展示参数,完整对比必须所有列读取成功。越权/不存在不回退公共产品,不重跑规则或模型;401清理显示并转登录,离页/会话变化丢弃迟到响应。
指标包括需求覆盖证据、额度、期限、年化利率、主体/地区、三类条件理由、准入规则、材料、还款方式、渠道、有效期与来源。历史参数和当前可用性分开显示,金额精确转万元,缺值显示未提供;未结构化的还款方式/渠道不猜测。首列固定,手机横向滚动,桌面列宽展开;长内容在单元格内滚动。当前仅提供详情/选择入口,不提供申请提交。
状态为待验收:本地编译及合成账户真实读取接口验证完成,真实机构产品签收、微信内H5/Safari与真机仍待验收。详细证据见开发进度6.16。下一步为REPORT-004报告三栏,PDF、上下文助手及行动页独立开发。
### 0.16 2026-09-28 原型09报告三栏基础完成
REPORT-004页面子项完成本地联调:report/report改为评估概况、匹配结果、改善建议。URL中的tab限定overview/matches/improvements,默认overview;切栏替换当前路由,刷新恢复栏目并重新鉴权读取本人报告,不创建评估或重跑模型。无前页时返回融资档案;产品与匹配入口始终携带当前assessmentId。
概况保留冻结需求、准备状态、真实完整度进度条、生成时间、自填来源、AI摘要/优势、风险与免责声明;事实及逐项完整度可展开。v1明确提示当时未采集/未计算,百分比显示“—”;v2未评定与实际0%分开,不用当前规则补算历史。
匹配栏从报告读取三态统计,复用GET /assessments/:id/matches?eligibility=eligible&limit=3展示最多3项候选,提供完整列表及不符/待核实入口。改善栏组合缺失/待核实字段、准备依据、已保存AI建议及不符/待核实分组各前3项产品证据,关联产品详情并标明摘要边界;没有依据不补造建议。不符条件仅解释现状,不承诺改善后获批。
报告与列表校验assessmentId、resultVersion、catalogSnapshotId、ruleVersion、orderingPolicyVersion及三态统计;不同版本不拼接。候选和两个建议分组分别加载/重试,局部失败不隐藏已保存报告,也不显示为零候选。按可见栏目请求,概况不请求产品;离页/Token变化丢弃旧响应,401清空内容并回登录。修复匹配列表返回时的卸载挂载冲突:先关闭内容渲染,再清空资料。
继续无草稿。“重新评估”选择个人/企业并清空当前流程内存,进入空白填写页;只有再次正式提交才创建新assessmentId。页面仍26个,未改后端业务、未迁移、未调用收费模型。PDF(REPORT-005)、下一步行动(REPORT-006)与上下文助手按独立任务推进,未展示虚假可用按钮。REPORT-004整体仍开发中,真实产品/外部渠道与微信内H5、真机尚未验收;证据见开发进度6.17。
### 0.17 2026-09-28 原型04/05与单产品AI解释
本轮优先完成04、05,复用product/product的eligible/ineligible/unknown三种状态。按原型恢复紧凑机构信息、AI解释/产品详情/申请条件三栏、绿色序号理由、橙色注意事项和底部双按钮;额度/年化/期限移入产品详情。每组默认最多三条,可展开全部和逐条依据。非候选的绿色区域称“已满足的条件”,不把部分满足理解为推荐。无真实Logo时沿用通用机构图标,演示产品保留标记。
新增已实现POST `/api/v1/assessments/:id/matches/:productId/explanation`,Bearer鉴权,JSON体仅`requestId:string`(8—64位字母/数字/下划线/短横线);HTTP200回传与GET匹配详情相同的data,异步状态为queued/running/completed/failed,首次未请求为not_requested。GET只读;仅点击生成/重试调用POST,不自动重跑评估。状态和逐条解释保存在fa_ai_chat.match_result,fa_ai_chat_log预留并记录调用,无新表和迁移。完整接口与故障边界见[产品匹配契约第9节](产品匹配规则开发契约.md)。
复用analysis:work消费持久调用日志;同产品并发/成功缓存/相同请求键重放不重复调用,每评估每产品最多三次尝试,与报告共用每日用户调用额度。租约失效明确失败,手动新键重试;旧回复只补用量,不覆盖新任务。DeepSeek仅解释该产品冻结理由,逐条引用由服务端绑定;模型输出允许调整顺序,按理由ID校验无缺失/重复/外来项后恢复规则顺序。禁止模型输出数值与授信承诺。
已完成本地验证,PRODUCT-004整体仍开发中;原工时/依赖与63个任务编号不变。原型08上下文咨询和10行动页未完成,当前底部为产品对比、产品详情及资料准备说明,不提供假咨询/假申请。真实产品/人工业务金标准、微信内H5/Safari及真机仍待验收。
### 0.18 2026-09-28 原型08上下文AI助手
CHAT-001—003已实现持久会话、消息分页、固定评估/产品上下文、异步回复、原键重试和页面接入,状态待验收;CHAT-004本地异常/额度检查通过,整体仍开发中。普通问答及04/05产品、07对比、09报告入口已接通,进入页面不调用模型,快捷问题只填入输入框。关键实现增加中文注释,保留26个页面和63项任务。
经本轮用户明确授权,后端fa_ai_chat新增context_assessment_id/context_data及归属约束,正式assessment_id/analysis_context和已有报告不改写。模型调用默认Flash,复用analysis:work,助手/报告/产品解释共用每日预留额度。完整接口、重试、迁移恢复和验证见[上下文AI助手开发契约](上下文AI助手开发契约.md)。下一步为原型10及09 PDF;08真实多轮语义/真机与生产容量仍需验收。
### 0.19 2026-09-28 原型10下一步行动
REPORT-006页面与入口已完成本地联调,状态待验收。新增`packages/finance/next-step/next-step`,当前27个页面、63项稳定任务。界面按原型采用白底、蓝色图标、四个行动行、重要提示和首页按钮;关键守卫与业务边界有中文注释。
本人成功报告与冻结产品只读展示;仅eligible且当前available展示申请准备材料,进入/返回/刷新重新读取状态,快照不一致时关闭准备。未选产品回本次匹配,不符/待核实/不可用可查看报告、优化资料与咨询。材料与来源使用冻结数据,渠道未提供时明确说明,不提交银行申请、不增加PDF假操作。
优化资料先展示待补/待核实项与已存建议,再清空流程内存进入同类型空白表单;不覆盖历史。AI咨询携带评估和可选产品,进入不发送。支持白名单登录返回、归属复验、离页清空及迟到响应隔离;冷启动返回本次报告,首页reLaunch。
H5 Chromium手机/桌面38项检查与最终Android/微信编译通过;详见进度6.20。复用已有API,未改后端业务、未迁移、未调用收费模型。下一步为09 PDF;08真实多轮语义、真实产品、微信内H5/Safari和真机仍未验收。
### 0.20 2026-09-28 原型09报告PDF导出
REPORT-005完成本地实施,状态待验收。09报告顶部与10行动页接入同一下载组件;用户点击后才以Bearer请求`GET /api/v1/assessments/:id/report.pdf`,不提供永久公开链接、不重跑模型、不修改已存报告或产品。27页、63项任务不变。
后端复用本人成功报告与全部冻结匹配快照,模板包含需求、概况、结构化事实、完整度/准备状态、匹配三态/产品理由、建议、版本、时间和免责声明;旧v1不补造v2指标。排除身份、联系方式、企业名和自由填写内容,纯文本转义;引擎禁止远程资源、脚本和任意文件读取。精确元字符串转万元,PDF中文字体嵌入,页脚编号、长理由分页。
导出引擎Dompdf3.1.6及传递依赖单独锁定在后端extend/report-pdf,中文Noto Sans SC Sans2.004固定400字重、字体来源/哈希/许可入库;根依赖不变,无迁移。成功响应application/pdf、no-store/private、安全文件名;401/404/409/503为JSON。引擎缺失/关闭明确503,不生成空文件。
H5检查状态、MIME及PDF首尾标识后创建Blob下载;失败可重试且保留报告,离页取消、换账号拒绝迟到文件并清空旧报告,401白名单回登录。首版普通H5开放;微信内浏览器提示“在浏览器打开并重新登录下载”,App/小程序明确未开放,不假报成功。真实Safari/微信/原生下载未验收。
29项PDF检查、20项真实HTTP检查、24项浏览器检查及Android/微信编译通过,样本渲染和文字提取通过;证据与局限见开发进度6.21。下一步为08真实多轮语义、真实产品样例及跨浏览器/真机验收,生产导出容量仍需评估。
### 0.21 2026-09-29 原型08真实模型小样本与回复修复
6次Flash真实助手调用全部返回,覆盖普通2轮、报告1轮、单产品1轮、对比2轮;金额精度、三态、历史承接及拒绝改判核心表现正确。输入16038、输出1432 token;不自动重试。部分演示产品建议容易被理解为真实申请流程,已收紧提示词;修改后的提示词未追加付费复测,完整语义验收仍未通过。
修复正常否定句误拦风险及常见Markdown列表原样显示。70项助手回归、18项解析+6个真实响应离线回放、20项合成流程检查通过。原始真实调用只有6次,离线回放不计真实调用。详见[真实语义验收记录](AI助手真实语义验收.md)和开发进度6.22。CHAT-001—003待验收、CHAT-004开发中,27页、63项任务不变;无前端改动或迁移。
### 0.22 2026-09-29 原型08定向复测与金额守卫
追加4次Flash定向调用,演示产品无实际申请流程、口头改金额/自称核验不改原报告的边界通过小样本检查;其中3条将123456.78元写为12.35万元,完整语义验收仍未通过。输入19089、输出988 token,无自动重试。
新增冻结金额白名单与BCMath精确换算提示,带单位的金额不合约则拒绝成功落库、保留用量、不自动重试。76项助手、29项金额单测+2组真实响应回放、22项格式解析/回放和14项定向假模型检查通过;新增精确金额提示词尚未再次真实调用。详见[真实语义验收记录](AI助手真实语义验收.md)和进度6.23。CHAT-001—003待验收、CHAT-004开发中;无前端改动、迁移或新增任务编号。
### 0.23 2026-09-29 原型08金额精度真实复测通过
同一对比会话3次Flash真实请求全部成功保存,连续保持123456.78元=12.345678万元;用户口头改为80000元未覆盖当前报告,三态不变。输入16582、输出971 token,无自动重试。源码未改,精确金额专项限定样例通过,下一步转移动端验收。
新增--money-precision三例验收模式;真实/假模型各11项流程检查、30项金额单测与回放、21项格式解析与回放通过。首条原始JSON有相同内容的重复answer键,已核对现行解析及落库只有一份有效回复,不计为全部格式边界通过。详见[真实语义验收记录](AI助手真实语义验收.md)及进度6.24。CHAT-001—003待验收、CHAT-004开发中;真实产品、跨平台和生产容量未验收。
### 0.24 2026-09-29 原型07/08/09首屏层级调整
按用户限定范围实施:08上下文默认一行摘要、点击展开,历史入口弱化,问候/机器人/快捷问题/输入区保留;07首屏并排显示三态、额度、期限和年化利率,完整宽表依据按需展开;09压缩编号、日期和导出说明,准备状态采用浅色紧凑卡,改善项前置。ReportExport的compact默认为false,10的导出布局保留。
H5受控合成响应完成360×780、390×844、1280×900视觉与交互验证;08摘要高度41.5px(此前约131px),三态/演示标记/来源链接展开可见。对比失败列重试、当前不可用提示、报告三栏/读取重试、PDF成功与失败反馈通过;最终无浏览器error/warn及框架遮罩。修复报告离页时条件文本重新挂载的H5错误。Android、微信小程序最终编译通过;不等同真机或真实API端到端验收。未改后端/数据库、未调用真实AI,详见进度6.25。
### 0.26 2026-09-29 宝塔 PHP 部署与域名切换
已按用户要求通过 Playwright 操作宝塔“网站→添加站点”部署 PHP。当前域名 https://aitest.ychysg.cn,API 前缀 /api/v1,后台 /ZYurKboadX.php;旧 xctai.cn 绑定已移除,内部站点名及目录仍 /www/wwwroot/xctai.cn,Web 运行目录为 public。新域名 DNS 指向 111.230.144.231,Let's Encrypt 证书已部署,2026-12-28 到期;HTTP 强制跳转 HTTPS,外网默认信任校验通过。面板续签任务正常、每天04:38执行,尚未经历到期续签。
PHP7.4.33及十项扩展、Redis7.2.16、远程 airz-analysis worker 已运行并开机启动。生产 .env 同机连接既有 MySQL5.7.44/airz,未重新导库;原资料加密/模型配置保留、debug关闭。已停止本机 worker PID1876,当前由远程 systemd 接管,最后 PID566317/NRestarts0;后续重查,禁止直接恢复本机 worker 并跑活动库。
新域名 HTTPS 39项检查通过,含两份历史报告161/229、金额/解密/助手上下文、鉴权HTTP、两份PDF及临时Token撤销;外网公共接口200、匿名401、后台登录页200、敏感路径404。部署包和检查脚本已归档到服务器 /root/airz-deploy-20260929/deployment-artifacts/。本轮未发收费AI调用、未改写报告,不代表H5已发布或真实模型/容量验收。完整运维与恢复见后端 D:/AAdesk/202609/airz/deployment-baota.md。
### 0.25 2026-09-29 数据库切换至远程MySQL5.7
用户确认迁移并补充root后,后端已连接111.230.144.231:3306/airz,真实版本5.7.44-log。25表184行、2份历史评估/报告及产品快照内容摘要与本机源库一致,列/索引/外键/自增序号核对通过。20个CHECK改为8个触发器,51项实际约束检查与24项应用/HTTP检查通过;不改写历史报告、不调用付费模型。
全局log_bin_trust_function_creators临时设1,创建完成恢复0;私密.env仅database段改变,Redis、资料加密和Token散列配置保留。正式worker恢复PID1876(下轮重新检查)。本机MySQL8保留回退,最终备份D:/AAdesk/202609/airz-backups/mysql57-switch-20260929/prepared-20260929-144304/;远程发生新写入后不能直接回切旧库。后端database/mysql57-switch.md含完整记录;不代表真机、真实AI和生产容量验收。
## 1. 项目状态与维护规则
当前已具备25个页面原型、部分本机交互、优化后的数据库结构和评估内部生命周期服务;密码账户基础已完成本地前后端联调,短信、评估、报告、匹配等完整业务仍待完成。AI供应商确定为DeepSeek,模型已确定为deepseek-v4-pro-0813和deepseek-v4-flash-0731,两个模型权限及自填报告已真实验证,商业预算、余额及生产容量仍待核验;其他服务商待定。
一期目标是 **25 个页面全部接入真实业务,H5 优先上线**。短信、微信登录、一键登录、外部征信或数据查询、人工客服均为一期必做项,不能因为服务商未定而视为已完成或从首发范围中静默移除。贷款申请仅包括现有申请准备和资料引导,不含银行受理、授信、放款与还款交易。
初次交付为开发管理文档;其后已启动第0节列出的代码、迁移与验证工作。下文历史基线不等同当前所有功能状态,任务表持续更新。
### 1.1 状态定义
| 状态 | 进入条件 | 离开条件 |
| --- | --- | --- |
| 未开始 | 尚未进入实际开发;存在内部前置任务时仍使用此状态 | 前置任务可用且开始实现后改为开发中 |
| 开发中 | 已有负责人和实际实现活动 | 单元/组件验证可用后进入待联调,或记录具体阻塞 |
| 待联调 | 本模块实现和必要自测已完成,等待跨模块/真实渠道连接 | 联调通过且证据完整后进入待验收 |
| 待验收 | 所有约定测试已执行,等待业务或发布验收 | 验收通过改为已完成;发现问题回到开发中 |
| 已完成 | 范围及验收条件全部满足,具备日期、环境和可复核证据 | 回归发现缺陷时重新打开并记录原因 |
| 阻塞 | 外部资源或业务决策前置未齐,明确列出阻塞编号 | 阻塞解除后按实际工作状态更新,不能直接跳到已完成 |
初始台账仅把**直接缺少外部资源或业务决定**的任务标为阻塞。它们的下游任务暂保留未开始,通过依赖关系表示尚不具备完整实施条件;这不表示下游可以跳过前置独立验收。可开展接口壳、模拟样例等准备工作,但真实渠道验收仍须等待解除阻塞。
P0 表示核心流程、安全、首发外部能力或发布门槛;P1 表示其余一期功能。P1 同样必须在一期上线前完成。负责人“全栈开发(待指定)”代表 1 人全栈+AI 辅助的排期基线;负责人、验收人和服务商对接人须在启动时落实到人。
### 1.2 工时口径与更新规则
- 初始工程量基线为 **69–117 人日**(取消草稿及本轮实现后的实际剩余量待重估),按每周 5 个工作日约 **14–24 周**;不等于承诺上线日期,不含供应商开通、资质、审核与商务等待。
- 每类第三方暂按 1 个服务商估算;能力不足、增加渠道或调整业务范围时,修改受影响任务估算并在更新日志说明。
- 不用页面数、SQL 表数、代码行数计算业务完成率。文档完成也不计为下面 63 个业务任务完成。
- 每次开发结束同步状态、实际证据、日期、依赖变化与下一步;保留原任务编号。任务跨模块时不得重复统计工时。
- 证据优先包含代码文件或版本、脱敏接口记录、测试报告、截图/录屏、第三方请求编号、验收人;不写 Token、验证码、密钥或证件原文。
- 接口与范围调整先同步开发文档,再同步本台账。新增需求单独变更评审,不能通过扩大既有任务标题掩盖新增成本。
## 2. 当前分层基线
“有基础”只说明存在结构或代码,不代表相应真实能力可用。“待开发/联调”说明还需要业务 API、渠道或验收工作。下表按 15 个模块分别记录,避免把原型和数据库迁移视为业务交付。
| 模块 | 页面/交互 | 数据库 | 内部服务/后台 | 业务 API | 第三方 | 真实验收 |
| --- | --- | --- | --- | --- | --- | --- |
| BASE 基础接口 | 请求已接本地API;首页仍为原型 | 通用框架表已有 | v1显式路由及环境配置已有 | Bearer、响应封装和401已接;requestId等待补 | 部署环境待定 | 本地账户基础通过,模块未验收 |
| AUTH 账户安全 | 密码登录/退出/原密码改密已接入;昵称/头像后端持久化 | 用户唯一约束已有;Token仅存Redis | 旧密码兼容、加密和撤销基础已有 | 密码登录、GET/PUT资料、头像上传、退出、原密码改密已实现;短信/换绑待开发 | 短信待定 | 密码基础通过,完整模块未验收 |
| LOGIN 第三方登录 | 微信/一键入口或占位行为 | 身份关联增量设计待做 | 渠道适配待开发 | 待开发 | 微信/一键服务待定 | 未完成 |
| FILE 资料授权 | 选图本机预览、授权勾选与占位说明 | documents/consent_data 仅预留 | 通用公共上传不能代替私有证件服务 | 私有上传、下载、授权事件待开发 | 私有存储待定 | 未完成 |
| ASSESS 评估档案 | 个人/企业填写流程已有;未提交不持久化 | 一次评估一条记录及状态/幂等字段已有 | Assessment 内部服务已有 | 正式提交、状态、历史API已接通;不提供草稿接口 | 依赖上传/授权/数据渠道 | 内部历史测试已有,真实闭环未完成 |
| DATA 外部查询 | 查询选项为意向或占位 | 查询事件持久化待增量设计 | 渠道、回调和对账待开发 | 待开发 | 数据渠道待定 | 未完成 |
| PRODUCT 产品匹配 | 03/04/05/06已接正式快照及公共详情;本地产品为演示资料 | 范围/规则/版本及快照已有 | 发布预检、规则/冻结/排序/持久化已实现 | 匹配分页/详情、公共详情已接;公共列表待开发 | 真实产品及金标准待确认 | 本地接口和H5验证通过;整模块未验收 |
| REPORT AI 报告 | 已接真实自填报告,移除固定评分/雷达 | 报告快照、调用用量及任务元数据已接入 | Redis任务、补投/租约、重试已实现 | 自填报告支线已联调 | 指定Pro/Flash均真实可用 | 完整产品/查询范围未完成 |
| CHAT AI 助手 | 模拟对话 | 会话/消息/使用量字段已有 | 调用、上下文、配额待开发 | 待开发 | 依赖 DeepSeek | 未完成 |
| CONTENT 内容课堂 | 新闻/课程/搜索/首页真实接口,云端进度;FAQ服务端读取 | 原内容表JSON及课程进度关系表正式上线 | 发布/下架/章节编辑/FAQ维护完成 | 隔离/服务器验收通过,真机/多设备待验收 | 原4新闻/3课程按slug导入;FAQ源码未部署 | 开发中,见0.39 |
| MSG 消息中心 | 服务端消息、分类分页、已读及首页红点 | read_at/关联业务字段及唯一事件索引已有 | 通知事件/去重已实现 | 本机/服务器检查通过,真机/多设备待验收 | 无独立外部渠道要求 | 开发中,见0.37 |
| POINT 积分邀请 | 真实余额/规则/流水/签到恢复已接入并完成隔离页面联调,未发行 | 既有业务索引复用;schema期望两字段/两索引,新合成库迁移/恢复通过,原表未迁移 | 五接口/事务/严格HTTP/默认关闭和旧写保护已随5fee3cf部署,正式积分仍关闭 | 主服务238/HTTP输入190/迁移110纯检查、真实HTTP1079项87请求、合成apply/恢复89及只读预检23;页面主流程98项127请求通过 | DEC-POINT待确认,最新见0.51和[积分契约](积分规则与开发契约.md) | POINT-001阻塞,002/004开发中,003未开始 |
| SUPPORT 客服反馈 | 帮助页FAQ、文字反馈、本人记录;客服暂未开放 | feedback处理字段、请求键唯一索引已在隔离库应用 | 反馈闭环及后台白名单处理完成;客服签名待开发 | POST/GET反馈及详情已实现;附件服务未开放 | 人工客服待定 | 反馈开发完成,见0.40;客服未完成 |
| ADMIN 后台运营 | FastAdmin 管理界面已有 | 管理员权限保持,会员组保持删除 | 档案/产品/密钥表单已适配,运营排障待补齐 | 面向管理员的新增能力待开发 | 依赖各渠道状态 | 基础界面修改不等于运营验收 |
| RELEASE 发布验收 | Web/Android 曾完成本地编译 | 本机迁移已有,其他环境须单独设计升级 | 未建立完整首发部署/恢复链路 | 无全量真实联调证据 | 域名/HTTPS/队列部署等待定 | H5 首发、真机和多端发布均未完成 |
### 2.1 已完成基础及证据边界
以下为上一轮已实施的基础建设,不重复计入剩余任务工时。源码存在只能证明实现入口,历史通过记录不能代替之后业务改动的回归测试。
| 基础项 | 2026-09-22 基线记录 | 可复核入口 | 限制 |
| --- | --- | --- | --- |
| 当前数据库结构 | 本地25张InnoDB表;按用户最新决定删除空fa_user_token,改用Redis;此前26表为历史基线 | [数据库约定](D:/AAdesk/202609/airz/database/README.md)、[结构快照](D:/AAdesk/202609/airz/database/schema.sql) | 已核验本地库;根目录旧airz.sql不能作为现状;备份见第0节 |
| 金额与产品范围 | DECIMAL(11,2) 元;前端万元;产品独立额度/期限/利率/准入字段及补充 JSON | [金额转换](../services/money.uts)、数据库约定 | 真实 API 待联调;后台录入按元,移动端展示万元 |
| 评估生命周期 | submit/complete/fail/retry/owned;事务、幂等、失效任务拒绝及所有者过滤 | [Assessment.php](D:/AAdesk/202609/airz/application/common/library/Assessment.php) | 内部服务,不是已上线 API;队列与真实 AI 未接入 |
| 输入与正式结果保护 | 提交后输入冻结;报告与匹配历史快照;正式会话避免按普通聊天删除 | 数据库约定、Assessment 服务、后台现有模型 | 后续 API/后台扩展必须延续,不能绕过生命周期 |
| 安全基础 | 身份证与模型密钥加密、后台掩码、日志脱敏;密码散列兼容和登录升级,改密撤销 Token | [Secret.php](D:/AAdesk/202609/airz/application/common/library/Secret.php)、[Password.php](D:/AAdesk/202609/airz/application/common/library/Password.php) | 私有上传、正式授权、短信和身份渠道仍未完成 |
| 基础校验与测试 | 41项基础测试本轮已回归通过,包含金额、加密、幂等、越权、历史快照、重试、产品版本和会话撤销 | [tests/finance.php](D:/AAdesk/202609/airz/tests/finance.php) | 2026-09-22;不代表全系统或真实第三方通过 |
| 编译与页面金额检查 | 上一轮 Web 与 Android 编译通过;手机 390×844、桌面 1280×900 浏览器检查金额输入、超限、确认、模拟提交和产品显示 | [前端 README](../README.md)、[页面注册](../pages.json);前序任务会话验证记录 | 不是短信/AI/上传真实联调;无 iOS/Xcode 或 Android 真机上线结论;独立历史日志路径未留档,后续回归须新增证据 |
| 迁移与恢复基础 | 本机迁移及仓库外备份已完成 | [数据库迁移说明](D:/AAdesk/202609/airz/database/README.md) | 旧迁移限定业务空表,不得直接用于已有业务数据环境;未完成通用部署和恢复演练 |
### 2.2 全部 27 个页面的验收归属
页面路径以[pages.json](../pages.json)为准。下表记录页面真实业务的主要收口任务;其内部依赖仍需全部完成。当前 27 页均未通过一期真实业务验收。
| 页面 | 注册路径 | 主要任务 | 当前状态 |
| --- | --- | --- | --- |
| 首页 | pages/home/home | BASE-004、CONTENT-002、MSG-003 | 原型布局/真实内容推荐与消息红点 |
| 融资入口 | packages/finance/entry/entry | ASSESS-004 | 原型 |
| 评估填写 | packages/finance/assessment/assessment | ASSESS-004、FILE-004、DATA-004 | 当前流程内存填写/本机图片预览 |
| 评估确认 | packages/finance/confirm/confirm | ASSESS-004 | 元/万元转换、正式提交及网络重试幂等 |
| 分析中 | packages/finance/analyzing/analyzing | REPORT-004 | 按assessmentId轮询状态、失败重试、成功后打开真实报告 |
| 评估报告 | packages/finance/report/report | REPORT-004 | 三栏已接本人冻结报告、匹配候选与改善证据;真实业务及平台验收未完成 |
| 匹配结果 | packages/finance/matches/matches | PRODUCT-004、REPORT-004 | 已接本人冻结结果、三态/分页及对比选择;演示产品联调 |
| 产品详情 | packages/finance/product/product | PRODUCT-004 | 已接原型04/05、历史理由/参数、逐条DeepSeek解释与失败重试;08咨询待接 |
| 产品对比 | packages/finance/compare/compare | PRODUCT-005 | 2—3项冻结对比本地联调通过,真实产品与平台待验收 |
| 下一步行动 | packages/finance/next-step/next-step | REPORT-006 | 四项行动与上下文/返回本地联调通过,真实产品及平台待验收 |
| AI 助手 | packages/finance/assistant/assistant | CHAT-004 | 演示边界、金额专项及0.68上下文/异常会话62项通过;真机/跨平台待验收 |
| 融资档案 | packages/finance/archive/archive | ASSESS-004、REPORT-004 | 本人历史分页、脱敏只读详情、刷新恢复 |
| 启动引导 | packages/account/index/index | BASE-003、AUTH-002 | 原型/本机引导 |
| 登录 | packages/account/login/login | AUTH-002、LOGIN-004 | 未完成真实认证 |
| 个人中心 | packages/account/profile/profile | AUTH-003、POINT-004、MSG-003 | 服务端昵称头像/入口 |
| 修改资料 | packages/account/edit-profile/edit-profile | AUTH-003 | 昵称/头像已接服务端持久化 |
| 账户安全 | packages/account/security/security | AUTH-004 | 入口与客户端校验 |
| 修改密码 | packages/account/password/password | AUTH-004 | 原密码改密已接通;短信未开放 |
| 换绑手机 | packages/account/change-phone/change-phone | AUTH-004 | 真实服务未接通,不模拟成功 |
| 积分中心 | packages/account/points/points | POINT-004 | 服务端余额/规则/任务/流水及签到原键确认,隔离联调通过、未发行 |
| 消息中心 | packages/account/messages/messages | MSG-004 | 服务端分页/已读与原版本跳转 |
| 搜索 | packages/content/search/search | CONTENT-004 | 服务端分类/分页搜索 |
| 帮助与反馈 | packages/content/help/help | CONTENT-004、SUPPORT-004 | 本地 FAQ,客服未开放 |
| 新闻列表 | packages/content/news/news | CONTENT-002 | 真实分类/分页接口 |
| 文章详情 | packages/content/article/article | CONTENT-002 | 真实详情/不可用状态 |
| 融资课堂 | packages/content/classroom/classroom | CONTENT-002、CONTENT-003 | 真实分类/分页接口 |
| 课程详情 | packages/content/lesson/lesson | CONTENT-003 | 整篇连续阅读/课程已读/版本保护 |
## 3. 里程碑与依赖顺序
里程碑按验收结果推进,不预填实际日期。单人实施按依赖顺序排队;第三方选型、申请和材料准备在 M0 启动,其等待时间可穿插内部模块。各阶段人日仅合计归属模块,不再次累加前序工时。
| 里程碑 | 范围 | 工程人日 | 累计工程人日 | 进入/退出门槛 | 当前状态 | 实际开始/完成 |
| --- | --- | --- | --- | --- | --- | --- |
| M0 契约与接入准备 | BASE;同步发起全部外部资源和业务决策收集 | 3–5 | 3–5 | 契约、认证/响应、环境和缓存隔离可用;首页骨架具备联调入口;依赖有责任人与清单 | 未开始 | 待记录 / 待记录 |
| M1 账户与资料闭环 | AUTH、LOGIN、FILE | 14–25 | 17–30 | 真实账户、账户安全、微信/一键支持场景、私有上传与版本授权验收完成 | 未开始,存在直接外部阻塞 | 待记录 / 待记录 |
| M2 融资核心闭环 | ASSESS、DATA、PRODUCT、REPORT | 25–41 | 42–71 | 个人/企业各完成真实评估、授权查询、确定性匹配、DeepSeek 报告与历史;失败恢复可用 | 开发中,正式提交/历史/自填分析已联调;产品和外部渠道仍阻塞 | 待记录 / 待记录 |
| M3 全部页面业务化 | CHAT、CONTENT、MSG、POINT、SUPPORT、ADMIN | 20–35 | 62–106 | 助手、内容、课堂、搜索、消息、积分邀请、反馈和人工客服及运营后台验收通过 | 开发中;助手/内容/消息后端已部署,FAQ/积分/反馈客服及业务验收待完成 | 待记录 / 待记录 |
| M4 H5 验收上线 | RELEASE | 7–11 | 69–117 | 全部一期任务验收;普通 H5/微信内 H5 与渠道支持矩阵通过;部署恢复演练和发布记录完整 | 未开始,部署资源待定 | 待记录 / 待记录 |
后续多端里程碑不计入上述 69–117 人日,也不属于一期 H5 验收:微信小程序需平台 AppID、隐私配置、授权/支付无关能力复核、包体与真机测试和提审;Android 需签名、真实设备与网络/权限适配、渠道材料;iOS 需 macOS/Xcode、签名、真实设备、隐私材料和审核。具体范围、顺序与工时在 H5 稳定后另行确认,不能拿历史本地编译代替发布。
## 4. 60 项任务台账
每模块分“计划与状态”和“验收记录”两张表,任务编号一一对应。依赖列只列直接前置任务;直接外部/业务阻塞在第 5 节统一维护。以下均为剩余业务工作,历史基础不重复生成任务。
### BASE|基础接口与环境
归属 M0,剩余 3–5 人日。
| 任务编号 | 任务 | 范围 | 优先级 | 直接依赖 | 预计人日 | 状态 |
| --- | --- | --- | --- | --- | --- | --- |
| BASE-001 | 接口契约与字段字典 | 定义版本路由、响应、错误、分页、ID、金额、时间及接口状态;确认前后端字段映射。 | P0 | 无 | 0.5–1 | 开发中 |
| BASE-002 | 统一请求与认证适配 | 统一共享/账户请求;后端识别 Bearer;解析业务失败和401;限定 CORS;记录 requestId。 | P0 | BASE-001 | 1–1.5 | 开发中 |
| BASE-003 | 环境与用户缓存隔离 | 开发/测试/生产配置;生产禁用 mock;会话等账户缓存按不可变 userId 隔离;未提交表单只存当前流程内存。 | P0 | BASE-002 | 1–1.5 | 开发中 |
| BASE-004 | 首页和联调骨架 | 首页接入聚合数据、加载/空态/失败重试及登录回跳;建立接口冒烟入口。 | P1 | BASE-002、BASE-003 | 0.5–1 | 待验收 |
| 任务编号 | 负责人 | 验收条件 | 证据 | 更新时间 |
| --- | --- | --- | --- | --- |
| BASE-001 | 全栈开发(待指定) | 接口样例可同时被 PHP 和 UTS 解析;区分占位接口与后端现有实现。 | 已实施子集和验证见第0节;完整任务未验收 | 2026-09-22 |
| BASE-002 | 全栈开发(待指定) | HTTP 200 中业务失败不判成功;过期 Token 清会话;普通业务按所有者鉴权。 | 已实施子集和验证见第0节;完整任务未验收 | 2026-09-22 |
| BASE-003 | 全栈开发(待指定) | 切换账户无串数据;旧草稿键清理且不恢复;退出清理敏感缓存和临时填写内容。 | 已实施子集和验证见第0节;完整任务未验收 | 2026-09-22 |
| BASE-004 | 全栈开发(待指定) | 深链接与刷新正确恢复;首页无硬编码账户数据;真实未读数由 MSG 聚合接口接入。 | 源码完成见0.53;隔离数据库回归未运行,未做业务验收 | 2026-10-04 |
DEC-DEMAND已确认并发布,需求录入/提交/历史子范围已实现;其他既有前置任务不变。
### AUTH|账户与短信安全
归属 M1,剩余 5–8 人日。
| 任务编号 | 任务 | 范围 | 优先级 | 直接依赖 | 预计人日 | 状态 |
| --- | --- | --- | --- | --- | --- | --- |
| AUTH-001 | 短信接入与验证码服务 | 供应商适配、签名模板、验证码用途/有效期/频控/核销、测试发送。 | P0 | BASE-002、EXT-SMS | 1–2 | 阻塞 |
| AUTH-002 | 真实登录与会话 | 短信登录/首次注册、密码登录、资料读取、登出、禁用账户、旧密码散列升级。 | P0 | AUTH-001、BASE-003 | 1.5–2 | 开发中 |
| AUTH-003 | 资料与头像持久化 | 昵称、头像 API 和文件校验;以服务端 profile 为准,迁移本机回显逻辑。 | P1 | AUTH-002 | 1–2 | 开发中 |
| AUTH-004 | 改密与手机换绑 | 登录校验、原/新手机双挑战、号码占用、事务及全部会话撤销;修复旧改绑免登录声明。 | P0 | AUTH-002 | 1.5–2 | 开发中 |
| 任务编号 | 负责人 | 验收条件 | 证据 | 更新时间 |
| --- | --- | --- | --- | --- |
| AUTH-001 | 全栈开发(待指定) | 发送成功才倒计时;验证码过期、复用、跨用途和频繁发送均拒绝。 | 未验收;无真实业务验收证据 | 2026-09-22 |
| AUTH-002 | 全栈开发(待指定) | 真实账户登录成功;登录失败无假 Token;登出撤销当前 Token;旧散列兼容。 | 已实施子集和验证见第0节;完整任务未验收 | 2026-09-22 |
| AUTH-003 | 全栈开发(待指定) | 不同设备资料一致;昵称不覆盖评估实名;头像不依赖临时路径。 | 0.75后端资料268项/76次HTTP及0.74受控H5组合103项/微信Android编译通过;真机/跨设备/正式验收待补 | 2026-10-06 |
| AUTH-004 | 全栈开发(待指定) | 跨账户或单个验证码不能换绑;修改后旧 Token 全失效;新密码8–32位且含字母和数字。 | 0.75会话281项/69次HTTP含全Token撤销/故障回滚/并发及0.74前端检查通过;供应商双挑战/真机/正式验收待补 | 2026-10-06 |
直接阻塞:AUTH-001 → EXT-SMS。
### LOGIN|微信与一键登录
归属 M1,剩余 5–10 人日。
| 任务编号 | 任务 | 范围 | 优先级 | 直接依赖 | 预计人日 | 状态 |
| --- | --- | --- | --- | --- | --- | --- |
| LOGIN-001 | 登录渠道能力与身份方案 | 确认微信内/普通H5方式、号码认证H5能力;定义渠道身份与手机号账户绑定方案。 | P0 | BASE-001、EXT-WX、EXT-ONE | 1–2 | 阻塞 |
| LOGIN-002 | 微信登录接入 | 授权发起、state校验、code服务端交换、首次手机号绑定与已有账户冲突处理。 | P0 | LOGIN-001、AUTH-002、EXT-WX | 1.5–3 | 阻塞 |
| LOGIN-003 | 一键登录接入 | 号码认证SDK/网页流程、服务端验证、能力检测、账号绑定、短信回退。 | P0 | LOGIN-001、AUTH-002、EXT-ONE | 1.5–3 | 阻塞 |
| LOGIN-004 | 身份渠道联调 | 微信内、普通移动H5和桌面H5分别验证;解绑/冲突与失败恢复按已选渠道能力实现。 | P0 | LOGIN-002、LOGIN-003 | 1–2 | 未开始 |
| 任务编号 | 负责人 | 验收条件 | 证据 | 更新时间 |
| --- | --- | --- | --- | --- |
| LOGIN-001 | 全栈开发(待指定) | 形成渠道支持矩阵、回调和身份唯一键方案;不以昵称/openid跨应用猜测同一账户。 | 未验收;无真实业务验收证据 | 2026-09-22 |
| LOGIN-002 | 全栈开发(待指定) | 授权取消和重放安全失败;绑定现有账户需原账户证明;获批H5场景真机通过。 | 未验收;无真实业务验收证据 | 2026-09-22 |
| LOGIN-003 | 全栈开发(待指定) | 按渠道支持的网络/运营商/浏览器验收;客户端自报手机号不能登录。 | 未验收;无真实业务验收证据 | 2026-09-22 |
| LOGIN-004 | 全栈开发(待指定) | 身份关联不误合并账户;重放无效;不支持场景有清晰短信回退。 | 未验收;无真实业务验收证据 | 2026-09-22 |
直接阻塞:LOGIN-001 → EXT-WX、EXT-ONE;LOGIN-002 → EXT-WX;LOGIN-003 → EXT-ONE。
### FILE|资料与授权
归属 M1,剩余 4–7 人日。
| 任务编号 | 任务 | 范围 | 优先级 | 直接依赖 | 预计人日 | 状态 |
| --- | --- | --- | --- | --- | --- | --- |
| FILE-001 | 私有资料存储方案 | 区分公开头像与私有证件;确定文件白名单、大小限制、存储密钥、附件元数据与保留策略。 | P0 | BASE-001、EXT-STORAGE、DEC-PRIVACY | 1–1.5 | 阻塞 |
| FILE-002 | 私有上传与下载 | 持久附件ID、归属校验、大小/MIME/内容校验、鉴权读取、失败重试和删除策略。 | P0 | FILE-001、AUTH-002 | 1–2 | 未开始 |
| FILE-003 | 协议与授权版本 | 协议全文展示、同意/撤销事件、范围与协议版本、历史快照及外部授权凭据边界。 | P0 | FILE-001、AUTH-002、DEC-PRIVACY | 1–2 | 阻塞 |
| FILE-004 | 资料授权页面联调 | 替换选图预览和占位协议;展示上传/授权状态;拒绝、取消、断网恢复。 | P0 | FILE-002、FILE-003 | 1–1.5 | 未开始 |
| 任务编号 | 负责人 | 验收条件 | 证据 | 更新时间 |
| --- | --- | --- | --- | --- |
| FILE-001 | 全栈开发(待指定) | 私有文件不在公开web目录;形成文件用途/权限/生命周期配置清单。 | 未验收;无真实业务验收证据 | 2026-09-22 |
| FILE-002 | 全栈开发(待指定) | 无登录/跨用户不能读取;客户端临时路径不能提交为附件;失效链接不可访问。 | 未验收;无真实业务验收证据 | 2026-09-22 |
| FILE-003 | 全栈开发(待指定) | 提交可追溯所见协议版本;撤销阻止新查询;前端布尔勾选不冒充第三方授权。 | 未验收;无真实业务验收证据 | 2026-09-22 |
| FILE-004 | 全栈开发(待指定) | 仅已上传且有权访问的附件入评估;拒绝可选授权仍可自填,不显示已查询。 | 未验收;无真实业务验收证据 | 2026-09-22 |
直接阻塞:FILE-001 → EXT-STORAGE、DEC-PRIVACY;FILE-003 → DEC-PRIVACY。
### ASSESS|评估与融资档案
归属 M2,剩余 5–8 人日。
| 任务编号 | 任务 | 范围 | 优先级 | 直接依赖 | 预计人日 | 状态 |
| --- | --- | --- | --- | --- | --- | --- |
| ASSESS-001 | 评估字段与增量模型 | 统一现有字典并补融资需求四字段、inputVersion及增量列;用途字典/必填规则按专项契约确认,保留附件和授权映射。 | P0 | BASE-001、DEC-DEMAND | 1–2 | 开发中 |
| ASSESS-002 | 正式评估记录与历史 | 本人历史分页/只读详情及用户隔离;补v1/v2需求回显与旧未采集提示,无草稿保存或续填。 | P0 | ASSESS-001、AUTH-002 | 1–2 | 待验收 |
| ASSESS-003 | 提交与生命周期API | 保留提交201及重试202幂等;补inputVersion切换、新需求校验、输入字典冻结、同键全字段比较和旧请求重放兼容。 | P0 | ASSESS-002、FILE-004 | 1.5–2 | 开发中 |
| ASSESS-004 | 评估全页面联调 | 评估/确认/分析/报告/档案贯穿assessmentId与revisionId;空白新建、最新资料修改、金额精度、幂等及账户/迟到响应组合联调。 | P0 | ASSESS-003 | 1.5–2 | 开发中 |
| 任务编号 | 负责人 | 验收条件 | 证据 | 更新时间 |
| --- | --- | --- | --- | --- |
| ASSESS-001 | 全栈开发(待指定) | 现有与v2字段映射明确,元字符串/整数月/用途条件校验;历史新字段NULL,不新建评估表。 | 需求四字段/版本/用途字典及迁移已实现;金额/期限/other/信用卡一致性含于76项检查;私有附件与正式授权仍待接入 | 2026-09-24 |
| ASSESS-002 | 全栈开发(待指定) | 同用户可多次评估;越权拒绝;历史v1不回填需求、不重算,v2显示冻结需求且不可编辑。 | v1未采集/v2冻结需求只读回显、HTTP越权检查及个人/企业H5刷新通过;待业务验收,旧54项仅作历史证据 | 2026-09-24 |
| ASSESS-003 | 全栈开发(待指定) | 同键同内容原回执,合法需求或版本变化409、非法格式422;最低新建版本2或用途停用不阻断原键回放;旧重试返回原taskId。 | 76项覆盖新建最低2、旧v1键/旧用途回放、全字段冲突、并发唯一记录、重试原回执和输入快照不变;附件授权待接 | 2026-09-24 |
| ASSESS-004 | 全栈开发(待指定) | 个人/企业新建空白,修改所选评估最新资料并保存新版本;12.345678万元=123456.78元;无草稿,历史不串账户,迟到响应不恢复旧资料。 | 0.73后端514项/158次本机HTTP及版本58项通过;0.72受控H5 96项及微信/Android27页面编译通过,真机/真实渠道及正式验收待完成 | 2026-10-06 |
直接外部/业务阻塞:无;仍须满足前置任务。
### DATA|外部征信或数据查询
归属 M2,剩余 6–12 人日。
| 任务编号 | 任务 | 范围 | 优先级 | 直接依赖 | 预计人日 | 状态 |
| --- | --- | --- | --- | --- | --- | --- |
| DATA-001 | 查询渠道与范围定稿 | 确认实际可开通数据产品、个人/企业范围、授权凭证、测试样例、计费与返回解释。 | P0 | BASE-001、EXT-DATA、DEC-QUERY | 1–2 | 阻塞 |
| DATA-002 | 授权查询适配与记录 | 服务端发起、请求唯一键、渠道凭证隔离、查询事件持久化及assessmentId绑定。 | P0 | DATA-001、FILE-003、ASSESS-003 | 2–4 | 未开始 |
| DATA-003 | 回调与结果标准化 | 验签、防重放、回调幂等、主动查询对账、结果字段/来源/时间映射与受限留存。 | P0 | DATA-002 | 2–4 | 未开始 |
| DATA-004 | 异常与渠道端到端验收 | 超时、撤销、拒绝、余额不足、重复回调、重查和H5往返恢复。 | P0 | DATA-003 | 1–2 | 未开始 |
| 任务编号 | 负责人 | 验收条件 | 证据 | 更新时间 |
| --- | --- | --- | --- | --- |
| DATA-001 | 全栈开发(待指定) | 每种首发授权都有明确数据来源和支持范围;缺失渠道记阻塞并更新估算。 | 未验收;无真实业务验收证据 | 2026-09-22 |
| DATA-002 | 全栈开发(待指定) | 无有效授权不调用;重复发起不重复建本地请求;不得将他人结果用于本次评估。 | 未验收;无真实业务验收证据 | 2026-09-22 |
| DATA-003 | 全栈开发(待指定) | 伪造/过期回调拒绝;迟到结果不覆盖冻结输入;查询失败不转换成零风险。 | 未验收;无真实业务验收证据 | 2026-09-22 |
| DATA-004 | 全栈开发(待指定) | 成功和失败均可追踪;超时收费不明先对账;各已承诺首发场景有真实渠道证据。 | 未验收;无真实业务验收证据 | 2026-09-22 |
直接阻塞:DATA-001 → EXT-DATA、DEC-QUERY。
### PRODUCT|产品库与匹配规则
归属 M2。原6–9人日为历史基线,本次新增对比1.5–2.5人日;当前剩余需按实施复估。
| 任务编号 | 任务 | 范围 | 优先级 | 直接依赖 | 预计人日 | 状态 |
| --- | --- | --- | --- | --- | --- | --- |
| PRODUCT-001 | 规则字典与评分口径 | 确定准入三态、来源要求、单产品需求覆盖、用途规则、证据结构和版本化排序;评分未发布时null。 | P0 | ASSESS-001、DEC-MATCH | 1.5–2 | 开发中 |
| PRODUCT-002 | 准入与排序执行器 | 执行上架/有效期/对象/地区及需求硬规则;保存pass/fail/unknown证据,生成eligibility和稳定rank。 | P0 | PRODUCT-001 | 2–3 | 开发中 |
| PRODUCT-003 | 产品后台与公共查询 | 补规则条件编辑、来源/用途依据、发布预检、版本与公共详情;录入真实产品,缺依据阻止发布。 | P0 | PRODUCT-001、BASE-002、DEC-PRODUCT | 1.5–2 | 开发中 |
| PRODUCT-004 | 匹配页面与快照 | 按assessmentId展示三态分组、最多三个候选及分页;结果详情展示依据/注意项/AI解释,保留产品快照与申请准备。 | P0 | PRODUCT-002、PRODUCT-003、ASSESS-004、REPORT-003 | 1–2 | 开发中 |
| PRODUCT-005 | 同类产品对比 | 新增compare页,同评估2—3项冻结产品、状态/范围/条件对照、补选与返回、刷新恢复。 | P1 | PRODUCT-004 | 1.5–2.5 | 待验收 |
| 任务编号 | 负责人 | 验收条件 | 证据 | 更新时间 |
| --- | --- | --- | --- | --- |
| PRODUCT-001 | 全栈开发(待指定) | 发布规则与人工样例可审阅;非法字段/操作符阻止发布;fail优先于unknown,匹配指标不作为审批概率。 | 首版字段/操作符/来源门槛已形成规则契约;64项内存测试;真实产品发布依据与业务样例待验收 | 2026-09-24 |
| PRODUCT-002 | 全栈开发(待指定) | 同输入/快照结果稳定;未知不当满足,配置错误不归咎用户;需求不拆额、不改期;未运行与零候选区分。 | 目录冻结/排序/理由已接正式worker;51项内存和19项任务测试通过;真实产品金标准、规模/生产验收仍待完成 | 2026-09-24 |
| PRODUCT-003 | 全栈开发(待指定) | 产品用途/地区/额度/期限有真实依据;规则可配置并启停,版本变化留依据;公共详情无个人分数。 | 结构化编辑、来源/用途、只读预检、编辑冲突、上架/下架及公共列表本地联调通过,见0.32;真实资料/运营核对/发布验收待完成,6条演示产品不替代真实资料 | 2026-09-30 |
| PRODUCT-004 | 全栈开发(待指定) | 每条解释可追溯且不凑三正三反;当前产品变化不改历史;跨账户拒绝;unavailable/零候选/failed不混淆。 | 0.71当前存储匹配238项/101次本机HTTP及解释52项通过;0.70历史版本H5受控97项及微信/Android编译通过,真实产品/平台待验收 | 2026-10-06 |
| PRODUCT-005 | 全栈开发(待指定) | 不跨评估/混用现价;缺值不同于0;手机横向表格可读,单项失败明确;不重跑模型。 | 0.70跨组补选/移除/刷新/单列失败重试/账户变化受控检查及编译通过;6.16历史证据保留,真实机构产品及微信内H5/真机待验收 | 2026-10-06 |
剩余门槛:DEC-MATCH开发口径已采用既有契约,真实产品规则/金标准业务签收待完成;PRODUCT-003真实发布仍依赖DEC-PRODUCT。纯规则、后台模型预检及字段编译已实施,未解除整模块验收依赖。
### REPORT|AI任务、报告与历史
归属 M2,行动与助手联调延伸至M3。原8–12人日为历史基线,新增PDF/行动3.5–6人日;不是当前剩余工期。
| 任务编号 | 任务 | 范围 | 优先级 | 直接依赖 | 预计人日 | 状态 |
| --- | --- | --- | --- | --- | --- | --- |
| REPORT-001 | DeepSeek适配与配额 | 配置模型标识、服务端密钥读取、超时、结构化输出校验、配额预留和消耗记录。 | P0 | BASE-002、EXT-AI、DEC-AI | 1.5–2 | 待验收 |
| REPORT-002 | 异步任务与补偿 | 保留Redis派发、补投、租约和taskId隔离;沿用提交时input_snapshot,一次性补入execution_snapshot并在重试时复用,支持跨部署v1/v2任务。 | P0 | ASSESS-003、REPORT-001 | 2.5–4 | 开发中 |
| REPORT-003 | 报告生成与持久化 | 保留v1自填报告;补v2需求、完整度/准备等级、规则证据及定性AI区块;版本快照和正式结果原子落库。 | P0 | REPORT-002、DATA-004、PRODUCT-002、PRODUCT-003、DEC-MATCH、DEC-READINESS | 2–3 | 阻塞 |
| REPORT-004 | 分析报告历史联调 | 保留轮询/重试和v1历史;接v2需求、完整度、准备等级、三态匹配及证据解释,不显示无规则分数/雷达。 | P0 | REPORT-003、PRODUCT-004、ASSESS-004 | 2–3 | 开发中 |
| REPORT-005 | 报告PDF导出 | 鉴权流式下载、受控中文模板、报告与产品冻结快照、H5保存、微信下载预览及失败提示。 | P1 | REPORT-004 | 2.5–4 | 待验收 |
| REPORT-006 | 下一步行动 | 新增next-step页,准备材料、查看已存报告、优化资料、新评估、咨询及首页导航。 | P1 | PRODUCT-004、REPORT-004、CHAT-003 | 1–2 | 待验收 |
| 任务编号 | 负责人 | 验收条件 | 证据 | 更新时间 |
| --- | --- | --- | --- | --- |
| REPORT-001 | 全栈开发(待指定) | 模型可配置;密钥不下发;失败与使用量可追踪;数值事实不被模型改写。 | 两个指定模型真实连通;v2修正后Flash3例/Pro1例格式及语义检查通过;合成输入隐私过滤,调用tokens已记录;商业预算/生产稳定性待验收 | 2026-09-24 |
| REPORT-002 | 全栈开发(待指定) | 漏投/中断可恢复或明确失败;旧任务不可回写;输入/目标结果/策略/产品快照重试不隐式变化。 | 54项报告检查覆盖目标版本冻结、超时重试快照不变、旧v2输入仍v1、损坏快照先于模型失败;产品快照/生产守护未完成,旧29项任务证据保留 | 2026-09-24 |
| REPORT-003 | 全栈开发(待指定) | 完整度按发布字段集复算,等级有依据且非审批;null rank/score按状态验证;格式错误不成功,产品/规则更新不改旧报告。 | 自填/演示产品支线已实现;0.64隔离持久化75项及周边113项通过;历史Flash3例/Pro1例样例证据保留;真实产品/外部查询、生产与业务人工签收待完成 | 2026-10-06 |
| REPORT-004 | 全栈开发(待指定) | 个人/企业链路按版本展示;未发布无分或等级,100%不等于授信;旧报告不重算;修改重评复用记录新增输入版本,新建评估另建记录。 | 0.65历史/重评215项及版本58项、H5组合32项通过,修复非法版本500及档案两处错版回包;真实产品/外部渠道及正式验收未完成 | 2026-10-06 |
| REPORT-005 | 全栈开发(待指定) | 本人成功报告可导出;金额/理由与历史一致;不重跑模型/泄露身份;中文分页可读,JSON错误不保存成PDF。 | 0.66微信下载/预览源码及38项产物检查、H5页面6项/边界17项和平台编译通过;0.65的13文件52项内容证据保留;downloadFile域名需配置并重新发行,真机/跨浏览器及生产容量待验收,见6.21 | 2026-10-06 |
| REPORT-006 | 全栈开发(待指定) | 根据判定及当前可用性开放行动;无银行申请提交;新评估不改历史、无草稿;上下文和返回正确。 | 0.67历史版本/报告可用性H5组合38项及Android/微信编译通过;补版本/重评状态提示与无匹配降级;真实产品材料/渠道及平台待验收,历史基础见6.20 | 2026-10-06 |
剩余依赖:REPORT-001商业预算/生产额度待DEC-AI;REPORT-003完整报告仍依赖DATA、PRODUCT、DEC-MATCH;DEC-READINESS首版开发策略已发布,人工业务验收待完成。模型真实权限已验证。
### CHAT|AI助手
归属 M3,剩余 4–7 人日。
| 任务编号 | 任务 | 范围 | 优先级 | 直接依赖 | 预计人日 | 状态 |
| --- | --- | --- | --- | --- | --- | --- |
| CHAT-001 | 会话与消息API | 普通会话创建/列表/消息分页/归属;明确可引用评估上下文且不占用正式assessment_id。 | P1 | AUTH-002、BASE-001 | 1–1.5 | 待验收 |
| CHAT-002 | DeepSeek对话调用 | 上下文裁剪、敏感信息最小化、消息幂等、异步回复与本地配额记录。 | P1 | CHAT-001、REPORT-001、REPORT-002 | 1–2 | 待验收 |
| CHAT-003 | 助手页面接入 | chatId/requestId、历史加载、发送状态、失败重试、由报告进入解释上下文。 | P1 | CHAT-002、REPORT-004 | 1–2 | 待验收 |
| CHAT-004 | 对话异常与额度验收 | 并发消息、重复点击、额度耗尽、供应商超时及失效会话。 | P1 | CHAT-003 | 1–1.5 | 开发中 |
| 任务编号 | 负责人 | 验收条件 | 证据 | 更新时间 |
| --- | --- | --- | --- | --- |
| CHAT-001 | 全栈开发(待指定) | 用户只能读自身会话;评估会话与普通会话分离;重进恢复历史。 | 0.69当前存储下后端165项及0.68 H5受控62项通过;真实13例边界见6.24,真机待验收 | 2026-10-06 |
| CHAT-002 | 全栈开发(待指定) | 同请求不重复建消息或记本地消耗;错误回复不标成功;不会发送无关证件资料。 | 0.69双进程幂等/消费/重试/共享额度及脱敏检查通过;真实13例边界见6.24,生产容量待验收 | 2026-10-06 |
| CHAT-003 | 全栈开发(待指定) | 切换会话不串上下文;超时保留可重试消息;重进页面能继续。 | 0.68 H5受控62项及微信/Android编译通过;既有后端/真实13例边界见6.24,真机待验收 | 2026-10-06 |
| CHAT-004 | 全栈开发(待指定) | 配额并发不超扣;供应商计费不明可对账;仅真实成功回复显示完成。 | 0.69后端165项/共享发布回归348项及0.68 H562项通过;真实13例边界见6.24,费用对账/容量/真机待验收 | 2026-10-06 |
直接外部/业务阻塞:无;仍须满足前置任务。
### CONTENT|内容、课堂、搜索与FAQ
归属 M3,剩余 4–6 人日。
| 任务编号 | 任务 | 范围 | 优先级 | 直接依赖 | 预计人日 | 状态 |
| --- | --- | --- | --- | --- | --- | --- |
| CONTENT-001 | 内容模型与发布后台 | 补齐文章/课程结构、稳定章节ID、分类、封面/摘要、发布状态、FAQ类型及协议入口。 | P1 | BASE-001 | 1–1.5 | 开发中 |
| CONTENT-002 | 列表详情与首页推荐 | 新闻/文章/课堂/详情真实API、分页、富文本清洗、缺失内容与首页推荐接入。 | P1 | CONTENT-001、BASE-004 | 1–1.5 | 待验收 |
| CONTENT-003 | 云端课程已读 | 整篇连续阅读、一次标记课程已读,兼容历史记录与内容版本,跨设备恢复。 | P1 | CONTENT-002、AUTH-002 | 1–1.5 | 待验收 |
| CONTENT-004 | 搜索与FAQ联调 | 真实全文字段检索、分类/分页、请求竞态、FAQ读取、无结果和断网恢复。 | P1 | CONTENT-002 | 1–1.5 | 开发中 |
| 任务编号 | 负责人 | 验收条件 | 证据 | 更新时间 |
| --- | --- | --- | --- | --- |
| CONTENT-001 | 全栈开发(待指定) | 后台可发布/下架;章节重排不换ID;草稿不可公开;FAQ可维护。 | 40项数据库/13项后台检查、服务器验收通过;FAQ服务端与后台源码完成,尚未导入/部署,见0.39 | 2026-10-01 |
| CONTENT-002 | 全栈开发(待指定) | 首页/列表/详情ID一致;无模拟兜底内容;下架详情有明确不可用状态。 | 0.76受控H5组合123项及微信/Android编译通过,详情归属/分页/下架重试已补;真实后端组合/真机待检查,未正式验收 | 2026-10-06 |
| CONTENT-003 | 全栈开发(待指定) | 整篇直接阅读;单一课程已读操作;账户隔离、失败可重试及跨设备一致。 | 0.77连续阅读/已读57项及微信Android编译通过;历史存储兼容,真实后端组合/真机/多设备待补 | 2026-10-07 |
| CONTENT-004 | 全栈开发(待指定) | 旧搜索响应不覆盖新关键词;返回ID可开详情;FAQ与实际业务行为一致。 | 0.76补关键词/分类竞争、分页错包/重复/429/断网恢复;搜索此前已部署,本轮修复未发布,FAQ接入源码仍未导入/部署 | 2026-10-06 |
直接外部/业务阻塞:无;仍须满足前置任务。
### MSG|消息中心
归属 M3,剩余 2–4 人日。
| 任务编号 | 任务 | 范围 | 优先级 | 直接依赖 | 预计人日 | 状态 |
| --- | --- | --- | --- | --- | --- | --- |
| MSG-001 | 通知事件与去重 | 定义评估结果等事件、通知去重键及写入时机,补齐唯一性保障。 | P1 | BASE-001、REPORT-004 | 0.5–1 | 待验收 |
| MSG-002 | 消息读写API | 当前用户分页/分类/未读数/单条已读/全部已读,read_at与is_read一致。 | P1 | MSG-001、AUTH-002 | 0.5–1 | 待验收 |
| MSG-003 | 消息页面与首页红点 | 替换静态通知与固定红点,处理业务跳转、空态、刷新及批量已读。 | P1 | MSG-002、BASE-004 | 0.5–1 | 待验收 |
| MSG-004 | 事件消息验收 | 事件重复、失败重试、分页期间新通知和并发全部已读测试。 | P1 | MSG-003 | 0.5–1 | 待验收 |
| 任务编号 | 负责人 | 验收条件 | 证据 | 更新时间 |
| --- | --- | --- | --- | --- |
| MSG-001 | 全栈开发(待指定) | 重复任务不会重复通知;成功/失败通知关联正确assessmentId及revisionId。 | 同事务/并发去重及旧版本通过,正式索引/PHP已部署,见0.38 | 2026-10-01 |
| MSG-002 | 全栈开发(待指定) | 跨用户读写拒绝;已读重复操作幂等;列表/计数一致。 | 50项数据库/HTTP及正式FPM检查通过;前端待发行 | 2026-10-01 |
| MSG-003 | 全栈开发(待指定) | 换设备状态一致;打开通知到对应历史;关联记录不可用有提示。 | 57项手机/桌面和微信/Android编译通过;真实多设备/真机待验收 | 2026-10-01 |
| MSG-004 | 全栈开发(待指定) | 全部已读不误吞操作后新增消息;通知去重和未读数通过数据库核对。 | 水位/并发/索引恢复及正式维护通过,原数据保持,前端待发行 | 2026-10-01 |
直接外部/业务阻塞:无;仍须满足前置任务。
### POINT|积分、任务与邀请
归属 M3,剩余 4–7 人日。
| 任务编号 | 任务 | 范围 | 优先级 | 直接依赖 | 预计人日 | 状态 |
| --- | --- | --- | --- | --- | --- | --- |
| POINT-001 | 积分规则定稿 | 确认签到、资料完成、邀请奖励的条件/次数/额度、业务时区和权益范围。 | P1 | BASE-001、DEC-POINT | 0.5–1 | 阻塞 |
| POINT-002 | 积分账户与签到 | 事务更新score与流水、业务唯一键、服务端日期签到、余额/流水查询。 | P1 | POINT-001、AUTH-002 | 1.5–2 | 开发中 |
| POINT-003 | 邀请码与邀请关系 | 生成唯一邀请码、首次有效绑定、防自邀、可信奖励事件与发放幂等。 | P1 | POINT-002 | 1–2 | 未开始 |
| POINT-004 | 任务积分页面联调 | 真实余额、流水、签到状态、个人邀请码、任务状态和规则说明。 | P1 | POINT-003、ASSESS-004 | 1–2 | 开发中 |
| 任务编号 | 负责人 | 验收条件 | 证据 | 更新时间 |
| --- | --- | --- | --- | --- |
| POINT-001 | 全栈开发(待指定) | 形成版本化活动规则;复制/分享不等于奖励;未确认奖励规则不得上线。 | 规则建议见0.47、基础实现见0.48;数额/权益/期限/等级仍待DEC-POINT确认,不启用发布配置 | 2026-10-01 |
| POINT-002 | 全栈开发(待指定) | 同用户同日并发只加一次;流水与积分一致;错误不静默吞掉。 | 五接口/事务/严格HTTP及旧写保护已随5fee3cf部署;0.51真实隔离页面与原键确认通过;正式配置关闭、规则待批准、原表未迁移 | 2026-10-02 |
| POINT-003 | 全栈开发(待指定) | 客户端不能自报完成奖励;重复/自邀拒绝;已有关系不随分享覆盖。 | 邀请资格/奖励规则与关系方案后续确认;未实施,无真实邀请码/奖励 | 2026-10-01 |
| POINT-004 | 全栈开发(待指定) | 真实到账后才提示成功;跨账户/跨设备一致;邀请复制不立即发奖励。 | 0.50/0.51余额、规则、任务、流水及签到恢复已接真实API并完成隔离页面联调;邀请码/邀请及资料奖励未实施,未发行或真机验收 | 2026-10-02 |
直接阻塞:POINT-001 → DEC-POINT;POINT-002推进默认关闭的实现与隔离检查,HTTP后端检查已完成,规则发布/真实入账仍须POINT-001定稿及原表迁移、页面开发检查。
### SUPPORT|反馈与人工客服
归属 M3,剩余 3–6 人日。
| 任务编号 | 任务 | 范围 | 优先级 | 直接依赖 | 预计人日 | 状态 |
| --- | --- | --- | --- | --- | --- | --- |
| SUPPORT-001 | 客服方案与运营准备 | 选定H5客服、身份签名、坐席/工作时间、离线策略、反馈状态及责任人。 | P0 | BASE-001、EXT-CS | 0.5–1 | 阻塞 |
| SUPPORT-002 | 反馈提交与处理闭环 | 帮助页增加反馈表单/记录;附件权限、后台状态/回复、用户查看处理结果。 | P1 | AUTH-002、FILE-002 | 1–2 | 开发完成,待验收 |
| SUPPORT-003 | H5人工客服接入 | 服务端签发访客身份、前端打开客服、在线/排队/离线、失败回退。 | P0 | SUPPORT-001、AUTH-002、EXT-CS | 1–2 | 阻塞 |
| SUPPORT-004 | 客服反馈联调 | 普通/微信内H5、账户切换、关闭重开、无坐席、SDK失败和消息记录。 | P0 | SUPPORT-002、SUPPORT-003、CONTENT-004 | 0.5–1 | 未开始 |
| 任务编号 | 负责人 | 验收条件 | 证据 | 更新时间 |
| --- | --- | --- | --- | --- |
| SUPPORT-001 | 全栈开发(待指定) | 具有可测试坐席和离线处理渠道;确认SDK/隐私及首发支持范围。 | 未验收;无真实业务验收证据 | 2026-09-22 |
| SUPPORT-002 | 全栈开发(待指定) | 反馈可提交到后台并回复;仅当前用户可查;附件无越权。 | 文字闭环、0.57事务审计、0.58原键恢复和0.59通知/本人回复跳转开发检查通过;新增源码未配套发布,私有附件与正式验收待后续 | 2026-10-04 |
| SUPPORT-003 | 全栈开发(待指定) | 真实到达人工坐席;不由前端伪造用户身份;离线可留言并有处理路径。 | 未验收;无真实业务验收证据 | 2026-09-22 |
| SUPPORT-004 | 全栈开发(待指定) | 会话无跨账户泄漏;客户可获回复;供应商不支持项准确提示。 | 未验收;无真实业务验收证据 | 2026-09-22 |
直接阻塞:SUPPORT-001 → EXT-CS;SUPPORT-003 → EXT-CS。
### ADMIN|后台运营与排障
归属 M3,剩余 3–5 人日。
| 任务编号 | 任务 | 范围 | 优先级 | 直接依赖 | 预计人日 | 状态 |
| --- | --- | --- | --- | --- | --- | --- |
| ADMIN-001 | 菜单与角色权限 | 将新增运营能力纳入现有管理员权限;明确运营/客服/技术可见字段。 | P0 | BASE-001 | 0.5–1 | 开发中 |
| ADMIN-002 | 任务与查询排障 | 按assessmentId/taskId/requestId查进度/错误、人工重试/对账入口及操作审计。 | P1 | REPORT-004、DATA-004、ADMIN-001 | 1–1.5 | 开发中 |
| ADMIN-003 | 模型额度与服务检查 | DeepSeek配置、密钥状态、用户额度、调用消耗、队列/存储/短信状态检查。 | P1 | REPORT-001、CHAT-004、ADMIN-001 | 1–1.5 | 开发中 |
| ADMIN-004 | 运营交接验收 | 真实产品、内容、课程、积分、消息、反馈及客服操作演练,形成操作说明。 | P1 | ADMIN-002、ADMIN-003、CONTENT-004、MSG-004、POINT-004、SUPPORT-004 | 0.5–1 | 未开始 |
| 任务编号 | 负责人 | 验收条件 | 证据 | 更新时间 |
| --- | --- | --- | --- | --- |
| ADMIN-001 | 全栈开发(待指定) | 管理员权限最小化;无需恢复已删除会员组/规则;敏感字段继续掩码。 | 源码及隔离权限开发检查完成,见0.41;未部署,未做运营验收 | 2026-10-01 |
| ADMIN-002 | 全栈开发(待指定) | 可定位失败原因;重试仍走生命周期和幂等;不允许后台手改正式结果。 | 已有评估排障、受控人工重试及审计源码完成,见0.43;完整外部查询/对账待开发,未部署/验收 | 2026-10-01 |
| ADMIN-003 | 全栈开发(待指定) | 密钥不回显;配置失败可定位;本地消耗与渠道对账有入口。 | 只读服务/用量/今日额度、进程心跳及四字段受控运行策略源码完成,见0.46;供应商对账/外部告警待能力确认,未部署/验收 | 2026-10-01 |
| ADMIN-004 | 全栈开发(待指定) | 运营可独立发布/下架/处理反馈及定位异常;业务字段无占位数据。 | 未验收;无真实业务验收证据 | 2026-09-22 |
直接外部/业务阻塞:无;仍须满足前置任务。
### RELEASE|联调、测试与发布
归属 M4,剩余 7–11 人日。
| 任务编号 | 任务 | 范围 | 优先级 | 直接依赖 | 预计人日 | 状态 |
| --- | --- | --- | --- | --- | --- | --- |
| RELEASE-001 | 核心与权限回归 | 完整个人/企业流程、跨用户攻击、金额边界、幂等、产品变更及并发用例。 | P0 | REPORT-004、LOGIN-004、AUTH-004、ADMIN-004 | 2–3 | 未开始 |
| RELEASE-002 | H5与第三方真实验收 | 普通手机/桌面/微信内浏览器,键盘/上传/回跳/断网/弱网及全部渠道成功失败验证。 | P0 | RELEASE-001 | 2–3 | 未开始 |
| RELEASE-003 | 部署与恢复演练 | 分环境配置、增量迁移预检、HTTPS、队列守护/告警、备份恢复、发布回滚手册。 | P0 | RELEASE-001、ADMIN-003、EXT-DEPLOY | 1.5–2.5 | 阻塞 |
| RELEASE-004 | 首发验收与发布记录 | 核对范围/外部依赖/验收证据,正式发布检查,发布后冒烟及回退条件。 | P0 | RELEASE-002、RELEASE-003 | 1.5–2.5 | 未开始 |
| 任务编号 | 负责人 | 验收条件 | 证据 | 更新时间 |
| --- | --- | --- | --- | --- |
| RELEASE-001 | 全栈开发(待指定) | 关键用例通过且有证据;无阻断或高危未解决缺陷;所有一期模块进入验收。 | 未验收;无真实业务验收证据 | 2026-09-22 |
| RELEASE-002 | 全栈开发(待指定) | 真实渠道与目标浏览器矩阵通过;不是仅编译通过或mock成功。 | 未验收;无真实业务验收证据 | 2026-09-22 |
| RELEASE-003 | 全栈开发(待指定) | 干净测试环境可部署;有数据环境升级可恢复;不重跑旧空表限定迁移。 | 未验收;无真实业务验收证据 | 2026-09-22 |
| RELEASE-004 | 全栈开发(待指定) | 所有一期必做项已验收;生产无demo数据/占位协议/模拟Token;记录实际版本和时间。 | 未验收;无真实业务验收证据 | 2026-09-22 |
直接阻塞:RELEASE-003 → EXT-DEPLOY。
任务状态计数(仅用于核对台账):未开始 32 项;开发中 12 项;待联调 0 项;待验收 2 项;已完成 0 项;阻塞 14 项。这些计数不换算为项目完成率。
## 5. 外部依赖、业务决策与阻塞传播
所有条目初始更新时间均为 2026-09-22。对接负责人和业务拍板人尚未落实,启动时必须补齐。只记录准备状态与非敏感标识;密钥通过环境配置交接,不粘贴进文档。
### 5.1 外部依赖
| 编号 | 当前状态 | 解除条件/需准备的材料 | 直接影响任务 | 责任分工与目标节点 |
| --- | --- | --- | --- | --- |
| EXT-SMS | 服务商待定 | 服务商、可测试账户、签名/模板、回执与限流能力、环境配置交付可用;测试号码发送成功 | AUTH-001 | 用户/业务负责选型与开通,开发负责验证;M0 发起,M1 验收前解除 |
| EXT-WX | 服务类型和账号准备待定 | 确认微信内 H5/普通 H5 登录方式、主体资质、应用/公众号权限、域名回调与测试能力 | LOGIN-001、LOGIN-002 | 业务负责账号权限,开发形成能力矩阵;M0 发起,M1 前解除 |
| EXT-ONE | 服务商及 H5 能力待定 | 明确浏览器/运营商/网络限制、合法的服务端验证接口、测试环境、SDK 和降级策略 | LOGIN-001、LOGIN-003 | 业务与开发联合选型;M1 接入前解除 |
| EXT-STORAGE | 私有存储服务待定 | 私有桶或等价私有存储、权限策略、服务端访问配置、签名链接/鉴权读取能力、容量和生命周期方案 | FILE-001 | 开发提出方案,业务确认预算与保留边界;M1 开发前解除 |
| EXT-DATA | 数据渠道待定 | 可开通数据产品、个人/企业覆盖、正式授权流程、样例与字段字典、验签/回调/对账、计费及测试权限 | DATA-001 | 业务确认可获得的产品及资质,开发验证接口;M0 发起,M2 前解除 |
| EXT-AI | 腾讯云TokenHub;Pro/Flash真实权限、JSON和用量字段已验证;余额/预算待运营确认 | 确认可用模型标识、服务端测试配置、实际额度、返回格式、超时和费用核对入口;完成最小真实调用 | REPORT-001 | 开发验证能力,业务确认预算;M2 接入前解除 |
| EXT-CS | 客服服务商和坐席待定 | 支持普通/微信内 H5 的客服方案、用户身份签名、测试坐席、工作时间与离线接待责任人 | SUPPORT-001、SUPPORT-003 | 业务负责供应商与坐席,开发负责接入;M3 前解除 |
| EXT-DEPLOY | 部署目标及域名资源待定 | 测试/生产资源、域名/HTTPS、数据库/Redis、队列进程守护、日志监控、备份位置及恢复权限 | RELEASE-003 | 业务确认资源,开发落地运维;M0 收集,M4 演练前解除 |
EXT-AI已具备真实调用证据,尚不代表商业预算与生产容量验收完成。其他服务商未定不是本轮文档交付的阻塞,但确实阻塞对应真实接入任务及整体一期验收。
### 5.2 业务规则决策
| 编号 | 当前状态 | 必须定稿的内容 | 决策产物与直接影响任务 | 目标节点 |
| --- | --- | --- | --- | --- |
| DEC-PRIVACY | 待确认 | 资料用途、可选/必选项、协议正式全文与版本、保存期限、撤销后处理及对外字段范围 | 协议与资料生命周期清单;FILE-001、FILE-003 | M1 私有资料/授权实现前 |
| DEC-QUERY | 待确认 | 首发查询项目、个人/企业适用条件、查询失败/拒绝后的自填路径、重新查询触发和费用归属 | 数据产品与页面授权逐项映射;DATA-001 | M2 渠道实现前 |
| DEC-DEMAND | 已确认并发布 | 用户授权采用个人/企业用途、other说明及v2必填;新建最低2 | assessment.php用途版本、76项专项与H5证据;ASSESS-001/003 | 2026-09-24复核 |
| DEC-READINESS | 首版开发策略已发布 | 用户继续下一步授权采用既有等权字段集、条件分母和资料准备状态;不代表授信 | readiness.php、54项专项和H5;人工业务样例待验收 | 2026-09-24实施;生产发布前验收 |
| DEC-MATCH | 开发口径已采用,业务待签收 | 三态/来源门槛/单产品覆盖、无评分和productId升序;真实产品条件与金标准待提供 | 产品规则开发契约、64项内存测试;完整发布/冻结和业务验收未完成 | 2026-09-24启动;正式发布前完成签收 |
| DEC-PRODUCT | 待确认 | 首发真实产品、地区与对象、额度/期限/利率/准入条件、有效期、发布责任人、申请准备说明 | 可录入的真实产品资料及运营确认记录;PRODUCT-003 | 产品发布/匹配真实验收前 |
| DEC-AI | 模型已确认,其余待确认 | 单用户/单评估额度、重试上限、超时、输入最小化、月预算及超额处理 | AI 配置和额度规则;REPORT-001 | DeepSeek 接入和压测前 |
| DEC-POINT | 待确认 | 签到/资料/邀请奖励数额、次数、可信达成条件、业务时区、有效期与权益范围 | 版本化奖励规则及反例;POINT-001 | M3 积分实现前 |
上述决定没有在本台账中擅自填入分数、积分数额或第三方费用。它们本身属于对应已有任务的工作,不新增第 61 项开发任务。涉及新增表或字段时,先在相应任务记录增量方案、回填与恢复步骤,再实施迁移。
### 5.3 依赖传播与解除记录
- AUTH-001 未解除会影响真实账户、上传、评估、用户内容和其他登录渠道的完整联调。可先明确公共契约和已有密码登录适配,但不能标记整个 AUTH-002 完成。
- FILE-001/FILE-003 及 DATA-001 未解除会使正式资料授权、外部查询、报告生成和发布验收无法闭环。不能用本机勾选或模拟返回充当渠道验收。
- PRODUCT-001/PRODUCT-003、REPORT-001/REPORT-003 未解除时,允许准备确定性规则骨架和报告结构,不能将模拟评分、产品或 AI 文本判为真实报告验收通过。
- LOGIN、POINT 和 SUPPORT 的直接阻塞不妨碍其他独立模块开发,但它们仍在 M4 一期验收门槛内。
- EXT-DEPLOY 不阻止本地实现,但 RELEASE-003/RELEASE-004 不能完成。任何外部项长期不可获得,都须由用户明确调整范围或顺序并更新两份文档,不能自动删项。
阻塞解除时在下面追加记录,并同时更新任务状态、更新时间及依赖模块;不要删除历史原因。
| 日期 | 阻塞编号 | 原因/当前进展 | 责任人 | 预计解除日 | 解除依据/证据 | 受影响任务与计划调整 |
| --- | --- | --- | --- | --- | --- | --- |
| 2026-09-22 | EXT-AI | 指定模型与本地密钥配置已就绪,预算、额度与真实调用待核验 | 待指定 | 待确认 | 用户已确认供应商;无真实调用证据 | REPORT-001配置开发已启动,DEC-AI及真实调用验收仍待完成 |
| 2026-09-22 | 其余 EXT / 全部 DEC | 服务资源或正式业务口径待补齐 | 待指定 | 待确认 | 本轮计划基线,无已解除证据 | 逐项维护,不合并视为可跳过 |
## 6. 测试与验收台账
测试状态单独使用“历史通过(待回归)”“未执行”“通过”“失败”,不替代任务状态。每次记录必须包含日期、环境/构建版本、数据来源、结果、证据链接和验收人;没有真实外部证据不得填写“真实渠道通过”。
### 6.1 已有验证记录
| 验证项目 | 执行日期 | 环境 | 状态 | 证据与限制 | 后续归属 |
| --- | --- | --- | --- | --- | --- |
| 41项基础测试 | 2026-09-22,本轮回归 | 本地PHP 7.4 / MySQL 8.0.44,外层事务回滚 | 通过 | tests/finance.php;Redis测试会话清理,不含全部一期真实接口 | RELEASE-001 |
| 14项Redis测试 | 2026-09-22 | 本地Redis、随机隔离前缀 | 通过 | tests/token_redis.php;TTL、索引、撤销、用户隔离、Redis不可用不降级 | BASE-002、AUTH-002 |
| 16项HTTP会话测试 | 2026-09-22 | 本地Nginx/PHP/Redis | 通过 | tests/api_session.php;含特殊字符密码、非法Bearer、单会话登出、改密撤销两个有效Token、短信503 | AUTH-002、AUTH-004 |
| Web / Android本地编译 | 2026-09-22,本轮 | Windows / HBuilderX 5.26 | 通过 | Web原有layout.uts等类型提示;Android回调类型已修复;未验证真机或正式包 | RELEASE-002 |
| 账户H5联调 | 2026-09-22 | http://localhost:5174/;Chromium 390×844、1280×900 | 已测范围通过 | 密码登录、底栏进入个人中心、确认退出、A/B草稿隔离;短信503提示且无倒计时 | BASE-003、AUTH-002、RELEASE-002 |
| 金额相关浏览器检查 | 2026-09-22,前序任务 | 本地 Web;390×844 和 1280×900 | 历史通过(待回归) | 金额输入、超限、确认、模拟提交、产品展示,最终控制台无错误/警告;未留独立可链接归档 | ASSESS-004、PRODUCT-004、RELEASE-002 |
### 6.2 一期验收矩阵
前轮(草稿取消前)的浏览器证据与复核范围:使用Playwright CLI(`Browser plugin not available`),目标为真实密码登录→首页→底栏“我的”→确认退出→登录页,另验证A/B草稿隔离及短信未接入提示。页面标题“AI融资”与路由正确、非空、无框架错误遮罩;桌面及手机视口无本轮新增遮挡。正常登录/退出控制台无错误或警告;短信场景唯一错误为预期的HTTP 503资源日志。早期脚本直接改hash使弹框检查失效,改用实际底栏导航后完整退出流程通过,未修改框架。
截图:[登录后个人中心](<C:/Users/JUN/AppData/Local/Temp/airz-redis-qa/profile-mobile.png>)、[切换账户后的空白草稿](<C:/Users/JUN/AppData/Local/Temp/airz-redis-qa/account-isolation-mobile.png>)、[短信未配置手机提示](<C:/Users/JUN/AppData/Local/Temp/airz-redis-qa/sms-unavailable-mobile.png>)、[桌面提示](<C:/Users/JUN/AppData/Local/Temp/airz-redis-qa/sms-unavailable-desktop.png>)。位于本机临时目录,清理后可能失效,正式验收应另行归档。两条临时合成账户及其Redis会话已清理;复核数据库25表、Token表不存在。未覆盖微信内置浏览器、Safari、真机、正式发行、真实短信/AI或产品链路。接口复核命令为`php tests/api_session.php`,驱动为`php tests/token_redis.php`;前端编译命令见开发文档8.2。
以下为一期完整验收条件。第6.1节已测子集不代表整行完成;尚未完整覆盖的场景保留未执行。执行时用实际日期、环境和证据替换占位单元格;同一场景多端验证可追加多行。
| 场景 | 关联任务 | 必须验证的结果 | 日期 / 环境 | 状态 | 证据 / 验收人 |
| --- | --- | --- | --- | --- | --- |
| 请求与 Token | BASE-002、AUTH-002 | HTTP 200 业务错误不能被当成功;过期/撤销 Token 拒绝;错误可定位 requestId | 待记录 / 测试 API + H5 | 未执行 | 待补充 / 待指定 |
| 账户隔离 | BASE-003、ASSESS-002、CHAT-001、MSG-002 | A/B 用户切换不串临时填写内容、消息、聊天、资料和历史;跨用户 ID 读写失败 | 待记录 / 至少两个测试账户 | 未执行 | 待补充 / 待指定 |
| 短信与登录 | AUTH-001、AUTH-002 | 真短信成功/失败、用途隔离、频控、过期和核销;无假 Token | 待记录 / 真实短信测试权限 | 未执行 | 待补充 / 待指定 |
| 改密与换绑 | AUTH-004 | 原/新手机双挑战,号码占用拒绝,事务一致,修改后全部旧会话失效 | 待记录 / 测试 API + 双账户 | 未执行 | 待补充 / 待指定 |
| 微信授权 | LOGIN-002、LOGIN-004 | 获批 H5 场景真实成功;取消/state 错误/code 重放/已有账号冲突安全处理 | 待记录 / 微信内与支持的普通 H5 | 未执行 | 待补充 / 待指定 |
| 一键登录 | LOGIN-003、LOGIN-004 | 独立流程初始化、过期/重复交换;服务端验凭证;支持矩阵真实通过;绑手机专用挑战不跨用途复用;不支持时短信回退 | 待记录 / 渠道支持设备与网络 | 未执行 | 待补充 / 待指定 |
| 私有资料权限 | FILE-002、FILE-004 | 跨用户/未登录下载失败;大小/MIME/内容校验;临时路径不可提交;过期链接失效 | 待记录 / 私有测试存储 | 未执行 | 待补充 / 待指定 |
| 授权版本与撤销 | FILE-003、DATA-002 | 可追溯所见协议版本;撤销后不发新查询;用户拒绝可选授权有可用自填路径 | 待记录 / 授权服务 + H5 | 未执行 | 待补充 / 待指定 |
| 金额精度与边界 | ASSESS-004、PRODUCT-004 | 0.800001 万元提交为 8000.01 元;0/上限/超限/空值区分;万元展示无重复换算 | 待记录 / API + 数据库 + H5 | 未执行 | 待补充 / 待指定 |
| 多次评估与历史 | ASSESS-002、REPORT-004 | 同用户同类型可多次评估;已提交输入不可覆盖;再次评估创建独立记录 | 待记录 / 个人、企业各至少两次 | 未执行 | 待补充 / 待指定 |
| 提交与重试幂等 | ASSESS-003、REPORT-002 | 重复 requestId 只提交一次;多次重试后回放旧键仍返回原 taskId;旧任务不能回写;重复消费无重复完成 | 2026-09-24 / 本机API、独立进程并发、Chromium | 自填范围技术验证通过 | 6.9节:31/36/76项及H5双击/回执丢失;业务签收待指定 |
| 外部查询与收费不明 | DATA-003、DATA-004 | 真结果与字段来源可核对;伪造/重放回调拒绝;重复回调幂等;超时先对账;失败不转成零风险 | 待记录 / 真实数据测试渠道 | 未执行 | 待补充 / 待指定 |
| 确定性匹配 | PRODUCT-002、PRODUCT-004 | 下架、过期、地区/硬条件不符不推荐;未知不当已满足;人工样例与版本结果一致 | 待记录 / 真实产品 + 人工样例 | 未执行 | 待补充 / 待指定 |
| 产品历史快照 | PRODUCT-004、REPORT-003 | 更改产品额度/利率/版本后历史报告仍保留原快照;当前下架有提示 | 待记录 / 产品版本变更用例 | 未执行 | 待补充 / 待指定 |
| DeepSeek 报告 | REPORT-001、REPORT-003、REPORT-004 | 真实模型调用;结构化输出校验;评分/事实来源明确;个人/企业各完成一条全链路 | 待记录 / DeepSeek 测试配置 + H5 | 未执行 | 待补充 / 待指定 |
| 队列故障恢复 | REPORT-002、ADMIN-002 | 派发失败、worker 崩溃、超时/迟到结果、漏投扫描均可恢复且不写错任务 | 2026-09-24 / 本机Redis、假模型、过期租约模拟 | 本地模拟通过,生产待验收 | 6.9节:31项任务检查;未做真实生产进程崩溃演练 |
| AI 助手与额度 | CHAT-004、ADMIN-003 | 消息幂等、上下文隔离、历史分页、并发配额、额度耗尽、供应商超时及对账可用 | 待记录 / 测试会话 + DeepSeek | 未执行 | 待补充 / 待指定 |
| 内容/课程/搜索 | CONTENT-002、CONTENT-003、CONTENT-004 | ID 可到真实详情;下架不公开;章节重排不串进度;跨设备一致;搜索旧响应不覆盖新关键词 | 待记录 / 内容后台 + 两个浏览器 | 未执行 | 待补充 / 待指定 |
| 消息事件与已读 | MSG-004 | 重复任务只发一条通知;关联正确历史;全部已读不误吞操作后新消息 | 待记录 / 并发事件 + 数据库核对 | 未执行 | 待补充 / 待指定 |
| 积分与邀请并发 | POINT-002、POINT-003、POINT-004 | 同日并发签到一次;流水与余额一致;禁止自邀/重复关系;客户端不能自报奖励成功 | 待记录 / 多请求、多账户 | 未执行 | 待补充 / 待指定 |
| 反馈与人工客服 | SUPPORT-004 | 反馈到后台并回复;真人坐席可接待;离线可留言;SDK 失败回退;账户切换无会话泄漏 | 待记录 / 真实客服坐席 + H5 | 未执行 | 待补充 / 待指定 |
| 后台运营与权限 | ADMIN-004 | 运营可发布/下架和处理反馈;客服无技术密钥权限;任务重试走统一幂等入口;密钥不回显 | 待记录 / 运营、客服、技术角色 | 未执行 | 待补充 / 待指定 |
| H5 浏览器与弱网 | RELEASE-002 | 普通移动 H5、桌面 H5、微信内 H5 分别检查键盘、上传、回跳、刷新、横屏、安全区、断网恢复 | 待记录 / 实际浏览器版本与设备 | 未执行 | 待补充 / 待指定 |
| 部署/迁移/恢复 | RELEASE-003 | 干净环境部署、有数据增量迁移、密钥备份、队列守护、告警和恢复演练;不盲目重跑旧迁移 | 待记录 / 独立测试部署环境 | 未执行 | 待补充 / 待指定 |
| 首发完整性 | RELEASE-004 | 全部一期必做项已验收,25 页有真实数据来源;无模拟 Token、demo 数据、占位协议;发布后冒烟和回退依据完整 | 待记录 / 候选版本及正式环境 | 未执行 | 待补充 / 待指定 |
### 6.3 缺陷与发布记录模板
| 发现日期 | 关联任务 | 环境/版本 | 问题与复现步骤 | 严重程度 | 负责人 | 修复依据 | 回归结果/日期 |
| --- | --- | --- | --- | --- | --- | --- | --- |
| 2026-09-22 | AUTH-002 | HBuilderX 5.26 / Android编译 | 退出确认的success回调不能使用async返回Promise | 编译阻断 | 全栈开发 | profile.uvue使用同步回调内then/catch | 修复后编译通过;H5退出通过 |
发布前存在阻断或高危未解决缺陷、必做渠道无真实验收、资料越权、金额错误、重复积分或任务污染时,不通过 RELEASE-004。其他缺陷须明确影响、处理方案和验收决定,不以“页面可打开”代替业务验收。
| 候选版本/提交 | 计划日期 | 实际日期 | 配置/迁移版本 | 验收人 | 发布与冒烟证据 | 回退条件/恢复点 | 结果 |
| --- | --- | --- | --- | --- | --- | --- | --- |
| 待生成 | 待里程碑就绪后确定 | 未发布 | 待记录 | 待指定 | 未执行 | 按 RELEASE-003 演练结果补齐 | 未开始 |
## 7. 更新日志与下一步
| 日期 | 更新内容 | 任务状态变化 | 验证范围 | 下一步 |
| --- | --- | --- | --- | --- |
| 2026-09-24 | 真实DeepSeek报告v2输出验证,修正引用约束和中文数值复述,新增显式live脚本 | REPORT-001/003记录真实样例通过;整体状态不变 | 首轮2例拒绝,修正后Flash3例/Pro1例通过;58项回归;未调用现存业务任务 | 扩充业务金标准样例;待DEC-MATCH和真实产品接确定性匹配 |
| 2026-09-24 | 实施等权完整度、准备状态、执行策略快照及报告v2自填支线,无迁移 | DEC-READINESS开发版已发布;REPORT-002/004开发中,REPORT-003完整范围仍阻塞 | 54项报告+76项需求+41项基础+15项HTTP;H5手机/桌面及Web/Android编译 | 验收v2真实模型语义和策略样例;待DEC-MATCH与真实产品后接匹配引擎 |
| 2026-09-24 | 完成需求输入v2、字典、迁移、正式提交与历史回显,保留v1报告 | DEC-DEMAND已发布;ASSESS-002待验收;其余相关任务保留开发中/阻塞 | 76项专项+41/29/15回归;H5手机/桌面、字典恢复与无草稿;Web/Android编译 | 确认DEC-READINESS字段集和等级,再实现执行策略快照与报告v2;真实产品待准备 |
| 2026-09-23 | 补需求字段、完整度/准备等级与匹配解释契约,明确v1/v2/策略快照及迁移边界;同步主文档 | ASSESS-002/003、REPORT-002整体改开发中;新增DEC-DEMAND/DEC-READINESS待确认;本轮仅文档 | 字段/枚举/JSON样例、编号/基线人日/依赖及文档链接静态核对;未执行业务测试或迁移 | 先确认用途/必填与准备策略,再按ASSESS→REPORT/PRODUCT实施,重估新增工作量 |
| 2026-09-23 | DeepSeek适配、持久任务、幂等重试、自填报告;本地启用并启动worker | ASSESS-003、REPORT-001/002待验收,REPORT-003完整范围仍阻塞 | 29项任务+15项HTTP;真实个人报告、企业H5重试/报告;Android编译 | 决定匹配评分口径并准备真实产品;补私有资料/正式授权及运营排障 |
| 2026-09-23 | 正式提交/历史列表/详情/状态;严格路由、金额与归属校验、请求幂等、取消假分析 | ASSESS-002待验收;ASSESS-003/004、REPORT-004开发中 | 54项评估+41项基础+14项资料;H5个人/企业/断网重试/23条分页;Android编译 | 下一步接DeepSeek适配、可靠任务派发及重试,完善真实报告;短信/产品资料待准备 |
| 2026-09-22 | 取消评估草稿;账户资料/头像持久化、缓存清理;DeepSeek配置记录 | AUTH-003、ASSESS-001、REPORT-001开发中;ASSESS-002范围改正式历史 | 14项资料HTTP、41项基础、16项会话;H5昵称/头像与不保存填写内容;Android编译 | 下一步开发正式评估提交/历史及DeepSeek适配,等待真实产品与短信 |
| 2026-09-22 | Redis切换与M0/账户基础启动;Token表备份删除,真实密码会话与缓存隔离 | BASE-001/002/003、AUTH-002/004改开发中,外部依赖保留阻塞 | 41项基础+14项Redis+16项HTTP,Web/Android编译,H5退出/隔离/短信失败 | 继续完善BASE-001/003及资料API,供应商未就绪不阻塞内部开发 |
| 2026-09-22 | 建立开发文档和进度基线;登记 15 模块、60 任务、25 页映射及外部/业务阻塞 | 业务任务按基线记录;本次没有把文档编写计为业务完成 | 文档任务编号、估算、页面范围与相互引用静态核对;无业务测试或迁移 | 从 BASE-001 开始,M0 同步推进选型、资源和业务规则准备 |
后续推进顺序(已启动项继续收口):
1. BASE-001:冻结路由、响应、Token、ID、金额、时间和字段映射样例;同步指定实际开发和验收负责人。
2. BASE-002、BASE-003:完成统一请求与环境/缓存隔离;满足依赖后推进 BASE-004。生产环境不得继续以空 API 地址进入模拟流程。
3. 在 M0 同步收集第 5 节外部资源与业务决定。DeepSeek 重点核验模型、测试权限和预算;短信、微信/一键、查询、客服及私有存储从选型与能力清单开始,不要求把密钥填写在文档。
4. BASE-001 完成后,可穿插 ASSESS-001、CONTENT-001、ADMIN-001 等不依赖真实渠道的工作;保持它们原有任务工时和阶段归属,避免重复计时。
5. 外部前置就绪后推进 AUTH/LOGIN/FILE,再完成 ASSESS→DATA/PRODUCT→REPORT 核心闭环,随后按 M3、M4 验收全部首发功能。
每次完成开发活动,追加一行更新日志并同步相应任务的证据、状态和日期。需要调整一期范围或工时必须在两份文档中一起记录;第三方未接通时保留阻塞,不以模拟替代验收。
### 2026-09-22 本轮最终复核:无草稿与账户资料
环境:本地 `http://localhost:5175/`,Chromium,390×844及1280×900。Browser plugin not available,沿用Playwright CLI;本轮没有安装依赖。
| 检查 | 结果与边界 |
| --- | --- |
| 页面及渲染 | 标题AI融资、评估填写路由正确;非空、无框架错误遮罩;手机/桌面截图检查通过 |
| 控制台 | 最终会话0错误、0警告 |
| 无草稿流程 | 真实登录→融资档案→开始个人评估→填写→确认→编辑;返回后输入保留,刷新后清空,无草稿保存按钮或缓存键 |
| 账户资料 | 昵称与真实头像上传/保存/刷新回显已验证;默认头像恢复、附件跨用户拒绝由HTTP测试覆盖 |
| 后端检查 | 14项资料HTTP、41项基础、16项会话回归通过;本轮7个相关PHP文件语法检查通过 |
| 编译 | 18:02 Android本地编译成功,Web可运行;不代表真机或正式发行验收 |
| 数据清理 | 两个UI合成账户、头像附件及Redis会话已清理;本地剩1个原有用户、25张表,无fa_user_token及草稿专用字段 |
| 范围限制 | 正式提交/历史接口待开发;DeepSeek仅配置、未真实请求;未验证微信内置浏览器、Safari及真机 |
证据:[手机无草稿页面](<C:/Users/JUN/AppData/Local/Temp/airz-draft-qa/no-drafts-final-mobile.png>)、[桌面无草稿页面](<C:/Users/JUN/AppData/Local/Temp/airz-draft-qa/no-drafts-final-desktop.png>)、[头像持久化](<C:/Users/JUN/AppData/Local/Temp/airz-draft-qa/profile-persisted-mobile.png>)。截图位于临时目录,正式验收时需归档。
下一步按无草稿范围实现 `POST /assessments` 全量校验、提交幂等及事务建记录,随后接已提交历史与DeepSeek适配。真实产品与短信仍为外部依赖;不能以固定报告或模拟短信替代验收。
### 2026-09-23 本轮验证记录:正式提交与历史查询
环境:PHP 7.4.3开发服务127.0.0.1:80、本地MySQL/Redis;HBuilderX 5.26 Web http://localhost:5173/,Chromium 390×844及1280×900。Browser plugin not available,使用现有Playwright CLI,未安装依赖。
| 检查 | 证据与结果 |
| --- | --- |
| API及数据库 | `php tests/api_assessments.php` 54项通过:个人/企业、金额边界/精度/类型、零与null、加密/脱敏、越权、非法字段无落库、重复请求/冲突、两独立PHP进程竞争同一键、游标分页/筛选、软删除/内部draft排除、状态变更后原回执稳定 |
| 既有回归 | `php tests/finance.php` 41项通过;`php tests/api_profile.php` 14项通过,草稿断言改为POST /assessments/drafts不存在 |
| 真实H5 | 登录→空历史→个人提交0.800001万元→状态→详情刷新;企业18个月/120.123456万元回显;服务端已保存但客户端响应丢失后重试,复用同键且仅一条记录;23条记录分两页无重漏,最旧详情正确 |
| 不支持能力 | 勾选外部授权后提交被明确阻止;移除后可提交;分析暂未开放时显示真实原因,无计时成功或假报告跳转 |
| 页面检查 | 标题AI融资/路由正确、非空、无框架遮罩;手机/桌面截图可读;正常提交流程浏览器控制台0错误/0警告;故意断开响应及跨账户404为已预期负向场景 |
| 构建 | Android最后本地编译15:52:12成功;Web可运行。Web编译保留原有layout.uts类型提示,非本轮引入;无真机或正式发行结论 |
| 工具故障及修正 | 初始HBuilderX未启动,启动后继续;UTS异步递归声明限制已修复并重编译;ThinkPHP前缀路由误匹配已改完整匹配并回归 |
| 仍未验收 | 微信内H5、Safari、原生真机;私有上传/正式授权、DeepSeek真实调用、任务派发/重试、报告/匹配结果未接通 |
截图:[状态手机](<C:/Users/JUN/AppData/Local/Temp/airz-assessment-qa/status-mobile.png>)、[个人详情手机](<C:/Users/JUN/AppData/Local/Temp/airz-assessment-qa/detail-mobile.png>)、[企业详情手机](<C:/Users/JUN/AppData/Local/Temp/airz-assessment-qa/enterprise-mobile.png>)、[历史列表手机](<C:/Users/JUN/AppData/Local/Temp/airz-assessment-qa/history-mobile.png>)、[历史桌面](<C:/Users/JUN/AppData/Local/Temp/airz-assessment-qa/history-desktop.png>)。使用临时合成数据,不是真实客户资料,临时目录证据可能被清理。
本轮下一步:REPORT-001 DeepSeek适配与结构化输出检查;REPORT-002可靠派发及失败补偿,并补ASSESS-003请求级幂等重试。新接口开发前更新对应契约;产品匹配必须等待真实产品资料和规则口径,不用模型猜测硬准入。
最终清理:23条UI合成评估及关联会话、2个合成账户和Redis令牌已移除;复核本地25表、1个原有用户、0条评估记录。本轮无数据库迁移。补充H5验证:真实退出A并登录B,B历史为空,直接访问A详情显示不存在且无旧资料残留。测试脚本与合成凭据已清理,截图保留。
### 6.4 2026-09-23 本轮验证与后续
- 后端:`tests/analysis_tasks.php --worker-stopped` 29项通过(假模型,含两个独立PHP消费者);`tests/analysis_http.php --worker-stopped` 15项通过。先停止所有worker再运行,防止数据库恢复扫描拾取测试行;仅隔离Redis队列不足以隔离数据库扫描。
- 真实模型:两个指定版本连通成功;收紧输出规则后个人Flash报告 input582/output408 tokens、4438ms;企业浏览器真实worker报告成功。仅合成数据,不使用会员实际资料。测试调用次数不等同正式业务配额或费用账单。
- UI检查:页面身份、非空、无框架错误遮罩、控制台无相关运行错误、截图和交互均通过。金额 `1000000.01` 元准确显示 `100.000001 万元`。报告缺少产品规则时无固定分数或匹配入口。
- 浏览器证据:`C:/Users/JUN/AppData/Local/Temp/analysis-report-mobile.png`、`analysis-report-desktop.png`;本地临时文件,不提交仓库。Browser插件不可用,使用已安装Playwright CLI。Android HBuilderX 5.26编译通过。
- 下一步:PRODUCT-001/DEC-MATCH明确准入、未知值与评分排序口径,收集首批真实产品;内部可先做产品字段校验和版本快照,不生成假匹配。并行准备FILE私有资料/正式授权、ADMIN任务排障界面、短信选型和商业AI预算;一期仍未整体验收。
### 2026-09-23 需求契约后的下一步(历史计划,第1—2项已按0.5实施)
1. DEC-DEMAND:确认用途草案及必填口径;ASSESS-001实现字典与五列增量迁移,预检/备份后执行;本次未迁移。
2. ASSESS-003:先支持v1/v2及幂等重放,再由ASSESS-004接入需求录入/确认,由ASSESS-002补历史展示;按发布记录切换新建最低输入版本。
3. DEC-READINESS:发布等权字段集与资料准备等级;REPORT-002/003补冻结context及确定性完整度/等级,保持v1历史展示。
4. DEC-MATCH与真实产品准备完成后,PRODUCT实现三态规则、证据和快照,再接REPORT-004结果解释;此前不虚构匹配结果或评分。
5. 本专项验收用例见契约第8节,均待实施后执行。已通过的旧测试不覆盖新增字段、等级、用途和匹配解释。
### 6.5 2026-09-24 本轮最终验证:需求v2录入、提交与历史
环境:PHP 7.4.3、本地MySQL/Redis;HBuilderX 5.26,Web `http://localhost:5173/`,Chromium 390×844和1280×900。Browser plugin not available,使用已有Playwright CLI,未安装依赖。浏览器API转发至仅本机的隔离PHP服务,执行真实后端和数据库;该服务禁用模型,因此截图中“分析暂未开放”只代表隔离环境。本轮未修改真实模型开关或发起收费调用。
| 检查 | 日期与结果 | 边界/证据 |
| --- | --- | --- |
| 需求API/数据 | 9月24日 `php tests/assessment_demand.php --worker-stopped` 76项通过 | 含个人/企业、金额/期限边界、非法输入无落库、other、全字段冲突、并发唯一记录、最低版本切换、旧用途/旧键、越权、损坏哈希503、假模型重试及旧回执 |
| 既有回归 | 9月23日 finance.php 41项、analysis_tasks.php 29项、analysis_http.php 15项通过 | 旧任务用例显式保留v1兼容配置;旧54项api_assessments.php未计本轮通过 |
| 手机个人流程 | 填写需求→确认→编辑期限→提交→状态→历史→刷新通过 | 12.345678万元仅转换一次为123456.78元;18个月/教育进修;切离other清说明 |
| 企业与旧历史 | 0.000001万元提交为0.01元,1个月/其他用途说明刷新保留;个人专属用途不出现 | v1金额/期限/用途均显示“当时未采集”,不补造值 |
| 故障与无草稿 | 用途接口503时提示“重新加载用途”,移除故障后选项恢复;刷新后收入/需求金额/期限/用途清空 | 缺少需求或other说明阻止下一步;只保留当前流程内存 |
| 页面与控制台 | 标题/路由正确、非空、无框架遮罩;手机/桌面可读 | 正常提交0错误/0警告;故障会话仅1条刻意模拟的503资源错误,恢复刷新无新增应用错误 |
| 编译 | 9月23日Web及Android本地编译成功,Android最终20:04:31 | 修复UTS函数声明顺序后通过;原layout.uts提示仍在;未验真机/微信内H5/Safari |
| 迁移与清理 | 9月23日已备份并完成9项增量,立即复跑预检0 DDL;9月24日测试账号/3条UI记录/令牌已清理,隔离服务已停止 | 最终25表、1个原会员、1条非测试评估及会话(processing)保留;无测试用户。9月24日预检因该运行中记录被保护规则拒绝,未执行DDL,不能记为本次复跑成功 |
测试断言曾将MySQL JSON对象键顺序当作回执内容,改为排序后严格比较类型和值,76项复跑通过。浏览器刷新后页面位于开发框架子页面,批量role读取工具报错;改用新DOM快照与截图核实空输入,没有据此修改业务代码。
证据:[需求填写](<C:/Users/JUN/AppData/Local/Temp/airz-demand-qa/demand-mobile.png>)、[确认](<C:/Users/JUN/AppData/Local/Temp/airz-demand-qa/confirm-mobile.png>)、[个人历史](<C:/Users/JUN/AppData/Local/Temp/airz-demand-qa/history-mobile.png>)、[桌面历史](<C:/Users/JUN/AppData/Local/Temp/airz-demand-qa/history-desktop.png>)、[企业历史](<C:/Users/JUN/AppData/Local/Temp/airz-demand-qa/enterprise-history-mobile.png>)、[用途失败](<C:/Users/JUN/AppData/Local/Temp/airz-demand-qa/dictionary-error-mobile.png>)、[用途恢复](<C:/Users/JUN/AppData/Local/Temp/airz-demand-qa/dictionary-recovered-mobile.png>)、[刷新清空](<C:/Users/JUN/AppData/Local/Temp/airz-demand-qa/no-draft-after-refresh.png>)。均为合成资料,本机临时证据待正式验收归档。
下一步:先确认DEC-READINESS中的字段集和准备等级,再补REPORT-002执行策略快照、REPORT-003确定性完整度/等级和报告v2;DEC-MATCH及真实产品就绪后开发匹配。本轮未启动模型worker处理现存非测试记录,也未修改其状态;需要分析时按开发文档启动 `php think analysis:work`。本轮需求子项待业务验收,不等于一期完成。
### 6.6 2026-09-24 本轮验收记录:完整度/准备状态及报告v2
环境:PHP 7.4.3、本地MySQL/Redis、HBuilderX 5.26;Chromium `http://localhost:5174/`(5173被占用,开发服务选择5174),390×844/1280×900。沿用frontend-testing-debugging与Playwright流程;Browser plugin not available,使用已有Playwright CLI,未安装依赖。
| 检查 | 结果与证据 | 边界 |
| --- | --- | --- |
| 计算与任务 | `php tests/assessment_readiness.php --worker-stopped` 54项通过 | 含11/14=79、8/9=89、other分母、零值有效、invalid/一致性优先、未发布null、策略/快照损坏不调用模型、重试复用、旧目标版本、拒绝无依据/重复引用和审批承诺 |
| 需求与旧报告回归 | assessment_demand.php 76项、finance.php 41项、analysis_http.php 15项通过 | 本轮不运行含全库recover扫描的29项脚本,不修改原业务待处理任务 |
| 页面检查 | 标题与路由/记录编号一致,非空、无框架错误遮罩;最终0错误/0警告 | 开发框架刷新产生子页面,切换旧报告后完整刷新核对实际编号,不能仅凭地址判通过 |
| 真实接口H5 | 合成账号登录→报告79%/三项待补→历史→企业详情→报告100%→刷新;未发布无分、旧v1不添完整度均通过 | 报告由真实后端及数据库生成、假模型输出;不是DeepSeek真实语义或渠道验收 |
| 金额与来源 | 123456.78元显示12.345678万元、年营收100.000001万元、经营0个月;证据标签来自实际fact引用 | 姓名/手机/证件/企业名/城市职业自由文本/用途说明不发送模型 |
| 编译与语法 | Web和Android编译通过,相关12个PHP文件lint通过 | Web保留原layout.uts提示;最终Android编译11:47:22通过;无正式发行/真机结论 |
| 数据 | 无迁移、新表、原业务输入/历史报告重写;测试仅创建合成账户和记录 | 合成账号/4条UI报告及令牌已清理,测试服务已停;最终25表、1个原会员及其1条processing评估/会话保留,未启动真实模型worker |
截图:[个人需求与完整度](<C:/Users/JUN/AppData/Local/Temp/airz-readiness-qa/report-personal-mobile.png>)、[准备依据](<C:/Users/JUN/AppData/Local/Temp/airz-readiness-qa/readiness-mobile.png>)、[企业报告桌面](<C:/Users/JUN/AppData/Local/Temp/airz-readiness-qa/report-enterprise-desktop.png>)、[未发布规则](<C:/Users/JUN/AppData/Local/Temp/airz-readiness-qa/report-unpublished-desktop.png>)、[旧v1报告](<C:/Users/JUN/AppData/Local/Temp/airz-readiness-qa/report-legacy-desktop.png>)。截图均为合成资料/假模型,本地临时目录待正式归档。
下一步:报告v2真实模型和人工语义样例验收;DEC-MATCH确认准入三态、单产品需求覆盖及无评分排序,真实产品资料准备后实施PRODUCT-001/002/003/004。可先用合成样例测试确定性规则,但不得发布假产品或宣称真实匹配已完成。短信、外部查询、私有授权与生产队列守护仍为一期未完成项。
### 6.7 2026-09-24 报告v2真实输出复核
详见[独立验证记录](报告v2真实模型验证.md):直接调用现有prepare/messages/DeepSeekClient/parse,用内存合成资料,未入队/落库。初始两例因引用结构违规被拒,发现的越界语义一并收紧;修正后四例格式、数值保护、引用和语义复核通过。58项报告回归通过,相关PHP语法检查通过;无前端变更,不重复移动端构建。
外部调用6次:输入9369 tokens、输出2373 tokens;不虚构金额费用或长期成功率。未读取/修改会员输入,最终25表、1个原会员和1条processing评估/会话保持;未启动worker。存量任务、真实队列和页面本轮未重新验收,相关旧证据保留。
### 6.8 2026-09-24 本地提交持续分析中排障
用户反馈正式提交后持续“分析中”。检查确认 DeepSeek 已启用,但本机没有 `analysis:work` 进程;两条正式记录均为 `processing/queued`,尚未执行模型。14:37 启动后台分析进程后,两条任务均在首次尝试完成,状态转为 `succeeded/completed`;最新记录生成 v2,旧记录保持冻结的 v1 目标版本。正式报告读取服务校验通过,数据库报告版本一致,调用日志无错误。
本次由正式任务产生 Flash 调用两次,输入合计2368 tokens、输出636 tokens,分别耗时5951ms和3093ms。恢复补投产生的重复队列项未重复调用模型,两条记录各有一条 completed 调用记录。仅核对状态、报告结构及用量,未将用户填写内容写入文档。本轮未重新验收浏览器呈现、失败重试或生产守护,不能记为全链路验收完成。
前后端 README 已补本地队列启动、重启及测试前停进程说明。当前开发进程保持后台运行,未配置开机自启或生产守护;电脑重启后需按 README 重启分析进程。业务代码及数据库结构未变更,已有报告与任务记录通过正式队列流程生成。
### 6.9 2026-09-24 异常流程、权限及H5验收
关联ASSESS-002/003/004、REPORT-002/004。修复分析页重试提交期间手动刷新可能覆盖回执的问题;查询失败后清除旧重试/报告按钮。后端共用摘要现在区分排队/运行,并在排队60秒、运行90秒时给出等待提示;不新建任务、不增加调用次数、不改写processing状态。
| 验证 | 本轮结果 | 证据及边界 |
| --- | --- | --- |
| 任务故障与并发 | analysis_tasks.php 31项通过 | 非法报告、超时/权限/限流/网络异常、配额、补投、过期租约、迟到结果;新增两个独立进程并发重试,仅一次预留;消费者并发仅一次模型调用。使用假模型及租约模拟,非生产崩溃演练 |
| 报告v2 HTTP | analysis_http.php 36项通过 | 排队/运行/耗时提示、超时重试、上下文保持、完成后旧键回放;匿名401、跨账户404/列表隔离、成功后禁止新重试;账户资料修改/退出重新登录后报告不变 |
| 需求及报告回归 | assessment_demand.php 76项、assessment_readiness.php 58项通过 | 提交并发/重复键/输入冲突、金额与版本、执行策略冻结、v1兼容、v2严格结构与证据校验;共201项 |
| 页面身份、非空、错误覆盖层 | 通过 | Chromium,http://localhost:5175/,标题AI融资;分析页→报告→历史,内容非空且无框架错误覆盖层 |
| 交互 | 通过 | 390×844:长排队→长运行→超时失败;状态503后隐藏重试、刷新恢复;双击仅一次重试;后端接受但响应503,再次点击同requestId/taskId;重试期间刷新不额外发状态请求 |
| 报告与历史 | 通过 | 重试成功后打开v2报告、刷新保留12.345678万元;历史入口正确;历史另以1280×800查看,无明显裁切/重叠 |
| 控制台 | 预期故障已解释 | 注入的status/retry两个503各有资源错误;恢复并刷新后无error/warning,无未解释的运行时错误 |
| 构建与语法 | 通过 | HBuilderX 5.26 Web/Android编译通过,3个本轮修改PHP文件lint通过;Web仍有既有layout.uts类型提示,未扩大修改 |
| 数据与运行恢复 | 通过 | 合成用户/评估/会话/测试队列已清理,测试服务停止;最终25表、1个原会员、2条原成功评估/会话、0合成用户;正式analysis:work已恢复后台运行 |
浏览器路径:Browser插件及browser技能未提供(Browser plugin not available),按前端测试技能使用已安装Playwright CLI,未安装依赖。前端真实页面请求转发至127.0.0.1:18769隔离测试服务;模型使用ReadinessFakeClient,状态503及回执丢失由浏览器路由注入。无收费模型调用、数据库迁移或产品发布。隔离服务最初的组合启动命令被工具策略拦截后,改为单独本机命令成功启动。
可复跑命令(先停全部正式worker,逐条执行并确认PASS,完成清理后再恢复):`php tests/analysis_tasks.php --worker-stopped`、`php tests/analysis_http.php --worker-stopped`、`php tests/assessment_demand.php --worker-stopped`、`php tests/assessment_readiness.php --worker-stopped`。首次并发测试断言误把JSON对象键顺序作为差异,已改成比较字段和值后通过;首次浏览器脚本误将首页别名#/当成固定/pages/home/home、延迟函数不适用CLI沙箱,均调整测试脚本后复验通过。
截图均为合成资料:[排队提示](<C:/Users/JUN/AppData/Local/Temp/airz-analysis-acceptance/queued-mobile.png>)、[运行等待](<C:/Users/JUN/AppData/Local/Temp/airz-analysis-acceptance/running-mobile.png>)、[失败重试](<C:/Users/JUN/AppData/Local/Temp/airz-analysis-acceptance/failed-mobile.png>)、[查询错误](<C:/Users/JUN/AppData/Local/Temp/airz-analysis-acceptance/status-error-mobile.png>)、[重试后排队](<C:/Users/JUN/AppData/Local/Temp/airz-analysis-acceptance/retry-queued-mobile.png>)、[报告刷新](<C:/Users/JUN/AppData/Local/Temp/airz-analysis-acceptance/report-mobile.png>)、[手机历史](<C:/Users/JUN/AppData/Local/Temp/airz-analysis-acceptance/history-mobile.png>)、[桌面历史](<C:/Users/JUN/AppData/Local/Temp/airz-analysis-acceptance/history-desktop.png>)。
剩余:微信内H5、Safari/真机、生产并发与进程守护、供应商真实故障计费对账、业务负责人签收未验收。下一步为PRODUCT-001规则口径确认与PRODUCT-002确定性执行器;真实产品未准备时仅做合成规则测试,不发布模拟产品或显示真实推荐。
### 6.10 2026-09-24 原型补齐与规则基础
交付[04—10页面方案](原型04-10页面改造与跳转方案.md)及[产品规则开发契约](产品匹配规则开发契约.md),同步开发文档和63项台账。明确新增compare/next-step两页,PDF不新增页面;公共资料与本次匹配详情分离,同评估对比和助手上下文、PDF鉴权、空白重新评估及返回路径均已列出。现有页面未改版,pages.json未注册新路由,不把规划算成页面验收。
后端新增ProductMatchRules纯模块及product_match_rules.php。64项内存测试通过,覆盖元金额精度、包含边界、类型/空值、fail优先但保留unknown、来源门槛、other人工核实、代码地区、产品级证据ID、确定性和非法规则。PHP语法通过;不连接数据库/Redis/模型,不需要停worker。返回的是已适用规则集合的局部判定,不能绕过上架校验/目录编译直接作为真实推荐。
文档检查通过:63项任务编号、依赖及工时在两份主文档一致,任务依赖无环,当前25个路由保持;新增文档相对链接有效,修改文本UTF-8无BOM。正式产品报告后端先于匹配页面、页面再进入报告联调,已调整对应依赖避免按旧顺序等待前端。
本轮没有产品录入、数据库迁移、正式worker行为修改、模型调用或生图调用;此前本地分析进程继续运行。已检查用户指定img2-right.py的参数及异步提交/轮询/下载方法,未读取其私密凭据、未改脚本。页面组件/图标优先复用,确需位图时再按指定方法生成。
下一步:PRODUCT-003产品发布预检与字段/地区/用途来源编译;再补PRODUCT-002冻结目录、稳定排序、理由模板和正式评估集成,随后按04—10方案接页面。真实产品尚未提供时只用合成样例验证,仍不发布假产品。
### 6.11 2026-09-24 产品发布预检与规则编译
交付ProductPublication、Product模型保存预检、合成资料fixture及两份专项测试。金额保持数据库元字符串、年化利率保持百分比;独立额度/期限不能被补充规则覆盖。地区复用现有城市白名单,明确全国和未配置不同;按个人/企业分支编译用途、收入/经营要求,保留not_applicable依据。来源资料需可核对,校验本身不证明真实有效。
| 验证 | 结果 | 覆盖及边界 |
| --- | --- | --- |
| product_publication.php | 73项通过 | 必填/来源/用途/地区、金额精度、日期/过期、对象作用域、保留字段、条件上限、缺失/other、来源门槛、错误分支和确定性编译;纯内存 |
| product_publication_model.php | 16项通过 | 草稿兼容、上架/修改、局部更新、旧模型按最新行校验、版本防指定、整批回滚、旧品下架;产品前后记录一致 |
| product_match_rules.php | 64项通过 | 三态、精确边界、来源和证据回归 |
| finance.php | 41项通过 | 更新合成产品fixture以满足新发布契约;金额/账户/评估生命周期/快照和模板基础回归,合成数据库记录回滚、Redis测试会话清理 |
| PHP与文档 | PHP语法、diff检查、UTF-8无BOM通过;63项任务编号/依赖/工时一致且无环,25条现有路由及文档链接检查通过 | 未修改页面/模板,不宣称浏览器或真实产品联调通过 |
模型save将锁定最新记录、合并变更、发布预检及写入纳入同一事务,避免部分修改绕过检查;默认后台add/edit/multi均走该模型。旧rules格式只允许存草稿,已上架旧品可直接下架后完善。未迁移或批量修改已有产品,合成产品未提交发布;数据库事务可能正常消耗自增编号,不影响业务记录。
正式analysis:work保持运行;本轮测试不进行全库恢复扫描、不派发评估队列、不调用DeepSeek。收尾只读检查:25表、1原会员、2条原成功评估/会话,0合成评估测试会员。194项通过仅覆盖内部实现,缺少真实产品资料仍阻止正式产品验收。下一步:目录筛选与执行快照冻结、稳定ID排序和证据理由模板,然后接入正式评估及04—10页面。
### 6.12 2026-09-24 目录冻结、匹配任务及演示产品
完成ProductMatching、matching开关、needs-report-v2-match-v1分支、v2落库复算校验及报告真实匹配统计适配。来源与条件由规则解释,模型不决定候选与排序;单产品AI解释not_requested。目录上限100条上架记录/2MiB,超限或配置损坏明确失败,不截断;旧目录和旧unavailable分支兼容。
数据库新增6条演示产品,switch=1、version=1,ID22—27;金额元字符串,名称/来源注明演示。首次seed --apply创建6条,再次全部kept_existing。文件、命令与参数表见[规则契约第7节](产品匹配规则开发契约.md)。用户“直接入当前库”的要求覆盖前序“不得发布模拟产品”的本地实施限制,不改变正式上线须真实产品的验收标准。
| 验证 | 结果 | 边界 |
| --- | --- | --- |
| product_matching.php | 51项通过 | 合成目录三态、筛选/摘要/排序、证据引用、null值、来源、隐私、配置/快照失败 |
| product_matching_tasks.php --worker-stopped | 19项通过 | 正式提交/任务/结果落库,个人2符合1不符1待核实、企业2符合1不符,冻结重试、开关、旧引擎、失败无部分报告;假模型 |
| readiness / tasks / HTTP / demand | 58 / 31 / 36 / 76项通过 | 需求、报告、任务及HTTP回归;完整度专项显式关闭匹配以保留无匹配支线测试 |
| publication / publication_model / rules / finance | 73 / 16 / 64 / 41项通过 | 发布、模型事务及基础回归;合计465项 |
| Web / Android | HBuilderX 5.26编译通过 | 非正式发行或真机验收 |
| H5联调 | Chromium,localhost:5174,390×844及1280×900通过 | 合成账号真实登录→真实报告接口(假模型报告)→统计→刷新→历史;无空白或框架遮罩,万元保持 |
Browser插件/browser技能未提供,按frontend-testing-debugging及Playwright技能使用已有Playwright CLI(Browser plugin not available),未安装依赖。测试API经浏览器转发至127.0.0.1:18769隔离服务。初次脚本点击协议文字未勾选,改点实际复选区后通过;脚本直接改变hash从档案回报告时出现一次框架attachVmProps挂载错误,完整刷新后重复报告→历史→刷新无新增错误/警告,未为开发框架现象改无关代码。
截图:[手机报告统计](<C:/Users/JUN/AppData/Local/Temp/airz-product-matching-qa/report-mobile.png>)、[桌面报告统计](<C:/Users/JUN/AppData/Local/Temp/airz-product-matching-qa/report-desktop.png>)。关键约束保留中文注释,无迁移、新增表或收费模型调用。测试账户/评估/会话/队列及隔离服务收尾清理,6条演示产品保留,正式worker在测试后重启加载新代码。
未验收:新提示的真实DeepSeek语义、真实产品与渠道、微信内H5和真机、匹配列表/详情接口及04—10页面。下一步:按评估ID提供冻结匹配分页/详情,校验归属和游标,再接产品详情三栏及匹配结果页面。
收尾验证:正式worker已恢复(本次PID34404,错误日志为空);原1会员、2条成功评估/会话、25表保留,测试账户及队列清理。6条演示产品保留,种子文件预检再次通过。63项任务编号/依赖/工时一致且无环、25条现有路由、文档链接、UTF-8无BOM和diff检查通过。
### 6.13 2026-09-24 匹配读取API与03/04/05/06页面验证
本轮完成范围:本人匹配分页/详情、会员公共产品详情,报告入口、匹配三态列表、产品解释/资料/条件三栏。任务PRODUCT-004保持开发中,PRODUCT-003公共详情部分有实现证据,其他工时和依赖未改。
| 检查 | 环境/结果 | 覆盖及限制 |
| --- | --- | --- |
| match_records.php --worker-stopped | PHP7.4/MySQL/Redis,62项通过 | HTTP鉴权/所有权/GET限制、分页三态/游标、旧报告、损坏快照、重复GET无副作用;下架/过期/删除/改价的历史稳定性用事务回滚验证;假模型不调用供应商 |
| Web编译 | HBuilderX5.26,成功 | 开发服务初始存在layout.uts既有类型提示,不是本轮新增;浏览器业务运行正常 |
| Android编译 | HBuilderX5.26,成功 | 修复分组对象Any?类型后Kotlin/class通过;未做真机测试 |
| H5主链路 | Chromium,390×844、1280×900,通过 | 登录→报告→本次匹配→详情三栏→展开理由→返回→不符/待核实;刷新同一评估、万元精度0.800001/12.345678;无框架错误遮罩 |
| H5边界 | 同浏览器,通过 | 公共模式无个人解释、无ID引导及新评估、越权404不回退、查看更多无重复、网络失败后重新加载成功 |
浏览器使用Playwright CLI,原因:本会话没有Browser插件及browser技能(Browser plugin not available)。分页UI测试仅将真实API请求limit改为1,使现有两个候选产生第二页,不伪造响应。网络失败为一次主动abort,用于验证重试;控制台出现预期net::ERR_FAILED,正常主链路无运行错误/警告。测试工具脚本曾因运行环境没有URL构造器失败,改用字符串替换后复验通过,未因此修改业务代码。
截图:[手机匹配](<C:/Users/JUN/AppData/Local/Temp/airz-match-pages-qa/matches-mobile.png>)、[手机产品](<C:/Users/JUN/AppData/Local/Temp/airz-match-pages-qa/product-mobile.png>)、[待核实原因](<C:/Users/JUN/AppData/Local/Temp/airz-match-pages-qa/unknown-mobile.png>)、[桌面产品](<C:/Users/JUN/AppData/Local/Temp/airz-match-pages-qa/product-desktop.png>)。临时截图不是正式发布验收档案。
剩余:单产品AI解释尚未生成;真实产品与人工样例签收、微信内H5/Safari/真机未验证;返回列表首屏/原路登录恢复待完善。下一步按既定页面方案推进PRODUCT-005同评估2—3产品对比,再接REPORT-004报告三栏;PDF、行动页和上下文助手独立验收。本轮无迁移/新增表,无收费模型调用。
收尾:合成账户/评估/会话/队列和隔离HTTP服务已清理;原1会员、2条成功评估/会话、25张表保留,syntheticUsers=0。正式分析worker已恢复(本轮PID21560),错误日志为空;6条本地演示产品继续保留。63项任务编号/依赖/工时一致且无环,25条路由、文档链接、UTF-8无BOM及git diff --check通过。
### 6.14 2026-09-28 融资档案布局恢复与只读交互验证
对应ASSESS-004、REPORT-004的档案展示子项,原任务编号/依赖/估时不变,不将页面改造计为一期整体验收。保留截图中的分段切换、蓝色完整度卡片、四组图标/资料卡及蓝色主按钮;与旧图的有意差异为新增历史选择、只读展开、查看报告/新评估双入口,移除草稿保存与继续编辑。旧assessmentId深链仍可读取本人记录。
| 检查 | 结果与证据 | 范围限制 |
| --- | --- | --- |
| Web、Android、微信小程序编译 | HBuilderX5.26通过;Android将不支持的baseline对齐修正为flex-end | Web保留layout.uts既有类型提示;小程序未进行微信开发者工具/真机验证,Android未真机运行 |
| 主流程 | Chromium,http://localhost:5175/,390×844与1280×900通过;有页面标题、非空内容、无框架遮罩 | Browser plugin not available,沿用已有Playwright CLI,无安装新依赖 |
| 真实接口链路 | 随机合成账户+2条个人/1条企业记录+假模型报告:类型过滤、历史选择/刷新、分组只读展开、金额12.345678/0.800001/100.000001万元、0经营月数、同次报告入口、新评估入口通过 | 真实本地PHP/MySQL/Redis读接口,假模型不调用供应商;非真实用户资料 |
| 分页与边界 | 历史请求limit临时转为1验证第二页、无重复;他人评估161返回真实404且无最新记录回退 | 仅测试请求改limit,业务默认20;不改数据库已有历史 |
| UI异常分支 | 浏览器响应拦截验证空记录、v1未计算、processing/failed不请求报告、报告断网后可看资料并重试、401清除页面资料并转登录 | 这些分支为受控响应/网络故障注入,不代表供应商或生产环境验收 |
| 控制台 | 正常操作无业务错误/警告;故障注入对应预期网络错误、越权404及会话401 | 初次浏览器导航受启动时序影响中断、重复登录脚本在已登录页等待超时;回到正确页面后重新验证通过 |
[手机档案](<C:/Users/JUN/AppData/Local/Temp/airz-archive-20260928/archive-mobile.png>)、[企业档案](<C:/Users/JUN/AppData/Local/Temp/airz-archive-20260928/archive-enterprise-mobile.png>)、[空档案](<C:/Users/JUN/AppData/Local/Temp/airz-archive-20260928/archive-empty-mobile.png>)、[桌面档案](<C:/Users/JUN/AppData/Local/Temp/airz-archive-20260928/archive-desktop.png>)。截图为临时验证证据。
尚未验证:微信内置浏览器、小程序与Android/iOS真机;账户切换并发采用代码中的Token/请求序号/离页清理防护,本轮通过401清理验证但未做完整双账户并发压力测试。后续计划仍为PRODUCT-005产品对比及REPORT-004报告三栏,不恢复草稿功能。
收尾记录:本轮合成账户、3条评估/会话和测试队列已清理,隔离HTTP服务已停止;保留原1会员、2条成功评估/会话、25张表,syntheticUsers=0。正式分析worker已恢复(PID44028),错误日志为空。最终Android编译通过,UTF-8无BOM、文档63项任务/依赖/估时一致及diff检查通过。
### 6.15 2026-09-28 个人中心入口去重验证
对应ASSESS-004/REPORT-004的入口体验,任务编号/依赖/工时不变。修改profile/profile.uvue、新增账户分包services/latest-report.uts;未改后端、未执行迁移或数据库写入、未调用模型。
- HBuilderX5.26:Web、Android、微信小程序本地编译通过;微信/Android/iOS真机尚未验证。
- Chromium,http://localhost:5175/,390×844及1280×900:页面标题/内容正确,三个图标入口对齐,无框架遮罩。使用已有Playwright CLI,原因Browser plugin not available。
- 浏览器使用拦截的合成登录/账户/评估/报告响应验证入口行为,没有使用真实账户或写库:未登录跳登录;个人/企业选择进入对应entry;最近成功报告直接打开指定ID;无成功时提示处理中并进入该任务;全空/无可用报告提示后可取消;融资档案仍进入历史;网络失败后再次点击成功。
- 检查成功路径只请求status=succeeded&limit=1,空成功路径再请求processing;通过延迟响应验证连续点击只发一次请求、离页后响应不抢跳;401回到登录。真实服务已有status筛选/ID倒序/limit实现,本轮未增加后端逻辑,也未将合成响应验证视为生产联调。
- 正常路径无业务控制台错误/警告;故障注入的net::ERR_FAILED与401为预期。最终文本UTF-8无BOM、diff检查及文档63项任务一致性检查通过。
截图:[手机个人中心](<C:/Users/JUN/AppData/Local/Temp/airz-profile-20260928/profile-mobile.png>)、[桌面个人中心](<C:/Users/JUN/AppData/Local/Temp/airz-profile-20260928/profile-desktop.png>)。测试脚本及截图在临时目录,不引入生产模拟数据。浏览器测试会话完成后关闭。
### 6.16 2026-09-28 原型07产品对比验证
PRODUCT-005基础实现,状态待验收;原依赖PRODUCT-004、1.5–2.5人日估算及63个任务编号不变。新增compare页面和选择服务,修改匹配列表/详情入口、冻结详情元数据适配及pages.json。26个注册页面(融资分包10页),不新增后端接口、业务表或数据库迁移。
| 检查 | 结果与证据 | 验证边界 |
| --- | --- | --- |
| 编译 | HBuilderX5.26的Web、Android、微信小程序本地编译通过 | Web已有layout.uts类型提示保留;Android不支持百分比min-width,已将该桌面样式限制为非App;非真机运行结论 |
| 主流程 | Chromium,http://localhost:5173/;390×844及1280×900。列表跨分组加入2/3项→对比→详情→返回→补选;上限提示、3→2→1→0移除、单产品详情加入、URL刷新均通过 | 使用已有Playwright CLI,Browser plugin not available,无新安装依赖 |
| 真实接口 | 临时随机合成账户与假模型完成的个人评估,经真实PHP/MySQL/Redis读取;符合22、不符23、待核实24各列正确,产品顺序保持,金额12.345678/0.800001万元精度保留 | 6条演示产品,无真实机构资料验收,不调用收费模型,不更改原2条成功评估 |
| 权限与参数 | 非法评估ID、重复/超3/带前导零/空段产品ID拦截;无效产品参数不发详情请求;他人评估161和不在本次目录的产品25真实404,无公共产品回退 | 不将错误结果当作完整对比,不自动改查最新评估 |
| 故障注入 | 单列断网仅重试该列;assessmentId错配与catalogSnapshotId不同拒绝;缺失额度/期限显示未提供;下架保留历史且标识当前不可用;401跳登录 | 以上变体通过浏览器拦截,不改数据库或供应商服务;最多3个详情请求并行 |
| 生命周期 | 延迟列在离页后明确释放并收到响应,页面保持在匹配列表,不恢复旧列;刷新重新鉴权 | 尚未做双真实账户并发压力测试;选择内存按账户/Token/评估隔离 |
| 视觉及控制台 | 页面标题/内容非空、无框架遮罩;首列横向不移动,产品区可横滚,桌面列宽展开。正常流程无业务控制台错误/警告 | 故障注入的ERR_FAILED、404、401为预期;长单元格内部上下滚动,微信内H5/Safari及真机待测 |
脚本和截图位于临时目录airz-compare-20260928:flow.js、interactions.js、edges.js、late.js;其中异常深链测试通过完整导航/刷新独立载入各参数。初次滚动检测误选嵌套单元格滚动容器,修正选择器后验证通过;不把脚本定位失败计为业务通过。图示:[手机对比](<C:/Users/JUN/AppData/Local/Temp/airz-compare-20260928/compare-mobile.png>)、[手机横向滚动](<C:/Users/JUN/AppData/Local/Temp/airz-compare-20260928/compare-mobile-scrolled.png>)、[桌面对比](<C:/Users/JUN/AppData/Local/Temp/airz-compare-20260928/compare-desktop.png>)、[失败列](<C:/Users/JUN/AppData/Local/Temp/airz-compare-20260928/compare-failed-column.png>)。
下一步:REPORT-004报告三栏;单产品AI解释、PDF、上下文助手和行动页仍分别开发与验收。真实产品/人工金标准及微信内H5、真机尚未验收,不将PRODUCT-005记为整体已完成。
收尾:合成账户、评估/会话、会话Token及隔离队列已清理;测试HTTP服务与浏览器会话已关闭。正式分析worker已恢复(本轮PID28124),错误日志为空;原1会员、2条成功评估/会话、25张表保留,syntheticUsers=0。63项任务编号/依赖/工时一致且无环,当前26路由、相对链接、UTF-8无BOM与diff检查通过;无提交、推送或发布。
### 6.17 2026-09-28 原型09报告三栏验证
REPORT-004三栏页面子项完成本地联调,整体仍开发中。改动report/report.uvue、records.uts报告适配、matches.uts列表元数据及matches/matches.uvue离页渲染守卫;保留26个页面、63项任务、原依赖与估时。后端业务未修改,无迁移、无新增表、无收费模型调用。
| 检查 | 结果与证据 | 范围限制 |
| --- | --- | --- |
| 编译 | HBuilderX5.26的Web、Android、微信小程序本地编译通过 | Web既有layout.uts类型提示保留;没有微信开发者工具、Android/iOS真机或发行验证 |
| 主流程与视觉 | Chromium,http://localhost:5173/,390×844与1280×900;标题、非空页面、无框架遮罩;三栏切换/刷新、展开事实/逐项完整度、产品详情返回、分组入口、历史入口通过 | Browser plugin not available,沿用现有Playwright CLI;无新依赖安装,未做微信内H5/Safari验收 |
| 真实接口数据 | 随机合成账号,2份个人/1份企业评估,假模型报告;读取真实PHP/MySQL/Redis,金额12.345678、0.800001、100.000001万元与经营0个月保留;企业100%及个人缺失字段正确 | 不使用真实用户资料,演示产品不代表真实机构资料验收;原2条历史报告未修改 |
| 请求与跳转 | 概况不查询匹配;候选limit=3,改善分组各limit=3;流程登录后只有GET,无提交/重试分析写请求;重新评估选择主体进入空白表单 | 未恢复草稿或复制旧报告资料;PDF/下一步行动/上下文助手独立排期 |
| 旧版与空状态 | 浏览器受控响应验证v1三栏兼容且不请求匹配,未发布完整度显示“—”,真实0%不当缺失;未匹配与已匹配零候选区分,不补假卡片 | v1/策略变体为合成响应,没有重写已有报告;不据此认定所有生产历史格式均已覆盖 |
| 独立失败与边界 | 候选失败只重试候选,建议某组失败保留另组;目录版本不一致不显示卡片;下架保留历史参数;AI建议显示关联字段;不支持报告版本提示错误,报告断网可重试 | 异常为浏览器故障注入,非真实供应商故障;三态统计/冻结版本校验使用真实DTO |
| 权限与生命周期 | 无效ID/tab不请求API;他人评估161真实404不回退;401清理并回登录;候选延迟响应在切到概况后释放,不能恢复旧卡片 | 本轮未做双真实账户并发压力;Token/请求序号/可见性守卫保留 |
| 返回回归 | 定位Matches卸载时重建空状态引发的attachVmProps挂载错误;增加pageActive守卫,先关闭渲染再清理;重新加载后连续3次列表→返回→切栏无控制台错误/警告,延迟测试同样无错误 | 热更新期间旧页面实例仍可能保留旧生命周期;最终证据来自完整重新载入后的脚本 |
脚本和截图位于临时目录airz-report-tabs-20260928:flow.js、edges.js、navigation.js、late.js、capture.js。最初API路由拦截未命中,改用**/api/v1/**并确认隔离HTTP服务收到请求后重跑通过。正常流程最终无业务控制台错误,故障注入ERR_FAILED/404/401为预期;未将前期失败掩盖为通过。
截图:[概况手机](<C:/Users/JUN/AppData/Local/Temp/airz-report-tabs-20260928/overview-mobile.png>)、[匹配手机](<C:/Users/JUN/AppData/Local/Temp/airz-report-tabs-20260928/matches-mobile.png>)、[改善手机](<C:/Users/JUN/AppData/Local/Temp/airz-report-tabs-20260928/improvements-mobile.png>)、[产品依据](<C:/Users/JUN/AppData/Local/Temp/airz-report-tabs-20260928/improvements-evidence-mobile.png>)、[概况桌面](<C:/Users/JUN/AppData/Local/Temp/airz-report-tabs-20260928/overview-desktop.png>)、[匹配桌面](<C:/Users/JUN/AppData/Local/Temp/airz-report-tabs-20260928/matches-desktop.png>)。
后续建议按页面方案推进08上下文AI助手(CHAT模块),再衔接10行动页与09 PDF独立任务。真实产品/人工金标准、外部渠道、微信内H5及真机均仍待验收,不标整体验收完成。
收尾:随机合成账户、3条评估/会话、Token和隔离队列已清理,测试HTTP服务和浏览器会话已关闭;原1会员、2条成功评估/会话、25张表保持,syntheticUsers=0。本轮开始时未发现运行中的analysis:work,清理后已启动正式worker(PID33796),错误日志为空。文本编码、diff检查、63任务一致性与26条路由检查通过;未提交、推送或发布。
### 6.18 2026-09-28 原型04/05还原与单产品AI解释
本轮优先实现PRODUCT-004的04、05子范围。页面按原型还原机构头部、状态标签、三栏栏目、绿色推荐依据、橙色不推荐/注意事项、底部双按钮;真实匹配仍使用符合已知条件/条件不符/待核实三态,不展示原型中的匹配百分比、审批概率或虚构银行优势。额度、年化、期限移入产品详情;证据和来源保持可展开查看。
| 检查 | 结果与证据 | 验证边界 |
| --- | --- | --- |
| 后端回归 | `php tests/product_explanations.php --worker-stopped`通过51项;`php tests/match_records.php --worker-stopped`通过70项。覆盖鉴权、归属、POST参数、并发幂等、成功缓存、失败三次边界、用量记录、超时回收、迟到结果、快照/游标和删除记录 | 使用随机合成账户与假模型,测试前停止worker,结束自动清理;无迁移/新表 |
| 真实模型 | DeepSeek `deepseek-v4-flash-0731`调用成功,输入911—1087 tokens、输出235—315 tokens,耗时约2.9—4.5秒;保存逐条reasonId/text/evidenceRefs | 共6次真实Flash调用,4次成功、2次因理由顺序被旧校验拒绝;按ID集合校验修复后不符与待核实样例通过。未声称真实机构业务准确性,不记录密钥 |
| 前端主流程 | Chromium,H5 `http://localhost:5173/`;390×844、390×1000、1280×900。已保存解释读取、证据展开、产品详情/申请条件切换、失败重试、刷新保留queued、三态页面和底部操作通过 | Browser plugin不可用,使用Playwright CLI;未做微信内置浏览器、Safari、Android/iOS真机 |
| 故障与安全 | 轮询断网后规则理由仍保留并可手动查询;迟到响应不切回旧栏;下架保留历史参数且禁用资料准备;公共模式不显示AI栏;非法评估ID不发请求;越权不回退公共产品;401回登录;读取已保存结果不发POST | 故障为本地路由注入;未做多设备压力测试 |
| 视觉对照 | 已查看`docs/原型.jpg`原图及04/05放大局部;对照机构头部、绿色/橙色编号、三栏、底部按钮、白底密度五类要素。保存截图于`C:/Users/JUN/AppData/Local/Temp/airz-product-explanation-20260928/` | 原型中的真实银行Logo、92%匹配度、立即申请和咨询AI无已确认数据/接口,因此使用通用图标、状态标签、资料准备/对比入口并在页面说明 |
本轮新增接口和状态契约见`docs/产品匹配规则开发契约.md`第9节;不新增业务表或数据库迁移。analysis:work已恢复运行。下一步为原型08上下文助手,随后10行动页和09 PDF;真实产品资料与人工金标准提供后再做正式匹配验收。
6.18收尾补记:HBuilderX5.26 Android与微信小程序最终编译通过;H5运行页面身份正确、非空、无框架错误遮罩,最终三态读取流程无console.error/warn,不发POST。首次Android暴露UTS局部函数前向引用限制,调整声明顺序和轮询回调后修复。临时HTTP服务首次未指定public目录导致首页HTML响应,修正启动参数后重跑;早期脚本误用不存在的按钮文案和CLI环境未定义setTimeout,修正定位/等待后通过,不将脚本失败算作业务通过。
最终对照检查了机构头部、栏目文字/选中线、理由顺序和编号、字体与行距、底部按钮及桌面容器;原型单页小图不适合按原始像素直接作为可读手机界面,使用390×1000接近纵横比并同时检查390×844。长规则标题缩短重复核验模板,原始依据仍完整可展开。首屏有意差异为演示标记/通用图标、三态替代百分比、真实理由数量、资料准备和对比替代尚未接通的申请/咨询;说明见原型方案第8节。
截图:[04手机](<C:/Users/JUN/AppData/Local/Temp/airz-product-explanation-20260928/product04-mobile.png>)、[05手机](<C:/Users/JUN/AppData/Local/Temp/airz-product-explanation-20260928/product05-mobile.png>)、[04/05并排](<C:/Users/JUN/AppData/Local/Temp/airz-product-explanation-20260928/prototype04-05-result.png>)、[待核实](<C:/Users/JUN/AppData/Local/Temp/airz-product-explanation-20260928/product-unknown-mobile.png>)。测试脚本flow.js/retry.js/states.js/capture05.js/edges.js/final-capture.js均在同一临时目录;界面已保存输出来自真实Flash,基础评估报告由假模型生成。
合成账号及其评估/会话/日志、Token和隔离队列已清理,测试HTTP服务关闭,正式analysis:work恢复(PID50752);数据库仍为1会员、2成功评估/会话、25张表。63项编号/依赖/工时一致且无环、26路由、UTF-8无BOM、链接及diff检查通过;本轮没有执行git提交、推送或发布。
### 6.19 2026-09-28 原型08上下文助手实施与验证
- 界面按原型恢复机器人问候、快捷问题、聊天气泡和输入栏,新增紧凑上下文卡与历史对话。报告/单产品/对比入口、登录返回及H5 chatId刷新已接通。
- 后端AssistantChats/Assistant控制器、四组助手API、持久日志任务已实现。普通会话不占正式assessment_id;服务端冻结事实、同键幂等、三次重试、租约恢复、迟到只补用量、六轮历史裁剪及共享每日额度均已接入。API与边界见[助手契约](上下文AI助手开发契约.md)。
- 经本轮用户授权,停止空闲worker并备份后完成5项增量迁移,复跑0项;备份为后端相邻airz-backups/assistant-context-20260928-154651-271907。逐条对照确认原2份会话/2条日志未改写,原评估保留。数据库仍25表、1会员、2份评估/会话。
| 验证 | 结果 | 边界 |
| --- | --- | --- |
| 后端 | 助手70项、产品解释51项、分析任务31项、评估HTTP36项、匹配HTTP/快照70项通过 | 合成账户/假模型;无本轮收费模型调用 |
| 并发及故障 | 双进程发送串行;跨会话仅剩一次额度不会超扣;同键重放、三次重试、租约失效、迟到用量、归属及上下文冲突通过 | 修复MySQL旧快照导致序号竞争,关键查询使用锁定当前读 |
| H5 | Chromium390×844及1280×900;普通/评估/产品/对比、23轮分页、刷新、回执丢失、额度错误、失败重试、跨账号清理、真实密码登录返回通过 | Browser plugin not available,使用现有Playwright CLI;无安装依赖 |
| 编译及视觉 | HBuilderX5.26 Android、微信编译通过;最终页面非空、无框架遮罩,正常流程console.error/warn为0 | 原生端百分比max-width已修正;旧开发服务器未载入新登录代码,重启后复测通过;H5编译器仍提示共享layout既有类型声明警告,不是浏览器运行错误 |
| 清理 | 合成账号、评估、会话、日志、Token及队列已清理,隔离HTTP服务与浏览器关闭 | 截图及无凭据QA脚本保留临时目录,不提交仓库 |
截图:[普通助手](<C:/Users/JUN/AppData/Local/Temp/airz-assistant-20260928/assistant-normal-mobile-final.png>)、[上下文助手](<C:/Users/JUN/AppData/Local/Temp/airz-assistant-20260928/assistant-context-mobile-final.png>)、[桌面](<C:/Users/JUN/AppData/Local/Temp/airz-assistant-20260928/assistant-context-desktop-final.png>)。真实DeepSeek多轮语义、真实产品人工样例、微信内H5/Safari、真机键盘/安全区及生产容量未验收,不能将假模型联调描述成真实回复验收。CHAT-001—003待验收、CHAT-004开发中;原型10及09 PDF仍未开始。保留用户已有改动,未提交、推送或发布。
### 6.20 2026-09-28 原型10实施与验证
- 新增next-step页、主包白名单路由帮助函数和四个SVG图标;报告/产品/助手/登录入口增量接通。63项编号及依赖保持不变,REPORT-006待验收;无提交、推送或发布。
- H5 Chromium 390×844、1280×900:主流程14项、边界21项、导航及本机缓存3项,共38项通过。覆盖报告/产品入口、无产品选择、准备刷新、AI上下文往返、个人/企业空白重评、首页清栈、冷启动返回、越权、错误产品、参数、账户切换迟到响应及真实密码登录恢复。正常主流程无业务console.error/warn,无POST或模型请求。
- 主流程使用临时合成个人/企业成功报告和真实只读API;不符/待核实及跨账户拒绝也来自真实API。不可用、快照不一致、503、无匹配、旧版、未完成、迟到响应采用可控响应注入,未修改正式产品。登录验证单独发送登录POST,不能把只读页面测试说成无任何写入。
- 最终HBuilderX5.26 Android(17:04:58)及微信小程序(17:05:58)27页编译成功。共享layout既有H5类型警告保留,未做无关重构。真机、微信内H5/Safari、真实产品渠道未验收;08真实多轮语义仍待验收。
- 测试前确认worker空闲并停止,结束清理全部合成账号/评估/会话/日志/令牌/队列,关闭隔离HTTP和浏览器。恢复1会员、2评估/会话、2日志;原评估161/229会话摘要前后相同。正式worker恢复PID45420,H5最新服务5173(PID51832),新会话须重新检查PID。
- 证据目录:`C:/Users/JUN/AppData/Local/Temp/airz-next-step-20260928/`,包含无凭据QA脚本与verification.md;脚本中的__QA_FIXTURE__需由新合成数据注入。截图:[行动页手机](<C:/Users/JUN/AppData/Local/Temp/airz-next-step-20260928/actions-mobile.png>)、[材料准备手机](<C:/Users/JUN/AppData/Local/Temp/airz-next-step-20260928/prepare-mobile.png>)、[行动页桌面](<C:/Users/JUN/AppData/Local/Temp/airz-next-step-20260928/actions-desktop.png>)。
下一步实施REPORT-005 PDF导出;当前无下载按钮或虚假成功提示,不包含银行受理/授信/放款。
### 6.21 2026-09-28 PDF导出实施与验证
- 后端ReportPdf、Assessments::pdf、MatchRecords::exportSnapshot及report.pdf路由;前端ReportExport组件、report-export.uts下载器与report-route.uts登录白名单。只读本人成功报告,无迁移/新表/收费模型调用。依赖和部署见后端extend/report-pdf/README.md。
- `php tests/report_pdf.php`29项:精度、零值、最大金额、隐私字段与文本遮蔽、HTML转义、v1、未匹配/零候选、企业、关闭引擎503、真实PDF。样本通过Poppler逐页渲染、pdfplumber中文提取/隐私/页面边界检查,末尾版本说明整体分页,避免只剩免责声明的尾页。
- `php tests/report_pdf_http.php --worker-stopped`20项真实HTTP:401/404/409 JSON、no-store、合法二进制/MIME/安全文件名、重复下载不改报告与调用日志、不查询当前产品目录、损坏/撤销会话拒绝。合成账号/评估/日志/Token/队列及隔离服务已清理;没有真实模型调用。
- 浏览器使用Playwright CLI(Browser plugin not available),Chromium390×844/1280×900,24项检查通过:普通流程6项、边界18项。页面身份/非空/无框架浮层、正常流程console.error/warn为空;实际download事件文件可解析。API响应采用合成报告及后端生成的真实PDF注入;错误页、损坏、断网、503、401、离页、账号切换、微信UA提示均验证。不能把受控UI响应检查描述为浏览器完整真实后端联调;真实HTTP另由上项覆盖。真实密码登录回跳本轮未重跑。
- 最终HBuilderX5.26 Android17:34:03、微信小程序17:36:09编译通过。原生/小程序仅提示普通H5下载,不宣称原生保存可用;微信内H5/Safari/真机、生产并发容量仍未验收。共享layout既有H5类型警告保留。
- 自动审批曾拒绝一条“创建合成UI账号+启动隔离服务+浏览器”的组合命令,仅返回blocked by policy,未给具体理由;没有重试该组合或规避限制。已恢复worker,并采用无服务器凭据的受控浏览器响应完成UI检查。其他工具路径/定位问题修正后验证通过。
- 当前数据库1用户、2成功评估/会话、2日志、0待处理;原161/229报告会话摘要与执行前一致。worker PID34324、H5 5173/PID51832已核对运行,后续勿硬编码PID。无提交/推送/发布。
- 证据目录`C:/Users/JUN/AppData/Local/Temp/airz-report-pdf-20260928/`:personal/enterprise/legacy/unmatched/zero-candidates/long.pdf、http-personal.pdf、browser-report.pdf及对应渲染图;ui-flow.js/ui-edges.js只含不能访问服务器的合成会话标识。截图:[手机报告](<C:/Users/JUN/AppData/Local/Temp/airz-report-pdf-20260928/report-pdf-mobile.png>)、[桌面报告](<C:/Users/JUN/AppData/Local/Temp/airz-report-pdf-20260928/report-pdf-desktop.png>);[合成PDF样本](<C:/Users/JUN/AppData/Local/Temp/airz-report-pdf-20260928/personal.pdf>)。
REPORT-005待验收。下一步08真实DeepSeek多轮语义、真实产品人工样例与微信内H5/Safari/真机验收;真实模型调用会产生用量,应在具体样例及预算边界明确后执行。
### 6.22 2026-09-29 原型08真实语义小样本
- 真实Flash请求6次,全部完成持久回复;普通/对比各两轮,报告/单产品各一轮。输入16038、输出1432 token,无收费重试;详细逐例判定和原始证据见[真实语义验收记录](AI助手真实语义验收.md)。
- 金额、历史承接、三态及拒绝改判核心表现正确。演示产品的机构核验/申请建议不够严谨,提示词已收紧,但修订后未再次真实调用,不宣布全量语义通过。
- 后端新增计划/假模型/真实模式脚本与纯解析回归;正常否定误拦和列表标记显示已修复。70项助手回归、24项解析/离线回放、20项合成流程通过;未重复前端编译或浏览器检查,因为本轮无前端代码变更。
- 测试前停全部空闲worker;数据及隔离队列清理完成,四张既有表摘要一致,1用户、2评估/会话、2日志,原161/229会话摘要不变。worker恢复PID52036,无迁移/提交/推送。
- 下一步:限定用量复测修订提示词,再补真实产品、微信内H5/Safari和真机、生产容量/守护与商业额度验收。CHAT状态不变。
### 6.23 2026-09-29 定向语义复测与金额精度
- 本轮4次真实Flash(单产品1轮、对比连续3轮),输入19089/输出988 token,14项流程检查通过;演示/冻结边界正确,但3条出现12.35万元舍入,不能以HTTP及落库成功宣称语义通过。累计真实10次。
- AssistantChats新增冻结金额白名单和精确换算表;落库前使用十进制字符串校验元/万元/数字万、全角/千分位与共用单位区间,错误金额失败且保留用量,不自动重试。未带单位数值和字段归因不是此守卫的完整覆盖范围。
- 76项助手检查通过;29项金额单测及两组真实响应离线回放通过,首轮6条全接受、本轮4条拒绝3条。22项格式检查通过,但不包含金额上下文,不能用其替代金额回放结论。定向假模型14项通过;最终PHP语法及差异检查通过。
- 新增--boundaries定向模式和源码摘要证据,默认计划只读,4次硬调用上限。金额提示词修订后没有新增真实调用;下一步须验证真实回复精度和成功率,再补真实产品、跨平台、真机及生产容量。
- 合成账号/评估/会话/日志/队列已清理,四张既有表摘要一致,原161/229报告未改写。无前端修改、迁移、提交或推送。证据和逐例判定见[真实语义验收记录](AI助手真实语义验收.md)。
### 6.24 2026-09-29 金额精度专项完成
- 同一对比会话真实Flash连续3轮,申请金额始终123456.78元=12.345678万元;口头80000元修改仅为假设,原报告和三态不变。三条实际回复均通过金额守卫、成功持久化;第1项限定样例验收通过。
- 输入16582、输出971 token,无自动重试;累计13次真实调用。系统/用户/历史消息共2、4、6条,源码摘要与当前生产代码相同;详细证据及重复同名JSON键观察见真实语义验收记录,不扩张为全量输出格式通过。
- 真实及假模型各11项流程检查、30项金额单测/回放、21项格式解析/回放通过。仅扩展验收脚本与文档,生产代码未改,不重复前端及76项全量助手检查。
- 合成资料与队列已清理,既有四表摘要不变,1用户、2评估/会话、2日志、0待处理,原161/229报告未改写;worker恢复PID44944。无迁移、提交或推送。
- 下一步移动端键盘/安全区/长回复滚动/返回恢复/失败重试、微信内H5和Safari;真实产品与生产容量仍未验收。CHAT任务整体状态不变。
### 6.25 2026-09-29 原型07/08/09局部还原验证
- 用户确认范围:08仅上下文摘要折叠和历史入口弱化;07核心参数优先、详细依据展开;09元信息/导出区压缩、准备状态和改善内容优先。关键状态与兼容逻辑有中文注释。
- Browser plugin not available,使用已缓存Playwright CLI 0.1.21及现有localhost:5173 H5。全部API采用受控合成响应、无服务器权限的会话;PDF成功分支复用本地合成PDF。非GET被拦截,主流程POST为0,没有真实API端到端或真实模型调用。
- 360×780、390×844、1280×900截图与页面身份/非空/无遮罩检查通过。08普通/报告/三产品上下文、展开三态和演示提示、返回来源、历史打开、新对话恢复折叠、快捷问题只填输入通过;上下文折叠卡390px视口高度41.5px。
- 07三列同时可见,展开完整依据、移除后2列/1列和URL更新、单列失败不填零、重试恢复、当前下架/过期提示可见通过;09三栏、报告信息展开、下载成功/失败、报告读取重试通过;10原导出提示仍保留。修复本轮发现的报告离页挂载错误后,最终主流程及异常检查无console error/warn、无pageerror。
- HBuilderX5.26 VDOM最终Android 12:12:00、微信小程序12:15:00编译成功,27页和63项任务不变。微信内H5/Safari/真机键盘与安全区仍待验收,不宣称原生PDF下载可用。
- 截图与无真实凭据的临时脚本:C:/Users/JUN/AppData/Local/Temp/airz-hierarchy-20260929/(verify.js、edges.js)。合成浏览器会话已清空;未修改数据库、未停worker、未提交/推送。既有文档和后端改动保留。
### 6.26 2026-09-29 远程MySQL5.7迁移验证
- 用户已授权复制本机25表184行,并明确改用root账号执行服务器设置。第一次airz账号触发器创建报1419,远程仅留下5张空表;本轮临时开启log_bin_trust_function_creators后重新冻结本项目写入/空闲worker、生成一致性备份,验证遗留空表定义后续导。
- 25表全量规范化内容摘要一致,列定义/索引/外键/自增序号相同;2份历史报告、金额和快照未改写。20个CHECK替换为8个BEFORE触发器;51项INSERT/UPDATE非法拒绝、正常/NULL、外键/唯一/JSON验证通过,所有探针回滚后再次核对摘要一致。
- 活动.env的database段改为远程5.7.44-log及用户指定root账号,其余私密配置未改。全局参数恢复0、触发器保留;新PHP进程与真实HTTP共24项通过,含2份报告/金额/助手上下文、鉴权401、临时Token撤销与队列为空。只删除本次临时Token;无付费模型调用。
- 原两个Web入口恢复文件哈希,worker恢复PID1876;后续重查。source-mysql8.sql/source.env.private、验证摘要和完成记录在D:/AAdesk/202609/airz-backups/mysql57-switch-20260929/prepared-20260929-144304/,不含凭据的方案见后端database/mysql57-switch.md。
- 本机MySQL8保留。远程已经恢复正式写入,回退必须考虑新增数据;不得直接覆盖/丢弃。后端schema.sql更新为5.7含触发器结构,历史本机迁移脚本不适用于远程。跨平台/真机/生产容量等既有验收边界不变。
### 6.27 2026-09-29 新域名 PHP 部署验收
- 通过宝塔网站页面添加PHP站点,用户改域名后新绑定 aitest.ychysg.cn、删除旧绑定;HTTPS证书与强制跳转已实测,TLS1.3、默认信任校验成功。宝塔自动续签任务正常;尚未实跑到期续签。
- PHP7.4.33 在 Rocky Linux10.2/GCC14 编译时仅本次放宽 incompatible-pointer-types 的 error;修复宝塔FPM单元PID路径。ThinkPHP所需putenv从Web/CLI禁用列表中移除;十项扩展通过。Redis仅本机监听,开启认证及AOF,生产debug关闭。
- 伪静态重写限制到 location /,修复后台PATH_INFO跳转404。外网后台登录页200且表单/验证码截图正常;未验证后台业务登录。字典200、匿名报告401及7条敏感路径404。
- 新域名HTTPS服务器39项全部通过:依赖/数据库/空队列、历史161/229报告/金额/解密/冻结匹配/助手上下文、真实鉴权HTTP和两份PDF、Token撤销。临时Token已清理,无报告改写或真实AI调用。
- PHP、Redis、airz-analysis均active/enabled,worker最后MainPID566317/NRestarts0、日志无storage error;本机analysis:work已停止。部署zip/_deploy移至root私密备份目录,不留公开校验入口。
- 无新增数据库迁移,无业务源码改动、提交或推送。后端README及deployment-baota.md补充运维、兼容配置、备份和回退;前端H5未发布,下一步可对接新HTTPS API并继续移动端/跨平台验收。
- 证据:C:/Users/JUN/AppData/Local/Temp/airz-bt-deploy-20260929/ 下 terminal-new-domain.png、terminal-final-domain-status.png、terminal-archive.png、aitest-admin-login.png。目录含私密部署配置,不整体共享。
### 6.28 2026-09-29 原资料表单恢复验收
验证:53项资料表单专项、51项匹配兼容、29项PDF、18项助手回复、29项助手金额检查通过;服务器维护窗口22项实际HTTPS与假模型流程通过,测试用户/Token/任务已清理,无收费AI调用。微信最终编译通过;Android编译通过,未覆盖真机。H5通过Playwright受控响应检查个人/企业表单及v3提交、报告和对比;仅用于页面验证,不能代替外网或真实模型验收。
PHP十个生产文件已通过宝塔文件页面部署,php-fpm/Redis/airz-analysis恢复active,最后worker PID604113、NRestarts0(后续须重查)。站点仍/www/wwwroot/xctai.cn;代码与nginx备份及临时验收包已归档/root/airz-profile-20260929/。前端改动尚需重新发行并上传微信体验版,H5未发布。
当前外网阻塞:aitest.ychysg.cn已被腾讯云备案检查拦截,HTTP跳转dnspod.qcloud.com/static/webblock.html,外网HTTPS连接重置。服务器本机TLS与应用接口通过,不等于外网可用;体验版联网前需完成域名备案/接入并复测。此前“外网正常”的记录仅代表早先验收时间。
页面证据在仓库外C:/Users/JUN/AppData/Local/Temp/airz-profile-20260929/;数据库与服务器恢复说明见后端database/restore-profile-form.md。未提交/推送代码。
本轮H5验收环境:http://localhost:5173/,Chromium,390×844及1280×900;Browser插件不可用,使用现有Playwright CLI。个人/企业逐步填写→确认→合成提交均通过,捕获payload inputVersion=3且无四需求字段;个人收入0.800001万元精确提交8000.01元、企业经营月数0保留。报告页面身份/非空/无错误覆盖层正常,对比展开后无需求覆盖行,产品参数仍在;10项最终断言通过,console/pageerror均无错误,刷新表单为空。页面用受控响应,不调用真实远程POST或模型。