Repository object · test

ruff: noqa: E501

Accepted test in the public catalog.

Source path
tests/test_mission.py
Media type
text/x-python
Object ID
em:test:sha256:510a8a7fb569efb0ffe00609ec604df8aecf0dc709ca4db67525a1bc7ce18131
Content digest
e9afec891be495ca76e5298ab7f484248c0053c89a62ceb5d650826f7c20549b

Source content

ruff: noqa: E501

from __future__ import annotations

import hashlib

import json

from pathlib import Path

import pytest

from epistemedia.cli import main

from epistemedia.core import audit_public, build_public

from epistemedia.mission import MissionError, load_mission

from epistemedia.server import Gateway, Request, tool_definitions

ROOT = Path(__file__).resolve().parents[1]

ACCEPTED_CASE_FILES = {

"catalog/dossiers/agent-citation-lineage.json": "31f9e7642c7c0c51209e8827551bb9893c59336284c0ddf529fef96ef67b7904",

"catalog/dossiers/corrections-and-familiarity-backfire.json": "5c96dead036b527793ba5a0de59bf7316efdfeb591470d4a23e5bf979f3b9288",

"catalog/dossiers/gpt-4-bar-exam-percentile.json": "1a73f01732134b4da7e6a95fa6cc95fdef0f1ef63b4c74fd00245e8b908c7ff2",

"catalog/dossiers/mehrabian-7-38-55.json": "fd4ad4a47fdfea92c20812cd594f687864e5b4e2039658fbf9b55a2f5803f05e",

"research/how-we-know/corrections-backfire/candidate-dossier.json": "7003413e286e4d310f81441db33f4a467ba2eb3e08f41ddfa3cef5abb34707ca",

"research/how-we-know/corrections-backfire/review-receipts/20260822T183134Z-codex-independent-reviewer.json": "503d16396b25b1c22d7fc10ac6fb7db2e530e6ce348d63fa8b639db5a5288f0a",

"research/how-we-know/agent-citation-lineage/candidate-dossier.json": "1ae06b54fe6c6ce1803836bbf2ecaf3e652bed2c6878b7e095c01a1c689ab87b",

"research/how-we-know/agent-citation-lineage/independent-em0029-review-receipt.json": "dd7f8ad5f760137d91346c3bf38b2bbfffbc7e5c2e74a8a987b76d857e4f244e",

"research/how-we-know/gpt-4-bar-exam-percentile/candidate-dossier.json": "32c4457b3823237b2f988a26d51b2f6222af8060e662993524aff1c1a5d79e5d",

"research/how-we-know/gpt-4-bar-exam-percentile/independent-em0034-review-receipt.json": "f35f8c093778ad1cdeafc57746575f1a82d12fe6e6fbf0d1d4a546e3c5296e1e",

"research/how-we-know/mehrabian-7-38-55/candidate-dossier.json": "44e7bf407091d7665d4f1ab2aabc285255364e790e2d17520913f9ba9c57b418",

"research/how-we-know/mehrabian-7-38-55/independent-em0035-review-receipt.json": "0bb9184660deb3ef83addbcdb7be61d49f234026d6d484747b51628a4f8f087f",

}

def _sha256(path: Path) -> str:

return hashlib.sha256(path.read_bytes()).hexdigest()

def _mission_copy(tmp_path: Path) -> tuple[Path, dict]:

root = tmp_path / "repo"

path = root / "catalog" / "mission.json"

path.parent.mkdir(parents=True)

data = json.loads((ROOT / "catalog" / "mission.json").read_text())

path.write_text(json.dumps(data), encoding="utf-8")

return root, data

def test_mission_source_is_versioned_and_future_services_fail_closed() -> None:

mission = load_mission(ROOT)

assert mission["format"] == "epistemedia-mission-v0.3"

assert mission["version"] == "0.3"

assert mission["mission_id"].startswith("em:mission:sha256:")

assert mission["source"]["path"] == "catalog/mission.json"

assert mission["source"]["sha256"] == _sha256(ROOT / "catalog/mission.json")

