claw-code/.guardrails/docs/sprints/SPRINT_TEMPLATE.md

14 KiB

Sprint Task: [TITLE]

Sprint Date: YYYY-MM-DD (Day) Archive After: YYYY-MM-DD (Day) [+7 days] Sprint Focus: [One-line description of what this sprint accomplishes] Priority: P0 (Critical) | P1 (Blocking) | P2 (Normal) | P3 (Low) Estimated Effort: [X minutes/hours] Status: PENDING | IN_PROGRESS | COMPLETE | BLOCKED | FAILED


SAFETY PROTOCOLS (MANDATORY)

Pre-Execution Safety Checks

Check Requirement Verify
READ FIRST NEVER edit a file without reading it first [ ]
SCOPE LOCK Only modify files explicitly in scope [ ]
NO FEATURE CREEP Do NOT add features or "improve" unrelated code [ ]
PRODUCTION FIRST Production code created BEFORE test code [ ]
TEST/PROD SEPARATION Test infrastructure is separate from production [ ]
ASK IF UNCERTAIN If test/production boundary unclear, ask user [ ]
BACKUP AWARENESS Know the rollback command before editing [ ]
TEST BEFORE COMMIT All tests must pass before committing [ ]

Guardrails Reference

Full guardrails: docs/AGENT_GUARDRAILS.md

MCP Checkpoint (Optional)

If using MCP checkpointing, create checkpoint before starting:

[MCP: create_checkpoint("sprint-YYYY-MM-DD-before-start")]

See MCP_CHECKPOINTING.md for details.


PROBLEM STATEMENT

[Describe the problem in 2-3 sentences. Include error messages if applicable.]

[Include error output or symptoms here]

Why: [Root cause explanation]

Where: [File and line numbers]


SCOPE BOUNDARY

IN SCOPE (may modify):
  - File: [path/to/file.ext]
  - Lines: [X-Y]
  - Change: [Brief description]

OUT OF SCOPE (DO NOT TOUCH):
  - All other files
  - All other methods/functions
  - Tests (read-only for verification)
  - Documentation (this file excluded)

EXECUTION DIRECTIONS

Overview

TASK SEQUENCE:

  STEP 1: [Action] ──────────────────────► [Purpose]
       │
       ▼
  STEP 2: [Action] ──────────────────────► [Purpose]
       │
       ▼
  STEP 3: [Action] ──────────────────────► [Purpose]
       │
       ▼
  DONE: Report to user ──────────────────► Summary

STEP-BY-STEP EXECUTION

STEP 1: [Title]

Action: [Describe what to do]

TOOL: [Read | Edit | Bash | etc.]
[Tool-specific parameters]

Checkpoint: [What to verify before proceeding]

Decision Point:

  • Success → Proceed to STEP 2
  • Failure → HALT and report to user

STEP 2: [Title]

Action: [Describe what to do]

TOOL: [Read | Edit | Bash | etc.]
[Tool-specific parameters]

Checkpoint: [What to verify]

Decision Point:

  • Success → Proceed to STEP 3
  • Failure → ROLLBACK and report

Rollback Command (if needed):

git checkout HEAD -- [file]

STEP 3: [Title]

Action: [Describe what to do]

TOOL: [Read | Edit | Bash | etc.]
[Tool-specific parameters]

Expected Output:

[What successful output looks like]

Decision Point:

  • Success → Proceed to DONE
  • Failure → ROLLBACK and report

DONE: Commit and Report

COMMIT AFTER VALIDATION (see COMMIT_WORKFLOW.md):

git add <modified-files>
git commit -m "<type>(<scope>): <description>

Authored by TheArchitectit"

MCP Checkpoint (Optional):

[MCP: create_checkpoint("sprint-YYYY-MM-DD-after-complete")]

Action: Provide completion summary

REPORT FORMAT:

## Sprint Complete: [Title]

**Status:** SUCCESS / FAILED
**File Modified:** [path]
**Lines Changed:** [X-Y]
**Commit Hash:** [hash]

### Changes Made:
- [Change 1]
- [Change 2]

