teamspec 4.2.0 → 4.3.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.
Files changed (40) hide show
  1. package/lib/cli.js +135 -4
  2. package/lib/linter.js +192 -3
  3. package/package.json +1 -1
  4. package/teamspec-core/agents/AGENT_BA.md +15 -0
  5. package/teamspec-core/agents/AGENT_BOOTSTRAP.md +463 -7
  6. package/teamspec-core/agents/AGENT_DES.md +16 -0
  7. package/teamspec-core/agents/AGENT_DEV.md +24 -2
  8. package/teamspec-core/agents/AGENT_FA.md +25 -2
  9. package/teamspec-core/agents/AGENT_FEEDBACK.md +24 -1
  10. package/teamspec-core/agents/AGENT_FIX.md +16 -0
  11. package/teamspec-core/agents/AGENT_PO.md +17 -0
  12. package/teamspec-core/agents/AGENT_QA.md +16 -0
  13. package/teamspec-core/agents/AGENT_SA.md +16 -0
  14. package/teamspec-core/agents/AGENT_SM.md +17 -0
  15. package/teamspec-core/agents/README.md +32 -2
  16. package/teamspec-core/copilot-instructions.md +54 -8
  17. package/teamspec-core/templates/active-sprint-template.md +30 -1
  18. package/teamspec-core/templates/bai-template.md +57 -1
  19. package/teamspec-core/templates/bug-report-template.md +59 -0
  20. package/teamspec-core/templates/business-analysis-template.md +57 -0
  21. package/teamspec-core/templates/decision-log-template.md +58 -0
  22. package/teamspec-core/templates/dev-plan-template.md +51 -0
  23. package/teamspec-core/templates/epic-template.md +75 -6
  24. package/teamspec-core/templates/feature-increment-template.md +111 -10
  25. package/teamspec-core/templates/feature-template.md +89 -15
  26. package/teamspec-core/templates/functional-spec-template.md +43 -1
  27. package/teamspec-core/templates/refinement-notes-template.md +38 -1
  28. package/teamspec-core/templates/ri-template.md +50 -0
  29. package/teamspec-core/templates/rt-template.md +54 -0
  30. package/teamspec-core/templates/sd-template.md +60 -1
  31. package/teamspec-core/templates/sdi-template.md +62 -1
  32. package/teamspec-core/templates/sprint-goal-template.md +41 -1
  33. package/teamspec-core/templates/sprint-template.md +53 -0
  34. package/teamspec-core/templates/sprints-index-template.md +30 -1
  35. package/teamspec-core/templates/story-template.md +71 -4
  36. package/teamspec-core/templates/storymap-template.md +33 -0
  37. package/teamspec-core/templates/ta-template.md +67 -0
  38. package/teamspec-core/templates/tai-template.md +62 -1
  39. package/teamspec-core/templates/tc-template.md +56 -1
  40. package/teamspec-core/templates/uat-pack-template.md +52 -1
@@ -25,6 +25,23 @@
25
25
 
26
26
  ---
27
27
 
28
+ ### 1.1 PO Quick-Lookup (LLM Retrieval Aid)
29
+
30
+ | Intent | File Pattern | Notes |
31
+ |--------|--------------|-------|
32
+ | Product definition | `products/*/product.yml` | Use product-template.yml |
33
+ | Product features | `products/*/features/f-PRX-*.md` | Canonical Feature Canon |
34
+ | Product BA | `products/*/business-analysis/ba-PRX-*.md` | Production BA |
35
+ | Product TA/SD | `products/*/technical-architecture/ta-PRX-*.md` | Production arch |
36
+ | New project | `projects/*/project.yml` | Use project-template.yml |
37
+ | Deployment decisions | Deployment gate checklist | PO approves sync |
38
+ | PRX registry | `spec/4.0/registry.yml` | Prefix assignments |
39
+ | Product lifecycle | `product.yml` status field | active/deprecated/retired |
40
+
41
+ **Search tip:** For production truth, search `products/*/features/`. For proposed changes, search `projects/*/feature-increments/`.
42
+
43
+ ---
44
+
28
45
  ## 2. Inherited Rules
