@contractspec/module.lifecycle-advisor 3.7.6 → 3.7.7

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@contractspec/module.lifecycle-advisor",
3
- "version": "3.7.6",
3
+ "version": "3.7.7",
4
4
  "description": "AI-powered lifecycle recommendations and guidance",
5
5
  "keywords": [
6
6
  "contractspec",
@@ -26,15 +26,15 @@
26
26
  "dev": "contractspec-bun-build dev",
27
27
  "clean": "rimraf dist .turbo",
28
28
  "lint": "bun lint:fix",
29
- "lint:fix": "eslint src --fix",
30
- "lint:check": "eslint src",
29
+ "lint:fix": "biome check --write --unsafe --only=nursery/useSortedClasses . && biome check --write .",
30
+ "lint:check": "biome check .",
31
31
  "test": "bun test",
32
32
  "prebuild": "contractspec-bun-build prebuild",
33
33
  "typecheck": "tsc --noEmit"
34
34
  },
35
35
  "dependencies": {
36
- "@contractspec/lib.lifecycle": "3.7.6",
37
- "@contractspec/lib.contracts-spec": "3.7.6"
36
+ "@contractspec/lib.lifecycle": "3.7.7",
37
+ "@contractspec/lib.contracts-spec": "4.0.0"
38
38
  },
