@devtrack-solution/codesdd 1.2.3 → 1.2.4

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 (213) hide show
  1. package/.sdd/skills/curated/devtrack-api/SKILL.md +98 -12
  2. package/.sdd/skills/curated/devtrack-api/agents/claude-code.yaml +10 -0
  3. package/.sdd/skills/curated/devtrack-api/agents/codex.yaml +10 -0
  4. package/.sdd/skills/curated/devtrack-api/agents/cursor.yaml +10 -0
  5. package/.sdd/skills/curated/devtrack-api/agents/gemini.yaml +10 -0
  6. package/.sdd/skills/curated/devtrack-api/agents/kimi.yaml +10 -0
  7. package/.sdd/skills/curated/devtrack-api/agents/openai.yaml +5 -3
  8. package/.sdd/skills/curated/devtrack-api/agents/opencode.yaml +12 -0
  9. package/.sdd/skills/curated/devtrack-api/references/application-presentation.md +61 -5
  10. package/.sdd/skills/curated/devtrack-api/references/consumer-sync-policy.md +15 -3
  11. package/.sdd/skills/curated/devtrack-api/references/contract-pack.yaml +1951 -0
  12. package/.sdd/skills/curated/devtrack-api/references/domain-modeling.md +16 -14
  13. package/.sdd/skills/curated/devtrack-api/references/field-validation-protocol.md +40 -0
  14. package/.sdd/skills/curated/devtrack-api/references/foundation-layout.md +19 -2
  15. package/.sdd/skills/curated/devtrack-api/references/generated-artifact-invalidation.md +97 -0
  16. package/.sdd/skills/curated/devtrack-api/references/implementation-checklist.md +30 -1
  17. package/.sdd/skills/curated/devtrack-api/references/portable-agent-contract.md +42 -0
  18. package/.sdd/skills/curated/devtrack-api/references/testing-validation.md +22 -1
  19. package/.sdd/skills/curated/devtrack-api/references/typeorm-infrastructure.md +9 -7
  20. package/README.md +280 -29
  21. package/dist/applications/sdd/index.d.ts +16 -0
  22. package/dist/applications/sdd/index.js +16 -0
  23. package/dist/cli/program.js +180 -11
  24. package/dist/commands/config.js +197 -10
  25. package/dist/commands/sdd/execution.js +408 -16
  26. package/dist/commands/sdd/plugin.js +5 -0
  27. package/dist/commands/sdd/shared.d.ts +1 -0
  28. package/dist/commands/sdd/shared.js +10 -0
  29. package/dist/commands/sdd.js +157 -7
  30. package/dist/core/cli/command-matrix.d.ts +18 -0
  31. package/dist/core/cli/command-matrix.js +157 -0
  32. package/dist/core/cli-command-quality.js +11 -0
  33. package/dist/core/completions/command-registry.js +45 -0
  34. package/dist/core/config-schema.d.ts +31 -1
  35. package/dist/core/config-schema.js +79 -5
  36. package/dist/core/config.d.ts +1 -0
  37. package/dist/core/config.js +11 -0
  38. package/dist/core/global-config.d.ts +29 -0
  39. package/dist/core/init.d.ts +2 -2
  40. package/dist/core/init.js +13 -14
  41. package/dist/core/sdd/agent-binding.d.ts +19 -19
  42. package/dist/core/sdd/agent-runtime-contract.d.ts +204 -0
  43. package/dist/core/sdd/agent-runtime-contract.js +200 -0
  44. package/dist/core/sdd/allocator-recovery.d.ts +14 -0
  45. package/dist/core/sdd/allocator-recovery.js +30 -0
  46. package/dist/core/sdd/allocator-security.d.ts +18 -0
  47. package/dist/core/sdd/allocator-security.js +36 -0
  48. package/dist/core/sdd/api-foundation-baseline.d.ts +111 -0
  49. package/dist/core/sdd/api-foundation-baseline.js +151 -0
  50. package/dist/core/sdd/api-foundation-parity.d.ts +114 -0
  51. package/dist/core/sdd/api-foundation-parity.js +131 -0
  52. package/dist/core/sdd/api-profile-catalog.d.ts +36 -0
  53. package/dist/core/sdd/api-profile-catalog.js +132 -0
  54. package/dist/core/sdd/api-profile-dry-run-projection.d.ts +93 -0
  55. package/dist/core/sdd/api-profile-dry-run-projection.js +370 -0
  56. package/dist/core/sdd/api-profile-recipes.d.ts +82 -0
  57. package/dist/core/sdd/api-profile-recipes.js +484 -0
  58. package/dist/core/sdd/artifact-id-allocator.d.ts +368 -0
  59. package/dist/core/sdd/artifact-id-allocator.js +510 -0
  60. package/dist/core/sdd/check.d.ts +52 -1
  61. package/dist/core/sdd/check.js +326 -11
  62. package/dist/core/sdd/coordination/coordination-adapters.d.ts +15 -8
  63. package/dist/core/sdd/coordination/coordination-adapters.js +43 -15
  64. package/dist/core/sdd/coordination/index.d.ts +1 -0
  65. package/dist/core/sdd/coordination/index.js +1 -0
  66. package/dist/core/sdd/coordination/redis-runtime.d.ts +131 -0
  67. package/dist/core/sdd/coordination/redis-runtime.js +698 -0
  68. package/dist/core/sdd/deepagent-contracts.d.ts +99 -5
  69. package/dist/core/sdd/deepagent-contracts.js +62 -0
  70. package/dist/core/sdd/deepagents/reversa-subagents.d.ts +3 -3
  71. package/dist/core/sdd/default-bootstrap-files.d.ts +2 -2
  72. package/dist/core/sdd/default-bootstrap-files.js +14 -10
  73. package/dist/core/sdd/default-skills.js +115 -9
  74. package/dist/core/sdd/devtrack-api-appliance.d.ts +42 -1
  75. package/dist/core/sdd/devtrack-api-appliance.js +159 -32
  76. package/dist/core/sdd/devtrack-api-architecture.d.ts +16 -0
  77. package/dist/core/sdd/devtrack-api-architecture.js +86 -0
  78. package/dist/core/sdd/docs-sync.js +24 -18
  79. package/dist/core/sdd/domain/capability-diff.d.ts +63 -0
  80. package/dist/core/sdd/domain/capability-diff.js +200 -0
  81. package/dist/core/sdd/domain/change-safety-guardrails.d.ts +74 -0
  82. package/dist/core/sdd/domain/change-safety-guardrails.js +333 -0
  83. package/dist/core/sdd/domain/semantic-intent-classifier.d.ts +29 -0
  84. package/dist/core/sdd/domain/semantic-intent-classifier.js +117 -0
  85. package/dist/core/sdd/enterprise-mutating-command-gate.d.ts +27 -0
  86. package/dist/core/sdd/enterprise-mutating-command-gate.js +104 -0
  87. package/dist/core/sdd/enterprise-provenance-gates.d.ts +20 -0
  88. package/dist/core/sdd/enterprise-provenance-gates.js +63 -0
  89. package/dist/core/sdd/enterprise-provisioning-policy.d.ts +26 -0
  90. package/dist/core/sdd/enterprise-provisioning-policy.js +104 -0
  91. package/dist/core/sdd/foundation-artifact-map-validator.d.ts +16 -0
  92. package/dist/core/sdd/foundation-artifact-map-validator.js +71 -0
  93. package/dist/core/sdd/foundation-layer-manifest.d.ts +24 -0
  94. package/dist/core/sdd/foundation-layer-manifest.js +117 -0
  95. package/dist/core/sdd/governance-schemas.d.ts +2 -2
  96. package/dist/core/sdd/governance-schemas.js +11 -2
  97. package/dist/core/sdd/intent-guard.d.ts +22 -0
  98. package/dist/core/sdd/intent-guard.js +67 -0
  99. package/dist/core/sdd/json-schema.js +13 -1
  100. package/dist/core/sdd/legacy-operations.js +169 -5
  101. package/dist/core/sdd/migrate-workspace.js +39 -0
  102. package/dist/core/sdd/package-security-gates.d.ts +21 -0
  103. package/dist/core/sdd/package-security-gates.js +121 -0
  104. package/dist/core/sdd/package-structure-gate.d.ts +85 -3
  105. package/dist/core/sdd/package-structure-gate.js +384 -11
  106. package/dist/core/sdd/parallel-feat-automation.d.ts +185 -7
  107. package/dist/core/sdd/parallel-feat-automation.js +212 -0
  108. package/dist/core/sdd/plugin-broker.d.ts +223 -4
  109. package/dist/core/sdd/plugin-broker.js +10 -0
  110. package/dist/core/sdd/plugin-cli.d.ts +30 -0
  111. package/dist/core/sdd/plugin-cli.js +70 -3
  112. package/dist/core/sdd/plugin-evidence.d.ts +73 -0
  113. package/dist/core/sdd/plugin-manifest.d.ts +69 -1
  114. package/dist/core/sdd/plugin-manifest.js +10 -0
  115. package/dist/core/sdd/plugin-policy-pack.d.ts +1 -1
  116. package/dist/core/sdd/plugin-policy.js +6 -1
  117. package/dist/core/sdd/plugin-registry.d.ts +138 -2
  118. package/dist/core/sdd/plugin-sdk-contract.d.ts +363 -0
  119. package/dist/core/sdd/plugin-sdk-contract.js +268 -0
  120. package/dist/core/sdd/plugin-skill-binding.d.ts +1 -1
  121. package/dist/core/sdd/quality-validation.d.ts +89 -16
  122. package/dist/core/sdd/release-readiness.d.ts +68 -0
  123. package/dist/core/sdd/release-readiness.js +767 -0
  124. package/dist/core/sdd/reversa-architecture-extractor.d.ts +13 -0
  125. package/dist/core/sdd/reversa-architecture-extractor.js +89 -0
  126. package/dist/core/sdd/reversa-artifact-writer.d.ts +18 -0
  127. package/dist/core/sdd/reversa-artifact-writer.js +40 -0
  128. package/dist/core/sdd/reversa-command-policy.d.ts +136 -0
  129. package/dist/core/sdd/reversa-command-policy.js +361 -0
  130. package/dist/core/sdd/reversa-data-extractor.d.ts +11 -0
  131. package/dist/core/sdd/reversa-data-extractor.js +73 -0
  132. package/dist/core/sdd/reversa-equivalence.d.ts +20 -0
  133. package/dist/core/sdd/reversa-equivalence.js +34 -0
  134. package/dist/core/sdd/reversa-evidence.d.ts +298 -0
  135. package/dist/core/sdd/reversa-evidence.js +118 -0
  136. package/dist/core/sdd/reversa-reconstruction.d.ts +29 -0
  137. package/dist/core/sdd/reversa-reconstruction.js +32 -0
  138. package/dist/core/sdd/reversa-rules-extractor.d.ts +12 -0
  139. package/dist/core/sdd/reversa-rules-extractor.js +86 -0
  140. package/dist/core/sdd/reversa-source-safety.d.ts +19 -0
  141. package/dist/core/sdd/reversa-source-safety.js +105 -0
  142. package/dist/core/sdd/reversa-surface-scout.d.ts +13 -0
  143. package/dist/core/sdd/reversa-surface-scout.js +85 -0
  144. package/dist/core/sdd/reversa-ux-mapper.d.ts +11 -0
  145. package/dist/core/sdd/reversa-ux-mapper.js +73 -0
  146. package/dist/core/sdd/runtime-boundary-contract.d.ts +45 -0
  147. package/dist/core/sdd/runtime-boundary-contract.js +90 -0
  148. package/dist/core/sdd/sdk-agent-plugin-quality-gates.d.ts +150 -0
  149. package/dist/core/sdd/sdk-agent-plugin-quality-gates.js +258 -0
  150. package/dist/core/sdd/services/agent-run.service.d.ts +38 -6
  151. package/dist/core/sdd/services/agent-run.service.js +73 -1
  152. package/dist/core/sdd/services/archive-quality-coherence.service.d.ts +17 -0
  153. package/dist/core/sdd/services/archive-quality-coherence.service.js +141 -0
  154. package/dist/core/sdd/services/capability-diff.service.d.ts +18 -0
  155. package/dist/core/sdd/services/capability-diff.service.js +26 -0
  156. package/dist/core/sdd/services/change-safety-preflight.service.d.ts +17 -0
  157. package/dist/core/sdd/services/change-safety-preflight.service.js +17 -0
  158. package/dist/core/sdd/services/context.service.d.ts +43 -340
  159. package/dist/core/sdd/services/context.service.js +323 -9
  160. package/dist/core/sdd/services/decide.service.js +1 -1
  161. package/dist/core/sdd/services/finalize.service.d.ts +27 -0
  162. package/dist/core/sdd/services/finalize.service.js +226 -18
  163. package/dist/core/sdd/services/frontend-impact.service.d.ts +1 -1
  164. package/dist/core/sdd/services/historical-quality-regression.service.d.ts +35 -0
  165. package/dist/core/sdd/services/historical-quality-regression.service.js +228 -0
  166. package/dist/core/sdd/services/ingest-deposito.service.js +1 -1
  167. package/dist/core/sdd/services/planning-execution-coherence.service.d.ts +45 -0
  168. package/dist/core/sdd/services/planning-execution-coherence.service.js +225 -0
  169. package/dist/core/sdd/services/semantic-intent-classifier.service.d.ts +6 -0
  170. package/dist/core/sdd/services/semantic-intent-classifier.service.js +7 -0
  171. package/dist/core/sdd/state.d.ts +1 -0
  172. package/dist/core/sdd/state.js +266 -34
  173. package/dist/core/sdd/store/sdd-stores.js +2 -2
  174. package/dist/core/sdd/structural-health.d.ts +13 -13
  175. package/dist/core/sdd/types.d.ts +30 -15
  176. package/dist/core/sdd/types.js +4 -0
  177. package/dist/core/sdd/views.js +17 -0
  178. package/dist/core/sdd/workspace-schemas.d.ts +428 -7
  179. package/dist/core/sdd/workspace-schemas.js +223 -70
  180. package/dist/core/shared/skill-generation.d.ts +2 -0
  181. package/dist/core/shared/skill-generation.js +19 -2
  182. package/dist/core/shared/tool-detection.d.ts +19 -0
  183. package/dist/core/shared/tool-detection.js +89 -0
  184. package/dist/domains/sdd/index.d.ts +6 -0
  185. package/dist/domains/sdd/index.js +6 -0
  186. package/dist/infrastructures/sdd/index.d.ts +7 -0
  187. package/dist/infrastructures/sdd/index.js +6 -0
  188. package/dist/presentations/cli/sdd/index.d.ts +3 -0
  189. package/dist/presentations/cli/sdd/index.js +3 -0
  190. package/dist/shared/sdd/index.d.ts +3 -0
  191. package/dist/shared/sdd/index.js +2 -0
  192. package/package.json +14 -10
  193. package/schemas/sdd/2-plan.schema.json +207 -2
  194. package/schemas/sdd/5-quality.schema.json +324 -25
  195. package/schemas/sdd/agent-runtime-command-plan.schema.json +212 -0
  196. package/schemas/sdd/agent-runtime-opencode-run-evidence.schema.json +270 -0
  197. package/schemas/sdd/codesdd-plugin.schema.json +171 -0
  198. package/schemas/sdd/deepagent-run-request.schema.json +316 -0
  199. package/schemas/sdd/parallel-feat-automation-plan.schema.json +89 -0
  200. package/schemas/sdd/parallel-feat-scheduler-request.schema.json +116 -0
  201. package/schemas/sdd/parallel-feat-scheduler-result.schema.json +404 -0
  202. package/schemas/sdd/plugin-artifact-manifest.schema.json +109 -0
  203. package/schemas/sdd/plugin-artifact-map.schema.json +223 -0
  204. package/schemas/sdd/plugin-evidence-manifest.schema.json +109 -0
  205. package/schemas/sdd/plugin-language-runtime.schema.json +103 -0
  206. package/schemas/sdd/plugin-package-governance.schema.json +74 -0
  207. package/schemas/sdd/plugin-registry.schema.json +171 -0
  208. package/schemas/sdd/plugin-runtime-invocation-plan.schema.json +109 -0
  209. package/schemas/sdd/quality-evidence-bundle.schema.json +109 -0
  210. package/schemas/sdd/reversa-evidence-bundle.schema.json +466 -0
  211. package/schemas/sdd/sdk-agent-plugin-quality-gate-input.schema.json +168 -0
  212. package/schemas/sdd/sdk-agent-plugin-quality-gate-report.schema.json +160 -0
  213. package/schemas/sdd/workspace-catalog.schema.json +5298 -1409
