Spec: /tmp/scanner-ranges-spec.md §设计定案 5-6。 范围:native 标签「研究扫描 · <厂商/机构>(自报段)」渲染链核对(backend 透传→frontend 证人行);若渲染已通用则零代码改动,以测试钉住;verdict_conflict 不点亮(无良性断言);验收 40.124.175.29 = malicious + 标签行。前端 vitest。 Blocked by: SR-T1
Activity
steponeerror commentedon Oct 26, 2026
探索笔记指针(2026-10-26):渲染链事实与钉法样板已落 /tmp/scanner-ranges-notes/EXPLORE.md §3——native_categories → _merge.py:306-331 → _api_models.py:56 → SourceDetailRow.tsx:26,36-38(chip);测试照抄 SourceDetailRow.test.tsx:82。裁决已按用户「零新 UI 机制」裁定:native_categories 路线,f3csystems 先例,不扩 _registry.py:594-606 读路径。
steponeerror commentedon Oct 26, 2026
SR-T3 交卷:自报段标签呈现钉测(worktree
.worktrees/scanner-t3,commit0b44997d,基944fde98)链路核实(逐锚点读码,全部通用透传)
scanner_ranges.pyharvestnative_categories=["研究扫描 · <厂商/机构>(自报段)"]→_evidence.py/_types.py序列化顶层保留 →_registry.py:584 to_observation→_merge.pydetail 组装(if o.native_categories: d["native_categories"]=...)→_types.py:180 to_dict()classifications[k]["details"]原样 →_api_models.pyClassificationOut.details: list[dict]通用透传(extra="allow")→ 前端SourceDetailRow.tsx:26,36-38通用 chip[全文]。产品代码零改(用户裁定零新 UI 机制),以测试钉住不漂移。新增测试
backend/tests/lookup/test_scanner_ranges_label.py(2 测):验收例 40.124.175.29(Stretchoid)离线全链——真ScannerRangesSource+fixture CSV,仅 monkeypatch_sources(先例test_lookup_pipeline.py),真lookup():threat_summary()["verdict"]=="malicious"、"scanner" ∈ types;{"source":"scanner_ranges","reliability":0.90,"verdict":"malicious","native_categories":["研究扫描 · Stretchoid(自报段)"]}(一键不多不少);corroborated=False(单源无第二票,宁少算);verdict_conflict=False不点亮(无良性断言→无冲突面,拒 benign② 路线的呈现面兑现);LookupResultOut.model_validate(to_dict())+model_dump()逐字段同形(GET/api/lookup/{ip}与 POST/api/query/stream同构)。frontend/src/components/__tests__/SourceDetailRow.test.tsx(+1 测,照 :82 先例):断言 chip 全文字面量[研究扫描 · Stretchoid(自报段)]可见。红证(tamper-red,不落 commit)
摘
_merge.pynative_categories detail 键 → 后端 2 红;摘SourceDetailRow.tsxchip map → 前端 3 红(含本票新测);复原全绿,树净。门(定向,全绿)
python -S+ PYTHONPATH(SR-T1 判例绕 sopagent .pth 污染):tests/lookup/ + tests/core/{test_details_full_record,test_to_observation,test_evidence,test_openapi_contract,test_classification,test_corroboration}.py + tests/sources/test_scanner_ranges.py→ 111 passed / 0 failed(2.39s)SourceDetailRow.test.tsx→ 11 passed(含新测 1)git merge feature/scanner-ranges→ Already up to date(无前进,符合预期)。未 push、未动集成分支。test(#214): SR-T3 自报段标签呈现钉测(链路透传零改,双端契约钉死)
merge(#214): SR-T3 自报段标签呈现钉测(渲染链零改,双端契约)