test_landing_cycle.py python
30 lines 1.0 KB
Raw
sha256:a78e7e5a8740e03315f325d19edeb3aa1b306b3337d04abbaa9a9e0f3bbeb7a1 docs: MuseHub-first before ISR #74 — staging solidify NEXT Human 1 day ago
1 """E2E — full landing asset cycle on kit root."""
2
3 from __future__ import annotations
4
5 from pathlib import Path
6
7 from tools.landing.schema import load_manifest
8 from tools.landing.validate import validate_landing
9
10 KIT_ROOT = Path(__file__).resolve().parents[2]
11
12
13 def test_e2e_landing_manifest_html_license_security_aligned() -> None:
14 manifest = load_manifest(KIT_ROOT / "docs" / "landing" / "manifest.yaml")
15 index_html = (KIT_ROOT / "docs" / "landing" / "index.html").read_text(encoding="utf-8")
16 scenarios_html = (
17 KIT_ROOT / "docs" / "landing" / "scenarios" / "index.html"
18 ).read_text(encoding="utf-8")
19
20 for section_id in manifest.section_ids:
21 assert f'id="{section_id}"' in index_html
22
23 for persona_id in manifest.persona_ids:
24 assert f'id="persona-{persona_id}"' in scenarios_html
25
26 result = validate_landing(KIT_ROOT)
27 assert result.ok, result.errors
28
29 security = (KIT_ROOT / "SECURITY.md").read_text(encoding="utf-8")
30 assert "Reporting a vulnerability" in security
File History 2 commits
sha256:a78e7e5a8740e03315f325d19edeb3aa1b306b3337d04abbaa9a9e0f3bbeb7a1 docs: MuseHub-first before ISR #74 — staging solidify NEXT Human 1 day ago
sha256:4671b7f787ddbe63ced31c895b688c77ab495653b65a730b423329f26b3c1439 feat: K1-P1 complete — agent provenance, build-verification… Sonnet 4.6 patch 52 days ago