@paths.design/caws-cli 11.1.6 → 11.1.8
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/README.md +1 -1
- package/dist/index.js +55 -58
- package/dist/init/hook-packs/manifest-claude-code.d.ts +1 -1
- package/dist/init/hook-packs/manifest-claude-code.d.ts.map +1 -1
- package/dist/init/hook-packs/manifest-claude-code.js +317 -6
- package/dist/init/hook-packs/manifest-claude-code.js.map +1 -1
- package/dist/init/hook-packs/types.js +1 -1
- package/dist/init/hook-packs/types.js.map +1 -1
- package/dist/shell/binding/resolve-binding.d.ts.map +1 -1
- package/dist/shell/binding/resolve-binding.js +105 -1
- package/dist/shell/binding/resolve-binding.js.map +1 -1
- package/dist/shell/binding/types.d.ts +47 -3
- package/dist/shell/binding/types.d.ts.map +1 -1
- package/dist/shell/command-metadata.d.ts +93 -0
- package/dist/shell/command-metadata.d.ts.map +1 -0
- package/dist/shell/command-metadata.js +687 -0
- package/dist/shell/command-metadata.js.map +1 -0
- package/dist/shell/commands/agents.d.ts +48 -0
- package/dist/shell/commands/agents.d.ts.map +1 -0
- package/dist/shell/commands/agents.js +577 -0
- package/dist/shell/commands/agents.js.map +1 -0
- package/dist/shell/commands/claim.d.ts +16 -0
- package/dist/shell/commands/claim.d.ts.map +1 -1
- package/dist/shell/commands/claim.js +88 -30
- package/dist/shell/commands/claim.js.map +1 -1
- package/dist/shell/commands/events.d.ts +106 -0
- package/dist/shell/commands/events.d.ts.map +1 -0
- package/dist/shell/commands/events.js +510 -0
- package/dist/shell/commands/events.js.map +1 -0
- package/dist/shell/commands/gates.d.ts +2 -2
- package/dist/shell/commands/gates.d.ts.map +1 -1
- package/dist/shell/commands/gates.js +106 -25
- package/dist/shell/commands/gates.js.map +1 -1
- package/dist/shell/commands/init.d.ts.map +1 -1
- package/dist/shell/commands/init.js +26 -0
- package/dist/shell/commands/init.js.map +1 -1
- package/dist/shell/commands/prepush.d.ts +26 -0
- package/dist/shell/commands/prepush.d.ts.map +1 -0
- package/dist/shell/commands/prepush.js +373 -0
- package/dist/shell/commands/prepush.js.map +1 -0
- package/dist/shell/commands/scope.d.ts.map +1 -1
- package/dist/shell/commands/scope.js +31 -1
- package/dist/shell/commands/scope.js.map +1 -1
- package/dist/shell/commands/specs.d.ts +44 -3
- package/dist/shell/commands/specs.d.ts.map +1 -1
- package/dist/shell/commands/specs.js +411 -15
- package/dist/shell/commands/specs.js.map +1 -1
- package/dist/shell/commands/status.d.ts +12 -0
- package/dist/shell/commands/status.d.ts.map +1 -1
- package/dist/shell/commands/status.js +236 -21
- package/dist/shell/commands/status.js.map +1 -1
- package/dist/shell/commands/worktree.d.ts +9 -0
- package/dist/shell/commands/worktree.d.ts.map +1 -1
- package/dist/shell/commands/worktree.js +353 -1
- package/dist/shell/commands/worktree.js.map +1 -1
- package/dist/shell/gates/disposition.d.ts.map +1 -1
- package/dist/shell/gates/disposition.js +43 -2
- package/dist/shell/gates/disposition.js.map +1 -1
- package/dist/shell/index.d.ts +14 -6
- package/dist/shell/index.d.ts.map +1 -1
- package/dist/shell/index.js +32 -1
- package/dist/shell/index.js.map +1 -1
- package/dist/shell/legacy-command-map.js +832 -0
- package/dist/shell/push-range/classify-range.d.ts +99 -0
- package/dist/shell/push-range/classify-range.d.ts.map +1 -0
- package/dist/shell/push-range/classify-range.js +155 -0
- package/dist/shell/push-range/classify-range.js.map +1 -0
- package/dist/shell/push-range/scope-match.d.ts +13 -0
- package/dist/shell/push-range/scope-match.d.ts.map +1 -0
- package/dist/shell/push-range/scope-match.js +53 -0
- package/dist/shell/push-range/scope-match.js.map +1 -0
- package/dist/shell/register.d.ts.map +1 -1
- package/dist/shell/register.js +350 -165
- package/dist/shell/register.js.map +1 -1
- package/dist/shell/registered-command-groups.js +48 -0
- package/dist/shell/render/status.d.ts +7 -1
- package/dist/shell/render/status.d.ts.map +1 -1
- package/dist/shell/render/status.js +72 -0
- package/dist/shell/render/status.js.map +1 -1
- package/dist/shell/rules.d.ts +19 -0
- package/dist/shell/rules.d.ts.map +1 -1
- package/dist/shell/rules.js +27 -0
- package/dist/shell/rules.js.map +1 -1
- package/dist/shell/session/resolve-session.d.ts +29 -1
- package/dist/shell/session/resolve-session.d.ts.map +1 -1
- package/dist/shell/session/resolve-session.js +817 -11
- package/dist/shell/session/resolve-session.js.map +1 -1
- package/dist/shell/session/types.d.ts +127 -1
- package/dist/shell/session/types.d.ts.map +1 -1
- package/dist/shell/session/types.js +10 -4
- package/dist/shell/session/types.js.map +1 -1
- package/dist/store/agents-store.d.ts.map +1 -1
- package/dist/store/agents-store.js +9 -0
- package/dist/store/agents-store.js.map +1 -1
- package/dist/store/apply-patch.d.ts.map +1 -1
- package/dist/store/apply-patch.js +15 -0
- package/dist/store/apply-patch.js.map +1 -1
- package/dist/store/doctor-snapshot.d.ts.map +1 -1
- package/dist/store/doctor-snapshot.js +169 -3
- package/dist/store/doctor-snapshot.js.map +1 -1
- package/dist/store/events-migration.d.ts +207 -0
- package/dist/store/events-migration.d.ts.map +1 -0
- package/dist/store/events-migration.js +358 -0
- package/dist/store/events-migration.js.map +1 -0
- package/dist/store/events-store.d.ts +47 -1
- package/dist/store/events-store.d.ts.map +1 -1
- package/dist/store/events-store.js +278 -0
- package/dist/store/events-store.js.map +1 -1
- package/dist/store/git-autocommit.d.ts +46 -0
- package/dist/store/git-autocommit.d.ts.map +1 -0
- package/dist/store/git-autocommit.js +198 -0
- package/dist/store/git-autocommit.js.map +1 -0
- package/dist/store/git-sparse-checkout.d.ts +25 -0
- package/dist/store/git-sparse-checkout.d.ts.map +1 -0
- package/dist/store/git-sparse-checkout.js +101 -0
- package/dist/store/git-sparse-checkout.js.map +1 -0
- package/dist/store/index.d.ts +6 -1
- package/dist/store/index.d.ts.map +1 -1
- package/dist/store/index.js +16 -1
- package/dist/store/index.js.map +1 -1
- package/dist/store/leases-store.d.ts +89 -0
- package/dist/store/leases-store.d.ts.map +1 -0
- package/dist/store/leases-store.js +427 -0
- package/dist/store/leases-store.js.map +1 -0
- package/dist/store/lifecycle-transaction.d.ts.map +1 -1
- package/dist/store/lifecycle-transaction.js +34 -1
- package/dist/store/lifecycle-transaction.js.map +1 -1
- package/dist/store/rules.d.ts +74 -1
- package/dist/store/rules.d.ts.map +1 -1
- package/dist/store/rules.js +76 -0
- package/dist/store/rules.js.map +1 -1
- package/dist/store/specs-migration.d.ts +128 -0
- package/dist/store/specs-migration.d.ts.map +1 -0
- package/dist/store/specs-migration.js +481 -0
- package/dist/store/specs-migration.js.map +1 -0
- package/dist/store/specs-store.d.ts.map +1 -1
- package/dist/store/specs-store.js +14 -2
- package/dist/store/specs-store.js.map +1 -1
- package/dist/store/specs-writer.d.ts +130 -3
- package/dist/store/specs-writer.d.ts.map +1 -1
- package/dist/store/specs-writer.js +941 -102
- package/dist/store/specs-writer.js.map +1 -1
- package/dist/store/types.d.ts +31 -1
- package/dist/store/types.d.ts.map +1 -1
- package/dist/store/waivers-store.d.ts.map +1 -1
- package/dist/store/waivers-store.js +8 -1
- package/dist/store/waivers-store.js.map +1 -1
- package/dist/store/worktrees-migration.d.ts +141 -0
- package/dist/store/worktrees-migration.d.ts.map +1 -0
- package/dist/store/worktrees-migration.js +356 -0
- package/dist/store/worktrees-migration.js.map +1 -0
- package/dist/store/worktrees-writer.d.ts +28 -0
- package/dist/store/worktrees-writer.d.ts.map +1 -1
- package/dist/store/worktrees-writer.js +147 -13
- package/dist/store/worktrees-writer.js.map +1 -1
- package/package.json +5 -2
- package/templates/hook-packs/claude-code/CLAUDE.md +11 -5
- package/templates/hook-packs/claude-code/agent-heartbeat.sh +131 -0
- package/templates/hook-packs/claude-code/agent-register.sh +62 -0
- package/templates/hook-packs/claude-code/agent-stop.sh +51 -0
- package/templates/hook-packs/claude-code/audit.sh +1 -1
- package/templates/hook-packs/claude-code/block-dangerous.sh +1 -1
- package/templates/hook-packs/claude-code/classify_command.py +1 -1
- package/templates/hook-packs/claude-code/cwd-guard.sh +30 -0
- package/templates/hook-packs/claude-code/dispatch/post_tool_use.sh +15 -4
- package/templates/hook-packs/claude-code/dispatch/pre_tool_use.sh +19 -2
- package/templates/hook-packs/claude-code/dispatch/session_start.sh +6 -2
- package/templates/hook-packs/claude-code/dispatch/stop.sh +7 -2
- package/templates/hook-packs/claude-code/duplicate-export-check.sh +156 -0
- package/templates/hook-packs/claude-code/god-object-check.sh +102 -0
- package/templates/hook-packs/claude-code/guard-strikes.sh +1 -1
- package/templates/hook-packs/claude-code/lib/parse-input.sh +115 -1
- package/templates/hook-packs/claude-code/lib/run-handlers.sh +1 -1
- package/templates/hook-packs/claude-code/loc-delta-check.sh +91 -0
- package/templates/hook-packs/claude-code/naming-check.sh +128 -0
- package/templates/hook-packs/claude-code/plan-transcript-finalize.sh +59 -0
- package/templates/hook-packs/claude-code/plan-transcript-snapshot.sh +86 -0
- package/templates/hook-packs/claude-code/protected-paths.sh +59 -0
- package/templates/hook-packs/claude-code/quiet-merge.sh +68 -0
- package/templates/hook-packs/claude-code/reset-danger-latch.sh +1 -1
- package/templates/hook-packs/claude-code/reset-strikes.sh +1 -1
- package/templates/hook-packs/claude-code/runtime-paths.sh +1 -1
- package/templates/hook-packs/claude-code/scan-secrets.sh +98 -0
- package/templates/hook-packs/claude-code/scope-guard.sh +47 -65
- package/templates/hook-packs/claude-code/session-caws-status.sh +7 -1
- package/templates/hook-packs/claude-code/session-log.sh +1 -1
- package/templates/hook-packs/claude-code/session_log_renderer.py +956 -0
- package/templates/hook-packs/claude-code/shortcut-language-check.sh +147 -0
- package/templates/hook-packs/claude-code/worktree-guard.sh +130 -4
- package/templates/hook-packs/claude-code/worktree-write-guard.sh +133 -18
|
@@ -69,12 +69,15 @@ const fs = __importStar(require("fs"));
|
|
|
69
69
|
const path = __importStar(require("path"));
|
|
70
70
|
const caws_kernel_1 = require("@paths.design/caws-kernel");
|
|
71
71
|
const apply_patch_1 = require("./apply-patch");
|
|
72
|
+
const git_autocommit_1 = require("./git-autocommit");
|
|
73
|
+
const git_sparse_checkout_1 = require("./git-sparse-checkout");
|
|
72
74
|
const specs_writer_1 = require("./specs-writer");
|
|
73
75
|
const specs_store_1 = require("./specs-store");
|
|
74
76
|
Object.defineProperty(exports, "loadSpecs", { enumerable: true, get: function () { return specs_store_1.loadSpecs; } });
|
|
75
77
|
const worktrees_store_1 = require("./worktrees-store");
|
|
76
78
|
const lifecycle_transaction_1 = require("./lifecycle-transaction");
|
|
77
79
|
const lifecycle_lock_1 = require("./lifecycle-lock");
|
|
80
|
+
const resolve_session_1 = require("../shell/session/resolve-session");
|
|
78
81
|
const repo_root_1 = require("./repo-root");
|
|
79
82
|
const rules_1 = require("./rules");
|
|
80
83
|
const yaml_patch_1 = require("./yaml-patch");
|
|
@@ -86,6 +89,49 @@ function specPath(cawsDir, id) {
|
|
|
86
89
|
function worktreePathFor(cawsDir, name) {
|
|
87
90
|
return path.join(cawsDir, 'worktrees', name);
|
|
88
91
|
}
|
|
92
|
+
function registryRelPath(cawsDir, repoRoot) {
|
|
93
|
+
return path.relative(repoRoot, path.join(cawsDir, 'worktrees.json'));
|
|
94
|
+
}
|
|
95
|
+
function specRelPath(cawsDir, specId, repoRoot) {
|
|
96
|
+
return path.relative(repoRoot, specPath(cawsDir, specId));
|
|
97
|
+
}
|
|
98
|
+
function capturePreWriteState(cawsDir, specId) {
|
|
99
|
+
const repoRoot = repoRootFromCawsDir(cawsDir);
|
|
100
|
+
const registryPath = registryRelPath(cawsDir, repoRoot);
|
|
101
|
+
return {
|
|
102
|
+
registryWasDirty: (0, git_autocommit_1.isPathDirty)(repoRoot, registryPath),
|
|
103
|
+
specWasDirty: specId === null
|
|
104
|
+
? false
|
|
105
|
+
: (0, git_autocommit_1.isPathDirty)(repoRoot, specRelPath(cawsDir, specId, repoRoot)),
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
function autoCommitTransition(cawsDir, specId, name, action, preState) {
|
|
109
|
+
const repoRoot = repoRootFromCawsDir(cawsDir);
|
|
110
|
+
const registryPath = registryRelPath(cawsDir, repoRoot);
|
|
111
|
+
const paths = [registryPath];
|
|
112
|
+
if (specId !== null) {
|
|
113
|
+
paths.push(specRelPath(cawsDir, specId, repoRoot));
|
|
114
|
+
}
|
|
115
|
+
const verbForAction = {
|
|
116
|
+
created: 'bind',
|
|
117
|
+
bound: 'bind',
|
|
118
|
+
destroyed: 'destroy',
|
|
119
|
+
merged: 'close',
|
|
120
|
+
};
|
|
121
|
+
const verb = verbForAction[action];
|
|
122
|
+
const specSuffix = specId !== null && (action === 'created' || action === 'bound')
|
|
123
|
+
? ` to ${specId}`
|
|
124
|
+
: '';
|
|
125
|
+
const message = action === 'merged' && specId !== null
|
|
126
|
+
? `chore(caws): close ${specId} post-merge of ${name}`
|
|
127
|
+
: `chore(caws): ${verb} ${name}${specSuffix}`;
|
|
128
|
+
return (0, git_autocommit_1.autoCommit)({
|
|
129
|
+
repoRoot,
|
|
130
|
+
paths,
|
|
131
|
+
message,
|
|
132
|
+
wasDirtyBeforeWrite: preState.registryWasDirty || preState.specWasDirty,
|
|
133
|
+
});
|
|
134
|
+
}
|
|
89
135
|
// ─── Git helpers ─────────────────────────────────────────────────────────
|
|
90
136
|
function runGit(args, cwd) {
|
|
91
137
|
try {
|
|
@@ -194,6 +240,11 @@ function patchSpecClearWorktree(source) {
|
|
|
194
240
|
// ─── createWorktree ──────────────────────────────────────────────────────
|
|
195
241
|
function createWorktree(cawsDir, input) {
|
|
196
242
|
// ─ Pre-flight validation (no git, no file writes) ─
|
|
243
|
+
// CAWS-FIRST-CONTACT-UX-001 Fix 5: capture dirty state BEFORE any
|
|
244
|
+
// writer mutation lands, so the auto-commit step can distinguish
|
|
245
|
+
// "writer made the only change" from "writer's change on top of
|
|
246
|
+
// someone else's uncommitted change".
|
|
247
|
+
const preState = capturePreWriteState(cawsDir, input.specId);
|
|
197
248
|
const nameValidation = validateWorktreeName(input.name);
|
|
198
249
|
if (!nameValidation.ok)
|
|
199
250
|
return nameValidation;
|
|
@@ -226,10 +277,45 @@ function createWorktree(cawsDir, input) {
|
|
|
226
277
|
const branch = input.branch ?? input.name;
|
|
227
278
|
const wtPath = worktreePathFor(cawsDir, input.name);
|
|
228
279
|
// ─ Git operation: outside lifecycle-transaction ─
|
|
229
|
-
|
|
280
|
+
//
|
|
281
|
+
// Three-step sequence enforcing the control-plane-state-authority
|
|
282
|
+
// contract (WORKTREE-SPEC-AUTHORITY-CONTROL-PLANE-001 A1):
|
|
283
|
+
//
|
|
284
|
+
// 1. `git worktree add --no-checkout` — register the linked
|
|
285
|
+
// worktree without materializing any tracked files.
|
|
286
|
+
// 2. `configureWorktreeSparseCheckout(wtPath)` — install non-cone
|
|
287
|
+
// sparse-checkout patterns that include everything EXCEPT
|
|
288
|
+
// `.caws/specs/` so the .caws/specs/ tree is never written
|
|
289
|
+
// to the worktree filesystem.
|
|
290
|
+
// 3. `git checkout` (inside the helper) — materialize the
|
|
291
|
+
// included files.
|
|
292
|
+
//
|
|
293
|
+
// Net effect: the worktree carries the full source tree (so
|
|
294
|
+
// cross-module imports work) but does NOT carry an editable
|
|
295
|
+
// .caws/specs/<id>.yaml — preventing the v10.2 split-brain
|
|
296
|
+
// authority class where authority decisions could read divergent
|
|
297
|
+
// worktree-local copies.
|
|
298
|
+
const gitResult = runGit(['worktree', 'add', '--no-checkout', '-b', branch, wtPath, baseBranch], repoRoot);
|
|
230
299
|
if (!gitResult.ok) {
|
|
231
300
|
return (0, caws_kernel_1.err)((0, repo_root_1.storeDiagnostic)(rules_1.STORE_RULES.LIFECYCLE_PLAN_REJECTED, `git worktree add failed: ${gitResult.reason}`, { subject: input.name, data: { git_stderr: gitResult.reason } }));
|
|
232
301
|
}
|
|
302
|
+
// Configure sparse-checkout to exclude .caws/specs/ from the worktree.
|
|
303
|
+
// Failure here triggers compensation: `git worktree remove --force`
|
|
304
|
+
// tears down the linked worktree (registered by the previous step)
|
|
305
|
+
// and its associated sparse-checkout state under
|
|
306
|
+
// `.git/worktrees/<name>/info/sparse-checkout`. The control-plane
|
|
307
|
+
// .caws/ directory is unchanged.
|
|
308
|
+
const sparseResult = (0, git_sparse_checkout_1.configureWorktreeSparseCheckout)(wtPath);
|
|
309
|
+
if (!sparseResult.ok) {
|
|
310
|
+
rollbackGitWorktree(repoRoot, wtPath);
|
|
311
|
+
return (0, caws_kernel_1.err)((0, repo_root_1.storeDiagnostic)(rules_1.STORE_RULES.LIFECYCLE_PLAN_REJECTED, `git sparse-checkout configuration failed (step: ${sparseResult.step}): ${sparseResult.reason}`, {
|
|
312
|
+
subject: input.name,
|
|
313
|
+
data: {
|
|
314
|
+
git_stderr: sparseResult.reason,
|
|
315
|
+
sparse_checkout_step: sparseResult.step,
|
|
316
|
+
},
|
|
317
|
+
}));
|
|
318
|
+
}
|
|
233
319
|
// ─ Lifecycle transaction: spec.worktree patch + worktrees.json patch
|
|
234
320
|
// + two events. If anything fails, run git worktree remove as
|
|
235
321
|
// compensation. ─
|
|
@@ -299,11 +385,18 @@ function createWorktree(cawsDir, input) {
|
|
|
299
385
|
cause: txnOutcome.value.cause,
|
|
300
386
|
});
|
|
301
387
|
}
|
|
388
|
+
const autoCommitOutcome = autoCommitTransition(cawsDir, input.specId, input.name, 'created', preState);
|
|
302
389
|
return (0, caws_kernel_1.ok)({
|
|
303
390
|
kind: 'success',
|
|
304
391
|
name: input.name,
|
|
305
392
|
action: 'created',
|
|
306
|
-
data: {
|
|
393
|
+
data: {
|
|
394
|
+
branch,
|
|
395
|
+
base_branch: baseBranch,
|
|
396
|
+
path: wtPath,
|
|
397
|
+
spec_id: input.specId,
|
|
398
|
+
audit_commit: autoCommitOutcome,
|
|
399
|
+
},
|
|
307
400
|
});
|
|
308
401
|
}
|
|
309
402
|
function rollbackGitWorktree(repoRoot, wtPath) {
|
|
@@ -351,6 +444,8 @@ function augmentRegistryEntry(cawsDir, name, extra) {
|
|
|
351
444
|
}
|
|
352
445
|
// ─── bindWorktree (repair) ───────────────────────────────────────────────
|
|
353
446
|
function bindWorktreeRepair(cawsDir, input) {
|
|
447
|
+
// CAWS-FIRST-CONTACT-UX-001 Fix 5: capture dirty state for autocommit.
|
|
448
|
+
const preState = capturePreWriteState(cawsDir, input.specId);
|
|
354
449
|
const nameValidation = validateWorktreeName(input.name);
|
|
355
450
|
if (!nameValidation.ok)
|
|
356
451
|
return nameValidation;
|
|
@@ -404,7 +499,13 @@ function bindWorktreeRepair(cawsDir, input) {
|
|
|
404
499
|
if (txnOutcome.value.kind !== 'success') {
|
|
405
500
|
return (0, caws_kernel_1.ok)({ kind: 'partial_failure_recovered', cause: txnOutcome.value.cause });
|
|
406
501
|
}
|
|
407
|
-
|
|
502
|
+
const autoCommitOutcome = autoCommitTransition(cawsDir, input.specId, input.name, 'bound', preState);
|
|
503
|
+
return (0, caws_kernel_1.ok)({
|
|
504
|
+
kind: 'success',
|
|
505
|
+
name: input.name,
|
|
506
|
+
action: 'bound',
|
|
507
|
+
data: { audit_commit: autoCommitOutcome },
|
|
508
|
+
});
|
|
408
509
|
}
|
|
409
510
|
// ─── destroyWorktree ─────────────────────────────────────────────────────
|
|
410
511
|
function destroyWorktree(cawsDir, input) {
|
|
@@ -415,15 +516,26 @@ function destroyWorktree(cawsDir, input) {
|
|
|
415
516
|
if (!(0, caws_kernel_1.isOk)(registry))
|
|
416
517
|
return (0, caws_kernel_1.err)(registry.errors);
|
|
417
518
|
const entry = registry.value[input.name];
|
|
519
|
+
// CAWS-FIRST-CONTACT-UX-001 Fix 5: capture pre-write state once we
|
|
520
|
+
// know the bound spec (entry may have no specId for legacy entries).
|
|
521
|
+
const preStateSpecId = entry !== undefined && entry.specId !== undefined ? entry.specId : null;
|
|
522
|
+
const preState = capturePreWriteState(cawsDir, preStateSpecId);
|
|
418
523
|
if (entry === undefined) {
|
|
419
524
|
return (0, caws_kernel_1.err)((0, repo_root_1.storeDiagnostic)(rules_1.STORE_RULES.LIFECYCLE_PLAN_REJECTED, `Worktree "${input.name}" not found in registry.`, { subject: input.name }));
|
|
420
525
|
}
|
|
421
|
-
// Ownership check:
|
|
422
|
-
//
|
|
423
|
-
//
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
526
|
+
// Ownership check: admit if ANY identity the invoker can speak for
|
|
527
|
+
// matches the registered owner (CAWS-WORKTREE-DESTROY-SESSION-
|
|
528
|
+
// RESOLUTION-001). The candidate set is built by the caller via
|
|
529
|
+
// resolveSessionCandidates() and is INSENSITIVE to cwd, so a destroy
|
|
530
|
+
// issued from canonical after a `claim --takeover` from inside the
|
|
531
|
+
// worktree finds the worktree-keyed capsule among the candidates and
|
|
532
|
+
// succeeds. A genuinely-foreign session has no candidate that matches
|
|
533
|
+
// entry.owner.session_id, so the refusal still fires.
|
|
534
|
+
if (entry.owner !== undefined) {
|
|
535
|
+
const matched = (0, resolve_session_1.admitsOwner)(input.sessionCandidates, entry.owner.session_id);
|
|
536
|
+
if (matched === null) {
|
|
537
|
+
return (0, caws_kernel_1.err)((0, repo_root_1.storeDiagnostic)(rules_1.STORE_RULES.LIFECYCLE_PLAN_REJECTED, `Worktree "${input.name}" is owned by a different session (${entry.owner.session_id}). Run 'caws claim ${input.name} --takeover' first if you need to take ownership.\n\nSession-resolution trace (no candidate matched the registered owner):\n${(0, resolve_session_1.describeCandidateTrace)(input.sessionCandidates)}`, { subject: input.name }));
|
|
538
|
+
}
|
|
427
539
|
}
|
|
428
540
|
// Dirty-tree check.
|
|
429
541
|
const wtPath = entry.path ?? worktreePathFor(cawsDir, input.name);
|
|
@@ -492,11 +604,15 @@ function destroyWorktree(cawsDir, input) {
|
|
|
492
604
|
if (txnOutcome.value.kind !== 'success') {
|
|
493
605
|
return (0, caws_kernel_1.ok)({ kind: 'partial_failure_recovered', cause: txnOutcome.value.cause });
|
|
494
606
|
}
|
|
607
|
+
const autoCommitOutcome = autoCommitTransition(cawsDir, preStateSpecId, input.name, 'destroyed', preState);
|
|
495
608
|
return (0, caws_kernel_1.ok)({
|
|
496
609
|
kind: 'success',
|
|
497
610
|
name: input.name,
|
|
498
611
|
action: 'destroyed',
|
|
499
|
-
data: {
|
|
612
|
+
data: {
|
|
613
|
+
removed_git_worktree: removedGitWorktree,
|
|
614
|
+
audit_commit: autoCommitOutcome,
|
|
615
|
+
},
|
|
500
616
|
});
|
|
501
617
|
}
|
|
502
618
|
// ─── mergeWorktree ───────────────────────────────────────────────────────
|
|
@@ -508,13 +624,24 @@ function mergeWorktree(cawsDir, input) {
|
|
|
508
624
|
if (!(0, caws_kernel_1.isOk)(registry))
|
|
509
625
|
return (0, caws_kernel_1.err)(registry.errors);
|
|
510
626
|
const entry = registry.value[input.name];
|
|
627
|
+
// CAWS-FIRST-CONTACT-UX-001 Fix 5: capture pre-write state for the
|
|
628
|
+
// post-merge auto-commit step.
|
|
629
|
+
const preStateSpecId = entry !== undefined && entry.specId !== undefined ? entry.specId : null;
|
|
630
|
+
const preState = capturePreWriteState(cawsDir, preStateSpecId);
|
|
511
631
|
if (entry === undefined) {
|
|
512
632
|
return (0, caws_kernel_1.err)((0, repo_root_1.storeDiagnostic)(rules_1.STORE_RULES.LIFECYCLE_PLAN_REJECTED, `Worktree "${input.name}" not found in registry.`, { subject: input.name }));
|
|
513
633
|
}
|
|
514
634
|
// Validate prerequisites.
|
|
515
635
|
const findings = [];
|
|
516
|
-
|
|
517
|
-
|
|
636
|
+
// Ownership: same multi-candidate admission semantic as destroyWorktree.
|
|
637
|
+
// Merge is structurally an ownership-comparison surface — the invoker
|
|
638
|
+
// must be the registered owner. See CAWS-WORKTREE-DESTROY-SESSION-
|
|
639
|
+
// RESOLUTION-001 closure_notes Option E for the why.
|
|
640
|
+
if (entry.owner !== undefined) {
|
|
641
|
+
const matched = (0, resolve_session_1.admitsOwner)(input.sessionCandidates, entry.owner.session_id);
|
|
642
|
+
if (matched === null) {
|
|
643
|
+
findings.push(`worktree is owned by a different session (${entry.owner.session_id})`);
|
|
644
|
+
}
|
|
518
645
|
}
|
|
519
646
|
const wtPath = entry.path ?? worktreePathFor(cawsDir, input.name);
|
|
520
647
|
if (fs.existsSync(wtPath) && !isWorkingTreeClean(wtPath)) {
|
|
@@ -648,6 +775,7 @@ function mergeWorktree(cawsDir, input) {
|
|
|
648
775
|
const destroyResult = destroyWorktree(cawsDir, {
|
|
649
776
|
name: input.name,
|
|
650
777
|
session: input.session,
|
|
778
|
+
sessionCandidates: input.sessionCandidates,
|
|
651
779
|
actor: input.actor,
|
|
652
780
|
now: sharedNowFactory,
|
|
653
781
|
});
|
|
@@ -662,11 +790,17 @@ function mergeWorktree(cawsDir, input) {
|
|
|
662
790
|
},
|
|
663
791
|
}));
|
|
664
792
|
}
|
|
793
|
+
const autoCommitOutcome = autoCommitTransition(cawsDir, preStateSpecId, input.name, 'merged', preState);
|
|
665
794
|
return (0, caws_kernel_1.ok)({
|
|
666
795
|
kind: 'success',
|
|
667
796
|
name: input.name,
|
|
668
797
|
action: 'merged',
|
|
669
|
-
data: {
|
|
798
|
+
data: {
|
|
799
|
+
merge_commit: mergeCommit,
|
|
800
|
+
spec_id: specId,
|
|
801
|
+
auto_closed_spec: true,
|
|
802
|
+
audit_commit: autoCommitOutcome,
|
|
803
|
+
},
|
|
670
804
|
});
|
|
671
805
|
}
|
|
672
806
|
function listWorktreesPretty(cawsDir) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worktrees-writer.js","sourceRoot":"","sources":["../../src/store/worktrees-writer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"worktrees-writer.js","sourceRoot":"","sources":["../../src/store/worktrees-writer.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@paths.design/caws-cli",
|
|
3
|
-
"version": "11.1.
|
|
3
|
+
"version": "11.1.8",
|
|
4
4
|
"description": "CAWS CLI - the governed core for CAWS project state, scope, claims, gates, waivers, and evidence (v11.1). Restores canonical spec/worktree lifecycle on the vNext kernel/store/shell architecture.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"bin": {
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
"access": "public"
|
|
59
59
|
},
|
|
60
60
|
"dependencies": {
|
|
61
|
-
"@paths.design/caws-kernel": "^1.
|
|
61
|
+
"@paths.design/caws-kernel": "^1.1.4",
|
|
62
62
|
"@paths.design/quality-gates": "^2.0.0",
|
|
63
63
|
"ajv": "8.17.1",
|
|
64
64
|
"chalk": "4.1.2",
|
|
@@ -75,6 +75,9 @@
|
|
|
75
75
|
"@semantic-release/exec": "7.1.0",
|
|
76
76
|
"@semantic-release/git": "10.0.1",
|
|
77
77
|
"@semantic-release/npm": "12.0.2",
|
|
78
|
+
"@stryker-mutator/core": "^9.6.1",
|
|
79
|
+
"@stryker-mutator/jest-runner": "^9.6.1",
|
|
80
|
+
"@stryker-mutator/typescript-checker": "^9.6.1",
|
|
78
81
|
"@types/fs-extra": "^11.0.0",
|
|
79
82
|
"@types/inquirer": "^8.2.6",
|
|
80
83
|
"@types/js-yaml": "^4.0.0",
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
<!--
|
|
2
2
|
# CAWS-MANAGED-HOOK
|
|
3
3
|
# hook_pack: claude-code
|
|
4
|
-
# hook_pack_version:
|
|
4
|
+
# hook_pack_version: 11
|
|
5
5
|
# caws_min_major: 11
|
|
6
|
-
# lineage_refs: 1,4,6,8,11,12,13,16,17
|
|
6
|
+
# lineage_refs: 1,4,6,8,11,12,13,16,17,19,20
|
|
7
7
|
# do_not_edit_directly: update via `caws init --agent-surface claude-code`
|
|
8
8
|
-->
|
|
9
9
|
|
|
@@ -20,7 +20,7 @@ call).
|
|
|
20
20
|
|
|
21
21
|
This pack is not optional scaffolding. Every script under
|
|
22
22
|
`.claude/hooks/` traces to a specific entry in
|
|
23
|
-
`
|
|
23
|
+
`docs/failure-lineage.md`. Modifying or removing
|
|
24
24
|
a hook requires:
|
|
25
25
|
|
|
26
26
|
1. Naming the lineage entry the hook covers.
|
|
@@ -36,8 +36,8 @@ is wrong, stop and ask the user.
|
|
|
36
36
|
| File | Lineage entries | What it prevents |
|
|
37
37
|
|------|----------------|------------------|
|
|
38
38
|
| `block-dangerous.sh` + `classify_command.py` | 1, 17 | catastrophic git operations; tokenized-argv bypasses; danger latch |
|
|
39
|
-
| `worktree-guard.sh` | 4, 6, 11 | amend/stash/reset/force-push during active worktrees; cross-boundary file copies |
|
|
40
|
-
| `worktree-write-guard.sh` | 4, 8, 13 | base-branch writes when worktrees are active (enforcement returns in CLI-WORKTREE-001); baseline-clobber |
|
|
39
|
+
| `worktree-guard.sh` | 4, 6, 11, 19, 20 | amend/stash/reset/force-push during active worktrees; cross-boundary file copies; **canonical-checkout mutating git commands (checkout/switch/branch -f/reset non-hard) blocked when worktrees active** (CANONICAL-CHECKOUT-WORKTREE-GUARD-001); **agent-Bash `git sparse-checkout` (any subcommand) refused with canonical-spec-materialization wording pointing to `caws worktree repair-sparse <name>`** (WORKTREE-SPEC-CANONICAL-ACCESS-GUARD-001 A3) |
|
|
40
|
+
| `worktree-write-guard.sh` | 4, 8, 13, 20 | base-branch writes when worktrees are active (enforcement returns in CLI-WORKTREE-001); baseline-clobber; **Read/Write/Edit refusal against `<linked-worktree>/.caws/specs/*` to prevent canonical spec authority from being materialized as a divergent private copy inside a worktree, before the broad `.caws/*` allowlist can exit 0** (WORKTREE-SPEC-CANONICAL-ACCESS-GUARD-001 A1/A2, contract `canonical-spec-authority-materialization-guard-v1`) |
|
|
41
41
|
| `scope-guard.sh` | 8, 11, 12, 16 | edits outside the active spec's `scope.in`; cross-spec union interference; unbound → no authority |
|
|
42
42
|
| `session-caws-status.sh` | 4, 11 | inherited-dirty-state collision; foreign-claim soft-block; version-skew |
|
|
43
43
|
| `reset-strikes.sh` | 8, 16 | human-authorized strike reset (escape hatch, not auto-resettable) |
|
|
@@ -47,6 +47,12 @@ is wrong, stop and ask the user.
|
|
|
47
47
|
| `session-log.sh` | 10 | per-turn narrative + structured transcripts |
|
|
48
48
|
| `dispatch/*` | 8, 11, 17 | wires Claude Code's lifecycle to the registered handler list |
|
|
49
49
|
| `lib/*` | 8, 16 | shared input parsing and handler runner |
|
|
50
|
+
| `god-object-check.sh` | 28 | advisory: flags a written/edited file whose SLOC exceeds `CAWS_GOD_OBJECT_LOC` (default 2000). Edit-time analogue of the `god_object` gate. Always exit 0. |
|
|
51
|
+
| `shortcut-language-check.sh` | 29 | progressive: flags TODO/FIXME/XXX/placeholder/"not implemented" stub language in NON-test source; escalates warn→ask→block via guard-strikes. Edit-time analogue of the `todo_detection` gate. |
|
|
52
|
+
| `duplicate-export-check.sh` | 30 | advisory: on Write of a new JS/TS file, flags an exported symbol whose exact name already exists in the enclosing package src tree (generic-name allowlist). Always exit 0. |
|
|
53
|
+
| `loc-delta-check.sh` | 31 | advisory: on Edit, flags an added-line delta over `CAWS_LOC_DELTA_WARN_THRESHOLD` (default 300) via the new_string/old_string payload diff. Always exit 0. |
|
|
54
|
+
|
|
55
|
+
The four `*-check.sh` hooks above are the **edit-time advisory quality plane** (QG-HOOKS-EXTRACT-001). They reimplement the load-bearing quality-gates detection *intent* in self-contained bash; they do NOT import, shell out to, or runtime-couple with `packages/quality-gates`, and they do NOT change `caws gates run`. `caws gates run` remains the governed policy-gate runner; these hooks are installed utilities the repo tunes via env (option-C doctrine). See `docs/guides/hook-packs.md` for operator usage.
|
|
50
56
|
|
|
51
57
|
## v11 state-model awareness
|
|
52
58
|
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# CAWS-MANAGED-HOOK
|
|
3
|
+
# hook_pack: claude-code
|
|
4
|
+
# hook_pack_version: 11
|
|
5
|
+
# caws_min_major: 11
|
|
6
|
+
# lineage_refs: 19
|
|
7
|
+
# do_not_edit_directly: update via `caws init --agent-surface claude-code`
|
|
8
|
+
#
|
|
9
|
+
# PreToolUse handler — heartbeats the current session's lease and surfaces
|
|
10
|
+
# parallel-agent presence to the calling agent
|
|
11
|
+
# (MULTI-AGENT-ACTIVITY-REGISTRY-001).
|
|
12
|
+
#
|
|
13
|
+
# Sourcing: invoked by dispatch/pre_tool_use.sh (FIRST in the handler
|
|
14
|
+
# list) after parse-input.sh has populated HOOK_SESSION_ID. The dispatcher
|
|
15
|
+
# runs with --short-circuit-on-block; this handler must never block.
|
|
16
|
+
#
|
|
17
|
+
# Behavior:
|
|
18
|
+
# - Refuses on empty/unknown HOOK_SESSION_ID.
|
|
19
|
+
# - Invokes `caws agents heartbeat --session-id <id> --platform claude-code
|
|
20
|
+
# --throttle 30000 --reason pre_tool_use --json --include-active-summary`.
|
|
21
|
+
# - Parses CAWS-native JSON. When active_agent_count > 1, wraps the
|
|
22
|
+
# active_agents list into Claude Code's hookSpecificOutput.
|
|
23
|
+
# additionalContext envelope and emits it on stdout. When the count
|
|
24
|
+
# is 1 (self only), emits nothing — silent in the common case.
|
|
25
|
+
# - Throttled invocations still return an active_agents summary, so
|
|
26
|
+
# parallel-presence surfacing fires every tool call even when the
|
|
27
|
+
# write was skipped.
|
|
28
|
+
#
|
|
29
|
+
# IO BOUNDARY: this script is the ONLY surface that emits Claude Code's
|
|
30
|
+
# hookSpecificOutput.additionalContext envelope for lease state. The CLI
|
|
31
|
+
# emits CAWS-native JSON only. A Cursor or terminal integration would
|
|
32
|
+
# rewrite this script to emit its own protocol-specific output while
|
|
33
|
+
# reusing the same `caws agents heartbeat --json --include-active-summary`
|
|
34
|
+
# command verbatim.
|
|
35
|
+
#
|
|
36
|
+
# RUNTIME DEPENDENCIES: bash + node. node is already required by the CAWS
|
|
37
|
+
# CLI itself (which is a Node binary), so depending on it here adds no new
|
|
38
|
+
# runtime surface area. We do NOT depend on jq — jq is not guaranteed
|
|
39
|
+
# present on every install target (it is absent from many container base
|
|
40
|
+
# images and minimal CI runners), and a missing jq would silently drop
|
|
41
|
+
# every parallel-agent notice. The product goal is "agents see each
|
|
42
|
+
# other": that visibility cannot depend on a shell utility outside the
|
|
43
|
+
# CAWS toolchain.
|
|
44
|
+
#
|
|
45
|
+
# FAIL-CLOSED-NON-BLOCKING: if the CLI is absent, fails, or returns
|
|
46
|
+
# malformed JSON, this hook exits 0 silently. Heartbeat is observability
|
|
47
|
+
# and parallel-agent surfacing; a failure must never block the tool call.
|
|
48
|
+
|
|
49
|
+
set -uo pipefail
|
|
50
|
+
|
|
51
|
+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
52
|
+
|
|
53
|
+
# shellcheck source=lib/parse-input.sh
|
|
54
|
+
source "$SCRIPT_DIR/lib/parse-input.sh" 2>/dev/null || exit 0
|
|
55
|
+
parse_hook_input || exit 0
|
|
56
|
+
|
|
57
|
+
if [[ -z "${HOOK_SESSION_ID:-}" || "$HOOK_SESSION_ID" == "unknown" ]]; then
|
|
58
|
+
exit 0
|
|
59
|
+
fi
|
|
60
|
+
|
|
61
|
+
CAWS_BIN="${CAWS_BIN:-caws}"
|
|
62
|
+
if ! command -v "$CAWS_BIN" >/dev/null 2>&1; then
|
|
63
|
+
exit 0
|
|
64
|
+
fi
|
|
65
|
+
|
|
66
|
+
# Capture both stdout (JSON) and stderr (diagnostics). On any CLI error,
|
|
67
|
+
# fall through to silent exit.
|
|
68
|
+
CLI_OUT="$(
|
|
69
|
+
"$CAWS_BIN" agents heartbeat \
|
|
70
|
+
--session-id "$HOOK_SESSION_ID" \
|
|
71
|
+
--platform claude-code \
|
|
72
|
+
--throttle 30000 \
|
|
73
|
+
--reason pre_tool_use \
|
|
74
|
+
--json \
|
|
75
|
+
--include-active-summary \
|
|
76
|
+
2>/dev/null
|
|
77
|
+
)" || exit 0
|
|
78
|
+
|
|
79
|
+
if [[ -z "$CLI_OUT" ]]; then
|
|
80
|
+
exit 0
|
|
81
|
+
fi
|
|
82
|
+
|
|
83
|
+
# Parse the CAWS-native JSON and, when active_agent_count > 1, compose
|
|
84
|
+
# Claude Code's hookSpecificOutput.additionalContext envelope. A single
|
|
85
|
+
# node invocation does the whole pipeline: parse → filter peers → format
|
|
86
|
+
# bullet list → wrap envelope → emit. Malformed input, parse errors, or
|
|
87
|
+
# any thrown exception fall through to silent exit (fail-closed-non-
|
|
88
|
+
# blocking). Node is already a hard CAWS dependency — the CLI binary
|
|
89
|
+
# IS node — so this adds no new runtime surface vs. jq.
|
|
90
|
+
printf '%s' "$CLI_OUT" | node -e '
|
|
91
|
+
let raw = "";
|
|
92
|
+
process.stdin.setEncoding("utf8");
|
|
93
|
+
process.stdin.on("data", (chunk) => { raw += chunk; });
|
|
94
|
+
process.stdin.on("end", () => {
|
|
95
|
+
let parsed;
|
|
96
|
+
try { parsed = JSON.parse(raw); } catch { process.exit(0); }
|
|
97
|
+
const count = Number(parsed && parsed.active_agent_count);
|
|
98
|
+
if (!Number.isFinite(count) || count <= 1) process.exit(0);
|
|
99
|
+
const agents = Array.isArray(parsed.active_agents) ? parsed.active_agents : [];
|
|
100
|
+
const peers = agents.filter((a) => a && a.is_self !== true);
|
|
101
|
+
if (peers.length === 0) process.exit(0);
|
|
102
|
+
const bullets = peers.map((a) => {
|
|
103
|
+
const worktree = a.bound_worktree || "no worktree";
|
|
104
|
+
const spec = a.bound_spec_id ? " — spec " + a.bound_spec_id : "";
|
|
105
|
+
const kind = a.git_dir_kind || "unknown";
|
|
106
|
+
const branch = a.branch || "-";
|
|
107
|
+
const ageMs = Number(a.last_active_age_ms);
|
|
108
|
+
const ageSec = Number.isFinite(ageMs) ? Math.floor(ageMs / 1000) : 0;
|
|
109
|
+
return "• " + (a.session_id || "<unknown>") +
|
|
110
|
+
" (" + worktree + ")" + spec +
|
|
111
|
+
" — git_dir_kind=" + kind +
|
|
112
|
+
" — branch=" + branch +
|
|
113
|
+
" — last active " + ageSec + "s ago";
|
|
114
|
+
}).join("\n");
|
|
115
|
+
const ctx = "MULTI-AGENT NOTICE: " + count +
|
|
116
|
+
" agents active in this repo (including this session). Other active sessions:\n" +
|
|
117
|
+
bullets + "\n\n" +
|
|
118
|
+
"Coordinate via '\''caws agents list'\'' and '\''caws status'\'' before " +
|
|
119
|
+
"mutating shared state. Authority remains in .caws/worktrees.json " +
|
|
120
|
+
"(ownership) and .caws/specs/<id>.yaml (scope) — leases are " +
|
|
121
|
+
"visibility only.";
|
|
122
|
+
process.stdout.write(JSON.stringify({
|
|
123
|
+
hookSpecificOutput: {
|
|
124
|
+
hookEventName: "PreToolUse",
|
|
125
|
+
additionalContext: ctx,
|
|
126
|
+
},
|
|
127
|
+
}));
|
|
128
|
+
});
|
|
129
|
+
' 2>/dev/null || exit 0
|
|
130
|
+
|
|
131
|
+
exit 0
|