ID,Title,Description,Acceptance,Test_Method,Tools,Dev_Status,Review1_Status,Regression_Status,Files,Dependencies,Notes P18A-0,P18A执行合同建档,创建并校验P18A固资台账核心执行合同CSV,CSV通过校验且字段完整,python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-03-07_22-02-09-p18a-l5-asset-registry-core.csv,manual,DONE,DONE,DONE,issues/2026-03-07_22-02-09-p18a-l5-asset-registry-core.csv,[],P18A仅交付资产分类与资产卡片不进入折旧凭证ERP联动 P18A-1,资产Prisma模型与迁移,新增AssetCategory与AssetCard并补齐法体成本中心采购来源等关系,Prisma schema与迁移通过校验且不破坏报销请假采购主流程,cd server && npm run prisma:validate && npx prisma migrate dev --name p18a_asset_registry_core && npm run prisma:generate,manual,DONE,DONE,DONE,server/prisma/schema.prisma | server/prisma/migrations | server/src/prismaClient.js,"[""P18A-0""]",asset_no创建时生成 purchase_request_id仅允许引用approved采购单 P18A-2,资产权限与系统种子,新增asset权限域角色映射并补齐系统单据分类默认配置ASSET_CARD_DEFAULT,默认角色权限与文档分类种子一致且不误开员工管理权限,cd server && npm run test,manual,DONE,DONE,DONE,server/src/constants/permissions.js | server/src/services/documentSequence.js | server/src/scripts/seed-config.js,"[""P18A-1""]",资产域不接workflow employee仅保留view_own P18A-3,资产分类与卡片后端API,实现资产分类CRUD与资产卡片列表详情创建更新接口并补齐编号生成校验,资产分类和资产卡片接口可用且purchase_request引用校验正确,cd server && npm run test,manual,DONE,DONE,DONE,server/src/routes/assets.js | server/src/app.js | server/tests,"[""P18A-2""]",PATCH不允许修改asset_no与purchase_request_id P18A-4,资产台账前端入口与页面,新增AssetRegistryPage API封装 菜单与路由并支持分类管理资产列表创建编辑,资产台账页面可用且菜单显隐与asset权限一致,cd client && npm run typecheck && npm run build,manual,DONE,DONE,DONE,client/src/pages/AssetRegistryPage.tsx | client/src/api/assets.ts | client/src/router/index.tsx | client/src/components/navigation/NavLinks.tsx,"[""P18A-3""]",页面包含分类管理区资产列表区创建编辑抽屉 P18A-5,OpenAPI与矩阵同步,补齐资产接口文档 路由标签 合同锚点并同步Feature Matrix事实源,/api/docs/json可见资产接口且矩阵事实源与合同锚点一致,cd server && npm run test && python3 scripts/validate-feature-matrix.py,manual,DONE,DONE,DONE,server/src/routes/assets.js | docs/feature-matrix.md | issues/2026-03-07_22-02-09-p18a-l5-asset-registry-core.csv,"[""P18A-4""]",只冻结资产台账边界不提前进入流转盘点 P18A-6,P18A回归与验收收口,执行后端前端回归并确认报销请假主数据采购零回归后再允许进入P18B,资产分类资产卡片可维护且既有报销请假采购主流程零回归,cd server && npm run test && OCR_PROVIDER=mock JOBS_ENABLED=false ./scripts/regression-all.sh && cd ../client && npm run typecheck && npm run build,manual,DONE,DONE,DONE,issues/2026-03-07_22-02-09-p18a-l5-asset-registry-core.csv | server/src/routes/assets.js | client/src/pages/AssetRegistryPage.tsx,"[""P18A-5""]",P18A不做资产审批流不做折旧凭证ERP过账