specweave 3.1.1 → 3.1.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.
- package/.claude-plugin/marketplace.json +2 -2
- package/bin/specweave.js +30 -0
- package/dist/src/cli/commands/card.d.ts +27 -0
- package/dist/src/cli/commands/card.d.ts.map +1 -0
- package/dist/src/cli/commands/card.js +163 -0
- package/dist/src/cli/commands/card.js.map +1 -0
- package/dist/src/cli/commands/task.d.ts +8 -0
- package/dist/src/cli/commands/task.d.ts.map +1 -1
- package/dist/src/cli/commands/task.js +50 -9
- package/dist/src/cli/commands/task.js.map +1 -1
- package/dist/src/cli/commands/verify.d.ts +2 -0
- package/dist/src/cli/commands/verify.d.ts.map +1 -1
- package/dist/src/cli/commands/verify.js +7 -3
- package/dist/src/cli/commands/verify.js.map +1 -1
- package/dist/src/core/hooks/LifecycleHookDispatcher.d.ts +6 -0
- package/dist/src/core/hooks/LifecycleHookDispatcher.d.ts.map +1 -1
- package/dist/src/core/hooks/LifecycleHookDispatcher.js +35 -3
- package/dist/src/core/hooks/LifecycleHookDispatcher.js.map +1 -1
- package/dist/src/core/hooks/handlers/stop.d.ts +11 -3
- package/dist/src/core/hooks/handlers/stop.d.ts.map +1 -1
- package/dist/src/core/hooks/handlers/stop.js +55 -5
- package/dist/src/core/hooks/handlers/stop.js.map +1 -1
- package/dist/src/core/increment/close-pending.d.ts +54 -0
- package/dist/src/core/increment/close-pending.d.ts.map +1 -0
- package/dist/src/core/increment/close-pending.js +125 -0
- package/dist/src/core/increment/close-pending.js.map +1 -0
- package/dist/src/core/session/handoff-doc-format.d.ts.map +1 -1
- package/dist/src/core/session/handoff-doc-format.js +2 -1
- package/dist/src/core/session/handoff-doc-format.js.map +1 -1
- package/dist/src/core/session/pickup.d.ts.map +1 -1
- package/dist/src/core/session/pickup.js +21 -6
- package/dist/src/core/session/pickup.js.map +1 -1
- package/dist/src/core/tasks/branch-cards.d.ts +32 -0
- package/dist/src/core/tasks/branch-cards.d.ts.map +1 -0
- package/dist/src/core/tasks/branch-cards.js +72 -0
- package/dist/src/core/tasks/branch-cards.js.map +1 -0
- package/dist/src/core/tasks/cards.d.ts +60 -0
- package/dist/src/core/tasks/cards.d.ts.map +1 -0
- package/dist/src/core/tasks/cards.js +117 -0
- package/dist/src/core/tasks/cards.js.map +1 -0
- package/dist/src/core/tasks/closure-gate.d.ts.map +1 -1
- package/dist/src/core/tasks/closure-gate.js +10 -3
- package/dist/src/core/tasks/closure-gate.js.map +1 -1
- package/dist/src/core/tasks/ledger.d.ts +20 -0
- package/dist/src/core/tasks/ledger.d.ts.map +1 -1
- package/dist/src/core/tasks/ledger.js +38 -2
- package/dist/src/core/tasks/ledger.js.map +1 -1
- package/dist/src/core/tasks/verify-runner.d.ts +6 -0
- package/dist/src/core/tasks/verify-runner.d.ts.map +1 -1
- package/dist/src/core/tasks/verify-runner.js +12 -3
- package/dist/src/core/tasks/verify-runner.js.map +1 -1
- package/package.json +2 -2
- package/plugins/specweave/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave/hooks/run.mjs +12 -1
- package/plugins/specweave/skills/do/SKILL.md +18 -7
- package/plugins/specweave/skills/handoff/SKILL.md +12 -4
- package/plugins/specweave/skills/increment/SKILL.md +4 -0
- package/src/templates/AGENTS.md.template +6 -6
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
*
|
|
12
12
|
* Part of increment 0298: Hook Lifecycle Wiring
|
|
13
13
|
*/
|
|
14
|
-
import { appendFileSync, mkdirSync } from 'fs';
|
|
14
|
+
import { appendFileSync, mkdirSync, readFileSync } from 'fs';
|
|
15
15
|
import path from 'path';
|
|
16
16
|
import { ConfigManager } from '../config/config-manager.js';
|
|
17
17
|
/**
|
|
@@ -142,9 +142,22 @@ export class LifecycleHookDispatcher {
|
|
|
142
142
|
// Metadata read failure shouldn't block — default: don't skip
|
|
143
143
|
}
|
|
144
144
|
}
|
|
145
|
-
|
|
145
|
+
let shouldSyncLivingDocs = livingDocs === 'onDone' && autoSync && !perIncrementSkip;
|
|
146
146
|
if (!doneConfig && !shouldSyncLivingDocs)
|
|
147
147
|
return result;
|
|
148
|
+
// 0933: a 3.0 spec has acceptance criteria but no user stories, so a
|
|
149
|
+
// living-docs sync only produces "User Stories: 0". Skip it with one
|
|
150
|
+
// line; the external closure below runs either way.
|
|
151
|
+
if (shouldSyncLivingDocs && LifecycleHookDispatcher.specHasUserStories(projectRoot, incrementId) === false) {
|
|
152
|
+
shouldSyncLivingDocs = false;
|
|
153
|
+
result.syncSuccess.push('Living docs skipped: spec.md has no user stories');
|
|
154
|
+
try {
|
|
155
|
+
process.stdout.write(`Living docs skipped for ${incrementId}: spec.md has no user stories\n`);
|
|
156
|
+
}
|
|
157
|
+
catch {
|
|
158
|
+
// stdout replaced (tests) — the syncSuccess entry still records it
|
|
159
|
+
}
|
|
160
|
+
}
|
|
148
161
|
// v1.0.357 + 0696: Support closing issues for ALL providers (JIRA/ADO/GitHub).
|
|
149
162
|
// close_github_issue is the legacy flag; close_external_issue is the new generic one.
|
|
150
163
|
// SyncCoordinator.syncIncrementClosure() closes every enabled provider using a
|
|
@@ -198,7 +211,11 @@ export class LifecycleHookDispatcher {
|
|
|
198
211
|
LifecycleHookDispatcher.logError('onIncrementDone:livingDocs', error);
|
|
199
212
|
}
|
|
200
213
|
}
|
|
201
|
-
// STEP 2: Run closure sync for JIRA/ADO
|
|
214
|
+
// STEP 2: Run closure sync for JIRA/ADO. It runs whether living docs
|
|
215
|
+
// synced, were skipped or failed: living docs never gate the closure.
|
|
216
|
+
// GitHub issues are closed from metadata.json by completeIncrement()
|
|
217
|
+
// (GitHubReconciler.closeCompletedIncrementIssues) right after this hook,
|
|
218
|
+
// so they close without living docs too.
|
|
202
219
|
// 0696 hotfix: forward per-provider errors from SyncCoordinator into result.syncErrors
|
|
203
220
|
// AND persist them to .specweave/logs/hooks.log via logError.
|
|
204
221
|
const syncClosure = async () => {
|
|
@@ -278,6 +295,21 @@ export class LifecycleHookDispatcher {
|
|
|
278
295
|
/**
|
|
279
296
|
* Check if dispatch should be skipped (test environment guard)
|
|
280
297
|
*/
|
|
298
|
+
/**
|
|
299
|
+
* Whether the increment's spec.md declares user stories (`## User Stories`
|
|
300
|
+
* or a `US-NNN` heading). `undefined` when spec.md cannot be read, so a
|
|
301
|
+
* missing file never changes the sync decision.
|
|
302
|
+
*/
|
|
303
|
+
static specHasUserStories(projectRoot, incrementId) {
|
|
304
|
+
let spec;
|
|
305
|
+
try {
|
|
306
|
+
spec = readFileSync(path.join(projectRoot, '.specweave', 'increments', incrementId, 'spec.md'), 'utf-8');
|
|
307
|
+
}
|
|
308
|
+
catch {
|
|
309
|
+
return undefined;
|
|
310
|
+
}
|
|
311
|
+
return /^##\s+User Stories\b/im.test(spec) || /^#{2,4}\s+\**US-\d+/m.test(spec);
|
|
312
|
+
}
|
|
281
313
|
static shouldSkip(options) {
|
|
282
314
|
// Allow tests to bypass the guard to test the dispatcher itself
|
|
283
315
|
if (options._bypassTestGuard === true)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LifecycleHookDispatcher.js","sourceRoot":"","sources":["../../../../src/core/hooks/LifecycleHookDispatcher.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"LifecycleHookDispatcher.js","sourceRoot":"","sources":["../../../../src/core/hooks/LifecycleHookDispatcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Stop hook handler — the `/sw:auto` loop driver,
|
|
3
|
-
* fires on every turn; handoff automation
|
|
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
|
|
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,
|
|
3
|
-
* fires on every turn; handoff automation
|
|
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
|
|
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
|
-
|
|
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":"AAAA
|
|
1
|
+
{"version":3,"file":"stop.js","sourceRoot":"","sources":["../../../../../src/core/hooks/handlers/stop.ts"],"names":[],"mappings":"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"}
|
|
@@ -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":"AAAA;;;;;;;;;;;;GAYG;
|
|
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 →
|
|
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":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;
|
|
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;
|
|
1
|
+
{"version":3,"file":"pickup.d.ts","sourceRoot":"","sources":["../../../../src/core/session/pickup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAkBH,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,CAyDvF;AAsFD,iFAAiF;AACjF,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAQhD;AAsID,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAKxC"}
|