| """Per-task deterministic verification (from CORP-ENV implementation guide).""" |
|
|
| from __future__ import annotations |
|
|
| import re |
| from typing import Any, Dict, List, Set |
|
|
|
|
| def _ngrams(text: str, n: int) -> List[str]: |
| words = text.split() |
| if len(words) < n: |
| return [] |
| return [" ".join(words[i : i + n]) for i in range(len(words) - n + 1)] |
|
|
|
|
| def check_no_verbatim_copy(swd: Dict[str, Any]) -> bool: |
| """Penalise if final_recommendation is mostly copy-paste from one agent report.""" |
| final = swd.get("final_recommendation") |
| if final is None: |
| return True |
| final_str = str(final).lower() |
| reports = swd.get("agent_reports") or {} |
| for report in reports.values(): |
| if report and len(str(report)) > 50: |
| report_grams = set(_ngrams(str(report).lower(), 5)) |
| final_grams = set(_ngrams(final_str, 5)) |
| if report_grams and final_grams: |
| overlap = len(final_grams & report_grams) / min( |
| len(report_grams), len(final_grams) |
| ) |
| if overlap > 0.6: |
| return False |
| return True |
|
|
|
|
| def is_verbatim_copy(swd: Dict[str, Any]) -> bool: |
| """Return True when final_recommendation appears to copy a worker report.""" |
| return not check_no_verbatim_copy(swd) |
|
|
|
|
| def verify_e1(swd: Dict[str, Any]) -> Dict[str, bool]: |
| fr = swd.get("final_recommendation") |
| fr_norm = ( |
| fr.strip().upper().replace("-", "_") if isinstance(fr, str) else "" |
| ) |
| checks = { |
| "qa_report_present": swd.get("agent_reports", {}).get("qa") is not None, |
| "final_rec_valid": fr_norm in ("GO", "NO_GO"), |
| "no_missed_milestones": all( |
| m.get("status") != "missed" for m in (swd.get("milestones") or []) |
| ), |
| } |
| return checks |
|
|
|
|
| _BUDGET_TERMS = ("budget", "cost", "spend", "cash", "runway", "burn") |
|
|
|
|
| def _text_of(entry: Any) -> str: |
| if isinstance(entry, dict): |
| return " ".join(str(v) for v in entry.values()) |
| return str(entry) |
|
|
|
|
| def verify_m1(swd: Dict[str, Any]) -> Dict[str, bool]: |
| final = swd.get("final_recommendation") or {} |
| if not isinstance(final, dict): |
| final = {} |
| decisions = swd.get("decisions", []) or [] |
| reasoning = swd.get("reasoning_log", []) or [] |
| budget_corpus = " ".join( |
| _text_of(x).lower() for x in list(decisions) + list(reasoning) |
| ) |
| checks = { |
| "required_agents_consulted": all( |
| swd.get("agent_reports", {}).get(a) is not None for a in ("dev", "finance") |
| ), |
| "conflict_logged": len(swd.get("conflicts_identified", []) or []) >= 1, |
| "conflict_resolved": len(swd.get("conflict_resolutions", []) or []) >= 1, |
| "phased_plan": "phase_1" in final, |
| "budget_constraint_acknowledged": any( |
| term in budget_corpus for term in _BUDGET_TERMS |
| ), |
| "reasoning_documented": len(reasoning) >= 1, |
| } |
| return checks |
|
|
|
|
| def verify_h1(swd: Dict[str, Any]) -> Dict[str, bool]: |
| final = swd.get("final_recommendation") or {} |
| if not isinstance(final, dict): |
| final = {} |
| resolutions = swd.get("conflict_resolutions", []) or [] |
|
|
| checks = { |
| "all_agents_consulted": all( |
| swd.get("agent_reports", {}).get(a) for a in ("dev", "hr", "finance") |
| ), |
| "multi_conflict_logged": len(swd.get("conflicts_identified", []) or []) >= 2, |
| "conflict_explicitly_resolved": len(resolutions) >= 1, |
| "resolution_has_type": any( |
| isinstance(r, dict) and "resolution_type" in r for r in resolutions |
| ), |
| "rich_reasoning_log": len(swd.get("reasoning_log", []) or []) >= 5, |
| "counter_offer_present": "counter_offer" in final, |
| "deadline_present": "deadline" in final, |
| "retention_addressed": "retention_plan" in final, |
| "timeline_constraint_acknowledged": any( |
| re.search(r"(7 month|runway|cash)", str(d), re.I) |
| for d in (swd.get("decisions", []) or []) |
| ), |
| "no_single_agent_copied": check_no_verbatim_copy(swd), |
| "all_phases_reached": swd.get("phase") == "execution", |
| "swd_version_rich": int(swd.get("swd_version", 0)) >= 8, |
| } |
| return checks |
|
|