@lorekit/cli 1.29.2 → 1.29.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/src/hook.mjs +5 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lorekit/cli",
3
- "version": "1.29.2",
3
+ "version": "1.29.3",
4
4
  "description": "Install the LoreKit shared-memory skill and run health checks for the LoreKit MCP server.",
5
5
  "license": "MIT",
6
6
  "repository": {
package/src/hook.mjs CHANGED
@@ -168,6 +168,11 @@ async function run(args) {
168
168
  // consumed, so a clean early turn stays silent without burning the marker —
169
169
  // a later turn that does hit friction can still fire (once).
170
170
  const stopMode = control.hooksStop || 'friction';
171
+ // Once the retro has fired, short-circuit BEFORE the (growing) transcript
172
+ // read — the 'retro' marker is only ever SET on emit below, so a clean
173
+ // earlier turn never reaches that line to consume it, and every later Stop
174
+ // this session skips the re-parse cheaply (read-only peek, never consumed).
175
+ if (sessionMarkerExists(parsed.sessionId, 'retro')) return 0;
171
176
  let reasons = [];
172
177
  let friction = null;
173
178
  if (stopMode === 'friction') {