root
16f2083253
feat(ui): blackflame theming pass — edit toggle, md tables, back button, Little Blue action cards
...
- markdown_editor Edit toggle uses themed ghost button
- .md-preview gets full blackflame styling incl. tables (migrated BookStack tables now render as tables)
- reusable back button on page/reference/project/resource reading views
- Little Blue actions regrouped into themed cards, pairing Start/Stop per guest
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-04 23:02:32 +10:00
root
f5c7b24d81
feat(ui): page editor — single rendered pane with Edit/Preview toggle
...
Replaces the always-on split Edit|Preview (page shown twice) with a rendered
preview by default + an Edit toggle that swaps the pane to a textarea in place.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-04 22:53:56 +10:00
root
2ec6dd336d
feat(ui): Space view — Projects + Open tasks side-by-side; full pages & refs table
...
Was capped at 6 pages/refs; now lists all pages + refs (≤200) in a table below.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-04 22:48:30 +10:00
root
332a0158a0
feat(migrate): CLI dispatch + verify
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-04 22:21:48 +10:00
root
718f92676d
feat(migrate): BookStack importer
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-04 22:21:03 +10:00
root
b0d87fe5bf
feat(migrate): Karakeep bookmarks importer
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-04 22:21:03 +10:00
root
af2dacbc00
feat(migrate): Void 1 SQLite importer
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-04 22:19:32 +10:00
root
485589a488
feat(migrate): plans importer
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-04 22:18:44 +10:00
root
1a10bfea0d
feat(migrate): ensureSpace helper
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-04 22:18:44 +10:00
root
681b091e4a
feat(migrate): migration_map idempotency ledger
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-04 22:18:05 +10:00
root
bbb90c12c6
docs: void-migrate implementation plan
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-04 22:17:32 +10:00
root
feb700e3f6
docs: void-migrate (Plan 8a) design spec
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-04 22:14:29 +10:00
root
cea2442c4f
fix(actions): ssh channel pins known_hosts beside key (no HOME dependency)
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-04 22:00:52 +10:00
root
169e3b6d5c
feat(actions): configurable SSH user + insecure-TLS for PVE; real action whitelist + Z wrapper
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-04 21:56:33 +10:00
root
80ad482d82
chore: release 2.0.0-alpha.16 (Little Blue + action framework)
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-04 21:48:15 +10:00
root
8dfb56d2ac
feat(ui): Little Blue view — caretaker chat + actions panel
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-04 21:44:35 +10:00
root
b064f7f1a9
feat(littleblue): agent seed + persona + chat route
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-04 21:43:34 +10:00
root
ff681847ed
feat(littleblue): blue tool registry (list/propose action via local API) + run_turn extraEnv
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-04 21:42:27 +10:00
root
3aa8dc578b
feat(actions): /api/actions routes (run/pending/approve/reject)
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-04 21:41:29 +10:00
root
62113f37e6
feat(actions): tiered action service (safe-run / risky-queue / approve)
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-04 21:40:50 +10:00
root
a186116c4d
feat(actions): SSH forced-command service-restart channel + host wrapper
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-04 21:40:20 +10:00
root
c9268f8792
feat(actions): scoped Proxmox power channel
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-04 21:40:20 +10:00
root
2c3d78c99b
feat(actions): config-driven action whitelist registry
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-04 21:40:20 +10:00
root
135244cb13
feat(actions): agent_actions table + repo
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-04 21:39:05 +10:00
root
d500b6fa00
docs: Little Blue implementation plan
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-04 21:38:28 +10:00
root
e58090e607
docs: Little Blue (Plan 7 brick 2) design spec
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-04 21:33:01 +10:00
root
6ceb27fa2f
chore: release 2.0.0-alpha.15 (Yerin online)
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-04 21:14:38 +10:00
root
eb33bd8604
feat(ui): Sentinel view — Yerin global security chat
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-04 21:11:11 +10:00
root
423cbd342a
refactor(ui): Dross rail uses agent_chat
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-04 21:11:11 +10:00
root
1aebdfe317
feat(ui): extract reusable agent_chat panel
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-04 21:11:11 +10:00
root
79b8197c99
feat(yerin): global security chat endpoint /api/security/yerin
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-04 21:09:12 +10:00
root
d480d79843
refactor(companion): ride on shared runAgentTurn + personas
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-04 21:08:05 +10:00
root
01c6594bfb
feat(agents): shared runAgentTurn turn-runner
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-04 21:06:56 +10:00
root
1a28742536
feat(agents): personas module (Dross + Yerin), keyed by slug
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-04 21:06:56 +10:00
root
e8dfc8f392
feat(agents): conversations.findOrCreateGlobal for space-less agents
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-04 21:04:31 +10:00
root
92299548ee
docs: Yerin online implementation plan
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-04 21:03:57 +10:00
root
84bb2739e1
docs: Yerin online (Plan 7 brick 1) design spec
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-04 20:59:12 +10:00
root
6b26b79a84
chore: release 2.0.0-alpha.14 (MCP HTTP transport)
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-04 20:13:20 +10:00
root
6041f845e9
feat(mcp): mount /mcp Streamable HTTP endpoint
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-04 20:09:30 +10:00
root
0b29b8c2f3
feat(mcp): mcpAuth middleware — agent bearer + space scope + rate limit
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-04 20:08:45 +10:00
root
185a4f3c96
feat(mcp): external registry + agent ctx + Streamable HTTP server
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-04 20:08:14 +10:00
root
c955f1eaaf
feat(mcp): space-scope the read tool for bound callers
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-04 20:07:22 +10:00
root
99b1fa445a
docs: MCP HTTP/SSE transport implementation plan
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-04 20:06:32 +10:00
root
858ef53eea
docs: MCP HTTP/SSE transport design spec
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-04 19:59:39 +10:00
root
f780043f2d
feat(ui): 2.0.0-alpha.13 — finer per-card width scaling (12-col grid + -/+ stepper)
...
clock/weather etc. default to 1/6 width; sizes store an integer span 1-12
(legacy s/m/l still accepted by /api/dashboard/layout).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-04 18:23:37 +10:00
root
ae3a45251d
feat(ui): 2.0.0-alpha.12 — editable Sacred Valley layout
...
Edit-layout mode: per-card resize (S/M/L), show/hide with a hidden-cards tray,
drag-to-reorder via a dedicated grip handle, and reset-to-default. Persists via
the existing /api/dashboard/layout (order/sizes/hidden) — no backend change.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-04 18:15:08 +10:00
root
ce26895d8e
feat: 2.0.0-alpha.11 — DB-backed service registry + LAN auto-discovery
...
- monitored_services table (mig 015) replaces config/services.json (now a boot seed)
- owner CRUD over /api/health/services; GET is DB-backed; cron+worker read the DB
- discover.lan worker: pure-Node TCP sweep + HTTP-title probe -> disabled 'discovered'
candidates (never clobbers curated entries); POST /api/health/discover + GET .../discovered
- dashboard: Scan button + Discovered(N) section with one-click promote
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-04 07:55:08 +10:00
root
b728696020
ops: harden push.sh — snapshot + migrate-in-deploy + /health gate + auto-rollback
...
Removes the rsync --delete / manual-migration / no-rollback footguns from the
deploy path. Validated: clean deploy passes the health gate; a forced health
failure correctly rolls back from the .prev snapshot and recovers.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-04 07:33:32 +10:00
root
4e943ada12
feat(auth): 2.0.0-alpha.10 — Cloudflare Access SSO as owner auth
...
A cryptographically-verified CF Access JWT (signature vs team JWKS + audience +
email allow-list) now counts as the owner, so browser requests through the CF
tunnel don't need the owner token copied onto each device. Fails closed → owner
token remains the fallback (LAN-direct + dev/tests unaffected). Opt-in via
CF_ACCESS_TEAM_DOMAIN / CF_ACCESS_AUD / CF_ACCESS_OWNER_EMAILS.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-03 10:25:58 +10:00
root
925cb0d7d6
chore: 2.0.0-alpha.9 — security & correctness hardening (Void 3.0 quick wins)
...
- Q3: prod void DB role NOSUPERUSER (vector marked trusted; deploy/README documents it)
- Q4: buildChildEnv allow-list for the claude subprocess (no OWNER_TOKEN/DATABASE_URL/secrets leak)
- Q5: pending-change approve claims-before-applying + reopens on failure (no re-approvable dup)
- Q6: /capture/upload validates space_id (UUID+existence); pg pool statement_timeout 30s
- Q9: disabled failing syncoid-donatello timer on Z
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-03 07:54:57 +10:00