specweave 1.0.535 → 1.0.536

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 (106) hide show
  1. package/dist/dashboard/assets/index-BMm0qiMB.css +1 -0
  2. package/dist/dashboard/assets/index-CBXB9ta5.js +13 -0
  3. package/dist/dashboard/index.html +2 -2
  4. package/dist/src/cli/commands/get.d.ts.map +1 -1
  5. package/dist/src/cli/commands/get.js +3 -2
  6. package/dist/src/cli/commands/get.js.map +1 -1
  7. package/dist/src/cli/commands/init.d.ts.map +1 -1
  8. package/dist/src/cli/commands/init.js +43 -10
  9. package/dist/src/cli/commands/init.js.map +1 -1
  10. package/dist/src/cli/commands/sync-setup.d.ts.map +1 -1
  11. package/dist/src/cli/commands/sync-setup.js +23 -0
  12. package/dist/src/cli/commands/sync-setup.js.map +1 -1
  13. package/dist/src/cli/commands/team.d.ts.map +1 -1
  14. package/dist/src/cli/commands/team.js +3 -1
  15. package/dist/src/cli/commands/team.js.map +1 -1
  16. package/dist/src/cli/helpers/init/index.d.ts +1 -1
  17. package/dist/src/cli/helpers/init/index.d.ts.map +1 -1
  18. package/dist/src/cli/helpers/init/index.js +1 -1
  19. package/dist/src/cli/helpers/init/index.js.map +1 -1
  20. package/dist/src/cli/helpers/init/path-utils.d.ts +24 -0
  21. package/dist/src/cli/helpers/init/path-utils.d.ts.map +1 -1
  22. package/dist/src/cli/helpers/init/path-utils.js +78 -1
  23. package/dist/src/cli/helpers/init/path-utils.js.map +1 -1
  24. package/dist/src/cli/helpers/init/smart-defaults.d.ts.map +1 -1
  25. package/dist/src/cli/helpers/init/smart-defaults.js +3 -1
  26. package/dist/src/cli/helpers/init/smart-defaults.js.map +1 -1
  27. package/dist/src/cli/helpers/issue-tracker/project-mapping-wizard.d.ts +61 -0
  28. package/dist/src/cli/helpers/issue-tracker/project-mapping-wizard.d.ts.map +1 -0
  29. package/dist/src/cli/helpers/issue-tracker/project-mapping-wizard.js +176 -0
  30. package/dist/src/cli/helpers/issue-tracker/project-mapping-wizard.js.map +1 -0
  31. package/dist/src/cli/helpers/issue-tracker/sync-config-writer.js +1 -1
  32. package/dist/src/cli/helpers/issue-tracker/sync-config-writer.js.map +1 -1
  33. package/dist/src/cli/workers/marketplace-scanner-worker.d.ts +1 -0
  34. package/dist/src/cli/workers/marketplace-scanner-worker.d.ts.map +1 -1
  35. package/dist/src/cli/workers/marketplace-scanner-worker.js +25 -0
  36. package/dist/src/cli/workers/marketplace-scanner-worker.js.map +1 -1
  37. package/dist/src/core/config/config-manager.d.ts.map +1 -1
  38. package/dist/src/core/config/config-manager.js +22 -5
  39. package/dist/src/core/config/config-manager.js.map +1 -1
  40. package/dist/src/core/config/index.d.ts +1 -0
  41. package/dist/src/core/config/index.d.ts.map +1 -1
  42. package/dist/src/core/config/index.js +1 -0
  43. package/dist/src/core/config/index.js.map +1 -1
  44. package/dist/src/core/config/types.d.ts +70 -17
  45. package/dist/src/core/config/types.d.ts.map +1 -1
  46. package/dist/src/core/config/types.js.map +1 -1
  47. package/dist/src/core/config/workspace-migrator.d.ts +27 -0
  48. package/dist/src/core/config/workspace-migrator.d.ts.map +1 -0
  49. package/dist/src/core/config/workspace-migrator.js +193 -0
  50. package/dist/src/core/config/workspace-migrator.js.map +1 -0
  51. package/dist/src/core/increment/template-creator.d.ts +15 -15
  52. package/dist/src/core/increment/template-creator.d.ts.map +1 -1
  53. package/dist/src/core/increment/template-creator.js +17 -19
  54. package/dist/src/core/increment/template-creator.js.map +1 -1
  55. package/dist/src/core/living-docs/umbrella-detector.d.ts +8 -1
  56. package/dist/src/core/living-docs/umbrella-detector.d.ts.map +1 -1
  57. package/dist/src/core/living-docs/umbrella-detector.js +61 -2
  58. package/dist/src/core/living-docs/umbrella-detector.js.map +1 -1
  59. package/dist/src/core/sync/external-tool-resolver.d.ts +8 -3
  60. package/dist/src/core/sync/external-tool-resolver.d.ts.map +1 -1
  61. package/dist/src/core/sync/external-tool-resolver.js +61 -51
  62. package/dist/src/core/sync/external-tool-resolver.js.map +1 -1
  63. package/dist/src/core/validation/three-file-validator.d.ts +2 -1
  64. package/dist/src/core/validation/three-file-validator.d.ts.map +1 -1
  65. package/dist/src/core/validation/three-file-validator.js +31 -11
  66. package/dist/src/core/validation/three-file-validator.js.map +1 -1
  67. package/dist/src/dashboard/server/dashboard-server.d.ts.map +1 -1
  68. package/dist/src/dashboard/server/dashboard-server.js +39 -6
  69. package/dist/src/dashboard/server/dashboard-server.js.map +1 -1
  70. package/dist/src/dashboard/server/data/dashboard-data-aggregator.d.ts.map +1 -1
  71. package/dist/src/dashboard/server/data/dashboard-data-aggregator.js +2 -2
  72. package/dist/src/dashboard/server/data/dashboard-data-aggregator.js.map +1 -1
  73. package/dist/src/dashboard/server/router.d.ts +1 -0
  74. package/dist/src/dashboard/server/router.d.ts.map +1 -1
  75. package/dist/src/dashboard/server/router.js +3 -0
  76. package/dist/src/dashboard/server/router.js.map +1 -1
  77. package/dist/src/dashboard/server/routes/workspace-routes.d.ts +18 -0
  78. package/dist/src/dashboard/server/routes/workspace-routes.d.ts.map +1 -0
  79. package/dist/src/dashboard/server/routes/workspace-routes.js +127 -0
  80. package/dist/src/dashboard/server/routes/workspace-routes.js.map +1 -0
  81. package/dist/src/importers/import-coordinator.d.ts +17 -0
  82. package/dist/src/importers/import-coordinator.d.ts.map +1 -1
  83. package/dist/src/importers/import-coordinator.js +40 -0
  84. package/dist/src/importers/import-coordinator.js.map +1 -1
  85. package/dist/src/importers/markdown-generator.d.ts +1 -1
  86. package/dist/src/importers/markdown-generator.d.ts.map +1 -1
  87. package/dist/src/importers/markdown-generator.js +4 -1
  88. package/dist/src/importers/markdown-generator.js.map +1 -1
  89. package/dist/src/sync/github-rate-limit-budget.d.ts.map +1 -1
  90. package/dist/src/sync/github-rate-limit-budget.js +13 -2
  91. package/dist/src/sync/github-rate-limit-budget.js.map +1 -1
  92. package/dist/src/utils/find-project-root.d.ts +26 -0
  93. package/dist/src/utils/find-project-root.d.ts.map +1 -1
  94. package/dist/src/utils/find-project-root.js +38 -0
  95. package/dist/src/utils/find-project-root.js.map +1 -1
  96. package/dist/src/utils/multi-project-detector.d.ts +6 -1
  97. package/dist/src/utils/multi-project-detector.d.ts.map +1 -1
  98. package/dist/src/utils/multi-project-detector.js +15 -29
  99. package/dist/src/utils/multi-project-detector.js.map +1 -1
  100. package/package.json +1 -1
  101. package/plugins/specweave/skills/architect/SKILL.md +7 -0
  102. package/plugins/specweave/skills/increment/SKILL.md +1 -1
  103. package/plugins/specweave/skills/pm/SKILL.md +10 -12
  104. package/plugins/specweave/skills/pm/phases/02-spec-creation.md +8 -8
  105. package/dist/dashboard/assets/index-BhAMnKPa.css +0 -1
  106. package/dist/dashboard/assets/index-Dn_pe39G.js +0 -13
