Data Horizon 当前与候选 Inventory
事实时点:2026-08-27 Asia/Singapore
工程审阅基线:工程 origin/main data-horizon@65fde06d;accepted 未整合 checkpoint 29dfe4e2 与 controller 本地 WIP 单独登记、均未部署;生产精确代码 SHA 本轮未确认,不由功能读回反推。
证据边界: 已复核
3e0bb402..65fde06d的工程增量;2026-08-27 只读证据确认生产 standardize workers=4 且当前无积压、macro schedule/actual heartbeat 为 ok、macro lifecycle schema/index 与 image gate index 已生效、writer-level 日志脱敏已部署且受影响 Open API key 已轮换/撤销。这些只表达时点状态,不得据此升级长期 SLO、Production 全量复核或 Acceptance。
0. 用途与停止线
本文建立四类 inventory:
- Output:当前和候选消费对象;
- Interface:当前和候选交付方式;
- Architecture:当前实现结构与待比较的架构问题;
- Collaboration:消费者、协同方和所有权边界。
本文只记录证据、挑战、候选与 reference-evaluation questions,不是 PRD、目标架构、正式对象协议、API 优先级或 schema 设计。
状态
| 状态 | 含义 |
|---|---|
| Current implementation | 当前 HEAD 中可观察;不等于治理批准或生产验收。 |
| Compatibility asset | 已有消费者或 wire dependency,只允许兼容性维护;不能反推 Data Horizon core。 |
| Candidate | 等待 reference evaluation 和 Owner decision。 |
| Not approved | 曾被提出、属于未来设想或当前明确未授权;不得宣称可用或据此实施。 |
消费者类别
| 代码 | 类别 | 当前顺序输入 |
|---|---|---|
| IH | Internal human | 1 |
| IM | Internal machine | 2 |
| B | External B | 3 |
| C | External C | 4 |
该顺序是当前治理对齐输入,不表示任何具体对象或 Interface 已经获批。
1. Output inventory
Output 只回答“消费者实际消费什么”,不使用 API response、数据库表或 UI card 直接替代正式信息对象。
| ID | Item | Status | Consumers | 当前证据与边界 | Reference-evaluation question |
|---|---|---|---|---|---|
| O-01 | Internal Ops Console views | Current implementation | IH | 已有 overview、inbox、pipeline、cost、source health 等视图;页面存在不等于人类产品闭环。证据:web/src/views/datahorizon/ops-console/。 | 内部操作员、研究员、质检和管理员的核心任务、检索、复核、订阅、证据 packaging 如何组织? |
| O-02 | Source health/control/audit view | Current implementation | IH | 已有 health、rank、reasons、pause/resume、quarantine、override、audit。Source Reliability Profile 仍不是正式输出。证据:server/api/source_health.api。 | health、reliability、quality 和 business priority 是否需要分离?override 如何过期并留证? |
| O-03 | Open News latest/search/detail item | Current implementation | IM, B | 当前三个 query endpoints 可用;只能作为候选材料,不是正式 To B/C 对象。证据:server/internal/openapi/registry.go。 | 它属于 Retrieval Result、Feed projection 还是其他输出?revision、withdrawal 和质量限制如何表达? |
| O-04 | News Stream v1 response | Compatibility asset | IM, B | bounded wait、opaque cursor、gate telemetry 已实现;HEAD 又加入 authorization-neutral global time anchor 与 global max-ID tail fallback,本地测试覆盖 tail/authorization/skew;未部署。仍存在一个 consumer-named legacy wire token。证据:server/internal/logic/open/open_news_stream_logic.go。 | publication identity 是否与 ingestion ID 分离?未来 neutral Interface 如何与 v1 Adapter 并存,并逐步隔离 legacy naming? |
| O-05 | Macro calendar/catalog/latest/release-contract | Current implementation | IM, B | 四个 generic endpoints 已注册;HEAD 已实现 schedule-only observation preservation、同 vintage actual/previous/revision、provider bounded retries 与 pending/deferred/filled/unavailable actual-fill lifecycle;配套 migration 未证明生产执行,schedule、observation 和 vintage 仍共享 current row model。 | release occurrence、reference period、provider observation、knowledge/vintage time 如何区分? |
| O-06 | Macro calendar snapshot shape | Not approved | IM, B | 曾被提出,但 route、model 和 tests 均不存在;不能写成已交付。 | 是否真的需要 snapshot,还是 pagination、revision ledger 或 bulk export 更合适? |
| O-07 | Crypto read models | Current implementation | IM, B | liquidation、OHLCV、funding、open interest 为 request-time pass-through,不落库。 | DH 应存储、代理还是按需组合商品化市场数据?rights、cost 和 replay 如何取舍? |
| O-08 | KOL profile/signal/event/backtest surfaces | Current implementation | IH, IM | 已有 KOL profile、signals、event stream 和 feedback;其中若干 shape 明显 TM-specific。 | 哪些是 generic perception/quality outputs,哪些只能留在 TM Adapter? |
| O-09 | Push log/direct payload | Compatibility asset | IH, IM, B | 当前记录 delivery status、retry 和部分 gates;是 delivery/ops evidence,不是核心信息对象。 | publication、subscription、delivery artifact、consumer ack 是否分层?无法识别来源时是否允许 fail-open? |
| O-10 | Perception Record | Candidate | IH, IM, B, future C | 当前仅是由 raw/std/source/evidence/quality 演化的核心候选,未冻结结构。 | 最小 identity、lifecycle、provenance、rights 与 correction semantics 是什么? |
| O-11 | Financial Information Feed | Candidate | IH, IM, B, future C | 当前为候选消费面,不等同 Open API、news stream 或 push。 | Feed 是产品面、query projection、publication ledger,还是这些能力的组合? |
| O-12 | Evidence Package / Quality-Provenance metadata | Candidate | IH, IM, B | 是支撑候选;第一阶段不承诺完整 evidence package,也未冻结质量字段。 | 最小 metadata 与按需完整证据的 Depth、成本、权利和保留期如何分层? |
| O-13 | Dataset/corpus package | Candidate | IM, B | 二阶产品候选,不进入第一阶段核心对象。 | training、evaluation、B2B dataset 是否共用 manifest?snapshot/version/deletion/redaction 如何治理? |
| O-14 | DH-owned external C output | Not approved | C | 没有正式 DH 自营 C 产品;独立外部产品不是 DH 公共投影。 | Owner 何时做 To C go/no-go?若进入,用户任务如何避免克隆现有独立客户? |
| O-15 | internal/contract seven shapes | Current implementation, governance not frozen | IM, B | 工程中已有 StandardizedEvent、SourceStatusView、KOLSignal、MacroReleaseContract、MarketReactionWindow、DeliveryManifest、FeedbackReceipt 的 version/validate/adapter;这反映实现约束,不是正式七对象产品模型。 | 哪些 shape 只是 TM/FinBayes Adapter,哪些跨消费者不变量有资格成为 reusable information-object candidate? |
2. Interface inventory
Interface 只回答“如何交付或控制”,不把 Interface 本身当作底层输出对象。
| ID | Interface | Status | Consumers | 当前证据与边界 | Reference-evaluation question |
|---|---|---|---|---|---|
| I-01 | JWT/admin REST + Web console | Current implementation | IH | Source Health、Provider Config、Cron 等使用内部权限 middleware。 | 是否应围绕 task commands、read models、audit trails 重组,而不是继承现有 endpoint/menu? |
| I-02 | Open API key + resource-group registry | Current implementation | IM, B | /v1/open/* 使用 API key、scope whitelist、default deny 和 per-request metering。 | Scope 应按资源、权利、数据等级还是产品套餐组织?版本、deprecation 和 audit 如何治理? |
| I-03 | /v1/open/news/stream | Compatibility asset | IM, B | 当前 v1 冻结为 cursor pull + bounded long-poll;对既有外部 B case 保持兼容。 | 长期 streaming portfolio 是否仍采用 polling,需由多个消费者和 workload evidence 决定。 |
| I-04 | Generic pull/query Open API | Current implementation | IM, B | news、macro、asset、crypto 分组存在。 | query、feed、bulk 的边界;pagination、snapshot、versioning、error/quality envelope 是否一致? |
| I-05 | TM-specific Open/management/direct-push surfaces | Compatibility asset | IM | TM source、event stream、KOL feedback 和 direct push 已存在。 | 哪些必须保留为 TM Adapter,哪些跨消费者稳定不变量可进入 generic candidate?任何升级如何证明现有 TM 链路不退化? |
| I-06 | FinBayes smoke profile over generic Open API | Current implementation, test harness only | IM | 脚本验证 macro + OHLCV 消费假设,不证明协同契约已冻结。 | FinBayes 的真实最小任务和 evidence/retrieval 需求是什么?能否无 special branch? |
| I-07 | Webhook / Telegram delivery | Compatibility asset | 未完成分类 | 当前 push log 后由 sender 通过 tg/http 发送。渠道不是消费者类别。 | 它是 notification、subscription 还是 publication Interface?ack、replay、rights、tenant boundary 如何治理? |
| I-08 | MCP / CLI / SDK / skill / bulk export / dataset manifest | Candidate | IM, B | 只在候选清单中,不因旧文档提及而获批。 | 分别比较 latency、statefulness、discoverability、cost、rights、support burden。 |
| I-09 | News availability / SSE / new webhook / queue | Not approved | IM, B | 当前 realtime 合同明确不新增;现有仅 bounded long-poll。 | 只有多个消费者证明现有方式不足时,才重新进入 reference evaluation。 |
| I-10 | Direct DH external-C Interface | Not approved | C | 无已批准 direct-C contract。 | 若 C 产品成立,内部 product API 与 public B API 是否分离?账户、编辑和 personalization 谁负责? |
3. Architecture inventory
Architecture inventory 记录 current structure 和 decision questions,不预选微服务、数据库、语言或框架。
| ID | Architecture item | Status | 当前证据与边界 | Reference-evaluation question |
|---|---|---|---|---|
| A-01 | Go/go-zero service + embedded jobs | Current implementation | CronManager 同时连接 MySQL、Redis、可选 Weaviate、translation/LLM,并注册 processing、push、KOL、macro、ops jobs。HEAD 为 selected static jobs 增加 success/no-work/skipped/failed 通用 receipt,但没有把它们纳入 DB scheduler control plane,亦无生产 receipt 读回。 | 当前 Module Depth、故障域、部署耦合和伸缩是否可接受?先测负载与变更频率,不预判拆服务。 |
| A-02 | dn_raw_news state-driven pipeline | Current implementation | current status 驱动 ingestion、standardization、distribution,多种 read model 共用同一实践对象。HEAD 的标准化 pipeline 支持 1..4 有界 worker 并保持 duplicate/vector/commit 顺序;生产启用已回退、缺省仍为 1。 | collection identity、processing state、publication identity 是否应分层?status overload 如何治理? |
| A-03 | Raw-ID active-only publication + global safety gate | Compatibility asset | News v1 使用 raw sequence 和 standardize/ingest/image safe watermark。 | future readiness/publication ledger 是否独立?global blocker 与 per-object readiness 如何比较? |
| A-04 | MySQL + Redis + optional Weaviate + rules/translation/LLM | Current implementation | 当前多种存储与处理路径已经存在,部分能力可降级。HEAD 增加 writer-level query/JSON/header redaction、safe-header whitelist,并关闭 Go-zero 原生 request dump;尚无部署与 secret-safe 生产日志读回。 | 按 raw、relational、search、vector、artifact、dataset、cache 需求比较,不从单一技术倒推架构。 |
| A-05 | Source authorization resolver | Current implementation | 当前 consumer taxonomy 与 output-kind policy 已实现。 | 如何映射 IH/IM/B/C 而不把客户名硬编码进 core?rights 应落在 source、asset、output、purpose 哪些层? |
| A-06 | Ops control plane | Current implementation | Source Health、Provider Config、Cron 已形成多个控制面。HEAD 会在 managed credential 运行时无法解析时只把 DB ok/ready 降级为 warn/action,不反向自动升级;未生产读回。 | 它们是一个 control Module 还是多个 bounded contexts?approval/version/rollback/concurrency 如何统一? |
| A-07 | Dual cron configuration | Current implementation | scraper 使用 catalog + DB overlay;其他 jobs 多为静态注册。 | 保持 scraper-only 还是演化 Cron Control Module?leader、overlap、restart consistency 如何证明? |
| A-08 | Explicit manual migration assets | Current implementation | replay-every-start runner 已移除;HEAD 新增 guarded macro actual-fill lifecycle migration/runbook,但未证明执行;手工 DDL/DML 仍无 ledger/checksum/lock/统一 receipt。 | 最小 migration history、failure recovery、preflight、rollback 模型是什么?不预定具体工具。 |
| A-09 | Internal publication/lifecycle Module + compatibility Adapters | Candidate | 当前 review 只提出方向,没有选择 schema。 | immutable publication vs mutable record、revision/correction/withdrawal、Adapter/version policy 如何取舍? |
| A-10 | New Perception schema/release-event tables/microservice rewrite | Not approved | 当前 alignment 明确不授权正式 schema、新表或技术栈重写。 | 只能在 comparative evidence 和 Owner decisions 完成后形成独立 proposal。 |
| A-11 | Technical authorization vs legal rights | Current technical implementation, rights evidence absent | Source authz 已能按 consumer/output-kind 门控,但没有证明采集、处理、再分发、训练或数据包交付的法律权利。 | rights 应如何从 source 传播到 asset、output、purpose 和 consumer?撤销、到期、地域与衍生品权利如何审计? |
4. Collaboration inventory
Collaboration 记录“谁与谁协同、各自拥有什么”,不允许消费者替 DH 设计内部实现。
| ID | Collaboration mode | Status | Class | 当前证据与边界 | Reference-evaluation question |
|---|---|---|---|---|---|
| C-01 | DH internal operator/researcher | Current implementation | IH | Console 与多个 control surfaces 已部分实现;需按 workflow 而不是页面评估。 | 操作员、研究员、质检、管理员是否不同角色?核心 handoff 和审计是什么? |
| C-02 | Generic internal machine consumption | Candidate | IM | 当前 Open API 可供机器使用,但正式 internal Machine Feed Contract 未冻结。 | internal trust/latency/cost/rights 与 B Interface 是否相同? |
| C-03 | AI Trading Matrix dedicated integration | Compatibility asset | IM | TM workbench、event stream、signals/feedback、direct push 已形成深耦合 surface。 | 保留哪些 Adapter;TM performance 只作外部证据,不能改写 DH quality/lifecycle。 |
| C-04 | FinBayes consumption | Candidate | IM | 有 generic Open API smoke profile;生态协同契约仍待定义。 | FinBayes 真实任务、最小信息对象、evidence/retrieval 需求是什么? |
| C-05 | Anonymous external-B benchmark case A | Compatibility asset | B | v1 wire 需保持;其需求可揭示通用缺陷,但不定义 DH core;客户名称不进入 canonical。 | 商业 SLA、rights、exit、neutral evolution 和 acceptance 如何治理? |
| C-06 | Structurally distinct external-B cases | Candidate | B | generic Open API 基础存在,但尚缺第二个异构 B acceptance evidence。 | 选择 workload 不同的匿名 design-partner case,验证 portability。 |
| C-07 | DH-owned external C product | Not approved | C | 无 C user/account/editorial product evidence;不可克隆任何独立外部产品。 | Owner go/no-go、用户任务、channel conflict、rights/liability/cost 门槛是什么? |
| C-08 | RLE / FEFM collaboration | Not approved, readiness-gated | IM | 上位治理只保留未来边界。 | 何种真实 feedback/corpus evidence 才触发;不得用 PnL 替代 DH quality。 |
| C-09 | Telegram/Webhook recipients | Current implementation, classification unresolved | 未定 | delivery channel 存在,但 channel 不是 consumer class。 | 每个 target 的 owner、audience、rights、purpose、retention 和 exit 是什么? |
5. Cross-inventory Seams
| Seam | 当前读法 |
|---|---|
| O-04 ↔ I-03 ↔ A-03 ↔ C-05 | News v1 是必须维护的兼容链,不是未来 Feed 定义。 |
| O-08 ↔ I-05 ↔ A-05 ↔ C-03 | KOL/TM 是 consumer-specific Adapter 链;反事实移除 TM 假设后仍具独立价值的部分才可能成为 generic candidate。该分类测试不授权删除 runtime。 |
| O-01/O-02 ↔ I-01 ↔ A-06 ↔ C-01 | 当前最符合第一消费顺序的人类运营链,但仍需工作流 reference evaluation。 |
| O-10/O-11/O-12 ↔ I-08 ↔ A-09 ↔ C-02/C-06 | 全是候选链,reference evaluation 前不得升级状态。 |
| O-14 ↔ I-10 ↔ C-07 | 全为 Not approved,不得由任何独立外部产品面反向定义。 |
6. Reference-evaluation queue
- 信息、事件、publication identity 与 correction/withdrawal/version/replay;
- 人类运营产品:source ops、review、retrieval、subscription、evidence packaging、cost observability;
- 外部 Interface:query vs feed vs bulk/dataset,pagination/snapshot/ack/deprecation/compatibility;
- 权利:source → asset → output → purpose/consumer 的层级、撤销传播与审计;
- Macro:release occurrence、reference period、observation、vintage 与 provenance;
- 配置:replace/patch/command、conditional write、field ownership、audit/rollback;
- 调度与迁移:catalog scope、history/checksum/locking/rollback/preflight;
- Storage/retrieval 与 cost-quality 分层;
- Portability acceptance:IH、IM、至少两个异构 B;C 只在 Owner go 后进入。
7. 未批准事项
本文没有批准:
- 正式 Perception Record 或 Financial Information Feed schema;
- 新 publication/revision/release-event 数据表;
- 新 availability endpoint、SSE、webhook 或 queue;
- MCP、SDK、CLI、bulk 或 dataset 的优先级;
- 微服务拆分、技术栈更换或数据库迁移;
- DH 自营 C 产品或 Consumer Platform;
- 将 TM、FinBayes 或任一外部客户的产品语义写进 Data Horizon core。
- 在 core 演进中移除或破坏既有 TM compatibility Adapter,而没有版本化迁移与回归证据。
Changelog / 演化记录
2026-08-27:工程审阅基线刷新至 origin/main 65fde06d;生产精确代码 SHA 本轮未确认,不再以 87d6eb09 表述;按 2026-08-27 只读证据更新证据边界(standardize workers=4 无积压、macro schedule/actual heartbeat ok、lifecycle schema/index 生效、日志脱敏部署与受影响 key 轮换/撤销完成),长期 SLO 与 Acceptance 不升级。
2026-08-25:工程审阅基线刷新到 data-horizon@18838212a653,同步 News tail anchoring、macro actual-fill lifecycle、generic job receipts、标准化有界有序 worker、provider credential readiness 与 writer-level 日志脱敏;全部只升级 Current implementation 描述,生产 revision 与验收状态不随之升级。
2026-08-21:基于 2026-08 current-practice fact map 建立首版 output、interface、architecture、collaboration inventories;统一 Current implementation / Compatibility asset / Candidate / Not approved 状态,登记 IH/IM/B/C 消费者类别和 reference-evaluation queue。本文只形成候选与证据,不冻结正式对象、接口或架构。