agile-context-engineering 0.3.0 → 0.5.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 (139) hide show
  1. package/.claude-plugin/marketplace.json +18 -0
  2. package/.claude-plugin/plugin.json +10 -0
  3. package/CHANGELOG.md +7 -1
  4. package/LICENSE +51 -51
  5. package/README.md +330 -318
  6. package/agents/ace-code-discovery-analyst.md +245 -245
  7. package/agents/ace-code-integration-analyst.md +248 -248
  8. package/agents/ace-code-reviewer.md +375 -375
  9. package/agents/ace-product-owner.md +365 -361
  10. package/agents/ace-project-researcher.md +606 -606
  11. package/agents/ace-research-synthesizer.md +228 -228
  12. package/agents/ace-technical-application-architect.md +315 -315
  13. package/agents/ace-wiki-mapper.md +449 -445
  14. package/bin/install.js +605 -195
  15. package/hooks/ace-check-update.js +71 -62
  16. package/hooks/ace-statusline.js +107 -89
  17. package/hooks/hooks.json +14 -0
  18. package/package.json +7 -5
  19. package/shared/lib/ace-core.js +361 -0
  20. package/shared/lib/ace-core.test.js +308 -0
  21. package/shared/lib/ace-github.js +753 -0
  22. package/shared/lib/ace-story.js +400 -0
  23. package/shared/lib/ace-story.test.js +250 -0
  24. package/{agile-context-engineering → shared}/utils/questioning.xml +110 -110
  25. package/{agile-context-engineering → shared}/utils/ui-formatting.md +299 -299
  26. package/{commands/ace/execute-story.md → skills/execute-story/SKILL.md} +116 -138
  27. package/skills/execute-story/script.js +291 -0
  28. package/skills/execute-story/script.test.js +261 -0
  29. package/{agile-context-engineering/templates/product/story.xml → skills/execute-story/story-template.xml} +451 -451
  30. package/skills/execute-story/walkthrough-template.xml +255 -0
  31. package/{agile-context-engineering/workflows/execute-story.xml → skills/execute-story/workflow.xml} +1221 -1219
  32. package/skills/help/SKILL.md +71 -0
  33. package/skills/help/script.js +315 -0
  34. package/skills/help/script.test.js +183 -0
  35. package/{agile-context-engineering/workflows/help.xml → skills/help/workflow.xml} +544 -533
  36. package/{commands/ace/init-coding-standards.md → skills/init-coding-standards/SKILL.md} +91 -83
  37. package/{agile-context-engineering/templates/wiki/coding-standards.xml → skills/init-coding-standards/coding-standards-template.xml} +531 -531
  38. package/skills/init-coding-standards/script.js +50 -0
  39. package/skills/init-coding-standards/script.test.js +70 -0
  40. package/{agile-context-engineering/workflows/init-coding-standards.xml → skills/init-coding-standards/workflow.xml} +381 -386
  41. package/skills/map-cross-cutting/SKILL.md +126 -0
  42. package/{agile-context-engineering/templates/wiki → skills/map-cross-cutting}/system-cross-cutting.xml +197 -197
  43. package/skills/map-cross-cutting/workflow.xml +330 -0
  44. package/skills/map-guide/SKILL.md +126 -0
  45. package/{agile-context-engineering/templates/wiki → skills/map-guide}/guide.xml +137 -137
  46. package/skills/map-guide/workflow.xml +320 -0
  47. package/skills/map-pattern/SKILL.md +125 -0
  48. package/{agile-context-engineering/templates/wiki → skills/map-pattern}/pattern.xml +159 -159
  49. package/skills/map-pattern/workflow.xml +331 -0
  50. package/{commands/ace/map-story.md → skills/map-story/SKILL.md} +180 -165
  51. package/{agile-context-engineering/templates/wiki → skills/map-story/templates}/decizions.xml +115 -115
  52. package/skills/map-story/templates/guide.xml +137 -0
  53. package/skills/map-story/templates/pattern.xml +159 -0
  54. package/skills/map-story/templates/system-cross-cutting.xml +197 -0
  55. package/{agile-context-engineering/templates/wiki → skills/map-story/templates}/system.xml +381 -381
  56. package/{agile-context-engineering/templates/wiki → skills/map-story/templates}/tech-debt-index.xml +125 -125
  57. package/{agile-context-engineering/templates/wiki → skills/map-story/templates}/walkthrough.xml +255 -255
  58. package/{agile-context-engineering/workflows/map-story.xml → skills/map-story/workflow.xml} +1046 -1046
  59. package/{commands/ace/map-subsystem.md → skills/map-subsystem/SKILL.md} +155 -140
  60. package/skills/map-subsystem/script.js +51 -0
  61. package/skills/map-subsystem/script.test.js +68 -0
  62. package/skills/map-subsystem/templates/decizions.xml +115 -0
  63. package/skills/map-subsystem/templates/guide.xml +137 -0
  64. package/{agile-context-engineering/templates/wiki → skills/map-subsystem/templates}/module-discovery.xml +174 -174
  65. package/skills/map-subsystem/templates/pattern.xml +159 -0
  66. package/{agile-context-engineering/templates/wiki → skills/map-subsystem/templates}/subsystem-architecture.xml +343 -343
  67. package/{agile-context-engineering/templates/wiki → skills/map-subsystem/templates}/subsystem-structure.xml +234 -234
  68. package/skills/map-subsystem/templates/system-cross-cutting.xml +197 -0
  69. package/skills/map-subsystem/templates/system.xml +381 -0
  70. package/skills/map-subsystem/templates/walkthrough.xml +255 -0
  71. package/{agile-context-engineering/workflows/map-subsystem.xml → skills/map-subsystem/workflow.xml} +1173 -1178
  72. package/skills/map-sys-doc/SKILL.md +125 -0
  73. package/skills/map-sys-doc/system.xml +381 -0
  74. package/skills/map-sys-doc/workflow.xml +336 -0
  75. package/{commands/ace/map-system.md → skills/map-system/SKILL.md} +103 -92
  76. package/skills/map-system/script.js +75 -0
  77. package/skills/map-system/script.test.js +73 -0
  78. package/{agile-context-engineering/templates/wiki → skills/map-system/templates}/system-architecture.xml +254 -254
  79. package/{agile-context-engineering/templates/wiki → skills/map-system/templates}/system-structure.xml +177 -177
  80. package/{agile-context-engineering/templates/wiki → skills/map-system/templates}/testing-framework.xml +283 -283
  81. package/{agile-context-engineering/templates/wiki → skills/map-system/templates}/wiki-readme.xml +296 -296
  82. package/{agile-context-engineering/workflows/map-system.xml → skills/map-system/workflow.xml} +667 -672
  83. package/{commands/ace/map-walkthrough.md → skills/map-walkthrough/SKILL.md} +140 -127
  84. package/skills/map-walkthrough/walkthrough.xml +255 -0
  85. package/{agile-context-engineering/workflows/map-walkthrough.xml → skills/map-walkthrough/workflow.xml} +457 -457
  86. package/{commands/ace/plan-backlog.md → skills/plan-backlog/SKILL.md} +93 -83
  87. package/{agile-context-engineering/templates/product/product-backlog.xml → skills/plan-backlog/product-backlog-template.xml} +231 -231
  88. package/skills/plan-backlog/script.js +121 -0
  89. package/skills/plan-backlog/script.test.js +83 -0
  90. package/{agile-context-engineering/workflows/plan-backlog.xml → skills/plan-backlog/workflow.xml} +1348 -1356
  91. package/{commands/ace/plan-feature.md → skills/plan-feature/SKILL.md} +99 -89
  92. package/{agile-context-engineering/templates/product/feature.xml → skills/plan-feature/feature-template.xml} +361 -361
  93. package/skills/plan-feature/script.js +131 -0
  94. package/skills/plan-feature/script.test.js +80 -0
  95. package/{agile-context-engineering/workflows/plan-feature.xml → skills/plan-feature/workflow.xml} +1487 -1495
  96. package/{commands/ace/plan-product-vision.md → skills/plan-product-vision/SKILL.md} +91 -81
  97. package/{agile-context-engineering/templates/product/product-vision.xml → skills/plan-product-vision/product-vision-template.xml} +227 -227
  98. package/skills/plan-product-vision/script.js +51 -0
  99. package/skills/plan-product-vision/script.test.js +69 -0
  100. package/{agile-context-engineering/workflows/plan-product-vision.xml → skills/plan-product-vision/workflow.xml} +337 -342
  101. package/{commands/ace/plan-story.md → skills/plan-story/SKILL.md} +139 -159
  102. package/skills/plan-story/script.js +295 -0
  103. package/skills/plan-story/script.test.js +240 -0
  104. package/skills/plan-story/story-template.xml +458 -0
  105. package/{agile-context-engineering/workflows/plan-story.xml → skills/plan-story/workflow.xml} +1301 -944
  106. package/{commands/ace/research-external-solution.md → skills/research-external-solution/SKILL.md} +120 -138
  107. package/{agile-context-engineering/templates/product/external-solution.xml → skills/research-external-solution/external-solution-template.xml} +832 -832
  108. package/skills/research-external-solution/script.js +229 -0
  109. package/skills/research-external-solution/script.test.js +134 -0
  110. package/{agile-context-engineering/workflows/research-external-solution.xml → skills/research-external-solution/workflow.xml} +657 -659
  111. package/{commands/ace/research-integration-solution.md → skills/research-integration-solution/SKILL.md} +121 -135
  112. package/{agile-context-engineering/templates/product/story-integration-solution.xml → skills/research-integration-solution/integration-solution-template.xml} +1015 -1015
  113. package/skills/research-integration-solution/script.js +223 -0
  114. package/skills/research-integration-solution/script.test.js +134 -0
  115. package/{agile-context-engineering/workflows/research-integration-solution.xml → skills/research-integration-solution/workflow.xml} +711 -713
  116. package/{commands/ace/research-story-wiki.md → skills/research-story-wiki/SKILL.md} +101 -116
  117. package/skills/research-story-wiki/script.js +223 -0
  118. package/skills/research-story-wiki/script.test.js +138 -0
  119. package/{agile-context-engineering/templates/product/story-wiki.xml → skills/research-story-wiki/story-wiki-template.xml} +194 -194
  120. package/{agile-context-engineering/workflows/research-story-wiki.xml → skills/research-story-wiki/workflow.xml} +473 -475
  121. package/{commands/ace/research-technical-solution.md → skills/research-technical-solution/SKILL.md} +131 -147
  122. package/skills/research-technical-solution/script.js +223 -0
  123. package/skills/research-technical-solution/script.test.js +134 -0
  124. package/{agile-context-engineering/templates/product/story-technical-solution.xml → skills/research-technical-solution/technical-solution-template.xml} +1025 -1025
  125. package/{agile-context-engineering/workflows/research-technical-solution.xml → skills/research-technical-solution/workflow.xml} +761 -763
  126. package/{commands/ace/review-story.md → skills/review-story/SKILL.md} +99 -109
  127. package/skills/review-story/script.js +249 -0
  128. package/skills/review-story/script.test.js +169 -0
  129. package/skills/review-story/story-template.xml +451 -0
  130. package/{agile-context-engineering/workflows/review-story.xml → skills/review-story/workflow.xml} +279 -281
  131. package/{commands/ace/update.md → skills/update/SKILL.md} +65 -56
  132. package/{agile-context-engineering/workflows/update.xml → skills/update/workflow.xml} +33 -18
  133. package/agile-context-engineering/src/ace-tools.js +0 -2881
  134. package/agile-context-engineering/src/ace-tools.test.js +0 -1089
  135. package/agile-context-engineering/templates/_command.md +0 -54
  136. package/agile-context-engineering/templates/_workflow.xml +0 -17
  137. package/agile-context-engineering/templates/config.json +0 -0
  138. package/agile-context-engineering/templates/product/integration-solution.xml +0 -0
  139. package/commands/ace/help.md +0 -93
@@ -1,194 +1,194 @@
1
- <story-wiki>
2
-
3
- <purpose>
4
- Template for the `## Relevant Wiki` section that gets APPENDED to the story file
5
- (`.ace/artifacts/product/&lt;id-epic_name&gt;/&lt;id-feature_name&gt;/&lt;id-story_name&gt;/&lt;id-story_name&gt;.md`)
6
- and optionally updated in the GitHub issue body.
7
-
8
- This is pass 2 of the story specification pipeline (see story.xml composition).
9
- It runs AFTER sections 1-8 (business requirements) are complete.
10
-
11
- A research agent reads the User Story, Description, and Acceptance Criteria from pass 1,
12
- then scans the `.docs/wiki/` directory to select documents that are relevant for
13
- designing a good technical solution for this story.
14
-
15
- The output is written directly INTO the story file — replacing or populating the
16
- `## Relevant Wiki` section placeholder left by pass 1.
17
-
18
- This section is consumed by pass 5 (technical solution) as the primary reference
19
- for which wiki documents to load when designing the implementation approach.
20
- </purpose>
21
-
22
- <output-format>
23
-
24
- <section name="relevant-wiki">
25
- ## Relevant Wiki
26
-
27
- &lt;!-- Pass 2. Populated by research-story-wiki workflow.
28
- A research agent reads the User Story, Description, and AC,
29
- then scans `.docs/wiki/` to select documents relevant to
30
- designing a good technical solution for this story.
31
-
32
- Group references by wiki document type. Only include documents that
33
- directly inform implementation — do not list tangentially related docs.
34
- Each entry: relative path + one-line reason why it's relevant. --&gt;
35
-
36
- ### System-Wide
37
-
38
- &lt;!-- MANDATORY — all four system-wide docs are always included.
39
- These are mandatory context for every story — no reason needed. --&gt;
40
-
41
- - `.docs/wiki/system-wide/system-structure.md` — Mandatory system-wide context
42
- - `.docs/wiki/system-wide/system-architecture.md` — Mandatory system-wide context
43
- - `.docs/wiki/system-wide/coding-standards.md` — Mandatory system-wide context
44
- - `.docs/wiki/system-wide/testing-framework.md` — Mandatory system-wide context
45
-
46
- ### Systems
47
- - [`.docs/wiki/subsystems/[name]/systems/[system].md`] — [Why this system is relevant to this story]
48
-
49
- ### Patterns
50
- - [`.docs/wiki/subsystems/[name]/patterns/[pattern].md`] — [Why this pattern applies to this story]
51
-
52
- ### Cross-Cutting Concerns
53
- - [`.docs/wiki/subsystems/[name]/cross-cutting/[concern].md`] — [Why this concern matters for this story]
54
-
55
- ### Guides
56
- - [`.docs/wiki/subsystems/[name]/guides/[guide].md`] — [Why this guide is useful for this story]
57
-
58
- ### Walkthroughs
59
- - [`.docs/wiki/subsystems/[name]/walkthroughs/[flow].md`] — [Why this flow walkthrough helps understand the implementation context]
60
-
61
- ### Decisions
62
- - [`.docs/wiki/subsystems/[name]/decisions/[decision].md`] — [Why this ADR constrains or informs this story]
63
-
64
- ### Architecture
65
- - [`.docs/wiki/subsystems/[name]/architecture.md`] — [Why this subsystem's architecture doc is relevant]
66
-
67
- &lt;!-- Omit any subsystem category header that has no relevant documents.
68
- The System-Wide section is NEVER omitted — it is always present.
69
-
70
- Example:
71
-
72
- ### System-Wide
73
- - `.docs/wiki/system-wide/system-structure.md` — Locates auth subsystem boundaries and shared middleware
74
- - `.docs/wiki/system-wide/system-architecture.md` — Documents API gateway routing to auth service
75
- - `.docs/wiki/system-wide/coding-standards.md` — Error handling conventions for API responses
76
- - `.docs/wiki/system-wide/testing-framework.md` — Integration test setup for auth endpoints
77
-
78
- ### Systems
79
- - `.docs/wiki/subsystems/auth/systems/oauth-provider.md` — Implements the provider abstraction this story extends
80
- - `.docs/wiki/subsystems/auth/systems/session-manager.md` — Manages tokens created by the OAuth flow
81
-
82
- ### Patterns
83
- - `.docs/wiki/subsystems/auth/patterns/strategy-pattern.md` — Each OAuth provider is a strategy; new provider must follow this
84
-
85
- ### Decisions
86
- - `.docs/wiki/subsystems/auth/decisions/adr-003-jwt-over-sessions.md` — Constrains token format to JWT
87
- --&gt;
88
- </section>
89
-
90
- </output-format>
91
-
92
- <selection-criteria>
93
-
94
- <include-when>
95
- A wiki document should be INCLUDED if it:
96
- - Describes a system this story will modify or extend
97
- - Documents a pattern this story must follow
98
- - Covers a cross-cutting concern this story must respect (auth, logging, error handling, etc.)
99
- - Contains a guide for a task this story requires (e.g., "how to add an API endpoint")
100
- - Walks through a complex flow this story extends or modifies
101
- - Records an ADR that constrains design choices for this story
102
- - Describes the structure or architecture of a subsystem this story touches
103
- </include-when>
104
-
105
- <exclude-when>
106
- A wiki document should be EXCLUDED if it:
107
- - Is only tangentially related (same subsystem but different concern)
108
- - Describes something the story reads from but does not modify
109
- - Would be "nice to know" but does not change the implementation approach
110
- - Duplicates information already in a system-wide doc
111
- </exclude-when>
112
-
113
- <reason-quality>
114
- Each entry MUST have a one-line reason explaining WHY that document is relevant
115
- to THIS specific story. Generic reasons like "related to auth" are NOT acceptable.
116
- The reason must explain what the implementing agent should look for or learn from
117
- that document.
118
-
119
- Good: "Defines the provider strategy interface this story must implement"
120
- Bad: "Related to OAuth"
121
- </reason-quality>
122
-
123
- </selection-criteria>
124
-
125
- <guidelines>
126
-
127
- <guideline name="system-wide-mandatory">
128
- The four system-wide documents are ALWAYS included in the output:
129
- - system-structure.md
130
- - system-architecture.md
131
- - coding-standards.md
132
- - testing-framework.md
133
-
134
- These are mandatory context for every story. Do NOT read them during wiki research —
135
- the implementing agent (pass 5) will read them directly. Just list them in the output.
136
- </guideline>
137
-
138
- <guideline name="subsystem-depth">
139
- For each affected subsystem, the research agent must READ the subsystem's wiki
140
- documents to assess relevance — not just list them based on directory names.
141
- Only include documents that directly inform the implementation of THIS story.
142
- </guideline>
143
-
144
- <guideline name="feature-relevant-wiki-hint">
145
- If a `relevant-wiki.md` file exists at the feature level
146
- (`.ace/artifacts/product/&lt;id-epic_name&gt;/&lt;id-feature_name&gt;/relevant-wiki.md`),
147
- use it as a STARTING POINT to identify which subsystems to investigate.
148
- This file may not exist — proceed without it if missing.
149
- </guideline>
150
-
151
- <guideline name="parallel-subsystem-research">
152
- When multiple subsystems need investigation, spawn parallel ace-wiki-mapper
153
- agents to read and assess each subsystem's docs concurrently. Each agent returns
154
- a list of relevant files with reasons — the orchestrator compiles the final section.
155
- </guideline>
156
-
157
- <guideline name="conciseness">
158
- The Relevant Wiki section should be scannable. No prose paragraphs.
159
- Just categorized file references with one-line reasons.
160
- Omit empty category headers — if no patterns are relevant, don't show ### Patterns.
161
- The System-Wide section is the only exception — it is always present.
162
- </guideline>
163
-
164
- <guideline name="github-compatibility">
165
- The output must render cleanly in both markdown files and GitHub issue bodies.
166
- Use standard markdown — no HTML, no custom formatting.
167
- Backtick-formatted file paths for readability.
168
- </guideline>
169
-
170
- </guidelines>
171
-
172
- <evolution>
173
-
174
- **Creation (research-story-wiki — pass 2):**
175
- This pass runs after sections 1-8 are complete. It reads the story requirements
176
- and scans the wiki to populate the Relevant Wiki section. A single run produces
177
- the complete section.
178
-
179
- **Consumption (story-technical-solution — pass 5):**
180
- The technical solution pass reads this section to know which wiki documents to load
181
- as context when designing the implementation approach. Every file listed here
182
- will be read by the implementing agent.
183
-
184
- **Re-research (exception, not norm):**
185
- Only when story scope changes significantly (AC rewritten, new subsystems involved).
186
- Re-running overwrites the existing Relevant Wiki section.
187
-
188
- **This section IS part of the story file.**
189
- It replaces the placeholder left by pass 1 in the story.xml template.
190
- It is also synced to the GitHub issue body when GitHub integration is enabled.
191
-
192
- </evolution>
193
-
194
- </story-wiki>
1
+ <story-wiki>
2
+
3
+ <purpose>
4
+ Template for the `## Relevant Wiki` section that gets APPENDED to the story file
5
+ (`.ace/artifacts/product/&lt;id-epic_name&gt;/&lt;id-feature_name&gt;/&lt;id-story_name&gt;/&lt;id-story_name&gt;.md`)
6
+ and optionally updated in the GitHub issue body.
7
+
8
+ This is pass 2 of the story specification pipeline (see story.xml composition).
9
+ It runs AFTER sections 1-8 (business requirements) are complete.
10
+
11
+ A research agent reads the User Story, Description, and Acceptance Criteria from pass 1,
12
+ then scans the `.docs/wiki/` directory to select documents that are relevant for
13
+ designing a good technical solution for this story.
14
+
15
+ The output is written directly INTO the story file — replacing or populating the
16
+ `## Relevant Wiki` section placeholder left by pass 1.
17
+
18
+ This section is consumed by pass 5 (technical solution) as the primary reference
19
+ for which wiki documents to load when designing the implementation approach.
20
+ </purpose>
21
+
22
+ <output-format>
23
+
24
+ <section name="relevant-wiki">
25
+ ## Relevant Wiki
26
+
27
+ &lt;!-- Pass 2. Populated by research-story-wiki workflow.
28
+ A research agent reads the User Story, Description, and AC,
29
+ then scans `.docs/wiki/` to select documents relevant to
30
+ designing a good technical solution for this story.
31
+
32
+ Group references by wiki document type. Only include documents that
33
+ directly inform implementation — do not list tangentially related docs.
34
+ Each entry: relative path + one-line reason why it's relevant. --&gt;
35
+
36
+ ### System-Wide
37
+
38
+ &lt;!-- MANDATORY — all four system-wide docs are always included.
39
+ These are mandatory context for every story — no reason needed. --&gt;
40
+
41
+ - `.docs/wiki/system-wide/system-structure.md` — Mandatory system-wide context
42
+ - `.docs/wiki/system-wide/system-architecture.md` — Mandatory system-wide context
43
+ - `.docs/wiki/system-wide/coding-standards.md` — Mandatory system-wide context
44
+ - `.docs/wiki/system-wide/testing-framework.md` — Mandatory system-wide context
45
+
46
+ ### Systems
47
+ - [`.docs/wiki/subsystems/[name]/systems/[system].md`] — [Why this system is relevant to this story]
48
+
49
+ ### Patterns
50
+ - [`.docs/wiki/subsystems/[name]/patterns/[pattern].md`] — [Why this pattern applies to this story]
51
+
52
+ ### Cross-Cutting Concerns
53
+ - [`.docs/wiki/subsystems/[name]/cross-cutting/[concern].md`] — [Why this concern matters for this story]
54
+
55
+ ### Guides
56
+ - [`.docs/wiki/subsystems/[name]/guides/[guide].md`] — [Why this guide is useful for this story]
57
+
58
+ ### Walkthroughs
59
+ - [`.docs/wiki/subsystems/[name]/walkthroughs/[flow].md`] — [Why this flow walkthrough helps understand the implementation context]
60
+
61
+ ### Decisions
62
+ - [`.docs/wiki/subsystems/[name]/decisions/[decision].md`] — [Why this ADR constrains or informs this story]
63
+
64
+ ### Architecture
65
+ - [`.docs/wiki/subsystems/[name]/architecture.md`] — [Why this subsystem's architecture doc is relevant]
66
+
67
+ &lt;!-- Omit any subsystem category header that has no relevant documents.
68
+ The System-Wide section is NEVER omitted — it is always present.
69
+
70
+ Example:
71
+
72
+ ### System-Wide
73
+ - `.docs/wiki/system-wide/system-structure.md` — Locates auth subsystem boundaries and shared middleware
74
+ - `.docs/wiki/system-wide/system-architecture.md` — Documents API gateway routing to auth service
75
+ - `.docs/wiki/system-wide/coding-standards.md` — Error handling conventions for API responses
76
+ - `.docs/wiki/system-wide/testing-framework.md` — Integration test setup for auth endpoints
77
+
78
+ ### Systems
79
+ - `.docs/wiki/subsystems/auth/systems/oauth-provider.md` — Implements the provider abstraction this story extends
80
+ - `.docs/wiki/subsystems/auth/systems/session-manager.md` — Manages tokens created by the OAuth flow
81
+
82
+ ### Patterns
83
+ - `.docs/wiki/subsystems/auth/patterns/strategy-pattern.md` — Each OAuth provider is a strategy; new provider must follow this
84
+
85
+ ### Decisions
86
+ - `.docs/wiki/subsystems/auth/decisions/adr-003-jwt-over-sessions.md` — Constrains token format to JWT
87
+ --&gt;
88
+ </section>
89
+
90
+ </output-format>
91
+
92
+ <selection-criteria>
93
+
94
+ <include-when>
95
+ A wiki document should be INCLUDED if it:
96
+ - Describes a system this story will modify or extend
97
+ - Documents a pattern this story must follow
98
+ - Covers a cross-cutting concern this story must respect (auth, logging, error handling, etc.)
99
+ - Contains a guide for a task this story requires (e.g., "how to add an API endpoint")
100
+ - Walks through a complex flow this story extends or modifies
101
+ - Records an ADR that constrains design choices for this story
102
+ - Describes the structure or architecture of a subsystem this story touches
103
+ </include-when>
104
+
105
+ <exclude-when>
106
+ A wiki document should be EXCLUDED if it:
107
+ - Is only tangentially related (same subsystem but different concern)
108
+ - Describes something the story reads from but does not modify
109
+ - Would be "nice to know" but does not change the implementation approach
110
+ - Duplicates information already in a system-wide doc
111
+ </exclude-when>
112
+
113
+ <reason-quality>
114
+ Each entry MUST have a one-line reason explaining WHY that document is relevant
115
+ to THIS specific story. Generic reasons like "related to auth" are NOT acceptable.
116
+ The reason must explain what the implementing agent should look for or learn from
117
+ that document.
118
+
119
+ Good: "Defines the provider strategy interface this story must implement"
120
+ Bad: "Related to OAuth"
121
+ </reason-quality>
122
+
123
+ </selection-criteria>
124
+
125
+ <guidelines>
126
+
127
+ <guideline name="system-wide-mandatory">
128
+ The four system-wide documents are ALWAYS included in the output:
129
+ - system-structure.md
130
+ - system-architecture.md
131
+ - coding-standards.md
132
+ - testing-framework.md
133
+
134
+ These are mandatory context for every story. Do NOT read them during wiki research —
135
+ the implementing agent (pass 5) will read them directly. Just list them in the output.
136
+ </guideline>
137
+
138
+ <guideline name="subsystem-depth">
139
+ For each affected subsystem, the research agent must READ the subsystem's wiki
140
+ documents to assess relevance — not just list them based on directory names.
141
+ Only include documents that directly inform the implementation of THIS story.
142
+ </guideline>
143
+
144
+ <guideline name="feature-relevant-wiki-hint">
145
+ If a `relevant-wiki.md` file exists at the feature level
146
+ (`.ace/artifacts/product/&lt;id-epic_name&gt;/&lt;id-feature_name&gt;/relevant-wiki.md`),
147
+ use it as a STARTING POINT to identify which subsystems to investigate.
148
+ This file may not exist — proceed without it if missing.
149
+ </guideline>
150
+
151
+ <guideline name="parallel-subsystem-research">
152
+ When multiple subsystems need investigation, spawn parallel ace-wiki-mapper
153
+ agents to read and assess each subsystem's docs concurrently. Each agent returns
154
+ a list of relevant files with reasons — the orchestrator compiles the final section.
155
+ </guideline>
156
+
157
+ <guideline name="conciseness">
158
+ The Relevant Wiki section should be scannable. No prose paragraphs.
159
+ Just categorized file references with one-line reasons.
160
+ Omit empty category headers — if no patterns are relevant, don't show ### Patterns.
161
+ The System-Wide section is the only exception — it is always present.
162
+ </guideline>
163
+
164
+ <guideline name="github-compatibility">
165
+ The output must render cleanly in both markdown files and GitHub issue bodies.
166
+ Use standard markdown — no HTML, no custom formatting.
167
+ Backtick-formatted file paths for readability.
168
+ </guideline>
169
+
170
+ </guidelines>
171
+
172
+ <evolution>
173
+
174
+ **Creation (research-story-wiki — pass 2):**
175
+ This pass runs after sections 1-8 are complete. It reads the story requirements
176
+ and scans the wiki to populate the Relevant Wiki section. A single run produces
177
+ the complete section.
178
+
179
+ **Consumption (story-technical-solution — pass 5):**
180
+ The technical solution pass reads this section to know which wiki documents to load
181
+ as context when designing the implementation approach. Every file listed here
182
+ will be read by the implementing agent.
183
+
184
+ **Re-research (exception, not norm):**
185
+ Only when story scope changes significantly (AC rewritten, new subsystems involved).
186
+ Re-running overwrites the existing Relevant Wiki section.
187
+
188
+ **This section IS part of the story file.**
189
+ It replaces the placeholder left by pass 1 in the story.xml template.
190
+ It is also synced to the GitHub issue body when GitHub integration is enabled.
191
+
192
+ </evolution>
193
+
194
+ </story-wiki>