"""Plan validation and independent evidence check. Author: Sandeep Belgavi.""" from dataclasses import dataclass @dataclass(frozen=True) class Step: key: str evidence_ref: str def execute(planner, records, max_steps=3): if type(max_steps) is not int or not 1 <= max_steps <= 10: raise ValueError("invalid limit") plan = planner() if not isinstance(plan, (list, tuple)) or not 1 <= len(plan) <= max_steps: raise ValueError("invalid plan size") if any(not isinstance(s, Step) or not isinstance(s.key, str) or not isinstance(s.evidence_ref, str) or not s.key or not s.evidence_ref for s in plan): raise ValueError("invalid step") if len({s.key for s in plan}) != len(plan): raise ValueError("duplicate step") report = [] for step in plan: row = records.get(step.evidence_ref) report.append({"step": step.key, "ref": step.evidence_ref, "claim": "degraded" if row == "high" else "unknown"}) return report def verify(report, independent_records): """Separate evidence input, not a second approval from the planner.""" if not report: return False for item in report: if not isinstance(item, dict): return False if item.get("claim") != "degraded": return False if not isinstance(item.get("ref"), str): return False if independent_records.get(item.get("ref")) != "high": return False return True if __name__ == "__main__": report = execute(lambda: [Step("inspect", "L1")], {"L1": "high"}) print(f"steps={len(report)} verified={str(verify(report, {'L1': 'high'})).lower()} remediation=none")