feat: migrate Mac mini services into Reyna CLI

This commit is contained in:
Adolfo Reyna
2026-08-16 08:24:45 -04:00
parent 9fd04b0ce4
commit 032bc3a580
26 changed files with 4216 additions and 315 deletions
+9 -15
View File
@@ -1,11 +1,7 @@
"""Tests for remaining coverage migration — fully consolidated no-Notes CLI.
"""Tests for current direct-Notes and native-host coverage boundaries.
This file replaces the old Notes-native tests. Validates:
- privacy contract contains only calendar/contacts/reminders/system/speech/apple_llm (no notes)
- coverage matrix exists and says Notes deferred + legacy untouched
- system info still works via native host
- local-services direct wrappers offline safe (no Notes)
- docs mention Notes deferred
The native privacy contract remains Notes-free. Apple Notes is intentionally a
mutable Python CLI route, so it does not require rebuilding the Swift host.
"""
import json
@@ -24,11 +20,9 @@ def test_coverage_matrix_exists():
p = Path(__file__).parents[1] / "docs" / "remaining-coverage-matrix.md"
assert p.exists(), f"matrix doc missing at {p}"
content = p.read_text()
# Must mention Notes deferred
assert "Notes" in content
assert "deferred" in content.lower(), "matrix must say Notes deferred"
assert "legacy" in content.lower()
assert "untouched" in content.lower()
assert "direct mutable reyna cli" in content.lower()
assert "fixed jxa" in content.lower()
assert "signed bundle" in content.lower()
# ─── Privacy contract — no notes, deferred ────────────────────────────────
@@ -88,12 +82,12 @@ def test_cli_system_info_uses_native(monkeypatch):
assert payload["ok"] is True
# ─── No Notes CLI ─────────────────────────────────────────────────────────
# ─── Direct Notes CLI (outside the native privacy host) ───────────────────
def test_cli_macmini_no_notes_subcommand():
def test_cli_macmini_notes_compatibility_subcommand():
result = runner.invoke(app, ["macmini", "--help"])
assert result.exit_code == 0
assert "notes" not in result.stdout.lower(), f"macmini must not list notes — Notes deferred, got: {result.stdout}"
assert "notes" in result.stdout.lower()
def test_cli_privacy_host_no_notes_authorize():