Zz Cross Reference Index
00-ZZ. 跨文档业务一致性索引 / Cross-Document Business Consistency Index
本索引用于捕捉 ODTS 文档之间业务事实层面的相互矛盾。 每一条都是一个”待核对”的悬疑点——当你发现某两份文档说的同一件事对不上时,记到这里。 注意:技术栈差异(CATS 用 Oracle、ODTS 用 MySQL)不是矛盾,是真实的架构分叉,已在各文档中说明。
如何读这个索引
- ⚠️ 待核对:文档之间出现了数字/时间/因果关系的不一致,需要原作者或知情者确认哪一方为准。
- ✅ 已对齐:初看像矛盾,但读完上下文后发现是自洽的(列在这里是为了防止后人误判)。
- 🔗 关联线索:某几份文档讲同一件事的不同侧面,建议交叉阅读。
⚠️ 待核对 / Open Contradictions
以下条目已用 git 实际历史(
/Users/yuzhao/odts1/各仓库)核对并修正,原矛盾已消解。保留在此作为”已审查”记录。
C1:系统”启动年份”——已核对修正 ✅
| 文档 | 原说法 | 实际 git 历史 | 修正 |
|---|---|---|---|
| 49 / 25 | tradedesign “2010 年启动,比第一个应用早 6 年” | tradedesign 首提交 2015-09-17 | 改为 2015,比 eds-web-app(2016-12-28) 早 ~15 个月 |
| 45 | ”2015 年系统启动时” | 与 tradedesign 同期,早于主后端 | 注明指”基础层/协议层”,非主后端 |
| 34 / 35 | eds-web-app、eds-price-server 从 2016 年开始 | eds-web-app 2016-12-28、eds-price-server 2016-12-21 | 一致,无需改 |
结论: 不存在”2010 启动”。所有仓库中没有任何一个在 2015 年之前有提交。原”2010 / 早 6 年”的叙事是错误记忆,已删除(含”contract-first 在 2010 年超前”的论断改为 2015 年前后)。
C2:tradedesign 提交数 / 年限——已核对修正 ✅
| 项目 | 文档原值 | 实际 git |
|---|---|---|
| 提交数 | 6,490 | 15,014(230 authors) |
| 起止 | 2010-2022 | 2015-09-17 → 2022-04-06 |
| ”15 年 / 12 年” | 两说 | 实为 约 6.5 年 |
已在 25 / 43 / 49 三处统一为 “15,014 commits, 1,709 proto, 2015-09 → 2022-04”。
C3:hedging-as 的”创建年份”表述——自洽 ✅
| 文档 | 说法 | git 核对 |
|---|---|---|
| 34 | hedging-as “2016-2017 年构建” | hedging-as 首提交 2017-02-22 |
| 34 | eds-web-app “2016 年底起步” | 2016-12-28 ✅ |
| 34 | ”2018 从单体拆分” | 拆分是 2018 事件,构建是 2016-2017 事件,两个时间点 |
结论: 自洽。“构建时间”与”从单体拆分时间”是两件事,文档已能区分。
✅ 已对齐 / Resolved (Not Contradictions)
R1:tradedesign 早于 eds-web-app —— 确有其事,但”早 6 年/2010”是错的
tradedesign(2015-09) 确实早于 eds-web-app(2016-12),但只早 约 15 个月,不是文档原先声称的”2010 年、早 6 年”。“接口先行 / contract-first”的策略本身属实,已更正年限(见 C1)。✅
R2:CATS 用 Oracle / ODTS 用 MySQL —— 不是矛盾
50-CATS-Comparison.md 已说明:CATS 是商品部独立系统,2019-2020 年开发,沿用公司当时的 Oracle 标准;ODTS 主系统在现代化过程中切到 MySQL。两系统并行存在,技术栈不同是真实的架构分叉,非文档矛盾。✅
R3:前端”JSP 时代 2016-2021”(37)与”Struts2 起步 2016”(34)—— 一致
两份文档都把 JSP/Struts2 起点定为 2016 年,时间线吻合。37 文档的”2016-2021”是 JSP 主力的活跃期,34 文档的”2016 年底 Struts2 起步”是同一件事的两种表述。✅
🔗 关联线索 / Cross-Reading Clues
| 主题 | 相关文档 | 为什么一起读 |
|---|---|---|
| 单体 → 微服务演化 | 04-Modernization, 09-Migration-from-Monolith, 34-Main-Backend, 39-Odyssey-Microservices | 看”为什么拆、拆了什么、哪些没拆成”的完整故事 |
| 保证金模型 | 16-Margin-Calls, 36-Hedging-Risk-Evolution, 50-CATS-Comparison | ODTS 的 IM/VM vs CATS 的交易所 tier 保证金,对比风险视角 |
| 数据库分叉 | 45-Database-Architecture, 50-CATS-Comparison | Oracle vs MySQL vs PostgreSQL 的三条技术线 |
| 测试文化 | 46-Testing-and-QA, 50-CATS-Comparison | ODTS “有但有限” vs CATS “测试目录为空” 的代价对比 |
| 客户敞口合并 | 16-Margin-Calls, 50-CATS-Comparison | 同一客户跨 CATS/ODTS 两个系统的敞口合并隐患 |
| 监管报告 | 38-Regulatory-Reporting-Evolution, 50-CATS-Comparison | ODTS 全面覆盖 vs CATS 基本无报告 |
| 交易前置风控 | 72-Credit-and-Risk-Rules-Engine, 75-Quota-Management, 16-Margin-Calls | 三道独立闸门:规则允许(72) / 额度够(75) / 成交后押金(16),任一不足都挡交易 |
| 风险中台 UI | 73-Risk-Management-Web-Frontend, 72-Credit-and-Risk-Rules-Engine | rm-web 是风险官面板;72 是它背后配置的规则引擎 |
| 标的与停牌 | 76-Underlying-and-Trading-Suspension, 74-Securities-Lending-SBL, 08-Pricing | 同一只标的三个侧面:主数据+现货停牌(76) / 券源停牌(74) / 停牌期基准价(08) |
| 证券借贷 | 74-Securities-Lending-SBL, 76-Underlying-and-Trading-Suspension | SBL 借券的停牌/复牌(74)依赖标的停牌事实(76) |
| 交易前风控全链路 | 72-Credit-and-Risk-Rules-Engine, 78-Pre-Trade-Risk-Audit-Engine, 75-Quota-Management | 72 配规则+广播 → 78 内存池执行拦截 → 75 额度闸;三篇拼成”提交即拦截”全链 |
| 本金保障型产品 | 77-Third-Party-Guarantee-and-Principal-Protected, 79-Pricing-Engine-Product-Families | 77 的 VAN/DSF/CPS/DIG/SF 变体在 79 各有对应 XxxValue 估值类 |
| 产品支持范围 | 79-Pricing-Engine-Product-Families, 09-Product-and-Lifecycle-State-Machine | 能否上新结构 = 79 里有无对应估值类;09 讲新增品种的框架侧 |
| 风险三道闸(统一口径) | 72-Credit-and-Risk-Rules-Engine, 75-Quota-Management, 78-Pre-Trade-Risk-Audit-Engine, 16-Margin-Calls-IM-and-VM | 规则(72+78)/额度(75)/保证金(16)三道闸:独立裁决、任一不满足即挡;78 已对齐 72/75 的”门禁/卡/押金”表述 |
| 估值→资本→会计全栈 | 08-Pricing-Models-and-EOD-Valuation, 80-XVA-Valuation-Adjustment, 81-Regulatory-Capital, 82-Hedge-Accounting | 理论公允价值(08)→XVA 经济调整(80)→监管资本占用(81)→套期会计入账(82),四篇串成”一笔交易从估值到报表”的纵向链 |
| 资本/XVA 零件来源 | 81-Regulatory-Capital, 80-XVA-Valuation-Adjustment, 24-Risk-Management-Framework | 81 的 CapitalCenterCalcService + 80 的 BeanContractVar(VaR) + 61 抵押品,共同构成 XVA 计算零件 |
| 源码 → 文档总映射(新增) | TEACH-SESSION.md | 把 ~/odts1 + ~/odyssey 源码逐篇映射到本知识库,是所有”系统实现/系统支持”章节的母文档与入口 |
维护规则
- 每发现一条新矛盾,在此追加一条 C{n} 条目,注明”文档A 说法 / 文档B 说法 / 矛盾点 / 建议”。
- 若某条后来被确认为自洽,从 ⚠️ 移到 ✅,并写明”为什么不是矛盾”。
- 本索引不计数到 COUNTDOWN(它是元文档,不是业务文档)。