29
46
 
30
47
  This agent inherits all rules from [AGENT_BOOTSTRAP.md](./AGENT_BOOTSTRAP.md), including:
@@ -23,6 +23,22 @@
23
23
 
24
24
  ---
25
25
 
26
+ ### 1.1 QA Quick-Lookup (LLM Retrieval Aid)
27
+
28
+ | Intent | File Pattern | Notes |
29
+ |--------|--------------|-------|
30
+ | Test cases | `qa/test-cases/tc-f-PRX-*.md` | Use tc-template.md |
31
+ | Bug reports | `qa/bugs/BUG-*.md` | Use bug-report-template.md |
32
+ | UAT packs | `qa/uat/uat-f-PRX-*.md` | Use uat-pack-template.md |
33
+ | Regression sets | `products/*/qa/regression/reg-PRX-*.md` | Product-level |
34
+ | Story ACs | `stories/S-*.md` Acceptance Criteria | Verify against FI |
35
+ | FI TO-BE | `feature-increments/fi-PRX-*.md` TO-BE | Expected behavior |
36
+ | Test automation | Test code in `/tests/` | E2E and integration |
37
+
38
+ **Search tip:** For verification, search `qa/` directory. For expected behavior, search `feature-increments/` TO-BE sections.
39
+
40
+ ---
41
+
26
42
  ## 2. Inherited Rules
27
43
 
28
44
  This agent inherits all rules from [AGENT_BOOTSTRAP.md](./AGENT_BOOTSTRAP.md), including:
@@ -23,6 +23,22 @@
23
23
 
24
24
  ---
25
25
 
26
+ ### 1.1 SA Quick-Lookup (LLM Retrieval Aid)
27
+
28
+ | Intent | File Pattern | Notes |
29
+ |--------|--------------|-------|
30
+ | New TA increment | `technical-architecture/tai-PRX-*.md` | Use tai-template.md |
31
+ | New SD increment | `solution-designs/sdi-PRX-*.md` | Use sdi-template.md |
32
+ | Existing TA | `products/*/technical-architecture/ta-PRX-*.md` | Product-level canonical |
33
+ | Existing SD | `products/*/solution-designs/sd-PRX-*.md` | Product-level canonical |
34
+ | Technical decisions | `decisions/dec-PRX-*.md` or ADRs | Use decision-log-template.md |
35
+ | AS-IS/TO-BE analysis | Feature-Increment sections | Technical state transitions |
36
+ | Cross-feature impact | TA/SD Impact sections | Assess dependencies |
37
+
38
+ **Search tip:** For technical approach, search `technical-architecture/` and `solution-designs/` first. For decisions, check `decisions/`.
39
+
40
+ ---
41
+
26
42
  ## 2. Inherited Rules
27
43
 
28
44
  This agent inherits all rules from [AGENT_BOOTSTRAP.md](./AGENT_BOOTSTRAP.md), including:
@@ -23,6 +23,23 @@
23
23
 
24
24
  ---
25
25
 
26
+ ### 1.1 SM Quick-Lookup (LLM Retrieval Aid)
27
+
28
+ | Intent | File Pattern | Notes |
29
+ |--------|--------------|-------|
30
+ | Current sprint | `sprints/active-sprint.md` | Living document |
31
+ | Sprint goal | `sprints/sprint-N/sprint-goal.md` | Use sprint-goal-template.md |
32
+ | Sprint history | `sprints/sprints-index.md` | All sprints index |
33
+ | Story status | `stories/S-*.md` Status field | Track progress |
34
+ | Velocity metrics | Sprint metrics in sprint folder | Historical data |
35
+ | Definition of Ready | `definitions/definition-of-ready.md` | Story readiness |
36
+ | Definition of Done | `definitions/definition-of-done.md` | Completion criteria |
37
+ | Deployment checklist | Deployment gate section | Before PO sync |
38
+
39
+ **Search tip:** For sprint operations, search `sprints/`. For story tracking, search `stories/`. Never assign priorities (PO domain).
40
+
41
+ ---
42
+
26
43
  ## 2. Inherited Rules
