"""Executable and static quality gates for isolated HUX-05 frontend."""
from __future__ import annotations
import json
import subprocess
from pathlib import Path
ROOT = Path(__file__).resolve().parents[2]
AUTONOMY = ROOT / "dockerfiles" / "hermes-webui-hux" / "autonomy"
def test_hux_autonomy_model_node_suite_and_coverage():
"""Fail-closed policy decisions retain at least 95% executable coverage."""
result = subprocess.run(
[
"node",
"--test",
"--experimental-strip-types",
"--experimental-test-coverage",
"--test-coverage-lines=95",
"--test-coverage-functions=95",
"--test-coverage-include=dockerfiles/hermes-webui-hux/autonomy/model.ts",
"--test-coverage-include=dockerfiles/hermes-webui-hux/autonomy/security.ts",
"--test-coverage-include=dockerfiles/hermes-webui-hux/autonomy/endpoints.ts",
"testing/tests/test_hermes_hux_ui_autonomy.mjs",
],
cwd=ROOT,
check=False,
capture_output=True,
text=True,
timeout=30,
)
assert result.returncode == 0, result.stdout + result.stderr
def test_hux_autonomy_component_is_accessible_flagged_and_inert():
"""Static checks preserve accessible controls and callback-only effects."""
component = (AUTONOMY / "AutonomyControls.tsx").read_text(encoding="utf-8")
model = (AUTONOMY / "model.ts").read_text(encoding="utf-8")
endpoints = (AUTONOMY / "endpoints.ts").read_text(encoding="utf-8")
styles = (AUTONOMY / "styles.css").read_text(encoding="utf-8")
assert "if (!enabled) return null" in component
assert "autonomyControlsEnabled(props.flags)" in component
for flag in ("hux.foundation", "hux.activity_timeline", "hux.autonomy"):
assert flag in model
assert "