ID,Title,Description,Acceptance,Test_Method,Tools,Dev_Status,Review1_Status,Regression_Status,Files,Dependencies,Notes ASSET1-0,建立电子资产与固定资产统一台账合同,"基于国内资产内控、电子档案和数据安全实践,建立统一资产台账 V1 执行合同。","Issue CSV 通过校验;范围固定为复用现有资产模块,统一管理 FA、EA-DOC、EA-SYS、EA-REPO、EA-BKP;EA-ACC 暂缓。","受影响流程:管理员确认资产治理范围和编号族;验证步骤:执行 validate_issues_csv.py 本文件和 check-process-contract general 门禁。","manual",DONE,DONE,DONE,"issues/2026-05-22_21-18-33-oa-asset-governance-v1.csv","[]","不上传敏感原文;不在 OA 保存密码、token、Secret、源码包或完整配置。" ASSET1-1,扩展资产模型与编号族,"在现有 AssetCard 上增加资产大类、敏感级别、归档/责任/外部引用/校验字段,并将默认固定资产编号从 ZC 调整为 FA。","Prisma schema 和迁移可验证;新资产可生成 FA、EA-DOC、EA-SYS、EA-REPO、EA-BKP 编号;VER 仅保留历史映射字段。","受影响流程:管理员新建统一资产卡 -> 系统按资产大类生成编号;验证步骤:cd server && npm run prisma:validate && node --check src/routes/assets.js。","prisma,node",DONE,DONE,DONE,"server/prisma/schema.prisma;server/prisma/migrations/*;server/src/services/documentSequence.js;server/src/scripts/seed-config.js;server/src/routes/assets.js","[""ASSET1-0""]","涉及 Prisma migration;回滚路径为回滚本次迁移和代码,已生成编号数据不得重用。" ASSET1-2,资产 API 读写与脱敏索引导入,"扩展 /api/assets 查询、创建和更新字段,并新增 QA-only/管理导入接口读取脱敏索引元数据创建 EA-DOC 草稿资产。","API 支持 assetType、sensitivityLevel、owner/keeper、archiveLocation、externalRef、hash、verifiedAt;导入只接收脱敏元数据,不接收文件正文。","受影响流程:管理员导入公司资料脱敏索引 -> OA 生成 EA-DOC 台账 -> 不上传原文;验证步骤:node --check src/routes/assets.js,并用 focused 单测或脚本校验 payload 隐私边界。","node",DONE,DONE,DONE,"server/src/routes/assets.js;server/tests","[""ASSET1-1""]","导入接口不得读取真实路径原文进入报告;S3/S4 只保留摘要、hash、敏感级别和本地引用。" ASSET1-3,前端资产台账升级,"升级现有资产页,增加资产大类、敏感级别、负责人/保管人、编号搜索和按类型显示的字段区域。","资产列表可按类型和敏感级别筛选;详情页能录入 FA/EA-DOC/EA-SYS/EA-REPO/EA-BKP 关键元数据;固定资产扫码入口保持可用。","受影响流程:管理员登记固定资产、电子资料、系统、仓库和备份资产;验证步骤:cd client && npm run typecheck && npm run build。","typescript,react",DONE,DONE,DONE,"client/src/api/assets.ts;client/src/pages/AssetRegistryPage.tsx","[""ASSET1-2""]","不在移动端实现复杂电子资料编辑;移动端继续优先固定资产扫码和盘点。" ASSET1-4,权限边界与离职交接口径,"保持普通员工仅看本人/授权资产,管理员维护台账,财务只看必要摘要;电子系统资产记录权限回收清单但不保存账号密码。","服务端权限不放宽;离职交接仍检查名下资产,新增电子系统/仓库/备份资产可用于人工权限回收。","受影响流程:员工查看自己资产 -> 管理员维护电子资产 -> 离职检查资产/系统权限回收;验证步骤:执行资产回归脚本或现有权限回归。","manual,node",DONE,DONE,DONE,"server/src/routes/assets.js;server/src/routes/employeeLifecycle.js;docs/管理员手册.md","[""ASSET1-2""]","EA-ACC 不进入 V1;账号权限作为 EA-SYS 元数据和离职清单处理。" ASSET1-5,历史资料脱敏索引试导入,"提供只读/受控导入脚本,从 /home/shunli/Projects/faculty-daily-assistant/公司/00_保密索引 的脱敏索引创建少量 EA-DOC 台账样例。","可导入 3 条脱敏 EA-DOC 元数据;不上传真实文件、不输出完整路径、不输出 S3/S4 原文。","受影响流程:管理员从历史资料目录建立电子资料资产索引;验证步骤:dry-run 报告脱敏,live 写入需明确开关。","bash,node",DONE,DONE,DONE,"scripts/qa;server/src/routes/assets.js","[""ASSET1-2""]","默认 dry-run;公网真实写入历史索引需另行确认,不自动导入 627 条;回滚路径为按导入批次删除未被引用的 EA-DOC 台账。" ASSET1-6,文档事实源回写,"更新资产管理规约、管理员手册、员工快速上手、文档索引、事实源矩阵和 hyb-oa-delivery skill。","事实源明确统一资产台账、编号族、代码仓库只登记元数据、EA-ACC 暂缓、敏感资料不上传公网 OA。","受影响流程:后来者从文档能判断资产管理范围和安全边界;验证步骤:audit-docs、quick_validate、rg 关键字。","node,python",DONE,DONE,DONE,"docs/需求-资产管理规约.md;docs/管理员手册.md;docs/员工快速上手.md;docs/文档索引.md;docs/文档事实源状态矩阵.md;.agents/skills/hyb-oa-delivery/SKILL.md","[""ASSET1-0""]","优先复用现有事实源;如新增资产规约,同步登记索引和矩阵。" ASSET1-7,ASSET1 回归门禁,"完成合同、schema、后端静态、前端构建、文档和最小回归。","所有列出的本地门禁通过;如存在非阻断既有 warning 需说明。","受影响流程:资产台账可进入 OAOPS1 后续真实使用候选;验证步骤:validate_issues_csv、check-process-contract、prisma validate、node --check、client typecheck/build、audit-docs、quick_validate、git diff --check。","bash,node,python",DONE,DONE,DONE,"issues/2026-05-22_21-18-33-oa-asset-governance-v1.csv;server;client;docs","[""ASSET1-1"",""ASSET1-3"",""ASSET1-6""]","本轮不部署公网;部署需另行按 OAOPS1/OPS 合同执行。" ASSET1-8,提交与后续真实使用准备,"中文提交 ASSET1 变更,并记录后续人工试用清单。","git commit 引用 ASSET1;保留后续人工创建 1 条 FA、3 条 EA-DOC、1 条 EA-SYS、1 条 EA-REPO、1 条 EA-BKP 的验收清单。","受影响流程:管理员按清单开始资产台账真实试录;验证步骤:git status 干净,提交信息中文并含 ASSET1。","git",DONE,DONE,DONE,"issues/2026-05-22_21-18-33-oa-asset-governance-v1.csv","[""ASSET1-7""]","真实导入历史目录和公网部署均不在本轮自动执行;若后续公网试录发现阻断,按独立修复合同处理或清理试录资产。"