### Verification Results:
- Syntax check: PASSED
- Unit tests: PASSED / SKIPPED
- Manual verification: X/X PASSED

### Next Steps:
- Review commit with: git show HEAD
- Push when ready with: git push origin [branch]

COMPLETION GATE (MANDATORY)

This section MUST be completed before marking the sprint done. Compatible with: Claude Code, OpenCode, and all LLM agents

Validation Loop Rules

MAX_CYCLES: 3
MAX_TIME: 10 minutes
EXIT_CONDITIONS:
  - All BLOCKING items pass, OR
  - MAX_CYCLES reached (report blockers), OR
  - MAX_TIME exceeded (report status)

LOOP BEHAVIOR:
  1. Run all validation checks
  2. If BLOCKING items fail → fix and re-run (cycle++)
  3. If only NON-BLOCKING items fail → note and proceed
  4. Report final status to user

Core Validation Checklist

Run these checks. Loop until all BLOCKING items pass or limits reached.

Check Command Pass Condition Blocking? Status
Files Saved git status No unexpected untracked files YES [ ]
Changes Staged git diff --cached --stat Target files staged YES [ ]
Syntax Valid See language table below Exit code 0 YES [ ]
Tests Pass See language table below Exit code 0 YES [ ]
Production Code Manual check Production code exists YES [ ]
Test Infrastructure Manual check Test infrastructure is separate YES [ ]
Test Environment Manual check Test environment isolated YES [ ]
Committed git log -1 --oneline Shows sprint commit YES [ ]
Docs Updated Manual check INDEX_MAP.md current (if applicable) NO [ ]
No Secrets git diff --cached No API keys, tokens, passwords YES [ ]
No Prod Creds in Tests grep -i "prod" test/* No production credentials in test files YES [ ]
No Test Creds in Prod grep -i "test" src/* No test credentials in production code YES [ ]

Cycle: ___ / 3 Time Started: : Current Status: VALIDATING | PASSED | BLOCKED | TIMEOUT

Language-Specific Validation Commands

Select the appropriate commands for your stack:

JavaScript / TypeScript (React, Next.js, Node.js)

# Syntax/Type Check
npx tsc --noEmit                    # TypeScript projects
npx eslint . --ext .js,.jsx,.ts,.tsx  # Linting

# Tests
npm test                            # Jest/Vitest (default)
npm run test:unit                   # Unit tests only
npx vitest run                      # Vitest
npx jest --passWithNoTests          # Jest with no-fail on empty

# Build Verification
npm run build                       # Production build
npx next build                      # Next.js specific

Rust

# Syntax/Type Check
cargo check                         # Fast syntax check
cargo clippy -- -D warnings         # Linting (strict)

# Tests
cargo test                          # All tests
cargo test --lib                    # Library tests only
cargo test --doc                    # Doc tests

# Build Verification
cargo build --release               # Release build

Go

# Syntax/Type Check
go build ./...                      # Compile check
go vet ./...                        # Static analysis
golangci-lint run                   # Comprehensive linting

# Tests
go test ./...                       # All tests
go test -v ./...                    # Verbose
go test -race ./...                 # Race detection

# Build Verification
go build -o /dev/null ./...         # Build without output

Python

# Syntax/Type Check
python -m py_compile *.py           # Syntax check
python -m mypy .                    # Type checking
ruff check .                        # Fast linting (2023+)
pylint **/*.py                      # Traditional linting

# Tests
pytest                              # Default
pytest -v                           # Verbose
python -m pytest --tb=short         # Short traceback

# Build Verification
pip install -e . --dry-run          # Dry run install

Ruby / Rails

# Syntax Check
ruby -c app/**/*.rb                 # Syntax check
bundle exec rubocop                 # Linting

# Tests
bundle exec rspec                   # RSpec
bundle exec rails test              # Rails default

# Build Verification
bundle exec rails assets:precompile # Asset build

Java / Kotlin (Gradle/Maven)

# Syntax/Compile
./gradlew compileJava               # Gradle
./gradlew compileKotlin             # Kotlin
mvn compile                         # Maven

# Tests
./gradlew test                      # Gradle
mvn test                            # Maven

