specweave 3.1.1 → 3.1.2

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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "specweave",
3
- "version": "3.1.1",
3
+ "version": "3.1.2",
4
4
  "description": "Portable intent, specifications, task evidence, and handoffs across AI coding tools.",
5
5
  "owner": {
6
6
  "name": "Anton Abyzov",
@@ -12,7 +12,7 @@
12
12
  "description": "SpecWeave unified plugin — increment lifecycle (plan, work the ledger, verify, review, complete), cross-tool handoff, GitHub/Jira/ADO sync",
13
13
  "source": "./plugins/specweave",
14
14
  "category": "development",
15
- "version": "3.1.1",
15
+ "version": "3.1.2",
16
16
  "author": {
17
17
  "name": "Anton Abyzov",
18
18
  "email": "anton.abyzov@gmail.com"
@@ -1 +1 @@
1
- {"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/task.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAuBH,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6CAA6C;IAC7C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,mEAAmE;IACnE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,4BAA4B;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,cAAc,IAAI,CAAC;AAChC,eAAO,MAAM,kBAAkB,IAAI,CAAC;AACpC,eAAO,MAAM,eAAe,IAAI,CAAC;AACjC,eAAO,MAAM,eAAe,IAAI,CAAC;AAIjC,kFAAkF;AAClF,wBAAsB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,GAAE,kBAAuB,GAAG,OAAO,CAAC,MAAM,CAAC,CA2MxH"}
1
+ {"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/task.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAwBH,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6CAA6C;IAC7C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,mEAAmE;IACnE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,4BAA4B;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,cAAc,IAAI,CAAC;AAChC,eAAO,MAAM,kBAAkB,IAAI,CAAC;AACpC,eAAO,MAAM,eAAe,IAAI,CAAC;AACjC,eAAO,MAAM,eAAe,IAAI,CAAC;AAIjC,kFAAkF;AAClF,wBAAsB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,GAAE,kBAAuB,GAAG,OAAO,CAAC,MAAM,CAAC,CA6NxH"}
@@ -25,6 +25,7 @@ import * as fs from 'fs';
25
25
  import * as path from 'path';
26
26
  import { runShell, isShellCommand } from '../../core/tasks/run-shell.js';
27
27
  import { resolveEffectiveRoot } from '../../utils/find-project-root.js';
28
+ import { closeChain, currentSessionId, markClosePending } from '../../core/increment/close-pending.js';
28
29
  import { appendEvent, recordSessionOnce, getAgentId, ledgerPath, describeState } from '../../core/tasks/ledger.js';
29
30
  import { loadTaskBoard, nextTask, fileOverlaps, unmetDeps, normalizeTaskId, writeRenderedTasksMd, renderBoardTable, } from '../../core/tasks/task-board.js';
30
31
  import { resolveIncrement, readLeaseHours, ensureIncrementStarted, IncrementResolutionError } from '../../core/tasks/resolve-increment.js';
@@ -78,6 +79,15 @@ export async function taskCommand(action, a, b, opts = {}) {
78
79
  const note = (opts.note ?? opts.reason)?.trim() || undefined;
79
80
  /** A live claim held by somebody else (stale claims are takeable). */
80
81
  const heldByOther = (t) => (t.state.status === 'claimed' || t.state.status === 'blocked') && t.state.by !== agent;
82
+ /**
83
+ * The last task just turned done or skipped: say how to close, and leave a
84
+ * marker so the Stop hook reminds this session to close before it ends.
85
+ */
86
+ const finishedAll = (id) => {
87
+ markClosePending(projectRoot, id, currentSessionId());
88
+ if (!opts.json)
89
+ out(`All tasks done. ${closeNext(id)}`);
90
+ };
81
91
  /** Current state of a task after the last append. */
82
92
  const stateOf = (id) => board.tasks.find((t) => t.id === id).state;
83
93
  // Headings the parser could not read are reported, never dropped in silence.
@@ -102,7 +112,12 @@ export async function taskCommand(action, a, b, opts = {}) {
102
112
  const t = nextTask(board, agent);
103
113
  if (!t) {
104
114
  const c = board.counts;
105
- out(opts.json ? JSON.stringify({ increment: inc.id, next: null, counts: c }) : `No claimable task in ${inc.id} (${c.done}/${c.total} done, ${c.claimed} claimed, ${c.blocked} blocked). Run \`specweave verify ${inc.id}\` when everything is done.`);
115
+ const finished = c.total > 0 && c.done + c.skipped === c.total;
116
+ out(opts.json
117
+ ? JSON.stringify({ increment: inc.id, next: null, counts: c, ...(finished ? { close: closeChain(inc.id) } : {}) })
118
+ : finished
119
+ ? `All tasks in ${inc.id} are done. ${closeNext(inc.id)}`
120
+ : `No claimable task in ${inc.id} (${c.done}/${c.total} done, ${c.claimed} claimed, ${c.blocked} blocked). Run \`specweave verify ${inc.id}\` when everything is done.`);
106
121
  return 0;
107
122
  }
108
123
  out(opts.json ? JSON.stringify({ increment: inc.id, next: brief(t, acsOf()) }) : describeTask(t, inc.id, acsOf()));
@@ -231,9 +246,10 @@ export async function taskCommand(action, a, b, opts = {}) {
231
246
  return EXIT_LOST_RACE;
232
247
  }
233
248
  const c = board.counts;
234
- out(opts.json ? JSON.stringify({ done: taskId, evidence, log: logPath ? rel(projectRoot, logPath) : undefined, counts: c }) : `Done ${taskId} (${c.done}/${c.total}) — evidence: ${firstLine(evidence)}`);
235
- if (c.done + c.skipped === c.total && c.total > 0)
236
- out(`All tasks done. Next: specweave verify ${inc.id}`);
249
+ const allDone = c.done + c.skipped === c.total && c.total > 0;
250
+ out(opts.json ? JSON.stringify({ done: taskId, evidence, log: logPath ? rel(projectRoot, logPath) : undefined, counts: c, ...(allDone ? { close: closeChain(inc.id) } : {}) }) : `Done ${taskId} (${c.done}/${c.total}) — evidence: ${firstLine(evidence)}`);
251
+ if (allDone)
252
+ finishedAll(inc.id);
237
253
  return 0;
238
254
  }
239
255
  case 'release': {
@@ -275,6 +291,7 @@ export async function taskCommand(action, a, b, opts = {}) {
275
291
  err(refusal(task, taskId, leaseHours));
276
292
  return EXIT_LOST_RACE;
277
293
  }
294
+ const wasSkipped = task.state.status === 'skipped';
278
295
  append('skip', taskId, { note });
279
296
  const skipState = stateOf(taskId);
280
297
  if (skipState.status !== 'skipped') {
@@ -282,12 +299,20 @@ export async function taskCommand(action, a, b, opts = {}) {
282
299
  return EXIT_LOST_RACE;
283
300
  }
284
301
  const c = board.counts;
285
- out(opts.json ? JSON.stringify({ skipped: taskId, reason: note, counts: c }) : `Skipped ${taskId} (terminal): ${note}`);
302
+ // Re-skipping a task that was already skipped finishes nothing new.
303
+ const allDone = !wasSkipped && c.done + c.skipped === c.total && c.total > 0;
304
+ out(opts.json ? JSON.stringify({ skipped: taskId, reason: note, counts: c, ...(allDone ? { close: closeChain(inc.id) } : {}) }) : `Skipped ${taskId} (terminal): ${note}`);
305
+ if (allDone)
306
+ finishedAll(inc.id);
286
307
  return 0;
287
308
  }
288
309
  }
289
310
  return 0;
290
311
  }
312
+ /** What to do once every task is done or skipped. */
313
+ function closeNext(id) {
314
+ return `Next, in this session and without asking: ${closeChain(id)}. A lane agent leaves the close to its lead.`;
315
+ }
291
316
  /** Refusal text that reads as an instruction, not a status code. */
292
317
  function refusal(task, taskId, leaseHours) {
293
318
  return `refused: ${taskId} is claimed by ${task.state.by} since ${task.state.since}; run \`specweave task release ${taskId}\` as that agent, wait for the ${leaseHours}h lease to expire, or pass --force`;
@@ -1 +1 @@
1
- {"version":3,"file":"task.js","sourceRoot":"","sources":["../../../../src/cli/commands/task.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task.js","sourceRoot":"","sources":["../../../../src/cli/commands/task.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,13 @@
1
1
  /**
2
- * Stop hook handler — the `/sw:auto` loop driver, and nothing else (Stop
3
- * fires on every turn; handoff automation lives in PreCompact).
2
+ * Stop hook handler — the `/sw:auto` loop driver, plus a one-time close
3
+ * reminder for ordinary sessions (Stop fires on every turn; handoff automation
4
+ * lives in PreCompact).
4
5
  *
5
6
  * Decision table (any throw short-circuits to `{}` so ordinary sessions are
6
7
  * never trapped):
7
8
  *
8
- * no auto-mode.json | active !== true -> reset counter; {}
9
+ * no auto-mode.json | active !== true -> reset counter; close reminder below
10
+ * every auto increment completed/abandoned -> reset; {}
9
11
  * stale session (auto.maxSessionAge, 7200 s) -> reset; {}
10
12
  * turns > auto.maxTurns (default 20) -> reset; {} // safety stop
11
13
  * stop_hook_active + no progress for 3 turns -> reset; {} // loop guard
@@ -13,6 +15,12 @@
13
15
  * 0 pending tasks AND all ACs satisfied -> reset; block: all_complete_needs_closure
14
16
  * otherwise (work remains) -> counter + 1; block: <P> task(s) / <A> AC(s) remain
15
17
  *
18
+ * Close reminder (no auto session): `task done`/`skip` leaves a marker in
19
+ * `~/.specweave/close-pending/<session>.json` when an increment's last task
20
+ * turns terminal. That session's next stop blocks once with the close chain
21
+ * and the entry is removed; other sessions never see it. Entries also go once
22
+ * the increment is closed, gets new open tasks, or is a day old.
23
+ *
16
24
  * Output shapes: pass = `{}`; block = top-level `decision:"block"` + `reason`.
17
25
  *
18
26
  * @module core/hooks/handlers/stop
@@ -1 +1 @@
1
- {"version":3,"file":"stop.d.ts","sourceRoot":"","sources":["../../../../../src/core/hooks/handlers/stop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAKH,OAAO,KAAK,EAAE,SAAS,EAAe,MAAM,YAAY,CAAC;AAkCzD,4FAA4F;AAC5F,eAAO,MAAM,qBAAqB,IAAI,CAAC;AA2EvC,eAAO,MAAM,MAAM,EAAE,SAmDpB,CAAC"}
1
+ {"version":3,"file":"stop.d.ts","sourceRoot":"","sources":["../../../../../src/core/hooks/handlers/stop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAKH,OAAO,KAAK,EAAE,SAAS,EAAe,MAAM,YAAY,CAAC;AAyCzD,4FAA4F;AAC5F,eAAO,MAAM,qBAAqB,IAAI,CAAC;AAgHvC,eAAO,MAAM,MAAM,EAAE,SAuDpB,CAAC"}
@@ -1,11 +1,13 @@
1
1
  /**
2
- * Stop hook handler — the `/sw:auto` loop driver, and nothing else (Stop
3
- * fires on every turn; handoff automation lives in PreCompact).
2
+ * Stop hook handler — the `/sw:auto` loop driver, plus a one-time close
3
+ * reminder for ordinary sessions (Stop fires on every turn; handoff automation
4
+ * lives in PreCompact).
4
5
  *
5
6
  * Decision table (any throw short-circuits to `{}` so ordinary sessions are
6
7
  * never trapped):
7
8
  *
8
- * no auto-mode.json | active !== true -> reset counter; {}
9
+ * no auto-mode.json | active !== true -> reset counter; close reminder below
10
+ * every auto increment completed/abandoned -> reset; {}
9
11
  * stale session (auto.maxSessionAge, 7200 s) -> reset; {}
10
12
  * turns > auto.maxTurns (default 20) -> reset; {} // safety stop
11
13
  * stop_hook_active + no progress for 3 turns -> reset; {} // loop guard
@@ -13,6 +15,12 @@
13
15
  * 0 pending tasks AND all ACs satisfied -> reset; block: all_complete_needs_closure
14
16
  * otherwise (work remains) -> counter + 1; block: <P> task(s) / <A> AC(s) remain
15
17
  *
18
+ * Close reminder (no auto session): `task done`/`skip` leaves a marker in
19
+ * `~/.specweave/close-pending/<session>.json` when an increment's last task
20
+ * turns terminal. That session's next stop blocks once with the close chain
21
+ * and the entry is removed; other sessions never see it. Entries also go once
22
+ * the increment is closed, gets new open tasks, or is a day old.
23
+ *
16
24
  * Output shapes: pass = `{}`; block = top-level `decision:"block"` + `reason`.
17
25
  *
18
26
  * @module core/hooks/handlers/stop
@@ -25,6 +33,7 @@ import { logHook, readActiveIncrements, readJsonSafe } from './utils.js';
25
33
  import { loadTaskBoard } from '../../tasks/task-board.js';
26
34
  import { hasTasksFile } from '../../tasks/tasks-source.js';
27
35
  import { readSpecAcs, deriveAcStatus } from '../../tasks/verify-runner.js';
36
+ import { CLOSE_PENDING_MAX_AGE_MS, closeChain, isClosedStatus, readClosePending, removeClosePending, } from '../../increment/close-pending.js';
28
37
  const TURNS_FILE = '.stop-auto-turns';
29
38
  /** Resolve the auto-mode session file (per-session if present, else global). */
30
39
  function getSessionPath(stateDir) {
@@ -117,6 +126,43 @@ function computeRemaining(projectRoot, incrementIds) {
117
126
  }
118
127
  return { pendingTasks, pendingAcs, unresolvedIds };
119
128
  }
129
+ function isClosed(dir) {
130
+ return isClosedStatus(readJsonSafe(path.join(dir, 'metadata.json'))?.status);
131
+ }
132
+ /**
133
+ * Outside auto mode: remind the session that finished an increment's last
134
+ * task, once, to verify and close it. Only the session named in the marker is
135
+ * reminded; every other session in the folder passes untouched. The entry is
136
+ * removed before blocking, and a stop that a Stop hook already continued is
137
+ * never blocked again, so a failed write can never trap a session.
138
+ */
139
+ function closeReminder(input, context) {
140
+ if (input.stop_hook_active === true)
141
+ return pass();
142
+ const session = typeof input.session_id === 'string' ? input.session_id : '';
143
+ if (!session)
144
+ return pass();
145
+ const pending = readClosePending(session);
146
+ const now = Date.now();
147
+ const due = [];
148
+ const drop = [];
149
+ for (const [key, entry] of Object.entries(pending)) {
150
+ drop.push(key);
151
+ const dir = findIncrementDir(entry.root, entry.id);
152
+ const at = Date.parse(entry.at);
153
+ const stale = !Number.isFinite(at) || now - at > CLOSE_PENDING_MAX_AGE_MS;
154
+ // A task added after the finish reopens the work; the next `task done` re-marks it.
155
+ if (dir && !stale && !isClosed(dir) && computeRemaining(entry.root, [entry.id]).pendingTasks === 0)
156
+ due.push(entry.id);
157
+ }
158
+ if (!removeClosePending(session, pending, drop) || due.length === 0)
159
+ return pass();
160
+ logHook(context, 'stop', `close reminder: ${due.join(', ')}`, 'block');
161
+ return stopBlock(`${due.join(', ')}: you finished every task, and the increment is still open. ` +
162
+ `Close it now, without asking: ${due.map((id) => closeChain(id)).join('; and ')}. ` +
163
+ 'If a close gate stops you (verify fails, a check only the user can do), say which in your reply. ' +
164
+ 'A lane agent leaves the close to its lead.');
165
+ }
120
166
  /** The loop is ending under an auto session: reset the counter and let Claude stop. */
121
167
  function exitLoop(context, why) {
122
168
  resetTurns(context.stateDir);
@@ -130,7 +176,7 @@ export const handle = async (input, context) => {
130
176
  const session = fs.existsSync(sessionPath) ? readJsonSafe(sessionPath) : null;
131
177
  if (!session || session.active !== true) {
132
178
  resetTurns(stateDir);
133
- return pass();
179
+ return closeReminder(input, context);
134
180
  }
135
181
  const config = readJsonSafe(configPath);
136
182
  const maxSessionAge = config?.auto?.maxSessionAge ?? 7200;
@@ -141,7 +187,11 @@ export const handle = async (input, context) => {
141
187
  if (state.turns > maxTurns) {
142
188
  return exitLoop(context, `safety stop: turns ${state.turns} > auto.maxTurns ${maxTurns}`);
143
189
  }
144
- const incrementIds = resolveIncrementIds(session, projectRoot);
190
+ // A closed increment has nothing left to loop on, even while the marker still names it.
191
+ const incrementIds = resolveIncrementIds(session, projectRoot).filter((id) => {
192
+ const dir = findIncrementDir(projectRoot, id);
193
+ return !dir || !isClosed(dir);
194
+ });
145
195
  if (incrementIds.length === 0)
146
196
  return exitLoop(context, 'no increment to work on');
147
197
  const { pendingTasks, pendingAcs, unresolvedIds } = computeRemaining(projectRoot, incrementIds);
@@ -1 +1 @@
1
- {"version":3,"file":"stop.js","sourceRoot":"","sources":["../../../../../src/core/hooks/handlers/stop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stop.js","sourceRoot":"","sources":["../../../../../src/core/hooks/handlers/stop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAE7E,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EACL,wBAAwB,EACxB,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,kCAAkC,CAAC;AAE1C,MAAM,UAAU,GAAG,kBAAkB,CAAC;AAEtC,gFAAgF;AAChF,SAAS,cAAc,CAAC,QAAgB;IACtC,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IAChD,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;QAChF,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;YAAE,OAAO,UAAU,CAAC;IACnD,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,cAAc,CAAC,WAAmB,EAAE,gBAAwB;IACnE,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,OAAO,GAAG,gBAAgB,GAAG,IAAI,CAAC;IACjF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AASD,4FAA4F;AAC5F,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAEvC,SAAS,SAAS,CAAC,QAAgB;IACjC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5E,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,oBAAoB;QAChF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAc,CAAC;QAC5C,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACpF,OAAO,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;IACtB,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,QAAgB,EAAE,KAAgB;IACpD,IAAI,CAAC;QACH,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5C,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3E,CAAC;IAAC,MAAM,CAAC,CAAC,0CAA0C,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,UAAU,CAAC,QAAgB;IAClC,IAAI,CAAC;QAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;AAChF,CAAC;AAED,mFAAmF;AACnF,SAAS,mBAAmB,CAAC,OAAgC,EAAE,WAAmB;IAChF,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC;QACpD,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAU,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;QACjF,CAAC,CAAC,EAAE,CAAC;IACP,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;AAChF,CAAC;AAED,sFAAsF;AACtF,SAAS,gBAAgB,CAAC,WAAmB,EAAE,EAAU;IACvD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;IAClE,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;aAChE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjE,MAAM,OAAO,GAAG,iBAAiB,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QACnD,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACrE,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;AAC1B,CAAC;AAED,SAAS,gBAAgB,CACvB,WAAmB,EACnB,YAAsB;IAEtB,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,MAAM,aAAa,GAAa,EAAE,CAAC;IACnC,KAAK,MAAM,EAAE,IAAI,YAAY,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,gBAAgB,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAC9C,IAAI,CAAC,GAAG,EAAE,CAAC;YAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAAC,SAAS;QAAC,CAAC;QAC/C,IAAI,CAAC;YACH,qEAAqE;YACrE,sEAAsE;YACtE,yEAAyE;YACzE,mEAAmE;YACnE,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACjE,IAAI,KAAK;gBAAE,YAAY,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACtG,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAC/E,UAAU,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;QAClD,CAAC;QAAC,MAAM,CAAC,CAAC,kCAAkC,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC;AACrD,CAAC;AAED,SAAS,QAAQ,CAAC,GAAW;IAC3B,OAAO,cAAc,CAAC,YAAY,CAAuB,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AACrG,CAAC;AAED;;;;;;GAMG;AACH,SAAS,aAAa,CAAC,KAA+B,EAAE,OAAoB;IAC1E,IAAI,KAAK,CAAC,gBAAgB,KAAK,IAAI;QAAE,OAAO,IAAI,EAAE,CAAC;IACnD,MAAM,OAAO,GAAG,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7E,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,EAAE,CAAC;IAC5B,MAAM,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACnD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACf,MAAM,GAAG,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QACnD,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAChC,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,GAAG,GAAG,EAAE,GAAG,wBAAwB,CAAC;QAC1E,oFAAoF;QACpF,IAAI,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,gBAAgB,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACzH,CAAC;IACD,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,EAAE,CAAC;IACnF,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,mBAAmB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IACvE,OAAO,SAAS,CACd,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,8DAA8D;QAC7E,iCAAiC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI;QACnF,mGAAmG;QACnG,4CAA4C,CAC/C,CAAC;AACJ,CAAC;AAED,uFAAuF;AACvF,SAAS,QAAQ,CAAC,OAAoB,EAAE,GAAW;IACjD,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC7B,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,uBAAuB,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC;IAC/D,OAAO,IAAI,EAAE,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,MAAM,MAAM,GAAc,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IACxD,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IACtD,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC7C,MAAM,OAAO,GAAG,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9E,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YACxC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACrB,OAAO,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACvC,CAAC;QAED,MAAM,MAAM,GAAG,YAAY,CAA2D,UAAU,CAAC,CAAC;QAClG,MAAM,aAAa,GAAG,MAAM,EAAE,IAAI,EAAE,aAAa,IAAI,IAAI,CAAC;QAC1D,IAAI,cAAc,CAAC,WAAW,EAAE,aAAa,CAAC;YAAE,OAAO,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAE1F,MAAM,QAAQ,GAAG,MAAM,EAAE,IAAI,EAAE,QAAQ,IAAI,EAAE,CAAC;QAC9C,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;QAClC,IAAI,KAAK,CAAC,KAAK,GAAG,QAAQ,EAAE,CAAC;YAC3B,OAAO,QAAQ,CAAC,OAAO,EAAE,sBAAsB,KAAK,CAAC,KAAK,oBAAoB,QAAQ,EAAE,CAAC,CAAC;QAC5F,CAAC;QAED,wFAAwF;QACxF,MAAM,YAAY,GAAG,mBAAmB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE;YAC3E,MAAM,GAAG,GAAG,gBAAgB,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YAC9C,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QACH,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,QAAQ,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;QAEnF,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,gBAAgB,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAChG,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,QAAQ,CAAC,OAAO,EAAE,uCAAuC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1H,MAAM,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QAEhC,IAAI,YAAY,KAAK,CAAC,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;YAC3C,UAAU,CAAC,QAAQ,CAAC,CAAC;YACrB,OAAO,SAAS,CAAC,GAAG,OAAO,8CAA8C,OAAO,EAAE,CAAC,CAAC;QACtF,CAAC;QAED,0EAA0E;QAC1E,qEAAqE;QACrE,MAAM,SAAS,GAAG,YAAY,GAAG,UAAU,CAAC;QAC5C,MAAM,UAAU,GACd,KAAK,CAAC,gBAAgB,KAAK,IAAI,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrG,IAAI,UAAU,IAAI,qBAAqB,EAAE,CAAC;YACxC,OAAO,QAAQ,CAAC,OAAO,EAAE,mBAAmB,UAAU,WAAW,SAAS,wBAAwB,CAAC,CAAC;QACtG,CAAC;QAED,UAAU,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC;QACxE,MAAM,QAAQ,GAAG,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QAClG,OAAO,SAAS,CACd,GAAG,OAAO,KAAK,YAAY,cAAc,UAAU,uCAAuC;YACxF,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CACzC,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACjG,OAAO,IAAI,EAAE,CAAC;IAChB,CAAC;AACH,CAAC,CAAC"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Close-pending markers: increments whose last task a Claude Code session
3
+ * finished through the CLI, and that are not closed yet.
4
+ *
5
+ * `specweave task done` / `task skip` writes one when the board turns
6
+ * all-terminal, into a file of the session it ran in
7
+ * (`~/.specweave/close-pending/<CLAUDE_CODE_SESSION_ID>.json`; Claude Code sets
8
+ * that variable for every shell command and passes the same id to hooks as
9
+ * `session_id`). The file lives under the user's home, not the project, so a
10
+ * session that ran the command in a sibling worktree is still found, and no
11
+ * two sessions ever write the same file. The Stop hook reminds that session
12
+ * once to verify and close, then drops the entry. Entries also go once the
13
+ * increment is closed, gets open tasks again, or is older than
14
+ * CLOSE_PENDING_MAX_AGE_MS (pickup's "/sw:done" hint covers it from then on).
15
+ * Without a session id (Codex, a plain terminal) nothing is written: those
16
+ * tools get the close instruction from the command output and AGENTS.md.
17
+ *
18
+ * The hook supervisor (plugins/specweave/hooks/run.mjs) checks only whether
19
+ * this session's file exists, so it is deleted once empty.
20
+ * Every function here is best-effort: bookkeeping must never fail a command.
21
+ *
22
+ * @module core/increment/close-pending
23
+ */
24
+ /** Folder under `~/.specweave/`; run.mjs checks the same path. */
25
+ export declare const CLOSE_PENDING_DIR = "close-pending";
26
+ /** After a day the finishing session is gone; pickup takes over. */
27
+ export declare const CLOSE_PENDING_MAX_AGE_MS: number;
28
+ export interface ClosePendingEntry {
29
+ /** Project root whose `.specweave/increments/<id>` this is. */
30
+ root: string;
31
+ /** Increment folder name. */
32
+ id: string;
33
+ /** When the last task turned done or skipped. */
34
+ at: string;
35
+ }
36
+ /** Entries keyed by `<root>\n<id>`. */
37
+ export type ClosePending = Record<string, ClosePendingEntry>;
38
+ /** This session's marker file, or null when the id is not path-safe. */
39
+ export declare function closePendingFile(session: string, home?: string): string | null;
40
+ /** The steps that close an increment, in the order the loop runs them. */
41
+ export declare function closeChain(id: string): string;
42
+ /** The Claude Code session a CLI command runs in, if any. */
43
+ export declare function currentSessionId(env?: NodeJS.ProcessEnv): string | undefined;
44
+ /** Closed for good, including the legacy spellings metadata reads normalize. */
45
+ export declare function isClosedStatus(status: unknown): boolean;
46
+ export declare function readClosePending(session: string): ClosePending;
47
+ /** Record that `session` finished every task of `id` under `root`, so its Stop reminds it to close. */
48
+ export declare function markClosePending(root: string, id: string, session: string | undefined, now?: Date): void;
49
+ /**
50
+ * Drop entries, re-reading first and keeping any entry re-marked since it was
51
+ * read (a different `at`). Returns false when the file could not be updated.
52
+ */
53
+ export declare function removeClosePending(session: string, read: ClosePending, keys: string[]): boolean;
54
+ //# sourceMappingURL=close-pending.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"close-pending.d.ts","sourceRoot":"","sources":["../../../../src/core/increment/close-pending.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAOH,kEAAkE;AAClE,eAAO,MAAM,iBAAiB,kBAAkB,CAAC;AAEjD,oEAAoE;AACpE,eAAO,MAAM,wBAAwB,QAAsB,CAAC;AAE5D,MAAM,WAAW,iBAAiB;IAChC,+DAA+D;IAC/D,IAAI,EAAE,MAAM,CAAC;IACb,6BAA6B;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,iDAAiD;IACjD,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,uCAAuC;AACvC,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;AAI7D,wEAAwE;AACxE,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,MAAqB,GAAG,MAAM,GAAG,IAAI,CAG5F;AAED,0EAA0E;AAC1E,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAE7C;AAED,6DAA6D;AAC7D,wBAAgB,gBAAgB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,GAAG,SAAS,CAGzF;AAED,gFAAgF;AAChF,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAMvD;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CAgB9D;AAqBD,uGAAuG;AACvG,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,GAAE,IAAiB,GAAG,IAAI,CAKpH;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAW/F"}
@@ -0,0 +1,125 @@
1
+ /**
2
+ * Close-pending markers: increments whose last task a Claude Code session
3
+ * finished through the CLI, and that are not closed yet.
4
+ *
5
+ * `specweave task done` / `task skip` writes one when the board turns
6
+ * all-terminal, into a file of the session it ran in
7
+ * (`~/.specweave/close-pending/<CLAUDE_CODE_SESSION_ID>.json`; Claude Code sets
8
+ * that variable for every shell command and passes the same id to hooks as
9
+ * `session_id`). The file lives under the user's home, not the project, so a
10
+ * session that ran the command in a sibling worktree is still found, and no
11
+ * two sessions ever write the same file. The Stop hook reminds that session
12
+ * once to verify and close, then drops the entry. Entries also go once the
13
+ * increment is closed, gets open tasks again, or is older than
14
+ * CLOSE_PENDING_MAX_AGE_MS (pickup's "/sw:done" hint covers it from then on).
15
+ * Without a session id (Codex, a plain terminal) nothing is written: those
16
+ * tools get the close instruction from the command output and AGENTS.md.
17
+ *
18
+ * The hook supervisor (plugins/specweave/hooks/run.mjs) checks only whether
19
+ * this session's file exists, so it is deleted once empty.
20
+ * Every function here is best-effort: bookkeeping must never fail a command.
21
+ *
22
+ * @module core/increment/close-pending
23
+ */
24
+ import * as fs from 'fs';
25
+ import * as os from 'os';
26
+ import * as path from 'path';
27
+ import { IncrementStatus, LEGACY_STATUS_MAP } from '../types/increment-metadata.js';
28
+ /** Folder under `~/.specweave/`; run.mjs checks the same path. */
29
+ export const CLOSE_PENDING_DIR = 'close-pending';
30
+ /** After a day the finishing session is gone; pickup takes over. */
31
+ export const CLOSE_PENDING_MAX_AGE_MS = 24 * 60 * 60 * 1000;
32
+ const SAFE_SESSION = /^[A-Za-z0-9._-]{1,128}$/;
33
+ /** This session's marker file, or null when the id is not path-safe. */
34
+ export function closePendingFile(session, home = os.homedir()) {
35
+ if (!SAFE_SESSION.test(session) || session === '.' || session === '..')
36
+ return null;
37
+ return path.join(home, '.specweave', CLOSE_PENDING_DIR, `${session}.json`);
38
+ }
39
+ /** The steps that close an increment, in the order the loop runs them. */
40
+ export function closeChain(id) {
41
+ return `specweave verify ${id}, a fresh-context review (sw-review in a subagent or new session), then specweave complete ${id}`;
42
+ }
43
+ /** The Claude Code session a CLI command runs in, if any. */
44
+ export function currentSessionId(env = process.env) {
45
+ const id = (env.CLAUDE_CODE_SESSION_ID || env.CLAUDE_SESSION_ID || '').trim();
46
+ return id || undefined;
47
+ }
48
+ /** Closed for good, including the legacy spellings metadata reads normalize. */
49
+ export function isClosedStatus(status) {
50
+ if (typeof status !== 'string')
51
+ return false;
52
+ const s = status.trim().toLowerCase();
53
+ if (s === 'archived')
54
+ return true;
55
+ const normalized = LEGACY_STATUS_MAP[s] ?? s;
56
+ return normalized === IncrementStatus.COMPLETED || normalized === IncrementStatus.ABANDONED;
57
+ }
58
+ export function readClosePending(session) {
59
+ const file = closePendingFile(session);
60
+ if (!file)
61
+ return {};
62
+ try {
63
+ const parsed = JSON.parse(fs.readFileSync(file, 'utf8'));
64
+ if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed))
65
+ return {};
66
+ const out = {};
67
+ for (const [key, entry] of Object.entries(parsed)) {
68
+ if (!entry || typeof entry !== 'object')
69
+ continue;
70
+ const { root, id, at } = entry;
71
+ if (typeof root === 'string' && typeof id === 'string' && typeof at === 'string')
72
+ out[key] = { root, id, at };
73
+ }
74
+ return out;
75
+ }
76
+ catch {
77
+ return {};
78
+ }
79
+ }
80
+ /** Write the markers atomically; no entries removes the file. Returns false when the write failed. */
81
+ function writeClosePending(session, data) {
82
+ const file = closePendingFile(session);
83
+ if (!file)
84
+ return false;
85
+ try {
86
+ if (Object.keys(data).length === 0) {
87
+ fs.rmSync(file, { force: true });
88
+ return true;
89
+ }
90
+ fs.mkdirSync(path.dirname(file), { recursive: true, mode: 0o700 });
91
+ const tmp = `${file}.${process.pid}.tmp`;
92
+ fs.writeFileSync(tmp, JSON.stringify(data, null, 2) + '\n', { mode: 0o600 });
93
+ fs.renameSync(tmp, file);
94
+ return true;
95
+ }
96
+ catch {
97
+ return false;
98
+ }
99
+ }
100
+ /** Record that `session` finished every task of `id` under `root`, so its Stop reminds it to close. */
101
+ export function markClosePending(root, id, session, now = new Date()) {
102
+ if (!session)
103
+ return;
104
+ const data = readClosePending(session);
105
+ data[`${root}\n${id}`] = { root, id, at: now.toISOString() };
106
+ writeClosePending(session, data);
107
+ }
108
+ /**
109
+ * Drop entries, re-reading first and keeping any entry re-marked since it was
110
+ * read (a different `at`). Returns false when the file could not be updated.
111
+ */
112
+ export function removeClosePending(session, read, keys) {
113
+ if (keys.length === 0)
114
+ return true;
115
+ const data = readClosePending(session);
116
+ let changed = false;
117
+ for (const key of keys) {
118
+ if (data[key] && data[key].at === read[key]?.at) {
119
+ delete data[key];
120
+ changed = true;
121
+ }
122
+ }
123
+ return changed ? writeClosePending(session, data) : true;
124
+ }
125
+ //# sourceMappingURL=close-pending.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"close-pending.js","sourceRoot":"","sources":["../../../../src/core/increment/close-pending.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"handoff-doc-format.d.ts","sourceRoot":"","sources":["../../../../src/core/session/handoff-doc-format.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handoff-doc-format.d.ts","sourceRoot":"","sources":["../../../../src/core/session/handoff-doc-format.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@
12
12
  * @module core/session/handoff-doc-format
13
13
  */
14
14
  import * as path from 'path';
15
+ import { closeChain } from '../increment/close-pending.js';
15
16
  /** Footer marker (ownership sentinel + format version handle). */
16
17
  export const DOC_FORMAT_MARKER = 'Doc format v2';
17
18
  /** Prior marker — still recognized as "ours" so v1 docs are overwritten, not treated as foreign. */
@@ -202,7 +203,7 @@ export function renderHandoffDoc(input) {
202
203
  L.push(`\`specweave task claim ${inc.nextTask.id} ${inc.id}\` — ${inc.nextTask.title}`);
203
204
  }
204
205
  else if (inc && inc.counts.done + inc.counts.skipped === inc.counts.total && inc.counts.total > 0) {
205
- L.push(`All tasks done → \`specweave verify ${inc.id}\` then \`specweave complete ${inc.id}\`.`);
206
+ L.push(`All tasks done → close it without asking: ${closeChain(inc.id)}.`);
206
207
  }
207
208
  else {
208
209
  L.push('_No explicit next step — read the summary above._');
@@ -1 +1 @@
1
- {"version":3,"file":"handoff-doc-format.js","sourceRoot":"","sources":["../../../../src/core/session/handoff-doc-format.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handoff-doc-format.js","sourceRoot":"","sources":["../../../../src/core/session/handoff-doc-format.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"pickup.d.ts","sourceRoot":"","sources":["../../../../src/core/session/pickup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAeH,eAAO,MAAM,iBAAiB,gCAAgC,CAAC;AAM/D,MAAM,WAAW,aAAa;IAC5B,0EAA0E;IAC1E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0EAA0E;IAC1E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,qCAAqC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oFAAoF;IACpF,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,+DAA+D;IAC/D,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,kDAAkD;IAClD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,8EAA8E;AAC9E,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,GAAE,aAAkB,GAAG,YAAY,CAoDvF;AAiFD,iFAAiF;AACjF,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAQhD;AAsID,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAKxC"}
1
+ {"version":3,"file":"pickup.d.ts","sourceRoot":"","sources":["../../../../src/core/session/pickup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAgBH,eAAO,MAAM,iBAAiB,gCAAgC,CAAC;AAM/D,MAAM,WAAW,aAAa;IAC5B,0EAA0E;IAC1E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0EAA0E;IAC1E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,qCAAqC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oFAAoF;IACpF,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,+DAA+D;IAC/D,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,kDAAkD;IAClD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,8EAA8E;AAC9E,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,GAAE,aAAkB,GAAG,YAAY,CAoDvF;AAiFD,iFAAiF;AACjF,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAQhD;AAsID,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAKxC"}
@@ -23,6 +23,7 @@ import { readSpecAcs, deriveAcStatus } from '../tasks/verify-runner.js';
23
23
  import { readIntentContext } from '../intent/portable-context.js';
24
24
  import { resolveHandoffPointer } from './handoff-pointer.js';
25
25
  import { latestCheckpointFor } from './session-checkpoint.js';
26
+ import { closeChain, isClosedStatus } from '../increment/close-pending.js';
26
27
  export const MEMORY_INDEX_PATH = '.specweave/memory/MEMORY.md';
27
28
  const MAX_INCREMENTS_LISTED = 3;
28
29
  const MAX_NOTES = 5;
@@ -77,7 +78,7 @@ export function buildPickup(projectRoot, opts = {}) {
77
78
  if (memory.length)
78
79
  L.push(...memory);
79
80
  if (opts.compact && L.length && ids.length) {
80
- L.push('Run `specweave pickup` for the next task\'s acceptance criteria, claims and branch state.');
81
+ L.push('Run `specweave pickup` for the next task\'s acceptance criteria, claims and branch state. When the last task is done, verify and close it in the same session (sw-done).');
81
82
  }
82
83
  if (!opts.compact && ids.length === 0 && !intents) {
83
84
  L.push('No open increment. Start one with `specweave create-increment "<title>"`.');
@@ -109,8 +110,8 @@ function describeFocus(projectRoot, dir, id, agent, leaseHours) {
109
110
  L.push(` Files: ${(next.filesAffected ?? []).join(', ') || '-'} | Test: ${next.test ?? '-'}`);
110
111
  L.push(` claim: specweave task claim ${next.id} ${id}`);
111
112
  }
112
- else if (!next && counts && counts.total > 0 && counts.done + counts.skipped === counts.total) {
113
- L.push(`All tasks done. Next: specweave verify ${id}, then specweave complete ${id}`);
113
+ else if (!next && counts && counts.total > 0 && counts.done + counts.skipped === counts.total && !isClosedStatus(status)) {
114
+ L.push(`All tasks done. Next, without asking: ${closeChain(id)}`);
114
115
  }
115
116
  const others = board.tasks.filter((t) => (t.state.status === 'claimed' || t.state.status === 'blocked' || t.state.status === 'stale') && t.state.by !== agent);
116
117
  if (others.length) {
@@ -135,7 +136,7 @@ function summaryLine(dir, id, leaseHours) {
135
136
  const c = board.counts;
136
137
  const pending = Math.max(0, c.total - c.done - c.skipped);
137
138
  if (pending === 0) {
138
- line += ` (all ${c.total} tasks done — run /sw:done ${id})`;
139
+ line += ` (all ${c.total} tasks done — run /sw:done ${id} now, without asking)`;
139
140
  }
140
141
  else {
141
142
  const next = nextTask(board);
@@ -1 +1 @@
1
- {"version":3,"file":"pickup.js","sourceRoot":"","sources":["../../../../src/core/session/pickup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pickup.js","sourceRoot":"","sources":["../../../../src/core/session/pickup.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "specweave",
3
- "version": "3.1.1",
3
+ "version": "3.1.2",
4
4
  "description": "Keep intent, specifications, and verified progress portable across AI coding tools. A local live work board, append-only task evidence, explicit handoffs, and optional GitHub/Jira/Azure DevOps integrations.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "sw",
3
3
  "description": "Portable intent and verified progress across coding tools. Six core workflow skills plus opt-in grill-me, glossary, sync, project and jev, two default lifecycle hooks, and a deterministic CLI and live local dashboard.",
4
- "version": "3.1.1",
4
+ "version": "3.1.2",
5
5
  "author": {
6
6
  "name": "SpecWeave Team",
7
7
  "url": "https://spec-weave.com"
@@ -31,6 +31,17 @@ function hasActiveAutoSession(data) {
31
31
  }
32
32
  return false;
33
33
  }
34
+ // `specweave task done`/`skip` writes ~/.specweave/close-pending/<session>.json
35
+ // when an increment's last task turns terminal; Stop then reminds that session
36
+ // once to verify and close it. Only that session spawns the worker: every
37
+ // other stop stays on the fast path.
38
+ function hasClosePendingFor(data) {
39
+ const session = typeof data.session_id === 'string' ? data.session_id : '';
40
+ if (!/^[A-Za-z0-9._-]{1,128}$/.test(session) || session === '.' || session === '..') return false;
41
+ if (data.stop_hook_active === true) return false;
42
+ try { return existsSync(path.join(homedir(), '.specweave', 'close-pending', `${session}.json`)); }
43
+ catch { return false; }
44
+ }
34
45
  // PreToolUse fast path. Ordinary edits and ordinary shell commands must not
35
46
  // spawn a worker, resolve npm or import the CLI. Write|Edit only matter inside
36
47
  // `.specweave/increments/`; Bash only matters when the project opted into the
@@ -100,7 +111,7 @@ process.stdin.on('end',()=>{
100
111
  catch {return finish({},'invalid_input');}
101
112
  if(!['session-start','pre-tool-use','pre-compact','stop'].includes(event))return finish({});
102
113
  if(process.env.SPECWEAVE_DISABLE_HOOKS === '1')return finish({});
103
- if(event === 'stop' && !hasActiveAutoSession(data))return finish({});
114
+ if(event === 'stop' && !hasActiveAutoSession(data) && !hasClosePendingFor(data))return finish({});
104
115
  if(event === 'pre-tool-use' && skipPreToolUse(data))return finish({});
105
116
  const env={...process.env};
106
117
  child=spawn(process.execPath,[worker,event],{env,detached:process.platform !== 'win32',stdio:['pipe','pipe','pipe']});
@@ -72,8 +72,15 @@ merge and close; do not implement.
72
72
 
73
73
  ## Finish without asking
74
74
 
75
- When `task next` has nothing left, run sw-done: verify, review, complete.
76
- "All tasks are done, should I close?" is the anti-pattern.
75
+ When `task next` has nothing left, run sw-done: verify, review, complete, in the same
76
+ session. "All tasks are done, should I close?" is the anti-pattern.
77
+
78
+ Plan for it from the start: a progress checklist or status you keep for the user ends
79
+ with "Verify and close 0042", not with "merge" or "release". Work that shipped through
80
+ a PR still gets `specweave task done T-03 --evidence "<commit sha>"` first, or the ledger
81
+ never shows it finished. A session never ends with every task done and the increment
82
+ still open; if a close gate stops you (verify fails, a manual check only the user can
83
+ do), say which one in your report. A lane agent leaves the close to its lead.
77
84
 
78
85
  ## Stopping early
79
86
 
@@ -52,7 +52,8 @@ or a `Waits on: ...` line in the increment's `handoff.md`; a `wait` with the not
52
52
 
53
53
  On the other side, "pick up all" is `specweave pickup --all`: the newest index,
54
54
  actionable increments first, then the ones waiting on a person. Start each topic with
55
- its resume prompt, then `specweave pickup <id>`.
55
+ its resume prompt, then `specweave pickup <id>` and sw-do, which closes each one
56
+ whose tasks all end up done.
56
57
 
57
58
  ## Your hand-written handoff is kept
58
59
 
@@ -93,7 +94,8 @@ account", run `specweave pickup`. It fetches the last handoff, moves this branch
93
94
  forward to it and applies the handed-off edits (only on a clean tree), then prints the
94
95
  increment, the next task with its acceptance criteria and any notes. If it reports
95
96
  uncommitted changes or a diverged branch, do what it says; never discard the user's
96
- edits. Then continue with sw-do.
97
+ edits. Then continue with sw-do, which closes the increment through sw-done once its
98
+ last task is done.
97
99
 
98
100
  Several sessions can hand off in one project (each increment's handoff, and a session
99
101
  that hit the limit in a worktree or with several increments active). `specweave handoff
@@ -130,4 +132,5 @@ git push -u origin HEAD
130
132
  ```
131
133
 
132
134
  To pick up by hand: `git fetch origin`, check out that branch, read its `handoff.md`,
133
- and continue at the first task in spec.md with no `done` line in the ledger.
135
+ and continue at the first task in spec.md with no `done` line in the ledger. When none
136
+ is left, close it as sw-done says.
@@ -108,3 +108,7 @@ Files that change and in what order, decisions, rejected alternatives, risks.
108
108
 
109
109
  Show the ACs and tasks. Unless the user asked to review the plan first, carry on with
110
110
  sw-do (one agent, or parallel lanes for three or more disjoint groups of tasks).
111
+ Opening an increment makes closing it part of the same job: any plan or checklist you
112
+ show ends with "Verify and close 0042", and sw-do closes it through sw-done once the last
113
+ task is done. When the plan waits for the user's review, say the increment stays open
114
+ until they answer.
@@ -8,12 +8,12 @@ This project uses SpecWeave. Plan increments in `.specweave/increments/NNNN-slug
8
8
  ## The loop
9
9
 
10
10
  1. `specweave pickup`: applies the latest handoff and prints the open increment, next task and ACs, other claims, branch state, notes and project memory.
11
- 2. New work needing ACs or handoff: `specweave create-increment "title"`, then fill spec.md. First ask the user only their critical decisions, one at a time with a recommended answer, and record them under `## Decisions` (sw-increment). If an open increment owns the files, add ACs and tasks there. Small fixes need no increment.
11
+ 2. New work needing ACs or handoff: `specweave create-increment "title"`, then fill spec.md. First ask the user only their critical decisions, one at a time with a recommended answer, and record them under `## Decisions` (sw-increment). If an open increment owns the files, add ACs and tasks there. Small fixes need no increment. Close what you open: its plan ends with "Verify and close NNNN".
12
12
  3. `specweave task claim T-NN`, edit only that task's Files, commit as `NNNN: what changed`, then `specweave task done T-NN --run "<its Test>"`.
13
- 4. `specweave verify`, a review in a fresh session for anything that ships, then `specweave complete NNNN`.
14
- 5. Before stopping or switching tools/accounts: `specweave handoff --reason "<why>"`.
13
+ 4. When the last task is done or skipped, without asking: `specweave verify`, a fresh-context review (subagent or new session) for anything that ships, `specweave complete NNNN`. PR-shipped work needs `task done` first.
14
+ 5. Stopping with tasks left, or switching tools: `specweave handoff --reason "<why>"`.
15
15
 
16
- **Handoff.** When the user says "hand off", "out of tokens" or "switching accounts", or "[Usage limit reached" appears (outside SpecWithCode), run `specweave handoff --reason "<why>"`; tell them to say "pick up" in the other tool. "[Usage limit approaching" or usage heads-ups mean keep working; say so. When the user says "pick up", run `specweave pickup`; continue its task, passing any given id/title. Take the newest handoff if several; say which.
16
+ **Handoff.** When the user says "hand off", "out of tokens" or "switching accounts", or "[Usage limit reached" appears (outside SpecWithCode), run `specweave handoff --reason "<why>"`; tell them to say "pick up" in the other tool. "[Usage limit approaching" or usage heads-ups mean keep working; say so. When the user says "pick up", run `specweave pickup`; continue through step 4, passing any given id/title. Take the newest handoff if several; say which.
17
17
 
18
18
  Tasks in spec.md: `### T-01 Title`, then `- AC: AC-01 | Files: src/a.ts, tests/e2e/a.test.ts | Test: npm test -- e2e/a`. An AC is met when its tasks are done. Leave notes with `specweave note "<text>"`. Skills: `.agents/skills/sw-*` and `.claude/skills/sw-*`; other tools: `npx vskill install anton-abyzov/specweave/sw-do`.
19
19
  <!-- /SECTION -->