@slope-dev/slope 1.19.1 → 1.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/dist/cli/commands/guard.d.ts.map +1 -1
  2. package/dist/cli/commands/guard.js +38 -11
  3. package/dist/cli/commands/guard.js.map +1 -1
  4. package/dist/cli/commands/review.d.ts.map +1 -1
  5. package/dist/cli/commands/review.js +3 -0
  6. package/dist/cli/commands/review.js.map +1 -1
  7. package/dist/cli/commands/sprint.d.ts +2 -0
  8. package/dist/cli/commands/sprint.d.ts.map +1 -0
  9. package/dist/cli/commands/sprint.js +96 -0
  10. package/dist/cli/commands/sprint.js.map +1 -0
  11. package/dist/cli/commands/validate.d.ts.map +1 -1
  12. package/dist/cli/commands/validate.js +7 -1
  13. package/dist/cli/commands/validate.js.map +1 -1
  14. package/dist/cli/guards/compaction.d.ts.map +1 -1
  15. package/dist/cli/guards/compaction.js +27 -1
  16. package/dist/cli/guards/compaction.js.map +1 -1
  17. package/dist/cli/guards/next-action.d.ts.map +1 -1
  18. package/dist/cli/guards/next-action.js +15 -0
  19. package/dist/cli/guards/next-action.js.map +1 -1
  20. package/dist/cli/guards/review-tier.d.ts.map +1 -1
  21. package/dist/cli/guards/review-tier.js +25 -2
  22. package/dist/cli/guards/review-tier.js.map +1 -1
  23. package/dist/cli/guards/sprint-completion.d.ts +11 -0
  24. package/dist/cli/guards/sprint-completion.d.ts.map +1 -0
  25. package/dist/cli/guards/sprint-completion.js +151 -0
  26. package/dist/cli/guards/sprint-completion.js.map +1 -0
  27. package/dist/cli/guards/workflow-gate.d.ts.map +1 -1
  28. package/dist/cli/guards/workflow-gate.js +18 -3
  29. package/dist/cli/guards/workflow-gate.js.map +1 -1
  30. package/dist/cli/guards/worktree-merge.d.ts +10 -0
  31. package/dist/cli/guards/worktree-merge.d.ts.map +1 -0
  32. package/dist/cli/guards/worktree-merge.js +45 -0
  33. package/dist/cli/guards/worktree-merge.js.map +1 -0
  34. package/dist/cli/index.js +8 -0
  35. package/dist/cli/index.js.map +1 -1
  36. package/dist/cli/registry.d.ts.map +1 -1
  37. package/dist/cli/registry.js +1 -0
  38. package/dist/cli/registry.js.map +1 -1
  39. package/dist/cli/sprint-state.d.ts +27 -0
  40. package/dist/cli/sprint-state.d.ts.map +1 -0
  41. package/dist/cli/sprint-state.js +88 -0
  42. package/dist/cli/sprint-state.js.map +1 -0
  43. package/dist/core/guard.d.ts +1 -1
  44. package/dist/core/guard.d.ts.map +1 -1
  45. package/dist/core/guard.js +30 -0
  46. package/dist/core/guard.js.map +1 -1
  47. package/package.json +1 -1
@@ -0,0 +1,151 @@
1
+ import { execSync } from 'node:child_process';
2
+ import { loadSprintState, saveSprintState, updateGate, isSprintComplete, pendingGates } from '../sprint-state.js';
3
+ /**
4
+ * Sprint-completion guard: enforces post-implementation gates.
5
+ *
6
+ * Single handler, three hook points (branches on hook_event_name):
7
+ * - PreToolUse:Bash — blocks `gh pr create` if gates incomplete
8
+ * - Stop — blocks session end if mid-sprint with incomplete gates
9
+ * - PostToolUse:Bash — auto-detects test pass and marks gate
10
+ */
11
+ export async function sprintCompletionGuard(input, cwd) {
12
+ const event = input.hook_event_name;
13
+ if (event === 'PreToolUse') {
14
+ return handlePreToolUse(input, cwd);
15
+ }
16
+ if (event === 'Stop') {
17
+ return handleStop(cwd);
18
+ }
19
+ if (event === 'PostToolUse') {
20
+ return handlePostToolUse(input, cwd);
21
+ }
22
+ return {};
23
+ }
24
+ /** Check if sprint-state matches the current branch. Returns a warning string or null. */
25
+ function checkStaleness(sprint, cwd) {
26
+ try {
27
+ const branch = execSync('git rev-parse --abbrev-ref HEAD', { cwd, encoding: 'utf8' }).trim();
28
+ // Match patterns like S22, s22, sprint-22, worktree-s22-*
29
+ const branchMatch = branch.match(/(?:^|[-/])s(?:print-?)?(\d+)/i);
30
+ if (branchMatch) {
31
+ const branchSprint = parseInt(branchMatch[1], 10);
32
+ if (branchSprint !== sprint) {
33
+ return `Warning: sprint-state is for Sprint ${sprint} but branch "${branch}" suggests Sprint ${branchSprint}. Run \`slope sprint reset\` if stale.`;
34
+ }
35
+ }
36
+ // No sprint number in branch name — can't verify, don't warn
37
+ }
38
+ catch {
39
+ // git not available — skip check
40
+ }
41
+ return null;
42
+ }
43
+ /** Block `gh pr create` when gates are incomplete. */
44
+ function handlePreToolUse(input, cwd) {
45
+ const command = input.tool_input?.command;
46
+ if (!command || !command.includes('gh pr create'))
47
+ return {};
48
+ const state = loadSprintState(cwd);
49
+ if (!state)
50
+ return {};
51
+ if (state.phase === 'complete' || isSprintComplete(state))
52
+ return {};
53
+ const staleWarning = checkStaleness(state.sprint, cwd);
54
+ const pending = pendingGates(state);
55
+ const lines = [
56
+ `SLOPE sprint-completion: Cannot create PR — Sprint ${state.sprint} has incomplete gates:`,
57
+ ...pending.map(g => ` - ${g}`),
58
+ '',
59
+ 'Complete these gates before creating the PR.',
60
+ ];
61
+ if (staleWarning)
62
+ lines.push('', staleWarning);
63
+ return {
64
+ decision: 'deny',
65
+ blockReason: lines.join('\n'),
66
+ };
67
+ }
68
+ /** Block session end when mid-sprint with incomplete gates. */
69
+ function handleStop(cwd) {
70
+ const state = loadSprintState(cwd);
71
+ if (!state)
72
+ return {};
73
+ if (state.phase === 'complete' || isSprintComplete(state))
74
+ return {};
75
+ // Only block during implementing/scoring phases — don't block during planning/reviewing
76
+ if (state.phase !== 'implementing' && state.phase !== 'scoring')
77
+ return {};
78
+ const staleWarning = checkStaleness(state.sprint, cwd);
79
+ const pending = pendingGates(state);
80
+ const lines = [
81
+ `SLOPE sprint-completion: Sprint ${state.sprint} is incomplete. Remaining gates:`,
82
+ ...pending.map(g => ` - ${g}`),
83
+ '',
84
+ 'Complete these before ending the session:',
85
+ ' - `slope sprint gate tests` — mark tests passing',
86
+ ' - `slope sprint gate code_review` — mark code review done',
87
+ ' - `slope sprint gate architect_review` — mark architect review done',
88
+ ' - `slope validate` — validates scorecard (auto-marks gate)',
89
+ ' - `slope review` — generates review markdown (auto-marks gate)',
90
+ '',
91
+ 'Or use `slope sprint reset` to clear sprint state if this sprint was abandoned.',
92
+ ];
93
+ if (staleWarning)
94
+ lines.push('', staleWarning);
95
+ return { blockReason: lines.join('\n') };
96
+ }
97
+ /** Auto-detect test pass and PR merge from Bash output. */
98
+ function handlePostToolUse(input, cwd) {
99
+ const command = input.tool_input?.command;
100
+ if (!command)
101
+ return {};
102
+ // Detect PR merge → transition to scoring phase
103
+ if (/gh\s+pr\s+merge/.test(command)) {
104
+ return handlePrMerge(input, cwd);
105
+ }
106
+ // Check if command looks like a test runner
107
+ const isTestCommand = /\b(jest|vitest|bun\s+test|npx\s+jest|npx\s+vitest)\b/.test(command);
108
+ if (!isTestCommand)
109
+ return {};
110
+ const state = loadSprintState(cwd);
111
+ if (!state)
112
+ return {};
113
+ if (state.gates.tests)
114
+ return {}; // Already marked
115
+ // Check exit code — tool_response for Bash includes exit_code or stdout
116
+ const response = input.tool_response ?? {};
117
+ const exitCode = response.exit_code ?? response.exitCode;
118
+ // If exit code is explicitly 0, or if stdout contains pass indicators without failures
119
+ if (exitCode === 0 || exitCode === '0') {
120
+ updateGate(cwd, 'tests', true);
121
+ return { context: 'SLOPE: Tests passed — gate marked complete.' };
122
+ }
123
+ return {};
124
+ }
125
+ /** Transition sprint to scoring phase after PR merge. */
126
+ function handlePrMerge(input, cwd) {
127
+ const state = loadSprintState(cwd);
128
+ if (!state)
129
+ return {};
130
+ if (state.phase === 'scoring' || state.phase === 'complete')
131
+ return {};
132
+ // Check merge succeeded (exit code 0)
133
+ const response = input.tool_response ?? {};
134
+ const exitCode = response.exit_code ?? response.exitCode;
135
+ if (exitCode !== 0 && exitCode !== '0' && exitCode !== undefined)
136
+ return {};
137
+ state.phase = 'scoring';
138
+ saveSprintState(cwd, state);
139
+ const pending = pendingGates(state);
140
+ return {
141
+ context: [
142
+ `SLOPE: PR merged — sprint phase is now 'scoring'. Remaining gates:`,
143
+ ...pending.map(g => ` - ${g}`),
144
+ '',
145
+ 'Complete these before ending the session:',
146
+ ' 1. Create scorecard → `slope validate`',
147
+ ' 2. Generate review → `slope review`',
148
+ ].join('\n'),
149
+ };
150
+ }
151
+ //# sourceMappingURL=sprint-completion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sprint-completion.js","sourceRoot":"","sources":["../../../src/cli/guards/sprint-completion.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-gate.d.ts","sourceRoot":"","sources":["../../../src/cli/guards/workflow-gate.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAQlE;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAyB3F"}
1
+ {"version":3,"file":"workflow-gate.d.ts","sourceRoot":"","sources":["../../../src/cli/guards/workflow-gate.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AASlE;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAwC3F"}
@@ -1,5 +1,6 @@
1
1
  import { existsSync, readFileSync } from 'node:fs';
2
2
  import { join } from 'node:path';
3
+ import { loadSprintState, saveSprintState } from '../sprint-state.js';
3
4
  /**
4
5
  * Workflow gate guard: fires PreToolUse on ExitPlanMode.
5
6
  * Blocks ExitPlanMode until review rounds are complete.
@@ -20,12 +21,26 @@ export async function workflowGateGuard(input, cwd) {
20
21
  if (typeof state.rounds_required !== 'number' || typeof state.rounds_completed !== 'number') {
21
22
  return {};
22
23
  }
23
- if (state.rounds_completed >= state.rounds_required)
24
+ if (state.rounds_completed >= state.rounds_required) {
25
+ // Transition sprint-state to implementing when review is complete
26
+ const sprintState = loadSprintState(cwd);
27
+ if (sprintState && (sprintState.phase === 'planning' || sprintState.phase === 'reviewing')) {
28
+ sprintState.phase = 'implementing';
29
+ saveSprintState(cwd, sprintState);
30
+ }
24
31
  return {};
25
- const planRef = state.plan_file ? ` (${state.plan_file})` : '';
32
+ }
33
+ const remaining = state.rounds_required - state.rounds_completed;
26
34
  return {
27
35
  decision: 'deny',
28
- blockReason: `SLOPE workflow-gate: Review incomplete. ${state.rounds_completed}/${state.rounds_required} rounds done${planRef}. Complete remaining review rounds before exiting plan mode.`,
36
+ blockReason: [
37
+ `SLOPE workflow-gate: Review incomplete (${state.rounds_completed}/${state.rounds_required} rounds). You MUST:`,
38
+ `1. Ask the user to confirm or change the review tier (slope review start --tier=<tier>)`,
39
+ `2. Conduct each review round, then run \`slope review round\` after each`,
40
+ `3. Only call ExitPlanMode after all ${remaining} remaining round${remaining !== 1 ? 's are' : ' is'} complete`,
41
+ ``,
42
+ `To skip reviews: run \`slope review start --tier=skip\``,
43
+ ].join('\n'),
29
44
  };
30
45
  }
31
46
  //# sourceMappingURL=workflow-gate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-gate.js","sourceRoot":"","sources":["../../../src/cli/guards/workflow-gate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AASjC;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,KAAgB,EAAE,GAAW;IACnE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,mBAAmB,CAAC,CAAC;IAE3D,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,EAAE,CAAC;IAEtC,IAAI,KAAkB,CAAC;IACvB,IAAI,CAAC;QACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;IACtD,CAAC;IAAC,MAAM,CAAC;QACP,2CAA2C;QAC3C,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,iBAAiB;IACjB,IAAI,OAAO,KAAK,CAAC,eAAe,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,gBAAgB,KAAK,QAAQ,EAAE,CAAC;QAC5F,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,eAAe;QAAE,OAAO,EAAE,CAAC;IAE/D,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/D,OAAO;QACL,QAAQ,EAAE,MAAM;QAChB,WAAW,EAAE,2CAA2C,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,eAAe,eAAe,OAAO,8DAA8D;KAC5L,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"workflow-gate.js","sourceRoot":"","sources":["../../../src/cli/guards/workflow-gate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAQtE;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,KAAgB,EAAE,GAAW;IACnE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,mBAAmB,CAAC,CAAC;IAE3D,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,EAAE,CAAC;IAEtC,IAAI,KAAkB,CAAC;IACvB,IAAI,CAAC;QACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;IACtD,CAAC;IAAC,MAAM,CAAC;QACP,2CAA2C;QAC3C,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,iBAAiB;IACjB,IAAI,OAAO,KAAK,CAAC,eAAe,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,gBAAgB,KAAK,QAAQ,EAAE,CAAC;QAC5F,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;QACpD,kEAAkE;QAClE,MAAM,WAAW,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,WAAW,IAAI,CAAC,WAAW,CAAC,KAAK,KAAK,UAAU,IAAI,WAAW,CAAC,KAAK,KAAK,WAAW,CAAC,EAAE,CAAC;YAC3F,WAAW,CAAC,KAAK,GAAG,cAAc,CAAC;YACnC,eAAe,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,SAAS,GAAG,KAAK,CAAC,eAAe,GAAG,KAAK,CAAC,gBAAgB,CAAC;IACjE,OAAO;QACL,QAAQ,EAAE,MAAM;QAChB,WAAW,EAAE;YACX,2CAA2C,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,eAAe,qBAAqB;YAC/G,yFAAyF;YACzF,0EAA0E;YAC1E,uCAAuC,SAAS,mBAAmB,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,WAAW;YAC/G,EAAE;YACF,yDAAyD;SAC1D,CAAC,IAAI,CAAC,IAAI,CAAC;KACb,CAAC;AACJ,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { HookInput, GuardResult } from '../../core/index.js';
2
+ /**
3
+ * Worktree-merge guard: fires PreToolUse on Bash.
4
+ * Detects `gh pr merge --delete-branch` in a worktree and rewrites the
5
+ * command to drop `--delete-branch`, which fails because the worktree
6
+ * holds the target branch. The merge itself succeeds but the exit code
7
+ * is 1, causing the agent to think it failed and retry.
8
+ */
9
+ export declare function worktreeMergeGuard(input: HookInput, cwd: string): Promise<GuardResult>;
10
+ //# sourceMappingURL=worktree-merge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worktree-merge.d.ts","sourceRoot":"","sources":["../../../src/cli/guards/worktree-merge.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElE;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAmC5F"}
@@ -0,0 +1,45 @@
1
+ import { execSync } from 'node:child_process';
2
+ /**
3
+ * Worktree-merge guard: fires PreToolUse on Bash.
4
+ * Detects `gh pr merge --delete-branch` in a worktree and rewrites the
5
+ * command to drop `--delete-branch`, which fails because the worktree
6
+ * holds the target branch. The merge itself succeeds but the exit code
7
+ * is 1, causing the agent to think it failed and retry.
8
+ */
9
+ export async function worktreeMergeGuard(input, cwd) {
10
+ const command = input.tool_input?.command ?? '';
11
+ // Only fire on gh pr merge with --delete-branch
12
+ if (!/gh\s+pr\s+merge/.test(command))
13
+ return {};
14
+ if (!/(--delete-branch|-d\b)/.test(command))
15
+ return {};
16
+ // Check if we're in a worktree (not the main working tree)
17
+ try {
18
+ const listOutput = execSync('git rev-parse --git-common-dir 2>/dev/null', { cwd, encoding: 'utf8' }).trim();
19
+ const gitDir = execSync('git rev-parse --git-dir 2>/dev/null', { cwd, encoding: 'utf8' }).trim();
20
+ // In the main working tree, git-dir === git-common-dir (both are .git)
21
+ // In a worktree, git-dir is .git/worktrees/<name> while common-dir is .git
22
+ if (gitDir === listOutput || gitDir === '.git')
23
+ return {};
24
+ }
25
+ catch {
26
+ return {};
27
+ }
28
+ // Rewrite the command: strip --delete-branch / -d
29
+ const fixed = command
30
+ .replace(/\s+--delete-branch/, '')
31
+ .replace(/\s+-d\b/, '');
32
+ return {
33
+ decision: 'deny',
34
+ blockReason: [
35
+ `SLOPE worktree-merge: \`--delete-branch\` will fail in a worktree (local branch cleanup can't switch to main).`,
36
+ `The merge succeeds but exits with code 1, making it look like it failed.`,
37
+ ``,
38
+ `Use this instead:`,
39
+ ` ${fixed}`,
40
+ ``,
41
+ `The remote branch will be deleted by GitHub when the PR merges. The local worktree branch is cleaned up when the worktree is removed.`,
42
+ ].join('\n'),
43
+ };
44
+ }
45
+ //# sourceMappingURL=worktree-merge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worktree-merge.js","sourceRoot":"","sources":["../../../src/cli/guards/worktree-merge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAG9C;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,KAAgB,EAAE,GAAW;IACpE,MAAM,OAAO,GAAI,KAAK,CAAC,UAAU,EAAE,OAAkB,IAAI,EAAE,CAAC;IAE5D,gDAAgD;IAChD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;IAChD,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;IAEvD,2DAA2D;IAC3D,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,QAAQ,CAAC,4CAA4C,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5G,MAAM,MAAM,GAAG,QAAQ,CAAC,qCAAqC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACjG,uEAAuE;QACvE,2EAA2E;QAC3E,IAAI,MAAM,KAAK,UAAU,IAAI,MAAM,KAAK,MAAM;YAAE,OAAO,EAAE,CAAC;IAC5D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,kDAAkD;IAClD,MAAM,KAAK,GAAG,OAAO;SAClB,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC;SACjC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAE1B,OAAO;QACL,QAAQ,EAAE,MAAM;QAChB,WAAW,EAAE;YACX,gHAAgH;YAChH,0EAA0E;YAC1E,EAAE;YACF,mBAAmB;YACnB,KAAK,KAAK,EAAE;YACZ,EAAE;YACF,uIAAuI;SACxI,CAAC,IAAI,CAAC,IAAI,CAAC;KACb,CAAC;AACJ,CAAC"}
package/dist/cli/index.js CHANGED
@@ -54,6 +54,7 @@ import { prepCommand } from './commands/prep.js';
54
54
  import { enrichCommand } from './commands/enrich.js';
55
55
  import { docsCommand } from './commands/docs.js';
56
56
  import { loopCommand } from './commands/loop.js';
57
+ import { sprintCommand } from './commands/sprint.js';
57
58
  const subcommand = process.argv[2];
58
59
  switch (subcommand) {
59
60
  case 'init':
@@ -289,6 +290,12 @@ switch (subcommand) {
289
290
  process.exit(1);
290
291
  });
291
292
  break;
293
+ case 'sprint':
294
+ sprintCommand(process.argv.slice(3)).catch(err => {
295
+ console.error('Error:', err.message);
296
+ process.exit(1);
297
+ });
298
+ break;
292
299
  default:
293
300
  console.log(`
294
301
  SLOPE CLI — Sprint Lifecycle & Operational Performance Engine
@@ -348,6 +355,7 @@ Usage:
348
355
  slope prep <ticket-id> [--json] [--top=5] Generate execution plan for a ticket
349
356
  slope enrich [backlog-path] [--output=<path>] Batch-enrich backlog with file context
350
357
  slope docs generate|changelog|check Documentation manifest and changelog
358
+ slope sprint start|gate|status|reset Manage sprint lifecycle state
351
359
  slope loop status|config|run|continuous|... Autonomous sprint execution loop
352
360
 
353
361
  Examples:
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/cli/registry.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,cAAc;IAC7B,wDAAwD;IACxD,GAAG,EAAE,MAAM,CAAC;IACZ,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,0BAA0B;IAC1B,QAAQ,EAAE,WAAW,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,CAAC;CACzE;AAED,qGAAqG;AACrG,eAAO,MAAM,oBAAoB,2BAA4B,CAAC;AAE9D,eAAO,MAAM,oBAAoB,EAAE,SAAS,cAAc,EAoDzD,CAAC"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/cli/registry.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,cAAc;IAC7B,wDAAwD;IACxD,GAAG,EAAE,MAAM,CAAC;IACZ,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,0BAA0B;IAC1B,QAAQ,EAAE,WAAW,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,CAAC;CACzE;AAED,qGAAqG;AACrG,eAAO,MAAM,oBAAoB,2BAA4B,CAAC;AAE9D,eAAO,MAAM,oBAAoB,EAAE,SAAS,cAAc,EAqDzD,CAAC"}
@@ -9,6 +9,7 @@ export const CLI_COMMAND_REGISTRY = [
9
9
  { cmd: 'release', desc: 'Release a claim by ID or target', category: 'lifecycle' },
10
10
  { cmd: 'status', desc: 'Show sprint course status and conflicts', category: 'lifecycle' },
11
11
  { cmd: 'next', desc: 'Show next sprint number (auto-detect)', category: 'lifecycle' },
12
+ { cmd: 'sprint', desc: 'Manage sprint lifecycle state and gates', category: 'lifecycle' },
12
13
  // ── Scoring ────────────────────────────────────────────────────
13
14
  { cmd: 'card', desc: 'Display handicap card', category: 'scoring' },
14
15
  { cmd: 'validate', desc: 'Validate scorecard(s)', category: 'scoring' },
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/cli/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/cli/registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /** Sprint lifecycle phases */
2
+ export type SprintPhase = 'planning' | 'reviewing' | 'implementing' | 'scoring' | 'complete';
3
+ /** Gate names that must be completed before PR */
4
+ export type GateName = 'tests' | 'code_review' | 'architect_review' | 'scorecard' | 'review_md';
5
+ /** Sprint state persisted to .slope/sprint-state.json */
6
+ export interface SprintState {
7
+ sprint: number;
8
+ phase: SprintPhase;
9
+ gates: Record<GateName, boolean>;
10
+ started_at: string;
11
+ updated_at: string;
12
+ }
13
+ /** Load sprint state from .slope/sprint-state.json. Returns null if missing or malformed. */
14
+ export declare function loadSprintState(cwd: string): SprintState | null;
15
+ /** Save sprint state atomically via tmp + rename. */
16
+ export declare function saveSprintState(cwd: string, state: SprintState): void;
17
+ /** Update a single gate and save. */
18
+ export declare function updateGate(cwd: string, gate: GateName, value: boolean): void;
19
+ /** Check if all gates are true. */
20
+ export declare function isSprintComplete(state: SprintState): boolean;
21
+ /** Return human-readable list of incomplete gates. */
22
+ export declare function pendingGates(state: SprintState): string[];
23
+ /** Create a fresh sprint state with all gates false. */
24
+ export declare function createSprintState(sprint: number, phase?: SprintPhase): SprintState;
25
+ /** Delete the sprint state file. */
26
+ export declare function clearSprintState(cwd: string): void;
27
+ //# sourceMappingURL=sprint-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sprint-state.d.ts","sourceRoot":"","sources":["../../src/cli/sprint-state.ts"],"names":[],"mappings":"AAGA,8BAA8B;AAC9B,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,WAAW,GAAG,cAAc,GAAG,SAAS,GAAG,UAAU,CAAC;AAE7F,kDAAkD;AAClD,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,aAAa,GAAG,kBAAkB,GAAG,WAAW,GAAG,WAAW,CAAC;AAWhG,yDAAyD;AACzD,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,WAAW,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAMD,6FAA6F;AAC7F,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAmB/D;AAED,qDAAqD;AACrD,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,IAAI,CAUrE;AAED,qCAAqC;AACrC,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAK5E;AAED,mCAAmC;AACnC,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAE5D;AAED,sDAAsD;AACtD,wBAAgB,YAAY,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,EAAE,CAIzD;AAED,wDAAwD;AACxD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,GAAE,WAAwB,GAAG,WAAW,CAe9F;AAED,oCAAoC;AACpC,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAKlD"}
@@ -0,0 +1,88 @@
1
+ import { readFileSync, writeFileSync, existsSync, mkdirSync, renameSync, unlinkSync } from 'node:fs';
2
+ import { join } from 'node:path';
3
+ /** Human-readable labels for gates */
4
+ const GATE_LABELS = {
5
+ tests: 'Tests passing',
6
+ code_review: 'Code review',
7
+ architect_review: 'Architect review',
8
+ scorecard: 'Scorecard validated',
9
+ review_md: 'Review markdown generated',
10
+ };
11
+ const SPRINT_STATE_FILE = '.slope/sprint-state.json';
12
+ const ALL_GATES = ['tests', 'code_review', 'architect_review', 'scorecard', 'review_md'];
13
+ /** Load sprint state from .slope/sprint-state.json. Returns null if missing or malformed. */
14
+ export function loadSprintState(cwd) {
15
+ const statePath = join(cwd, SPRINT_STATE_FILE);
16
+ if (!existsSync(statePath))
17
+ return null;
18
+ try {
19
+ const raw = JSON.parse(readFileSync(statePath, 'utf8'));
20
+ // Validate shape
21
+ if (typeof raw.sprint !== 'number' || typeof raw.phase !== 'string' || typeof raw.gates !== 'object') {
22
+ return null;
23
+ }
24
+ // Validate all 5 gate keys exist and are booleans
25
+ for (const gate of ALL_GATES) {
26
+ if (typeof raw.gates[gate] !== 'boolean') {
27
+ return null;
28
+ }
29
+ }
30
+ return raw;
31
+ }
32
+ catch {
33
+ return null;
34
+ }
35
+ }
36
+ /** Save sprint state atomically via tmp + rename. */
37
+ export function saveSprintState(cwd, state) {
38
+ const dir = join(cwd, '.slope');
39
+ mkdirSync(dir, { recursive: true });
40
+ state.updated_at = new Date().toISOString();
41
+ const filePath = join(cwd, SPRINT_STATE_FILE);
42
+ const tmpPath = filePath + '.tmp';
43
+ writeFileSync(tmpPath, JSON.stringify(state, null, 2) + '\n');
44
+ renameSync(tmpPath, filePath);
45
+ }
46
+ /** Update a single gate and save. */
47
+ export function updateGate(cwd, gate, value) {
48
+ const state = loadSprintState(cwd);
49
+ if (!state)
50
+ return;
51
+ state.gates[gate] = value;
52
+ saveSprintState(cwd, state);
53
+ }
54
+ /** Check if all gates are true. */
55
+ export function isSprintComplete(state) {
56
+ return ALL_GATES.every(g => state.gates[g] === true);
57
+ }
58
+ /** Return human-readable list of incomplete gates. */
59
+ export function pendingGates(state) {
60
+ return ALL_GATES
61
+ .filter(g => !state.gates[g])
62
+ .map(g => GATE_LABELS[g]);
63
+ }
64
+ /** Create a fresh sprint state with all gates false. */
65
+ export function createSprintState(sprint, phase = 'planning') {
66
+ const now = new Date().toISOString();
67
+ return {
68
+ sprint,
69
+ phase,
70
+ gates: {
71
+ tests: false,
72
+ code_review: false,
73
+ architect_review: false,
74
+ scorecard: false,
75
+ review_md: false,
76
+ },
77
+ started_at: now,
78
+ updated_at: now,
79
+ };
80
+ }
81
+ /** Delete the sprint state file. */
82
+ export function clearSprintState(cwd) {
83
+ const statePath = join(cwd, SPRINT_STATE_FILE);
84
+ if (existsSync(statePath)) {
85
+ unlinkSync(statePath);
86
+ }
87
+ }
88
+ //# sourceMappingURL=sprint-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sprint-state.js","sourceRoot":"","sources":["../../src/cli/sprint-state.ts"],"names":[],"mappings":"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"}
@@ -45,7 +45,7 @@ export interface GuardResult {
45
45
  blockReason?: string;
46
46
  }
47
47
  /** Known guard names */
48
- export type GuardName = 'explore' | 'hazard' | 'commit-nudge' | 'scope-drift' | 'compaction' | 'stop-check' | 'subagent-gate' | 'push-nudge' | 'workflow-gate' | 'review-tier' | 'version-check' | 'stale-flows' | 'next-action' | 'pr-review' | 'transcript' | 'branch-before-commit' | 'worktree-check';
48
+ export type GuardName = 'explore' | 'hazard' | 'commit-nudge' | 'scope-drift' | 'compaction' | 'stop-check' | 'subagent-gate' | 'push-nudge' | 'workflow-gate' | 'review-tier' | 'version-check' | 'stale-flows' | 'next-action' | 'pr-review' | 'transcript' | 'branch-before-commit' | 'worktree-check' | 'sprint-completion' | 'worktree-merge';
49
49
  /** Guard registration entry */
50
50
  export interface GuardDefinition {
51
51
  name: GuardName;
@@ -1 +1 @@
1
- {"version":3,"file":"guard.d.ts","sourceRoot":"","sources":["../../src/core/guard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"guard.d.ts","sourceRoot":"","sources":["../../src/core/guard.ts"],"names":[],"mappings":"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"}
@@ -132,6 +132,36 @@ export const GUARD_DEFINITIONS = [
132
132
  matcher: 'Edit|Write',
133
133
  level: 'full',
134
134
  },
135
+ {
136
+ name: 'sprint-completion',
137
+ description: 'Block PR creation when sprint gates are incomplete',
138
+ hookEvent: 'PreToolUse',
139
+ toolCategories: ['execute_command'],
140
+ matcher: 'Bash',
141
+ level: 'full',
142
+ },
143
+ {
144
+ name: 'sprint-completion',
145
+ description: 'Block session end when sprint gates are incomplete',
146
+ hookEvent: 'Stop',
147
+ level: 'full',
148
+ },
149
+ {
150
+ name: 'sprint-completion',
151
+ description: 'Auto-detect test pass and mark gate complete',
152
+ hookEvent: 'PostToolUse',
153
+ toolCategories: ['execute_command'],
154
+ matcher: 'Bash',
155
+ level: 'full',
156
+ },
157
+ {
158
+ name: 'worktree-merge',
159
+ description: 'Block gh pr merge --delete-branch in worktrees (causes false failure)',
160
+ hookEvent: 'PreToolUse',
161
+ toolCategories: ['execute_command'],
162
+ matcher: 'Bash',
163
+ level: 'full',
164
+ },
135
165
  ];
136
166
  const customGuards = [];
137
167
  /** Register a custom guard plugin. Idempotent — skips if name already registered. */
@@ -1 +1 @@
1
- {"version":3,"file":"guard.js","sourceRoot":"","sources":["../../src/core/guard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"guard.js","sourceRoot":"","sources":["../../src/core/guard.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@slope-dev/slope",
3
- "version": "1.19.1",
3
+ "version": "1.21.0",
4
4
  "description": "Quantified sprint metrics for AI-assisted development. Scorecards, handicap tracking, and real-time agent guidance for Claude Code, Cursor, Windsurf, Cline, and OpenCode.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",