pengzhikang 48c2134d2a feat(board): align v3 output matrix and report presentation 2 дней назад
..
README.md 48c2134d2a feat(board): align v3 output matrix and report presentation 2 дней назад
baseline-summary.json 48c2134d2a feat(board): align v3 output matrix and report presentation 2 дней назад
browser-check.json 48c2134d2a feat(board): align v3 output matrix and report presentation 2 дней назад
fixture-statistics-390.png 48c2134d2a feat(board): align v3 output matrix and report presentation 2 дней назад
local-simulation.json 48c2134d2a feat(board): align v3 output matrix and report presentation 2 дней назад
modules-local.json 48c2134d2a feat(board): align v3 output matrix and report presentation 2 дней назад
static-check.txt 48c2134d2a feat(board): align v3 output matrix and report presentation 2 дней назад
tests-deployment.txt 48c2134d2a feat(board): align v3 output matrix and report presentation 2 дней назад
tests-frontend.txt 48c2134d2a feat(board): align v3 output matrix and report presentation 2 дней назад
tests-staged-checkout.txt 48c2134d2a feat(board): align v3 output matrix and report presentation 2 дней назад
tests-workshop.txt 48c2134d2a feat(board): align v3 output matrix and report presentation 2 дней назад
workshop-1440.png 48c2134d2a feat(board): align v3 output matrix and report presentation 2 дней назад

README.md

看板 v3 流程与报告展示发布

发行:ksf-board-v3-20261112-r2。本档案记录已完成的本地验证与只读现网基线;正式部署、外网回读和线上浏览器验收须以站点机回执为准。

本次行为

小组成果主表按“组员 + 13 个课程环节”展示,顺序为 D1-01~D1-04、D1-N、D2-01~D2-08。报告入口保留具体报告分类,报告中心继续保留 11 类。历史环节不明的报告保留在“环节待定位”,不按标题猜测归属。

报告正文支持统计卡、统计口径和限制、原话证据、课程三维评估与未知项;HTML 报告与看板正文可切换。机会池默认最新上传排序,历史等级和百分制多人点评与课程三维排序分别说明。

发布范围

deploy/board-v3-20261112.json 列出完整浏览器依赖 121 件。2026-11-12 只读现网核对:112 件与本地一致,本轮 9 件需更新,其中 2 件新增:

  • skills/ksf-workshop-runtime/scripts/course-deliverables.mjs(新增,网站浏览器依赖)
  • src/core/course-assessment.js(新增)
  • src/components/kf-opportunity-card.js
  • src/components/kf-score-panel.js
  • src/core/workshop-outputs.js
  • src/pages/report-styles.js
  • src/pages/view-pool.js
  • src/pages/view-report.js
  • src/pages/view-workshop-outputs.js

发布器逐件核对 121 件;实际变更数由站点机现场 plan 决定。只接受清单已知基线或本次目标内容,未知差异即停。网站目录内的 course-deliverables.mjs 是页面模块,不是向数字人容器安装 Skill。本次不执行数据库/函数/成员/报告清理,不升级数字人 Skill、VOC 或手册,不发布课前指南。

首页不进入载荷,必须始终保持 SHA-256:

dfeb6a6d0b63e8e1190f9308bf6619a5ca523a5a2f91af5f7ca5ad5fc9642db3

已完成验证

验证 结果
工作坊测试 126/126
前端测试 234/234
发布器、旧发布器回归、MIME 和统计检查 20/20
暂存版本完整性及独立检出 121 件载荷哈希一致,独立检出发布检查 20/20
静态检查 CHECK OK;Windows 路径下 core 层匹配数为 0,不将此项当作该层已覆盖
本地模块链 119 个 JavaScript 模块,失败 0
现网公开文件副本演练 plan 9 → apply 9 → noop 0,首页不变
浏览器真实公开数据 + 本地源码,1440/390/320 27 位成员无重复;主表 13 列;真实报告 JLF4v5MpyR 可从成果入口打开;11 类报告入口;机会池默认最新;页面横向溢出 0;未捕获异常 0
浏览器内存夹具,1440/390/320 HTML 切换 1→0→1;统计 4/10=40.0%;未知分母不计算占比;课程未知项不补低分

上述浏览器验证并未部署源码到生产。真实公开报告 JLF4v5MpyR 在核对时附件为 0、统计卡为 0;HTML/统计新内容的真实保存和展示闭环仍待真实报告验收。浏览器内存夹具不入库、不计为真实成果。

旧六文件发行的两项测试曾因当前源码已前进而报 PAYLOAD_HASH_MISMATCH;仅修改测试夹具,使其用当前源码构造隔离测试哈希,未改旧发布清单。复跑全部发布相关检查 20/20。

证据:baseline-summary.json、local-simulation.json、browser-check.json、modules-local.json、tests-*.txt、static-check.txt。截图 workshop-1440.png 为真实公开数据配合本地新源码;fixture-statistics-390.png 为浏览器内存夹具,非真实成果。

站点机执行

从源码库 https://git.fmode.cn/18307996893/kangshifu-board.git 新检出目录,固定到交付提交,确认工作区干净。在该目录运行:

bash scripts/deploy-board-v3-20261112.sh /opt/kangshifu-web

要求 Node.js 20+、既有站点写入权限及读取 /etc/nginx/mime.types 的权限。脚本不要求数据库凭据,不运行后端部署器,不重启任何服务。

脚本按顺序执行:MIME 只读预检 → 发布安全测试 → 现场 plan → 备份及原子替换 → noop → 外网 121 件 SHA/MIME 回读、首页保护及公开接口只读核对 → 整站模块链。结果目录为 /opt/ksf-board-v3-20261112-results-*。新建目录按 umask 022,静态文件为 0644;现有内容全部备份后才开始替换。

任何步骤报错应保留原始回执、停止并核查。不要重新生成清单、增加未知基线或使用旧全量发布脚本强行继续。新增 .mjs 必须返回 JavaScript MIME,HTTP 200 的首页兜底不算成功。

上线验收与回退

正式域名三档视口 1440/390/320 检查 /workshop、真实报告、/reports、/pool。13 列表格在容器内可横向滑动,页面本身无横向溢出;27 位成员身份保持一致;报告入口与正文对应。以真实成果验收报告,内存夹具结果单独列出,不提交评分、决策或测试报告。

有 Playwright 环境时可复用 node scripts/verify-board-v3-browser.mjs --production。KSF_PLAYWRIGHT_MODULE 指定 Playwright 的 index.mjs 绝对路径,KSF_BROWSER_EXECUTABLE 指定浏览器路径,KSF_BROWSER_OUTPUT 指定证据目录。该脚本阻断业务写请求;生产只读检查与内存夹具检查分别记录。

发布失败时,发布器自动尝试恢复本轮已替换文件并删除本轮新增文件。备份路径和逐件原始 SHA、目标 SHA 见 apply 回执及备份 journal.json。成功发布后若需主动回退,先核实首页不变且每个目标当前 SHA 仍等于 journal 的 afterSha256,再恢复已备份原文件;beforeSha256=null 的条目仅在 afterSha256 仍匹配时删除。发生后续并发更新时停止,不覆盖他人改动。

运维回传:固定提交、结果目录、plan/apply/noop、公网及模块链回执、备份路径和三档截图。分别写明“静态部署”“线上浏览器展示”“真实 HTML/统计成果闭环”的完成状态。