assert [(item["number"], item["failure_mode"]) for item in mission["cases"]] == [

("001", "Overgeneralization"),

("002", "False independence"),

("003", "Missing comparison class"),

("004", "Scope inflation"),

]

state = mission["current_state"]

assert state["hosted_api_live"] is False

assert state["hosted_mcp_live"] is False

assert state["authenticated_submission_queue_live"] is False

assert state["second_realm_live"] is False

assert "not evidence, policy, constitution, or a stored verdict" in (

mission["governance_note"]

)

@pytest.mark.parametrize("mutation", ["extra", "case", "service", "link"])

def test_mission_source_tampering_fails_closed(tmp_path: Path, mutation: str) -> None:

root, data = _mission_copy(tmp_path)

if mutation == "extra":

data["unreviewed"] = True

elif mutation == "case":

data["cases"][0]["slug"] = "another-case"

elif mutation == "service":

data["current_state"]["hosted_mcp_live"] = True

else:

data["participation"][0]["href"] = "https://collector.example/submit"

(root / "catalog" / "mission.json").write_text(json.dumps(data))

with pytest.raises(MissionError):

load_mission(root)

def test_about_home_and_library_compile_from_one_mission(tmp_path: Path) -> None:

public = tmp_path / "public"

manifest = build_public(ROOT, public)

assert audit_public(ROOT, public) == []

for relative in (

"about/index.html",

"about/index.md",

"about/index.json",

"about/reader-check/index.html",

"about/reader-check/index.md",

"about/reader-check/index.json",

):

assert (public / relative).is_file(), relative

mission = load_mission(ROOT)

about_json = json.loads((public / "about" / "index.json").read_text())

about_html = (public / "about" / "index.html").read_text()

about_markdown = (public / "about" / "index.md").read_text()

assert about_json["data"]["mission_id"] == mission["mission_id"]

assert about_json["content_digest"]

assert about_html.count("<h1") == 1

assert "<script" not in about_html

assert '<link rel="canonical" href="https://epistemedia.org/about/">' in about_html

assert 'type="text/markdown" href="https://epistemedia.org/about/index.md"' in (

about_html

)

assert "Knowledge that can show its work" in about_html

assert "Knowledge that can show its work" in about_markdown

assert mission["mission_id"] in about_html

assert mission["mission_id"] in about_markdown

for item in mission["cases"]:

assert item["failure_mode"] in about_html

assert item["failure_mode"] in about_markdown

assert item["defining_count"] in about_html

assert item["defining_count"] in about_markdown

assert manifest["catalog_id"] in about_html

home = (public / "index.html").read_text()

assert home.count('class="failure-card"') == 4

assert home.count('class="participation-card"') == 3

assert "From assertion to inspectable reading" in home

assert home.index("Does repeating misinformation") < home.index(

"Claims arrive without their history"

)

assert home.index("Claims arrive without their history") < home.index(

"Explore how the record is built"

)

library = (public / "how-we-know" / "index.html").read_text()

assert "Four unit tests for how knowledge fails" in library

assert library.count('class="failure-card"') == 4

assert "No future case is advertised as available" in library

def test_navigation_discovery_and_sitemap_keep_human_and_agent_doors_open(

tmp_path: Path,

) -> None:

public = tmp_path / "public"

build_public(ROOT, public)

home = (public / "index.html").read_text()

stylesheet = (public / "register.css").read_text()

assert '<nav class="primary-nav" aria-label="Primary">' in home

assert '>How We Know</a>' in home

assert '>About</a>' in home

assert '>For agents</a>' in home

assert '<nav class="utility-nav" aria-label="Utility">' in home

for label in ("Substrate", "Docs", "Status", "GitHub"):

assert f">{label}</a>" in home

assert '<details class="utility-menu"><summary>Project</summary>' in home

assert "@media (max-width:640px)" in stylesheet

assert ".utility-menu{display:block}" in stylesheet

llms = (public / "llms.txt").read_text()

assert "Mission v0.3" in llms

assert "/about/index.md" in llms

