文档来源:docs/INDEX_CAPITAL_OCIM_DELIVERY_V1.md
# INDEX_CAPITAL_OCIM_DELIVERY_V1
> 九鼎/OCIM 最强闭环交付索引(facts-only / 可核验 / 可归档)
## Closure Release Trace(核心 commit 追溯)
- 模板 SSOT(SQL+API+admin):`2892e23e`
- 模板复制审计 + 稳定核验(content_hash→facts_hash):`4f1a76b2`、`adab49d4`
- 模板包 ZIP 可核验交付:`d5595dd0`
- OCIM 项目交付包 ZIP:`ac40dca4`(后续增强:`152fbba1`、`2bf53c30`、`23aa989f`、`8d8e2dfa`)
- share-card internal 统一通道(log-internal + internal rules):`b874ab4b`、`0c628f0c`
- 缺失 project_id 修复闭环(筛选+补写+跳转):`9167e63d`、`57cff871`
- 交付索引与后台可视化入口:`a296108e`、`ba69a76e`
## 1) 必跑:自检与收口验收
- 自检页(线上诊断):`/admin/diag_capital_ops`
- 收口验收清单(运营照做):`/admin/help_capital_closure`
- 收口清单源文档:`docs/CAPITAL_OCIM_CLOSURE_FINAL_CHECKLIST_V1.md`
## 2) 九鼎模板(SSOT → 复制 → 核验 → ZIP)
- 九鼎模板后台:`/admin/capital_templates`
- 九鼎中心:`/admin/capital_center`
- 模板包 ZIP(按鼎):`/admin/capital_templates_zip.php?mode_code=financial`
关键能力:
- 模板复制审计:`capital_mode_template_copied`
- 模板保存审计:`capital_mode_template_upsert`
- 热度统计:按 template_id + content_hash 版本
- 核验入口:`/admin/share_cards_audit?q=<facts_hash>`
## 3) OCIM 项目(SSOT → 项目级证据链)
- OCIM 项目后台:`/admin/ocim_projects`
项目级事件(稳定 facts_hash + verify_url):
- `ocim_project_saved`
- `capital_project_pack_downloaded`(通过 `/api/admin/share-cards/log-internal` 统一落库)
## 4) 项目交付包(Project Pack ZIP)
- 下载入口:`/admin/capital_project_pack_zip.php?project_id=PJ-YYYY-0001`
ZIP 必含:
- `project.json`
- `templates_snapshot.json/csv`(含 content_hash/facts_hash/verify_url)
- `audit_evidence.csv`(严格按 ctx.capital_project_id 收敛)
- `VERIFY_INDEX.md`
- `ACCEPTANCE_CHECKLIST.md`
- `SETTLEMENT_SCOPE.json`
- `PACK_MANIFEST.json`(真实 sha1/bytes + export_id)
export_id:
- ZIP 内 manifest 的 export_id 必须与审计事件 ctx.export_id 对齐
## 5) Share-card 审计与修复闭环
- 审计主入口:`/admin/share_cards_audit`
快捷 chips:
- 模板复制/模板保存/项目保存/交付包下载
- 运营动作(筛:`ocim_projects_audit_links_copied` + `ocim_project_audit_link_copied`)
- 按项目ID(prompt 输入 PJ-YYYY-0001)
- 缺少项目ID(筛 `missing_capital_project_id`)
修复闭环:
- 若关键事件缺 project_id:ctx 会带 `warn=missing_capital_project_id`
- singleOps 支持“补写项目ID”,写入 `capital_project_id_backfill` 修复事件并跳转到项目视图
## 5.1 项目级稳定核验规则(SSOT)
- 模板版本核验(content_hash):`facts_hash = sha1('capital_template:'+content_hash)`
- 项目事件核验(project_id+kind):`facts_hash = sha1('capital_project:'+capital_project_id+':'+ctx.kind)`
## 6) SQL / 变更点(上线前确认)
- 模板表与预置:`docs/SQL_CAPITAL_MODE_TEMPLATES_JIUDING_V1.sql`
- OCIM 项目表:`docs/SQL_OCIM_PROJECTS_V1.sql` + `docs/SQL_OCIM_PROJECTS_JIUDING_MODE_PATCH_V1.sql`
## 7) 高风险提示(必须遵守)
- 宝塔伪静态 **不要**使用 `location ^~ /admin/`,否则可能绕过 `.php` 解析导致源码下载(表现为 `application/octet-stream`)。
- 一旦发现 `application/octet-stream`,优先在 `/admin/diag_capital_ops` 自检并修复 Nginx 配置。
---
## 推荐操作顺序(上线/交付)
1) `/admin/diag_capital_ops` 自检(ZipArchive/表/关键入口 HEAD)
2) 命令行 smoke(防 octet-stream 回潮):
- 基础:`bash bin/smoke_capital_closure_loop_v1.sh https://<你的域名>`
- 含项目交付包:`bash bin/smoke_capital_closure_loop_v1.sh https://<你的域名> PJ-YYYY-0001`
3) `/admin/help_capital_closure` 跑收口验收清单
4) 建一个 OCIM 项目 → 下载 Project Pack ZIP → 用 verify_url 回查核验