feat(lab): freeze RAVNOVES00 R0 acceptance contract

This commit is contained in:
DCCONSTRUCTIONS
2026-07-28 02:24:51 +03:00
parent 65a72d40a8
commit a2fcaa7b39
8 changed files with 1581 additions and 0 deletions
+98
View File
@@ -0,0 +1,98 @@
from __future__ import annotations
from collections import Counter
import pytest
from k1link.compute.e37_acceptance_contract import (
E37AcceptanceContractError,
assign_split,
derive_reference_labels,
)
def _decision(
*,
detector: str,
ownership: str,
cause: str | None = None,
effective_stratum: str | None = "agree",
) -> dict[str, object]:
return {
"detector_assessment": detector,
"point_ownership": ownership,
"cause_code": cause,
"effective_stratum": effective_stratum,
}
def test_r0_reference_projection_keeps_dimensions_independent() -> None:
assert derive_reference_labels(
_decision(detector="valid", ownership="object"),
None,
) == ("object-present", "object-associated", "current")
assert derive_reference_labels(
_decision(
detector="false-positive",
ownership="surface-or-background",
cause="time_mismatch",
),
None,
) == ("background-or-noise", "rejected-nonobject", "stale")
assert derive_reference_labels(
_decision(
detector="not-applicable",
ownership="insufficient-support",
effective_stratum="camera-only",
),
None,
) == ("unknown", "insufficient-support", "unavailable")
def test_human_exception_only_overrides_the_ambiguous_reference() -> None:
ambiguous = _decision(
detector="insufficient-evidence",
ownership="insufficient-evidence",
effective_stratum=None,
)
assert derive_reference_labels(ambiguous, "object-present") == (
"occupied-environment",
"independent-occupied",
"unavailable",
)
assert derive_reference_labels(ambiguous, "background-or-noise") == (
"background-or-noise",
"rejected-nonobject",
"unavailable",
)
def test_split_is_deterministic_balanced_and_complete() -> None:
rows = [
{
"item_id": f"item-{index:03d}",
"source_stratum": "agree" if index % 2 else "conflict",
"range_bucket": "near" if index % 3 else "far",
}
for index in range(60)
]
first = assign_split(
rows,
seed="frozen-seed",
validation_fraction=0.3,
)
second = assign_split(
list(reversed(rows)),
seed="frozen-seed",
validation_fraction=0.3,
)
assert first == second
assert set(first) == {row["item_id"] for row in rows}
assert Counter(first.values())["validation"] == 18
def test_split_rejects_mutable_or_invalid_fraction() -> None:
with pytest.raises(E37AcceptanceContractError):
assign_split([], seed="", validation_fraction=0.3)
with pytest.raises(E37AcceptanceContractError):
assign_split([], seed="seed", validation_fraction=0.9)
+87
View File
@@ -0,0 +1,87 @@
from __future__ import annotations
import importlib.util
import subprocess
import sys
from pathlib import Path
def _module() -> object:
path = (
Path(__file__).resolve().parents[1]
/ "experiments"
/ "perception"
/ "prepare_e37_worker_package.py"
)
spec = importlib.util.spec_from_file_location("e37_worker_package_test", path)
assert spec is not None and spec.loader is not None
module = importlib.util.module_from_spec(spec)
sys.modules[spec.name] = module
spec.loader.exec_module(module)
return module
def test_e37_package_is_minimal_content_addressed_projection(tmp_path: Path) -> None:
module = _module()
repository = Path(__file__).resolve().parents[1]
runtime = repository / ".runtime" / "compute-experiments" / "e30"
package = module.build_e37_worker_package(
repository_root=repository,
materialization_root=(
runtime
/ "materializations"
/ (
"e30-materialization-"
"841af926d8d28ab93538c46d8f31278a2234c4d1c12c7dc4dc296b249d59735a"
)
),
engineering_generation_root=(
runtime
/ "engineering-generations"
/ (
"e30-engineering-generation-"
"62a4fea10dea9b77f69ceac1af5bf0e4928d9c7716083c22258a03670fe5bd4f"
)
),
human_generation_root=(
runtime
/ "human-review-generations"
/ (
"e30-review-generation-"
"7982a882558d0be690b4c7092e328c080bfcbf52478a220452be7e887a588250"
)
),
profile_path=(
repository
/ "experiments"
/ "perception"
/ "e37_ravnoves00_acceptance_profile.json"
),
output_root=tmp_path,
)
manifest = module.validate_e37_worker_package(package)
assert package.name == f"e37-worker-package-{manifest['identity_sha256']}"
assert manifest["identity"]["classification"] == (
"immutable-ravnoves00-r0-worker-input"
)
assert len(manifest["artifacts"]) == 12
completed = subprocess.run(
[
sys.executable,
str(package / "runtime" / "run_e37_acceptance_contract.py"),
"--package",
str(package),
"--output-root",
str(tmp_path / "results"),
],
env={
"PYTHONPATH": str(package / "runtime"),
"PYTHONDONTWRITEBYTECODE": "1",
"E37_WORKER_NODE": "TEST-WORKER-006",
},
check=False,
capture_output=True,
text=True,
)
assert completed.returncode == 0, completed.stderr
assert '"accepted": true' in completed.stdout