Skip to content

Decision / Decline:不做事项与延期边界

决策基线:2026-10-03。本文将总体设计和首版契约中分散的范围限制集中列出,供代码生成、实现审查和第三方集成使用。它不表示相关能力已经实现,也不作为 feature/bug 待办清单;新增需求与审查问题在 GitHub Issues 中跟踪。

本库负责接收上游验证后的载荷,维护其来源、时效和一致视图,并提供 ROV、ASPA 及独立 BMP 分析。通用性来自可组合的公共接口,不等于复刻 RP 验证器、路由器或运维平台的全部功能。

怎样使用这些决策

类别 含义 编码时的处理
不纳入当前产品职责 与本库定位不同,不因邻近功能或参考项目提供而自动加入 使用已有扩展边界或交给宿主;重新纳入须先修改设计
首版不提供 有可能有价值,但当前首版没有支持承诺 不生成隐藏入口、空壳 extra 或未经验收的兼容分支
已承诺扩展阶段 已在设计范围内,仅实施时间晚于首版 保留既定边界,不将其删除或永久拒绝
禁止的实现捷径 会破坏已经承诺的正确性、资源归属或兼容性 修正实现;不能以缺少某个 feature 为由采用

下列条目均应连同“仍须提供”的边界阅读。未列出的功能不因此默认获准,也不因此默认被拒绝;契约缺口需要通过 Issue 定义可验收行为,不能用本页替代设计。用户明确调整范围时,更新对应条目、总体设计、公共契约与验收,不能只在实现里绕开。

不纳入当前产品职责

ID 不做什么 理由、替代方式与仍须提供的边界
DD-01 RPKI 证书链、ROA/ASPA 签名对象验证,TAL 管理及 RRDP/rsync 仓库抓取 上游 RP 验证器负责产生载荷。本库保留可信输入选择、完整性、来源和时效检查;TLS 服务器身份验证仍是首版职责。依据:功能范围。
DD-02 BGPsec 路径签名验证、签名生成和私钥管理 接收 Router Key 不等于执行 BGPsec。首版仍正确编解码、撤销、持久化并恢复 Router Key;专用公共查询属于后续扩展。依据:Router Key 边界。
DD-03 BGP/BMP 会话采集、原始 UPDATE 解析、AS_PATH/AS4_PATH 重建、应用 RIB 和路由索引 宿主提供规范化路径、起源 ASN 和邻居上下文,并持有待重验路由。库仍提供标准验证、独立 BMP 保守分析、变化事件和保守影响范围。依据:输入契约、事件职责。
DD-04 自动接受/拒绝 BGP 路由,修改 local preference,推导商业关系,替来源投多数票决定可信性 验证结果和数据差异是信息,不是路由策略执行权。组优先级、信任来源和邻居关系由宿主明确提供;compare_sources 保持可解释。依据:来源管理、验证输入。
DD-05 生产 RTR 服务器、面向设备实验室的可编程 RTR 服务器,以及向路由器提供长期 serial 差分缓存 本项目以嵌入式 RTR 客户端库为主线,配套提供可选 HTTP 查询服务。协议测试可以使用本地服务替身;已有显式录制与离线回放继续提供客户端诊断,不代表可向第三方设备提供 RTR 或网络回放服务。依据:总体定位、功能范围。
DD-06 历史数据库、任意时刻全网状态重建、永久事件日志和恰好一次交付 持久化保存当前完整状态;事件窗口有界,遗漏要求重新同步。显式离线参考时间只评价给定数据,录制回放只作诊断。依据:持久化、导入与回放、订阅契约。
DD-07 bmparrot/bmpalert 专用配置模型、从这些应用导入实现或自动修改它们 它们是初期消费者,公共 API 面向独立第三方。可以阅读其调用方式、提供示例,不能将应用运行流程变为核心依赖。依据:项目边界。

首版不提供的兼容和扩展能力

