Expand intel coverage and refresh monitoring

这个提交包含在:
hao
2026-03-18 14:18:09 -07:00
父节点 87008d1bd5
当前提交 00d828d090
修改 3658 个文件,包含 124245 行新增13073 行删除

查看文件

@@ -173,10 +173,11 @@ def _write_outputs(
triage: List[Dict[str, Any]],
failures: List[str],
change_summary: Dict[str, Any],
selected_system_ids: set[str] | None = None,
) -> None:
render_registry(source_map, advisories, triage)
render_system_scaffolding(source_map, advisories)
render_case_pages(advisories)
render_registry(source_map, advisories, triage, selected_system_ids=selected_system_ids)
render_system_scaffolding(source_map, advisories, selected_system_ids=selected_system_ids)
render_case_pages(advisories, selected_system_ids=selected_system_ids)
render_secure_code(source_map)
render_generated(source_map, advisories, triage, failures, change_summary)
@@ -187,7 +188,10 @@ def _refresh_render_state(
) -> None:
render_map, advisories, triage = _load_existing_selection(full_source_map, source_map)
summary = read_json(GENERATED_DIR / "run-summary.json", default={}) or {}
_write_outputs(render_map, advisories, triage, summary.get("failures", []), summary)
selected_system_ids = None
if len(source_map["systems"]) != len(full_source_map["systems"]):
selected_system_ids = {system["system_id"] for system in source_map["systems"]}
_write_outputs(render_map, advisories, triage, summary.get("failures", []), summary, selected_system_ids=selected_system_ids)
def _retry_degraded_sources(
@@ -235,7 +239,12 @@ def pipeline(
include_undated: bool,
hotlane_only: bool = False,
) -> tuple[list[AdvisoryRecord], list[Dict[str, Any]], list[str], Dict[str, Any]]:
since_dt = None if tier == "history-full" else parse_since(since_arg, default_days=30)
if tier == "history-full":
since_dt = None
elif tier == "rolling-24m":
since_dt = parse_since("730d")
else:
since_dt = parse_since(since_arg, default_days=30)
candidates, failures = collect_candidates(source_map, since_dt=since_dt, tier=tier, include_undated=include_undated)
advisories, triage = normalize_candidates(candidates)
advisories = route_advisories(source_map, advisories)
@@ -244,9 +253,11 @@ def pipeline(
advisories, triage = _merge_existing_registry(advisories, triage)
change_summary = _summarize_changes(advisories)
render_map = source_map
selected_system_ids = None
if len(source_map["systems"]) != len(full_source_map["systems"]):
render_map = full_source_map
_write_outputs(render_map, advisories, triage, failures, change_summary)
selected_system_ids = {system["system_id"] for system in source_map["systems"]}
_write_outputs(render_map, advisories, triage, failures, change_summary, selected_system_ids=selected_system_ids)
return advisories, triage, failures, change_summary
@@ -256,7 +267,10 @@ def cmd_render(args) -> int:
render_map, advisories, triage = _load_existing_selection(full_source_map, source_map)
summary = read_json(GENERATED_DIR / "run-summary.json", default={}) or {}
failures = summary.get("failures", [])
_write_outputs(render_map, advisories, triage, failures, summary)
selected_system_ids = None
if len(source_map["systems"]) != len(full_source_map["systems"]):
selected_system_ids = {system["system_id"] for system in source_map["systems"]}
_write_outputs(render_map, advisories, triage, failures, summary, selected_system_ids=selected_system_ids)
return 0