dna-sdk 0.1.0

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 (240) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +58 -0
  3. package/dist/adapters/embedding/onnx.d.ts +32 -0
  4. package/dist/adapters/embedding/onnx.js +51 -0
  5. package/dist/adapters/filesystem/cache.d.ts +16 -0
  6. package/dist/adapters/filesystem/cache.js +113 -0
  7. package/dist/adapters/filesystem/index.d.ts +2 -0
  8. package/dist/adapters/filesystem/index.js +2 -0
  9. package/dist/adapters/filesystem/source.d.ts +82 -0
  10. package/dist/adapters/filesystem/source.js +357 -0
  11. package/dist/adapters/postgres/index.d.ts +2 -0
  12. package/dist/adapters/postgres/index.js +2 -0
  13. package/dist/adapters/postgres/migrations.d.ts +14 -0
  14. package/dist/adapters/postgres/migrations.js +88 -0
  15. package/dist/adapters/postgres/source.d.ts +172 -0
  16. package/dist/adapters/postgres/source.js +569 -0
  17. package/dist/adapters/resolvers/github.d.ts +12 -0
  18. package/dist/adapters/resolvers/github.js +47 -0
  19. package/dist/adapters/resolvers/http.d.ts +22 -0
  20. package/dist/adapters/resolvers/http.js +145 -0
  21. package/dist/adapters/resolvers/index.d.ts +3 -0
  22. package/dist/adapters/resolvers/index.js +3 -0
  23. package/dist/adapters/resolvers/local.d.ts +24 -0
  24. package/dist/adapters/resolvers/local.js +132 -0
  25. package/dist/adapters/search/driver.d.ts +45 -0
  26. package/dist/adapters/search/driver.js +138 -0
  27. package/dist/adapters/search/migrations.d.ts +26 -0
  28. package/dist/adapters/search/migrations.js +58 -0
  29. package/dist/adapters/search/rrf.d.ts +23 -0
  30. package/dist/adapters/search/rrf.js +42 -0
  31. package/dist/adapters/search/sqlite-vec.d.ts +66 -0
  32. package/dist/adapters/search/sqlite-vec.js +294 -0
  33. package/dist/bootstrap.d.ts +45 -0
  34. package/dist/bootstrap.js +134 -0
  35. package/dist/extensions/agentskills/DOCS.md +18 -0
  36. package/dist/extensions/agentskills.d.ts +28 -0
  37. package/dist/extensions/agentskills.js +252 -0
  38. package/dist/extensions/agentsmd/DOCS.md +18 -0
  39. package/dist/extensions/agentsmd.d.ts +22 -0
  40. package/dist/extensions/agentsmd.js +170 -0
  41. package/dist/extensions/audit/kinds/audit-log.kind.yaml +148 -0
  42. package/dist/extensions/audit.d.ts +25 -0
  43. package/dist/extensions/audit.js +62 -0
  44. package/dist/extensions/automation/kinds/automation.kind.yaml +296 -0
  45. package/dist/extensions/automation/query.d.ts +49 -0
  46. package/dist/extensions/automation/query.js +77 -0
  47. package/dist/extensions/automation/write-guards.d.ts +59 -0
  48. package/dist/extensions/automation/write-guards.js +153 -0
  49. package/dist/extensions/automation.d.ts +41 -0
  50. package/dist/extensions/automation.js +54 -0
  51. package/dist/extensions/collab.d.ts +16 -0
  52. package/dist/extensions/collab.js +79 -0
  53. package/dist/extensions/doc/kinds/doc.kind.yaml +118 -0
  54. package/dist/extensions/doc.d.ts +25 -0
  55. package/dist/extensions/doc.js +10 -0
  56. package/dist/extensions/eval/kinds/eval-baseline.kind.yaml +65 -0
  57. package/dist/extensions/eval/kinds/eval-case.kind.yaml +140 -0
  58. package/dist/extensions/eval/kinds/eval-run.kind.yaml +134 -0
  59. package/dist/extensions/eval/kinds/eval-suite.kind.yaml +87 -0
  60. package/dist/extensions/eval.d.ts +24 -0
  61. package/dist/extensions/eval.js +31 -0
  62. package/dist/extensions/evidence/kinds/evidence.kind.yaml +92 -0
  63. package/dist/extensions/evidence.d.ts +17 -0
  64. package/dist/extensions/evidence.js +94 -0
  65. package/dist/extensions/federation.d.ts +22 -0
  66. package/dist/extensions/federation.js +173 -0
  67. package/dist/extensions/guardrails/DOCS.md +20 -0
  68. package/dist/extensions/guardrails.d.ts +31 -0
  69. package/dist/extensions/guardrails.js +228 -0
  70. package/dist/extensions/helix/DOCS-Actor.md +20 -0
  71. package/dist/extensions/helix/DOCS-Agent.md +20 -0
  72. package/dist/extensions/helix/DOCS-UseCase.md +20 -0
  73. package/dist/extensions/helix/layers.d.ts +12 -0
  74. package/dist/extensions/helix/layers.js +18 -0
  75. package/dist/extensions/helix/write-guards.d.ts +70 -0
  76. package/dist/extensions/helix/write-guards.js +172 -0
  77. package/dist/extensions/helix.d.ts +29 -0
  78. package/dist/extensions/helix.js +963 -0
  79. package/dist/extensions/helix_extras.d.ts +124 -0
  80. package/dist/extensions/helix_extras.js +328 -0
  81. package/dist/extensions/hooks.d.ts +31 -0
  82. package/dist/extensions/hooks.js +247 -0
  83. package/dist/extensions/kinddef/DOCS.md +24 -0
  84. package/dist/extensions/kinddef.d.ts +40 -0
  85. package/dist/extensions/kinddef.js +171 -0
  86. package/dist/extensions/lesson.d.ts +6 -0
  87. package/dist/extensions/lesson.js +194 -0
  88. package/dist/extensions/modelreg/kinds/model-profile.kind.yaml +155 -0
  89. package/dist/extensions/modelreg.d.ts +30 -0
  90. package/dist/extensions/modelreg.js +38 -0
  91. package/dist/extensions/recognizer.d.ts +34 -0
  92. package/dist/extensions/recognizer.js +272 -0
  93. package/dist/extensions/research.d.ts +32 -0
  94. package/dist/extensions/research.js +292 -0
  95. package/dist/extensions/safety.d.ts +33 -0
  96. package/dist/extensions/safety.js +230 -0
  97. package/dist/extensions/sdlc/kinds/adr.kind.yaml +136 -0
  98. package/dist/extensions/sdlc/kinds/archive-proposal.kind.yaml +107 -0
  99. package/dist/extensions/sdlc/kinds/changelog.kind.yaml +108 -0
  100. package/dist/extensions/sdlc/kinds/cognitive-policy.kind.yaml +470 -0
  101. package/dist/extensions/sdlc/kinds/forecast.kind.yaml +125 -0
  102. package/dist/extensions/sdlc/kinds/insight.kind.yaml +87 -0
  103. package/dist/extensions/sdlc/kinds/kaizen.kind.yaml +106 -0
  104. package/dist/extensions/sdlc/kinds/lesson-learned.kind.yaml +270 -0
  105. package/dist/extensions/sdlc/kinds/narrative.kind.yaml +189 -0
  106. package/dist/extensions/sdlc/kinds/pattern-insight.kind.yaml +204 -0
  107. package/dist/extensions/sdlc/kinds/postmortem.kind.yaml +168 -0
  108. package/dist/extensions/sdlc/kinds/pre-mortem.kind.yaml +145 -0
  109. package/dist/extensions/sdlc/kinds/prompt-template.kind.yaml +109 -0
  110. package/dist/extensions/sdlc/kinds/retrospective.kind.yaml +186 -0
  111. package/dist/extensions/sdlc/kinds/risk-register.kind.yaml +178 -0
  112. package/dist/extensions/sdlc/kinds/saved-view.kind.yaml +127 -0
  113. package/dist/extensions/sdlc/kinds/status-report.kind.yaml +129 -0
  114. package/dist/extensions/sdlc/kinds/synthesis-run.kind.yaml +279 -0
  115. package/dist/extensions/sdlc/kinds/synthesizer-state.kind.yaml +196 -0
  116. package/dist/extensions/sdlc/kinds/workflow-event.kind.yaml +195 -0
  117. package/dist/extensions/sdlc.d.ts +32 -0
  118. package/dist/extensions/sdlc.js +1318 -0
  119. package/dist/extensions/soulspec/DOCS.md +19 -0
  120. package/dist/extensions/soulspec.d.ts +22 -0
  121. package/dist/extensions/soulspec.js +287 -0
  122. package/dist/extensions/tenant.d.ts +6 -0
  123. package/dist/extensions/tenant.js +291 -0
  124. package/dist/extensions/testkit.d.ts +24 -0
  125. package/dist/extensions/testkit.js +211 -0
  126. package/dist/index.d.ts +80 -0
  127. package/dist/index.js +102 -0
  128. package/dist/kernel/_text.d.ts +28 -0
  129. package/dist/kernel/_text.js +42 -0
  130. package/dist/kernel/bundle-handle.d.ts +83 -0
  131. package/dist/kernel/bundle-handle.js +184 -0
  132. package/dist/kernel/capabilities.d.ts +157 -0
  133. package/dist/kernel/capabilities.js +109 -0
  134. package/dist/kernel/collaborator-ports.d.ts +91 -0
  135. package/dist/kernel/collaborator-ports.js +1 -0
  136. package/dist/kernel/composition-resolver.d.ts +215 -0
  137. package/dist/kernel/composition-resolver.js +558 -0
  138. package/dist/kernel/composition.d.ts +10 -0
  139. package/dist/kernel/composition.js +1 -0
  140. package/dist/kernel/descriptor-loader.d.ts +13 -0
  141. package/dist/kernel/descriptor-loader.js +48 -0
  142. package/dist/kernel/document.d.ts +43 -0
  143. package/dist/kernel/document.js +71 -0
  144. package/dist/kernel/embedding.d.ts +28 -0
  145. package/dist/kernel/embedding.js +78 -0
  146. package/dist/kernel/errors.d.ts +62 -0
  147. package/dist/kernel/errors.js +82 -0
  148. package/dist/kernel/events.d.ts +6 -0
  149. package/dist/kernel/events.js +21 -0
  150. package/dist/kernel/evidence-capture.d.ts +69 -0
  151. package/dist/kernel/evidence-capture.js +138 -0
  152. package/dist/kernel/fs.d.ts +20 -0
  153. package/dist/kernel/fs.js +128 -0
  154. package/dist/kernel/generic-rw.d.ts +33 -0
  155. package/dist/kernel/generic-rw.js +235 -0
  156. package/dist/kernel/hooks.d.ts +172 -0
  157. package/dist/kernel/hooks.js +256 -0
  158. package/dist/kernel/index.d.ts +624 -0
  159. package/dist/kernel/index.js +1638 -0
  160. package/dist/kernel/instance.d.ts +211 -0
  161. package/dist/kernel/instance.js +487 -0
  162. package/dist/kernel/kind-registry.d.ts +183 -0
  163. package/dist/kernel/kind-registry.js +710 -0
  164. package/dist/kernel/kind_base.d.ts +106 -0
  165. package/dist/kernel/kind_base.js +244 -0
  166. package/dist/kernel/layer-resolver.d.ts +48 -0
  167. package/dist/kernel/layer-resolver.js +284 -0
  168. package/dist/kernel/lock-manager.d.ts +21 -0
  169. package/dist/kernel/lock-manager.js +43 -0
  170. package/dist/kernel/lock.d.ts +38 -0
  171. package/dist/kernel/lock.js +115 -0
  172. package/dist/kernel/meta.d.ts +135 -0
  173. package/dist/kernel/meta.js +817 -0
  174. package/dist/kernel/models.d.ts +3089 -0
  175. package/dist/kernel/models.js +764 -0
  176. package/dist/kernel/navigator.d.ts +36 -0
  177. package/dist/kernel/navigator.js +132 -0
  178. package/dist/kernel/port-surface.d.ts +33 -0
  179. package/dist/kernel/port-surface.js +180 -0
  180. package/dist/kernel/preview.d.ts +60 -0
  181. package/dist/kernel/preview.js +54 -0
  182. package/dist/kernel/prompt-budget.d.ts +39 -0
  183. package/dist/kernel/prompt-budget.js +43 -0
  184. package/dist/kernel/prompt-builder.d.ts +25 -0
  185. package/dist/kernel/prompt-builder.js +237 -0
  186. package/dist/kernel/protocols.d.ts +751 -0
  187. package/dist/kernel/protocols.js +493 -0
  188. package/dist/kernel/reports.d.ts +26 -0
  189. package/dist/kernel/reports.js +215 -0
  190. package/dist/kernel/resolver.d.ts +146 -0
  191. package/dist/kernel/resolver.js +232 -0
  192. package/dist/kernel/resource.d.ts +57 -0
  193. package/dist/kernel/resource.js +97 -0
  194. package/dist/kernel/runtime.d.ts +16 -0
  195. package/dist/kernel/runtime.js +18 -0
  196. package/dist/kernel/safety-scanner.d.ts +38 -0
  197. package/dist/kernel/safety-scanner.js +228 -0
  198. package/dist/kernel/serialize-to-files.d.ts +29 -0
  199. package/dist/kernel/serialize-to-files.js +23 -0
  200. package/dist/kernel/spec-access.d.ts +23 -0
  201. package/dist/kernel/spec-access.js +40 -0
  202. package/dist/kernel/studio_ui.d.ts +88 -0
  203. package/dist/kernel/studio_ui.js +135 -0
  204. package/dist/kernel/templates.d.ts +77 -0
  205. package/dist/kernel/templates.js +116 -0
  206. package/dist/kernel/tool-registry.d.ts +52 -0
  207. package/dist/kernel/tool-registry.js +89 -0
  208. package/dist/kernel/write-pipeline.d.ts +65 -0
  209. package/dist/kernel/write-pipeline.js +271 -0
  210. package/dist/kernel/writer-helpers.d.ts +24 -0
  211. package/dist/kernel/writer-helpers.js +42 -0
  212. package/dist/memory/decay.d.ts +31 -0
  213. package/dist/memory/decay.js +97 -0
  214. package/dist/memory/ecphory.d.ts +25 -0
  215. package/dist/memory/ecphory.js +178 -0
  216. package/dist/memory/encodingContext.d.ts +21 -0
  217. package/dist/memory/encodingContext.js +62 -0
  218. package/dist/memory/index.d.ts +23 -0
  219. package/dist/memory/index.js +23 -0
  220. package/dist/memory/memoryType.d.ts +7 -0
  221. package/dist/memory/memoryType.js +24 -0
  222. package/dist/memory/policy.d.ts +35 -0
  223. package/dist/memory/policy.js +35 -0
  224. package/dist/memory/retrieval.d.ts +21 -0
  225. package/dist/memory/retrieval.js +145 -0
  226. package/dist/testing/index.d.ts +8 -0
  227. package/dist/testing/index.js +8 -0
  228. package/dist/testing/recordSearchConformance.d.ts +43 -0
  229. package/dist/testing/recordSearchConformance.js +147 -0
  230. package/dist/viz/ascii.d.ts +7 -0
  231. package/dist/viz/ascii.js +60 -0
  232. package/dist/viz/health.d.ts +8 -0
  233. package/dist/viz/health.js +161 -0
  234. package/dist/viz/index.d.ts +10 -0
  235. package/dist/viz/index.js +10 -0
  236. package/dist/viz/matrix.d.ts +8 -0
  237. package/dist/viz/matrix.js +84 -0
  238. package/dist/viz/mermaid.d.ts +38 -0
  239. package/dist/viz/mermaid.js +706 -0
  240. package/package.json +82 -0
