specpulse 1.3.4__py3-none-any.whl → 1.4.1__py3-none-any.whl

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.
specpulse/__init__.py CHANGED
@@ -3,7 +3,7 @@ SpecPulse: Specification-Driven Development Framework
3
3
  Built for the AI era
4
4
  """
5
5
 
6
- __version__ = "1.3.3"
6
+ __version__ = "1.4.1"
7
7
  __author__ = "SpecPulse"
8
8
  __url__ = "https://github.com/specpulse"
9
9
 
@@ -294,14 +294,14 @@ indexes:
294
294
  - Performance Benchmarks
295
295
  - Security Scenarios
296
296
 
297
- ## Constitution Compliance
297
+ ## SDD Compliance
298
298
 
299
299
  ### Principle Validation
300
- - [ ] Single Responsibility: Each component has one purpose
301
- - [ ] Test-First: Tests written before implementation
302
- - [ ] Documentation: All code is documented
303
- - [ ] Security: Security considered by design
304
- - [ ] Performance: Meets performance targets
300
+ - [ ] Specification First: Requirements clearly defined
301
+ - [ ] Incremental Planning: Phased approach planned
302
+ - [ ] Task Decomposition: Broken into executable tasks
303
+ - [ ] Quality Assurance: Appropriate testing strategy
304
+ - [ ] Architecture Documentation: Decisions recorded
305
305
 
306
306
  ## Risk Assessment
307
307
 
@@ -317,7 +317,7 @@ indexes:
317
317
 
318
318
  ## Success Criteria
319
319
  - [ ] All functional requirements implemented
320
- - [ ] Test coverage > 80%
320
+ - [ ] Appropriate test coverage for project type
321
321
  - [ ] Performance targets met
322
322
  - [ ] Security audit passed
323
323
  - [ ] Documentation complete
@@ -419,79 +419,9 @@ metrics:
419
419
  if template_path.exists():
420
420
  with open(template_path, 'r', encoding='utf-8') as f:
421
421
  return f.read()
422
- # Fallback to embedded template if file not found
423
- return """# Project Constitution
424
-
425
- ## Immutable Principles
426
-
427
- ### Principle 1: Simplicity First
428
- Every solution must start with the simplest approach that could work.
429
- Complexity is added only when proven necessary.
430
-
431
- ### Principle 2: Test-Driven Development
432
- No production code without tests.
433
- Tests are written first, implementation follows.
434
-
435
- ### Principle 3: Single Responsibility
436
- Each module, function, and component does one thing well.
437
- If you need "and" to describe it, split it.
438
-
439
- ### Principle 4: Documentation as Code
440
- Documentation lives with code.
441
- If it's not documented, it doesn't exist.
442
-
443
- ### Principle 5: Security by Design
444
- Security is not an afterthought.
445
- Every feature considers security implications from the start.
446
-
447
- ## Technical Standards
448
-
449
- ### Code Style
450
- - Python: PEP 8 with type hints
451
- - JavaScript: StandardJS
452
- - Go: Official Go formatting
453
-
454
- ### Testing Requirements
455
- - Minimum 80% code coverage
456
- - All API endpoints must have contract tests
457
- - Critical paths require E2E tests
458
-
459
- ### Performance Targets
460
- - API response time: < 200ms (p95)
461
- - Page load time: < 2 seconds
462
- - Database queries: < 50ms
463
-
464
- ### Security Requirements
465
- - All data encrypted in transit (TLS 1.3+)
466
- - Sensitive data encrypted at rest
467
- - Authentication: OAuth 2.0 / JWT
468
- - Authorization: RBAC with least privilege
469
-
470
- ## Architecture Rules
471
-
472
- ### Service Boundaries
473
- - Services communicate only through defined APIs
474
- - No shared databases between services
475
- - Each service owns its data
476
-
477
- ### Data Management
478
- - Single source of truth for each data type
479
- - Event sourcing for audit requirements
480
- - CQRS where read/write patterns differ
481
-
482
- ### Error Handling
483
- - All errors are handled explicitly
484
- - User-facing errors are helpful and actionable
485
- - System errors are logged with context
486
-
487
- ## Amendment Process
488
-
489
- Changes to this constitution require:
490
- 1. Documented rationale
491
- 2. Team consensus
492
- 3. Gradual migration plan
493
- 4. Update to all affected documentation
494
- """
422
+ # Fallback - return empty if template not found
423
+ # Templates should always be loaded from resources/memory/constitution.md
424
+ return ""
495
425
 
496
426
  def get_context_template(self) -> str:
497
427
  """Get context template from file"""
@@ -915,20 +845,24 @@ Validates specifications, plans, or project.
915
845
  4. Plan approved → Use `/sp-task breakdown`
916
846
  5. Before implementation → Use `/validate all`
917
847
 
918
- ## Constitution Rules
848
+ ## SDD Principles
919
849
 
920
- Always enforce these principles:
921
- 1. Simplicity first
922
- 2. Test-driven development
923
- 3. Single responsibility
924
- 4. Documentation as code
925
- 5. Security by design
850
+ Follow these universal principles:
851
+ 1. Specification First
852
+ 2. Incremental Planning
853
+ 3. Task Decomposition
854
+ 4. Traceable Implementation
855
+ 5. Continuous Validation
856
+ 6. Quality Assurance
857
+ 7. Architecture Documentation
858
+ 8. Iterative Refinement
859
+ 9. Stakeholder Alignment
926
860
 
927
861
  ## Context Management
928
862
 
929
863
  - Read `memory/context.md` for project state
930
864
  - Update context after major decisions
931
- - Check `memory/constitution.md` for principles
865
+ - Check `memory/constitution.md` for SDD principles
932
866
  - Reference previous specs for consistency
933
867
 
934
868
  ## Templates
@@ -32,8 +32,8 @@ class Validator:
32
32
  # Validate plans
33
33
  self._validate_plans(project_path, fix, verbose)
34
34
 
35
- # Validate constitution compliance
36
- self._validate_constitution_compliance(project_path, verbose)
35
+ # Validate SDD principles compliance
36
+ self._validate_sdd_compliance(project_path, verbose)
37
37
 
38
38
  return self.results
39
39
 
@@ -101,10 +101,10 @@ class Validator:
101
101
 
102
102
  return self.results
103
103
 
104
- def validate_constitution(self, project_path: Path, verbose: bool = False) -> List[Dict]:
105
- """Validate constitution compliance"""
104
+ def validate_sdd_compliance(self, project_path: Path, verbose: bool = False) -> List[Dict]:
105
+ """Validate SDD principles compliance"""
106
106
  self.results = []
107
- self._validate_constitution_compliance(project_path, verbose)
107
+ self._validate_sdd_compliance(project_path, verbose)
108
108
  return self.results
109
109
 
110
110
  def _validate_structure(self, project_path: Path):
@@ -283,27 +283,31 @@ class Validator:
283
283
  "message": "No implementation plans found"
284
284
  })
285
285
 
286
- def _validate_constitution_compliance(self, project_path: Path, verbose: bool):
287
- """Validate compliance with constitution principles"""
286
+ def _validate_sdd_compliance(self, project_path: Path, verbose: bool):
287
+ """Validate compliance with SDD principles"""
288
288
  constitution_path = project_path / "memory" / "constitution.md"
289
289
 
290
290
  if not constitution_path.exists():
291
291
  self.results.append({
292
292
  "status": "error",
293
- "message": "Constitution file not found"
293
+ "message": "SDD principles file (constitution.md) not found"
294
294
  })
295
295
  return
296
296
 
297
297
  with open(constitution_path, 'r', encoding='utf-8') as f:
298
298
  constitution = f.read()
299
299
 
300
- # Check for key principles
300
+ # Check for key SDD principles
301
301
  principles = [
302
- "Simplicity First",
303
- "Test-Driven Development",
304
- "Single Responsibility",
305
- "Documentation as Code",
306
- "Security by Design"
302
+ "Specification First",
303
+ "Incremental Planning",
304
+ "Task Decomposition",
305
+ "Traceable Implementation",
306
+ "Continuous Validation",
307
+ "Quality Assurance",
308
+ "Architecture Documentation",
309
+ "Iterative Refinement",
310
+ "Stakeholder Alignment"
307
311
  ]
308
312
 
309
313
  for principle in principles:
@@ -311,12 +315,12 @@ class Validator:
311
315
  if verbose:
312
316
  self.results.append({
313
317
  "status": "success",
314
- "message": f"Constitution includes: {principle}"
318
+ "message": f"SDD principle found: {principle}"
315
319
  })
316
320
  else:
317
321
  self.results.append({
318
322
  "status": "warning",
319
- "message": f"Constitution missing principle: {principle}"
323
+ "message": f"Missing SDD principle: {principle}"
320
324
  })
321
325
 
322
326
  # Check config for constitution enforcement
@@ -325,15 +329,15 @@ class Validator:
325
329
  with open(config_path, 'r', encoding='utf-8') as f:
326
330
  config = yaml.safe_load(f)
327
331
 
328
- if config.get("constitution", {}).get("enforce", False):
332
+ if config.get("sdd", {}).get("enforce", True):
329
333
  self.results.append({
330
334
  "status": "success",
331
- "message": "Constitution enforcement enabled"
335
+ "message": "SDD principles enforcement enabled"
332
336
  })
333
337
  else:
334
338
  self.results.append({
335
339
  "status": "warning",
336
- "message": "Constitution enforcement disabled"
340
+ "message": "SDD principles enforcement disabled"
337
341
  })
338
342
 
339
343
  def _load_constitution(self, project_root: Path):
@@ -362,7 +366,7 @@ class Validator:
362
366
  self._load_constitution(project_root)
363
367
  return self.constitution is not None
364
368
 
365
- def validate_spec(self, spec_path: Path, verbose: bool = False) -> Dict:
369
+ def validate_spec_file(self, spec_path: Path, verbose: bool = False) -> Dict:
366
370
  """Validate a single specification file"""
367
371
  if not spec_path.exists():
368
372
  return {"status": "error", "message": f"Spec file not found: {spec_path}"}
@@ -381,7 +385,7 @@ class Validator:
381
385
 
382
386
  return result
383
387
 
384
- def validate_plan(self, plan_path: Path, verbose: bool = False) -> Dict:
388
+ def validate_plan_file(self, plan_path: Path, verbose: bool = False) -> Dict:
385
389
  """Validate a single plan file"""
386
390
  if not plan_path.exists():
387
391
  return {"status": "error", "message": f"Plan file not found: {plan_path}"}
@@ -400,7 +404,7 @@ class Validator:
400
404
 
401
405
  return result
402
406
 
403
- def validate_task(self, task_path: Path, verbose: bool = False) -> Dict:
407
+ def validate_task_file(self, task_path: Path, verbose: bool = False) -> Dict:
404
408
  """Validate a single task file"""
405
409
  if not task_path.exists():
406
410
  return {"status": "error", "message": f"Task file not found: {task_path}"}
@@ -417,16 +421,16 @@ class Validator:
417
421
 
418
422
  return result
419
423
 
420
- def validate_constitution_compliance(self, spec_content: str, verbose: bool = False) -> Dict:
421
- """Validate that content complies with constitution"""
424
+ def validate_sdd_principles(self, spec_content: str, verbose: bool = False) -> Dict:
425
+ """Validate that content complies with SDD principles"""
422
426
  result = {"status": "compliant", "violations": []}
423
427
 
424
428
  if not self.constitution:
425
429
  return result
426
430
 
427
- # Check for simplicity principle
428
- if 'complexity' in spec_content.lower() and 'simple' not in spec_content.lower():
429
- result["violations"].append("Simplicity principle: Complex solution without justification")
431
+ # Check for specification clarity
432
+ if '[needs clarification]' in spec_content.lower():
433
+ result["violations"].append("Specification First: Contains unresolved clarifications")
430
434
 
431
435
  if result["violations"]:
432
436
  result["status"] = "non-compliant"
@@ -435,9 +439,9 @@ class Validator:
435
439
 
436
440
  def check_phase_gate(self, gate_name: str, context: Dict) -> bool:
437
441
  """Check if a phase gate passes"""
438
- # Simple gate checking logic
439
- if gate_name == "simplicity":
440
- return context.get("module_count", 0) <= 3
442
+ # Gate checking logic
443
+ if gate_name == "specification":
444
+ return context.get("spec_complete", False)
441
445
  elif gate_name == "test-first":
442
446
  return context.get("tests_written", False)
443
447
  return True
@@ -448,26 +452,26 @@ class Validator:
448
452
  "specs": [],
449
453
  "plans": [],
450
454
  "tasks": [],
451
- "constitution_compliance": True
455
+ "sdd_compliance": True
452
456
  }
453
457
 
454
458
  # Validate specs
455
459
  specs_dir = project_root / "specs"
456
460
  if specs_dir.exists():
457
461
  for spec_file in specs_dir.glob("*/spec*.md"):
458
- results["specs"].append(self.validate_spec(spec_file, verbose))
462
+ results["specs"].append(self.validate_spec_file(spec_file, verbose))
459
463
 
460
464
  # Validate plans
461
465
  plans_dir = project_root / "plans"
462
466
  if plans_dir.exists():
463
467
  for plan_file in plans_dir.glob("*/plan*.md"):
464
- results["plans"].append(self.validate_plan(plan_file, verbose))
468
+ results["plans"].append(self.validate_plan_file(plan_file, verbose))
465
469
 
466
470
  # Validate tasks
467
471
  tasks_dir = project_root / "tasks"
468
472
  if tasks_dir.exists():
469
473
  for task_file in tasks_dir.glob("*/task*.md"):
470
- results["tasks"].append(self.validate_task(task_file, verbose))
474
+ results["tasks"].append(self.validate_task_file(task_file, verbose))
471
475
 
472
476
  return results
473
477
 
@@ -108,8 +108,8 @@ When called with `/sp-decompose $ARGUMENTS`, I will:
108
108
  - Check for circular dependencies
109
109
  - Verify data consistency boundaries
110
110
  - Ensure single responsibility principle
111
- - Validate against constitutional principles:
112
- - Simplicity (≤3 modules per service)
111
+ - Validate against SDD principles:
112
+ - Clear service boundaries
113
113
  - Clear boundaries
114
114
  - Testability
115
115
 
@@ -180,28 +180,28 @@ specs/001-authentication/decomposition/
180
180
  └── migration-plan.md # Decomposition strategy
181
181
  ```
182
182
 
183
- ## Constitutional Compliance
183
+ ## SDD Compliance
184
184
 
185
- **Article I: Simplicity**
186
- - Each service limited to 3 core modules
187
- - Clear, focused responsibilities
188
- - Minimal inter-service dependencies
185
+ **Principle 1: Specification First**
186
+ - Each service has clear specifications
187
+ - Service boundaries well-defined
188
+ - Requirements traced to services
189
189
 
190
- **Article V: Single Responsibility**
191
- - Services own their data
192
- - Clear aggregate boundaries
193
- - Independent deployment capability
190
+ **Principle 3: Task Decomposition**
191
+ - Services broken into manageable tasks
192
+ - Clear service-specific work items
193
+ - Integration tasks identified
194
194
 
195
- **Article VIII: Framework Selection**
196
- - Choose appropriate tech stack per service
197
- - Leverage existing libraries
198
- - Standardize communication protocols
195
+ **Principle 7: Architecture Documentation**
196
+ - Service boundaries documented
197
+ - Technology choices recorded
198
+ - Integration patterns defined
199
199
 
200
200
  ## Integration with SpecPulse Workflow
201
201
 
202
202
  1. **After `/sp-spec create`**:
203
203
  - AI analyzes spec complexity
204
- - Suggests decomposition if >3 modules detected
204
+ - Suggests decomposition if complexity warrants it
205
205
  - User confirms with `/sp-decompose`
206
206
 
207
207
  2. **During decomposition**:
@@ -223,7 +223,7 @@ specs/001-authentication/decomposition/
223
223
  5. **With `/sp-validate`**:
224
224
  - Validates service boundaries
225
225
  - Checks circular dependencies
226
- - Ensures constitutional compliance
226
+ - Ensures SDD compliance
227
227
 
228
228
  ## Error Handling
229
229
 
@@ -11,7 +11,7 @@ allowed_tools:
11
11
 
12
12
  # /sp-plan Command
13
13
 
14
- Generate implementation plans from specifications following SpecPulse methodology with constitutional compliance and AI-optimized templates.
14
+ Generate implementation plans from specifications following SpecPulse methodology with SDD compliance and AI-optimized templates.
15
15
 
16
16
  ## CRITICAL: File Edit Restrictions
17
17
  - **NEVER EDIT**: templates/, scripts/, commands/, .claude/, .gemini/
@@ -36,7 +36,7 @@ When called with `/sp-plan $ARGUMENTS`, I will:
36
36
  - If no context found, ask user to specify feature or run `/sp-pulse` first
37
37
 
38
38
  2. **Parse arguments** and determine action:
39
- - If `validate`: Check plan against constitutional gates
39
+ - If `validate`: Check plan against SDD gates
40
40
  - If `optimize`: Improve existing plan complexity
41
41
  - Otherwise: Generate new plan
42
42
 
@@ -57,12 +57,12 @@ When called with `/sp-plan $ARGUMENTS`, I will:
57
57
  bash scripts/sp-pulse-plan.sh "$FEATURE_DIR"
58
58
  ```
59
59
 
60
- e. **Run Constitutional Phase Gates** (Article VII):
61
- - Simplicity Gate: ≤3 modules justification
62
- - Anti-Abstraction Gate: Direct framework usage
63
- - Test-First Gate: Tests before implementation
64
- - Integration-First Gate: Real services over mocks
65
- - Research Gate: Technology choices documented
60
+ e. **Run SDD Compliance Gates**:
61
+ - Specification First: Requirements clear and traced
62
+ - Incremental Planning: Phased approach defined
63
+ - Task Decomposition: Clear breakdown planned
64
+ - Quality Assurance: Testing strategy defined
65
+ - Architecture Documentation: Decisions recorded
66
66
 
67
67
  f. **Generate AI-optimized plan** by COPYING template from templates/plan.md to plans/XXX-feature/:
68
68
  ```markdown
@@ -91,10 +91,10 @@ When called with `/sp-plan $ARGUMENTS`, I will:
91
91
  * Security considerations
92
92
  * Deployment strategy with rollback plans
93
93
 
94
- h. **Complexity tracking** (Article VII):
95
- - Document all complexity exceptions with justifications
96
- - Create mitigation strategies for each exception
97
- - Track optimization opportunities
94
+ h. **Architecture documentation**:
95
+ - Document all architectural decisions with rationale
96
+ - Create improvement strategies for technical debt
97
+ - Track future enhancement opportunities
98
98
 
99
99
  i. **Version management**: Check existing plan files and create next version (plan-001.md, plan-002.md, etc.)
100
100
  j. **Write NEW plan file** to `plans/XXX-feature/plan-XXX.md`
@@ -107,8 +107,8 @@ When called with `/sp-plan $ARGUMENTS`, I will:
107
107
  ```bash
108
108
  bash scripts/sp-pulse-plan.sh "$FEATURE_DIR"
109
109
  ```
110
- d. Verify all constitutional gates are addressed
111
- e. Check complexity exceptions have proper justifications
110
+ d. Verify all SDD gates are addressed
111
+ e. Check architectural decisions have proper documentation
112
112
  f. Validate test-first approach is documented
113
113
  g. Ensure integration strategy uses real services
114
114
  h. Report detailed validation results
@@ -124,38 +124,38 @@ When called with `/sp-plan $ARGUMENTS`, I will:
124
124
  e. **Generate optimization recommendations**
125
125
  f. **Create new version**: Write optimized plan as next version (plan-XXX.md)
126
126
 
127
- ## Constitutional Phase Gates (Phase -1)
127
+ ## SDD Compliance Gates (Phase -1)
128
128
 
129
129
  **Must pass before implementation:**
130
130
 
131
- ### Article VII: Simplicity Gate
132
- - [ ] Using ≤3 projects/modules for initial implementation
133
- - [ ] No future-proofing without documented need
134
- - [ ] Direct framework usage (no unnecessary wrappers)
135
- - [ ] Single model representation per concept
136
-
137
- ### Article VII: Anti-Abstraction Gate
138
- - [ ] Using framework features directly
139
- - [ ] No unnecessary abstraction layers
140
- - [ ] Clear, simple interfaces
141
- - [ ] Avoiding premature optimization
142
-
143
- ### Article III: Test-First Gate
144
- - [ ] Test specifications written
145
- - [ ] Tests reviewed and approved
146
- - [ ] Tests confirmed to FAIL before implementation
147
- - [ ] TDD cycle planned (Red-Green-Refactor)
148
-
149
- ### Article VIII: Integration-First Gate
150
- - [ ] Contract tests defined
151
- - [ ] Using real services over mocks
152
- - [ ] Production-like test environment planned
153
- - [ ] End-to-end test scenarios identified
154
-
155
- ### Article VI: Research Gate
156
- - [ ] Library options researched
157
- - [ ] Performance implications documented
158
- - [ ] Security considerations analyzed
131
+ ### Principle 1: Specification First
132
+ - [ ] Clear requirements documented
133
+ - [ ] User stories with acceptance criteria
134
+ - [ ] [NEEDS CLARIFICATION] markers used
135
+ - [ ] Functional and non-functional requirements
136
+
137
+ ### Principle 2: Incremental Planning
138
+ - [ ] Work broken into valuable phases
139
+ - [ ] Each phase delivers working software
140
+ - [ ] Milestones and checkpoints defined
141
+ - [ ] Features prioritized by business value
142
+
143
+ ### Principle 3: Task Decomposition
144
+ - [ ] Tasks are specific and actionable
145
+ - [ ] Effort estimates provided
146
+ - [ ] Definition of Done clear
147
+ - [ ] Dependencies identified
148
+
149
+ ### Principle 6: Quality Assurance
150
+ - [ ] Testing strategy appropriate for project
151
+ - [ ] Acceptance criteria testable
152
+ - [ ] Code review process defined
153
+ - [ ] Quality metrics identified
154
+
155
+ ### Principle 7: Architecture Documentation
156
+ - [ ] Technology choices documented
157
+ - [ ] Integration points identified
158
+ - [ ] Technical debt tracked
159
159
  - [ ] Trade-offs documented
160
160
 
161
161
  ## Examples
@@ -184,7 +184,7 @@ User: /sp-plan validate
184
184
  I will run comprehensive validation:
185
185
  ```
186
186
  PLAN_FILE=plans/001-user-authentication/plan.md
187
- CONSTITUTIONAL_GATES_STATUS=COMPLETED
187
+ SDD_GATES_STATUS=COMPLETED
188
188
  MISSING_SECTIONS=0
189
189
  STATUS=validation_complete
190
190
  ```
@@ -199,8 +199,8 @@ I will analyze and recommend complexity reductions.
199
199
 
200
200
  - **AI-optimized templates** with Jinja2-style variables
201
201
  - **Script execution** with Bash
202
- - **Constitutional compliance tracking** with gate status
203
- - **Complexity exception management** with justifications
202
+ - **SDD compliance tracking** with gate status
203
+ - **Architecture decision tracking** with rationale
204
204
  - **Performance and security considerations** integrated
205
205
  - **Integration-first approach** with real service usage
206
206
  - **Detailed validation reporting** with specific recommendations
@@ -209,7 +209,7 @@ I will analyze and recommend complexity reductions.
209
209
  ## Error Handling
210
210
 
211
211
  - Specification existence validation
212
- - Constitutional gate compliance checking
212
+ - SDD gate compliance checking
213
213
  - Template structure validation
214
214
  - Directory structure verification
215
215
  - Feature context auto-discovery
@@ -11,7 +11,7 @@ allowed_tools:
11
11
 
12
12
  # /sp-pulse Command
13
13
 
14
- Initialize a new feature following SpecPulse methodology with constitutional compliance.
14
+ Initialize a new feature following SpecPulse methodology with SDD compliance.
15
15
 
16
16
  ## CRITICAL SECURITY NOTE
17
17
  **NEVER edit files in these protected directories:**
@@ -53,17 +53,17 @@ When called with `/sp-pulse $ARGUMENTS`, I will:
53
53
 
54
54
  5. **Validate structure** and report comprehensive status
55
55
 
56
- ## Constitutional Compliance
56
+ ## SDD Compliance
57
57
 
58
- **Article I: Simplicity**
58
+ **Principle 1: Specification First**
59
59
  - [ ] Feature name is clear and specific
60
- - [ ] No unnecessary abstractions in initial structure
61
- - [ ] Single responsibility per feature
60
+ - [ ] Ready for requirements documentation
61
+ - [ ] Structure supports specifications
62
62
 
63
- **Article II: Anti-Abstraction**
64
- - [ ] Direct template usage (no wrapper layers)
65
- - [ ] Minimal initial structure
66
- - [ ] Framework-ready files
63
+ **Principle 2: Incremental Planning**
64
+ - [ ] Initial structure supports phased development
65
+ - [ ] Templates ready for iterative work
66
+ - [ ] Supports any project type
67
67
 
68
68
  ## Example
69
69
  ```
@@ -100,7 +100,7 @@ The `/sp-pulse` command creates the feature structure and then guides you throug
100
100
  1. **Phase -1**: **MANUAL** - Use `/sp-spec` to create specification with AI assistance
101
101
  2. **Phase 0**: **MANUAL** - Use `/sp-plan` to generate implementation plan
102
102
  3. **Phase 1**: **MANUAL** - Use `/sp-task` to create task breakdown
103
- 4. **Implementation**: Begin development following constitutional principles
103
+ 4. **Implementation**: Begin development following SDD principles
104
104
 
105
105
  ## Context Detection
106
106
 
@@ -85,7 +85,7 @@ When called with `/sp-spec $ARGUMENTS`, I will:
85
85
  ```
86
86
  - Count `[NEEDS CLARIFICATION]` markers
87
87
  - Verify acceptance criteria follow Given-When-Then format
88
- - Check constitutional compliance indicators
88
+ - Check SDD compliance indicators
89
89
  - Report detailed validation results
90
90
 
91
91
  6. **For `/sp-spec clarify`:**
@@ -105,7 +105,7 @@ User: /sp-spec create user authentication system with OAuth2 and JWT tokens
105
105
  ```
106
106
  I will create a comprehensive specification using AI-optimized templates with:
107
107
  - Jinja2-style variables for AI processing
108
- - Constitutional compliance sections
108
+ - SDD compliance sections
109
109
  - Testable acceptance criteria
110
110
  - Automated validation
111
111
 
@@ -137,23 +137,28 @@ I will systematically address all [NEEDS CLARIFICATION] markers.
137
137
 
138
138
  The AI-optimized specification template includes:
139
139
  - **Metadata**: Template variables for AI processing
140
- - **Constitutional Gates**: Pre-implementation validation
140
+ - **SDD Gates**: Pre-implementation validation
141
141
  - **Functional Requirements**: Structured Must/Should/Could/Won't
142
142
  - **User Stories**: Given-When-Then acceptance criteria
143
143
  - **Validation Checklist**: Automated completeness checks
144
144
  - **Integration Points**: AI command workflow guidance
145
145
 
146
- ## Constitutional Compliance
146
+ ## SDD Compliance
147
147
 
148
- **Article III: Test-First**
149
- - [ ] Acceptance criteria written before implementation
150
- - [ ] Test scenarios clearly defined
151
- - [ ] Integration points identified
148
+ **Principle 1: Specification First**
149
+ - [ ] Requirements clearly documented
150
+ - [ ] Acceptance criteria defined
151
+ - [ ] User stories included
152
+
153
+ **Principle 6: Quality Assurance**
154
+ - [ ] Test scenarios defined
155
+ - [ ] Acceptance criteria testable
156
+ - [ ] Quality metrics specified
152
157
 
153
- **Article VI: Research**
158
+ **Principle 7: Architecture Documentation**
154
159
  - [ ] Technology choices documented
160
+ - [ ] Integration points identified
155
161
  - [ ] Security considerations addressed
156
- - [ ] Performance requirements specified
157
162
 
158
163
  ## Enhanced Error Handling
159
164