assert "/about/index.json" in llms

assert "/about/reader-check/index.md" in llms

discovery = json.loads(

(public / ".well-known" / "epistemedia.json").read_text()

)

mission = load_mission(ROOT)

assert discovery["about"]["mission_id"] == mission["mission_id"]

assert discovery["about"]["human"] == "https://epistemedia.org/about/"

assert discovery["about"]["reader_check"].endswith("/about/reader-check/")

sitemap = (public / "sitemap.xml").read_text()

assert "https://epistemedia.org/about/" in sitemap

assert "https://epistemedia.org/about/reader-check/" in sitemap

def test_mission_has_static_rest_mcp_and_cli_parity(

tmp_path: Path, capsys: pytest.CaptureFixture[str]

) -> None:

public = tmp_path / "public"

build_public(ROOT, public)

expected = load_mission(ROOT)

status = json.loads((public / "status.json").read_text())

assert status["mission"] == {

"id": expected["mission_id"],

"version": expected["version"],

"human": "https://epistemedia.org/about/",

"machine": "https://epistemedia.org/about/index.json",

}

openapi = json.loads((public / "openapi.json").read_text())

assert openapi["paths"]["/mission"]["get"]["operationId"] == "getMission"

gateway = Gateway(ROOT)

code, _, response = gateway.handle_api(

Request("GET", "/v1/mission", {}, {}, b"")

)

assert code == 200

assert response["data"] == expected

assert gateway.call_tool("get_mission", {}) == expected

assert gateway.read_resource("epistemedia://mission") == expected

resources = gateway.mcp_method("resources/list", {})

assert "epistemedia://mission" in {

item["uri"] for item in resources["resources"]

}

assert main(["--root", str(ROOT), "mission"]) == 0

cli = json.loads(capsys.readouterr().out)

assert cli["data"] == expected

def test_reader_check_requires_a_real_human_and_records_no_synthetic_result(

tmp_path: Path,

) -> None:

public = tmp_path / "public"

build_public(ROOT, public)

document = json.loads(

(public / "about" / "reader-check" / "index.json").read_text()

)["data"]

assert document["status"] == "awaiting-human-response"

assert len(document["questions"]) == 5

assert [item["id"] for item in document["questions"]] == [

"evidence-unit",

"run-independence",

"lens-difference",

"current-limit",

"inspect-source",

]

assert "actual human" in document["recording_boundary"]

assert "Automated route, browser, and model checks do not satisfy" in document[

"recording_boundary"

]

assert "answers" not in document

assert "result" not in document

def test_no_public_write_or_admission_surface_is_implied(tmp_path: Path) -> None:

public = tmp_path / "public"

build_public(ROOT, public)

mission = json.loads((public / "about" / "index.json").read_text())["data"]

state = mission["current_state"]

assert not state["hosted_api_live"]

assert not state["hosted_mcp_live"]

assert not state["authenticated_submission_queue_live"]

submission = json.loads(

(public / "agents" / "submission-status.json").read_text()

)

assert submission["hosted_submission_available"] is False

assert submission["github_submission_available"] is True

assert submission["queue_status"] == "github-draft-pr-pilot"

names = {item["name"].lower() for item in tool_definitions()}

assert not any(

token in name

for name in names

for token in ("submit", "admit", "merge", "publish")

)

def test_accepted_case_inputs_are_byte_identical() -> None:

for relative, expected in ACCEPTED_CASE_FILES.items():

assert _sha256(ROOT / relative) == expected, relative

Build receipt

Reproduce this projection

Reproducible projection
Catalog
em:catalog:sha256:9bfc972213cba2cde167386103dc2c011ee74639fb7f0794c54120fbbdef1a5d
Frontier
em:frontier:sha256:f33be3eae4c75232d56750ef9a1aa79d96274ece3417d65a75c1391bf61a81bf
Accepted commit
f92846570180dfa4511263f8ba98ecd18f7772c9
Epistemic policy
commons-balanced-v0.1
Disclosure policy
public-noninterference-v0.1
Compiler
epistemedia/0.2.0