docs: sync oracle claim boundaries
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from pathlib import Path
|
||||
|
||||
ROOT = Path(__file__).resolve().parents[1]
|
||||
PLAN = ROOT / "docs" / "research" / "shadbala_av_normative_benchmark_plan_2026_07_19.md"
|
||||
|
||||
|
||||
def test_shadbala_av_plan_keeps_current_closure_separate_from_global_truth() -> None:
|
||||
text = PLAN.read_text(encoding="utf-8")
|
||||
|
||||
for token in [
|
||||
"current target set: `external_verified`",
|
||||
"`can_claim_shadbala_absolute_closure = true`",
|
||||
"`production_tuning_allowed = false`",
|
||||
"must not claim universal Shadbala or AV truth",
|
||||
"60 mismatches, 60 classified, 0 unclassified",
|
||||
"no majority vote",
|
||||
]:
|
||||
assert token in text
|
||||
|
||||
|
||||
def test_shadbala_av_plan_requires_component_units_and_license_boundaries() -> None:
|
||||
text = PLAN.read_text(encoding="utf-8")
|
||||
|
||||
for token in [
|
||||
"VP Jain",
|
||||
"Xalen",
|
||||
"PyJHora/JHora",
|
||||
"jyotishganit",
|
||||
"Virupa vs Rupa must be explicit",
|
||||
"`sthana`",
|
||||
"`dig`",
|
||||
"`kala`",
|
||||
"`chesta`",
|
||||
"`naisargika`",
|
||||
"`drik`",
|
||||
"`total_rupa`",
|
||||
"AGPL implementation code",
|
||||
"Independent ephemeris mode",
|
||||
]:
|
||||
assert token in text
|
||||
@@ -33,3 +33,15 @@ def test_vedastro_only_d2_difference_is_endpoint_semantics(tmp_path: Path) -> No
|
||||
row = arbitrate_manifest(path)["rows"][0]
|
||||
assert row["category"] == "endpoint_or_varga_semantics"
|
||||
assert row["differing_engines"] == ["VedAstro"]
|
||||
|
||||
|
||||
def test_commercial_receives_mismatch_status_not_raw_truth_upgrade() -> None:
|
||||
report = json.loads((ROOT / "references/oracle/three_engine_mismatch_arbitration_2026_07_19.json").read_text(encoding="utf-8"))
|
||||
markdown = (ROOT / "docs/research/three_engine_mismatch_arbitration_2026_07_19.md").read_text(encoding="utf-8")
|
||||
|
||||
assert report["mismatch_count"] == 60
|
||||
assert report["classified_count"] == 60
|
||||
assert report["unclassified_count"] == 0
|
||||
assert report["truth_policy"] == "no_majority_vote"
|
||||
assert "commercial_sync: `status_and_claim_boundary_only`" in markdown
|
||||
assert "Do not copy raw research debt into commercial runtime" in markdown
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from pathlib import Path
|
||||
|
||||
ROOT = Path(__file__).resolve().parents[1]
|
||||
DOC = ROOT / "docs" / "research" / "vedastro_identity_closure_plan_2026_07_19.md"
|
||||
|
||||
|
||||
def test_vedastro_identity_plan_keeps_hosted_output_observation_only() -> None:
|
||||
text = DOC.read_text(encoding="utf-8")
|
||||
|
||||
for token in [
|
||||
"VedAstro hosted API remains observation-only",
|
||||
"build identity, method semantics, and deployment version are not archived",
|
||||
"does not prove which side is true",
|
||||
"tune production predictions from hosted output with unknown build identity",
|
||||
"silently prefer VedAstro or local output by majority vote",
|
||||
]:
|
||||
assert token in text
|
||||
|
||||
|
||||
def test_vedastro_identity_plan_requires_self_host_supply_chain_fields() -> None:
|
||||
text = DOC.read_text(encoding="utf-8")
|
||||
|
||||
for token in [
|
||||
"source commit",
|
||||
"NuGet package hash",
|
||||
"DLL SHA-256",
|
||||
"assembly version",
|
||||
"public method inventory",
|
||||
"container image digest",
|
||||
"required_self_host_evidence",
|
||||
"truth_upgrade_gate",
|
||||
]:
|
||||
assert token in text
|
||||
Reference in New Issue
Block a user