This website requires JavaScript.
b728696020
ops: harden push.sh — snapshot + migrate-in-deploy + /health gate + auto-rollback
root
2026-06-04 07:33:32 +10:00
4e943ada12
feat(auth): 2.0.0-alpha.10 — Cloudflare Access SSO as owner auth
root
2026-06-03 10:25:58 +10:00
925cb0d7d6
chore: 2.0.0-alpha.9 — security & correctness hardening (Void 3.0 quick wins)
root
2026-06-03 07:54:57 +10:00
1e1d0c539d
feat(ui): add separate Network·Devices band (IoT/personal) below Little Blue
root
2026-06-03 00:10:54 +10:00
3fb5a60bf6
feat(health): add OpenClaw (agents, tcp/22) + OBD2 (infra, syncthing :8384); drop misleading Homarr icon on Homelable
root
2026-06-03 00:09:00 +10:00
0026d2bc6e
feat(ui): collapsible sidebar + rail, off-canvas mobile drawers, responsive layout
root
2026-06-02 23:57:45 +10:00
c325e53de4
feat(health): add Jellyfin (via traefik host); keep sonarr/radarr/qbit visible as down
root
2026-06-02 23:51:27 +10:00
118cea7b66
feat(health): wire up all discovered homelab services (LAN scan)
root
2026-06-02 23:43:44 +10:00
56c3bf5f08
fix(health): correct service registry to live homelab (BookStack :6875, drop undeployed sonarr/radarr/qbittorrent, add tdarr)
root
2026-06-02 23:36:57 +10:00
1b5630ec73
docs(plan6): note deferred localStorage first-paint mirror as follow-up
root
2026-06-02 23:23:33 +10:00
b82b90d2f5
fix(sacred-valley): review polish — render-gen guard, auth-boundary tests, PNG sig, dedup note
root
2026-06-02 23:20:14 +10:00
1eadd41990
chore: version 2.0.0-alpha.8 — Sacred Valley (Plan 6)
root
2026-06-02 23:02:26 +10:00
9c125cedba
feat(health): Little Blue health band — avatar, grouped service tiles, local icons
root
2026-06-02 23:01:08 +10:00
b0d54a24cc
feat(health): local icon cache /api/icons/:slug.png (no CDN leak)
root
2026-06-02 22:58:35 +10:00
60273a6204
feat(health): /api/health/services (grouped+counts) + owner /check
root
2026-06-02 22:56:50 +10:00
af0cac4e6b
feat(health): probe + classify engine on a 60s cron
root
2026-06-02 22:55:03 +10:00
5b05fd4730
feat(health): service_status cache table + repo
root
2026-06-02 22:53:39 +10:00
3ea34d9907
feat(health): service registry loader + seed config (fresh titles)
root
2026-06-02 22:52:46 +10:00
8d1950fcaa
feat(card): speedtest
root
2026-06-02 22:51:22 +10:00
e36a87a50e
feat(speedtest): worker + hourly cron + history/run routes
root
2026-06-02 22:50:19 +10:00
c59d2407ed
feat(speedtest): results table + repo
root
2026-06-02 22:48:03 +10:00
449e849f4d
feat(card): search spotlight
root
2026-06-02 22:46:47 +10:00
c78203f8e4
feat(card): inbox
root
2026-06-02 22:45:50 +10:00
bf79ab13bd
feat(card): jobs / capture queue
root
2026-06-02 22:45:10 +10:00
e368ea41d8
feat(sacred-valley): drag-to-reorder with server-persisted layout
root
2026-06-02 22:39:57 +10:00
01177a2cbd
feat(card): host-perf
root
2026-06-02 22:34:44 +10:00
3492b24dac
feat(host): /api/host CPU/mem/disk/net from /proc
root
2026-06-02 22:34:04 +10:00
03803f39f0
feat(card): weather
root
2026-06-02 22:32:22 +10:00
42a4b5ef33
feat(weather): /api/weather Open-Meteo proxy with 15-min cache
root
2026-06-02 22:31:48 +10:00
eda61a19b2
feat(card): clock (Melbourne)
root
2026-06-02 22:30:24 +10:00
0a683c097d
test: de-brittle /health version assertion (was pinned to stale alpha-6)
root
2026-06-02 22:29:57 +10:00
c3a3ac4feb
feat(sacred-valley): card factory, registry ordering, view skeleton
root
2026-06-02 22:26:09 +10:00
4b5faefa80
feat(sacred-valley): refined-B card chrome + theme tokens
root
2026-06-02 22:20:43 +10:00
5c6d2077c3
feat(dashboard): owner-only GET/PUT /api/dashboard/layout
root
2026-06-02 22:19:37 +10:00
c67ac27545
feat(dashboard): dashboard_layout table + repo
root
2026-06-02 22:17:27 +10:00
629b42f502
docs: Plan 6 implementation plan (Sacred Valley widgets)
root
2026-06-02 22:11:56 +10:00
34f5995810
docs: Plan 6 — cache service icons locally (no CDN slug leak)
root
2026-06-02 22:04:04 +10:00
f2f1ee4b10
docs: Plan 6 (Sacred Valley widgets) design spec
root
2026-06-02 22:03:11 +10:00
28e66c6946
chore: version 2.0.0-alpha.7 — security hardening + Yerin security agent
root
2026-06-02 00:24:34 +10:00
806e21cb13
docs: mark resolved items (auth hardening, crash-proofing, context allow-list, Yerin tools)
root
2026-06-02 00:17:53 +10:00
a3eb5a58f0
feat(security): seed Yerin agent + registry-selectable MCP server
root
2026-06-02 00:17:53 +10:00
c45246b918
feat(security): grow Yerin's toolset (pending_review, resource_exposure, token_audit)
root
2026-06-02 00:17:45 +10:00
aa9cf0917e
fix(auth): O(1) selector+verifier token verification
root
2026-06-02 00:17:45 +10:00
10a8b813a5
fix: crash-proofing + small robustness fixes
root
2026-06-02 00:17:15 +10:00
afbf075d26
docs: security sweep, code review, Yerin design, Plan 6 brainstorm brief
root
2026-06-01 23:26:46 +10:00
6c393d8069
feat(security): Yerin security-agent toolset (read-only)
root
2026-06-01 23:26:46 +10:00
459a7749c9
fix(auth): constant-time owner-token comparison
root
2026-06-01 23:26:46 +10:00
c591b2aed1
fix(pending): allow suggest-tier 'upsert' drafts; make dependency wiring owner-only
root
2026-06-01 23:19:44 +10:00
8ce97bbacc
feat(companion): Dross persona (Cradle) + migration 008 rename; remove dead API-key path
root
2026-06-01 22:58:43 +10:00
d35e43a8ad
polish(ui): friendly tool-chip labels (strip mcp__void__ prefix)
root
2026-06-01 22:50:27 +10:00
f8beff8702
fix(companion): accept view:null in turn schema (rail sends null when no active entity)
root
2026-06-01 22:49:08 +10:00
02efff83ce
test: isolate tests on void_test DB (stop resetDb wiping prod void)
root
2026-06-01 22:45:17 +10:00
3988425e67
chore: gitignore python build artifacts (untrack pycache/egg-info)
root
2026-06-01 22:23:06 +10:00
16497bd9db
chore: version 2.0.0-alpha.6 — companion on Claude CLI subprocess (Max subscription)
root
2026-06-01 22:22:53 +10:00
1b8dc91800
fix(companion): emit draft from user-turn tool_result + stamp space_id on created entities
root
2026-06-01 22:21:15 +10:00
1e8bbca2a5
fix(claude-cli): --resume for continuing turns (reusing --session-id errored on turn 2)
root
2026-06-01 22:18:13 +10:00
c73be6681f
fix(claude-cli): feed prompt via stdin (variadic --tools/--allowedTools ate the positional)
root
2026-06-01 22:15:14 +10:00
23616d24d6
fix(companion): absolute node path for MCP spawn + restrict to mcp tools
root
2026-06-01 22:11:09 +10:00
c4b014c15e
fix(companion): pass DATABASE_URL/OLLAMA_URL to MCP stdio child explicitly
root
2026-06-01 22:01:26 +10:00
51bc5912ff
feat(api): companion route drives claude CLI + MCP tools (subscription auth)
root
2026-06-01 21:57:05 +10:00
bc1b820cc8
feat(ai): claude CLI subprocess driver (subscription auth, stream-json)
root
2026-06-01 21:51:55 +10:00
1c03d6c277
feat(mcp): stdio MCP server exposing the four companion tools
root
2026-06-01 21:45:42 +10:00
c7a94f26d1
chore: version 2.0.0-alpha.5 + plan-5 completion doc
root
2026-06-01 19:41:46 +10:00
15d45a8fd6
fix(ui): companion rail loads current space on initial page load
root
2026-06-01 19:39:18 +10:00
f49282b00c
feat(ui): right-rail companion chat — streaming, tool chips, inline drafts
root
2026-06-01 19:34:27 +10:00
19a20ba083
feat(ui): authenticated POST->SSE reader
root
2026-06-01 19:28:25 +10:00
df03286415
feat(api): companion SSE turn endpoint + per-Space history
root
2026-06-01 19:14:44 +10:00
d593234904
feat(ai): agent runtime tool-use loop with event streaming
root
2026-06-01 18:30:46 +10:00
09a27e8495
feat(ai): Anthropic client + streaming callModel adapter
root
2026-06-01 18:24:59 +10:00
02e2a633f0
feat(ai): wire the four v1 companion tools into a shared registry
root
2026-06-01 18:18:44 +10:00
7282729654
feat(ai): propose_change tool — drafts to pending_changes, never applies
root
2026-06-01 18:16:53 +10:00
2e121ce6d4
feat(ai): context tool — resolve the active view entity
root
2026-06-01 18:14:42 +10:00
d80c550d2e
feat(ai): search + read grounding tools
root
2026-06-01 18:12:03 +10:00
de4b6a8403
feat(ai): extensible agent tool registry
root
2026-06-01 18:10:11 +10:00
f80fd278a5
feat(db): conversations.findOrCreateForSpace for the ambient companion
root
2026-06-01 18:08:34 +10:00
cf0510872e
feat(db): migration 007 — conversations.space_id + seed companion agent
root
2026-06-01 18:06:34 +10:00
d0d61575e3
feat(ai): vault_path secret resolver (env:/file:)
root
2026-06-01 18:04:21 +10:00
5f601c1a3c
chore(deps): add @anthropic-ai/sdk for companion runtime
root
2026-06-01 18:03:12 +10:00
31fb859fa4
docs(plan5): companion chat implementation plan (16 TDD tasks)
root
2026-06-01 18:01:01 +10:00
1cc2abf95c
docs(plan5): companion chat design spec
root
2026-06-01 17:49:08 +10:00
941df0d0d2
fix(deploy): point deploy targets at CT 311 new IP .216
root
2026-06-01 17:49:08 +10:00
6cba2e82da
fix(deploy): exclude venv/ from push-workers rsync
root
2026-06-01 11:04:21 +10:00
a8b2cddcf5
fix(workers): safe_fetch pins IP + manual redirect re-validation
root
2026-06-01 10:28:55 +10:00
7707b7eb00
chore: version 2.0.0-alpha.4 + changelog + plan-4 completion doc
root
2026-06-01 10:25:31 +10:00
13fac102dd
feat(cron): daily sync.source_doc enqueue
root
2026-06-01 10:14:07 +10:00
8fa7f71694
feat(workers): sync.source_doc with sha256 diff
root
2026-06-01 10:13:27 +10:00
cd1d69c689
feat(workers): safe_fetch Python port
root
2026-06-01 10:12:47 +10:00
65fd71dc0d
fix(workers): yt-dlp argv injection — scheme check + -- separator
root
2026-06-01 10:11:57 +10:00
b10b68582d
feat(api): capture routes YouTube/Vimeo URLs to ingest.video
root
2026-06-01 10:08:16 +10:00
1ba7aae439
feat(workers): ingest.video via yt-dlp + Whisper
root
2026-06-01 10:07:33 +10:00
e64f1345f6
feat(workers): whisper loader with CUDA detect + CPU fallback
root
2026-06-01 10:06:50 +10:00
2adeae555d
fix(deploy): push-workers.sh chowns + preserves .env
root
2026-06-01 10:06:29 +10:00
3d82f0e5d5
feat(jobs): blob worker fans out to extract.pdf / extract.image
root
2026-06-01 09:34:06 +10:00
f2035c1de6
feat(workers): extract.image via Tesseract
root
2026-06-01 05:00:21 +10:00
1f0e9a5f1b
feat(workers): extract.pdf with Tesseract fallback
root
2026-06-01 04:59:53 +10:00
bbb08a677e
test(workers): pdf/image test fixtures
root
2026-06-01 04:57:41 +10:00
2a6f7f88ef
feat(workers): systemd unit + push-workers.sh
root
2026-06-01 04:46:58 +10:00
fba1ce48e4
feat(workers): runner loop + echo handler
root
2026-06-01 04:43:52 +10:00
3e1dcbb7f8
feat(workers): pgboss claim/complete/fail via psycopg
root
2026-06-01 04:43:26 +10:00
6e3798f6d1
feat(workers): Python skeleton + config + structlog
root
2026-06-01 04:41:33 +10:00