27
44
 
28
45
  This agent inherits all rules from [AGENT_BOOTSTRAP.md](./AGENT_BOOTSTRAP.md), including:
@@ -1,8 +1,8 @@
1
1
  # TeamSpec 4.0 Agent Prompts
2
2
 
3
- > **Version:** 4.0
3
+ > **Version:** 4.0.1
4
4
  > **Purpose:** Predefined AI agents for TeamSpec-driven software delivery
5
- > **Last Updated:** 2026-01-09
5
+ > **Last Updated:** 2026-01-12
6
6
 
7
7
  ---
8
8
 
@@ -23,6 +23,36 @@ Each agent:
23
23
 
24
24
  ---
25
25
 
26
+ ## LLM Search Guide
27
+
28
+ When searching for context, use these patterns:
29
+
30
+ | If you need... | Search for | File pattern |
31
+ |----------------|-----------|--------------|
32
+ | Current production behavior | Product Feature | `products/**/f-{PRX}-*.md` |
33
+ | Proposed behavior change | Feature-Increment | `projects/**/fi-{PRX}-*.md` |
34
+ | Business context & rationale | Business Analysis | `**/ba-{PRX}-*.md` |
35
+ | Technical constraints | Technical Architecture | `**/ta-{PRX}-*.md` |
36
+ | Story execution details | Story | `**/s-e*-*.md` |
37
+ | Normative rules | Registry | `spec/4.0/registry.yml` |
38
+
39
+ ---
40
+
41
+ ## Template Selection Guide
42
+
43
+ | I need to... | Use Template | Owner |
44
+ |--------------|--------------|-------|
45
+ | Document production behavior | `feature-template.md` | FA |
46
+ | Propose a behavior change | `feature-increment-template.md` | FA |
47
+ | Write a development task | `story-template.md` | FA |
48
+ | Group stories into a deliverable | `epic-template.md` | FA |
49
+ | Record an architecture decision | `ta-template.md` | SA |
50
+ | Track a bug | `bug-report-template.md` | QA |
51
+ | Plan a sprint | `sprint-template.md` | SM |
52
+ | Document business context | `business-analysis-template.md` | BA |
53
+
54
+ ---
55
+
26
56
  ## Agent Architecture
27
57
 
