specweave 3.1.9 → 3.1.11
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/README.md +3 -1
- package/bin/specweave.js +5 -0
- package/dist/src/cli/commands/create-increment.d.ts +2 -0
- package/dist/src/cli/commands/create-increment.d.ts.map +1 -1
- package/dist/src/cli/commands/create-increment.js +22 -2
- package/dist/src/cli/commands/create-increment.js.map +1 -1
- package/dist/src/cli/commands/generate-rubric.d.ts.map +1 -1
- package/dist/src/cli/commands/generate-rubric.js +13 -0
- package/dist/src/cli/commands/generate-rubric.js.map +1 -1
- package/dist/src/cli/commands/handoff.d.ts +2 -0
- package/dist/src/cli/commands/handoff.d.ts.map +1 -1
- package/dist/src/cli/commands/handoff.js +6 -0
- package/dist/src/cli/commands/handoff.js.map +1 -1
- package/dist/src/cli/commands/task.d.ts +4 -0
- package/dist/src/cli/commands/task.d.ts.map +1 -1
- package/dist/src/cli/commands/task.js +58 -23
- package/dist/src/cli/commands/task.js.map +1 -1
- package/dist/src/core/auto/config.d.ts.map +1 -1
- package/dist/src/core/auto/config.js +1 -3
- package/dist/src/core/auto/config.js.map +1 -1
- package/dist/src/core/auto/types.d.ts +0 -1
- package/dist/src/core/auto/types.d.ts.map +1 -1
- package/dist/src/core/auto/types.js +0 -2
- package/dist/src/core/auto/types.js.map +1 -1
- package/dist/src/core/config/types.d.ts +13 -1
- package/dist/src/core/config/types.d.ts.map +1 -1
- package/dist/src/core/config/types.js +1 -0
- package/dist/src/core/config/types.js.map +1 -1
- package/dist/src/core/hooks/handlers/pre-compact.d.ts +14 -4
- package/dist/src/core/hooks/handlers/pre-compact.d.ts.map +1 -1
- package/dist/src/core/hooks/handlers/pre-compact.js +36 -6
- package/dist/src/core/hooks/handlers/pre-compact.js.map +1 -1
- package/dist/src/core/hooks/handlers/require-increment.d.ts +6 -0
- package/dist/src/core/hooks/handlers/require-increment.d.ts.map +1 -1
- package/dist/src/core/hooks/handlers/require-increment.js +1 -1
- package/dist/src/core/hooks/handlers/require-increment.js.map +1 -1
- package/dist/src/core/increment/auto-commit.d.ts +91 -0
- package/dist/src/core/increment/auto-commit.d.ts.map +1 -0
- package/dist/src/core/increment/auto-commit.js +371 -0
- package/dist/src/core/increment/auto-commit.js.map +1 -0
- package/dist/src/core/increment/completion-validator.d.ts.map +1 -1
- package/dist/src/core/increment/completion-validator.js +11 -12
- package/dist/src/core/increment/completion-validator.js.map +1 -1
- package/dist/src/core/increment/metadata-manager.d.ts +1 -1
- package/dist/src/core/increment/metadata-manager.d.ts.map +1 -1
- package/dist/src/core/increment/metadata-manager.js +3 -9
- package/dist/src/core/increment/metadata-manager.js.map +1 -1
- package/dist/src/core/rubric/rubric-generator.d.ts.map +1 -1
- package/dist/src/core/rubric/rubric-generator.js +19 -18
- package/dist/src/core/rubric/rubric-generator.js.map +1 -1
- package/dist/src/core/session/handoff-remote.d.ts +2 -0
- package/dist/src/core/session/handoff-remote.d.ts.map +1 -1
- package/dist/src/core/session/handoff-remote.js +4 -1
- package/dist/src/core/session/handoff-remote.js.map +1 -1
- package/dist/src/core/session/work-handoff.d.ts +5 -0
- package/dist/src/core/session/work-handoff.d.ts.map +1 -1
- package/dist/src/core/session/work-handoff.js +17 -2
- package/dist/src/core/session/work-handoff.js.map +1 -1
- package/package.json +1 -1
- package/plugins/specweave/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave/defaults/rubric-defaults.md +4 -5
- package/plugins/specweave/skills/do/SKILL.md +3 -3
- package/src/core/schemas/specweave-config.schema.json +31 -46
- package/src/templates/AGENTS.md.template +5 -4
- package/src/templates/CLAUDE.md.template +1 -0
|
@@ -0,0 +1,371 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Opt-in commit of an increment's own bookkeeping files right after the CLI
|
|
3
|
+
* writes them, so specs, ledgers and claims reach other machines with a plain
|
|
4
|
+
* `git pull` instead of drifting as untracked folders.
|
|
5
|
+
*
|
|
6
|
+
* Off unless `.specweave/config.json` sets `git.autoCommitIncrement: true`;
|
|
7
|
+
* `--no-commit` turns it off for one command. Only `spec.md`, `ledger.jsonl`
|
|
8
|
+
* and `metadata.json` at the top of the increment folder (plus `handoff.md`
|
|
9
|
+
* when the repo already tracks it) are committed, through a pathspec
|
|
10
|
+
* (`git commit --only -- <paths>`), so anything else staged in a shared index
|
|
11
|
+
* stays staged and out of the commit. The names are fixed files, so
|
|
12
|
+
* `evidence/` and `reports/` can never match, and ignored files are never
|
|
13
|
+
* added. The repo's hooks run.
|
|
14
|
+
*
|
|
15
|
+
* Every failure is one warning: the ledger write already happened and is the
|
|
16
|
+
* source of truth, and the ledger is cumulative, so the next successful
|
|
17
|
+
* command commits whatever this one missed.
|
|
18
|
+
*
|
|
19
|
+
* `git.autoPushIncrement: true` then pushes the branch to its upstream with a
|
|
20
|
+
* plain (fast-forward only) push, through the upstream's remote as git config
|
|
21
|
+
* has it, so the remote URL (HTTPS or SSH) is whatever the checkout uses. It
|
|
22
|
+
* pushes only to a same-named branch on a real remote, and only when every
|
|
23
|
+
* unpushed commit is one of these auto-commits, so it never publishes other
|
|
24
|
+
* work or lands a feature branch on the branch it was cut from.
|
|
25
|
+
*
|
|
26
|
+
* @module core/increment/auto-commit
|
|
27
|
+
*/
|
|
28
|
+
import { spawnSync } from 'child_process';
|
|
29
|
+
import * as fs from 'fs';
|
|
30
|
+
import * as path from 'path';
|
|
31
|
+
/** Always committed when present. */
|
|
32
|
+
export const AUTO_COMMIT_FILES = ['spec.md', 'ledger.jsonl', 'metadata.json'];
|
|
33
|
+
/** Committed only when the repo already tracks them (handoff docs are often gitignored). */
|
|
34
|
+
export const TRACKED_ONLY_FILES = ['handoff.md'];
|
|
35
|
+
/** Subjects stay under 72 characters. */
|
|
36
|
+
const SUBJECT_LIMIT = 71;
|
|
37
|
+
const COMMIT_TIMEOUT_MS = 120000;
|
|
38
|
+
const PUSH_TIMEOUT_MS = 60000;
|
|
39
|
+
/** `git.autoCommitIncrement` / `git.autoPushIncrement`, both off unless exactly `true`. */
|
|
40
|
+
export function readAutoCommitConfig(projectRoot) {
|
|
41
|
+
try {
|
|
42
|
+
const cfg = JSON.parse(fs.readFileSync(path.join(projectRoot, '.specweave', 'config.json'), 'utf-8'));
|
|
43
|
+
return { commit: cfg.git?.autoCommitIncrement === true, push: cfg.git?.autoPushIncrement === true };
|
|
44
|
+
}
|
|
45
|
+
catch {
|
|
46
|
+
return { commit: false, push: false };
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Subjects {@link autoCommitIncrement} writes, as a POSIX extended regex that
|
|
51
|
+
* `git log -E --grep` and JavaScript read the same way.
|
|
52
|
+
*/
|
|
53
|
+
export const AUTO_COMMIT_SUBJECT_ERE = '^[0-9]{3,}[A-Za-z]?: (((claim|done|skip|block|release) T-[A-Za-z0-9_.-]+(, T-[A-Za-z0-9_.-]+)*( and [0-9]+ more)?)|create increment|handoff)$';
|
|
54
|
+
const ACTION_SUBJECT = new RegExp(AUTO_COMMIT_SUBJECT_ERE);
|
|
55
|
+
/** Is this a subject {@link autoCommitIncrement} writes? */
|
|
56
|
+
export function isAutoCommitSubject(subject) {
|
|
57
|
+
return ACTION_SUBJECT.test(subject.trim());
|
|
58
|
+
}
|
|
59
|
+
/** `1058: done T-02`, `1058: release T-01, T-03`, `1058: create increment`, `1058: handoff`. */
|
|
60
|
+
export function autoCommitSubject(incrementId, action, tasks = []) {
|
|
61
|
+
const num = incrementId.match(/^\d{3,}[A-Za-z]?(?=-|$)/)?.[0] ?? incrementId.replace(/[^\w.-]/g, '').slice(0, 20);
|
|
62
|
+
const head = `${num}: ${action === 'create' ? 'create increment' : action}`;
|
|
63
|
+
const ids = tasks.map((t) => t.replace(/[^\w.-]/g, '')).filter(Boolean);
|
|
64
|
+
if (!ids.length)
|
|
65
|
+
return head;
|
|
66
|
+
for (let shown = ids.length; shown > 0; shown--) {
|
|
67
|
+
const rest = ids.length - shown;
|
|
68
|
+
const subject = `${head} ${ids.slice(0, shown).join(', ')}${rest ? ` and ${rest} more` : ''}`;
|
|
69
|
+
if (subject.length <= SUBJECT_LIMIT)
|
|
70
|
+
return subject;
|
|
71
|
+
}
|
|
72
|
+
return head;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Literal pathspec, so a folder named with `*`, `?` or `[` never matches its
|
|
76
|
+
* neighbours. Per path rather than GIT_LITERAL_PATHSPECS, which the repo's
|
|
77
|
+
* hooks would inherit.
|
|
78
|
+
*/
|
|
79
|
+
const literal = (paths) => paths.map((p) => `:(literal)${p}`);
|
|
80
|
+
/** Inherited pathspec modes would reinterpret the `:(literal)` paths (check-ignore refuses magic). */
|
|
81
|
+
const PATHSPEC_ENV = ['GIT_LITERAL_PATHSPECS', 'GIT_GLOB_PATHSPECS', 'GIT_NOGLOB_PATHSPECS', 'GIT_ICASE_PATHSPECS'];
|
|
82
|
+
function runGit(cwd, args, timeout = COMMIT_TIMEOUT_MS, input) {
|
|
83
|
+
const env = { ...process.env, GIT_TERMINAL_PROMPT: '0', GIT_OPTIONAL_LOCKS: '0' };
|
|
84
|
+
for (const name of PATHSPEC_ENV)
|
|
85
|
+
delete env[name];
|
|
86
|
+
const r = spawnSync('git', args, {
|
|
87
|
+
cwd,
|
|
88
|
+
encoding: 'utf8',
|
|
89
|
+
...(input === undefined ? { stdio: ['ignore', 'pipe', 'pipe'] } : { input, stdio: ['pipe', 'pipe', 'pipe'] }),
|
|
90
|
+
timeout,
|
|
91
|
+
maxBuffer: 16 * 1024 * 1024,
|
|
92
|
+
env,
|
|
93
|
+
});
|
|
94
|
+
if (r.error)
|
|
95
|
+
return { code: -1, out: '', err: r.error.message };
|
|
96
|
+
return { code: r.status ?? -1, out: (r.stdout ?? '').trim(), err: (r.stderr ?? '').trim() };
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Top of the checkout holding `dir` and `dir`'s path inside it, both as Git
|
|
100
|
+
* spells them (symlinks resolved, on-disk letter case), or null outside Git.
|
|
101
|
+
*/
|
|
102
|
+
function gitLocate(dir) {
|
|
103
|
+
const r = runGit(dir, ['rev-parse', '--show-toplevel', '--show-prefix']);
|
|
104
|
+
if (r.code !== 0)
|
|
105
|
+
return null;
|
|
106
|
+
const [top, prefix = ''] = r.out.split('\n');
|
|
107
|
+
return top ? { top, prefix } : null;
|
|
108
|
+
}
|
|
109
|
+
/** Top of the checkout holding `dir`, or null outside Git. */
|
|
110
|
+
export function gitTopFor(dir) {
|
|
111
|
+
return gitLocate(dir)?.top ?? null;
|
|
112
|
+
}
|
|
113
|
+
/** Commit (and optionally push) the increment's own files. Never throws. */
|
|
114
|
+
export function autoCommitIncrement(projectRoot, incDir, req) {
|
|
115
|
+
const cfg = readAutoCommitConfig(projectRoot);
|
|
116
|
+
if (!cfg.commit || req.commit === false)
|
|
117
|
+
return { status: 'off', warnings: [] };
|
|
118
|
+
try {
|
|
119
|
+
return commitIncrementFiles(incDir, req, cfg.push && req.push !== false);
|
|
120
|
+
}
|
|
121
|
+
catch (e) {
|
|
122
|
+
return { status: 'failed', warnings: [`${req.incrementId} files not committed (${e.message}); the ledger is saved`] };
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
function commitIncrementFiles(incDir, req, push) {
|
|
126
|
+
const notCommitted = (status, why) => ({
|
|
127
|
+
status,
|
|
128
|
+
warnings: [`${req.incrementId} files not committed: ${why}; the ledger is saved, commit it later`],
|
|
129
|
+
});
|
|
130
|
+
const located = gitLocate(incDir);
|
|
131
|
+
if (!located)
|
|
132
|
+
return notCommitted('skipped', 'not a git repository');
|
|
133
|
+
const top = located.top;
|
|
134
|
+
const git = (args, timeout, input) => runGit(top, args, timeout, input);
|
|
135
|
+
// A repo mid-operation must not get a commit in the middle of it.
|
|
136
|
+
const markers = [
|
|
137
|
+
['index.lock', 'another git process holds index.lock'],
|
|
138
|
+
['MERGE_HEAD', 'a merge is in progress'],
|
|
139
|
+
['rebase-merge', 'a rebase is in progress'],
|
|
140
|
+
['rebase-apply', 'a rebase or am is in progress'],
|
|
141
|
+
['CHERRY_PICK_HEAD', 'a cherry-pick is in progress'],
|
|
142
|
+
['REVERT_HEAD', 'a revert is in progress'],
|
|
143
|
+
['BISECT_LOG', 'a bisect is in progress'],
|
|
144
|
+
];
|
|
145
|
+
const paths = git(['rev-parse', '--path-format=absolute', ...markers.flatMap(([m]) => ['--git-path', m])]);
|
|
146
|
+
if (paths.code !== 0)
|
|
147
|
+
return notCommitted('skipped', `git rev-parse failed (${firstLine(paths.err)})`);
|
|
148
|
+
const markerPaths = paths.out.split('\n');
|
|
149
|
+
for (let i = 0; i < markers.length; i++) {
|
|
150
|
+
if (markerPaths[i] && fs.existsSync(markerPaths[i]))
|
|
151
|
+
return notCommitted('skipped', markers[i][1]);
|
|
152
|
+
}
|
|
153
|
+
// The full ref: `--short` gives `heads/<name>` when a tag or remote shares the name.
|
|
154
|
+
const head = git(['symbolic-ref', '--quiet', 'HEAD']);
|
|
155
|
+
if (head.code !== 0 || !head.out.startsWith('refs/heads/'))
|
|
156
|
+
return notCommitted('skipped', 'detached HEAD');
|
|
157
|
+
const branch = head.out.slice('refs/heads/'.length);
|
|
158
|
+
if (git(['rev-parse', '--verify', '--quiet', 'HEAD']).code !== 0)
|
|
159
|
+
return notCommitted('skipped', 'no commits yet');
|
|
160
|
+
if (req.callerPushesBranch) {
|
|
161
|
+
const problem = upstreamProblem(git, branch);
|
|
162
|
+
if (problem)
|
|
163
|
+
return notCommitted('skipped', `${problem}, and the handoff push would carry the commit there`);
|
|
164
|
+
}
|
|
165
|
+
// Fixed file names at the top of each increment folder.
|
|
166
|
+
const candidates = [];
|
|
167
|
+
const trackedOnly = [];
|
|
168
|
+
for (const dir of [incDir, ...(req.alsoDirs ?? [])]) {
|
|
169
|
+
// Git names the folder inside the repo, so case and symlinks match its index.
|
|
170
|
+
const at = dir === incDir ? located : gitLocate(dir);
|
|
171
|
+
if (!at || at.top !== top)
|
|
172
|
+
continue;
|
|
173
|
+
const add = (list, name) => {
|
|
174
|
+
const st = fs.lstatSync(path.join(dir, name), { throwIfNoEntry: false });
|
|
175
|
+
if (st?.isFile())
|
|
176
|
+
list.push(`${at.prefix}${name}`);
|
|
177
|
+
};
|
|
178
|
+
for (const name of AUTO_COMMIT_FILES)
|
|
179
|
+
add(candidates, name);
|
|
180
|
+
for (const name of TRACKED_ONLY_FILES)
|
|
181
|
+
add(trackedOnly, name);
|
|
182
|
+
}
|
|
183
|
+
const all = [...candidates, ...trackedOnly];
|
|
184
|
+
if (!all.length)
|
|
185
|
+
return { status: 'nothing', warnings: [] };
|
|
186
|
+
const listed = git(['ls-files', '-z', '--', ...literal(all)]);
|
|
187
|
+
if (listed.code !== 0)
|
|
188
|
+
return notCommitted('failed', `git ls-files failed (${firstLine(listed.err)})`);
|
|
189
|
+
const tracked = new Set(listed.out.split('\0').filter(Boolean));
|
|
190
|
+
const untracked = candidates.filter((p) => !tracked.has(p));
|
|
191
|
+
// check-ignore exits 1 when nothing is ignored, 0 when something is; -z keeps non-ASCII paths unquoted.
|
|
192
|
+
const ignoredRun = untracked.length ? git(['check-ignore', '-z', '--stdin'], undefined, untracked.map((p) => `${p}\0`).join('')) : { code: 1, out: '', err: '' };
|
|
193
|
+
if (ignoredRun.code > 1 || ignoredRun.code < 0)
|
|
194
|
+
return notCommitted('failed', `git check-ignore failed (${firstLine(ignoredRun.err)})`);
|
|
195
|
+
const ignored = new Set(ignoredRun.out.split('\0').filter(Boolean));
|
|
196
|
+
const fresh = untracked.filter((p) => !ignored.has(p));
|
|
197
|
+
const known = all.filter((p) => tracked.has(p));
|
|
198
|
+
// What `--only` commits: the working-tree content of these paths against HEAD.
|
|
199
|
+
const changed = known.length ? git(['diff', '--quiet', 'HEAD', '--', ...literal(known)]).code === 1 : false;
|
|
200
|
+
if (!fresh.length && !changed)
|
|
201
|
+
return { status: 'nothing', warnings: [] };
|
|
202
|
+
const files = [...known, ...fresh];
|
|
203
|
+
if (fresh.length) {
|
|
204
|
+
const added = git(['add', '--', ...literal(fresh)]);
|
|
205
|
+
if (added.code !== 0) {
|
|
206
|
+
const why = `git add failed (${firstLine(added.err)})`;
|
|
207
|
+
return notCommitted('failed', unstage(git, fresh) ? why : `${why}, and ${fresh.join(', ')} may stay staged`);
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
const subject = autoCommitSubject(req.incrementId, req.action, req.tasks);
|
|
211
|
+
const commit = git(['commit', '--only', '--quiet', '-m', subject, '--', ...literal(files)]);
|
|
212
|
+
if (commit.code !== 0) {
|
|
213
|
+
const why = firstLine(commit.err) || firstLine(commit.out) || `exit ${commit.code}`;
|
|
214
|
+
// Leave the index as the command found it; another lane may hold the lock briefly.
|
|
215
|
+
if (fresh.length && !unstage(git, fresh)) {
|
|
216
|
+
return notCommitted('failed', `git commit failed (${why}), and ${fresh.join(', ')} stay staged (git reset failed)`);
|
|
217
|
+
}
|
|
218
|
+
return notCommitted('failed', `git commit failed (${why})`);
|
|
219
|
+
}
|
|
220
|
+
const sha = git(['rev-parse', '--short', 'HEAD']).out || undefined;
|
|
221
|
+
const result = { status: 'committed', sha, subject, files, warnings: [] };
|
|
222
|
+
if (push)
|
|
223
|
+
pushToUpstream(git, branch, result);
|
|
224
|
+
return result;
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* Put the index entries of files `git add` staged back to HEAD, retrying
|
|
228
|
+
* briefly on a held lock. `reset` rather than `rm --cached`: when another lane
|
|
229
|
+
* committed the same file in the meantime, the entry matches HEAD instead of
|
|
230
|
+
* becoming a staged deletion.
|
|
231
|
+
*/
|
|
232
|
+
function unstage(git, files) {
|
|
233
|
+
for (let attempt = 0; attempt < 3; attempt++) {
|
|
234
|
+
if (attempt)
|
|
235
|
+
Atomics.wait(new Int32Array(new SharedArrayBuffer(4)), 0, 0, 200);
|
|
236
|
+
if (git(['reset', '--quiet', '--', ...literal(files)]).code === 0)
|
|
237
|
+
return true;
|
|
238
|
+
}
|
|
239
|
+
return false;
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* Plain push of HEAD to the branch's upstream. Only to a same-named branch on
|
|
243
|
+
* a real remote that is also where git would push, and only when every
|
|
244
|
+
* unpushed commit is an auto-commit; anything else is a warning.
|
|
245
|
+
*/
|
|
246
|
+
function pushToUpstream(git, branch, result) {
|
|
247
|
+
const notPushed = (why) => result.warnings.push(`${result.subject ?? 'increment commit'} not pushed: ${why}`);
|
|
248
|
+
const up = upstreamOf(git, branch);
|
|
249
|
+
if (!up || up.remote === '.') {
|
|
250
|
+
notPushed(`${branch} has no upstream on a remote (set one with \`git push -u\`)`);
|
|
251
|
+
return;
|
|
252
|
+
}
|
|
253
|
+
const mismatch = upstreamProblem(git, branch);
|
|
254
|
+
if (mismatch) {
|
|
255
|
+
notPushed(`${mismatch}; push it yourself`);
|
|
256
|
+
return;
|
|
257
|
+
}
|
|
258
|
+
const pushRemote = git(['config', '--get', `branch.${branch}.pushRemote`]).out || git(['config', '--get', 'remote.pushDefault']).out;
|
|
259
|
+
if (pushRemote && pushRemote !== up.remote) {
|
|
260
|
+
notPushed(`${branch} pushes to ${pushRemote}, not its upstream ${up.remote}; push it yourself`);
|
|
261
|
+
return;
|
|
262
|
+
}
|
|
263
|
+
if (git(['rev-parse', '--verify', '--quiet', '@{u}']).code !== 0) {
|
|
264
|
+
notPushed(`${up.short} has not been fetched; fetch first`);
|
|
265
|
+
return;
|
|
266
|
+
}
|
|
267
|
+
if (git(['merge-base', '--is-ancestor', '@{u}', 'HEAD']).code !== 0) {
|
|
268
|
+
notPushed(`${branch} has diverged from ${up.short}; pull first`);
|
|
269
|
+
return;
|
|
270
|
+
}
|
|
271
|
+
const others = unpushedOthers(git);
|
|
272
|
+
if (others !== 0) {
|
|
273
|
+
notPushed(others > 0
|
|
274
|
+
? `${others} other unpushed commit${others === 1 ? '' : 's'} on ${branch} would go with it; push yourself`
|
|
275
|
+
: 'could not list the unpushed commits');
|
|
276
|
+
return;
|
|
277
|
+
}
|
|
278
|
+
const pushed = git(['push', '--quiet', up.remote, `HEAD:${up.merge}`], PUSH_TIMEOUT_MS);
|
|
279
|
+
if (pushed.code !== 0) {
|
|
280
|
+
notPushed(`git push failed (${firstLine(pushed.err) || `exit ${pushed.code}`})`);
|
|
281
|
+
return;
|
|
282
|
+
}
|
|
283
|
+
result.pushed = up.short;
|
|
284
|
+
}
|
|
285
|
+
/** An increment's bookkeeping file, in `_archive`/`_abandoned`/`_paused` too. */
|
|
286
|
+
const BOOKKEEPING_PATH = /(^|\/)\.specweave\/increments\/(_[a-z]+\/)?[^/]+\/(spec\.md|ledger\.jsonl|metadata\.json|handoff\.md)$/;
|
|
287
|
+
/**
|
|
288
|
+
* Unpushed commits that are not auto-commits, or -1 when they cannot be
|
|
289
|
+
* listed. An auto-commit has an auto subject and touches only increment
|
|
290
|
+
* bookkeeping files, so a code commit titled `0042: done T-02` still counts.
|
|
291
|
+
* `--no-renames` lists a rename's source path too.
|
|
292
|
+
*/
|
|
293
|
+
function unpushedOthers(git) {
|
|
294
|
+
const log = git(['-c', 'core.quotePath=false', '-c', 'log.showSignature=false', 'log', '--no-renames', '--format=%x00%s', '--name-only', '@{u}..HEAD']);
|
|
295
|
+
if (log.code !== 0)
|
|
296
|
+
return -1;
|
|
297
|
+
return log.out.split('\0').slice(1).filter((entry) => {
|
|
298
|
+
const [subject = '', ...rest] = entry.split('\n');
|
|
299
|
+
const files = rest.filter(Boolean);
|
|
300
|
+
return !(isAutoCommitSubject(subject) && files.length && files.every((f) => BOOKKEEPING_PATH.test(f)));
|
|
301
|
+
}).length;
|
|
302
|
+
}
|
|
303
|
+
/**
|
|
304
|
+
* Why `handoff` should hold its branch push: the branch is ahead of a local
|
|
305
|
+
* or differently named upstream by auto-commits alone, so the push would land
|
|
306
|
+
* only this bookkeeping there. Undefined otherwise, including when other
|
|
307
|
+
* commits are unpushed (the branch push is then the user's, as before).
|
|
308
|
+
*/
|
|
309
|
+
export function autoCommitPushHold(dir) {
|
|
310
|
+
const at = gitLocate(dir);
|
|
311
|
+
if (!at)
|
|
312
|
+
return undefined;
|
|
313
|
+
const git = (args) => runGit(at.top, args);
|
|
314
|
+
const head = git(['symbolic-ref', '--quiet', 'HEAD']);
|
|
315
|
+
if (head.code !== 0 || !head.out.startsWith('refs/heads/'))
|
|
316
|
+
return undefined;
|
|
317
|
+
const branch = head.out.slice('refs/heads/'.length);
|
|
318
|
+
const problem = upstreamProblem(git, branch);
|
|
319
|
+
// Without a resolvable `@{u}` the handoff pushes to a same-named branch.
|
|
320
|
+
if (!problem || git(['rev-parse', '--verify', '--quiet', '@{u}']).code !== 0)
|
|
321
|
+
return undefined;
|
|
322
|
+
const ahead = Number(git(['rev-list', '--count', '@{u}..HEAD']).out || '0');
|
|
323
|
+
if (!ahead || unpushedOthers(git) !== 0)
|
|
324
|
+
return undefined;
|
|
325
|
+
return `${problem}, and only increment auto-commits are unpushed; push them yourself`;
|
|
326
|
+
}
|
|
327
|
+
/**
|
|
328
|
+
* The branch's upstream as git resolves `@{u}` (and so `pushHandoff`): the
|
|
329
|
+
* first `merge` value, none when half set. `config --get` would read the last.
|
|
330
|
+
* `tracking` is the remote-tracking ref, empty when no fetch refspec maps it.
|
|
331
|
+
*/
|
|
332
|
+
function upstreamOf(git, branch) {
|
|
333
|
+
const ref = `refs/heads/${branch}`;
|
|
334
|
+
const r = git(['for-each-ref', '--format=%(refname)%00%(upstream:remotename)%00%(upstream:remoteref)%00%(upstream:short)%00%(upstream)', ref]);
|
|
335
|
+
for (const line of r.out.split('\n')) {
|
|
336
|
+
const [name, remote = '', merge = '', short = '', tracking = ''] = line.split('\0');
|
|
337
|
+
if (name === ref)
|
|
338
|
+
return remote && merge ? { remote, merge, short, tracking } : null;
|
|
339
|
+
}
|
|
340
|
+
return null;
|
|
341
|
+
}
|
|
342
|
+
/**
|
|
343
|
+
* Why pushing `branch` to its upstream would land it somewhere else: a local
|
|
344
|
+
* upstream, a differently named branch, or a fetch refspec that files it under
|
|
345
|
+
* another name (`pushHandoff` pushes to the name it reads off `@{u}`).
|
|
346
|
+
* Undefined when it is a same-named branch on a remote, or when there is no
|
|
347
|
+
* upstream at all.
|
|
348
|
+
*/
|
|
349
|
+
function upstreamProblem(git, branch) {
|
|
350
|
+
const up = upstreamOf(git, branch);
|
|
351
|
+
if (!up)
|
|
352
|
+
return undefined;
|
|
353
|
+
if (up.remote === '.')
|
|
354
|
+
return `${branch} tracks the local branch ${up.short}`;
|
|
355
|
+
if (up.merge !== `refs/heads/${branch}`)
|
|
356
|
+
return `${branch} tracks ${up.short}, a different branch`;
|
|
357
|
+
if (up.tracking !== `refs/remotes/${up.remote}/${branch}`) {
|
|
358
|
+
return `${branch}'s upstream is fetched as ${up.short || 'no remote-tracking branch'}, not ${up.remote}/${branch}`;
|
|
359
|
+
}
|
|
360
|
+
return undefined;
|
|
361
|
+
}
|
|
362
|
+
/** One line for the user, or undefined when nothing happened. */
|
|
363
|
+
export function describeAutoCommit(r) {
|
|
364
|
+
if (r.status !== 'committed')
|
|
365
|
+
return undefined;
|
|
366
|
+
return `Committed${r.sha ? ` ${r.sha}` : ''} "${r.subject}"${r.pushed ? `, pushed to ${r.pushed}` : ''}`;
|
|
367
|
+
}
|
|
368
|
+
function firstLine(text) {
|
|
369
|
+
return text.split('\n').map((l) => l.trim()).find(Boolean)?.slice(0, 160) ?? '';
|
|
370
|
+
}
|
|
371
|
+
//# sourceMappingURL=auto-commit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auto-commit.js","sourceRoot":"","sources":["../../../../src/core/increment/auto-commit.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"completion-validator.d.ts","sourceRoot":"","sources":["../../../../src/core/increment/completion-validator.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAMpD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,6EAA6E;IAC7E,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;;;;;GAMG;AACH,qBAAa,4BAA4B;IACvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;WACU,kBAAkB,CAC7B,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAO,GAC7E,OAAO,CAAC,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"completion-validator.d.ts","sourceRoot":"","sources":["../../../../src/core/increment/completion-validator.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAMpD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,6EAA6E;IAC7E,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;;;;;GAMG;AACH,qBAAa,4BAA4B;IACvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;WACU,kBAAkB,CAC7B,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAO,GAC7E,OAAO,CAAC,gBAAgB,CAAC;IA8N5B;;;;;;;;;;;;;;;;OAgBG;WACU,+BAA+B,CAC1C,MAAM,EAAE,GAAG,EACX,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC;IA8DhB;;;;;;;;;;;OAWG;mBACkB,kBAAkB;IAoEvC;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,uBAAuB;IAiDtC;;;;;;;;;;;OAWG;WACU,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAc/D;;;;;;;;;OASG;WACU,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAOrE"}
|
|
@@ -172,30 +172,32 @@ export class IncrementCompletionValidator {
|
|
|
172
172
|
catch {
|
|
173
173
|
// Best-effort: signal emission must never affect closure.
|
|
174
174
|
}
|
|
175
|
-
//
|
|
176
|
-
//
|
|
177
|
-
//
|
|
175
|
+
// Coverage is opt-in: checked only when the user set `testing.coverage.unit`.
|
|
176
|
+
// A metadata.json `coverageTarget` is ignored, since older releases stamped
|
|
177
|
+
// 80 into every increment, and test order never defaults to TDD.
|
|
178
178
|
try {
|
|
179
179
|
const metadataPath = path.join(incrementPath, 'metadata.json');
|
|
180
180
|
if (await fs.pathExists(metadataPath)) {
|
|
181
181
|
const metadataContent = await fs.readFile(metadataPath, 'utf-8');
|
|
182
182
|
const metadata = JSON.parse(metadataContent);
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
let coverageTarget = metadata.coverageTarget ?? 0;
|
|
183
|
+
let coverageTarget = 0;
|
|
184
|
+
let configMode;
|
|
186
185
|
try {
|
|
187
186
|
const configPath = path.join(resolveEffectiveRoot(), '.specweave', 'config.json');
|
|
188
187
|
if (await fs.pathExists(configPath)) {
|
|
189
188
|
const config = JSON.parse(await fs.readFile(configPath, 'utf-8'));
|
|
190
|
-
|
|
189
|
+
// `coverageTargets` is the 1.x name, before migrate-to-2 rewrites it.
|
|
190
|
+
const configTarget = config?.testing?.coverage?.unit ?? config?.testing?.coverageTargets?.unit;
|
|
191
191
|
if (typeof configTarget === 'number') {
|
|
192
192
|
coverageTarget = configTarget;
|
|
193
193
|
}
|
|
194
|
+
configMode = config?.testing?.mode;
|
|
194
195
|
}
|
|
195
196
|
}
|
|
196
197
|
catch {
|
|
197
|
-
// Config read failed —
|
|
198
|
+
// Config read failed — no coverage target
|
|
198
199
|
}
|
|
200
|
+
const testMode = (configMode || metadata.testMode || 'test-after');
|
|
199
201
|
// Only validate if coverage target is set and testMode is not 'none'
|
|
200
202
|
if (coverageTarget > 0 && testMode !== 'none') {
|
|
201
203
|
const coverageResult = await validateCoverage({
|
|
@@ -207,10 +209,7 @@ export class IncrementCompletionValidator {
|
|
|
207
209
|
logger.info(`Coverage validation skipped: ${coverageResult.reason}`);
|
|
208
210
|
}
|
|
209
211
|
else if (!coverageResult.coverageFile && !coverageResult.details) {
|
|
210
|
-
// No coverage data at all is missing evidence, not 0% coverage
|
|
211
|
-
// create-increment writes coverageTarget 80 into every new
|
|
212
|
-
// increment, so a project without coverage tooling would warn
|
|
213
|
-
// "0.0% < 80%" on every close.
|
|
212
|
+
// No coverage data at all is missing evidence, not 0% coverage.
|
|
214
213
|
logger.info(`Coverage validation skipped: ${coverageResult.reason}`);
|
|
215
214
|
}
|
|
216
215
|
else if (!coverageResult.passed) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"completion-validator.js","sourceRoot":"","sources":["../../../../src/core/increment/completion-validator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"completion-validator.js","sourceRoot":"","sources":["../../../../src/core/increment/completion-validator.ts"],"names":[],"mappings":"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"}
|
|
@@ -175,7 +175,7 @@ export declare class MetadataManager {
|
|
|
175
175
|
* - type: non-standard aliases mapped to canonical enum values
|
|
176
176
|
* - created/createdAt: legacy field renamed
|
|
177
177
|
* - externalLinks: ensured to exist (defaults to {})
|
|
178
|
-
* - status/priority
|
|
178
|
+
* - status/priority: sensible defaults applied
|
|
179
179
|
*
|
|
180
180
|
* @returns corrected metadata, whether any correction was made, and warnings
|
|
181
181
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata-manager.d.ts","sourceRoot":"","sources":["../../../../src/core/increment/metadata-manager.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"metadata-manager.d.ts","sourceRoot":"","sources":["../../../../src/core/increment/metadata-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -614,7 +614,7 @@ export class MetadataManager {
|
|
|
614
614
|
* - type: non-standard aliases mapped to canonical enum values
|
|
615
615
|
* - created/createdAt: legacy field renamed
|
|
616
616
|
* - externalLinks: ensured to exist (defaults to {})
|
|
617
|
-
* - status/priority
|
|
617
|
+
* - status/priority: sensible defaults applied
|
|
618
618
|
*
|
|
619
619
|
* @returns corrected metadata, whether any correction was made, and warnings
|
|
620
620
|
*/
|
|
@@ -728,14 +728,8 @@ export class MetadataManager {
|
|
|
728
728
|
metadata.lastActivity = metadata.updated || metadata.created;
|
|
729
729
|
corrected = true;
|
|
730
730
|
}
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
corrected = true;
|
|
734
|
-
}
|
|
735
|
-
if (metadata.coverageTarget === undefined) {
|
|
736
|
-
metadata.coverageTarget = 80;
|
|
737
|
-
corrected = true;
|
|
738
|
-
}
|
|
731
|
+
// No testMode or coverageTarget default: test order and coverage are the
|
|
732
|
+
// user's opt-in (config `testing.mode` / `testing.coverage`), never implied.
|
|
739
733
|
if (!metadata.type) {
|
|
740
734
|
metadata.type = IncrementType.FEATURE;
|
|
741
735
|
warnings.push(`Missing 'type' — defaulted to '${IncrementType.FEATURE}'`);
|