feat: block public claims on incomplete source checks
This commit is contained in:
@@ -313,6 +313,9 @@ def public_claim_blockers(
|
||||
world_class_ready: bool,
|
||||
world_class_open_gap_count: int,
|
||||
world_class_ledger_pending_count: int,
|
||||
world_class_source_check_count: int,
|
||||
world_class_source_pass_count: int,
|
||||
world_class_source_blocked_count: int,
|
||||
) -> list[str]:
|
||||
blockers = []
|
||||
if not local_reproducibility_ready:
|
||||
@@ -328,6 +331,16 @@ def public_claim_blockers(
|
||||
f"world-class evidence is not accepted yet ({world_class_open_gap_count} open gaps, "
|
||||
f"{world_class_ledger_pending_count} ledger pending)"
|
||||
)
|
||||
if (
|
||||
world_class_source_check_count == 0
|
||||
or world_class_source_pass_count != world_class_source_check_count
|
||||
or world_class_source_blocked_count > 0
|
||||
):
|
||||
blockers.append(
|
||||
"world-class source checks are not all accepted "
|
||||
f"({world_class_source_pass_count}/{world_class_source_check_count} pass, "
|
||||
f"{world_class_source_blocked_count} blocked)"
|
||||
)
|
||||
return blockers
|
||||
|
||||
|
||||
@@ -379,6 +392,9 @@ def build_report(skill_dir: Path, generated_at: str) -> dict[str, Any]:
|
||||
world_class_ready,
|
||||
world_class_open_gap_count,
|
||||
world_class_ledger_pending_count,
|
||||
world_class_source_check_count,
|
||||
world_class_source_pass_count,
|
||||
world_class_source_blocked_count,
|
||||
)
|
||||
public_claim_ready = not claim_blockers
|
||||
return {
|
||||
@@ -422,7 +438,7 @@ def build_report(skill_dir: Path, generated_at: str) -> dict[str, Any]:
|
||||
"ready": public_claim_ready,
|
||||
"scope": "public benchmark or world-class readiness claim",
|
||||
"blockers": claim_blockers,
|
||||
"policy": "Local reproducibility can pass before public claims; public claims require provider evidence, human adjudication, clean release lock, and accepted world-class evidence.",
|
||||
"policy": "Local reproducibility can pass before public claims; public claims require provider evidence, human adjudication, clean release lock, accepted world-class evidence, and complete source checks.",
|
||||
},
|
||||
"release_lock": release_lock,
|
||||
"evidence_bundle": evidence_bundle,
|
||||
|
||||
@@ -147,11 +147,13 @@ def main() -> None:
|
||||
== payload["summary"]["world_class_source_check_count"]
|
||||
), payload
|
||||
assert payload["summary"]["public_claim_ready"] is False, payload
|
||||
assert payload["summary"]["public_claim_blocker_count"] >= 3, payload
|
||||
assert payload["summary"]["public_claim_blocker_count"] >= 4, payload
|
||||
assert payload["public_claim"]["ready"] is False, payload["public_claim"]
|
||||
assert any("provider-backed" in item for item in payload["public_claim"]["blockers"]), payload["public_claim"]
|
||||
assert any("human blind-review" in item for item in payload["public_claim"]["blockers"]), payload["public_claim"]
|
||||
assert any("world-class evidence" in item for item in payload["public_claim"]["blockers"]), payload["public_claim"]
|
||||
assert any("world-class source checks" in item for item in payload["public_claim"]["blockers"]), payload["public_claim"]
|
||||
assert "complete source checks" in payload["public_claim"]["policy"], payload["public_claim"]
|
||||
headings = {item["heading"]: item["exists"] for item in payload["methodology"]["sections"]}
|
||||
assert headings["## Benchmark Types"], headings
|
||||
assert headings["## Failure Disclosure"], headings
|
||||
@@ -183,6 +185,7 @@ def main() -> None:
|
||||
assert "public claim ready: `false`" in markdown, markdown
|
||||
assert "## Public Claim Boundary" in markdown, markdown
|
||||
assert "provider-backed model holdout evidence is incomplete" in markdown, markdown
|
||||
assert "world-class source checks are not all accepted" in markdown, markdown
|
||||
assert "## Release Lock" in markdown, markdown
|
||||
assert "## Evidence Bundle" in markdown, markdown
|
||||
assert "reports/benchmark_methodology.md" in markdown, markdown
|
||||
|
||||
Reference in New Issue
Block a user