28
58
  ```mermaid
@@ -19,6 +19,45 @@ You are an expert Agile assistant working in a **TeamSpec 4.0** enabled workspac
19
19
 
20
20
  ---
21
21
 
22
+ ## ⚠️ CRITICAL: Epistemic Safety Contract
23
+
24
+ > **All agents are bound by the Epistemic Safety Contract (AGENT_BOOTSTRAP.md Section 12).**
25
+ > **Assume your output will be legally audited. Any unsupported claim is a critical failure.**
26
+
27
+ ### Core Rules (NON-NEGOTIABLE)
28
+
29
+ | Rule | Requirement |
30
+ |------|-------------|
31
+ | **ES-001** | No guessing — If not explicitly stated → `{TBD}` |
32
+ | **ES-002** | Evidence required — Every claim needs file path + section |
33
+ | **ES-003** | `{TBD}` is mandatory — No hedging language ("likely", "probably") |
34
+ | **ES-004** | AS-IS is verbatim — Copy from Canon, never summarize |
35
+ | **ES-005** | Source-locked — Only use files in workspace, no domain knowledge |
36
+ | **ES-006** | Fail closed — STOP, output `{TBD}`, explain what's missing |
37
+
38
+ ### Required Output Structure
39
+
40
+ All analytical or update outputs MUST include:
41
+
42
+ ```markdown
43
+ ### Sources Consulted
44
+ - path/to/file.md → Section X
45
+
46
+ ### Unresolved Items
47
+ - Topic A → {TBD} (missing source)
48
+ ```
49
+
50
+ ### Violation Severity
51
+
52
+ - **Invented fact** → CRITICAL (output rejected)
53
+ - **Missing `{TBD}`** → CRITICAL (output rejected)
54
+ - **Silent gap-filling** → CRITICAL (output rejected)
55
+ - **Hedging instead of `{TBD}`** → HIGH (must correct)
56
+
57
+ **Full contract:** `.teamspec/agents/AGENT_BOOTSTRAP.md` Section 12
58
+
59
+ ---
60
+
22
61
  ## What is TeamSpec?
23
62
 
24
63
  TeamSpec is an operating model that treats the **Product Canon** as the SINGLE SOURCE OF TRUTH for all production behavior. Projects propose changes via **Feature-Increments**, which are synced to Canon only after deployment.
@@ -374,14 +413,21 @@ All document templates are available in `.teamspec/templates/`:
374
413
 
375
414
  When assisting with TeamSpec:
376
415
 
377
- 1. **Template First**: Always use templates from `.teamspec/templates/`
378
- 2. **No Placeholders**: Never leave TBD/TODO unless explicitly asked
379
- 3. **Markdown Strict**: Output properly formatted Markdown
380
- 4. **Canon Reference**: Always link stories to Feature-Increments, FIs to Features
381
- 5. **Role Awareness**: Ask which role the user is acting as if unclear
382
- 6. **Delta Format**: Feature-Increments MUST have AS-IS/TO-BE sections
383
- 7. **Unique IDs**: Ensure all artifacts have unique sequential IDs
384
- 8. **PRX Consistency**: Use the product's assigned prefix everywhere
416
+ > ⚠️ **CRITICAL: Epistemic Safety Contract applies to ALL outputs.**
417
+ > Assume your output will be legally audited. Any unsupported claim is a critical failure.
418
+
419
+ 1. **Epistemic Safety First**: Every claim needs explicit source OR `{TBD}` — NO EXCEPTIONS
420
+ 2. **No Guessing**: If information is not in workspace files `{TBD}`, never infer
421
+ 3. **Template First**: Always use templates from `.teamspec/templates/`
422
+ 4. **No Placeholders**: Never leave TBD/TODO unless information is genuinely unknown
423
+ 5. **Markdown Strict**: Output properly formatted Markdown
424
+ 6. **Canon Reference**: Always link stories to Feature-Increments, FIs to Features
425
+ 7. **Role Awareness**: Ask which role the user is acting as if unclear
426
+ 8. **Delta Format**: Feature-Increments MUST have AS-IS/TO-BE sections
427
+ 9. **Unique IDs**: Ensure all artifacts have unique sequential IDs
428
+ 10. **PRX Consistency**: Use the product's assigned prefix everywhere
429
+ 11. **Source Disclosure**: Include `### Sources Consulted` in analytical outputs
430
+ 12. **Uncertainty Disclosure**: Include `### Unresolved Items` listing all `{TBD}` items
385
431
 
386
432
  ---
387
433
 
@@ -1,8 +1,37 @@
1
+ ---
2
+ artifact_kind: active-sprint
3
+ spec_version: "4.0"
4
+ template_version: "4.0.1"
5
+ role_owner: SM
6
+ keywords:
7
+ - active sprint
8
+ - current sprint
9
+ - sprint status
10
+ - sprint progress
11
+ - burndown
12
+ - sprint dashboard
13
+ - live sprint
14
+ - sprint tracker
15
+ - work in progress
16
+ anti_keywords:
17
+ - sprint history
18
+ - closed sprint
19
+ - retrospective
20
+ - sprint planning
21
+ - backlog
22
+ links_required:
23
+ - type: sprint-goal
24
+ pattern: "sprints/sprint-*/sprint-goal.md"
25
+ completion_rules:
26
+ living_doc_rule: "This file always reflects current active sprint"
27
+ status_rule: "Progress summary must be kept current"
28
+ ---
29
+
1
30
  # Active Sprint
2
31
 
3
32
  > **Living Document**: This file always reflects the current active sprint.
4
33
 
