Skip to content

Instantly share code, notes, and snippets.

@possibilities
Created March 22, 2026 16:00
Show Gist options
  • Select an option

  • Save possibilities/8f5a57bc324d133d6e42db4964a65e63 to your computer and use it in GitHub Desktop.

Select an option

Save possibilities/8f5a57bc324d133d6e42db4964a65e63 to your computer and use it in GitHub Desktop.
QMD Session Sync Status Report — March 22, 2026

QMD Session Sync Status Report

March 22, 2026 — artbird

Server Health

Component Status Details
QMD Bun server (PID 949) Running but broken CWD is (deleted), health endpoint crashes with ENOENT
QMD MCP node (PID 1054437, port 8181) Running (orphan) Should have been removed — no longer part of the architecture
watchctl (PID 965) Running Publishing Syncthing disk events every ~30s
qmdctl venv Broken /opt/qmdctl-venv/bin/qmdctlModuleNotFoundError: No module named 'qmdctl'

Session Transcripts

Metric Value
Total session transcripts on disk 38,009
Project collections 119 (all registered in QMD index)
Largest collection arthack: 7,717 sessions
Latest file sync Mar 22, 15:49 UTC (real-time via Syncthing)

Top 10 Collections by Size

Count Project
16,266 arthack
6,844 arthack-marketplace
3,912 jobsearch
1,476 claudehooks
1,246 dotfiles
1,160 plans
912 codebench
666 codectl
514 music
384 linux-browser-farm

Indexing Pipeline

The pipeline should be: Syncthing → watchctl → qmdctl watch-collections → qmd update + qmd embed

Syncthing → watchctl: WORKING. watchctl is actively watching Syncthing disk events and publishing changed paths. Logs show continuous activity: "published 4 path(s) for folder content-sessions" every ~30 seconds.

watch-collections → qmd: LIKELY STUCK. The sync-collections-state.yaml shows last_run_at: 2026-03-11T21:28:56 — 11 days ago. The deployed qmdctl venv is broken (ModuleNotFoundError), which means the watch-collections daemon may not be able to invoke qmd update/qmd embed.

SQLite Database

File Size Last Modified
index.sqlite 3.3 GB Mar 22, 15:39
index.sqlite-wal 2.7 GB Mar 22, 15:49
index.sqlite-shm 5.4 MB Mar 22, 15:44

The 2.7 GB WAL suggests either:

  • Active embedding work that hasn't checkpointed
  • A stale WAL from the March 11 run that was never checkpointed

The large WAL is likely causing search timeouts (claudectl semantic-search timed out at 60s during testing).

Search Verification

Search Type Topic Result
Lex (BM25) claude-code Works, good scores
Vec (vector) claude-code Works, good scores
Hybrid + rerank claude-code Works
Session search (fast) all projects Works
Session search (exact name) arthack Timed out (60s)

Claude Code Docs Topic

Metric Value
Source (llms.txt) 67 docs
On disk (collections) 61 docs
In QMD index 61 docs
Missing 6 recently-added pages

HTTP/MCP Remnants (should not exist)

Still running on artbird:

  • qmdctl-ui.service (Bun server, port 8182) — PID 949, broken CWD
  • qmdctl.service (MCP server, port 8181) — PID 1054437
  • qmdctl-socat.service — IPv4-to-IPv6 forwarder
  • qmdctl-iptables.service — DNAT rules for ports 8181/8182

These are all dead infrastructure. QMD access is SSH-only via qmdctl.api. A brief has been sent to The Secretary to remove these.

Remaining Code References

Still in the codebase referencing the dead HTTP/MCP infrastructure:

  • apps/qmdctl/qmdctl/transports.py — BunHttpTransport class
  • apps/qmdctl/qmdctl/run_check_health.py — UI_PORT = 8182
  • apps/qmdctl/qmdctl/run_check_service.py — port 8182 checks, service name refs
  • apps/qmdctl/qmdctl/run_benchmark_performance.py — HTTP base_url
  • apps/qmdctl/README.md — outdated architecture docs

Summary

  1. File sync is working — 38K session transcripts syncing in real-time via Syncthing
  2. Indexing/embedding is likely 11 days behind — broken qmdctl venv, last sync Mar 11
  3. Search works but may be slow — 2.7 GB un-checkpointed WAL causing timeouts
  4. HTTP/MCP remnants still running — brief sent to The Secretary for cleanup
  5. 6 new claude-code docs need syncing — llms.txt has 67, index has 61
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment