@schnick371/devsteps-shared 0.6.1 → 0.6.3

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.
@@ -1 +1 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/core/validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGjE;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,CAAC;CAChB;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,QAAQ,EAChB,MAAM,EAAE,QAAQ,EAChB,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,WAAW,GACvB,gBAAgB,CA8ClB"}
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/core/validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGjE;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,CAAC;CAChB;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,QAAQ,EAChB,MAAM,EAAE,QAAQ,EAChB,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,WAAW,GACvB,gBAAgB,CAwDlB"}
@@ -18,8 +18,17 @@ export function validateRelationship(source, target, relationType, methodology)
18
18
  if (!isHierarchyRelation(relationType)) {
19
19
  return { valid: false, error: `Unknown relationship type: ${relationType}` };
20
20
  }
21
- // Only validate "implements" direction (implemented-by is automatic reverse)
22
- if (relationType === 'implemented-by') {
21
+ // Special case: blocks relation (Jira 2025 - hybrid flexible/hierarchy)
22
+ // Non-Bug blocks: Flexible (Story→Story, Task→Task allowed)
23
+ // Bug blocks: Hierarchy validation (Bug→Epic/Story/Requirement/Feature only)
24
+ if (relationType === 'blocks') {
25
+ if (source.type !== 'bug') {
26
+ return { valid: true }; // Flexible for non-Bug types
27
+ }
28
+ // Bug blocks: validate as hierarchy below
29
+ }
30
+ // Only validate "implements" direction (implemented-by, blocked-by are automatic reverse)
31
+ if (relationType === 'implemented-by' || relationType === 'blocked-by') {
23
32
  return { valid: true }; // Reverse relationships auto-created, no validation needed
24
33
  }
25
34
  // Validate based on methodology
@@ -89,15 +98,15 @@ function validateScrumHierarchy(source, target) {
89
98
  suggestion: `Change ${target.id} to an Epic or create an Epic first, then link Spike → Epic`,
90
99
  };
91
100
  }
92
- // Bug → Epic only (traceability to business initiative)
101
+ // Bug → Epic or Story via implements/blocks (Jira 2025)
93
102
  if (sourceType === 'bug') {
94
- if (targetType === 'epic') {
103
+ if (targetType === 'epic' || targetType === 'story') {
95
104
  return { valid: true };
96
105
  }
97
106
  return {
98
107
  valid: false,
99
- error: 'Bugs can only implement Epics in Scrum (traceability to business initiative)',
100
- suggestion: `Link Bug → Epic to trace defect to business initiative. Use Task to implement the fix.`,
108
+ error: 'Bugs can only implement/block Epics or Stories in Scrum',
109
+ suggestion: `Link Bug → Epic (epic-level defect) or Bug → Story (story-level defect). Use Task to implement the fix (Task implements Bug).`,
101
110
  };
102
111
  }
103
112
  // Test → Epic or Story (flexible)
@@ -166,15 +175,15 @@ function validateWaterfallHierarchy(source, target) {
166
175
  suggestion: `Change ${target.id} to a Requirement or create a Requirement first, then link Spike → Requirement`,
167
176
  };
168
177
  }