5
- > **Template Version**: 2.0
34
+ > **Template Version**: 4.0.1
6
35
  > **Last Updated**: 2026-01-07
7
36
 
8
37
  ---
@@ -1,4 +1,52 @@
1
- # Business Analysis Increment: `<bai-PRX-XXX-description>`
1
+ ---
2
+ # === LLM Retrieval Metadata ===
3
+ artifact_kind: bai
4
+ spec_version: "4.0"
5
+ template_version: "4.0.1"
6
+
7
+ # === Ownership ===
8
+ role_owner: BA
9
+ artifact_type: Project Execution
10
+ canonicity: project-execution
11
+ lifecycle: project-bound
12
+
13
+ # === Naming ===
14
+ id_pattern: "bai-{PRX}-{NNN}"
15
+ filename_pattern: "bai-{PRX}-{NNN}-{description}.md"
16
+
17
+ # === Required Relationships ===
18
+ links_required:
19
+ - type: business-analysis
20
+ pattern: "ba-{PRX}-{NNN}"
21
+ optional: false
22
+ - type: feature-increment
23
+ pattern: "fi-{PRX}-{NNN}"
24
+ optional: true
25
+
26
+ # === Search Optimization ===
27
+ keywords:
28
+ - business analysis increment
29
+ - BAI
30
+ - business delta
31
+ - domain change
32
+ aliases:
33
+ - business change proposal
34
+ anti_keywords:
35
+ - technical design
36
+ - implementation
37
+ - story
38
+
39
+ # === Generation Contract ===
40
+ completion_rules:
41
+ placeholders: "Fill {braces} only"
42
+ required_sections:
43
+ - Overview
44
+ - Business Context
45
+ optional_sections:
46
+ - Impact Analysis
47
+ ---
48
+
49
+ # Business Analysis Increment: `bai-{PRX}-{NNN}-{description}`
2
50
 
3
51
  > **ID:** bai-PRX-XXX
4
52
  > **Product:** `<product-id>` (PRX)
@@ -30,12 +78,20 @@
30
78
 
31
79
  ## 1. Overview
32
80
 
81
+ > **Contract:** Brief description of the business analysis increment.
82
+ > **Required precision:** What this BAI adds or changes to the parent BA.
83
+ > **Not this:** Full BA content or implementation details.
84
+
33
85
  _Brief description of the business analysis increment specific to this project._
34
86
 
35
87
  ---
36
88
 
37
89
  ## 2. Business Context
38
90
 
91
+ > **Contract:** Business problem, stakeholders, and goals for this increment.
92
+ > **Required precision:** Specific business justification for the change.
93
+ > **Not this:** Technical solutions or implementation approach.
94
+
39
95
  ### 2.1 Business Problem
40
96
 
41
97
  _What business problem does this address?_
@@ -1,3 +1,54 @@
1
+ ---
2
+ # === LLM Retrieval Metadata ===
3
+ artifact_kind: bug
4
+ spec_version: "4.0"
5
+ template_version: "4.0.1"
6
+
7
+ # === Ownership ===
8
+ role_owner: QA
9
+ artifact_type: Project Execution
10
+ canonicity: project-execution
11
+ lifecycle: project-bound
12
+
13
+ # === Naming ===
14
+ id_pattern: "bug-{project-id}-{NNN}"
15
+ filename_pattern: "bug-{project-id}-{NNN}-{description}.md"
16
+
17
+ # === Required Relationships ===
18
+ links_required:
19
+ - type: project
20
+ pattern: "project.yml"
21
+ optional: false
22
+
23
+ # === Search Optimization ===
24
+ keywords:
25
+ - bug
26
+ - defect
27
+ - issue
28
+ - error
29
+ - problem
30
+ - regression
31
+ aliases:
32
+ - defect report
33
+ - issue report
34
+ anti_keywords:
35
+ - feature request
36
+ - enhancement
37
+ - story
38
+
39
+ # === Generation Contract ===
40
+ completion_rules:
41
+ placeholders: "Fill {braces} only"
42
+ classification_required: true
43
+ required_sections:
44
+ - Description
45
+ - Steps to Reproduce
46
+ - Bug Classification
47
+ optional_sections:
48
+ - Screenshots
49
+ - Logs
50
+ ---
51
+
1
52
  # Bug Report: `bug-{project-id}-{NNN}-{description}`