@@ -0,0 +1,195 @@
1
+ # WorkflowEvent — append-only journey ledger of phase transitions (record plane).
2
+ #
3
+ # One entry per (artifact, phase) pair: the trail from discover → reflect for
4
+ # a Roadmap/Epic/Feature, with explicit honesty about skipped phases. DNA's
5
+ # methodology-agnostic layer — Superpowers/BMAD/Spec Kit map onto it via
6
+ # `methodology`. Distinct from `<Kind>.spec.journey_phase` (one doc, one
7
+ # phase): the WorkflowEvent IS the transition entry.
8
+ #
9
+ # F3 lote-1 (spec 2026-06-10-kinds-descriptor-f3): synthesized from this
10
+ # descriptor; the twin WorkflowEventKind classes (Py+TS) were deleted.
11
+ # PARITY-CRITICAL package data — byte-identical mirror under
12
+ # packages/sdk-{py,ts}; tests/test_descriptor_hash_parity.py enforces.
13
+ # Equivalence vs the extinct class frozen in
14
+ # tests/test_lote1_descriptor_equivalence.py (summary projeta null quando o
15
+ # campo falta — semântica da classe Py preservada; o resumo TS antigo
16
+ # divergia com defaults "" e foi unificado pro canônico).
17
+ # Strictness: additionalProperties:false preservado — sdlc-workflow-event é
18
+ # o kind-âncora strict do ratchet test_strict_schema_lint.
19
+ apiVersion: github.com/ruinosus/dna/core/v1
20
+ kind: KindDefinition
21
+ metadata:
22
+ name: workflow-event
23
+ spec:
24
+ target_api_version: github.com/ruinosus/dna/sdlc/v1
25
+ target_kind: WorkflowEvent
26
+ alias: sdlc-workflow-event
27
+ origin: github.com/ruinosus/dna/sdlc
28
+ tenant_scope: global
29
+ plane: record
30
+ prompt_target: false
31
+ flatten_in_context: false
32
+ prompt_target_priority: 0
33
+ storage:
34
+ type: yaml
35
+ container: journey
36
+ dep_filters:
37
+ ref: sdlc-spec|sdlc-plan|sdlc-story|sdlc-feature|sdlc-epic|sdlc-roadmap|sdlc-agent-session|sdlc-narrative
38
+ parent_ref: sdlc-spec|sdlc-plan|sdlc-story|sdlc-feature|sdlc-epic|sdlc-roadmap|sdlc-agent-session|sdlc-narrative
39
+ transitioned_from: sdlc-workflow-event
40
+ schema:
41
+ type: object
42
+ required:
43
+ - phase
44
+ properties:
45
+ phase:
46
+ type: string
47
+ enum:
48
+ - discover
49
+ - specify
50
+ - plan
51
+ - build
52
+ - verify
53
+ - reflect
54
+ description: Which of the five universal phases this entry represents.
55
+ ref:
56
+ type: string
57
+ description: 'Doc this entry pins. Format: ``Kind/name`` (e.g. ``Spec/foo``,
58
+ ``Plan/bar``, ``AgentSession/vs-baz``).'
59
+ parent_ref:
60
+ type: string
61
+ description: Anchor doc grouping this entry with siblings. Typically ``Feature/<name>``
62
+ or ``Epic/<name>`` — everything in the journey of one Feature has the
63
+ same parent_ref.
64
+ transitioned_from:
65
+ type: string
66
+ description: Name of the previous WorkflowEvent in this trajectory (forms
67
+ a linked list). Optional for the first entry of a trajectory.
68
+ seed_from:
69
+ type: string
70
+ description: 'Name of the prior cycle''s `reflect` WorkflowEvent that seeded
71
+ this entry. Set on `discover` entries created via `dna sdlc journey close-cycle`
72
+ — the ouroboros bite, where reflect''s lessons literally feed into the
73
+ next discover. Distinct from `transitioned_from`: that''s the immediate
74
+ predecessor across phases; this is the cross-cycle inheritance link.'
75
+ cycle_index:
76
+ type: integer
77
+ minimum: 1
78
+ description: 1-based cycle number this entry belongs to. All entries within
79
+ the same ouroboros loop share the same cycle_index. Incremented when `journey
80
+ close-cycle` opens the next discover. Backend-explicit alternative to
81
+ client-side heuristic cycle detection.
82
+ closes_cycle:
83
+ type: boolean
84
+ description: True on a `reflect` entry that has been closed by `journey
85
+ close-cycle` — marks the boundary where the next discover starts cycle
86
+ N+1. Set automatically; client may use as the explicit cycle delimiter.
87
+ started_at:
88
+ type: string
89
+ format: date-time
90
+ ended_at:
91
+ type: string
92
+ format: date-time
93
+ description: When the agent left this phase. Null while the phase is still
94
+ active.
95
+ methodology:
96
+ type: string
97
+ enum:
98
+ - superpowers
99
+ - bmad
100
+ - spec-kit
101
+ - kiro
102
+ - rfc
103
+ - adr
104
+ - ad-hoc
105
+ - custom
106
+ description: Which methodology the agent followed in this phase. ``ad-hoc``
107
+ is honest — Studio renders it with a 'no methodology' badge so we can
108
+ spot where we cut corners.
109
+ methodology_artifact:
110
+ type: string
111
+ description: Repo-relative path or URL to the methodology's external artifact,
112
+ when applicable. E.g. ``docs/superpowers/plans/foo-plan.md`` for the Superpowers
113
+ writing-plans output, ``.specify/foo/plan.md`` for Spec Kit, etc.
114
+ skipped_phases:
115
+ type: array
116
+ items:
117
+ type: string
118
+ enum:
119
+ - discover
120
+ - specify
121
+ - plan
122
+ - build
123
+ - verify
124
+ - reflect
125
+ description: Phases jumped over to get to this entry. E.g. discover → build
126
+ means skipped ['specify', 'plan'] — Studio shows them in muted strikethrough
127
+ so the trajectory stays honest.
128
+ actor:
129
+ type: string
130
+ description: Who recorded the transition.
131
+ summary:
132
+ type: string
133
+ description: 1-2 sentence note about what happened in this phase. Optional
134
+ — rendered as the entry's tooltip in Studio.
135
+ tags:
136
+ type: array
137
+ items:
138
+ type: string
139
+ created_at:
140
+ type: string
141
+ format: date-time
142
+ # --- Back-compat (i-144): pre-redesign journey shape. ~1574 historical
143
+ # entries predate the phase+ref model — they use artifact_kind/artifact_name
144
+ # instead of ``ref``, auto_emitted_by instead of ``actor``, timestamp instead
145
+ # of ``created_at``, feature_ref/epic_ref instead of ``parent_ref``. Kept
146
+ # OPTIONAL (and ``ref`` dropped from required) so they validate under the
147
+ # strict additionalProperties:false; NEW entries use the canonical fields.
148
+ artifact_kind:
149
+ type: string
150
+ description: 'Back-compat (deprecated): legacy Kind half of ``ref``.'
151
+ artifact_name:
152
+ type: string
153
+ description: 'Back-compat (deprecated): legacy name half of ``ref``.'
154
+ auto_emitted_by:
155
+ type: string
156
+ description: 'Back-compat (deprecated): legacy form of ``actor``.'
157
+ timestamp:
158
+ type: string
159
+ description: 'Back-compat (deprecated): legacy form of ``created_at``.'
160
+ decision_text:
161
+ type: string
162
+ description: 'Back-compat (deprecated): free-text decision on the entry.'
163
+ rationale:
164
+ type: string
165
+ description: 'Back-compat (deprecated): free-text rationale on the entry.'
166
+ owner:
167
+ type: string
168
+ description: 'Back-compat (deprecated): legacy owner of the entry.'
169
+ feature_ref:
170
+ type: string
171
+ description: 'Back-compat (deprecated): legacy form of ``parent_ref`` (Feature).'
172
+ epic_ref:
173
+ type: string
174
+ description: 'Back-compat (deprecated): legacy form of ``parent_ref`` (Epic).'
175
+ decisions:
176
+ type: string
177
+ description: 'Back-compat (deprecated): legacy decisions note on the entry.'
178
+ additionalProperties: false
179
+ summary:
180
+ phase: null
181
+ ref: null
182
+ parent_ref: null
183
+ methodology: null
184
+ started_at: null
185
+ ended_at: null
186
+ graph_style:
187
+ fill: '#0EA5E9'
188
+ stroke: '#0284C7'
189
+ text_color: '#fff'
190
+ ascii_icon: 🧭
191
+ display_label: Journey Entries
192
+ docs: Append-only journey ledger. One entry per (artifact, phase) pair. Read together
193
+ as a sequence, they form the trail from discover → reflect for a Roadmap/Epic/Feature.
194
+ DNA's methodology-agnostic layer — Superpowers / BMAD / Spec Kit all map onto
195
+ it via the `methodology` field.
@@ -0,0 +1,32 @@
1
+ /**
2
+ * SdlcExtension — software-development lifecycle Kinds.
3
+ *
4
+ * Seven Kinds for declarative product/engineering management as YAML/markdown:
5
+ *
6
+ * - Roadmap (sdlc-roadmap) — top-level, lists epics across horizons
7
+ * - Epic (sdlc-epic) — Jira/ADO-aligned aggregation umbrella; optional target date
8
+ * - Feature (sdlc-feature) — shippable unit; implements UseCases
9
+ * - Story (sdlc-story) — granular task with owner + estimate
10
+ * - Issue (sdlc-issue) — bug/enhancement/question/task; can link to a Finding
11
+ * - Spec (sdlc-spec) — top-level design artifact (ADR-style)
12
+ * - Plan (sdlc-plan) — implementation plan, child of a Spec
13
+ *
14
+ * 1:1 parity with Python ``dna.extensions.sdlc`` for the KIND
15
+ * surface (registration, descriptors, schemas, write-guards).
16
+ *
17
+ * Known Py-only helpers (verified 2026-07-08, s-dna-sdlc-cli-extraction —
18
+ * documented here on purpose, not silently): ``journey_derive.py`` (the
19
+ * derived per-work-item journey computation consumed by the server journey/
20
+ * focus routes and the CLI) and ``work_item_outputs.py`` (produces[]
21
+ * resolution) have NO TS twin. They are pure read-side helpers OVER Kind
22
+ * data, not Kind behavior — port them when a TS consumer needs the derived
23
+ * journey, and add their members to the parity fixtures at that point.
24
+ *
25
+ * v1.3 BREAKING: Milestone Kind renamed to Epic.
26
+ */
27
+ import type { ExtensionHost, Extension } from "../kernel/protocols.js";
28
+ export declare class SdlcExtension implements Extension {
29
+ readonly name = "sdlc";
30
+ readonly version = "1.14.0";
31
+ register(kernel: ExtensionHost): void;
32
+ }