39
39
  "devDependencies": {
40
40
  "@contractspec/tool.typescript": "3.7.6",
@@ -1,10 +1,10 @@
1
1
  import type { LifecycleStage } from '@contractspec/lib.lifecycle';
2
- import type { LibraryRecommendation } from '../recommendations/library-recommender';
3
2
  import { createLifecycleAdvisorI18n } from '../i18n/messages';
3
+ import type { LibraryRecommendation } from '../recommendations/library-recommender';
4
4
 
5
5
  export interface LibraryStageEntry {
6
- stage: LifecycleStage;
7
- items: LibraryRecommendation[];
6
+ stage: LifecycleStage;
7
+ items: LibraryRecommendation[];
8
8
  }
9
9
 
10
10
  /**
@@ -12,124 +12,124 @@ export interface LibraryStageEntry {
12
12
  * Falls back to English when locale is omitted or unsupported.
13
13
  */
14
14
  export function getLocalizedLibraryStageMap(
15
- locale?: string
15
+ locale?: string
16
16
  ): LibraryStageEntry[] {
17
- const i18n = createLifecycleAdvisorI18n(locale);
18
- return staticLibraryStageMap.map((entry, stageIdx) => ({
19
- ...entry,
20
- items: entry.items.map((item, itemIdx) => ({
21
- ...item,
22
- description: i18n.t(`library.stage${stageIdx}.item${itemIdx}`),
23
- })),
24
- }));
17
+ const i18n = createLifecycleAdvisorI18n(locale);
18
+ return staticLibraryStageMap.map((entry, stageIdx) => ({
19
+ ...entry,
20
+ items: entry.items.map((item, itemIdx) => ({
21
+ ...item,
22
+ description: i18n.t(`library.stage${stageIdx}.item${itemIdx}`),
23
+ })),
24
+ }));
25
25
  }
26
26
 
27
27
  const staticLibraryStageMap: LibraryStageEntry[] = [
28
- {
29
- stage: 0 as LifecycleStage,
30
- items: [
31
- {
32
- id: '@contractspec/lib.content-gen',
33
- type: 'library',
34
- description: 'Summarize interviews and synthesize IC insights.',
35
- },
36
- {
37
- id: '@contractspec/lib.presentation-runtime',
38
- type: 'library',
39
- description: 'Craft low-fi storyboards without custom code.',
40
- },
41
- ],
42
- },
43
- {
44
- stage: 1 as LifecycleStage,
45
- items: [
46
- {
47
- id: '@contractspec/lib.progressive-delivery',
48
- type: 'library',
49
- description: 'Gate prototype features behind lightweight flags.',
50
- },
51
- {
52
- id: '@contractspec/module.lifecycle-core',
53
- type: 'module',
54
- description: 'Capture questionnaire signals for early scoring.',
55
- },
56
- ],
57
- },
58
- {
59
- stage: 2 as LifecycleStage,
60
- items: [
61
- {
62
- id: '@contractspec/lib.analytics',
63
- type: 'library',
64
- description: 'Instrument activation paths + cohorts.',
65
- },
66
- {
67
- id: '@contractspec/lib.observability',
68
- type: 'library',
69
- description: 'Collect minimum viable traces and metrics.',
70
- },
71
- ],
72
- },
73
- {
74
- stage: 3 as LifecycleStage,
75
- items: [
76
- {
77
- id: '@contractspec/lib.evolution',
78
- type: 'library',
79
- description: 'Auto-detect contract gaps and spec improvements.',
80
- },
81
- {
82
- id: '@contractspec/module.lifecycle-advisor',
83
- type: 'module',
84
- description: 'Generate retention-focused guidance at scale.',
85
- },
86
- ],
87
- },
88
- {
89
- stage: 4 as LifecycleStage,
90
- items: [
91
- {
92
- id: '@contractspec/lib.growth',
93
- type: 'library',
94
- description: 'Experiment orchestration with guardrails.',
95
- },
96
- {
97
- id: '@contractspec/lib.resilience',
98
- type: 'library',
99
- description: 'Stabilize infra and SLOs as teams split.',
100
- },
101
- ],
102
- },
103
- {
104
- stage: 5 as LifecycleStage,
105
- items: [
106
- {
107
- id: '@contractspec/lib.workflow-composer',
108
- type: 'library',
109
- description: 'Automate partner workflows and integrations.',
110
- },
111
- {
112
- id: '@contractspec/bundle.studio',
113
- type: 'bundle',
114
- description: 'Expose managed partner onboarding via Studio.',
115
- },
116
- ],
117
- },
118
- {
119
- stage: 6 as LifecycleStage,
120
- items: [
121
- {
122
- id: '@contractspec/lib.cost-tracking',
123
- type: 'library',
124
- description: 'Model margin scenarios and reinvestment bets.',
125
- },
126
- {
127
- id: '@contractspec/lib.workflow-composer',
128
- type: 'library',
129
- description: 'Standardize renewal rituals and automation.',
130
- },
131
- ],
132
- },
28
+ {
29
+ stage: 0 as LifecycleStage,
30
+ items: [
31
+ {
32
+ id: '@contractspec/lib.content-gen',
33
+ type: 'library',
34
+ description: 'Summarize interviews and synthesize IC insights.',
35
+ },
36
+ {
37
+ id: '@contractspec/lib.presentation-runtime',
38
+ type: 'library',
39
+ description: 'Craft low-fi storyboards without custom code.',
40
+ },
41
+ ],
42
+ },
43
+ {
44
+ stage: 1 as LifecycleStage,
45
+ items: [
46
+ {
47
+ id: '@contractspec/lib.progressive-delivery',
48
+ type: 'library',
49
+ description: 'Gate prototype features behind lightweight flags.',
50
+ },
51
+ {
52
+ id: '@contractspec/module.lifecycle-core',
53
+ type: 'module',
54
+ description: 'Capture questionnaire signals for early scoring.',
55
+ },
56
+ ],
57
+ },
58
+ {
59
+ stage: 2 as LifecycleStage,
60
+ items: [
61
+ {
62
+ id: '@contractspec/lib.analytics',
63
+ type: 'library',
64
+ description: 'Instrument activation paths + cohorts.',
65
+ },
66
+ {
67
+ id: '@contractspec/lib.observability',
68
+ type: 'library',
69
+ description: 'Collect minimum viable traces and metrics.',
70
+ },
71
+ ],
72
+ },
73
+ {
74
+ stage: 3 as LifecycleStage,
75
+ items: [
76
+ {
77
+ id: '@contractspec/lib.evolution',
78
+ type: 'library',
79
+ description: 'Auto-detect contract gaps and spec improvements.',
80
+ },
81
+ {
82
+ id: '@contractspec/module.lifecycle-advisor',
83
+ type: 'module',
84
+ description: 'Generate retention-focused guidance at scale.',
85
+ },
86
+ ],
87
+ },
88
+ {
89
+ stage: 4 as LifecycleStage,
90
+ items: [
91
+ {
92
+ id: '@contractspec/lib.growth',
93
+ type: 'library',
94
+ description: 'Experiment orchestration with guardrails.',
95
+ },
96
+ {
97
+ id: '@contractspec/lib.resilience',
98
+ type: 'library',
99
+ description: 'Stabilize infra and SLOs as teams split.',
100
+ },
101
+ ],
102
+ },
103
+ {
104
+ stage: 5 as LifecycleStage,
105
+ items: [
106
+ {
107
+ id: '@contractspec/lib.workflow-composer',
108
+ type: 'library',
109
+ description: 'Automate partner workflows and integrations.',
110
+ },
111
+ {
112
+ id: '@contractspec/bundle.studio',
113
+ type: 'bundle',
114
+ description: 'Expose managed partner onboarding via Studio.',
115
+ },
116
+ ],
117
+ },
118
+ {
119
+ stage: 6 as LifecycleStage,
120
+ items: [
121
+ {
122
+ id: '@contractspec/lib.cost-tracking',
123
+ type: 'library',
124
+ description: 'Model margin scenarios and reinvestment bets.',
125
+ },
126
+ {
127
+ id: '@contractspec/lib.workflow-composer',
128
+ type: 'library',
129
+ description: 'Standardize renewal rituals and automation.',
130
+ },
131
+ ],
132
+ },
133
133
  ];
134
134
 
135
135
  /** Backward-compatible static export (English defaults). */