{"definition_raw":"---\nid: vault-index\ntitle: Rebuild vault.db index (per-machine local build)\nschedule: \"0 3 * * *\"\ntimeout: 600\nretry: true\nenabled: true\nnotify_on: failure\nrun_as: shell\ncommand: \"flock -n /tmp/vault-index.lock bash -c 'cd /home/lucienne/workspace/PKA && git pull --ff-only --quiet && python3 index.py --rebuild && python3 scripts/embed_memories.py --max-rss-mb 2000' || echo vault-index: another rebuild already in progress, skipping\"\ntags: [infrastructure, vault, index, e7]\nruntime_profile: direct_shell\n---\n\n**OVERRIDES runtime profile:** uses `direct_shell` because this task is a\ndeterministic git pull plus local index/embed rebuild and does not invoke\nClaude/Codex or any LLM API.\n\n**Phase E.7 (2026-05-02): Per-machine local build.** SecondBrain markdown is the\ncanonical source (git-synced). Each machine builds its own `vault.db` locally\nfrom the same MD files. Luci runs this task at 03:00 UTC nightly. Mac runs an\nequivalent LaunchAgent on its own schedule. Schema is pinned via\n`PRAGMA user_version=3` and `SCHEMA_VERSION=3` in `index.py`; mismatched DBs\nabort with explicit error. No cross-machine writes \u2014 each machine owns its own\nlocal DB file (gitignored at `Vault/vault.db`).\n\nPulls latest MD before rebuild so this run sees the freshest sources.\n","id":"vault-index","last_run":{"duration_s":11.362285,"log_path":"/home/lucienne/workspace/logs/task-runs/vault-index/413319.log","output":"vault-index: another rebuild already in progress, skipping\n","started_at":"2026-06-13T03:00:46.692356+02:00","status":"completed"},"next_run":"2026-06-14 03:00","next_run_iso":"2026-06-14T03:00:00+02:00","runs":[{"duration_s":11.362285,"finished_at":"2026-06-13T03:00:58.063179+02:00","id":413319,"log_path":"/home/lucienne/workspace/logs/task-runs/vault-index/413319.log","output":"vault-index: another rebuild already in progress, skipping\n","started_at":"2026-06-13T03:00:46.692356+02:00","status":"completed","task_id":"vault-index","task_name":"Rebuild vault.db index (per-machine local build)"},{"duration_s":17.329681,"finished_at":"2026-06-12T03:00:52.165414+02:00","id":409154,"log_path":"/home/lucienne/workspace/logs/task-runs/vault-index/409154.log","output":"vault-index: another rebuild already in progress, skipping\n","started_at":"2026-06-12T03:00:34.828745+02:00","status":"completed","task_id":"vault-index","task_name":"Rebuild vault.db index (per-machine local build)"},{"duration_s":10.769039,"finished_at":"2026-06-11T03:01:43.839626+02:00","id":404787,"log_path":"/home/lucienne/workspace/logs/task-runs/vault-index/404787.log","output":"vault-index: another rebuild already in progress, skipping\n","started_at":"2026-06-11T03:01:33.061999+02:00","status":"completed","task_id":"vault-index","task_name":"Rebuild vault.db index (per-machine local build)"},{"duration_s":15.773051,"finished_at":"2026-06-10T03:01:48.012395+02:00","id":400509,"log_path":"/home/lucienne/workspace/logs/task-runs/vault-index/400509.log","output":"vault-index: another rebuild already in progress, skipping\n","started_at":"2026-06-10T03:01:32.230693+02:00","status":"completed","task_id":"vault-index","task_name":"Rebuild vault.db index (per-machine local build)"},{"duration_s":0.054513,"finished_at":"2026-06-09T03:01:30.466845+02:00","id":396271,"log_path":"/home/lucienne/workspace/logs/task-runs/vault-index/396271.log","output":"vault-index: another rebuild already in progress, skipping\n","started_at":"2026-06-09T03:01:30.409514+02:00","status":"completed","task_id":"vault-index","task_name":"Rebuild vault.db index (per-machine local build)"},{"duration_s":7.023471,"finished_at":"2026-06-08T03:01:57.722905+02:00","id":392184,"log_path":"/home/lucienne/workspace/logs/task-runs/vault-index/392184.log","output":"862 files need (re)embedding across scopes: ['Vault/memory/', 'SecondBrain/', '~/.claude/vault/']\n  20/862  rss=49MB\n  40/862  rss=49MB\n  60/862  rss=49MB\n  80/862  rss=49MB\n  100/862  rss=49MB\n  120/862  rss=49MB\n  140/862  rss=49MB\n  160/862  rss=49MB\n  180/862  rss=49MB\n  200/862  rss=49MB\n  220/862  rss=49MB\n  240/862  rss=49MB\n  260/862  rss=993MB\n  280/862  rss=993MB\n  300/862  rss=993MB\n  320/862  rss=993MB\n  340/862  rss=993MB\n  360/862  rss=993MB\n  380/862  rss=993MB\n  400/862  rss=993MB\n  420/862  rss=993MB\n  440/862  rss=993MB\n  460/862  rss=993MB\n  480/862  rss=993MB\n  500/862  rss=993MB\n  520/862  rss=993MB\n  540/862  rss=993MB\n  560/862  rss=993MB\n  580/862  rss=993MB\n  600/862  rss=993MB\n  620/862  rss=993MB\n  640/862  rss=993MB\n  660/862  rss=993MB\n  680/862  rss=993MB\n  700/862  rss=993MB\n  720/862  rss=993MB\n  740/862  rss=993MB\n  760/862  rss=993MB\n  780/862  rss=993MB\n  800/862  rss=993MB\n  820/862  rss=993MB\n  840/862  rss=993MB\n  860/862  rss=993MB\n  862/862  rss=993MB\ndone; embedded 862 files, removed 0 stale, cache hits=1142 misses=1, rss=993MB\n","started_at":"2026-06-08T03:01:50.697116+02:00","status":"completed","task_id":"vault-index","task_name":"Rebuild vault.db index (per-machine local build)"},{"duration_s":6.703486,"finished_at":"2026-06-07T03:01:35.570623+02:00","id":387758,"log_path":"/home/lucienne/workspace/logs/task-runs/vault-index/387758.log","output":"862 files need (re)embedding across scopes: ['Vault/memory/', 'SecondBrain/', '~/.claude/vault/']\n  20/862  rss=49MB\n  40/862  rss=49MB\n  60/862  rss=49MB\n  80/862  rss=49MB\n  100/862  rss=49MB\n  120/862  rss=49MB\n  140/862  rss=49MB\n  160/862  rss=49MB\n  180/862  rss=49MB\n  200/862  rss=1070MB\n  220/862  rss=1070MB\n  240/862  rss=1070MB\n  260/862  rss=1074MB\n  280/862  rss=1074MB\n  300/862  rss=1074MB\n  320/862  rss=1074MB\n  340/862  rss=1074MB\n  360/862  rss=1074MB\n  380/862  rss=1074MB\n  400/862  rss=1074MB\n  420/862  rss=1074MB\n  440/862  rss=1074MB\n  460/862  rss=1074MB\n  480/862  rss=1074MB\n  500/862  rss=1074MB\n  520/862  rss=1074MB\n  540/862  rss=1074MB\n  560/862  rss=1074MB\n  580/862  rss=1074MB\n  600/862  rss=1074MB\n  620/862  rss=1074MB\n  640/862  rss=1074MB\n  660/862  rss=1074MB\n  680/862  rss=1074MB\n  700/862  rss=1074MB\n  720/862  rss=1074MB\n  740/862  rss=1074MB\n  760/862  rss=1074MB\n  780/862  rss=1074MB\n  800/862  rss=1074MB\n  820/862  rss=1074MB\n  840/862  rss=1074MB\n  860/862  rss=1074MB\n  862/862  rss=1074MB\ndone; embedded 862 files, removed 0 stale, cache hits=1141 misses=2, rss=1075MB\n","started_at":"2026-06-07T03:01:28.864349+02:00","status":"completed","task_id":"vault-index","task_name":"Rebuild vault.db index (per-machine local build)"},{"duration_s":17.423145,"finished_at":"2026-06-06T03:01:47.833899+02:00","id":383031,"log_path":"/home/lucienne/workspace/logs/task-runs/vault-index/383031.log","output":"862 files need (re)embedding across scopes: ['Vault/memory/', 'SecondBrain/', '~/.claude/vault/']\n  20/862  rss=49MB\n  40/862  rss=49MB\n  60/862  rss=49MB\n  80/862  rss=49MB\n  100/862  rss=49MB\n  120/862  rss=49MB\n  140/862  rss=1221MB\n  160/862  rss=1285MB\nRSS 2260MB > --max-rss-mb 2000; checkpoint, resumable\ncheckpoint; processed 176 of 862 files this run, cache hits=272 misses=8, rss=2260MB\n","started_at":"2026-06-06T03:01:30.406380+02:00","status":"completed","task_id":"vault-index","task_name":"Rebuild vault.db index (per-machine local build)"}],"runs_limit":20,"schedule":"0 3 * * *","schedule_label":{"description":"Daily at 03:00","is_custom":false,"label":"Daily","sort":4,"sort_time":"03:00"},"stats":{"avg_duration":10.804833875,"completed":8,"failed":0,"timeout":0,"total":8},"task":{"_description":"**OVERRIDES runtime profile:** uses `direct_shell` because this task is a\ndeterministic git pull plus local index/embed rebuild and does not invoke\nClaude/Codex or any LLM API.\n\n**Phase E.7 (2026-05-02): Per-machine local build.** SecondBrain markdown is the\ncanonical source (git-synced). Each machine builds its own `vault.db` locally\nfrom the same MD files. Luci runs this task at 03:00 UTC nightly. Mac runs an\nequivalent LaunchAgent on its own schedule. Schema is pinned via\n`PRAGMA user_version=3` and `SCHEMA_VERSION=3` in `index.py`; mismatched DBs\nabort with explicit error. No cross-machine writes \u2014 each machine owns its own\nlocal DB file (gitignored at `Vault/vault.db`).\n\nPulls latest MD before rebuild so this run sees the freshest sources.","_file":"vault-index.md","_path":"/home/lucienne/workspace/tasks/vault-index.md","command":"flock -n /tmp/vault-index.lock bash -c 'cd /home/lucienne/workspace/PKA && git pull --ff-only --quiet && python3 index.py --rebuild && python3 scripts/embed_memories.py --max-rss-mb 2000' || echo vault-index: another rebuild already in progress, skipping","enabled":true,"id":"vault-index","notify_on":"failure","retry":true,"run_as":"shell","runtime_profile":"direct_shell","schedule":"0 3 * * *","tags":["infrastructure","vault","index","e7"],"timeout":600,"title":"Rebuild vault.db index (per-machine local build)"}}
