import json

from hessian_recipes.cli import main


def test_invalid_input_is_actionable_without_traceback(tmp_path, capsys):
    result = main(["demo", "--workspace", str(tmp_path), "--output", str(tmp_path / "runs")])
    assert result == 2
    assert "repository clone" in json.loads(capsys.readouterr().err)["error"]


def test_demo_reports_both_development_tracks(tmp_path, capsys):
    from pathlib import Path

    root = Path(__file__).resolve().parents[1]
    result = main(["demo", "--workspace", str(root), "--output", str(tmp_path / "demo")])
    assert result == 0
    summary = json.loads(capsys.readouterr().out)
    assert len(summary["reports"]) == 2
    assert summary["release_eligible"] is False
