Skip to content

SR-T2: eval 真值层排除自报段(装配侧剔除,语料版本随附,ADR 0011) #213

Closed

Description

@steponeerror

Spec: /tmp/scanner-ranges-spec.md §设计定案 4;ADR docs/adr/0011-eval-exclusion-scanner-self-declared-ranges.md(不对称=特性)。

范围:eval 真值语料装配侧剔除 scanner_ranges 自报段成员(精确段匹配);S12 语料版本随附、S17 趋势重置留痕;产品查询路径零改。探索笔记(/tmp/scanner-ranges-notes/EXPLORE.md)先行定位装配点与 S12/S17/run_seed 落点。tests:两臂对照(剔除前后语料版本/计数差),40.124.175.29 不再入恶意真值。

Blocked by: SR-T1

Activity

  1. steponeerror commented on Oct 26, 2026

    @steponeerror
    OwnerAuthor

    SR-T2 交卷:eval 真值层装配侧剔除自报段(#213)

    worktree .worktrees/scanner-t2,分支 feature/scanner-t2 @ 653d76f(SR-T2 三 commit:27bc7873 D1 / 41b972d D2 / 276c712 D3+D4;merge feature/scanner-ranges 无冲突——集成分支期间已并入 SR-T3 钉测,合并仅带入两个测试文件)。未 push、未关票。

    交付物(+219/−1,6 文件;truth_layer.py / monthly.py / assets.py / _eval/main.py / 产品路径零改,已核 diff 为空):

    1. backend/ipdb/_eval/layer_builders.py — 新增 scanner_ranges_prefixes(csv_path):自报段前缀表供给,逐行读中间件 CSV 首列(cidr,vendor 无表头;CIDR/裸 IP/v6 原样透传,坏 token 不在此层拦——「坏快照不许静默缩水」,归 apply_scanner_filter 侧 ip_network);CSV 缺失 → FileNotFoundError(显式索取的排除清单缺席=装配错误,防与 legacy 合表后排除面无声缩水;纯空表另有 gates_health scanner_ok DEGRADED 拒出版兜底)。docstring 锚 ADR 0011、ops 离线组装语义、原始 CSV 直读勿从 LMDB 反解。
    2. backend/ipdb/_eval/corpus.py — build_benchmark 装配侧剔除:①scanner_ranges 源不入采样宇宙(成员=厂商自报的段本身,非指控观测,入语料=自证污染);②其 CSV 在场时,采样/封顶后对 benchmark 每分层过 apply_scanner_filter(其他 scanner 源采出的段内 IP 同剔——census 2026-10-26 实测 80.2% 扫描器 IP 已在自报段;宁少算不回补);无该源或 CSV 缺失 → 行为与现状逐位一致(双回归臂钉死);签名不变,__main__.py 调用点零改;import 方向 corpus→truth_layer/layer_builders 单向无环。
    3. 测试 +8 例(offline,fixture 喂段):truth 两臂(同 raw/rir 含 40.124.175.29,arm A legacy scanlist 在场、arm B legacy+loader——成员差异精确、removed_by_scanner_filter 0→1、scanlist_fingerprint 与语料指纹两臂皆变、load_asset 往返一致)/ benchmark 三例(全分层零自报段成员,逐 IP 用 ipaddress 独立判段防 tautology + 无源回归臂 + 缺 CSV noop 回归臂)/ loader 三例 / S17 换版注记(两臂真产指纹过 compose_monthly_md,「换版=趋势重置」点名 truth + 新旧指纹;assets/monthly 零改)。

    门(本机 python -S + PYTHONPATH 绕 sopagent .pth tests 命名空间污染,T1 判例;CI 干净环境不受影响):合并前 1220 passed / 8 skipped;合并后(653d76f)1220 passed / 8 skipped(61.3s)。tamper-red 独立复核:生产面退回基点 → D1/D3 collection 红 + D2 语义红(40.124.175.29 存活),复原全绿。

    未接线面(按 ADR 0011 装配侧语义留给 ops 轮):build_truth_layer 仓内无生产 caller(月轮三件套刻意不产 truth,T4 自有三闸)。ops 组装 scanlist 时以 legacy(censys+Xpanse+Shadowserver,hornet-pilot runbook)+ scanner_ranges_prefixes(<scanner_ranges.csv>) 喂 scanner_prefixes=;换版经 scanlist_fingerprint(S12)/趋势重置注记(S17)自动留痕,仓内已用两臂测试钉住等价语义。runbook 文字更新与首轮真产对照属 ops 轮动作。

    环境注:加跑的 eval+core+lookup 大组合三轮各挂 1 例、三次挂点各不相同(test_readout_red_still_exits_nonzero_with_artifacts / test_sources_needing_rebuild_plural_ignites_on_missing_v6_ptr / test_agg_share_leg_in_report_family),全部单跑绿(≤0.4s)——时序负载 flake 非语义回归(eval 代码合并前后逐位相同,合并仅带入 lookup/前端两个测试文件);规定门 eval+core 合并后全绿。

    细目:SR-T2-REPORT.md(worktree 根,untracked)。

  2. added 4 commits that reference this issue on Oct 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    ready-for-agenttriage role (mattpocock/skills canonical)

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions