@slope-dev/slope 1.36.0 → 1.37.1
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/dist/cli/commands/guard.d.ts.map +1 -1
- package/dist/cli/commands/guard.js +32 -0
- package/dist/cli/commands/guard.js.map +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +7 -1
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/loop.d.ts.map +1 -1
- package/dist/cli/commands/loop.js +154 -10
- package/dist/cli/commands/loop.js.map +1 -1
- package/dist/cli/commands/org.d.ts +10 -0
- package/dist/cli/commands/org.d.ts.map +1 -0
- package/dist/cli/commands/org.js +102 -0
- package/dist/cli/commands/org.js.map +1 -0
- package/dist/cli/commands/review-state.js +2 -2
- package/dist/cli/commands/review-state.js.map +1 -1
- package/dist/cli/commands/session.d.ts.map +1 -1
- package/dist/cli/commands/session.js +251 -0
- package/dist/cli/commands/session.js.map +1 -1
- package/dist/cli/commands/transcript.d.ts.map +1 -1
- package/dist/cli/commands/transcript.js +110 -12
- package/dist/cli/commands/transcript.js.map +1 -1
- package/dist/cli/guards/claim-required.d.ts +1 -0
- package/dist/cli/guards/claim-required.d.ts.map +1 -1
- package/dist/cli/guards/claim-required.js +41 -2
- package/dist/cli/guards/claim-required.js.map +1 -1
- package/dist/cli/guards/hazard.d.ts +1 -0
- package/dist/cli/guards/hazard.d.ts.map +1 -1
- package/dist/cli/guards/hazard.js +61 -6
- package/dist/cli/guards/hazard.js.map +1 -1
- package/dist/cli/guards/review-tier.d.ts.map +1 -1
- package/dist/cli/guards/review-tier.js +3 -1
- package/dist/cli/guards/review-tier.js.map +1 -1
- package/dist/cli/guards/scope-drift.d.ts +1 -0
- package/dist/cli/guards/scope-drift.d.ts.map +1 -1
- package/dist/cli/guards/scope-drift.js +62 -7
- package/dist/cli/guards/scope-drift.js.map +1 -1
- package/dist/cli/guards/workflow-step-gate.d.ts +8 -0
- package/dist/cli/guards/workflow-step-gate.d.ts.map +1 -0
- package/dist/cli/guards/workflow-step-gate.js +59 -0
- package/dist/cli/guards/workflow-step-gate.js.map +1 -0
- package/dist/cli/index.js +8 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/loop/backlog.d.ts +6 -0
- package/dist/cli/loop/backlog.d.ts.map +1 -1
- package/dist/cli/loop/backlog.js +44 -1
- package/dist/cli/loop/backlog.js.map +1 -1
- package/dist/cli/loop/continuous.d.ts.map +1 -1
- package/dist/cli/loop/continuous.js +44 -8
- package/dist/cli/loop/continuous.js.map +1 -1
- package/dist/cli/loop/executor.d.ts.map +1 -1
- package/dist/cli/loop/executor.js +5 -3
- package/dist/cli/loop/executor.js.map +1 -1
- package/dist/cli/loop/model-selector.d.ts +5 -2
- package/dist/cli/loop/model-selector.d.ts.map +1 -1
- package/dist/cli/loop/model-selector.js +35 -2
- package/dist/cli/loop/model-selector.js.map +1 -1
- package/dist/cli/loop/parallel.d.ts +2 -2
- package/dist/cli/loop/parallel.d.ts.map +1 -1
- package/dist/cli/loop/parallel.js +72 -68
- package/dist/cli/loop/parallel.js.map +1 -1
- package/dist/cli/loop/types.d.ts +40 -1
- package/dist/cli/loop/types.d.ts.map +1 -1
- package/dist/cli/loop/types.js +2 -0
- package/dist/cli/loop/types.js.map +1 -1
- package/dist/cli/registry.d.ts.map +1 -1
- package/dist/cli/registry.js +12 -0
- package/dist/cli/registry.js.map +1 -1
- package/dist/core/analytics.d.ts +17 -0
- package/dist/core/analytics.d.ts.map +1 -1
- package/dist/core/analytics.js +59 -0
- package/dist/core/analytics.js.map +1 -1
- package/dist/core/guard.d.ts +4 -0
- package/dist/core/guard.d.ts.map +1 -1
- package/dist/core/guard.js +29 -0
- package/dist/core/guard.js.map +1 -1
- package/dist/core/index.d.ts +3 -3
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +2 -2
- package/dist/core/index.js.map +1 -1
- package/dist/core/initiative.d.ts.map +1 -1
- package/dist/core/initiative.js +11 -6
- package/dist/core/initiative.js.map +1 -1
- package/dist/core/loader.d.ts +5 -0
- package/dist/core/loader.d.ts.map +1 -1
- package/dist/core/loader.js +22 -4
- package/dist/core/loader.js.map +1 -1
- package/dist/core/org.d.ts +38 -0
- package/dist/core/org.d.ts.map +1 -0
- package/dist/core/org.js +112 -0
- package/dist/core/org.js.map +1 -0
- package/package.json +3 -2
- package/templates/claude-code/CLAUDE.md +24 -0
- package/templates/claude-code/commands/post-sprint.md +67 -0
- package/templates/claude-code/commands/review-pr.md +76 -0
- package/templates/claude-code/commands/start-sprint.md +79 -0
- package/templates/claude-code/hooks/pre-merge-check.sh +49 -0
- package/templates/claude-code/rules/commit-discipline.md +36 -0
- package/templates/claude-code/rules/review-loop.md +39 -0
- package/templates/claude-code/rules/sprint-checklist.md +62 -0
- package/templates/cursor/rules/slope-commit-discipline.mdc +37 -0
- package/templates/cursor/rules/slope-review-loop.mdc +33 -0
- package/templates/cursor/rules/slope-sprint-checklist.mdc +48 -0
- package/templates/generic/SLOPE-CHECKLIST.md +27 -0
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# Start Sprint — Pre-Sprint Setup and Briefing
|
|
2
|
+
|
|
3
|
+
Run the complete pre-sprint routine: verify prior sprint hygiene, get briefing, create branch, and initialize sprint state.
|
|
4
|
+
|
|
5
|
+
## Arguments
|
|
6
|
+
|
|
7
|
+
- `$ARGUMENTS` — optional: sprint number (auto-detected if omitted)
|
|
8
|
+
|
|
9
|
+
## Steps
|
|
10
|
+
|
|
11
|
+
### 1. Determine sprint number
|
|
12
|
+
|
|
13
|
+
- If a number was provided as an argument, use it
|
|
14
|
+
- Otherwise, run `slope next` to auto-detect the next sprint number
|
|
15
|
+
|
|
16
|
+
### 2. Verify prior sprint scorecard
|
|
17
|
+
|
|
18
|
+
Check that the previous sprint's scorecard exists at `docs/retros/sprint-{N-1}.json`:
|
|
19
|
+
- If missing, **stop and create it first** using `/post-sprint`
|
|
20
|
+
- If it exists, continue
|
|
21
|
+
- Note: the sprint-completion guard also enforces this — PR creation is blocked without a scorecard
|
|
22
|
+
|
|
23
|
+
### 3. Branch hygiene
|
|
24
|
+
|
|
25
|
+
- Run `git branch` to check for stale branches from prior sprints
|
|
26
|
+
- If stale branches exist, warn the user
|
|
27
|
+
- Create a new feature branch: `feat/sprint-{N}-<theme-slug>`
|
|
28
|
+
|
|
29
|
+
### 4. Run briefing
|
|
30
|
+
|
|
31
|
+
Run `slope briefing` to get:
|
|
32
|
+
- Handicap snapshot (rolling performance stats)
|
|
33
|
+
- Hazard index (recent gotchas by area)
|
|
34
|
+
- Filtered common issues relevant to this sprint's work area
|
|
35
|
+
- Session continuity (any handoffs from prior sessions)
|
|
36
|
+
|
|
37
|
+
If you know the sprint's work area, add filters:
|
|
38
|
+
```
|
|
39
|
+
slope briefing --categories=<area> --keywords=<topic>
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### 5. Initialize sprint state
|
|
43
|
+
|
|
44
|
+
Run `slope sprint start --number={N}` to create the sprint state file with gate tracking.
|
|
45
|
+
|
|
46
|
+
### 6. Set par and slope
|
|
47
|
+
|
|
48
|
+
Based on the sprint plan:
|
|
49
|
+
- **Par**: 1-2 tickets = 3, 3-4 tickets = 4, 5+ tickets = 5
|
|
50
|
+
- **Slope**: Count complexity factors:
|
|
51
|
+
- New infrastructure or architecture (+1)
|
|
52
|
+
- Multi-package changes (+1)
|
|
53
|
+
- Schema or API changes (+1)
|
|
54
|
+
- External API integration (+1)
|
|
55
|
+
- Learning curve / unfamiliar territory (+1)
|
|
56
|
+
|
|
57
|
+
### 7. Prior art research
|
|
58
|
+
|
|
59
|
+
Before implementation begins, search for existing solutions:
|
|
60
|
+
- How have other projects solved this problem?
|
|
61
|
+
- Are there standard algorithms or approaches?
|
|
62
|
+
- Any relevant GDC talks, blog posts, or papers?
|
|
63
|
+
|
|
64
|
+
Save findings to `docs/` for reference during implementation.
|
|
65
|
+
|
|
66
|
+
### 8. Present sprint summary
|
|
67
|
+
|
|
68
|
+
Show the user:
|
|
69
|
+
- Sprint number and theme
|
|
70
|
+
- Par and slope
|
|
71
|
+
- Ticket list with planned clubs
|
|
72
|
+
- Key hazards to watch for (from briefing)
|
|
73
|
+
- Deferred findings targeting this sprint: `slope review deferred --sprint={N}`
|
|
74
|
+
|
|
75
|
+
## Important
|
|
76
|
+
|
|
77
|
+
- Never skip the prior scorecard verification — this prevents the "batch without reflection" problem
|
|
78
|
+
- The briefing output contains critical context; read it carefully before starting
|
|
79
|
+
- If the codebase map is stale, run `slope map` to refresh it
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# pre-merge-check.sh — Validates scorecard exists before PR merge
|
|
3
|
+
#
|
|
4
|
+
# Usage: Add as a pre-merge hook or run manually before merging.
|
|
5
|
+
# Checks that the PR diff contains a scorecard JSON file.
|
|
6
|
+
|
|
7
|
+
set -euo pipefail
|
|
8
|
+
|
|
9
|
+
SCORECARD_DIR="${SLOPE_SCORECARD_DIR:-docs/retros}"
|
|
10
|
+
SCORECARD_PATTERN="${SLOPE_SCORECARD_PATTERN:-sprint-*.json}"
|
|
11
|
+
|
|
12
|
+
# Get the current branch's diff against main
|
|
13
|
+
DIFF_FILES=$(git diff --name-only main...HEAD 2>/dev/null || git diff --name-only HEAD~1)
|
|
14
|
+
|
|
15
|
+
# Check for scorecard in diff
|
|
16
|
+
SCORECARD_FOUND=false
|
|
17
|
+
for file in $DIFF_FILES; do
|
|
18
|
+
case "$file" in
|
|
19
|
+
${SCORECARD_DIR}/${SCORECARD_PATTERN})
|
|
20
|
+
SCORECARD_FOUND=true
|
|
21
|
+
break
|
|
22
|
+
;;
|
|
23
|
+
esac
|
|
24
|
+
done
|
|
25
|
+
|
|
26
|
+
if [ "$SCORECARD_FOUND" = false ]; then
|
|
27
|
+
echo ""
|
|
28
|
+
echo "ERROR: No scorecard found in PR diff."
|
|
29
|
+
echo " Expected: ${SCORECARD_DIR}/${SCORECARD_PATTERN}"
|
|
30
|
+
echo ""
|
|
31
|
+
echo " Create a scorecard before merging:"
|
|
32
|
+
echo " slope validate <path-to-scorecard>"
|
|
33
|
+
echo ""
|
|
34
|
+
exit 1
|
|
35
|
+
fi
|
|
36
|
+
|
|
37
|
+
# Validate the scorecard if slope CLI is available
|
|
38
|
+
if command -v slope &>/dev/null; then
|
|
39
|
+
for file in $DIFF_FILES; do
|
|
40
|
+
case "$file" in
|
|
41
|
+
${SCORECARD_DIR}/${SCORECARD_PATTERN})
|
|
42
|
+
echo "Validating $file..."
|
|
43
|
+
slope validate "$file"
|
|
44
|
+
;;
|
|
45
|
+
esac
|
|
46
|
+
done
|
|
47
|
+
fi
|
|
48
|
+
|
|
49
|
+
echo "Pre-merge check passed."
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Commit Discipline
|
|
2
|
+
|
|
3
|
+
**Commit early, commit often.** Lost context from uncommitted work is the #1 risk.
|
|
4
|
+
The last push is the recovery point — everything since the last push is lost on crash or context loss.
|
|
5
|
+
|
|
6
|
+
## Commit triggers:
|
|
7
|
+
|
|
8
|
+
Commit immediately after ANY of these:
|
|
9
|
+
1. **Each new file** — route, migration, config, component, test. Don't batch file creations.
|
|
10
|
+
2. **Each endpoint or feature** — one feature implemented = one commit.
|
|
11
|
+
3. **Each migration** — commit each separately.
|
|
12
|
+
4. **Each doc update** — spec change, README edit.
|
|
13
|
+
5. **Each bug fix** — no matter how small.
|
|
14
|
+
6. **Before switching context** — moving to a different area? Commit first.
|
|
15
|
+
7. **Before risky operations** — large refactor, dependency upgrade.
|
|
16
|
+
8. **Time check** — if ~15 minutes have passed since the last commit, commit what works.
|
|
17
|
+
9. **Session end** — never leave uncommitted changes. Use a `wip:` prefix if incomplete.
|
|
18
|
+
|
|
19
|
+
## Push triggers:
|
|
20
|
+
|
|
21
|
+
Push immediately after ANY of these:
|
|
22
|
+
1. **After each completed ticket (Post-Shot Routine)** — all commits pushed before merging. Score the shot.
|
|
23
|
+
2. **Every 30 minutes** — never go longer without a push.
|
|
24
|
+
3. **Before context compaction** — if context is running low, push first.
|
|
25
|
+
4. **Before switching tickets** — push current branch before starting a new one.
|
|
26
|
+
5. **Session end** — never leave unpushed commits.
|
|
27
|
+
|
|
28
|
+
## Commit message format:
|
|
29
|
+
|
|
30
|
+
```
|
|
31
|
+
<type>(<ticket>): <short summary in imperative mood>
|
|
32
|
+
|
|
33
|
+
<optional body explaining why, not what>
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Types: `feat`, `fix`, `refactor`, `docs`, `test`, `chore`, `wip`
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# Sprint Plan Review Loop
|
|
2
|
+
|
|
3
|
+
After creating a sprint plan, run a structured review to catch issues before implementation.
|
|
4
|
+
|
|
5
|
+
## Review Tier Selection
|
|
6
|
+
|
|
7
|
+
| Tier | Rounds | When to use |
|
|
8
|
+
|------|--------|-------------|
|
|
9
|
+
| **Skip** | 0 | Research, infra, or docs-only sprints |
|
|
10
|
+
| **Light** | 1 | 1-2 tickets, familiar patterns, single-package |
|
|
11
|
+
| **Standard** | 2 | 3-4 tickets, multi-package, or schema/API changes |
|
|
12
|
+
| **Deep** | 3 | 5+ tickets, new infrastructure, architectural changes |
|
|
13
|
+
|
|
14
|
+
## Review Process
|
|
15
|
+
|
|
16
|
+
### Round 1 — Deep Review
|
|
17
|
+
|
|
18
|
+
Check the plan against the codebase:
|
|
19
|
+
- Does the plan duplicate existing infrastructure?
|
|
20
|
+
- Are dependencies correct and ordering optimal?
|
|
21
|
+
- Does the approach match codebase patterns?
|
|
22
|
+
- Are there scope gaps or underscoped complexity?
|
|
23
|
+
- Does it introduce unnecessary complexity?
|
|
24
|
+
|
|
25
|
+
### Round 2 — Delta Review (Standard+)
|
|
26
|
+
|
|
27
|
+
Review **only what changed** since Round 1:
|
|
28
|
+
- Were Round 1 findings addressed correctly?
|
|
29
|
+
- Did revisions introduce new issues?
|
|
30
|
+
|
|
31
|
+
### Round 3 — Final Sign-off (Deep only)
|
|
32
|
+
|
|
33
|
+
Delta review of Round 2 changes. Expected outcome: approval with minor notes.
|
|
34
|
+
|
|
35
|
+
## Tool Priority
|
|
36
|
+
|
|
37
|
+
1. **Search** to check function signatures, type definitions, patterns
|
|
38
|
+
2. **Find** to verify file existence and related files
|
|
39
|
+
3. **Read** only when search can't answer (complex multi-line logic)
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# Sprint Checklists (SLOPE Routine Hierarchy)
|
|
2
|
+
|
|
3
|
+
The SLOPE framework organizes sprint work into a hierarchy of routines, mirroring golf's structured approach to each shot, hole, and round.
|
|
4
|
+
|
|
5
|
+
## Pre-Tournament Routine (Course Strategy)
|
|
6
|
+
|
|
7
|
+
Before starting a new phase or project:
|
|
8
|
+
|
|
9
|
+
1. **Define the vision** — What does the end state look like? Document in a vision doc
|
|
10
|
+
2. **Build the roadmap** — Create `docs/backlog/roadmap.json` with sprints, dependencies, and phases
|
|
11
|
+
3. **Run `slope roadmap validate`** — Check for structural issues, dependency cycles, numbering gaps
|
|
12
|
+
4. **Run `slope roadmap review`** — Automated architect review: scope balance, critical path, bottlenecks
|
|
13
|
+
5. **Identify the critical path** — Run `slope roadmap show` to see the dependency graph and parallel tracks
|
|
14
|
+
6. **Plan parallel tracks** — If sprints can run concurrently, plan for multi-agent execution
|
|
15
|
+
|
|
16
|
+
## Pre-Round Routine (Sprint Start)
|
|
17
|
+
|
|
18
|
+
Before writing any code in a new sprint:
|
|
19
|
+
|
|
20
|
+
1. **Run `slope briefing`** — Single command that outputs handicap snapshot, hazard index, nutrition alerts, filtered gotchas, and session continuity
|
|
21
|
+
- Use `--categories=testing,api` or `--keywords=migration` to filter for the sprint's work area
|
|
22
|
+
2. **Verify previous scorecard exists** — If the last sprint's scorecard wasn't created, create it now
|
|
23
|
+
3. **Branch hygiene check** — `git branch -a` to confirm no stale branches remain
|
|
24
|
+
4. **Gap analysis** (if touching API or schema) — Read relevant docs and compare against implementation before writing code
|
|
25
|
+
5. **Set par and slope** — Par from ticket count (1-2=3, 3-4=4, 5+=5), slope from complexity factors
|
|
26
|
+
|
|
27
|
+
## Pre-Shot Routine (Per-Ticket, Before Code)
|
|
28
|
+
|
|
29
|
+
Before starting each ticket:
|
|
30
|
+
|
|
31
|
+
1. **Select your club** — Declare approach complexity: driver (risky/new), long_iron (multi-package), short_iron (standard), wedge (small), putter (trivial)
|
|
32
|
+
2. **Check the yardage book** — Review relevant codebase sections for files you'll modify
|
|
33
|
+
3. **Scan for hazards** — Check `bunker_locations` from recent scorecards and common issues for known gotchas
|
|
34
|
+
4. **Commit the club selection** — Note it in your sprint tracking before writing code
|
|
35
|
+
|
|
36
|
+
## Post-Shot Routine (Per-Ticket, After Completion)
|
|
37
|
+
|
|
38
|
+
After completing each ticket:
|
|
39
|
+
|
|
40
|
+
1. **Score the shot** — Determine result: fairway (clean start), green (landed correctly), in_the_hole (perfect), or miss direction (long/short/left/right)
|
|
41
|
+
2. **Record hazards** — Note any gotchas encountered
|
|
42
|
+
3. **Check for penalties** — Tests break? Reverts needed? Each penalty adds to the score
|
|
43
|
+
4. **Update sprint tracking** — Mark ticket status
|
|
44
|
+
5. **Push** — The last push is the recovery point
|
|
45
|
+
|
|
46
|
+
## Post-Hole Routine (Sprint Completion)
|
|
47
|
+
|
|
48
|
+
After all tickets are complete:
|
|
49
|
+
|
|
50
|
+
1. **Score the hole** — Audit commits, compute final score vs par
|
|
51
|
+
2. **Build the SLOPE scorecard** — Create scorecard JSON in your retros directory. Run `slope validate` to confirm no errors
|
|
52
|
+
3. **Distill learnings** — Update common-issues with new recurring patterns
|
|
53
|
+
4. **Create PR and merge** — All artifacts travel with the PR
|
|
54
|
+
5. **Review** — Run `slope review` to generate the sprint review markdown
|
|
55
|
+
|
|
56
|
+
## Post-Round Routine (Per-Phase)
|
|
57
|
+
|
|
58
|
+
At the end of each development phase:
|
|
59
|
+
|
|
60
|
+
1. **Compute handicap card** — Run `slope card` to see trending stats
|
|
61
|
+
2. **Review miss patterns** — Identify systemic issues from the handicap card
|
|
62
|
+
3. **Training program** — Based on trends, identify areas for focused practice sprints
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Commit and push discipline for SLOPE-managed sprints
|
|
3
|
+
globs:
|
|
4
|
+
alwaysApply: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Commit Discipline
|
|
8
|
+
|
|
9
|
+
**Commit early, commit often.** The last push is the recovery point.
|
|
10
|
+
|
|
11
|
+
## Commit triggers:
|
|
12
|
+
|
|
13
|
+
Commit immediately after ANY of these:
|
|
14
|
+
1. Each new file — route, migration, config, component, test
|
|
15
|
+
2. Each endpoint or feature implemented
|
|
16
|
+
3. Each migration — commit separately
|
|
17
|
+
4. Each bug fix — no matter how small
|
|
18
|
+
5. Before switching context to a different area
|
|
19
|
+
6. Before risky operations — large refactor, dependency upgrade
|
|
20
|
+
7. Time check — if ~15 minutes since last commit, commit what works
|
|
21
|
+
8. Session end — never leave uncommitted changes (use `wip:` prefix if incomplete)
|
|
22
|
+
|
|
23
|
+
## Push triggers:
|
|
24
|
+
|
|
25
|
+
Push immediately after ANY of these:
|
|
26
|
+
1. After each completed ticket (Post-Shot Routine)
|
|
27
|
+
2. Every 30 minutes
|
|
28
|
+
3. Before switching tickets
|
|
29
|
+
4. Session end — never leave unpushed commits
|
|
30
|
+
|
|
31
|
+
## Commit message format:
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
<type>(<ticket>): <short summary in imperative mood>
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Types: `feat`, `fix`, `refactor`, `docs`, `test`, `chore`, `wip`
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Sprint plan review tiers for catching issues before implementation
|
|
3
|
+
globs:
|
|
4
|
+
alwaysApply: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Sprint Plan Review Loop
|
|
8
|
+
|
|
9
|
+
After creating a sprint plan, run a structured review.
|
|
10
|
+
|
|
11
|
+
## Review Tier Selection
|
|
12
|
+
|
|
13
|
+
| Tier | Rounds | When to use |
|
|
14
|
+
|------|--------|-------------|
|
|
15
|
+
| **Skip** | 0 | Research, infra, or docs-only sprints |
|
|
16
|
+
| **Light** | 1 | 1-2 tickets, familiar patterns, single-package |
|
|
17
|
+
| **Standard** | 2 | 3-4 tickets, multi-package, or schema/API changes |
|
|
18
|
+
| **Deep** | 3 | 5+ tickets, new infrastructure, architectural changes |
|
|
19
|
+
|
|
20
|
+
## Round 1 — Deep Review
|
|
21
|
+
|
|
22
|
+
- Does the plan duplicate existing infrastructure?
|
|
23
|
+
- Are dependencies correct and ordering optimal?
|
|
24
|
+
- Does the approach match codebase patterns?
|
|
25
|
+
- Are there scope gaps or underscoped complexity?
|
|
26
|
+
|
|
27
|
+
## Round 2 — Delta Review (Standard+)
|
|
28
|
+
|
|
29
|
+
Review **only what changed** since Round 1.
|
|
30
|
+
|
|
31
|
+
## Round 3 — Final Sign-off (Deep only)
|
|
32
|
+
|
|
33
|
+
Delta review of Round 2 changes. Expected outcome: approval with minor notes.
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: SLOPE sprint lifecycle checklist — routines for pre-round, per-ticket, and post-round
|
|
3
|
+
globs:
|
|
4
|
+
alwaysApply: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Sprint Checklists (SLOPE Routine Hierarchy)
|
|
8
|
+
|
|
9
|
+
The SLOPE framework organizes sprint work into a hierarchy of routines, mirroring golf's structured approach to each shot, hole, and round.
|
|
10
|
+
|
|
11
|
+
## Pre-Tournament Routine (Course Strategy)
|
|
12
|
+
|
|
13
|
+
Before starting a new phase or project:
|
|
14
|
+
|
|
15
|
+
1. **Build the roadmap** — Create `docs/backlog/roadmap.json` with sprints, dependencies, and phases
|
|
16
|
+
2. **Run `slope roadmap validate`** — Check for dependency cycles, numbering gaps
|
|
17
|
+
3. **Run `slope roadmap review`** — Scope balance, critical path, bottlenecks
|
|
18
|
+
4. **Run `slope roadmap show`** — Dependency graph and parallel tracks
|
|
19
|
+
|
|
20
|
+
## Pre-Round Routine (Sprint Start)
|
|
21
|
+
|
|
22
|
+
Before writing any code in a new sprint:
|
|
23
|
+
|
|
24
|
+
1. **Run `slope briefing`** — Outputs handicap snapshot, hazard index, nutrition alerts, filtered gotchas, and session continuity
|
|
25
|
+
- Use `--categories=testing,api` or `--keywords=migration` to filter for the sprint's work area
|
|
26
|
+
2. **Verify previous scorecard exists** — If the last sprint's scorecard wasn't created, create it now
|
|
27
|
+
3. **Branch hygiene check** — `git branch -a` to confirm no stale branches remain
|
|
28
|
+
4. **Set par and slope** — Par from ticket count (1-2=3, 3-4=4, 5+=5), slope from complexity factors
|
|
29
|
+
|
|
30
|
+
## Pre-Shot Routine (Per-Ticket, Before Code)
|
|
31
|
+
|
|
32
|
+
1. **Select your club** — driver (risky/new), long_iron (multi-package), short_iron (standard), wedge (small), putter (trivial)
|
|
33
|
+
2. **Check the yardage book** — Review relevant codebase sections for files you'll modify
|
|
34
|
+
3. **Scan for hazards** — Check `bunker_locations` from recent scorecards and common issues
|
|
35
|
+
|
|
36
|
+
## Post-Shot Routine (Per-Ticket, After Completion)
|
|
37
|
+
|
|
38
|
+
1. **Score the shot** — in_the_hole (perfect), green (landed), fairway (clean start), or miss direction
|
|
39
|
+
2. **Record hazards** — Note any gotchas encountered
|
|
40
|
+
3. **Check for penalties** — Tests break? Reverts needed?
|
|
41
|
+
4. **Push** — The last push is the recovery point
|
|
42
|
+
|
|
43
|
+
## Post-Hole Routine (Sprint Completion)
|
|
44
|
+
|
|
45
|
+
1. **Build the SLOPE scorecard** — Create scorecard JSON. Run `slope validate`
|
|
46
|
+
2. **Distill learnings** — Update common-issues with new recurring patterns
|
|
47
|
+
3. **Review** — Run `slope review` to generate the sprint review markdown
|
|
48
|
+
4. **Compute handicap** — Run `slope card` to see trending stats
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# SLOPE Sprint Checklist
|
|
2
|
+
|
|
3
|
+
## Pre-Tournament (Course Strategy)
|
|
4
|
+
1. Build roadmap in `docs/backlog/roadmap.json`
|
|
5
|
+
2. Run `slope roadmap validate` — check dependencies and structure
|
|
6
|
+
3. Run `slope roadmap review` — scope balance, critical path, bottlenecks
|
|
7
|
+
4. Run `slope roadmap show` — view dependency graph
|
|
8
|
+
|
|
9
|
+
## Pre-Round (Sprint Start)
|
|
10
|
+
1. Run `slope briefing` — handicap, hazards, gotchas, session continuity
|
|
11
|
+
2. Verify previous scorecard exists
|
|
12
|
+
3. Set par (1-2 tickets=3, 3-4=4, 5+=5) and slope factors
|
|
13
|
+
|
|
14
|
+
## Per-Ticket
|
|
15
|
+
- **Before:** Select club (driver/long_iron/short_iron/wedge/putter), scan hazards
|
|
16
|
+
- **After:** Score shot, record hazards, check penalties, commit + push
|
|
17
|
+
|
|
18
|
+
## Post-Hole (Sprint End)
|
|
19
|
+
1. Build scorecard JSON, run `slope validate`
|
|
20
|
+
2. Update common-issues with new patterns
|
|
21
|
+
3. Run `slope review` for markdown output
|
|
22
|
+
4. Run `slope card` for handicap trends
|
|
23
|
+
|
|
24
|
+
## Commit Discipline
|
|
25
|
+
- Commit after each file, feature, migration, or bug fix
|
|
26
|
+
- Push after each ticket and every 30 minutes
|
|
27
|
+
- Format: `<type>(<ticket>): <summary>` (feat/fix/refactor/docs/test/chore)
|