2
53
 
3
54
  <!--
@@ -47,6 +98,10 @@
47
98
 
48
99
  ## Description
49
100
 
101
+ > **Contract:** Clear summary of what's wrong.
102
+ > **Required precision:** Observable symptom, not root cause guess.
103
+ > **Not this:** Steps to reproduce (those go in next section).
104
+
50
105
  > Brief summary of the bug.
51
106
 
52
107
  [Clear, concise description of what's wrong]
@@ -92,6 +147,10 @@
92
147
 
93
148
  ## Bug Classification (MANDATORY)
94
149
 
150
+ > **Contract:** Exactly one classification determining fix responsibility.
151
+ > **Required precision:** Select ONE with evidence.
152
+ > **Not this:** Multiple classifications or "unknown".
153
+
95
154
  <!-- TEAMSPEC RULE: TS-QA-002 - Exactly one must be checked -->
96
155
 
97
156
  > ⚠️ Select **exactly ONE** classification. This determines who fixes what.
@@ -1,3 +1,52 @@
1
+ ---
2
+ # === LLM Retrieval Metadata ===
3
+ artifact_kind: ba
4
+ spec_version: "4.0"
5
+ template_version: "4.0.1"
6
+
7
+ # === Ownership ===
8
+ role_owner: BA
9
+ artifact_type: Product Canon
10
+ canonicity: canon
11
+ lifecycle: permanent
12
+
13
+ # === Naming ===
14
+ id_pattern: "ba-{PRX}-{NNN}"
15
+ filename_pattern: "ba-{PRX}-{NNN}-{description}.md"
16
+
17
+ # === Required Relationships ===
18
+ links_required:
19
+ - type: product
20
+ pattern: "product.yml"
21
+ optional: false
22
+
23
+ # === Search Optimization ===
24
+ keywords:
25
+ - business analysis
26
+ - domain analysis
27
+ - business context
28
+ - stakeholder analysis
29
+ - business process
30
+ aliases:
31
+ - BA document
32
+ - business requirements
33
+ anti_keywords:
34
+ - technical design
35
+ - implementation
36
+ - story
37
+ - feature behavior
38
+
39
+ # === Generation Contract ===
40
+ completion_rules:
41
+ placeholders: "Fill {braces} only"
42
+ required_sections:
43
+ - Executive Summary
44
+ - Business Context
45
+ optional_sections:
46
+ - Stakeholder Analysis
47
+ - Process Flows
48
+ ---
49
+
1
50
  # Business Analysis: `ba-{PRX}-{NNN}-{description}`
2
51
 
3
52
  <!--
@@ -36,6 +85,10 @@
36
85
 
37
86
  ## 1. Executive Summary
38
87
 
88
+ > **Contract:** Problem, solution, and value proposition in brief.
89
+ > **Required precision:** Clear who/what/why for the business need.
90
+ > **Not this:** Detailed requirements or implementation scope.
91
+
39
92
  - **Problem Statement**: Who is the user? What is their pain?
40
93
  - **Proposed Solution**: High-level description.
41
94
  - **Value**: Why are we doing this? (Revenue, Compliance, UX).
@@ -44,6 +97,10 @@
44
97
 
45
98
  ## 2. Scope
46
99
 
100
+ > **Contract:** Explicit boundaries of what is and is not included.
101
+ > **Required precision:** Specific inclusions and exclusions.
102
+ > **Not this:** Feature details or implementation approach.
103
+
47
104
  ### In Scope
48
105
 
49
106
  - [Feature 1]
@@ -1,3 +1,55 @@
1
+ ---
2
+ # === LLM Retrieval Metadata ===
3
+ artifact_kind: decision
4
+ spec_version: "4.0"
5
+ template_version: "4.0.1"
6
+
7
+ # === Ownership ===
8
+ role_owner: PO
9
+ artifact_type: Product Canon
10
+ canonicity: canon
11
+ lifecycle: permanent
12
+
13
+ # === Naming ===
14
+ id_pattern: "dec-{PRX}-{NNN}"
15
+ filename_pattern: "dec-{PRX}-{NNN}-{description}.md"
16
+
17
+ # === Required Relationships ===
18
+ links_required:
19
+ - type: product
20
+ pattern: "product.yml"
21
+ optional: false
22
+ - type: feature
23
+ pattern: "f-{PRX}-{NNN}"
24
+ optional: false
25
+ note: "Must link to affected features"
26
+
27
+ # === Search Optimization ===
28
+ keywords:
29
+ - decision
30
+ - business decision
31
+ - rationale
32
+ - scope decision
33
+ - priority decision
34
+ aliases:
35
+ - decision record
36
+ - decision log entry
37
+ anti_keywords:
38
+ - technical architecture
39
+ - implementation
40
+ - story
41
+
42
+ # === Generation Contract ===
43
+ completion_rules:
44
+ placeholders: "Fill {braces} only"
45
+ required_sections:
46
+ - Context
47
+ - Decision
48
+ - Impact
49
+ optional_sections:
50
+ - Alternatives Considered
51
+ ---
52
+
1
53
  # Decision: `dec-{PRX}-{NNN}-{description}`
2
54
 
3
55
  <!--
@@ -49,6 +101,12 @@
49
101
 
50
102
  ## Context
51
103
 
104
+ > **Contract:** Business context and constraints that led to this decision.
105
+ > **Required precision:** Specific situation, stakeholders, and drivers.
106
+ > **Not this:** The decision itself or technical implementation.
107
+
108
+ ## Context
109
+
52
110
  _What situation or problem prompted this decision?_
53
111
 
54
112
  [Describe the business situation, trigger event, or problem that requires a decision.]
@@ -1,3 +1,50 @@
1
+ ---
2
+ # === LLM Retrieval Metadata ===
3
+ artifact_kind: devplan
4
+ spec_version: "4.0"
5
+ template_version: "4.0.1"
6
+
7
+ # === Ownership ===
8
+ role_owner: DEV
9
+ artifact_type: Project Execution
10
+ canonicity: project-execution
11
+ lifecycle: sprint-bound
12
+
13
+ # === Naming ===
14
+ id_pattern: "dp-e{EEE}-s{SSS}"
15
+ filename_pattern: "dp-e{EEE}-s{SSS}-{description}.md"
16
+
17
+ # === Required Relationships ===
18
+ links_required:
19
+ - type: story
20
+ pattern: "s-e{EEE}-{SSS}"
21
+ optional: false
22
+
23
+ # === Search Optimization ===
24
+ keywords:
25
+ - dev plan
26
+ - development plan
27
+ - implementation plan
28
+ - task breakdown
29
+ aliases:
30
+ - implementation approach
31
+ - technical plan
32
+ anti_keywords:
33
+ - story
34
+ - feature
35
+ - requirements
36
+
37
+ # === Generation Contract ===
38
+ completion_rules:
39
+ placeholders: "Fill {braces} only"
40
+ required_sections:
41
+ - Metadata
42
+ - Tasks
43
+ optional_sections:
44
+ - Dependencies
45
+ - Risks
46
+ ---
47
+
1
48
  # Dev Plan: `dp-e{EEE}-s{SSS}-{description}`
2
49
 
3
50
  <!--
@@ -30,6 +77,10 @@
30
77
 
31
78
  ## Metadata
32
79
 
80
+ > **Contract:** Key identifiers and story linkage for this dev plan.
81
+ > **Required precision:** Story ID, owner, dates, and status must be filled.
82
+ > **Not this:** Implementation details or requirements.
83
+
33
84
  | Field | Value |
34
85
  |-------|-------|
35
86
  | **Dev Plan ID** | dp-e{EEE}-s{SSS} |