# Build
./gradlew build                     # Full build
mvn package                         # Maven package

C# / .NET

# Syntax/Build
dotnet build                        # Build
dotnet build --no-restore           # Skip restore

# Tests
dotnet test                         # All tests
dotnet test --no-build              # Skip rebuild

# Publish
dotnet publish -c Release           # Release build

Swift

# Syntax/Build
swift build                         # Build
swiftlint                           # Linting

# Tests
swift test                          # Run tests

# Release
swift build -c release              # Release build

Elixir

# Syntax/Compile
mix compile --warnings-as-errors    # Strict compile
mix credo --strict                  # Linting

# Tests
mix test                            # All tests

# Build
mix release                         # Release build

CLI-Specific Notes

For Claude Code Users

- Use TodoWrite to track validation progress
- Use Bash tool for running validation commands
- If validation fails, Claude Code will show errors inline
- Hooks can automate pre-commit validation (see hooks config)

For OpenCode Users

- Use /run or direct shell for validation commands
- Check exit codes explicitly: echo $?
- Use /diff to review changes before commit
- OpenCode supports similar tool patterns to Claude Code

Validation Loop Template

Copy and execute this validation sequence:

VALIDATION CYCLE 1:
────────────────────

1. [ ] git status                    → Clean? ___
2. [ ] [syntax check command]        → Pass?  ___
3. [ ] [test command]                → Pass?  ___
4. [ ] git diff --cached             → No secrets? ___
5. [ ] git log -1 (after commit)     → Committed? ___

RESULT: ___ BLOCKING issues found

If BLOCKING > 0 and CYCLE < 3:
  → Fix issues
  → Increment CYCLE
  → Re-run checks

If BLOCKING == 0:
  → PROCEED to completion report

Completion Report Template

After validation passes, report:

## Completion Gate: PASSED ✓

**Validation Summary:**
- Cycles Used: X / 3
- Time Elapsed: X minutes
- Blocking Issues: 0
- Non-Blocking Notes: [list any]

**Checks Passed:**
- [x] Files saved and staged
- [x] Syntax valid
- [x] Tests pass
- [x] Committed
- [x] No secrets exposed

**Ready for:** Push / Review / Merge

ACCEPTANCE CRITERIA

# Criterion Test Pass Condition
1 [Criterion 1] [How to test] [What passes]
2 [Criterion 2] [How to test] [What passes]
3 [Criterion 3] [How to test] [What passes]

ROLLBACK PROCEDURE

# Immediate rollback - discard all changes
git checkout HEAD -- [file]

# Verify rollback
git status

# Report to user
echo "Rollback complete. File restored to original state."

REFERENCE

[Optional: Include reference code, documentation links, or examples]


QUICK REFERENCE CARD

+------------------------------------------------------------------+
|                    SPRINT QUICK REFERENCE                        |
+------------------------------------------------------------------+
| TARGET FILE:  [path/to/file]                                     |
| TARGET LINES: [X-Y]                                              |
| CHANGE TYPE:  [Brief description]                                |
+------------------------------------------------------------------+
| SAFETY:                                                          |
|   - Read before edit                                             |
|   - Single file only                                             |
|   - Production code CREATED FIRST                                |
|   - Test/production infrastructure SEPARATE                       |
|   - Test before commit                                           |
|   - No push without permission                                   |
+------------------------------------------------------------------+
| TEST/PRODUCTION SEPARATION:                                      |
|   - Production code BEFORE test code                             |
|   - Separate database instances                                  |
|   - Separate service endpoints                                   |
|   - Separate user accounts                                       |
|   - AKS USER if uncertain                                        |
+------------------------------------------------------------------+
| HALT IF:                                                         |
|   - Conditions don't match                                       |
|   - Any check fails                                              |
|   - Uncertain about anything                                     |
|   - Test/production boundary unclear                             |
+------------------------------------------------------------------+
| ROLLBACK: git checkout HEAD -- [file]                            |
+------------------------------------------------------------------+

Created: YYYY-MM-DD Authored by: TheArchitectit Archive Date: YYYY-MM-DD Version: 1.1