Enhancements
Devin CLI session adapter
trellis mem reads Cognition Devin CLI sessions from ~/.local/share/devin/cli/sessions.db (WAL SQLite) through the existing zero-dependency parser. This is not trellis init --devin (Desktop/Cascade) and not Factory Droid. (#614)
--platform devinonlist/search/extract/context/projects- OpenCode, ZCode, and Devin share
packages/core/src/mem/internal/sqlite-adapter.tsandpackages/core/src/mem/platforms.ts - Devin forests require
main_chain_id; a missing tip isdevin-main-chain-missing(nomax(node_id)fallback) CREATE TABLE--line comments are stripped soparent_node_idandchat_messageparse on livesessions.dbfiles
Bug Fixes
Lazy SQLite main-page reads
The zero-dependency SQLite reader inpackages/core/src/mem/internal/sqlite-readonly.ts loads main-file pages on demand instead of reading the whole database into memory. (#596)
Pi headless subagent prompts
Pitrellis_subagent forwards ask-policy prompts to the parent session. The serving heartbeat sets PI_SUBAGENT_PARENT_SESSION (not a stale PI_SESSION_ID), sets PI_SUBAGENT_CHILD=1, and drops inherited PI_SESSION_ID so the child mints its own. (#611)
Active-task session fallback
Resolving an active task from a missing session id no longer falls back to the only session in the project. That fallback is explicit opt-in, so one session cannot bind another session’s task. (#608)Archive child unlink restore
Iftask.py archive fails after unlinking some children, it restores each child’s parent link from a snapshot taken before the clear. A duplicated children entry is snapshotted once so a second visit cannot restore parent: null. (#613)
Upgrade
--migrate required.