@@ -28,8 +28,8 @@ export declare const StructuralCommandNameTokenSchema: z.ZodEnum<{
28
28
  }>;
29
29
  export declare const StructuralFindingSeveritySchema: z.ZodEnum<{
30
30
  error: "error";
31
- warning: "warning";
32
31
  info: "info";
32
+ warning: "warning";
33
33
  blocker: "blocker";
34
34
  }>;
35
35
  export declare const StructuralFindingCategorySchema: z.ZodEnum<{
@@ -96,8 +96,8 @@ export declare const StructuralTokenRegistrySchema: z.ZodObject<{
96
96
  }>>;
97
97
  finding_severities: z.ZodArray<z.ZodEnum<{
98
98
  error: "error";
99
- warning: "warning";
100
99
  info: "info";
100
+ warning: "warning";
101
101
  blocker: "blocker";
102
102
  }>>;
103
103
  finding_categories: z.ZodArray<z.ZodEnum<{
@@ -158,8 +158,8 @@ export declare const StructuralFindingSchema: z.ZodObject<{
158
158
  }>;
159
159
  severity: z.ZodEnum<{
160
160
  error: "error";
161
- warning: "warning";
162
161
  info: "info";
162
+ warning: "warning";
163
163
  blocker: "blocker";
164
164
  }>;
165
165
  summary: z.ZodString;
@@ -195,8 +195,8 @@ export declare const StructuralDiagnosticReportSchema: z.ZodObject<{
195
195
  }>;
196
196
  severity: z.ZodEnum<{
197
197
  error: "error";
198
- warning: "warning";
199
198
  info: "info";
199
+ warning: "warning";
200
200
  blocker: "blocker";
201
201
  }>;
202
202
  summary: z.ZodString;
@@ -217,8 +217,8 @@ export declare const StructuralDiagnosticReportSchema: z.ZodObject<{
217
217
  total: z.ZodNumber;
218
218
  by_severity: z.ZodDefault<z.ZodRecord<z.ZodEnum<{
219
219
  error: "error";
220
- warning: "warning";
221
220
  info: "info";
221
+ warning: "warning";
222
222
  blocker: "blocker";
223
223
  }> & z.core.$partial, z.ZodNumber>>;
224
224
  by_category: z.ZodDefault<z.ZodRecord<z.ZodEnum<{
@@ -242,10 +242,10 @@ export declare const StructuralSanitizerActionSchema: z.ZodObject<{
242
242
  noop: "noop";
243
243
  }>;
244
244
  operation: z.ZodEnum<{
245
+ move: "move";
245
246
  skip: "skip";
246
247
  mkdir: "mkdir";
247
248
  render: "render";
248
- move: "move";
249
249
  register: "register";
250
250
  manual_review: "manual_review";
251
251
  }>;
@@ -255,8 +255,8 @@ export declare const StructuralSanitizerActionSchema: z.ZodObject<{
255
255
  }, z.core.$strip>;
256
256
  export declare const StructuralSanitizerRollbackOperationSchema: z.ZodObject<{
257
257
  operation: z.ZodEnum<{
258
- noop: "noop";
259
258
  move: "move";
259
+ noop: "noop";
260
260
  delete_path: "delete_path";
261
261
  restore_backup: "restore_backup";
262
262
  }>;
@@ -276,10 +276,10 @@ export declare const StructuralSanitizerTransactionOperationSchema: z.ZodObject<
276
276
  noop: "noop";
277
277
  }>;
278
278
  operation: z.ZodEnum<{
279
+ move: "move";
279
280
  skip: "skip";
280
281
  mkdir: "mkdir";
281
282
  render: "render";
282
- move: "move";
283
283
  register: "register";
284
284
  manual_review: "manual_review";
285
285
  }>;
@@ -296,8 +296,8 @@ export declare const StructuralSanitizerTransactionOperationSchema: z.ZodObject<
296
296
  error: z.ZodOptional<z.ZodString>;
297
297
  rollback: z.ZodObject<{
298
298
  operation: z.ZodEnum<{
299
- noop: "noop";
300
299
  move: "move";
300
+ noop: "noop";
301
301
  delete_path: "delete_path";
302
302
  restore_backup: "restore_backup";
303
303
  }>;
@@ -331,10 +331,10 @@ export declare const StructuralSanitizerTransactionManifestSchema: z.ZodObject<{
331
331
  noop: "noop";
332
332
  }>;
333
333
  operation: z.ZodEnum<{
334
+ move: "move";
334
335
  skip: "skip";
335
336
  mkdir: "mkdir";
336
337
  render: "render";
337
- move: "move";
338
338
  register: "register";
339
339
  manual_review: "manual_review";
340
340
  }>;
@@ -351,8 +351,8 @@ export declare const StructuralSanitizerTransactionManifestSchema: z.ZodObject<{
351
351
  error: z.ZodOptional<z.ZodString>;
352
352
  rollback: z.ZodObject<{
353
353
  operation: z.ZodEnum<{
354
- noop: "noop";
355
354
  move: "move";
355
+ noop: "noop";
356
356
  delete_path: "delete_path";
357
357
  restore_backup: "restore_backup";
358
358
  }>;
@@ -388,10 +388,10 @@ export declare const StructuralSanitizerReportSchema: z.ZodObject<{
388
388
  noop: "noop";
389
389
  }>;
390
390
  operation: z.ZodEnum<{
391
+ move: "move";
391
392
  skip: "skip";
392
393
  mkdir: "mkdir";
393
394
  render: "render";
394
- move: "move";
395
395
  register: "register";
396
396
  manual_review: "manual_review";
397
397
  }>;
@@ -409,10 +409,10 @@ export declare const StructuralSanitizerReportSchema: z.ZodObject<{
409
409
  noop: "noop";
410
410
  }>;
411
411
  operation: z.ZodEnum<{
412
+ move: "move";
412
413
  skip: "skip";
413
414
  mkdir: "mkdir";
414
415
  render: "render";
415
- move: "move";
416
416
  register: "register";
417
417
  manual_review: "manual_review";
418
418
  }>;
@@ -92,8 +92,8 @@ export declare const SourceClassificationSchema: z.ZodEnum<{
92
92
  other: "other";
93
93
  }>;
94
94
  export declare const SourceVerificationStatusSchema: z.ZodEnum<{
95
- verified: "verified";
96
95
  stale: "stale";
96
+ verified: "verified";
97
97
  unverified: "unverified";
98
98
  needs_review: "needs_review";
99
99
  }>;
@@ -136,8 +136,8 @@ export declare const FrontendGapStatusSchema: z.ZodEnum<{
136
136
  DONE: "DONE";
137
137
  }>;
138
138
  export declare const FrontendImpactStatusSchema: z.ZodEnum<{
139
- unknown: "unknown";
140
139
  none: "none";
140
+ unknown: "unknown";
141
141
  required: "required";
142
142
  }>;
143
143
  export declare const FrontendGapOriginKindSchema: z.ZodEnum<{
@@ -155,17 +155,17 @@ export declare const QualityEvidenceStatusSchema: z.ZodEnum<{
155
155
  waived: "waived";
156
156
  }>;
157
157
  export declare const QualityEvidenceModeSchema: z.ZodEnum<{
158
+ hybrid: "hybrid";
158
159
  coverage: "coverage";
159
160
  equivalence: "equivalence";
160
- hybrid: "hybrid";
161
161
  }>;
162
162
  export declare const QualityEnforcementSchema: z.ZodEnum<{
163
163
  advisory: "advisory";
164
164
  blocking: "blocking";
165
165
  }>;
166
166
  export declare const FrontendUiStatusSchema: z.ZodEnum<{
167
- PLANNED: "PLANNED";
168
167
  OK: "OK";
168
+ PLANNED: "PLANNED";
169
169
  GAP: "GAP";
170
170
  PARTIAL: "PARTIAL";
171
171
  DEPRECATED: "DEPRECATED";
@@ -205,9 +205,9 @@ export declare const QualityContractSchema: z.ZodObject<{
205
205
  unit_target_percent: z.ZodDefault<z.ZodNumber>;
206
206
  integration_target_percent: z.ZodDefault<z.ZodNumber>;
207
207
  evidence_mode: z.ZodDefault<z.ZodEnum<{
208
+ hybrid: "hybrid";
208
209
  coverage: "coverage";
209
210
  equivalence: "equivalence";
210
- hybrid: "hybrid";
211
211
  }>>;
212
212
  enforcement: z.ZodDefault<z.ZodEnum<{
213
213
  advisory: "advisory";
@@ -278,9 +278,9 @@ export declare const DiscoveryRecordSchema: z.ZodObject<{
278
278
  unit_target_percent: z.ZodDefault<z.ZodNumber>;
279
279
  integration_target_percent: z.ZodDefault<z.ZodNumber>;
280
280
  evidence_mode: z.ZodDefault<z.ZodEnum<{
281
+ hybrid: "hybrid";
281
282
  coverage: "coverage";
282
283
  equivalence: "equivalence";
283
- hybrid: "hybrid";
284
284
  }>>;
285
285
  enforcement: z.ZodDefault<z.ZodEnum<{
286
286
  advisory: "advisory";
@@ -422,9 +422,9 @@ export declare const BacklogItemSchema: z.ZodObject<{
422
422
  unit_target_percent: z.ZodDefault<z.ZodNumber>;
423
423
  integration_target_percent: z.ZodDefault<z.ZodNumber>;
424
424
  evidence_mode: z.ZodDefault<z.ZodEnum<{
425
+ hybrid: "hybrid";
425
426
  coverage: "coverage";
426
427
  equivalence: "equivalence";
427
- hybrid: "hybrid";
428
428
  }>>;
429
429
  enforcement: z.ZodDefault<z.ZodEnum<{
430
430
  advisory: "advisory";
@@ -457,8 +457,8 @@ export declare const BacklogItemSchema: z.ZodObject<{
457
457
  updated_at: z.ZodOptional<z.ZodString>;
458
458
  }, z.core.$strip>>;
459
459
  frontend_impact_status: z.ZodDefault<z.ZodEnum<{
460
- unknown: "unknown";
461
460
  none: "none";
461
+ unknown: "unknown";
462
462
  required: "required";
463
463
  }>>;
464
464
  frontend_impact_reason: z.ZodOptional<z.ZodString>;
@@ -495,6 +495,13 @@ export declare const FinalizeQueueItemSchema: z.ZodObject<{
495
495
  created_at: z.ZodOptional<z.ZodString>;
496
496
  completed_at: z.ZodOptional<z.ZodString>;
497
497
  }, z.core.$strip>;
498
+ export declare const FinalizeHistoryItemSchema: z.ZodObject<{
499
+ feature_id: z.ZodString;
500
+ summary: z.ZodOptional<z.ZodString>;
501
+ created_at: z.ZodOptional<z.ZodString>;
502
+ completed_at: z.ZodOptional<z.ZodString>;
503
+ status: z.ZodDefault<z.ZodLiteral<"DONE">>;
504
+ }, z.core.$strip>;
498
505
  export declare const UnblockEventSchema: z.ZodObject<{
499
506
  feature_id: z.ZodString;
500
507
  unblocked_by: z.ZodString;
@@ -609,8 +616,8 @@ export declare const SourceDocumentRecordSchema: z.ZodObject<{
609
616
  jurisdiction_tags: z.ZodDefault<z.ZodArray<z.ZodString>>;
610
617
  last_verified_at: z.ZodOptional<z.ZodString>;
611
618
  verification_status: z.ZodDefault<z.ZodEnum<{
612
- verified: "verified";
613
619
  stale: "stale";
620
+ verified: "verified";
614
621
  unverified: "unverified";
615
622
  needs_review: "needs_review";
616
623
  }>>;
@@ -752,8 +759,8 @@ export declare const FrontendRouteRecordSchema: z.ZodObject<{
752
759
  label: z.ZodOptional<z.ZodString>;
753
760
  nav_surface: z.ZodOptional<z.ZodString>;
754
761
  ui_status: z.ZodEnum<{
755
- PLANNED: "PLANNED";
756
762
  OK: "OK";
763
+ PLANNED: "PLANNED";
757
764
  GAP: "GAP";
758
765
  PARTIAL: "PARTIAL";
759
766
  DEPRECATED: "DEPRECATED";
@@ -812,9 +819,9 @@ export declare const DiscoveryIndexStateSchema: z.ZodObject<{
812
819
  unit_target_percent: z.ZodDefault<z.ZodNumber>;
813
820
  integration_target_percent: z.ZodDefault<z.ZodNumber>;
814
821
  evidence_mode: z.ZodDefault<z.ZodEnum<{
822
+ hybrid: "hybrid";
815
823
  coverage: "coverage";
816
824
  equivalence: "equivalence";
817
- hybrid: "hybrid";
818
825
  }>>;
819
826
  enforcement: z.ZodDefault<z.ZodEnum<{
820
827
  advisory: "advisory";
@@ -959,9 +966,9 @@ export declare const BacklogStateSchema: z.ZodObject<{
959
966
  unit_target_percent: z.ZodDefault<z.ZodNumber>;
960
967
  integration_target_percent: z.ZodDefault<z.ZodNumber>;
961
968
  evidence_mode: z.ZodDefault<z.ZodEnum<{
969
+ hybrid: "hybrid";
962
970
  coverage: "coverage";
963
971
  equivalence: "equivalence";
964
- hybrid: "hybrid";
965
972
  }>>;
966
973
  enforcement: z.ZodDefault<z.ZodEnum<{
967
974
  advisory: "advisory";
@@ -994,8 +1001,8 @@ export declare const BacklogStateSchema: z.ZodObject<{
994
1001
  updated_at: z.ZodOptional<z.ZodString>;
995
1002
  }, z.core.$strip>>;
996
1003
  frontend_impact_status: z.ZodDefault<z.ZodEnum<{
997
- unknown: "unknown";
998
1004
  none: "none";
1005
+ unknown: "unknown";
999
1006
  required: "required";
1000
1007
  }>>;
1001
1008
  frontend_impact_reason: z.ZodOptional<z.ZodString>;
@@ -1038,6 +1045,13 @@ export declare const FinalizeQueueStateSchema: z.ZodObject<{
1038
1045
  created_at: z.ZodOptional<z.ZodString>;
1039
1046
  completed_at: z.ZodOptional<z.ZodString>;
1040
1047
  }, z.core.$strip>>>;
1048
+ history: z.ZodDefault<z.ZodArray<z.ZodObject<{
1049
+ feature_id: z.ZodString;
1050
+ summary: z.ZodOptional<z.ZodString>;
1051
+ created_at: z.ZodOptional<z.ZodString>;
1052
+ completed_at: z.ZodOptional<z.ZodString>;
1053
+ status: z.ZodDefault<z.ZodLiteral<"DONE">>;
1054
+ }, z.core.$strip>>>;
1041
1055
  }, z.core.$strip>;
1042
1056
  export declare const UnblockEventsStateSchema: z.ZodObject<{
1043
1057
  version: z.ZodLiteral<1>;
@@ -1221,8 +1235,8 @@ export declare const SourceIndexStateSchema: z.ZodObject<{
1221
1235
  jurisdiction_tags: z.ZodDefault<z.ZodArray<z.ZodString>>;
1222
1236
  last_verified_at: z.ZodOptional<z.ZodString>;
1223
1237
  verification_status: z.ZodDefault<z.ZodEnum<{
1224
- verified: "verified";
1225
1238
  stale: "stale";
1239
+ verified: "verified";
1226
1240
  unverified: "unverified";
1227
1241
  needs_review: "needs_review";
1228
1242
  }>>;
@@ -1325,8 +1339,8 @@ export declare const FrontendMapStateSchema: z.ZodObject<{
1325
1339
  label: z.ZodOptional<z.ZodString>;
1326
1340
  nav_surface: z.ZodOptional<z.ZodString>;
1327
1341
  ui_status: z.ZodEnum<{
1328
- PLANNED: "PLANNED";
1329
1342
  OK: "OK";
1343
+ PLANNED: "PLANNED";
1330
1344
  GAP: "GAP";
1331
1345
  PARTIAL: "PARTIAL";
1332
1346
  DEPRECATED: "DEPRECATED";
@@ -1558,6 +1572,7 @@ export type DiscoveryRecord = z.infer<typeof DiscoveryRecordSchema>;
1558
1572
  export type BacklogItem = z.infer<typeof BacklogItemSchema>;
1559
1573
  export type TechDebtRecord = z.infer<typeof TechDebtRecordSchema>;
1560
1574
  export type FinalizeQueueItem = z.infer<typeof FinalizeQueueItemSchema>;
1575
+ export type FinalizeHistoryItem = z.infer<typeof FinalizeHistoryItemSchema>;
1561
1576
  export type UnblockEvent = z.infer<typeof UnblockEventSchema>;
1562
1577
  export type TransitionLogEvent = z.infer<typeof TransitionLogEventSchema>;
1563
1578
  export type SkillCatalogEntry = z.infer<typeof SkillCatalogEntrySchema>;
@@ -271,6 +271,9 @@ export const FinalizeQueueItemSchema = z.object({
271
271
  created_at: NullableStringSchema,
272
272
  completed_at: NullableStringSchema,
273
273
  });
274
+ export const FinalizeHistoryItemSchema = FinalizeQueueItemSchema.extend({
275
+ status: z.literal('DONE').default('DONE'),
276
+ });
274
277
  export const UnblockEventSchema = z.object({
275
278
  feature_id: z.string().regex(ID_PATTERNS.feature, 'Invalid FEAT id format'),
276
279
  unblocked_by: z.string().regex(ID_PATTERNS.feature, 'Invalid FEAT id format'),
@@ -484,6 +487,7 @@ export const TechDebtStateSchema = z.object({
484
487
  export const FinalizeQueueStateSchema = z.object({
485
488
  version: z.literal(1),
486
489
  items: z.array(FinalizeQueueItemSchema).default([]),
490
+ history: z.array(FinalizeHistoryItemSchema).default([]),
487
491
  });
488
492
  export const UnblockEventsStateSchema = z.object({
489
493
  version: z.literal(1),
@@ -147,18 +147,35 @@ ${rows.length > 0 ? rows.join('\n') : '| - | - | No items | - | - |'}
147
147
  }
148
148
  function renderFinalizeQueue(state) {
149
149
  const rows = state.finalizeQueue.items
150
+ .filter((item) => item.status === 'PENDING')
150
151
  .slice()
151
152
  .sort((a, b) => a.feature_id.localeCompare(b.feature_id))
152
153
  .map((item) => {
153
154
  return `| ${item.feature_id} | ${item.status} | ${item.summary || '-'} | ${formatDate(item.created_at)} | ${formatDate(item.completed_at)} |`;
154
155
  });
156
+ const historyRows = state.finalizeQueue.history
157
+ .slice()
158
+ .sort((a, b) => (b.completed_at || '').localeCompare(a.completed_at || ''))
159
+ .slice(0, 20)
160
+ .map((item) => {
161
+ return `| ${item.feature_id} | ${item.summary || '-'} | ${formatDate(item.created_at)} | ${formatDate(item.completed_at)} |`;
162
+ });
155
163
  return `# Finalize Queue
156
164
 
157
165
  Generated from \`.sdd/state/finalize-queue.yaml\`.
158
166
 
167
+ Active queue items: ${rows.length}
168
+ Finalize history items: ${state.finalizeQueue.history.length}
169
+
159
170
  | Feature | Status | Summary | Created | Completed |
160
171
  | --- | --- | --- | --- | --- |
161
172
  ${rows.length > 0 ? rows.join('\n') : '| - | - | No items | - | - |'}
173
+
174
+ ## Recent History
175
+
176
+ | Feature | Summary | Created | Completed |
177
+ | --- | --- | --- | --- |
178
+ ${historyRows.length > 0 ? historyRows.join('\n') : '| - | No completed finalizations | - | - |'}
162
179
  `;
163
180
  }
164
181
  function renderTechDebt(state) {