lcm-dogfood · git:20260912.66fea43 · 2026-09-12 · sha256 49995e3c7afd43c0
lcm-dogfood git:20260912.66fea43A
Immutable. This exact content is served forever at /api/v1/blob/49995e3c7afd43c0.
--- name: lcm-dogfood description: Exercise the lcm public surface in a live session and report a scorecard. Usage: /lcm-dogfood [health|import|compact|promote|sensitive|hooks|mcp|resilience|debug] disable-model-invocation: true --- # lcm dogfood Run every phase, or only `$0`. The CLI's own help is the checklist: for each command, `lcm help <command>` names the options, and the phase passes when every documented option ran and did what the help says. Nothing in this file lists options or counts, so it cannot go stale; the help can. Binary: `lcm` on PATH, or `node dist/bin/lcm.js` after `npm run build`. Large output goes through `ctx_execute`; short output through Bash. Record each check as PASS, FAIL or SKIP (with the reason), keep going on FAIL, and open an issue for each failure worth tracking. ## Phases **health**: `lcm status`, `lcm doctor`, `lcm --version`. Done when the daemon is up on this project, every doctor check passes or its warning is recorded, and the version equals `package.json`. **import**: `lcm help import`, then every option. Done when a second identical run adds no message beyond the current session's own. **compact**: `lcm help compact`, then every option. The summarizer is an LLM call; allow five minutes. Done when a second identical run creates nothing. **promote**: `lcm help promote`, then `lcm stats --verbose`. Done when the promoted count moved, or the output states there was nothing promotable, and the stats agree with the counts the earlier phases printed. **sensitive**: `lcm help sensitive`, then every subcommand. Done when a built-in secret and a pattern you added are both `[REDACTED]` by `lcm sensitive test`, and the pattern you added is gone from `lcm sensitive list` after you removed it. **hooks**: `docs/hook-protocol.md` is the contract. Done when every hook command it lists answers a valid stdin payload with the output shape it documents, within its timeout, and the daemon's `/prompt-search` answers `scripts/prompt-search-test.js <query>` directly. **mcp**: `docs/agent-tools.md` is the contract. Done when every tool it lists has been called with a documented parameter set and answered in the documented shape, including a `lcm_store` followed by an `lcm_search` that finds it. Skip `lcm_expand` and `lcm_describe` only when no summary id exists yet. **resilience**: stop the daemon (`lcm daemon stop`), then `lcm status`, a hook command, and `lcm daemon start --detach`. Done when the down state is reported without a hang, the hook returns within its timeout with empty or valid output, and status shows the daemon up again. **debug**: `~/.lossless-claude/daemon.log` tail, `scripts/db-integrity.js`, and `$PWD` against `pwd`. Done when no ERROR line is unexplained, every project database reports `ok`, and the two paths match. ## Scorecard One row per phase run: checks, PASS, FAIL, SKIP. For each FAIL: the error, the daemon log excerpt, the suggested fix. Done when every phase you ran has a row.