Repository navigation
Renegade Core Model Manager (RenegadeCMM) v1.6.1
Release Version:
v1.6.1
Tag / Commit:v1.6.1(a96d7a6)
Target: Inter-Application Compatibility & RenegadeSwarm Daemon Bearer Authentication Handshake
Executive Summary
RenegadeCMM v1.6.1 aligns inter-application communication with the RenegadeSwarm desktop daemon. Privileged daemon endpoints on port 5180 now require cryptographic Bearer authentication. RenegadeCMM discovers the local daemon.token on disk, attaches it to model ingest and window focus calls, detects Swarm path-confinement errors (403 Forbidden), and displays connection status in Settings without exposing raw token secrets to the renderer.
Endpoint Authorization Matrix
| Call | Method | Auth Scheme | Notes |
|---|---|---|---|
/api/health, /health, /api/status |
GET |
None (Public) | Heartbeat, peer count, version. Unauthenticated. |
/api/ingest |
POST |
Authorization: Bearer <64-hex> |
Automatic single-model ingest notification. |
/api/models/scan |
POST |
Authorization: Bearer <64-hex> |
Fallback directory rescan notification. |
/api/window/focus |
POST |
Authorization: Bearer <64-hex> |
Programmatic desktop window focus / restore. |
/api/cmm/status |
GET |
Authorization: Bearer <64-hex> |
Daemon inspection route. |
Upgrade & Launch Sequence
-
Start Swarm first: Launch RenegadeSwarm so its daemon initializes on port
5180and writesdaemon.token. -
Launch RenegadeCMM: Navigate to Settings
$\rightarrow$ RenegadeSwarm Bridge. Status should reportConnectedandToken: Found. -
Folder permissions: Ensure download directories in CMM reside inside Swarm's configured root folders. If a path is outside Swarm's roots, ingest will return
403("Model path is outside Swarm's allowed folder roots"). - Database State: Operates on existing SQLite schema version 11 with no migrations required.
Changes in this Release (a96d7a6)
-
Local Token Discovery (
swarmAuthToken.ts):- Main process searches standard platform paths for
daemon.token:-
Windows:
%APPDATA%\RenegadeSwarm\daemon.token -
macOS:
~/Library/Application Support/RenegadeSwarm/daemon.token -
Linux:
~/.config/RenegadeSwarm/daemon.token(also checks~/.config/renegadeswarm/daemon.token) -
Dev fallback:
.renegadeswarm_security/daemon.token
-
Windows:
- Validates format against
^[a-f0-9]{64}$. - Caches token in memory for
ingest,scan, andfocuscalls. - Intercepts HTTP
401 Unauthorizedon daemon restarts to flush cache, reload from disk once, and retry.
- Main process searches standard platform paths for
-
Path Confinement Handling (
swarmBridge.ts):- Intercepts HTTP
403from/api/ingestand surfaces: "Model path is outside Swarm's allowed folder roots (Path Confinement)".
- Intercepts HTTP
-
Strict Window Focus Failure (
swarmBridge.ts):- Focus tries POST
/api/window/focus$\rightarrow$ OS window handle$\rightarrow$ local desktop binary. - If all three methods fail, returns
{ success: false }instead of masking failures.
- Focus tries POST
-
Renderer Token Isolation (
SettingsTab.tsx):- Bearer token stays in the Electron main process. Renderer only receives boolean presence status, diagnostic error copy, and the expected path with a copy-to-clipboard button.
-
CI Modernization:
- Upgraded GitHub Actions to
actions/checkout@v5withFORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true.
- Upgraded GitHub Actions to
-
Test Suite:
- Added token discovery, bearer header, 401 retry, 403 path confinement, and mocked daemon unit tests. 125 tests passing across 21 test files.
Post-Tag Fixes on main (Scheduled for v1.6.2)
The following commits landed on main after tag v1.6.1 and are not included in the v1.6.1 binary installer:
adm-zipUpgrade (f72ba4a): Bumpsadm-zipfrom0.6.0to0.6.1(npm audit: 0 vulnerabilities).- Launcher Hardening (
fb1c6e8): Refuses silent Node.js installations on Windows, decouples PyTorch from routinestart, stamps lockfile hash in.installed, isolates Electron kill targets, and adds TCP port readiness polling.