feat: Apply policy alignment fixes to abisa-daily-sweep.py (Policy #11)
Changes: - Removed null_tenant check (tenant field deprecated June 1, 2026) - Added missing_owner and missing_organization L2 metrics - Updated baseline loader to track new metrics - Updated HTML dashboard: Null Tenant -> Missing Owner + Missing Org
This commit is contained in:
+13
-4
@@ -105,6 +105,8 @@ b_stale30 = baseline.get("stale_30d", 0)
|
||||
b_missing_type = baseline.get("missing_metadata_type", 0)
|
||||
b_missing_agent = baseline.get("missing_metadata_agent_id", 0)
|
||||
b_wrapped = baseline.get("wrapped_metadata", 0)
|
||||
b_missing_owner = baseline.get("missing_metadata_owner", 0)
|
||||
b_missing_org = baseline.get("missing_metadata_organization", 0)
|
||||
baseline_date = ""
|
||||
try:
|
||||
with open(BASELINE_FILE) as f:
|
||||
@@ -126,8 +128,7 @@ wrapped_count = db_scalar_int("SELECT count(*) FROM nodes WHERE metadata LIKE '%
|
||||
wrapped_baseline = baseline.get("wrapped_metadata", 0)
|
||||
# NULL namespace
|
||||
null_ns = db_scalar_int("SELECT count(*) FROM nodes WHERE metadata NOT LIKE '%namespace%'")
|
||||
# NULL tenant
|
||||
null_tenant = db_scalar_int("SELECT count(*) FROM nodes WHERE metadata NOT LIKE '%tenant%'")
|
||||
|
||||
|
||||
# Auto-fix NULL namespace for known tenants
|
||||
null_ns_nodes = db_query_rows(
|
||||
@@ -199,6 +200,10 @@ insert_repair_log(
|
||||
stale30 = db_scalar_int("SELECT count(*) FROM nodes WHERE updated_at IS NOT NULL AND updated_at < datetime('now','-30 days')")
|
||||
stale60 = db_scalar_int("SELECT count(*) FROM nodes WHERE updated_at IS NOT NULL AND updated_at < datetime('now','-60 days')")
|
||||
|
||||
# L2: MISSING OWNER (Policy #11)
|
||||
missing_owner = db_scalar_int("SELECT count(*) FROM nodes WHERE metadata NOT LIKE '%owner%'")
|
||||
missing_org = db_scalar_int("SELECT count(*) FROM nodes WHERE metadata NOT LIKE '%organization%'")
|
||||
|
||||
# Log stale finding
|
||||
insert_repair_log(
|
||||
None, "abisa_l2_flag_stale",
|
||||
@@ -440,8 +445,12 @@ html = f"""<!DOCTYPE html>
|
||||
<span style="color:#e0e0e0;font-size:11px;font-weight:600">{fmt_num(null_ns, b_null_ns)}</span>
|
||||
</div>
|
||||
<div style="display:flex;justify-content:space-between;padding:4px 10px;background:#0d1117;border-radius:4px">
|
||||
<span style="color:#888;font-size:11px">Null Tenant</span>
|
||||
<span style="color:#e0e0e0;font-size:11px;font-weight:600">{null_tenant}</span>
|
||||
<span style="color:#888;font-size:11px">Missing Owner</span>
|
||||
<span style="color:#e0e0e0;font-size:11px;font-weight:600">{fmt_num(missing_owner, b_missing_owner)}</span>
|
||||
</div>
|
||||
<div style="display:flex;justify-content:space-between;padding:4px 10px;background:#0d1117;border-radius:4px">
|
||||
<span style="color:#888;font-size:11px">Missing Org</span>
|
||||
<span style="color:#e0e0e0;font-size:11px;font-weight:600">{fmt_num(missing_org, b_missing_org)}</span>
|
||||
</div>
|
||||
<div style="display:flex;justify-content:space-between;padding:4px 10px;background:#0d1117;border-radius:4px">
|
||||
<span style="color:#888;font-size:11px">Null Explanations</span>
|
||||
|
||||
Reference in New Issue
Block a user