ID 不做什么 现有替代方式及重新讨论条件
DD-08 在查询服务中加入远程来源配置、SLURM 上传和凭据管理控制面 首版服务负责查询、验证、状态和订阅;配置由宿主显式提供,首版可在进程内使用 Client.apply_config 运行中增删来源及修改配置。服务的认证、TLS、请求限制和安全错误输出仍须交付;后续控制面须独立设计,不因查询服务存在而自动加入。依据:HTTP 边界。
DD-09 RTR v0、自动追随或猜测草案、丢弃旧 afi 后跨族合并授权 默认 RTR v1;v2 显式启用,默认 -27,历史 -10/-13 通过显式 profile 支持,-10 保留按 AFI 授权、-13 明确双族授权。新增 profile 必须有差异分析、矩阵、向量与互操作依据,进入来源身份;镜像不能自动扩展支持。不以软件差分错误为理由放宽协议。依据:协议基线、RTR profile。
DD-10 额外的同步 RTR 网络客户端、核心内部创建事件循环、跨循环共享 Client 同步解析、查询与验证保持独立;网络生命周期由宿主 AnyIO 任务组管理。同步应用可在自己的边界管理异步运行,不增加隐含线程和第二套网络生命周期。依据:生命周期、实现参考。
DD-11 自动发现插件、可变全局适配器注册表、任意内部索引替换接口 使用显式 TransportFactory、JsonReader 和 PersistenceBackend 协议。内部索引可以优化,但其布局不是公共 API;新的扩展点须有资源归属、取消及共同契约测试。依据:扩展协议。
DD-12 自动数据库 schema/跨后端迁移、pickle 恢复、将损坏数据库静默清空 未支持的格式明确拒绝;首版可另选空文件重新同步。完整状态摘要用于完整性,不充当认证。迁移需独立设计旧版本输入、回滚和中断恢复。依据:恢复、导入。
DD-13 多个服务进程同时拥有来源写入、活动 DuckDB 文件的跨进程直接共享、本机 SQLite WAL 之外的网络文件共享 单 owner 与 workers=1;本机多进程读用 SQLite,其他进程访问 DuckDB 用 HTTP。进一步并发模式必须先证明连接归属与一致性。依据:运行模式、HTTP 生命周期。
DD-14 WebSocket 事件协议、永久远程游标、无限保留快照 首版使用有界长轮询和明确的 ResyncRequired / SnapshotGone;本地异步订阅仍属于首版。增加传输方式不能改变快照绑定、时效和丢失通知。依据:事件长轮询。
DD-15 未固定版本的 ASPA 本地策略,或将 ASPA 字段塞入 RFC 8416 格式 已有上游实现提供 slurm2,但本项目尚未选择它的草案基线。新增 ASPA 策略须独立命名和版本化,定义原始/生效视图与恢复语义;不能以“没有上游方案”作为拒绝理由。依据:策略扩展、固定 Routinator 输出资料。
DD-16 Windows ARM64、32 位 x86 的首版支持;仅靠版本号声明支持 PyPy、自由线程 CPython、未来解释器或所有平台;未经测量保证吞吐与延迟 首批目标为真实 CPython 3.11–3.14,Windows 11 x86_64/AMD64,以及 macOS/Linux 的 x86_64/AMD64 与 ARM64,核心覆盖 asyncio/Trio;Windows ARM64 和 32 位 x86 不在目标内,不为它们安排专门适配与发布验收。平台和 extras 以实际验收范围为准。先取得可复现数据再扩大承诺。依据:兼容与性能、CI/CD。

运行中来源增删与配置修改、在线自定义 JsonReader、生效 ASPA 全表遍历已由用户确认纳入首版,不能再视为待评估或拒绝项;具体边界见配置变更和公共 API。设备配置输出及额外平台传输仍需独立定义需求和验收。

按 AFI 的 ASPA 模型、查询和验证,以及显式历史 v2 profile 同样属于用户确认的首版范围。旧草案记录不能直接丢弃 AFI;新版无 AFI 记录明确适用于双 AFI。真实服务端尚不符合其声称的草案时,保存失败证据,不自动修改信任或事务语义来换取通过。

热配置的首版边界如下:

ID 不做什么 仍须提供的行为
DD-25 在同一 Client 热切换数据库后端/路径、事件循环,隐式监视配置文件或依赖 Unix 信号完成配置更新 首版提供显式 apply_config;可改字段及 restart_required 边界见配置变更。宿主可自行实现文件通知,不要求 Windows 用户具备 SIGHUP。
DD-26 配置提交即保证新来源就绪/落盘,或追溯撤回其他调用方已取得的固定快照 回执确认配置和当前视图原子提交;就绪、持久化、旧任务清理分别可观察。旧快照绑定旧配置和原期限,宿主处理配置事件后按新信任条件重验;共享读取有明确传播延迟。

已承诺后续实现,不能当作拒绝项

能力 首版必须留下的边界 扩展阶段交付
SLURM,RFC 8416 明确无策略身份、原始来源状态与派生视图边界 VRP/Router Key 过滤和添加、多文件组合、策略版本、原子更新与事件;ASPA 策略不自动随之加入
Router Key 公共能力 正确协议处理、唯一键、来源、撤销、内部存储、持久化与恢复 按 ASN/SKI 查询、遍历、导出及变更订阅;不执行 BGPsec

内置 SSH 已按用户要求提前纳入当前交付;使用显式 SshConfig、可选 ssh extra 和 asyncio,提供主机密钥验证、用户认证、rpki-rtr subsystem 与重连。Trio 核心与自定义传输边界保持独立,见 SSH 配置。

依据:交付阶段、策略与密钥、SSH。首版 SQLite、DuckDB、HTTP/SDK、录制回放、BMP 分析和 CLI 同样不能因工作量较大移入本页的拒绝范围。

不允许采用的实现捷径

这些不是可延期功能,而是全部实施阶段都应保持的不变量。

ID 不允许的行为 必须采用的行为与依据
DD-17 把未加载/不支持/过期当成正常 notfound 或 unknown;从未知上下文猜出 ASPA valid 分离能力、连接与时效;标准验证和 BMP 分析使用独立类型。数据、输入。
DD-18 在 EOD 或完整 JSON 接纳前暴露部分数据;删除一个来源时删除其他来源的支持 完整状态原子发布,保留每来源原始支持;失败后按对应协议撤销规则和原始期限处理。一致性。
DD-19 用重新读取、304、恢复、新 generation 或批次开始时间延长数据寿命 保留原始期限,固定快照逐项在线检查;离线必须显式标注。时间、输入期限。
DD-20 为兼容样例跳过坏记录、把生产子集当完整数据、伪造对象/provider 来源、静默改写旧草案 依据固定格式与规范建立完整性和 provenance;缺失信息明确表达,不能补造信任或关联。输入完整性、资料边界。
DD-21 慢订阅者阻塞 RTR、静默丢事件、取消等待就宣称线程停止、遗留无主后台任务 有界队列和可靠重同步信号;资源留在宿主管理的生命周期内,清理状态与实际完成一致。生命周期、持久化。
DD-22 用有损压缩、最长匹配一条 VRP、全局去重 AS_PATH、隐式切换远程快照来换取速度 优化索引和构建方式,保持全部覆盖规则、路径语义、固定快照和来源;性能与正确性同时验证。验证、分页、性能。
DD-23 核心引入 CLI/HTTP/Pydantic/ORM,导入时联网落盘、配置根日志,向输出写入凭据 核心直接依赖保持 AnyIO,可选能力延迟导入,宿主控制日志和机密;数据库公共协议不暴露 SQL 连接。依赖方向、诊断。
DD-24 编解码自测往返就宣称互通,跳过必需环境后宣称兼容,API 先交付后补文档 独立向量、真实解释器和双后端、制品安装与公共文档同步验收;缺少证据明确记录。验收、CI/CD。

重新讨论的门槛

改变上述范围时,先在本仓库 Issue 中记录具体使用方需求、现有公共接口为何不足、影响的 DD 编号,以及所需的协议/格式版本、依赖和验收。确认后同步总体设计、本页、相应契约、示例和测试。不得因为参考项目已有某能力、生成工具认为“更完整”或实现起来顺手,就自动扩大范围。

工具与索引的实现选择不等于产品范围决策:基准证明需要优化时可以改内部布局,质量检查可以按阶段落地;不预先规定必须使用 C/Rust、特定 trie 或更多检查工具。任何优化仍受上述一致性、可用性、时效和安装隔离要求约束。