{
  "schema_version": "1.0",
  "release": "mini_windows_hybrid_runtime",
  "release_status": "RELEASED_BETA_CHANNEL",
  "release_channel": "windows",
  "generated_at": "2026-09-16T15:42:35Z",
  "product": "ReverseML Mini for Windows",
  "windows_release_is_additive": true,
  "android_stable_preserved": true,
  "android_hybrid_preserved": true,
  "existing_windows_client": {
    "version": "2.0.0-beta.4",
    "installer": "ReverseML_2.0.0-beta.4_x64-setup.exe",
    "installer_sha256": "4ebf69ff8c4ec2f6f218d88d7647c8d83f65b9d028dbe466cd938e17cc656b53",
    "installer_size": 337156509,
    "signed": false,
    "status": "UNCHANGED - still the published Windows preview",
    "note": "the hybrid runtime now ships as a SEPARATE product that installs alongside this one; this build is not replaced"
  },
  "hybrid_runtime": {
    "implemented": true,
    "compiled_into_app": true,
    "packaged": true,
    "installer": "ReverseML-Mini-Hybrid-2.1.0-hybrid.1-x64-setup.exe",
    "installer_sha256": "5c96af165dda0174e77df23594c85dc0bcebd2d62b305a85fe5d8d16257e9542",
    "installer_size": 55058107,
    "installer_signed": false,
    "product_name": "ReverseML Mini Hybrid",
    "identifier": "online.reverseml.desktop.hybrid",
    "version": "2.1.0-hybrid.1",
    "install_mode": "currentUser (no Administrator required)",
    "installs_alongside_existing_windows_build": true,
    "download": "https://reverseml.online/mini/dl/windows_hybrid_beta (approved testers only)",
    "owner": "src-tauri/src/hybrid/ (memory, policy, planner, observer, adapters, sync, runtime, bridge)",
    "storage": "per-user application-private (%LOCALAPPDATA%/ReverseML/MiniHybrid)",
    "engine": "SQLite (rusqlite, bundled) - the same engine and schema as Android and the server"
  },
  "contract_reuse": {
    "memory_schema_version": 1,
    "server_memory_schema_version": 1,
    "sync_protocol_version": "1.0",
    "planner_version": "1.0",
    "policy_version": "1.0",
    "adapter_registry_version": "1.0",
    "forked_contracts": [],
    "note": "no windows-specific memory schema, sync protocol, policy model, executor, maths implementation or learning bus exists"
  },
  "model": {
    "model_changed": false,
    "local_runtime": "existing Ollama path already in the desktop client",
    "default_model": "qwen2.5:7b (prerequisite, not bundled)",
    "training_performed": false,
    "model_weights_modified": false
  },
  "verified_adapters": [
    "read_device_status (L0)",
    "check_file_exists (L0)",
    "read_file_metadata (L0)",
    "mini_health (L0)",
    "create_internal_note (L1)",
    "update_mini_task_state (L1)",
    "create_local_report (L1)",
    "create_temp_file (L1)"
  ],
  "verified_capabilities": [
    "local deterministic arithmetic, no model and no network",
    "local Qwen inference through the existing Ollama path",
    "on-device persistent memory, survives the writing process",
    "SAME / UPDATE / SUPERSEDE / CONFLICT with history preserved",
    "bounded top-K recall",
    "selective sync windows to server (live, authenticated)",
    "server to windows reconcile, verified beats unverified",
    "lineage supersede distinguished from conflict",
    "pull cursor never steps past an unresolved record",
    "LOCAL_ONLY and sensitive memory never leave the machine",
    "Mini Planner, 10 paths, Android ordering rules preserved",
    "Level 0 Windows observation (battery, network, RAM, disk, CPU)",
    "Level 1 adapters execute AND verify (read-back / sha256)",
    "action ledger: EXECUTED is not VERIFIED",
    "Level 3 confirmation-gated with no implementation present",
    "Level 4 denied outright",
    "standing permissions with expiry and revocation",
    "Unified Executor escalation (live)",
    "Search / Deep Research escalation (live)",
    "Monte Carlo through the canonical maths gateway (live, exact figure)",
    "offline reported honestly rather than faked"
  ],
  "tests": {
    "unit": "23/23 PASS (real SQLite)",
    "live_probe": "13/13 PASS (live server, live local model, live Ollama)",
    "total": "36/36",
    "installer": "built, installed per-user, upgrade-installed over itself",
    "upgrade_persistence": "memory row and device identity both survived an upgrade install and an app run",
    "shipped_contents": "test harness confirmed absent from the installer",
    "coexistence": "installed alongside the existing ReverseML Windows build under a separate product identity and data directory"
  },
  "known_limitations": [
    "the installer is UNSIGNED - SmartScreen will warn, exactly as the existing Windows build does",
    "the in-app hybrid panel was not driven through the GUI; the runtime behind it is covered by 23 unit tests and 13 live checks, but the panel itself was only verified to load with the app",
    "tested on one machine only; no clean-PC lifecycle validation",
    "Windows reboot persistence was not exercised (upgrade-install and app-run persistence were)",
    "the updater was not extended to the hybrid channel; it still points at the existing update manifest",
    "level 2 adapters (notification, open app, open URL) are declared in the policy table but have no implementation"
  ],
  "rollback_paths": {
    "hybrid_runtime": "uninstall 'ReverseML Mini Hybrid' from Apps; the existing Windows build and its data are untouched",
    "mini_access_backup": "/opt/ai_agent/releases/MINI_STABLE_0_2_2_FROZEN/mini_access.py.pre_win.bak",
    "server_router_backup": "/tmp/mini_router.pre_recallfix.bak",
    "server_executor_backup": "/tmp/runtime_executor.pre_mathfix.bak",
    "windows_beta4": "/opt/ai_agent/backups/windows-mini-beta4-private-20260831T184838Z/"
  },
  "server_defects_found_and_fixed": [
    "a researched answer was being discarded and replaced with the no-memory line whenever the question matched a recall shape - research replies were losing their content",
    "a computed Monte Carlo figure reached the prompt but the model ignored it; computed results are now presented first and appended verbatim when the model omits them",
    "sending deep=true selected the research pipeline, which bypasses the Unified Executor entirely and therefore never ran the method registry"
  ]
}