@@ -56,11 +56,30 @@ export class ExternalToolResolver {
56
56
  return config.sync || null;
57
57
  }
58
58
  /**
59
- * Get project mappings
59
+ * Get workspace configuration
60
60
  */
61
- async getProjectMappings() {
61
+ async getWorkspaceConfig() {
62
62
  const config = await this.loadConfig();
63
- return config.projectMappings || {};
63
+ return config.workspace || null;
64
+ }
65
+ /**
66
+ * Convert WorkspaceRepoSync to ProjectMapping-compatible format for profile matching
67
+ */
68
+ convertWorkspaceSyncToMapping(sync) {
69
+ const mapping = {};
70
+ if (sync.github) {
71
+ mapping.github = { owner: sync.github.owner, repo: sync.github.repo };
72
+ }
73
+ if (sync.jira) {
74
+ mapping.jira = { project: sync.jira.projectKey };
75
+ }
76
+ if (sync.ado) {
77
+ mapping.ado = { project: sync.ado.project };
78
+ if (sync.ado.organization) {
79
+ mapping.ado.organization = sync.ado.organization;
80
+ }
81
+ }
82
+ return mapping;
64
83
  }
65
84
  // ==========================================================================
66
85
  // Resolution Methods
@@ -102,14 +121,14 @@ export class ExternalToolResolver {
102
121
  if (projectId) {
103
122
  const projectResult = await this.resolveForProject(projectId);
104
123
  if (projectResult.syncTarget) {
105
- resolutionPath.push(`projectMappings['${projectId}'] → ${projectResult.syncTarget.profileId}`);
124
+ resolutionPath.push(`workspace.repos['${projectId}'] → ${projectResult.syncTarget.profileId}`);
106
125
  return {
107
126
  ...projectResult,
108
127
  resolutionPath: [...resolutionPath, ...projectResult.resolutionPath],
109
128
  warnings: [...warnings, ...projectResult.warnings],
110
129
  };
111
130
  }
112
- resolutionPath.push(`projectMappings['${projectId}'] not found`);
131
+ resolutionPath.push(`workspace.repos['${projectId}'] not found`);
113
132
  }
114
133
  // Step 3: Fall back to default profile
115
134
  const syncConfig = await this.getSyncConfig();
@@ -166,7 +185,8 @@ export class ExternalToolResolver {
166
185
  /**
167
186
  * Resolve external tool for a specific project ID
168
187
  *
169
- * Looks up project in config.projectMappings and resolves to a profile.
188
+ * Looks up project in workspace.repos and resolves to a profile.
189
+ * Falls back to workspace.rootRepo when projectId matches workspace.name.
170
190
  *
171
191
  * @param projectId - SpecWeave project ID (e.g., "frontend-app")
172
192
  * @returns Resolution result
@@ -174,43 +194,32 @@ export class ExternalToolResolver {
174
194
  async resolveForProject(projectId) {
175
195
  const resolutionPath = [];
176
196
  const warnings = [];
177
- const mappings = await this.getProjectMappings();
178
- const mapping = mappings[projectId];
179
- if (!mapping) {
197
+ const workspace = await this.getWorkspaceConfig();
198
+ // Look up workspace repo by ID
199
+ let sync = null;
200
+ const repo = workspace?.repos?.find((r) => r.id === projectId);
201
+ if (repo?.sync) {
202
+ sync = repo.sync;
203
+ }
204
+ else if (workspace && projectId === workspace.name && workspace.rootRepo) {
205
+ // rootRepo fallback when projectId matches workspace name (AC-US8-02)
206
+ sync = workspace.rootRepo;
207
+ }
208
+ if (!sync) {
180
209
  return {
181
210
  syncTarget: null,
182
211
  profile: null,
183
- resolutionPath: [`projectMappings['${projectId}'] not found`],
212
+ resolutionPath: [`workspace.repos['${projectId}'] not found`],
184
213
  warnings,
185
214
  };
186
215
  }
187
- // Check for explicit profileId in mapping
216
+ // Convert workspace sync to mapping format and find matching profile
217
+ const mapping = this.convertWorkspaceSyncToMapping(sync);
188
218
  const providers = ['github', 'jira', 'ado'];
189
219
  for (const provider of providers) {
190
220
  const providerMapping = mapping[provider];
191
221
  if (providerMapping) {
192
- resolutionPath.push(`projectMappings['${projectId}'].${provider}`);
193
- // If explicit profileId specified, use that
194
- if (providerMapping.profileId) {
195
- const profile = await this.getProfileById(providerMapping.profileId);
196
- if (profile) {
197
- const syncTarget = {
198
- profileId: providerMapping.profileId,
199
- provider,
200
- derivedFrom: 'project-mapping',
201
- setAt: new Date().toISOString(),
202
- sourceProjectId: projectId,
203
- };
204
- return {
205
- syncTarget,
206
- profile,
207
- resolutionPath,
208
- warnings,
209
- };
210
- }
211
- warnings.push(`Explicit profileId '${providerMapping.profileId}' not found`);
212
- }
213
- // Otherwise, find matching profile by config
222
+ resolutionPath.push(`workspace.repos['${projectId}'].sync.${provider}`);
214
223
  const matchingProfile = await this.findProfileByMapping(provider, providerMapping);
215
224
  if (matchingProfile) {
216
225
  const syncTarget = {
@@ -227,7 +236,7 @@ export class ExternalToolResolver {
227
236
  warnings,
228
237
  };
229
238
  }
230
- // Mapping exists but no matching profile
239
+ // Sync config exists but no matching profile
231
240
  warnings.push(`No profile matches ${provider} config for project '${projectId}'`);
232
241
  }
233
242
  }
@@ -248,25 +257,26 @@ export class ExternalToolResolver {
248
257
  async resolveForProvider(provider, projectId) {
249
258
  const resolutionPath = [];
250
259
  const warnings = [];
251
- // If projectId provided, try project mapping first
260
+ // If projectId provided, try workspace repo sync first
252
261
  if (projectId) {
253
- const mappings = await this.getProjectMappings();
254
- const mapping = mappings[projectId]?.[provider];
255
- if (mapping) {
256
- const profileId = mapping.profileId;
257
- if (profileId) {
258
- const profile = await this.getProfileById(profileId);
259
- if (profile && profile.provider === provider) {
260
- resolutionPath.push(`projectMappings['${projectId}'].${provider}.profileId`);
262
+ const workspace = await this.getWorkspaceConfig();
263
+ const repo = workspace?.repos?.find((r) => r.id === projectId);
264
+ if (repo?.sync) {
265
+ const mapping = this.convertWorkspaceSyncToMapping(repo.sync);
266
+ const providerMapping = mapping[provider];
267
+ if (providerMapping) {
268
+ const matchingProfile = await this.findProfileByMapping(provider, providerMapping);
269
+ if (matchingProfile) {
270
+ resolutionPath.push(`workspace.repos['${projectId}'].sync.${provider}`);
261
271
  return {
262
272
  syncTarget: {
263
- profileId,
273
+ profileId: matchingProfile.id,
264
274
  provider,
265
275
  derivedFrom: 'project-mapping',
266
276
  setAt: new Date().toISOString(),
267
277
  sourceProjectId: projectId,
268
278
  },
269
- profile,
279
+ profile: matchingProfile.profile,
270
280
  resolutionPath,
271
281
  warnings,
272
282
  };
@@ -323,14 +333,14 @@ export class ExternalToolResolver {
323
333
  if (!resolution.syncTarget) {
324
334
  // Check what's missing
325
335
  const syncConfig = await this.getSyncConfig();
326
- const mappings = await this.getProjectMappings();
336
+ const workspace = await this.getWorkspaceConfig();
327
337
  if (!syncConfig || Object.keys(syncConfig.profiles || {}).length === 0) {
328
338
  errors.push('No sync profiles configured');
329
339
  suggestions.push('Run `specweave init` to configure external tool integration');
330
340
  }
331
- else if (projectId && !mappings[projectId]) {
332
- errors.push(`No project mapping for '${projectId}'`);
333
- suggestions.push(`Add project mapping in config.json: projectMappings.${projectId}`);
341
+ else if (projectId && !workspace?.repos?.some((r) => r.id === projectId)) {
342
+ errors.push(`No workspace repo for '${projectId}'`);
343
+ suggestions.push(`Add repo in config.json: workspace.repos with id '${projectId}'`);
334
344
  }
335
345
  else if (!syncConfig.defaultProfile) {
336
346
  errors.push('No default sync profile configured');
@@ -559,14 +569,14 @@ export class ExternalToolResolver {
559
569
  */
560
570
  async getConfigSummary() {
561
571
  const syncConfig = await this.getSyncConfig();
562
- const mappings = await this.getProjectMappings();
572
+ const workspace = await this.getWorkspaceConfig();
563
573
  const profiles = Object.values(syncConfig?.profiles ?? {});
564
574
  return {
565
575
  hasConfig: profiles.length > 0,
566
576
  providers: [...new Set(profiles.map((p) => p.provider))],
567
577
  profileCount: profiles.length,
568
578
  defaultProfile: syncConfig?.defaultProfile,
569
- projectMappingCount: Object.keys(mappings).length,
579
+ projectMappingCount: workspace?.repos?.length ?? 0,
570
580
  };
571
581
  }
572
582
  }
@@ -1 +1 @@
1
- {"version":3,"file":"external-tool-resolver.js","sourceRoot":"","sources":["../../../../src/core/sync/external-tool-resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"external-tool-resolver.js","sourceRoot":"","sources":["../../../../src/core/sync/external-tool-resolver.ts"],"names":[],"mappings":"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"}
@@ -27,6 +27,7 @@ export declare enum ValidationErrorCode {
27
27
  SPEC_CONTAINS_TASK_IDS = "SPEC_CONTAINS_TASK_IDS",
28
28
  SPEC_CONTAINS_TECHNICAL_DETAILS = "SPEC_CONTAINS_TECHNICAL_DETAILS",
29
29
  SPEC_MISSING_AC = "SPEC_MISSING_AC",
30
+ SPEC_MISSING_PROJECT = "SPEC_MISSING_PROJECT",
30
31
  PLAN_CONTAINS_AC = "PLAN_CONTAINS_AC",
31
32
  PLAN_CONTAINS_TASK_CHECKBOXES = "PLAN_CONTAINS_TASK_CHECKBOXES",
32
33
  METADATA_MISSING_PROJECT = "METADATA_MISSING_PROJECT",
@@ -80,7 +81,7 @@ export declare class ThreeFileValidator {
80
81
  */
81
82
  private validateTasksFile;
82
83
  /**
83
- * Validate metadata.json project field for umbrella routing
84
+ * Validate metadata.json project field for sync routing
84
85
  */
85
86
  private validateMetadataProject;
86
87
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"three-file-validator.d.ts","sourceRoot":"","sources":["../../../../src/core/validation/three-file-validator.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH;;GAEG;AACH,oBAAY,kBAAkB;IAC5B,KAAK,UAAU,CAAI,gCAAgC;IACnD,OAAO,YAAY,CAAE,4BAA4B;IACjD,IAAI,SAAS;CACd;AAED;;GAEG;AACH,oBAAY,mBAAmB;IAE7B,iBAAiB,sBAAsB;IACvC,4BAA4B,iCAAiC;IAC7D,uBAAuB,4BAA4B;IACnD,oBAAoB,yBAAyB;IAC7C,yBAAyB,8BAA8B;IAGvD,sBAAsB,2BAA2B;IACjD,+BAA+B,oCAAoC;IACnE,eAAe,oBAAoB;IAGnC,gBAAgB,qBAAqB;IACrC,6BAA6B,kCAAkC;IAG/D,wBAAwB,6BAA6B;IACrD,wBAAwB,6BAA6B;IAGrD,cAAc,mBAAmB;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,mBAAmB,CAAC;IAC1B,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,IAAI,EAAE,SAAS,GAAG,SAAS,GAAG,UAAU,GAAG,eAAe,CAAC;IAC3D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,OAAO,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED;;GAEG;AACH,qBAAa,kBAAkB;IAC7B;;;;;OAKG;IACH,iBAAiB,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,yBAAyB;IAqBxF;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAwExB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAgDxB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAoGzB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAuD/B;;OAEG;IACH,sBAAsB,CAAC,MAAM,EAAE,yBAAyB,GAAG,MAAM;CAyClE"}
1
+ {"version":3,"file":"three-file-validator.d.ts","sourceRoot":"","sources":["../../../../src/core/validation/three-file-validator.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH;;GAEG;AACH,oBAAY,kBAAkB;IAC5B,KAAK,UAAU,CAAI,gCAAgC;IACnD,OAAO,YAAY,CAAE,4BAA4B;IACjD,IAAI,SAAS;CACd;AAED;;GAEG;AACH,oBAAY,mBAAmB;IAE7B,iBAAiB,sBAAsB;IACvC,4BAA4B,iCAAiC;IAC7D,uBAAuB,4BAA4B;IACnD,oBAAoB,yBAAyB;IAC7C,yBAAyB,8BAA8B;IAGvD,sBAAsB,2BAA2B;IACjD,+BAA+B,oCAAoC;IACnE,eAAe,oBAAoB;IACnC,oBAAoB,yBAAyB;IAG7C,gBAAgB,qBAAqB;IACrC,6BAA6B,kCAAkC;IAG/D,wBAAwB,6BAA6B;IACrD,wBAAwB,6BAA6B;IAGrD,cAAc,mBAAmB;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,mBAAmB,CAAC;IAC1B,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,IAAI,EAAE,SAAS,GAAG,SAAS,GAAG,UAAU,GAAG,eAAe,CAAC;IAC3D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,OAAO,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED;;GAEG;AACH,qBAAa,kBAAkB;IAC7B;;;;;OAKG;IACH,iBAAiB,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,yBAAyB;IAqBxF;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA+FxB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAgDxB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAoGzB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAsD/B;;OAEG;IACH,sBAAsB,CAAC,MAAM,EAAE,yBAAyB,GAAG,MAAM;CAyClE"}
@@ -33,6 +33,7 @@ export var ValidationErrorCode;
33
33
  ValidationErrorCode["SPEC_CONTAINS_TASK_IDS"] = "SPEC_CONTAINS_TASK_IDS";
34
34
  ValidationErrorCode["SPEC_CONTAINS_TECHNICAL_DETAILS"] = "SPEC_CONTAINS_TECHNICAL_DETAILS";
35
35
  ValidationErrorCode["SPEC_MISSING_AC"] = "SPEC_MISSING_AC";
36
+ ValidationErrorCode["SPEC_MISSING_PROJECT"] = "SPEC_MISSING_PROJECT";
36
37
  // plan.md violations
37
38
  ValidationErrorCode["PLAN_CONTAINS_AC"] = "PLAN_CONTAINS_AC";
38
39
  ValidationErrorCode["PLAN_CONTAINS_TASK_CHECKBOXES"] = "PLAN_CONTAINS_TASK_CHECKBOXES";
@@ -124,7 +125,27 @@ export class ThreeFileValidator {
124
125
  }
125
126
  }
126
127
  });
127
- // Rule 3: spec.md should contain Acceptance Criteria section
128
+ // Rule 3: Every ### US-NNN block must have a **Project**: field
129
+ const usHeaders = lines
130
+ .map((line, index) => ({ line, index }))
131
+ .filter(({ line }) => /^###\s+US-(?:[A-Z]+-)*\d+:/.test(line));
132
+ for (const { line: usLine, index: usIndex } of usHeaders) {
133
+ // Find the next US header or end of file
134
+ const nextUsIndex = usHeaders.find(h => h.index > usIndex)?.index ?? lines.length;
135
+ const usBlock = lines.slice(usIndex, nextUsIndex).join('\n');
136
+ if (!usBlock.includes('**Project**:')) {
137
+ const usId = usLine.match(/US-(?:[A-Z]+-)*\d+/)?.[0] ?? 'unknown';
138
+ issues.push({
139
+ code: ValidationErrorCode.SPEC_MISSING_PROJECT,
140
+ severity: ValidationSeverity.ERROR,
141
+ file: 'spec.md',
142
+ line: usIndex + 1,
143
+ message: `Missing **Project**: field in ${usId}. Every user story must specify a project.`,
144
+ fix: `Add **Project**: <project-name> after the ### ${usId} heading`
145
+ });
146
+ }
147
+ }
148
+ // Rule 4: spec.md should contain Acceptance Criteria section
128
149
  if (!content.includes('## Acceptance Criteria') && !content.includes('### Acceptance Criteria')) {
129
150
  issues.push({
130
151
  code: ValidationErrorCode.SPEC_MISSING_AC,
@@ -269,7 +290,7 @@ export class ThreeFileValidator {
269
290
  return issues;
270
291
  }
271
292
  /**
272
- * Validate metadata.json project field for umbrella routing
293
+ * Validate metadata.json project field for sync routing
273
294
  */
274
295
  validateMetadataProject(incrementDir, projectRoot) {
275
296
  const issues = [];
@@ -286,8 +307,6 @@ export class ThreeFileValidator {
286
307
  catch {
287
308
  return issues;
288
309
  }
289
- if (!config.umbrella?.enabled)
290
- return issues;
291
310
  // Load metadata
292
311
  const metadataPath = path.join(incrementDir, 'metadata.json');
293
312
  let metadata;
@@ -299,9 +318,11 @@ export class ThreeFileValidator {
299
318
  catch {
300
319
  return issues;
301
320
  }
302
- const childRepos = config.umbrella.childRepos ?? [];
303
- // Rule: Missing project in umbrella with multiple child repos
304
- if (childRepos.length > 1 && !metadata.project) {
321
+ // Use workspace.repos (new) or fall back to umbrella.childRepos (legacy)
322
+ const repos = config.workspace?.repos ?? config.umbrella?.childRepos ?? [];
323
+ const workspaceName = config.workspace?.name ?? config.umbrella?.projectName;
324
+ // Rule: Missing project with multiple repos
325
+ if (repos.length > 1 && !metadata.project) {
305
326
  issues.push({
306
327
  code: ValidationErrorCode.METADATA_MISSING_PROJECT,
307
328
  severity: ValidationSeverity.WARNING,
@@ -311,14 +332,13 @@ export class ThreeFileValidator {
311
332
  }
312
333
  // Rule: Unknown project name
313
334
  if (metadata.project) {
314
- const knownIds = childRepos.map((r) => r.id);
315
- const umbrellaName = config.umbrella.projectName;
316
- if (!knownIds.includes(metadata.project) && metadata.project !== umbrellaName) {
335
+ const knownIds = repos.map((r) => r.id);
336
+ if (!knownIds.includes(metadata.project) && metadata.project !== workspaceName) {
317
337
  issues.push({
318
338
  code: ValidationErrorCode.METADATA_UNKNOWN_PROJECT,
319
339
  severity: ValidationSeverity.WARNING,
320
340
  file: 'metadata.json',
321
- message: `Project '${metadata.project}' not found in config.json childRepos or umbrella.projectName`,
341
+ message: `Project '${metadata.project}' not found in workspace.repos or workspace.name`,
322
342
  });
323
343
  }
324
344
  }
@@ -1 +1 @@
1
- {"version":3,"file":"three-file-validator.js","sourceRoot":"","sources":["../../../../src/core/validation/three-file-validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"three-file-validator.js","sourceRoot":"","sources":["../../../../src/core/validation/three-file-validator.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B;;GAEG;AACH,MAAM,CAAN,IAAY,kBAIX;AAJD,WAAY,kBAAkB;IAC5B,qCAAe,CAAA;IACf,yCAAmB,CAAA;IACnB,mCAAa,CAAA,CAAM,6BAA6B;AAClD,CAAC,EAJW,kBAAkB,KAAlB,kBAAkB,QAI7B;AAED;;GAEG;AACH,MAAM,CAAN,IAAY,mBAwBX;AAxBD,WAAY,mBAAmB;IAC7B,sBAAsB;IACtB,8DAAuC,CAAA;IACvC,oFAA6D,CAAA;IAC7D,0EAAmD,CAAA;IACnD,oEAA6C,CAAA;IAC7C,8EAAuD,CAAA;IAEvD,qBAAqB;IACrB,wEAAiD,CAAA;IACjD,0FAAmE,CAAA;IACnE,0DAAmC,CAAA;IACnC,oEAA6C,CAAA;IAE7C,qBAAqB;IACrB,4DAAqC,CAAA;IACrC,sFAA+D,CAAA;IAE/D,2BAA2B;IAC3B,4EAAqD,CAAA;IACrD,4EAAqD,CAAA;IAErD,qBAAqB;IACrB,wDAAiC,CAAA;AACnC,CAAC,EAxBW,mBAAmB,KAAnB,mBAAmB,QAwB9B;AA2BD;;GAEG;AACH,MAAM,OAAO,kBAAkB;IAC7B;;;;;OAKG;IACH,iBAAiB,CAAC,YAAoB,EAAE,WAAoB;QAC1D,MAAM,MAAM,GAAsB,EAAE,CAAC;QAErC,qBAAqB;QACrB,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC,CAAC;QACpD,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC,CAAC;QACpD,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC;QACrD,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,uBAAuB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC;QAExE,oBAAoB;QACpB,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,kBAAkB,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;QAClF,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,kBAAkB,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;QACtF,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,kBAAkB,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;QAEhF,OAAO;YACL,KAAK,EAAE,MAAM,KAAK,CAAC;YACnB,MAAM;YACN,OAAO,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;SACrC,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,YAAoB;QAC3C,MAAM,MAAM,GAAsB,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QAEpD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,mBAAmB,CAAC,cAAc;gBACxC,QAAQ,EAAE,kBAAkB,CAAC,KAAK;gBAClC,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,0CAA0C;gBACnD,GAAG,EAAE,mEAAmE;aACzE,CAAC,CAAC;YACH,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAElC,2EAA2E;QAC3E,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAC5B,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1B,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,mBAAmB,CAAC,sBAAsB;oBAChD,QAAQ,EAAE,kBAAkB,CAAC,KAAK;oBAClC,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,KAAK,GAAG,CAAC;oBACf,OAAO,EAAE,6BAA6B,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,sCAAsC;oBACvG,GAAG,EAAE,iEAAiE;iBACvE,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,2DAA2D;QAC3D,MAAM,iBAAiB,GAAG;YACxB,aAAa;YACb,iBAAiB;YACjB,kBAAkB;YAClB,QAAQ;YACR,SAAS;YACT,QAAQ;SACT,CAAC;QAEF,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAC5B,KAAK,MAAM,OAAO,IAAI,iBAAiB,EAAE,CAAC;gBACxC,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,qBAAqB;oBACtE,MAAM,CAAC,IAAI,CAAC;wBACV,IAAI,EAAE,mBAAmB,CAAC,+BAA+B;wBACzD,QAAQ,EAAE,kBAAkB,CAAC,OAAO;wBACpC,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,KAAK,GAAG,CAAC;wBACf,OAAO,EAAE,2EAA2E;wBACpF,GAAG,EAAE,mCAAmC;qBACzC,CAAC,CAAC;oBACH,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,gEAAgE;QAChE,MAAM,SAAS,GAAG,KAAK;aACpB,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;aACvC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEjE,KAAK,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,SAAS,EAAE,CAAC;YACzD,yCAAyC;YACzC,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,OAAO,CAAC,EAAE,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC;YAClF,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAE7D,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;gBACtC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;gBAClE,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,mBAAmB,CAAC,oBAAoB;oBAC9C,QAAQ,EAAE,kBAAkB,CAAC,KAAK;oBAClC,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,OAAO,GAAG,CAAC;oBACjB,OAAO,EAAE,iCAAiC,IAAI,4CAA4C;oBAC1F,GAAG,EAAE,iDAAiD,IAAI,UAAU;iBACrE,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,6DAA6D;QAC7D,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAC,EAAE,CAAC;YAChG,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,mBAAmB,CAAC,eAAe;gBACzC,QAAQ,EAAE,kBAAkB,CAAC,OAAO;gBACpC,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,+CAA+C;gBACxD,GAAG,EAAE,8DAA8D;aACpE,CAAC,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,YAAoB;QAC3C,MAAM,MAAM,GAAsB,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QAEpD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,4CAA4C;YAC5C,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAElC,oEAAoE;QACpE,IAAI,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAC,EAAE,CAAC;YAC7I,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CACpC,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC;gBACpC,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC;gBACrC,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CACtC,CAAC;YAEF,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,mBAAmB,CAAC,gBAAgB;gBAC1C,QAAQ,EAAE,kBAAkB,CAAC,KAAK;gBAClC,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS,GAAG,CAAC;gBACnB,OAAO,EAAE,6EAA6E;gBACtF,GAAG,EAAE,0DAA0D;aAChE,CAAC,CAAC;QACL,CAAC;QAED,qDAAqD;QACrD,MAAM,mBAAmB,GAAG,UAAU,CAAC;QACvC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAC5B,IAAI,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;gBAC1C,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,mBAAmB,CAAC,6BAA6B;oBACvD,QAAQ,EAAE,kBAAkB,CAAC,OAAO;oBACpC,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,KAAK,GAAG,CAAC;oBACf,OAAO,EAAE,uEAAuE;oBAChF,GAAG,EAAE,uEAAuE;iBAC7E,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,YAAoB;QAC5C,MAAM,MAAM,GAAsB,EAAE,CAAC;QACrC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QAEtD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9B,0CAA0C;YAC1C,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,mBAAmB,CAAC,cAAc;gBACxC,QAAQ,EAAE,kBAAkB,CAAC,KAAK;gBAClC,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,2CAA2C;gBACpD,GAAG,EAAE,wDAAwD;aAC9D,CAAC,CAAC;YACH,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACpD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAElC,qEAAqE;QACrE,+CAA+C;QAC/C,IAAI,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAC,EAAE,CAAC;YACjD,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC,CAAC;YAE/E,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,mBAAmB,CAAC,iBAAiB;gBAC3C,QAAQ,EAAE,kBAAkB,CAAC,KAAK;gBAClC,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,SAAS,GAAG,CAAC;gBACnB,OAAO,EAAE,gGAAgG;gBACzG,GAAG,EAAE,iHAAiH;aACvH,CAAC,CAAC;QACL,CAAC;QAED,+EAA+E;QAC/E,MAAM,WAAW,GAAG,KAAK;aACtB,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;aACvC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEtD,WAAW,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE;YAC3D,gCAAgC;YAChC,MAAM,aAAa,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,SAAS,CAAC,EAAE,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC;YAExF,uBAAuB;YACvB,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAErE,mCAAmC;YACnC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC;gBACjD,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,mBAAmB,CAAC,4BAA4B;oBACtD,QAAQ,EAAE,kBAAkB,CAAC,OAAO;oBACpC,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,SAAS,GAAG,CAAC;oBACnB,OAAO,EAAE,QAAQ,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,wCAAwC;oBACxF,GAAG,EAAE,kEAAkE;iBACxE,CAAC,CAAC;YACL,CAAC;YAED,sBAAsB;YACtB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBACjF,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,mBAAmB,CAAC,uBAAuB;oBACjD,QAAQ,EAAE,kBAAkB,CAAC,OAAO;oBACpC,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,SAAS,GAAG,CAAC;oBACnB,OAAO,EAAE,QAAQ,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,0CAA0C;oBAC1F,GAAG,EAAE,2DAA2D;iBACjE,CAAC,CAAC;YACL,CAAC;YAED,8BAA8B;YAC9B,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC7E,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,mBAAmB,CAAC,oBAAoB;oBAC9C,QAAQ,EAAE,kBAAkB,CAAC,IAAI;oBACjC,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,SAAS,GAAG,CAAC;oBACnB,OAAO,EAAE,QAAQ,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,0CAA0C;oBAC1F,GAAG,EAAE,8EAA8E;iBACpF,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,2DAA2D;QAC3D,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAC5B,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBACxD,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,mBAAmB,CAAC,yBAAyB;oBACnD,QAAQ,EAAE,kBAAkB,CAAC,OAAO;oBACpC,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,KAAK,GAAG,CAAC;oBACf,OAAO,EAAE,yFAAyF;oBAClG,GAAG,EAAE,sDAAsD;iBAC5D,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,uBAAuB,CAAC,YAAoB,EAAE,WAAoB;QACxE,MAAM,MAAM,GAAsB,EAAE,CAAC;QACrC,IAAI,CAAC,WAAW;YAAE,OAAO,MAAM,CAAC;QAEhC,cAAc;QACd,IAAI,MAAW,CAAC;QAChB,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;YACvE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;gBAAE,OAAO,MAAM,CAAC;YAC9C,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;QAC5D,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,gBAAgB;QAChB,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;QAC9D,IAAI,QAAa,CAAC;QAClB,IAAI,CAAC;YACH,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC;gBAAE,OAAO,MAAM,CAAC;YAChD,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;QAChE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,yEAAyE;QACzE,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,EAAE,KAAK,IAAI,MAAM,CAAC,QAAQ,EAAE,UAAU,IAAI,EAAE,CAAC;QAC3E,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,EAAE,IAAI,IAAI,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC;QAE7E,4CAA4C;QAC5C,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YAC1C,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,mBAAmB,CAAC,wBAAwB;gBAClD,QAAQ,EAAE,kBAAkB,CAAC,OAAO;gBACpC,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAE,yGAAyG;aACnH,CAAC,CAAC;QACL,CAAC;QAED,6BAA6B;QAC7B,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YACrB,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC7C,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,OAAO,KAAK,aAAa,EAAE,CAAC;gBAC/E,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,mBAAmB,CAAC,wBAAwB;oBAClD,QAAQ,EAAE,kBAAkB,CAAC,OAAO;oBACpC,IAAI,EAAE,eAAe;oBACrB,OAAO,EAAE,YAAY,QAAQ,CAAC,OAAO,kDAAkD;iBACxF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,sBAAsB,CAAC,MAAiC;QACtD,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/C,OAAO,iDAAiD,CAAC;QAC3D,CAAC;QAED,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,KAAK,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;QACzD,KAAK,CAAC,IAAI,CAAC,eAAe,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QAChE,KAAK,CAAC,IAAI,CAAC,eAAe,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACnD,KAAK,CAAC,IAAI,CAAC,iBAAiB,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvD,KAAK,CAAC,IAAI,CAAC,cAAc,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC;QAEnD,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAEhC,oBAAoB;YACpB,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAClF,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,kBAAkB,CAAC,OAAO,CAAC,CAAC;YACtF,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAEhF,MAAM,YAAY,GAAG,CAAC,MAAyB,EAAE,MAAc,EAAQ,EAAE;gBACvE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;oBAAE,OAAO;gBAChC,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,CAAC,CAAC;gBAC1B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBAC3B,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,GAAG,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;oBACrE,KAAK,CAAC,IAAI,CAAC,kBAAkB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;oBAC9C,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;wBACd,KAAK,CAAC,IAAI,CAAC,cAAc,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;oBACxC,CAAC;oBACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACjB,CAAC;YACH,CAAC,CAAC;YAEF,YAAY,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;YAChD,YAAY,CAAC,QAAQ,EAAE,8BAA8B,CAAC,CAAC;YACvD,YAAY,CAAC,KAAK,EAAE,4BAA4B,CAAC,CAAC;QACpD,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-server.d.ts","sourceRoot":"","sources":["../../../../src/dashboard/server/dashboard-server.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAgB,WAAW,EAAE,MAAM,aAAa,CAAC;AAK7D,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,uBAAuB;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAcD,qBAAa,eAAe;IAoBd,OAAO,CAAC,OAAO;IAnB3B,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,eAAe,CAAgC;IACvD,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,QAAQ,CAWX;gBAEe,OAAO,EAAE,sBAAsB;IAoBnD,yCAAyC;IACzC,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,WAAW;IAwC5C,0CAA0C;IAC1C,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAStC,OAAO,CAAC,cAAc;IAyBhB,KAAK,IAAI,OAAO,CAAC,uBAAuB,CAAC;IAyCzC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YAyBb,aAAa;IAyC3B,sDAAsD;IACtD,OAAO,CAAC,cAAc;IA0CtB,OAAO,CAAC,cAAc;YA0vBR,eAAe;IA6C7B,OAAO,CAAC,2BAA2B;IAoBnC,OAAO,CAAC,kBAAkB;IAgD1B,OAAO,CAAC,kBAAkB;CAgB3B;AAuHD,mFAAmF;AACnF,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,KAAK,CAAC;IAC3D,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,OAAO,CAAC;IACtB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC,CA2GD"}
1
+ {"version":3,"file":"dashboard-server.d.ts","sourceRoot":"","sources":["../../../../src/dashboard/server/dashboard-server.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAgB,WAAW,EAAE,MAAM,aAAa,CAAC;AAK7D,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,uBAAuB;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAcD,qBAAa,eAAe;IAoBd,OAAO,CAAC,OAAO;IAnB3B,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,eAAe,CAAgC;IACvD,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,QAAQ,CAWX;gBAEe,OAAO,EAAE,sBAAsB;IAoBnD,yCAAyC;IACzC,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,WAAW;IAwC5C,0CAA0C;IAC1C,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAStC,OAAO,CAAC,cAAc;IAyBhB,KAAK,IAAI,OAAO,CAAC,uBAAuB,CAAC;IAyCzC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YAyBb,aAAa;IAyC3B,sDAAsD;IACtD,OAAO,CAAC,cAAc;IA0CtB,OAAO,CAAC,cAAc;YA0xBR,eAAe;IA6C7B,OAAO,CAAC,2BAA2B;IAoBnC,OAAO,CAAC,kBAAkB;IAgD1B,OAAO,CAAC,kBAAkB;CAgB3B;AAuHD,mFAAmF;AACnF,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,KAAK,CAAC;IAC3D,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,OAAO,CAAC;IACtB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC,CA2GD"}
@@ -18,7 +18,9 @@ import { HookEventRouter } from './hooks/hook-event-router.js';
18
18
  import { preToolUseHandler } from './hooks/handlers/pre-tool-use.js';
19
19
  import { createSubagentStartHandler, createSubagentStopHandler } from './hooks/handlers/subagent-lifecycle.js';
20
20
  import { passthroughHandler } from './hooks/handlers/passthrough.js';
21
+ import { createWorkspaceRouteHandlers } from './routes/workspace-routes.js';
21
22
  import { isPortReachable } from '../../hooks/hooks-status.js';
23
+ import { hasSpecweaveIncrements } from '../../utils/find-project-root.js';
22
24
  import { SCOPE_PORTS } from '../../utils/docs-preview/types.js';
23
25
  const __filename = fileURLToPath(import.meta.url);
24
26
  const __dirname = path.dirname(__filename);
@@ -195,7 +197,7 @@ export class DashboardServer {
195
197
  if (req.method === 'OPTIONS') {
196
198
  const origin = req.headers.origin || '';
197
199
  const headers = {
198
- 'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE, OPTIONS',
200
+ 'Access-Control-Allow-Methods': 'GET, POST, PUT, PATCH, DELETE, OPTIONS',
199
201
  'Access-Control-Allow-Headers': 'Content-Type',
200
202
  'Vary': 'Origin',
201
203
  };
@@ -465,7 +467,7 @@ export class DashboardServer {
465
467
  };
466
468
  if (repoId) {
467
469
  // For child repos: write to child's own file if it has .specweave, else umbrella's repos section
468
- if (childRepoPath && fs.existsSync(path.join(childRepoPath, '.specweave'))) {
470
+ if (childRepoPath && hasSpecweaveIncrements(childRepoPath)) {
469
471
  await updateSyncMetadata(childRepoPath, platform, successMeta);
470
472
  }
471
473
  else {
@@ -529,8 +531,8 @@ export class DashboardServer {
529
531
  return sendJson(res, { ok: false, error: `Child repo '${repoId}' not found` }, 400);
530
532
  }
531
533
  const childPath = path.resolve(project.root, child.path);
532
- if (!fs.existsSync(path.join(childPath, '.specweave'))) {
533
- return sendJson(res, { ok: false, error: `Child repo '${repoId}' has no .specweave directory. Initialize it with 'specweave init' first.` }, 400);
534
+ if (!hasSpecweaveIncrements(childPath)) {
535
+ return sendJson(res, { ok: false, error: `Child repo '${repoId}' is not initialized. Run 'specweave init' in it first.` }, 400);
534
536
  }
535
537
  cwd = childPath;
536
538
  }
@@ -836,6 +838,37 @@ export class DashboardServer {
836
838
  const data = scanRepositories(project.root);
837
839
  sendJson(res, { ok: true, data });
838
840
  });
841
+ // === Workspace CRUD ===
842
+ this.router.get('/api/workspace', async (req, res) => {
843
+ const project = this.resolveProject(req);
844
+ if (!project)
845
+ return sendJson(res, { ok: false, error: 'No projects registered' }, 404);
846
+ const handlers = createWorkspaceRouteHandlers(project.root);
847
+ await handlers.getWorkspace(req, res, {});
848
+ });
849
+ this.router.patch('/api/workspace/repos/:id', async (req, res, params) => {
850
+ const project = this.resolveProject(req);
851
+ if (!project)
852
+ return sendJson(res, { ok: false, error: 'No projects registered' }, 404);
853
+ const body = await readBody(req);
854
+ const handlers = createWorkspaceRouteHandlers(project.root);
855
+ await handlers.patchRepo(req, res, params, body);
856
+ });
857
+ this.router.post('/api/workspace/repos', async (req, res) => {
858
+ const project = this.resolveProject(req);
859
+ if (!project)
860
+ return sendJson(res, { ok: false, error: 'No projects registered' }, 404);
861
+ const body = await readBody(req);
862
+ const handlers = createWorkspaceRouteHandlers(project.root);
863
+ await handlers.postRepo(req, res, {}, body);
864
+ });
865
+ this.router.delete('/api/workspace/repos/:id', async (req, res, params) => {
866
+ const project = this.resolveProject(req);
867
+ if (!project)
868
+ return sendJson(res, { ok: false, error: 'No projects registered' }, 404);
869
+ const handlers = createWorkspaceRouteHandlers(project.root);
870
+ await handlers.deleteRepo(req, res, params);
871
+ });
839
872
  // === Phase 4: Services ===
840
873
  this.router.get('/api/services', async (req, res) => {
841
874
  const project = this.resolveProject(req);
@@ -1242,7 +1275,7 @@ export function scanRepositories(projectRoot) {
1242
1275
  if (!repo.isDirectory())
1243
1276
  continue;
1244
1277
  const repoPath = path.join(orgDir, repo.name);
1245
- const hasSpecweave = fs.existsSync(path.join(repoPath, '.specweave'));
1278
+ const hasSpecweave = hasSpecweaveIncrements(repoPath);
1246
1279
  let lastModified = '';
1247
1280
  try {
1248
1281
  const stat = fs.statSync(repoPath);
@@ -1306,7 +1339,7 @@ export function scanRepositories(projectRoot) {
1306
1339
  path: projectRoot,
1307
1340
  remote,
1308
1341
  branch,
1309
- hasSpecweave: fs.existsSync(path.join(projectRoot, '.specweave')),
1342
+ hasSpecweave: hasSpecweaveIncrements(projectRoot),
1310
1343
  isCurrent: true,
1311
1344
  });
1312
1345
  }