#!/usr/bin/env node /** * cursell-statusline โ€” custom status line for Claude Code. * * Claude Code invokes this script after each assistant message * (debounced) and pipes a JSON payload into stdin with session * info. We read the active Cursell agent for the current terminal * by looking at `~/.cursell/state/agent-${PPID}-*.json` (Phase 3 * of the Trust Layer โ€” moved from `/tmp/cursell/` to close the * symlink-attack vector documented in * docs/security-trust-layer/audit.md ยง3). * * The PPID is the `claude` CLI that spawned us โ€” same CLI that * spawned the MCP server, so both write under the same PPID prefix. * The trailing `-` part is the per-process SESSION_UUID * stamped by the MCP; it disambiguates state from previous crashed * processes that happened to reuse the same PID. * * Files older than 1h are ignored: a process that crashed without * running its cleanup hook leaves stale state behind, and we'd * rather print empty than display old content. */ export {};