diff --git a/docs/BRD-B11岗位映射签认清单-20260715.csv b/docs/BRD-B11岗位映射签认清单-20260715.csv new file mode 100644 index 00000000..0838a00b --- /dev/null +++ b/docs/BRD-B11岗位映射签认清单-20260715.csv @@ -0,0 +1,91 @@ +position_id,员工总数,在职人数,覆盖公司数,岗位名称,岗位层级,是否主管,HR签认人,签认日期,备注 +316,2437,2001,1,,,,,, +319,487,479,1,,,,,, +318,110,103,1,,,,,, +317,111,102,1,,,,,, +1685,30,30,1,,,,,, +1683,19,19,6,,,,,, +296,17,17,1,,,,,, +1680,16,15,1,,,,,, +1686,15,15,1,,,,,, +1684,11,11,1,,,,,, +1687,10,10,1,,,,,, +4,9,9,1,,,,,, +303,7,7,1,,,,,, +307,11,6,1,,,,,, +321,6,6,1,,,,,, +310,7,5,1,,,,,, +309,5,5,1,,,,,, +314,5,5,1,,,,,, +323,5,5,1,,,,,, +1682,4,4,1,,,,,, +304,5,3,1,,,,,, +335,4,3,1,,,,,, +1,3,3,1,,,,,, +324,3,3,1,,,,,, +332,3,3,1,,,,,, +337,3,2,1,,,,,, +1722,2,2,1,,,,,, +299,2,2,1,,,,,, +301,2,2,1,,,,,, +320,2,2,1,,,,,, +326,2,2,1,,,,,, +328,2,2,1,,,,,, +329,2,2,1,,,,,, +331,2,2,1,,,,,, +343,2,2,1,,,,,, +344,2,2,1,,,,,, +1681,1,1,1,,,,,, +1710,1,1,1,,,,,, +1711,1,1,1,,,,,, +1712,1,1,1,,,,,, +1713,1,1,1,,,,,, +1714,1,1,1,,,,,, +1715,1,1,1,,,,,, +1716,1,1,1,,,,,, +1717,1,1,1,,,,,, +1718,1,1,1,,,,,, +1719,1,1,1,,,,,, +1720,1,1,1,,,,,, +1721,1,1,1,,,,,, +1723,1,1,1,,,,,, +1724,1,1,1,,,,,, +1725,1,1,1,,,,,, +1726,1,1,1,,,,,, +1727,1,1,1,,,,,, +1728,1,1,1,,,,,, +1729,1,1,1,,,,,, +1730,1,1,1,,,,,, +1731,1,1,1,,,,,, +1732,1,1,1,,,,,, +1733,1,1,1,,,,,, +1734,1,1,1,,,,,, +1735,1,1,1,,,,,, +1736,1,1,1,,,,,, +1737,1,1,1,,,,,, +1738,1,1,1,,,,,, +1739,1,1,1,,,,,, +1740,1,1,1,,,,,, +1741,1,1,1,,,,,, +2,1,1,1,,,,,, +297,1,1,1,,,,,, +298,1,1,1,,,,,, +3,1,1,1,,,,,, +300,1,1,1,,,,,, +302,1,1,1,,,,,, +306,1,1,1,,,,,, +308,1,1,1,,,,,, +311,1,1,1,,,,,, +313,1,1,1,,,,,, +322,1,1,1,,,,,, +325,1,1,1,,,,,, +327,1,1,1,,,,,, +330,1,1,1,,,,,, +333,1,1,1,,,,,, +334,1,1,1,,,,,, +338,1,1,1,,,,,, +340,1,1,1,,,,,, +341,1,1,1,,,,,, +6,1,1,1,,,,,, +312,1,0,1,,,,,, +395,1,0,1,,,,,, diff --git a/docs/BRD_IMPLEMENTATION_AUDIT.md b/docs/BRD_IMPLEMENTATION_AUDIT.md index aa6813a3..6e5cb57d 100644 --- a/docs/BRD_IMPLEMENTATION_AUDIT.md +++ b/docs/BRD_IMPLEMENTATION_AUDIT.md @@ -22,6 +22,8 @@ - 2026-07-15 开放平台岗位契约复核:直接只读检查外部快照键,员工项包含 `position_id`,但不包含 `position_name/job_title/post_name/job_name/role_name/title`;单员工详情同样只有 `position_id`,`position/positions/post` 快照资源均不可用。因此不能在 AIHR 端猜测 `position_id` 角色,需开放平台补岗位名称/岗位字典,或由 HR 签字提供 `position_id → 岗位名称/主管层级` 映射后重新同步。当前生产只读缺口为 SOP 文档 `3/5`、案例 `0/20`、校准 `0/20`、SOP 人工评审 `0`、满意度 `0`、候选资料 `0`、正式岗位适用 `0`、入职任务 `0`、资格门禁 `0`;在职手机号可用 `2927/2943`。 +- 2026-07-15 B11 岗位映射输入准备:按现有开放平台鉴权契约只读遍历员工快照并仅聚合非 PII 字段,得到 `90` 个不同 `position_id`,合计员工 `3417`、在职 `2943`,与生产组织快照总量一致;已生成 `docs/BRD-B11岗位映射签认清单-20260715.csv`,供 HR 填写岗位名称、层级和主管标记。进一步核对确认生产 `aihr_org_snapshot` 当前没有 `position_id` 列,现有同步也未持久化该字段;因此短期 HR 映射必须先由开放平台套用并随员工快照返回岗位名称。若改为本系统持久化/自动套用映射,必须单独批准并先执行 schema 迁移。本轮未修改生产 schema 或业务数据。 + - 2026-07-15 管理端资料处理分页静态发布:已备份生产根目录至 `/opt/wygj/backups/www-20260715134936`,再同步 `frontend/dist/`;根目录同步未使用 `--delete`,因此未覆盖同目录的 `/h5`。线上 `processing-yUVzof10.js` SHA-256 与本地构建一致。真实管理员会话确认任务分页共 97 页、第二页仍展示 10 条,状态筛选后回到第一页;根站、H5 和租户接口均返回 `200`。本轮未发布后端、迁移数据库或写入业务数据。 - 2026-07-15 当前发布与资料导入复核:提交 `eacf1a0a` 已发布到线上,`release-preflight.sh` 通过资源/后端哈希、`16/16` schema、根站/H5/API 健康检查,`wygj-aihr.service` 为 `active`。使用真实管理员认证在生产验证 ZIP 异步资料链路:ZIP 入队后拆为 `2` 条队列记录,`2/2` 完成,生成 `1` 个文档和 `2` 个片段;测试队列、附件、片段和 OSS 对象已清理。当前生产 BRD 证据仍未达标:评分校准 `0` 条,SOP 评审 `0/14`,候选资料 `0` 条;组织快照为在职 `22` 条、`2` 个项目、主管/经理岗位 `7` 条,但手机号映射为 `0`。该结果证明“版本已发布、ZIP 功能可用”,不等于正式试点验收完成。 diff --git a/docs/下一步工作计划-BRD对齐-20260715.md b/docs/下一步工作计划-BRD对齐-20260715.md index 912bdefe..237b9e71 100644 --- a/docs/下一步工作计划-BRD对齐-20260715.md +++ b/docs/下一步工作计划-BRD对齐-20260715.md @@ -1,6 +1,6 @@ # 下一步工作计划(BRD 对齐版) -> 版本:v2.2(2026-07-15 执行复核:发布完成;新增开放平台岗位字典/主管映射门禁 B11;生产 demo-check 支持可配置 API 前缀) +> 版本:v2.3(2026-07-15 执行复核:发布完成;B11 已生成 90 个岗位 ID 的 HR 签认清单,确认本地快照尚未保存 `position_id`) > 基准:《物业AI人力资源系统业务需求文档BRD.md》v1.2(唯一事实源) > 阶段边界:《银城员工端APP分阶段实施总纲.md》阶段一(陪练)+ 2026-07-08《数字师傅学练问报整合方案》定案 > 现状证据:《BRD_IMPLEMENTATION_AUDIT.md》2026-07-15 最新条目 + 本日生产只读复核 @@ -11,7 +11,7 @@ ## 0. 当前基线(2026-07-15 生产实测) **已完成**(不再列入待办): -- 生产已发布至 `eacf1a0a` 批次并有后续静态增量,线上 H5 = `index-rPeDLbpR.js`;发布预检通过资源/后端哈希与健康检查。 +- 生产已发布 `f0175253` 批次,线上管理端 = `index-CJmvDHQd.js`,H5 = `index-Bu6EO0TO.js`;发布预检通过资源/后端哈希、schema 与健康检查。 - 生产 schema **16/16 齐备**,内置 Prompt **6/6**,生活顾问启用场景 **14 条**(含服务推介/增值 1、日常服务 1)。 - **组织人员与手机号同步已线上闭环**:开放平台拉取公司 17 / 部门 963 / 员工 3417;`aihr_org_snapshot` 3417 行,手机号可映射 **3392**,在职 2943。项目归属可用,但开放员工快照只返回 `position_id`,不返回岗位名称,开放 API 也无岗位字典资源;生产 `position_name='员工'`、`position_level='一线'` 为 2943/2943,主管身份仍未就位。 @@ -20,7 +20,6 @@ - 主管身份为 0:开放平台需补岗位名称/岗位字典或由 HR 提供 `position_id → 岗位/层级` 正式映射,否则 C2 的主管认证态与跨项目权限无法验收。 - SOP 文档仅 3/5,缺服务推介/增值与日常服务两类的真实业务内容确认(4.3.4、L1-B)。 - 方言 ASR 零实测(9.1 MVP 阻塞项、L1-C ≤5s)。 -- 仓库有 17 个已跟踪修改 + 2 个未跟踪文件未收拢,发布预检拒绝任何脏工作区,当前修复批次无法发布。 - 25 名员工手机号不可用(上游数据问题,不阻塞,需反馈开放平台)。 - PII 出境条款、成本计量契约、HR 学分规则等外部输入未闭合(G3/G6、4.5)。 @@ -28,16 +27,16 @@ --- -## 1. 主线 A:锁定发布批次,原子发布(本周内) +## 1. 主线 A:锁定发布批次,原子发布(已完成;A4 两项外部门禁除外) 目标:把 `eacf1a0a` 之后累积的修复(G3 脱敏补强、案例音频收紧、岗位-SOP 收口等)作为一个命名 release batch 发布,线上 = release commit。 | # | 任务 | 依据 | 完成定义 | 期限 | |---|---|---|---|---| -| A1 | 收拢工作区:对当前 17 个已跟踪修改按内容分批提交(后端服务/测试、文档、前端各一批),2 个未跟踪文件(本计划、`processing-import-ui.test.sh`)一并提交或显式移出;形成命名 release commit | `release-preflight.sh` 拒绝任何脏工作区 | `git status --porcelain` 为空;release commit 落字 | 07-16 | -| A2 | 确定发布窗口 + 备份/回滚责任人 | 12.1、Runbook 前置条件 1 | 窗口时间、执行人、回滚人三项落字 | 07-16 | -| A3 | **一次原子切换**:锁定提交 → 干净 worktree 构建三端 → **本地预检**(`release-preflight.sh` 不带 remote 开关;发布前线上还是旧版本,remote match 必然失败)→ DB/静态资源/后端备份 → 同步静态资源与后端、重启。**当前批次未包含 SQL 迁移;若收拢后出现新迁移,从本批次拆出并按 Runbook 单独执行** | 6.3、L1-C、preflight 脚本 71–72 行开关耦合 | 本地预检通过 → 发布完成;任一步失败按备份回滚,当天不重试第二次 | 07-17 | -| A4 | **发布后远端复检与回归**:`RELEASE_REMOTE_URL=https://peilian.njzhmj.top RELEASE_VERIFY_REMOTE_MATCH=true RELEASE_VERIFY_REMOTE_BACKEND=true RELEASE_VERIFY_REMOTE_SCHEMA=true ./scripts/release-preflight.sh`(此时线上=本地构建,match 可通过)+ 认证态浏览器回归(员工/主管/管理端各 1 条路径,正式 OTP)+ 非 strict `./scripts/demo-check.sh` 输出数据现状(**strict 门禁留到 B3 窗口确定后**,strict 模式强制要求 `AIHR_PILOT_START_DATE/END_DATE`) | 10.2、`demo-check.sh` 参数约束 | 远端静态资源、后端 hash 与 schema 复检通过;三端认证态回归留证;数据缺口清单留档审计记录 | 07-17 | +| A1 | **已完成**:在隔离 worktree 收拢并形成 release commit `f0175253` | `release-preflight.sh` 拒绝任何脏工作区 | 发布 worktree 干净;release commit 落字 | 07-15 | +| A2 | **已完成**:发布窗口、执行人、回滚人已写入 `RELEASE_EXECUTION_20260715.md` | 12.1、Runbook 前置条件 1 | 三项落字 | 07-15 | +| A3 | **已完成**:干净构建、预检、DB/静态/后端备份、原子切换与服务重启 | 6.3、L1-C | 生产备份 `/opt/wygj/backups/brd-align-20260715160117`;服务 active | 07-15 | +| A4 | **结构回归已完成,外部门禁待补**:远端资源/后端/schema 匹配,管理端与员工认证态通过;正式 OTP 因生产固定码未关闭而未验收,主管认证态转 B11/C2 | 10.2、`demo-check.sh` 参数约束 | 结构回归有证据;正式 OTP 与主管路径分别在生产验证码策略、B11 就位后补验 | B11+1 天 | --- @@ -48,7 +47,7 @@ | # | 需要的输入 | 提供方 | 负责人 | 回复期限 | 兜底触发日 | 阻塞的 BRD 条款 | 不给的后果 | |---|---|---|---|---|---|---|---| | B3 | **试点项目圈定(1–2 个住宅项目)+ 窗口起止日期 + ≥20 名员工名单 + 每项目至少 1 名主管**(员工可从手机号映射中圈定,主管需与 B11 的正式岗位映射一致) | HR 负责人 | 待指派 | 07-18 | 07-22 | 10.2-D | M5 全部指标无分母;半年会没有"真实使用数据" | -| B11 | **补齐岗位契约**:开放员工快照直接返回 `position_name/job_title`,或开放岗位字典资源;若短期不能改接口,由 HR 签字提供 `position_id → 岗位名称/主管层级` 映射及试点主管名单。不得按 `position_id` 猜角色 | 开放平台+HR | 待指派 | 07-18 | 07-22 | 5.4、G3、L1-B | 生产 2943 名在职人员全部落为“一线”,主管端和项目级权限无法认证态验收 | +| B11 | **补齐岗位契约**:开放员工快照直接返回 `position_name/job_title`,或开放岗位字典资源;HR 可直接填写 `BRD-B11岗位映射签认清单-20260715.csv`(90 个岗位 ID,合计 3417 人/在职 2943 人)并提供试点主管名单。当前 `aihr_org_snapshot` 未保存 `position_id`,所以短期映射必须由开放平台套用后随快照返回岗位名称;若要求本系统自动套用,须另行批准 schema 变更并先发布迁移。不得按 ID 猜角色 | 开放平台+HR | 待指派 | 07-18 | 07-22 | 5.4、G3、L1-B | 生产 2943 名在职人员全部落为“一线”,主管端和项目级权限无法认证态验收 | | B2 | 补 2 份真实 SOP 文档(现 3/5),并由业务确认全部五类核心流程的成功条件、价格/取消规则、回访口径;随后完成 14 条场景/SOP 的人工评审(现 0/14) | 内容负责人/HR | 待指派 | 07-20 | 07-24 | 4.3.4、L1-B(SOP≥5) | SOP 覆盖与 RAG 可用率(≥80%)无法验收 | | B9 | **历史案例批量提供**:试点前 **≥20 条**历史案例语音/材料入库并脱敏审核,不依赖试点新增量补齐验收底线;试点期继续按"每周每项目 1 条"采集新案例 | 各项目负责人 | 待指派 | 07-22 | 07-25 | 4.6、L1-B(案例≥20) | 案例库验收必然失败 | | B4 | 方言 ASR 厂商选型(**阶段一只选 1 种方言**,按试点区域确认;BRD 9.1 只要求 1 条路径)+ 费用授权 + **同时确认 CER 达标阈值**(BRD 只定了 ≤5s 响应,识别准确率的验收线需业务拍板,否则 C3 实测无法判定"达标") | 技术组+HR | 待指派 | 07-20 | 07-24 | 4.3.3、9.1、L1-C | MVP 阻塞项零实测,且测了也无法判定通过 | @@ -105,9 +104,9 @@ ## 6. 里程碑总览 ``` -07-15(今日) B 催办清单发出(B3 置顶) + C1 文案修改 -07-16 A1 收拢工作区成 release commit + A2 发布窗口落字 -07-17 A3 原子发布(预检→备份→切换→回归) + A4 结构回归与数据缺口留档 +07-15(已完成) A1-A3 发布 + A4 结构回归 + C1 文案修改 + B11 岗位 ID 签认清单 +07-16 发出 B 催办清单(B3 置顶,B11 附签认 CSV) +07-17 跟进 B3/B11 负责人和回复期限落字 07-18 起 C2 主管身份/项目权限认证态验收(依赖 B11 岗位契约与重新同步) 07-18~07-25 B2 SOP 补齐与评审 / B9+C5 历史案例 ≥20 条入库 / C3 方言实测(依赖 B4) 07-28~08-08 D 试点窗口(1–2 项目、≥20 人、2 周;以 B3 实际答复为准) @@ -119,7 +118,7 @@ ## 7. 风险与止损 1. **B3 试点圈定拖延是当前最大单点风险**(组织数据已就位,决策成本已最低):07-22 仍无答复,升级 HR 负责人;试点每晚一周,半年会"真实使用数据"窗口就少一周。 -2. **B11 主管岗位缺失**:当前开放快照只有 `position_id`,生产主管数为 0;07-22 前拿不到岗位字典或 HR 正式映射,主管复盘/跨项目权限不能验收,试点只能暂停而不能用手工猜测角色替代。 +2. **B11 主管岗位缺失**:当前开放快照只有 `position_id`,生产主管数为 0;90 个岗位 ID 已整理为 HR 签认清单,但本地快照不保存该键。07-22 前拿不到上游岗位名称/字典,或未批准本系统持久化并套用映射,主管复盘/跨项目权限不能验收,试点只能暂停而不能猜角色替代。 3. **案例 20 条**:依赖 B9 存量导入;若试点前不足 20 条,立即提高采集频率(每项目每周 2–3 条)并如实下调收口预期,不用未脱敏或演示数据凑数。 4. **发布失败**:A3 原子流程任一步失败即按备份回滚,当天不重试第二次,先归因。 5. **范围失控**(BRD 附录 C 头号风险):任何新页面/新功能请求一律进 `docs/BACKLOG.md`;每周对照本计划复盘一次偏差。 @@ -128,4 +127,4 @@ --- -*本计划由工程侧起草,v2.2 已按 2026-07-15 生产执行结果修订;B 表负责人/期限需业务方确认后生效。执行进展回写《BRD_IMPLEMENTATION_AUDIT.md》,本文件只改计划不记证据。* +*本计划由工程侧起草,v2.3 已按 2026-07-15 生产执行结果及 B11 外部接口复核修订;B 表负责人/期限需业务方确认后生效。执行进展回写《BRD_IMPLEMENTATION_AUDIT.md》,本文件只改计划不记证据。*