0xElCapitan/tremor

GitHub: 0xElCapitan/tremor

基于Node.js的地震情报构造,摄取USGS/EMSC实时地震数据并运行预测市场以生成RLMF训练证书。

Stars: 0 | Forks: 1

# TREMOR **阈值解析与地动预言** 一个用于 [Echelon](https://github.com/AITOBIAS04/Echelon) 预测市场框架的地质情报构造,基于 [Soju](https://github.com/0xHoneyJar/loa) 的构造构建。由 [Loa](https://github.com/0xHoneyJar/loa) 使用。 ## 功能说明 TREMOR 摄入来自 USGS 和 EMSC 的实时地震数据(IRIS 集成计划在 v0.2 中实现),将其转换为结构化的证据束,在地震结果上运行预测市场(剧场),并为 RLMF 管道导出经过 Brier 评分处理的训练数据。 预测市场是工厂。经过校准的训练数据是产品。 ## 为什么选择地震 地震是 AI 预测市场特别好的训练数据: - **清晰的解析** — USGS 审核目录。机器可读,无需人工解释。 - **二元结构** — 阈值是否被跨越?清晰的 Brier 目标。 - **快速周期** — 数小时到数天,而非数周。全球每月约 55 次 M5.0+ 事件。 - **外生的** — 无反身性。预测不会影响地震。 - **免费数据** — 所有来源都是公开的、全天候可用的、机器可读的 GeoJSON。 ## 快速开始 ``` # 克隆 git clone https://github.com/0xElCapitan/tremor.git cd tremor # 无需 npm install — 零外部依赖 # 需要 Node.js 20+ # 运行测试 node --test test/tremor.test.js # 轮询 USGS 数据源(独立运行) node src/oracles/usgs.js m4.5_day # 作为库使用 ``` ``` import { TremorConstruct } from './src/index.js'; const tremor = new TremorConstruct({ feedType: 'm4.5_hour', pollIntervalMs: 60_000, }); // Open a prediction market tremor.openMagnitudeGate({ region_name: 'Cascadia', region_bbox: [-130, 40, -120, 50], magnitude_threshold: 5.0, window_hours: 24, base_rate: 0.12, }); // Start polling tremor.start(); // Later: check state console.log(tremor.getState()); // Get exported RLMF certificates const certs = tremor.getCertificates(); ``` ## v0.1.1:校准与安全版本 此版本添加了经验校准并包含全面的安全修复和治理: - **5 个关键安全修复**:竞态条件防护、NaN 保护、原子导出、输入验证、轮询韧性 - **全面测试套件**:22 个套件中的 70 个测试(48 个基线 + 22 个回归测试证明修复有效) - **所有测试通过**:70/70 ✓ - **治理结构**:安全策略、贡献指南、GitHub Actions CI - **零外部依赖**:仅 Node.js 20+ 详细更改请参阅 [CHANGELOG.md](CHANGELOG.md),安全策略请参阅 [SECURITY.md](SECURITY.md),贡献指南请参阅 [CONTRIBUTING.md](CONTRIBUTING.md)。 ## 验证 - **70/70 测试通过**(48 个基线 + 22 个回归) - **GitHub Actions CI** 在推送和 PR 时运行 - **零外部依赖** - **AGPL-3.0 许可** - **校准进行中** — 参见下方状态表 ## 架构 ``` tremor/ ├── src/ │ ├── index.js # Construct entrypoint + main loop │ ├── skills/ │ │ └── seismic.md # Specialization profile │ ├── oracles/ │ │ ├── usgs.js # USGS GeoJSON poller │ │ └── emsc.js # EMSC cross-validation │ ├── theatres/ │ │ ├── mag-gate.js # Magnitude Gate (binary threshold) │ │ ├── aftershock.js # Aftershock Cascade (multi-class Omori) │ │ ├── swarm.js # Swarm Watch (b-value escalation) │ │ ├── depth.js # Depth Regime (subduction zone) │ │ └── paradox.js # Oracle Divergence (Paradox Engine) │ ├── processor/ │ │ ├── bundles.js # Evidence bundle construction │ │ ├── quality.js # Quality scoring + density normalization │ │ ├── magnitude.js # Magnitude uncertainty + doubt pricing │ │ ├── settlement.js # 3-tier settlement logic │ │ └── regions.js # Regional network profiles │ └── rlmf/ │ └── certificates.js # RLMF training data export ├── spec/ │ └── construct.json # Machine-readable construct spec ├── test/ │ ├── tremor.test.js # Baseline test suite (48 tests) │ └── post-audit.test.js # Sprint-1 regression suite (22 tests) ├── BUTTERFREEZONE.md # Agent-facing project interface ├── .env.example ├── package.json └── README.md ``` ## 校准状态 | 组件 | 状态 | 证据 | |-----------|--------|----------| | 区域配置文件 | 从目录测量 | USGS FDSN 目录,M4.5+,2021–2026 | | Omori K(俯冲) | 回测派生 | 运行 5 次,3 个序列,平均误差 6.9% | | Omori K(转换) | 回测派生 | 运行 5 次,2 个序列,平均误差 16.9% | | Omori K(板内) | 回测派生(临时) | 运行 5 次,2 个序列,边缘 — 生产使用前需审查 | | Omori K(火山/默认) | 待校准 | — | | Omori c、p、bath_delta | 待校准 | — | | 怀疑价格 CI | 数据访问受阻 | 公开 API 中未保留自动阶段记录 | | 结算折扣 | 数据访问受阻 | 同上 | | 质量权重 | 数据访问受阻 | 同上 | ## 三项校准优化 ### 1. 状态翻转延迟 USGS "审核" 状态可能需要数小时到数周。TREMOR 使用三层结算: | 层级 | 条件 | Brier 折扣 | |------|-----------|----------------| | 预言机 | `status=reviewed` | 0% | | 临时成熟 | 自动,超过 2 小时,稳定,交叉验证,质量>0.5 | 10% | | 市场冻结 | 剧场即将到期,数据不足 | 20% | 未经审核的事件 7 天硬过期(25% 折扣)。 ### 2. 台站密度偏差 地震网络在富裕地区更密集。TREMOR 针对 8 个区域配置文件对质量指标进行标准化,这样日本的 40° 方位角间隙(密集)不会与南太平洋的 40°(稀疏)得分相同。 ### 3. 震级不确定性 "怀疑价格"(0-1)告诉构造在阈值决策中应折扣多少震级读数。根据震级类型( Mw vs Ml)、台站数量、网络密度和审核状态计算。 ## 剧场模板 | 模板 | 问题 | 解析 | 时间范围 | |----------|----------|------------|-----------| | 震级门限 | 区域 Y 在 Z 小时内会发生 M≥X 吗? | 二元 | 4h–72h | | 余震序列 | 72 小时内有多少次 M≥X 余震? | 5 个区间 | 72h | | 群震监测 | 群震在 7 天内会产生 M≥X 吗? | 二元 | 7 天 | | 深度 regime | 浅源还是深源? | 二元 | 最长 14 天 | | 预言机分歧 | 审核震级与自动震级会相差≥0.3 吗? | 二元 | 1h–48h | ## 依赖项 无。仅 Node.js 20+(使用内置的 `fetch` 和 `node:test`)。 ## 许可 AGPL-3.0
标签:AI训练数据, Apex, Brier评分, Echelon框架, EMSC, GeoJSON, GNU通用公共许可证, Loa, MITM代理, Node.js, Oracle预言机, RLMF, Soju, USGS, 二分类预测, 地震情报, 地震数据, 地震监测, 地震预测, 外生事件预测, 实时数据处理, 数据可视化, 数据管道, 机器学习, 结构化数据, 软件工程, 金融市场预测, 预测市场