Daily Log: /btw Overhaul, /insights, /refresh all

devlogdaily

/refresh all

Added /refresh all command — hard-restarts all non-human agents. Follows the same pattern as /sleep all and /suspend all. Extracted hardRefreshDir() from the existing hardRefresh() method.

Doctor hints updated to prefer /refresh over /cpr. Updated greetings (en/zh/wen), tutorial, and all i18n files.

/btw Inquiry Overhaul

The old /btw was fragile: wrote a .inquiry signal file, hoped the agent heartbeat picked it up, no feedback, no result display. Fixed with:

.inquiry file format

First line is source, rest is question:

human
你还能干啥?

/insights Command

Settings Descriptions

Each settings field now shows a description line below when selected (en/zh/wen). “Insights” renamed to “Auto Insights”.

Kernel (lingtai-kernel)

Releases

Key Design Decisions

  1. Inquiry stays inside agent process — considered lingtai inquiry as standalone CLI subprocess, but soul_inquiry needs the live agent’s conversation clone. Can’t construct a second agent instance (lock prevents it). Keeping it in the heartbeat was the right call, just needed threading to not block heartbeat writes.

  2. .inquiry.taken handshake — provides three-state feedback (sent → taken → done) and crash safety. Kernel renames atomically, processes in thread, deletes when done. No retry logic — if crash happens, human re-triggers.

  3. File-based guards over in-memory flagsWriteInquiry checks file existence, .insight.done sentinel on disk. Survives TUI restarts and avoids the cascading-insight bug that plagued in-memory state tracking.