169
- // Bug → Requirement only (traceability to business requirement)
178
+ // Bug → Requirement or Feature via implements/blocks (Jira 2025)
170
179
  if (sourceType === 'bug') {
171
- if (targetType === 'requirement') {
180
+ if (targetType === 'requirement' || targetType === 'feature') {
172
181
  return { valid: true };
173
182
  }
174
183
  return {
175
184
  valid: false,
176
- error: 'Bugs can only implement Requirements in Waterfall (traceability to business requirement)',
177
- suggestion: `Link Bug → Requirement to trace defect to business requirement. Use Task to implement the fix.`,
185
+ error: 'Bugs can only implement/block Requirements or Features in Waterfall',
186
+ suggestion: `Link Bug → Requirement (requirement-level defect) or Bug → Feature (feature-level defect). Use Task to implement the fix (Task implements Bug).`,
178
187
  };
179
188
  }
180
189
  // Test → Requirement or Feature (flexible)
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/core/validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/core/validation.ts"],"names":[],"mappings":"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"}
@@ -71,9 +71,9 @@ export type EisenhowerQuadrant = z.infer<typeof EisenhowerQuadrant>;
71
71
  export declare const RelationType: z.ZodEnum<{
72
72
  implements: "implements";
73
73
  "implemented-by": "implemented-by";
74
- "relates-to": "relates-to";
75
74
  blocks: "blocks";
76
75
  "blocked-by": "blocked-by";
76
+ "relates-to": "relates-to";
77
77
  "depends-on": "depends-on";
78
78
  "required-by": "required-by";
79
79
  "tested-by": "tested-by";
@@ -4,20 +4,21 @@
4
4
  */
5
5
  /**
6
6
  * Hierarchy relationships enforce parent-child rules
7
- * - implements/implemented-by: Enforces proper parent-child hierarchy
8
- * Scrum: Epic → Story/Spike → Task, Bug → Epic, Task → Bug
9
- * Waterfall: Requirement → Feature/Spike → Task, Bug → Requirement, Task → Bug
7
+ * - implements/implemented-by: Standard hierarchy (Epic→Story→Task)
8
+ * - blocks/blocked-by: Jira 2025 hierarchy for Bug (Bug blocks Epic/Story)
9
+ * Note: Other types (Story→Story, Task→Task) bypass validation (flexible)
10
+ * Scrum: Bug blocks Epic/Story | Waterfall: Bug blocks Requirement/Feature
10
11
  */
11
- export declare const HIERARCHY_RELATIONSHIPS: readonly ["implements", "implemented-by"];
12
+ export declare const HIERARCHY_RELATIONSHIPS: readonly ["implements", "implemented-by", "blocks", "blocked-by"];
12
13
  /**
13
14
  * Flexible relationships allow connections between any item types
15
+ * Note: blocks/blocked-by moved to HIERARCHY for Bug validation (Jira 2025)
14
16
  * - relates-to: Generic association
15
- * - blocks/blocked-by: Blocking dependencies
16
17
  * - depends-on/required-by: Technical dependencies
17
18
  * - tested-by/tests: Testing relationships
18
19
  * - supersedes/superseded-by: Version/replacement tracking
19
20
  */
20
- export declare const FLEXIBLE_RELATIONSHIPS: readonly ["relates-to", "blocks", "blocked-by", "depends-on", "required-by", "tested-by", "tests", "supersedes", "superseded-by"];
21
+ export declare const FLEXIBLE_RELATIONSHIPS: readonly ["relates-to", "depends-on", "required-by", "tested-by", "tests", "supersedes", "superseded-by"];
21
22
  export type HierarchyRelation = (typeof HIERARCHY_RELATIONSHIPS)[number];
22
23
  export type FlexibleRelation = (typeof FLEXIBLE_RELATIONSHIPS)[number];
23
24
  export type RelationType = HierarchyRelation | FlexibleRelation;
@@ -1 +1 @@
1
- {"version":3,"file":"relationships.d.ts","sourceRoot":"","sources":["../../src/schemas/relationships.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,2CAA4C,CAAC;AAEjF;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,mIAUzB,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC;AACzE,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;AACvE,MAAM,MAAM,YAAY,GAAG,iBAAiB,GAAG,gBAAgB,CAAC;AAEhE;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,YAAY,IAAI,iBAAiB,CAE3F;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,YAAY,IAAI,gBAAgB,CAEzF"}
1
+ {"version":3,"file":"relationships.d.ts","sourceRoot":"","sources":["../../src/schemas/relationships.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,mEAK1B,CAAC;AAEX;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,2GAQzB,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC;AACzE,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;AACvE,MAAM,MAAM,YAAY,GAAG,iBAAiB,GAAG,gBAAgB,CAAC;AAEhE;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,YAAY,IAAI,iBAAiB,CAE3F;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,YAAY,IAAI,gBAAgB,CAEzF"}
@@ -4,23 +4,27 @@
4
4
  */
5
5
  /**
6
6
  * Hierarchy relationships enforce parent-child rules
7
- * - implements/implemented-by: Enforces proper parent-child hierarchy
8
- * Scrum: Epic → Story/Spike → Task, Bug → Epic, Task → Bug
9
- * Waterfall: Requirement → Feature/Spike → Task, Bug → Requirement, Task → Bug
7
+ * - implements/implemented-by: Standard hierarchy (Epic→Story→Task)
8
+ * - blocks/blocked-by: Jira 2025 hierarchy for Bug (Bug blocks Epic/Story)
9
+ * Note: Other types (Story→Story, Task→Task) bypass validation (flexible)
10
+ * Scrum: Bug blocks Epic/Story | Waterfall: Bug blocks Requirement/Feature
10
11
  */
11
- export const HIERARCHY_RELATIONSHIPS = ['implements', 'implemented-by'];
12
+ export const HIERARCHY_RELATIONSHIPS = [
13
+ 'implements',
14
+ 'implemented-by',
15
+ 'blocks',
16
+ 'blocked-by',
17
+ ];
12
18
  /**
13
19
  * Flexible relationships allow connections between any item types
20
+ * Note: blocks/blocked-by moved to HIERARCHY for Bug validation (Jira 2025)
14
21
  * - relates-to: Generic association
15
- * - blocks/blocked-by: Blocking dependencies
16
22
  * - depends-on/required-by: Technical dependencies
17
23
  * - tested-by/tests: Testing relationships
18
24
  * - supersedes/superseded-by: Version/replacement tracking
19
25
  */
20
26
  export const FLEXIBLE_RELATIONSHIPS = [
21
27
  'relates-to',
22
- 'blocks',
23
- 'blocked-by',
24
28
  'depends-on',
25
29
  'required-by',
26
30
  'tested-by',
@@ -1 +1 @@
1
- {"version":3,"file":"relationships.js","sourceRoot":"","sources":["../../src/schemas/relationships.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,YAAY,EAAE,gBAAgB,CAAU,CAAC;AAEjF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,YAAY;IACZ,QAAQ;IACR,YAAY;IACZ,YAAY;IACZ,aAAa;IACb,WAAW;IACX,OAAO;IACP,YAAY;IACZ,eAAe;CACP,CAAC;AAMX;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,YAAoB;IACtD,OAAO,uBAAuB,CAAC,QAAQ,CAAC,YAAiC,CAAC,CAAC;AAC7E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,YAAoB;IACrD,OAAO,sBAAsB,CAAC,QAAQ,CAAC,YAAgC,CAAC,CAAC;AAC3E,CAAC"}
1
+ {"version":3,"file":"relationships.js","sourceRoot":"","sources":["../../src/schemas/relationships.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,YAAY;IACZ,gBAAgB;IAChB,QAAQ;IACR,YAAY;CACJ,CAAC;AAEX;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,YAAY;IACZ,YAAY;IACZ,aAAa;IACb,WAAW;IACX,OAAO;IACP,YAAY;IACZ,eAAe;CACP,CAAC;AAMX;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,YAAoB;IACtD,OAAO,uBAAuB,CAAC,QAAQ,CAAC,YAAiC,CAAC,CAAC;AAC7E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,YAAoB;IACrD,OAAO,sBAAsB,CAAC,QAAQ,CAAC,YAAgC,CAAC,CAAC;AAC3E,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@schnick371/devsteps-shared",
3
- "version": "0.6.1",
3
+ "version": "0.6.3",
4
4
  "license": "Apache-2.0",
5
5
  "description": "Never Code Alone. Shared types, schemas, and utilities for DevSteps task tracking.",
6
6
  "author": "Thomas Hertel <thomas.hantke@devsteps.dev>",