@contractspec/module.lifecycle-advisor 3.7.16 → 3.7.18

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,1494 +1 @@
1
- // src/data/stage-playbooks.ts
2
- import { LifecycleStage } from "@contractspec/lib.lifecycle";
3
-
4
- // src/i18n/messages.ts
5
- import {
6
- createI18nFactory
7
- } from "@contractspec/lib.contracts-spec/translations";
8
-
9
- // src/i18n/catalogs/en.ts
10
- import { defineTranslation } from "@contractspec/lib.contracts-spec/translations";
11
- var enMessages = defineTranslation({
12
- meta: {
13
- key: "lifecycle-advisor.messages",
14
- version: "1.0.0",
15
- domain: "lifecycle-advisor",
16
- description: "Playbook, ceremony, library, and engine strings for the lifecycle-advisor module",
17
- owners: ["platform"],
18
- stability: "experimental"
19
- },
20
- locale: "en",
21
- fallback: "en",
22
- messages: {
23
- "playbook.stage0.focus.0": {
24
- value: "Discovery",
25
- description: "Stage 0 focus area: discovery research"
26
- },
27
- "playbook.stage0.focus.1": {
28
- value: "Problem clarity",
29
- description: "Stage 0 focus area: sharpening the problem definition"
30
- },
31
- "playbook.stage0.focus.2": {
32
- value: "Persona",
33
- description: "Stage 0 focus area: identifying the target persona"
34
- },
35
- "playbook.stage1.focus.0": {
36
- value: "Prototype",
37
- description: "Stage 1 focus area: building a prototype"
38
- },
39
- "playbook.stage1.focus.1": {
40
- value: "Feedback",
41
- description: "Stage 1 focus area: gathering user feedback"
42
- },
43
- "playbook.stage1.focus.2": {
44
- value: "Value proof",
45
- description: "Stage 1 focus area: proving the value proposition"
46
- },
47
- "playbook.stage2.focus.0": {
48
- value: "Activation",
49
- description: "Stage 2 focus area: user activation"
50
- },
51
- "playbook.stage2.focus.1": {
52
- value: "Telemetry",
53
- description: "Stage 2 focus area: usage telemetry"
54
- },
55
- "playbook.stage2.focus.2": {
56
- value: "Feedback",
57
- description: "Stage 2 focus area: continuous user feedback"
58
- },
59
- "playbook.stage3.focus.0": {
60
- value: "Retention",
61
- description: "Stage 3 focus area: user retention"
62
- },
63
- "playbook.stage3.focus.1": {
64
- value: "Reliability",
65
- description: "Stage 3 focus area: product reliability"
66
- },
67
- "playbook.stage3.focus.2": {
68
- value: "Story",
69
- description: "Stage 3 focus area: building the narrative"
70
- },
71
- "playbook.stage4.focus.0": {
72
- value: "Systems",
73
- description: "Stage 4 focus area: scalable systems"
74
- },
75
- "playbook.stage4.focus.1": {
76
- value: "Growth loops",
77
- description: "Stage 4 focus area: repeatable growth loops"
78
- },
79
- "playbook.stage4.focus.2": {
80
- value: "Specialization",
81
- description: "Stage 4 focus area: team specialization"
82
- },
83
- "playbook.stage5.focus.0": {
84
- value: "Partners",
85
- description: "Stage 5 focus area: partner ecosystem"
86
- },
87
- "playbook.stage5.focus.1": {
88
- value: "APIs",
89
- description: "Stage 5 focus area: platform APIs"
90
- },
91
- "playbook.stage5.focus.2": {
92
- value: "Expansion bets",
93
- description: "Stage 5 focus area: expansion experiments"
94
- },
95
- "playbook.stage6.focus.0": {
96
- value: "Optimization",
97
- description: "Stage 6 focus area: operational optimization"
98
- },
99
- "playbook.stage6.focus.1": {
100
- value: "Renewal",
101
- description: "Stage 6 focus area: product renewal"
102
- },
103
- "playbook.stage6.focus.2": {
104
- value: "Portfolio",
105
- description: "Stage 6 focus area: portfolio management"
106
- },
107
- "playbook.stage0.action0.title": {
108
- value: "Run a 5-day interview burst",
109
- description: "Action title for stage 0 interview sprint"
110
- },
111
- "playbook.stage0.action0.description": {
112
- value: "Schedule at least 5 back-to-back interviews and capture raw quotes.",
113
- description: "Action description for stage 0 interview sprint"
114
- },
115
- "playbook.stage0.action1.title": {
116
- value: "Write the problem story",
117
- description: "Action title for stage 0 problem narrative"
118
- },
119
- "playbook.stage0.action1.description": {
120
- value: "Summarize the pain in one paragraph you can repeat to partners.",
121
- description: "Action description for stage 0 problem narrative"
122
- },
123
- "playbook.stage1.action0.title": {
124
- value: "Prototype feedback loop",
125
- description: "Action title for stage 1 prototype iteration"
126
- },
127
- "playbook.stage1.action0.description": {
128
- value: "Ship a low-fidelity prototype and collect 3 rounds of reactions.",
129
- description: "Action description for stage 1 prototype iteration"
130
- },
131
- "playbook.stage1.action1.title": {
132
- value: "Capture referral signals",
133
- description: "Action title for stage 1 referral tracking"
134
- },
135
- "playbook.stage1.action1.description": {
136
- value: "Ask each tester who else should see the demo.",
137
- description: "Action description for stage 1 referral tracking"
138
- },
139
- "playbook.stage2.action0.title": {
140
- value: "Define activation checklist",
141
- description: "Action title for stage 2 activation definition"
142
- },
143
- "playbook.stage2.action0.description": {
144
- value: "Document the 3 steps users must finish to get value.",
145
- description: "Action description for stage 2 activation definition"
146
- },
147
- "playbook.stage2.action1.title": {
148
- value: "Weekly user sync",
149
- description: "Action title for stage 2 user communication"
150
- },
151
- "playbook.stage2.action1.description": {
152
- value: "Host a standing call with your 5 most active testers.",
153
- description: "Action description for stage 2 user communication"
154
- },
155
- "playbook.stage3.action0.title": {
156
- value: "Run a retention study",
157
- description: "Action title for stage 3 retention analysis"
158
- },
159
- "playbook.stage3.action0.description": {
160
- value: "Interview 3 retained users and publish their before/after metrics.",
161
- description: "Action description for stage 3 retention analysis"
162
- },
163
- "playbook.stage3.action1.title": {
164
- value: "Lightweight incident review",
165
- description: "Action title for stage 3 reliability review"
166
- },
167
- "playbook.stage3.action1.description": {
168
- value: "Review the last 2 reliability hiccups and capture fixes.",
169
- description: "Action description for stage 3 reliability review"
170
- },
171
- "playbook.stage4.action0.title": {
172
- value: "Codify a growth loop",
173
- description: "Action title for stage 4 growth loop setup"
174
- },
175
- "playbook.stage4.action0.description": {
176
- value: "Choose one loop (SEO, referrals, outbound) and document owners + inputs.",
177
- description: "Action description for stage 4 growth loop setup"
178
- },
179
- "playbook.stage4.action1.title": {
180
- value: "Create hiring map",
181
- description: "Action title for stage 4 hiring plan"
182
- },
183
- "playbook.stage4.action1.description": {
184
- value: "List specialized roles you need in the next 2 quarters.",
185
- description: "Action description for stage 4 hiring plan"
186
- },
187
- "playbook.stage5.action0.title": {
188
- value: "Partner readiness brief",
189
- description: "Action title for stage 5 partner preparation"
190
- },
191
- "playbook.stage5.action0.description": {
192
- value: "Document partner types, value props, and onboarding steps.",
193
- description: "Action description for stage 5 partner preparation"
194
- },
195
- "playbook.stage5.action1.title": {
196
- value: "Expansion experiment portfolio",
197
- description: "Action title for stage 5 expansion planning"
198
- },
199
- "playbook.stage5.action1.description": {
200
- value: "List the top 3 markets or product lines with owners.",
201
- description: "Action description for stage 5 expansion planning"
202
- },
203
- "playbook.stage6.action0.title": {
204
- value: "Run a cost-to-value review",
205
- description: "Action title for stage 6 margin audit"
206
- },
207
- "playbook.stage6.action0.description": {
208
- value: "Audit each major surface for margin impact.",
209
- description: "Action description for stage 6 margin audit"
210
- },
211
- "playbook.stage6.action1.title": {
212
- value: "Define the renewal bet",
213
- description: "Action title for stage 6 reinvention track"
214
- },
215
- "playbook.stage6.action1.description": {
216
- value: "Choose one reinvention or sunset track and set checkpoints.",
217
- description: "Action description for stage 6 reinvention track"
218
- },
219
- "ceremony.stage0.title": {
220
- value: "Discovery Spark",
221
- description: "Ceremony title for stage 0"
222
- },
223
- "ceremony.stage0.copy": {
224
- value: "Share the sharpest pain quote with your crew. Frame it, celebrate focus.",
225
- description: "Ceremony copy for stage 0"
226
- },
227
- "ceremony.stage1.title": {
228
- value: "Solution Resonance",
229
- description: "Ceremony title for stage 1"
230
- },
231
- "ceremony.stage1.copy": {
232
- value: "Record a short screen share telling the before/after story to your future self.",
233
- description: "Ceremony copy for stage 1"
234
- },
235
- "ceremony.stage2.title": {
236
- value: "Traction Toast",
237
- description: "Ceremony title for stage 2"
238
- },
239
- "ceremony.stage2.copy": {
240
- value: "Toast your first 20 real users—say their names, tell them why they matter.",
241
- description: "Ceremony copy for stage 2"
242
- },
243
- "ceremony.stage3.title": {
244
- value: "PMF Signal Fire",
245
- description: "Ceremony title for stage 3"
246
- },
247
- "ceremony.stage3.copy": {
248
- value: "Write a letter to your future Series A self describing the pull you feel today.",
249
- description: "Ceremony copy for stage 3"
250
- },
251
- "ceremony.stage4.title": {
252
- value: "Scale Systems",
253
- description: "Ceremony title for stage 4"
254
- },
255
- "ceremony.stage4.copy": {
256
- value: "Invite the team to map the journey from first user to repeatable machine.",
257
- description: "Ceremony copy for stage 4"
258
- },
259
- "ceremony.stage5.title": {
260
- value: "Platform Threshold",
261
- description: "Ceremony title for stage 5"
262
- },
263
- "ceremony.stage5.copy": {
264
- value: "Host a partner circle—invite allies to share what they need from your platform.",
265
- description: "Ceremony copy for stage 5"
266
- },
267
- "ceremony.stage6.title": {
268
- value: "Renewal Summit",
269
- description: "Ceremony title for stage 6"
270
- },
271
- "ceremony.stage6.copy": {
272
- value: "Pause to honor what got you here, then commit publicly to the next reinvention.",
273
- description: "Ceremony copy for stage 6"
274
- },
275
- "library.stage0.item0": {
276
- value: "Summarize interviews and synthesize IC insights.",
277
- description: "Library tool description for stage 0 item 0"
278
- },
279
- "library.stage0.item1": {
280
- value: "Craft low-fi storyboards without custom code.",
281
- description: "Library tool description for stage 0 item 1"
282
- },
283
- "library.stage1.item0": {
284
- value: "Gate prototype features behind lightweight flags.",
285
- description: "Library tool description for stage 1 item 0"
286
- },
287
- "library.stage1.item1": {
288
- value: "Capture questionnaire signals for early scoring.",
289
- description: "Library tool description for stage 1 item 1"
290
- },
291
- "library.stage2.item0": {
292
- value: "Instrument activation paths + cohorts.",
293
- description: "Library tool description for stage 2 item 0"
294
- },
295
- "library.stage2.item1": {
296
- value: "Collect minimum viable traces and metrics.",
297
- description: "Library tool description for stage 2 item 1"
298
- },
299
- "library.stage3.item0": {
300
- value: "Auto-detect contract gaps and spec improvements.",
301
- description: "Library tool description for stage 3 item 0"
302
- },
303
- "library.stage3.item1": {
304
- value: "Generate retention-focused guidance at scale.",
305
- description: "Library tool description for stage 3 item 1"
306
- },
307
- "library.stage4.item0": {
308
- value: "Experiment orchestration with guardrails.",
309
- description: "Library tool description for stage 4 item 0"
310
- },
311
- "library.stage4.item1": {
312
- value: "Stabilize infra and SLOs as teams split.",
313
- description: "Library tool description for stage 4 item 1"
314
- },
315
- "library.stage5.item0": {
316
- value: "Automate partner workflows and integrations.",
317
- description: "Library tool description for stage 5 item 0"
318
- },
319
- "library.stage5.item1": {
320
- value: "Expose managed partner onboarding via Studio.",
321
- description: "Library tool description for stage 5 item 1"
322
- },
323
- "library.stage6.item0": {
324
- value: "Model margin scenarios and reinvestment bets.",
325
- description: "Library tool description for stage 6 item 0"
326
- },
327
- "library.stage6.item1": {
328
- value: "Standardize renewal rituals and automation.",
329
- description: "Library tool description for stage 6 item 1"
330
- },
331
- "engine.fallbackAction.title": {
332
- value: "Advance {focus}",
333
- description: "Fallback action title when no specific action exists",
334
- placeholders: [{ name: "focus", type: "string" }]
335
- },
336
- "engine.fallbackAction.description": {
337
- value: 'Identify one task that will improve "{focus}" this week.',
338
- description: "Fallback action description when no specific action exists",
339
- placeholders: [{ name: "focus", type: "string" }]
340
- }
341
- }
342
- });
343
-
344
- // src/i18n/catalogs/es.ts
345
- import { defineTranslation as defineTranslation2 } from "@contractspec/lib.contracts-spec/translations";
346
- var esMessages = defineTranslation2({
347
- meta: {
348
- key: "lifecycle-advisor.messages",
349
- version: "1.0.0",
350
- domain: "lifecycle-advisor",
351
- description: "Playbook, ceremony, library, and engine strings (Spanish)",
352
- owners: ["platform"],
353
- stability: "experimental"
354
- },
355
- locale: "es",
356
- fallback: "en",
357
- messages: {
358
- "playbook.stage0.focus.0": {
359
- value: "Descubrimiento",
360
- description: "Stage 0 focus area: discovery research"
361
- },
362
- "playbook.stage0.focus.1": {
363
- value: "Claridad del problema",
364
- description: "Stage 0 focus area: sharpening the problem definition"
365
- },
366
- "playbook.stage0.focus.2": {
367
- value: "Persona",
368
- description: "Stage 0 focus area: identifying the target persona"
369
- },
370
- "playbook.stage1.focus.0": {
371
- value: "Prototipo",
372
- description: "Stage 1 focus area: building a prototype"
373
- },
374
- "playbook.stage1.focus.1": {
375
- value: "Retroalimentación",
376
- description: "Stage 1 focus area: gathering user feedback"
377
- },
378
- "playbook.stage1.focus.2": {
379
- value: "Prueba de valor",
380
- description: "Stage 1 focus area: proving the value proposition"
381
- },
382
- "playbook.stage2.focus.0": {
383
- value: "Activación",
384
- description: "Stage 2 focus area: user activation"
385
- },
386
- "playbook.stage2.focus.1": {
387
- value: "Telemetría",
388
- description: "Stage 2 focus area: usage telemetry"
389
- },
390
- "playbook.stage2.focus.2": {
391
- value: "Retroalimentación",
392
- description: "Stage 2 focus area: continuous user feedback"
393
- },
394
- "playbook.stage3.focus.0": {
395
- value: "Retención",
396
- description: "Stage 3 focus area: user retention"
397
- },
398
- "playbook.stage3.focus.1": {
399
- value: "Fiabilidad",
400
- description: "Stage 3 focus area: product reliability"
401
- },
402
- "playbook.stage3.focus.2": {
403
- value: "Historia",
404
- description: "Stage 3 focus area: building the narrative"
405
- },
406
- "playbook.stage4.focus.0": {
407
- value: "Sistemas",
408
- description: "Stage 4 focus area: scalable systems"
409
- },
410
- "playbook.stage4.focus.1": {
411
- value: "Bucles de crecimiento",
412
- description: "Stage 4 focus area: repeatable growth loops"
413
- },
414
- "playbook.stage4.focus.2": {
415
- value: "Especialización",
416
- description: "Stage 4 focus area: team specialization"
417
- },
418
- "playbook.stage5.focus.0": {
419
- value: "Socios",
420
- description: "Stage 5 focus area: partner ecosystem"
421
- },
422
- "playbook.stage5.focus.1": {
423
- value: "APIs",
424
- description: "Stage 5 focus area: platform APIs"
425
- },
426
- "playbook.stage5.focus.2": {
427
- value: "Apuestas de expansión",
428
- description: "Stage 5 focus area: expansion experiments"
429
- },
430
- "playbook.stage6.focus.0": {
431
- value: "Optimización",
432
- description: "Stage 6 focus area: operational optimization"
433
- },
434
- "playbook.stage6.focus.1": {
435
- value: "Renovación",
436
- description: "Stage 6 focus area: product renewal"
437
- },
438
- "playbook.stage6.focus.2": {
439
- value: "Portafolio",
440
- description: "Stage 6 focus area: portfolio management"
441
- },
442
- "playbook.stage0.action0.title": {
443
- value: "Realizar un sprint de entrevistas de 5 días",
444
- description: "Action title for stage 0 interview sprint"
445
- },
446
- "playbook.stage0.action0.description": {
447
- value: "Programar al menos 5 entrevistas consecutivas y capturar citas sin editar.",
448
- description: "Action description for stage 0 interview sprint"
449
- },
450
- "playbook.stage0.action1.title": {
451
- value: "Redactar la historia del problema",
452
- description: "Action title for stage 0 problem narrative"
453
- },
454
- "playbook.stage0.action1.description": {
455
- value: "Resumir el dolor en un párrafo que puedas repetir a los socios.",
456
- description: "Action description for stage 0 problem narrative"
457
- },
458
- "playbook.stage1.action0.title": {
459
- value: "Ciclo de retroalimentación del prototipo",
460
- description: "Action title for stage 1 prototype iteration"
461
- },
462
- "playbook.stage1.action0.description": {
463
- value: "Entregar un prototipo de baja fidelidad y recopilar 3 rondas de reacciones.",
464
- description: "Action description for stage 1 prototype iteration"
465
- },
466
- "playbook.stage1.action1.title": {
467
- value: "Capturar señales de recomendación",
468
- description: "Action title for stage 1 referral tracking"
469
- },
470
- "playbook.stage1.action1.description": {
471
- value: "Preguntar a cada tester quién más debería ver la demo.",
472
- description: "Action description for stage 1 referral tracking"
473
- },
474
- "playbook.stage2.action0.title": {
475
- value: "Definir lista de verificación de activación",
476
- description: "Action title for stage 2 activation definition"
477
- },
478
- "playbook.stage2.action0.description": {
479
- value: "Documentar los 3 pasos que los usuarios deben completar para obtener valor.",
480
- description: "Action description for stage 2 activation definition"
481
- },
482
- "playbook.stage2.action1.title": {
483
- value: "Sincronización semanal con usuarios",
484
- description: "Action title for stage 2 user communication"
485
- },
486
- "playbook.stage2.action1.description": {
487
- value: "Organizar una llamada recurrente con tus 5 testers más activos.",
488
- description: "Action description for stage 2 user communication"
489
- },
490
- "playbook.stage3.action0.title": {
491
- value: "Realizar un estudio de retención",
492
- description: "Action title for stage 3 retention analysis"
493
- },
494
- "playbook.stage3.action0.description": {
495
- value: "Entrevistar a 3 usuarios retenidos y publicar sus métricas antes/después.",
496
- description: "Action description for stage 3 retention analysis"
497
- },
498
- "playbook.stage3.action1.title": {
499
- value: "Revisión ligera de incidentes",
500
- description: "Action title for stage 3 reliability review"
501
- },
502
- "playbook.stage3.action1.description": {
503
- value: "Revisar los últimos 2 problemas de fiabilidad y capturar las correcciones.",
504
- description: "Action description for stage 3 reliability review"
505
- },
506
- "playbook.stage4.action0.title": {
507
- value: "Codificar un bucle de crecimiento",
508
- description: "Action title for stage 4 growth loop setup"
509
- },
510
- "playbook.stage4.action0.description": {
511
- value: "Elegir un bucle (SEO, referencias, outbound) y documentar responsables + entradas.",
512
- description: "Action description for stage 4 growth loop setup"
513
- },
514
- "playbook.stage4.action1.title": {
515
- value: "Crear mapa de contratación",
516
- description: "Action title for stage 4 hiring plan"
517
- },
518
- "playbook.stage4.action1.description": {
519
- value: "Listar los roles especializados necesarios para los próximos 2 trimestres.",
520
- description: "Action description for stage 4 hiring plan"
521
- },
522
- "playbook.stage5.action0.title": {
523
- value: "Brief de preparación para socios",
524
- description: "Action title for stage 5 partner preparation"
525
- },
526
- "playbook.stage5.action0.description": {
527
- value: "Documentar tipos de socios, propuestas de valor y pasos de incorporación.",
528
- description: "Action description for stage 5 partner preparation"
529
- },
530
- "playbook.stage5.action1.title": {
531
- value: "Portafolio de experimentos de expansión",
532
- description: "Action title for stage 5 expansion planning"
533
- },
534
- "playbook.stage5.action1.description": {
535
- value: "Listar los 3 principales mercados o líneas de producto con responsables.",
536
- description: "Action description for stage 5 expansion planning"
537
- },
538
- "playbook.stage6.action0.title": {
539
- value: "Realizar una revisión costo-valor",
540
- description: "Action title for stage 6 margin audit"
541
- },
542
- "playbook.stage6.action0.description": {
543
- value: "Auditar cada superficie principal por impacto en márgenes.",
544
- description: "Action description for stage 6 margin audit"
545
- },
546
- "playbook.stage6.action1.title": {
547
- value: "Definir la apuesta de renovación",
548
- description: "Action title for stage 6 reinvention track"
549
- },
550
- "playbook.stage6.action1.description": {
551
- value: "Elegir una pista de reinvención o descontinuación y establecer puntos de control.",
552
- description: "Action description for stage 6 reinvention track"
553
- },
554
- "ceremony.stage0.title": {
555
- value: "Chispa de descubrimiento",
556
- description: "Ceremony title for stage 0"
557
- },
558
- "ceremony.stage0.copy": {
559
- value: "Comparte la cita de dolor más impactante con tu equipo. Enmárcala, celebra el enfoque.",
560
- description: "Ceremony copy for stage 0"
561
- },
562
- "ceremony.stage1.title": {
563
- value: "Resonancia de la solución",
564
- description: "Ceremony title for stage 1"
565
- },
566
- "ceremony.stage1.copy": {
567
- value: "Graba un breve screencast contando la historia antes/después a tu futuro yo.",
568
- description: "Ceremony copy for stage 1"
569
- },
570
- "ceremony.stage2.title": {
571
- value: "Brindis por la tracción",
572
- description: "Ceremony title for stage 2"
573
- },
574
- "ceremony.stage2.copy": {
575
- value: "Brinda por tus primeros 20 usuarios reales—di sus nombres, diles por qué importan.",
576
- description: "Ceremony copy for stage 2"
577
- },
578
- "ceremony.stage3.title": {
579
- value: "Señal de fuego PMF",
580
- description: "Ceremony title for stage 3"
581
- },
582
- "ceremony.stage3.copy": {
583
- value: "Escribe una carta a tu futuro yo de la Serie A describiendo la atracción que sientes hoy.",
584
- description: "Ceremony copy for stage 3"
585
- },
586
- "ceremony.stage4.title": {
587
- value: "Sistemas de escala",
588
- description: "Ceremony title for stage 4"
589
- },
590
- "ceremony.stage4.copy": {
591
- value: "Invita al equipo a mapear el viaje desde el primer usuario hasta la máquina repetible.",
592
- description: "Ceremony copy for stage 4"
593
- },
594
- "ceremony.stage5.title": {
595
- value: "Umbral de la plataforma",
596
- description: "Ceremony title for stage 5"
597
- },
598
- "ceremony.stage5.copy": {
599
- value: "Organiza un círculo de socios—invita a los aliados a compartir lo que necesitan de tu plataforma.",
600
- description: "Ceremony copy for stage 5"
601
- },
602
- "ceremony.stage6.title": {
603
- value: "Cumbre de renovación",
604
- description: "Ceremony title for stage 6"
605
- },
606
- "ceremony.stage6.copy": {
607
- value: "Haz una pausa para honrar lo que te trajo aquí, luego comprómetete públicamente con la próxima reinvención.",
608
- description: "Ceremony copy for stage 6"
609
- },
610
- "library.stage0.item0": {
611
- value: "Resumir entrevistas y sintetizar insights de IC.",
612
- description: "Library tool description for stage 0 item 0"
613
- },
614
- "library.stage0.item1": {
615
- value: "Crear storyboards de baja fidelidad sin código personalizado.",
616
- description: "Library tool description for stage 0 item 1"
617
- },
618
- "library.stage1.item0": {
619
- value: "Controlar funcionalidades del prototipo detrás de flags ligeros.",
620
- description: "Library tool description for stage 1 item 0"
621
- },
622
- "library.stage1.item1": {
623
- value: "Capturar señales de cuestionario para scoring temprano.",
624
- description: "Library tool description for stage 1 item 1"
625
- },
626
- "library.stage2.item0": {
627
- value: "Instrumentar rutas de activación + cohortes.",
628
- description: "Library tool description for stage 2 item 0"
629
- },
630
- "library.stage2.item1": {
631
- value: "Recopilar trazas y métricas mínimas viables.",
632
- description: "Library tool description for stage 2 item 1"
633
- },
634
- "library.stage3.item0": {
635
- value: "Detectar automáticamente brechas de contrato y mejoras de spec.",
636
- description: "Library tool description for stage 3 item 0"
637
- },
638
- "library.stage3.item1": {
639
- value: "Generar orientación enfocada en retención a escala.",
640
- description: "Library tool description for stage 3 item 1"
641
- },
642
- "library.stage4.item0": {
643
- value: "Orquestación de experimentos con barandillas.",
644
- description: "Library tool description for stage 4 item 0"
645
- },
646
- "library.stage4.item1": {
647
- value: "Estabilizar infraestructura y SLOs a medida que los equipos se dividen.",
648
- description: "Library tool description for stage 4 item 1"
649
- },
650
- "library.stage5.item0": {
651
- value: "Automatizar flujos de trabajo de socios e integraciones.",
652
- description: "Library tool description for stage 5 item 0"
653
- },
654
- "library.stage5.item1": {
655
- value: "Exponer incorporación de socios gestionada vía Studio.",
656
- description: "Library tool description for stage 5 item 1"
657
- },
658
- "library.stage6.item0": {
659
- value: "Modelar escenarios de margen y apuestas de reinversión.",
660
- description: "Library tool description for stage 6 item 0"
661
- },
662
- "library.stage6.item1": {
663
- value: "Estandarizar rituales de renovación y automatización.",
664
- description: "Library tool description for stage 6 item 1"
665
- },
666
- "engine.fallbackAction.title": {
667
- value: "Avanzar en {focus}",
668
- description: "Fallback action title when no specific action exists",
669
- placeholders: [{ name: "focus", type: "string" }]
670
- },
671
- "engine.fallbackAction.description": {
672
- value: 'Identificar una tarea que mejore "{focus}" esta semana.',
673
- description: "Fallback action description when no specific action exists",
674
- placeholders: [{ name: "focus", type: "string" }]
675
- }
676
- }
677
- });
678
-
679
- // src/i18n/catalogs/fr.ts
680
- import { defineTranslation as defineTranslation3 } from "@contractspec/lib.contracts-spec/translations";
681
- var frMessages = defineTranslation3({
682
- meta: {
683
- key: "lifecycle-advisor.messages",
684
- version: "1.0.0",
685
- domain: "lifecycle-advisor",
686
- description: "Playbook, ceremony, library, and engine strings (French)",
687
- owners: ["platform"],
688
- stability: "experimental"
689
- },
690
- locale: "fr",
691
- fallback: "en",
692
- messages: {
693
- "playbook.stage0.focus.0": {
694
- value: "Découverte",
695
- description: "Stage 0 focus area: Discovery"
696
- },
697
- "playbook.stage0.focus.1": {
698
- value: "Clarté du problème",
699
- description: "Stage 0 focus area: Problem clarity"
700
- },
701
- "playbook.stage0.focus.2": {
702
- value: "Persona",
703
- description: "Stage 0 focus area: Persona"
704
- },
705
- "playbook.stage1.focus.0": {
706
- value: "Prototype",
707
- description: "Stage 1 focus area: Prototype"
708
- },
709
- "playbook.stage1.focus.1": {
710
- value: "Retours",
711
- description: "Stage 1 focus area: Feedback"
712
- },
713
- "playbook.stage1.focus.2": {
714
- value: "Preuve de valeur",
715
- description: "Stage 1 focus area: Value proof"
716
- },
717
- "playbook.stage2.focus.0": {
718
- value: "Activation",
719
- description: "Stage 2 focus area: Activation"
720
- },
721
- "playbook.stage2.focus.1": {
722
- value: "Télémétrie",
723
- description: "Stage 2 focus area: Telemetry"
724
- },
725
- "playbook.stage2.focus.2": {
726
- value: "Retours",
727
- description: "Stage 2 focus area: Feedback"
728
- },
729
- "playbook.stage3.focus.0": {
730
- value: "Rétention",
731
- description: "Stage 3 focus area: Retention"
732
- },
733
- "playbook.stage3.focus.1": {
734
- value: "Fiabilité",
735
- description: "Stage 3 focus area: Reliability"
736
- },
737
- "playbook.stage3.focus.2": {
738
- value: "Récit",
739
- description: "Stage 3 focus area: Story"
740
- },
741
- "playbook.stage4.focus.0": {
742
- value: "Systèmes",
743
- description: "Stage 4 focus area: Systems"
744
- },
745
- "playbook.stage4.focus.1": {
746
- value: "Boucles de croissance",
747
- description: "Stage 4 focus area: Growth loops"
748
- },
749
- "playbook.stage4.focus.2": {
750
- value: "Spécialisation",
751
- description: "Stage 4 focus area: Specialization"
752
- },
753
- "playbook.stage5.focus.0": {
754
- value: "Partenaires",
755
- description: "Stage 5 focus area: Partners"
756
- },
757
- "playbook.stage5.focus.1": {
758
- value: "APIs",
759
- description: "Stage 5 focus area: APIs"
760
- },
761
- "playbook.stage5.focus.2": {
762
- value: "Paris d'expansion",
763
- description: "Stage 5 focus area: Expansion bets"
764
- },
765
- "playbook.stage6.focus.0": {
766
- value: "Optimisation",
767
- description: "Stage 6 focus area: Optimization"
768
- },
769
- "playbook.stage6.focus.1": {
770
- value: "Renouvellement",
771
- description: "Stage 6 focus area: Renewal"
772
- },
773
- "playbook.stage6.focus.2": {
774
- value: "Portefeuille",
775
- description: "Stage 6 focus area: Portfolio"
776
- },
777
- "playbook.stage0.action0.title": {
778
- value: "Mener un sprint d'entretiens de 5 jours",
779
- description: "Stage 0 action 0 title"
780
- },
781
- "playbook.stage0.action0.description": {
782
- value: "Planifier au moins 5 entretiens consécutifs et capturer les citations brutes.",
783
- description: "Stage 0 action 0 description"
784
- },
785
- "playbook.stage0.action1.title": {
786
- value: "Rédiger l'histoire du problème",
787
- description: "Stage 0 action 1 title"
788
- },
789
- "playbook.stage0.action1.description": {
790
- value: "Résumer la douleur en un paragraphe que vous pouvez répéter aux partenaires.",
791
- description: "Stage 0 action 1 description"
792
- },
793
- "playbook.stage1.action0.title": {
794
- value: "Boucle de retours sur le prototype",
795
- description: "Stage 1 action 0 title"
796
- },
797
- "playbook.stage1.action0.description": {
798
- value: "Livrer un prototype basse fidélité et recueillir 3 tours de réactions.",
799
- description: "Stage 1 action 0 description"
800
- },
801
- "playbook.stage1.action1.title": {
802
- value: "Capturer les signaux de recommandation",
803
- description: "Stage 1 action 1 title"
804
- },
805
- "playbook.stage1.action1.description": {
806
- value: "Demander à chaque testeur qui d'autre devrait voir la démo.",
807
- description: "Stage 1 action 1 description"
808
- },
809
- "playbook.stage2.action0.title": {
810
- value: "Définir la checklist d'activation",
811
- description: "Stage 2 action 0 title"
812
- },
813
- "playbook.stage2.action0.description": {
814
- value: "Documenter les 3 étapes que les utilisateurs doivent terminer pour obtenir de la valeur.",
815
- description: "Stage 2 action 0 description"
816
- },
817
- "playbook.stage2.action1.title": {
818
- value: "Synchronisation hebdomadaire avec les utilisateurs",
819
- description: "Stage 2 action 1 title"
820
- },
821
- "playbook.stage2.action1.description": {
822
- value: "Organiser un appel récurrent avec vos 5 testeurs les plus actifs.",
823
- description: "Stage 2 action 1 description"
824
- },
825
- "playbook.stage3.action0.title": {
826
- value: "Mener une étude de rétention",
827
- description: "Stage 3 action 0 title"
828
- },
829
- "playbook.stage3.action0.description": {
830
- value: "Interviewer 3 utilisateurs retenus et publier leurs métriques avant/après.",
831
- description: "Stage 3 action 0 description"
832
- },
833
- "playbook.stage3.action1.title": {
834
- value: "Revue légère d'incidents",
835
- description: "Stage 3 action 1 title"
836
- },
837
- "playbook.stage3.action1.description": {
838
- value: "Examiner les 2 derniers incidents de fiabilité et capturer les correctifs.",
839
- description: "Stage 3 action 1 description"
840
- },
841
- "playbook.stage4.action0.title": {
842
- value: "Codifier une boucle de croissance",
843
- description: "Stage 4 action 0 title"
844
- },
845
- "playbook.stage4.action0.description": {
846
- value: "Choisir une boucle (SEO, recommandations, outbound) et documenter les responsables + entrées.",
847
- description: "Stage 4 action 0 description"
848
- },
849
- "playbook.stage4.action1.title": {
850
- value: "Créer la carte de recrutement",
851
- description: "Stage 4 action 1 title"
852
- },
853
- "playbook.stage4.action1.description": {
854
- value: "Lister les rôles spécialisés nécessaires pour les 2 prochains trimestres.",
855
- description: "Stage 4 action 1 description"
856
- },
857
- "playbook.stage5.action0.title": {
858
- value: "Brief de préparation partenaire",
859
- description: "Stage 5 action 0 title"
860
- },
861
- "playbook.stage5.action0.description": {
862
- value: "Documenter les types de partenaires, propositions de valeur et étapes d'intégration.",
863
- description: "Stage 5 action 0 description"
864
- },
865
- "playbook.stage5.action1.title": {
866
- value: "Portefeuille d'expériences d'expansion",
867
- description: "Stage 5 action 1 title"
868
- },
869
- "playbook.stage5.action1.description": {
870
- value: "Lister les 3 principaux marchés ou lignes de produits avec les responsables.",
871
- description: "Stage 5 action 1 description"
872
- },
873
- "playbook.stage6.action0.title": {
874
- value: "Mener une revue coût-valeur",
875
- description: "Stage 6 action 0 title"
876
- },
877
- "playbook.stage6.action0.description": {
878
- value: "Auditer chaque surface majeure pour l’impact sur les marges.",
879
- description: "Stage 6 action 0 description"
880
- },
881
- "playbook.stage6.action1.title": {
882
- value: "Définir le pari de renouvellement",
883
- description: "Stage 6 action 1 title"
884
- },
885
- "playbook.stage6.action1.description": {
886
- value: "Choisir une piste de réinvention ou d'arrêt et définir des points de contrôle.",
887
- description: "Stage 6 action 1 description"
888
- },
889
- "ceremony.stage0.title": {
890
- value: "Étincelle de découverte",
891
- description: "Stage 0 ceremony title"
892
- },
893
- "ceremony.stage0.copy": {
894
- value: "Partagez la citation la plus percutante avec votre équipe. Encadrez-la, célébrez le focus.",
895
- description: "Stage 0 ceremony copy"
896
- },
897
- "ceremony.stage1.title": {
898
- value: "Résonance de la solution",
899
- description: "Stage 1 ceremony title"
900
- },
901
- "ceremony.stage1.copy": {
902
- value: "Enregistrez un court partage d'écran racontant l'histoire avant/après à votre futur vous.",
903
- description: "Stage 1 ceremony copy"
904
- },
905
- "ceremony.stage2.title": {
906
- value: "Toast à la traction",
907
- description: "Stage 2 ceremony title"
908
- },
909
- "ceremony.stage2.copy": {
910
- value: "Portez un toast à vos 20 premiers vrais utilisateurs — dites leurs noms, dites-leur pourquoi ils comptent.",
911
- description: "Stage 2 ceremony copy"
912
- },
913
- "ceremony.stage3.title": {
914
- value: "Signal PMF",
915
- description: "Stage 3 ceremony title"
916
- },
917
- "ceremony.stage3.copy": {
918
- value: "Écrivez une lettre à votre futur vous de la Série A décrivant l'attraction que vous ressentez aujourd'hui.",
919
- description: "Stage 3 ceremony copy"
920
- },
921
- "ceremony.stage4.title": {
922
- value: "Systèmes d'échelle",
923
- description: "Stage 4 ceremony title"
924
- },
925
- "ceremony.stage4.copy": {
926
- value: "Invitez l'équipe à cartographier le parcours du premier utilisateur à la machine répétable.",
927
- description: "Stage 4 ceremony copy"
928
- },
929
- "ceremony.stage5.title": {
930
- value: "Seuil de la plateforme",
931
- description: "Stage 5 ceremony title"
932
- },
933
- "ceremony.stage5.copy": {
934
- value: "Organisez un cercle de partenaires — invitez les alliés à partager ce dont ils ont besoin de votre plateforme.",
935
- description: "Stage 5 ceremony copy"
936
- },
937
- "ceremony.stage6.title": {
938
- value: "Sommet du renouvellement",
939
- description: "Stage 6 ceremony title"
940
- },
941
- "ceremony.stage6.copy": {
942
- value: "Faites une pause pour honorer ce qui vous a amené ici, puis engagez-vous publiquement pour la prochaine réinvention.",
943
- description: "Stage 6 ceremony copy"
944
- },
945
- "library.stage0.item0": {
946
- value: "Résumer les entretiens et synthétiser les insights IC.",
947
- description: "Stage 0 library item 0"
948
- },
949
- "library.stage0.item1": {
950
- value: "Créer des storyboards basse fidélité sans code personnalisé.",
951
- description: "Stage 0 library item 1"
952
- },
953
- "library.stage1.item0": {
954
- value: "Contrôler les fonctionnalités prototype derrière des flags légers.",
955
- description: "Stage 1 library item 0"
956
- },
957
- "library.stage1.item1": {
958
- value: "Capturer les signaux de questionnaire pour un scoring précoce.",
959
- description: "Stage 1 library item 1"
960
- },
961
- "library.stage2.item0": {
962
- value: "Instrumenter les parcours d'activation + cohortes.",
963
- description: "Stage 2 library item 0"
964
- },
965
- "library.stage2.item1": {
966
- value: "Collecter les traces et métriques minimales viables.",
967
- description: "Stage 2 library item 1"
968
- },
969
- "library.stage3.item0": {
970
- value: "Détecter automatiquement les lacunes de contrat et améliorations de spec.",
971
- description: "Stage 3 library item 0"
972
- },
973
- "library.stage3.item1": {
974
- value: "Générer des conseils axés sur la rétention à grande échelle.",
975
- description: "Stage 3 library item 1"
976
- },
977
- "library.stage4.item0": {
978
- value: "Orchestration d'expériences avec garde-fous.",
979
- description: "Stage 4 library item 0"
980
- },
981
- "library.stage4.item1": {
982
- value: "Stabiliser l’infra et les SLOs au fur et à mesure que les équipes se divisent.",
983
- description: "Stage 4 library item 1"
984
- },
985
- "library.stage5.item0": {
986
- value: "Automatiser les workflows partenaires et intégrations.",
987
- description: "Stage 5 library item 0"
988
- },
989
- "library.stage5.item1": {
990
- value: "Exposer l'intégration partenaire gérée via Studio.",
991
- description: "Stage 5 library item 1"
992
- },
993
- "library.stage6.item0": {
994
- value: "Modéliser les scénarios de marge et paris de réinvestissement.",
995
- description: "Stage 6 library item 0"
996
- },
997
- "library.stage6.item1": {
998
- value: "Standardiser les rituels de renouvellement et l'automatisation.",
999
- description: "Stage 6 library item 1"
1000
- },
1001
- "engine.fallbackAction.title": {
1002
- value: "Avancer sur {focus}",
1003
- description: "Fallback action title with focus placeholder"
1004
- },
1005
- "engine.fallbackAction.description": {
1006
- value: "Identifier une tâche qui améliorera « {focus} » cette semaine.",
1007
- description: "Fallback action description with focus placeholder"
1008
- }
1009
- }
1010
- });
1011
-
1012
- // src/i18n/messages.ts
1013
- var factory = createI18nFactory({
1014
- specKey: "lifecycle-advisor.messages",
1015
- catalogs: [enMessages, frMessages, esMessages]
1016
- });
1017
- var createLifecycleAdvisorI18n = factory.create;
1018
- var getDefaultI18n = factory.getDefault;
1019
- var resetI18nRegistry = factory.resetRegistry;
1020
-
1021
- // src/data/stage-playbooks.ts
1022
- function getLocalizedStagePlaybooks(locale) {
1023
- const i18n = createLifecycleAdvisorI18n(locale);
1024
- return staticPlaybooks.map((playbook, stageIdx) => ({
1025
- ...playbook,
1026
- focusAreas: playbook.focusAreas.map((_, focusIdx) => i18n.t(`playbook.stage${stageIdx}.focus.${focusIdx}`)),
1027
- actions: playbook.actions.map((action, actionIdx) => ({
1028
- ...action,
1029
- title: i18n.t(`playbook.stage${stageIdx}.action${actionIdx}.title`),
1030
- description: i18n.t(`playbook.stage${stageIdx}.action${actionIdx}.description`)
1031
- })),
1032
- ceremony: playbook.ceremony ? {
1033
- ...playbook.ceremony,
1034
- title: i18n.t(`ceremony.stage${stageIdx}.title`),
1035
- copy: i18n.t(`ceremony.stage${stageIdx}.copy`)
1036
- } : undefined
1037
- }));
1038
- }
1039
- var staticPlaybooks = [
1040
- {
1041
- stage: LifecycleStage.Exploration,
1042
- focusAreas: ["Discovery", "Problem clarity", "Persona"],
1043
- actions: [
1044
- {
1045
- id: "stage0-interview-burst",
1046
- stage: LifecycleStage.Exploration,
1047
- title: "Run a 5-day interview burst",
1048
- description: "Schedule at least 5 back-to-back interviews and capture raw quotes.",
1049
- priority: 1,
1050
- estimatedImpact: "medium",
1051
- effortLevel: "m",
1052
- category: "product",
1053
- recommendedLibraries: ["@contractspec/lib.content-gen"]
1054
- },
1055
- {
1056
- id: "stage0-problem-story",
1057
- stage: LifecycleStage.Exploration,
1058
- title: "Write the problem story",
1059
- description: "Summarize the pain in one paragraph you can repeat to partners.",
1060
- priority: 2,
1061
- estimatedImpact: "low",
1062
- effortLevel: "s",
1063
- category: "product"
1064
- }
1065
- ],
1066
- ceremony: {
1067
- title: "Discovery Spark",
1068
- copy: "Share the sharpest pain quote with your crew. Frame it, celebrate focus.",
1069
- cues: ["\uD83D\uDD0E", "\uD83D\uDDD2️"]
1070
- }
1071
- },
1072
- {
1073
- stage: LifecycleStage.ProblemSolutionFit,
1074
- focusAreas: ["Prototype", "Feedback", "Value proof"],
1075
- actions: [
1076
- {
1077
- id: "stage1-demo-loop",
1078
- stage: LifecycleStage.ProblemSolutionFit,
1079
- title: "Prototype feedback loop",
1080
- description: "Ship a low-fidelity prototype and collect 3 rounds of reactions.",
1081
- priority: 1,
1082
- estimatedImpact: "medium",
1083
- effortLevel: "m",
1084
- category: "product",
1085
- recommendedLibraries: ["@contractspec/lib.progressive-delivery"]
1086
- },
1087
- {
1088
- id: "stage1-referrals",
1089
- stage: LifecycleStage.ProblemSolutionFit,
1090
- title: "Capture referral signals",
1091
- description: "Ask each tester who else should see the demo.",
1092
- priority: 2,
1093
- estimatedImpact: "low",
1094
- effortLevel: "s",
1095
- category: "growth"
1096
- }
1097
- ],
1098
- ceremony: {
1099
- title: "Solution Resonance",
1100
- copy: "Record a short screen share telling the before/after story to your future self.",
1101
- cues: ["\uD83C\uDFA4", "✨"]
1102
- }
1103
- },
1104
- {
1105
- stage: LifecycleStage.MvpEarlyTraction,
1106
- focusAreas: ["Activation", "Telemetry", "Feedback"],
1107
- actions: [
1108
- {
1109
- id: "stage2-activation",
1110
- stage: LifecycleStage.MvpEarlyTraction,
1111
- title: "Define activation checklist",
1112
- description: "Document the 3 steps users must finish to get value.",
1113
- priority: 1,
1114
- estimatedImpact: "high",
1115
- effortLevel: "m",
1116
- category: "operations",
1117
- recommendedLibraries: [
1118
- "@contractspec/lib.analytics",
1119
- "@contractspec/lib.observability"
1120
- ]
1121
- },
1122
- {
1123
- id: "stage2-weekly-sync",
1124
- stage: LifecycleStage.MvpEarlyTraction,
1125
- title: "Weekly user sync",
1126
- description: "Host a standing call with your 5 most active testers.",
1127
- priority: 2,
1128
- estimatedImpact: "medium",
1129
- effortLevel: "m",
1130
- category: "company"
1131
- }
1132
- ],
1133
- ceremony: {
1134
- title: "Traction Toast",
1135
- copy: "Toast your first 20 real users—say their names, tell them why they matter.",
1136
- cues: ["\uD83E\uDD42", "\uD83D\uDCE3"]
1137
- }
1138
- },
1139
- {
1140
- stage: LifecycleStage.ProductMarketFit,
1141
- focusAreas: ["Retention", "Reliability", "Story"],
1142
- actions: [
1143
- {
1144
- id: "stage3-retention-study",
1145
- stage: LifecycleStage.ProductMarketFit,
1146
- title: "Run a retention study",
1147
- description: "Interview 3 retained users and publish their before/after metrics.",
1148
- priority: 1,
1149
- estimatedImpact: "high",
1150
- effortLevel: "m",
1151
- category: "product",
1152
- recommendedLibraries: ["@contractspec/lib.evolution"]
1153
- },
1154
- {
1155
- id: "stage3-incident-review",
1156
- stage: LifecycleStage.ProductMarketFit,
1157
- title: "Lightweight incident review",
1158
- description: "Review the last 2 reliability hiccups and capture fixes.",
1159
- priority: 2,
1160
- estimatedImpact: "medium",
1161
- effortLevel: "s",
1162
- category: "operations"
1163
- }
1164
- ],
1165
- ceremony: {
1166
- title: "PMF Signal Fire",
1167
- copy: "Write a letter to your future Series A self describing the pull you feel today.",
1168
- cues: ["\uD83D\uDD25", "\uD83D\uDCEC"]
1169
- }
1170
- },
1171
- {
1172
- stage: LifecycleStage.GrowthScaleUp,
1173
- focusAreas: ["Systems", "Growth loops", "Specialization"],
1174
- actions: [
1175
- {
1176
- id: "stage4-growth-loop",
1177
- stage: LifecycleStage.GrowthScaleUp,
1178
- title: "Codify a growth loop",
1179
- description: "Choose one loop (SEO, referrals, outbound) and document owners + inputs.",
1180
- priority: 1,
1181
- estimatedImpact: "high",
1182
- effortLevel: "l",
1183
- category: "growth",
1184
- recommendedLibraries: [
1185
- "@contractspec/lib.growth",
1186
- "@contractspec/lib.resilience"
1187
- ]
1188
- },
1189
- {
1190
- id: "stage4-hiring-map",
1191
- stage: LifecycleStage.GrowthScaleUp,
1192
- title: "Create hiring map",
1193
- description: "List specialized roles you need in the next 2 quarters.",
1194
- priority: 2,
1195
- estimatedImpact: "medium",
1196
- effortLevel: "m",
1197
- category: "company"
1198
- }
1199
- ],
1200
- ceremony: {
1201
- title: "Scale Systems",
1202
- copy: "Invite the team to map the journey from first user to repeatable machine.",
1203
- cues: ["\uD83D\uDDFA️", "⚙️"]
1204
- }
1205
- },
1206
- {
1207
- stage: LifecycleStage.ExpansionPlatform,
1208
- focusAreas: ["Partners", "APIs", "Expansion bets"],
1209
- actions: [
1210
- {
1211
- id: "stage5-partner-brief",
1212
- stage: LifecycleStage.ExpansionPlatform,
1213
- title: "Partner readiness brief",
1214
- description: "Document partner types, value props, and onboarding steps.",
1215
- priority: 1,
1216
- estimatedImpact: "high",
1217
- effortLevel: "m",
1218
- category: "product",
1219
- recommendedLibraries: ["@contractspec/lib.workflow-composer"]
1220
- },
1221
- {
1222
- id: "stage5-experiment-portfolio",
1223
- stage: LifecycleStage.ExpansionPlatform,
1224
- title: "Expansion experiment portfolio",
1225
- description: "List the top 3 markets or product lines with owners.",
1226
- priority: 2,
1227
- estimatedImpact: "medium",
1228
- effortLevel: "m",
1229
- category: "growth"
1230
- }
1231
- ],
1232
- ceremony: {
1233
- title: "Platform Threshold",
1234
- copy: "Host a partner circle—invite allies to share what they need from your platform.",
1235
- cues: ["\uD83E\uDD1D", "\uD83C\uDF10"]
1236
- }
1237
- },
1238
- {
1239
- stage: LifecycleStage.MaturityRenewal,
1240
- focusAreas: ["Optimization", "Renewal", "Portfolio"],
1241
- actions: [
1242
- {
1243
- id: "stage6-cost-review",
1244
- stage: LifecycleStage.MaturityRenewal,
1245
- title: "Run a cost-to-value review",
1246
- description: "Audit each major surface for margin impact.",
1247
- priority: 1,
1248
- estimatedImpact: "high",
1249
- effortLevel: "m",
1250
- category: "operations",
1251
- recommendedLibraries: ["@contractspec/lib.cost-tracking"]
1252
- },
1253
- {
1254
- id: "stage6-renewal-bet",
1255
- stage: LifecycleStage.MaturityRenewal,
1256
- title: "Define the renewal bet",
1257
- description: "Choose one reinvention or sunset track and set checkpoints.",
1258
- priority: 2,
1259
- estimatedImpact: "medium",
1260
- effortLevel: "m",
1261
- category: "product"
1262
- }
1263
- ],
1264
- ceremony: {
1265
- title: "Renewal Summit",
1266
- copy: "Pause to honor what got you here, then commit publicly to the next reinvention.",
1267
- cues: ["\uD83C\uDFD4️", "\uD83D\uDD01"]
1268
- }
1269
- }
1270
- ];
1271
- var stagePlaybooks = staticPlaybooks;
1272
- var stage_playbooks_default = stagePlaybooks;
1273
-
1274
- // src/ceremony/ceremony-designer.ts
1275
- var CEREMONY_MAP = new Map(stage_playbooks_default.map((entry) => [
1276
- entry.stage,
1277
- entry.ceremony
1278
- ]));
1279
-
1280
- class LifecycleCeremonyDesigner {
1281
- ceremonies;
1282
- constructor(overrides) {
1283
- this.ceremonies = overrides?.length ? new Map(overrides.map((entry) => [entry.stage, entry.ceremony])) : CEREMONY_MAP;
1284
- }
1285
- design(stage, locale) {
1286
- if (locale) {
1287
- const localized = getLocalizedStagePlaybooks(locale);
1288
- const entry = localized.find((p) => p.stage === stage);
1289
- return entry?.ceremony;
1290
- }
1291
- return this.ceremonies.get(stage);
1292
- }
1293
- }
1294
- // src/data/library-stage-map.ts
1295
- function getLocalizedLibraryStageMap(locale) {
1296
- const i18n = createLifecycleAdvisorI18n(locale);
1297
- return staticLibraryStageMap.map((entry, stageIdx) => ({
1298
- ...entry,
1299
- items: entry.items.map((item, itemIdx) => ({
1300
- ...item,
1301
- description: i18n.t(`library.stage${stageIdx}.item${itemIdx}`)
1302
- }))
1303
- }));
1304
- }
1305
- var staticLibraryStageMap = [
1306
- {
1307
- stage: 0,
1308
- items: [
1309
- {
1310
- id: "@contractspec/lib.content-gen",
1311
- type: "library",
1312
- description: "Summarize interviews and synthesize IC insights."
1313
- },
1314
- {
1315
- id: "@contractspec/lib.presentation-runtime",
1316
- type: "library",
1317
- description: "Craft low-fi storyboards without custom code."
1318
- }
1319
- ]
1320
- },
1321
- {
1322
- stage: 1,
1323
- items: [
1324
- {
1325
- id: "@contractspec/lib.progressive-delivery",
1326
- type: "library",
1327
- description: "Gate prototype features behind lightweight flags."
1328
- },
1329
- {
1330
- id: "@contractspec/module.lifecycle-core",
1331
- type: "module",
1332
- description: "Capture questionnaire signals for early scoring."
1333
- }
1334
- ]
1335
- },
1336
- {
1337
- stage: 2,
1338
- items: [
1339
- {
1340
- id: "@contractspec/lib.analytics",
1341
- type: "library",
1342
- description: "Instrument activation paths + cohorts."
1343
- },
1344
- {
1345
- id: "@contractspec/lib.observability",
1346
- type: "library",
1347
- description: "Collect minimum viable traces and metrics."
1348
- }
1349
- ]
1350
- },
1351
- {
1352
- stage: 3,
1353
- items: [
1354
- {
1355
- id: "@contractspec/lib.evolution",
1356
- type: "library",
1357
- description: "Auto-detect contract gaps and spec improvements."
1358
- },
1359
- {
1360
- id: "@contractspec/module.lifecycle-advisor",
1361
- type: "module",
1362
- description: "Generate retention-focused guidance at scale."
1363
- }
1364
- ]
1365
- },
1366
- {
1367
- stage: 4,
1368
- items: [
1369
- {
1370
- id: "@contractspec/lib.growth",
1371
- type: "library",
1372
- description: "Experiment orchestration with guardrails."
1373
- },
1374
- {
1375
- id: "@contractspec/lib.resilience",
1376
- type: "library",
1377
- description: "Stabilize infra and SLOs as teams split."
1378
- }
1379
- ]
1380
- },
1381
- {
1382
- stage: 5,
1383
- items: [
1384
- {
1385
- id: "@contractspec/lib.workflow-composer",
1386
- type: "library",
1387
- description: "Automate partner workflows and integrations."
1388
- },
1389
- {
1390
- id: "@contractspec/bundle.studio",
1391
- type: "bundle",
1392
- description: "Expose managed partner onboarding via Studio."
1393
- }
1394
- ]
1395
- },
1396
- {
1397
- stage: 6,
1398
- items: [
1399
- {
1400
- id: "@contractspec/lib.cost-tracking",
1401
- type: "library",
1402
- description: "Model margin scenarios and reinvestment bets."
1403
- },
1404
- {
1405
- id: "@contractspec/lib.workflow-composer",
1406
- type: "library",
1407
- description: "Standardize renewal rituals and automation."
1408
- }
1409
- ]
1410
- }
1411
- ];
1412
- var libraryStageMap = staticLibraryStageMap;
1413
- var library_stage_map_default = libraryStageMap;
1414
- // src/recommendations/library-recommender.ts
1415
- var LIBRARY_MAP = new Map(library_stage_map_default.map((entry) => [entry.stage, entry.items]));
1416
-
1417
- class ContractSpecLibraryRecommender {
1418
- mapping;
1419
- constructor(overrides) {
1420
- this.mapping = overrides?.length ? new Map(overrides.map((entry) => [entry.stage, entry.items])) : LIBRARY_MAP;
1421
- }
1422
- recommend(stage, limit = 4, locale) {
1423
- if (locale) {
1424
- const localized = getLocalizedLibraryStageMap(locale);
1425
- const entry = localized.find((e) => e.stage === stage);
1426
- return entry?.items.slice(0, limit) ?? [];
1427
- }
1428
- const items = this.mapping.get(stage);
1429
- if (!items?.length)
1430
- return [];
1431
- return items.slice(0, limit);
1432
- }
1433
- }
1434
- // src/recommendations/recommendation-engine.ts
1435
- import {
1436
- LIFECYCLE_STAGE_META
1437
- } from "@contractspec/lib.lifecycle";
1438
- var PLAYBOOK_MAP = new Map(stage_playbooks_default.map((entry) => [
1439
- entry.stage,
1440
- {
1441
- ...entry,
1442
- stage: entry.stage
1443
- }
1444
- ]));
1445
-
1446
- class LifecycleRecommendationEngine {
1447
- playbooks;
1448
- constructor(overrides) {
1449
- this.playbooks = overrides?.length ? new Map(overrides.map((entry) => [entry.stage, entry])) : PLAYBOOK_MAP;
1450
- }
1451
- generate(assessment, options = {}) {
1452
- const { locale, limit: rawLimit, upcomingMilestones } = options;
1453
- const limit = rawLimit ?? 3;
1454
- const entry = locale ? resolveLocalizedPlaybook(assessment.stage, locale) : this.playbooks.get(assessment.stage) ?? createFallbackPlaybook(assessment.stage);
1455
- const actions = (entry.actions ?? []).slice(0, limit);
1456
- const finalActions = actions.length > 0 ? actions : fallbackActions(assessment, limit, locale);
1457
- return {
1458
- assessmentId: assessment.generatedAt,
1459
- stage: assessment.stage,
1460
- actions: finalActions,
1461
- upcomingMilestones: upcomingMilestones ?? [],
1462
- ceremony: entry.ceremony
1463
- };
1464
- }
1465
- }
1466
- function resolveLocalizedPlaybook(stage, locale) {
1467
- const localized = getLocalizedStagePlaybooks(locale);
1468
- return localized.find((p) => p.stage === stage) ?? createFallbackPlaybook(stage, locale);
1469
- }
1470
- var createFallbackPlaybook = (stage, locale) => ({
1471
- stage,
1472
- actions: [],
1473
- focusAreas: locale ? getLocalizedStagePlaybooks(locale).find((p) => p.stage === stage)?.focusAreas ?? LIFECYCLE_STAGE_META[stage].focusAreas : LIFECYCLE_STAGE_META[stage].focusAreas
1474
- });
1475
- var fallbackActions = (assessment, limit, locale) => {
1476
- const i18n = locale ? createLifecycleAdvisorI18n(locale) : undefined;
1477
- return (assessment.focusAreas ?? LIFECYCLE_STAGE_META[assessment.stage].focusAreas).slice(0, limit).map((focus, index) => ({
1478
- id: `fallback-${assessment.stage}-${index}`,
1479
- stage: assessment.stage,
1480
- title: i18n ? i18n.t("engine.fallbackAction.title", { focus }) : `Advance ${focus}`,
1481
- description: i18n ? i18n.t("engine.fallbackAction.description", { focus }) : `Identify one task that will improve "${focus}" this week.`,
1482
- priority: index + 1,
1483
- estimatedImpact: "low",
1484
- effortLevel: "s",
1485
- category: "product"
1486
- }));
1487
- };
1488
- export {
1489
- getLocalizedStagePlaybooks,
1490
- getLocalizedLibraryStageMap,
1491
- LifecycleRecommendationEngine,
1492
- LifecycleCeremonyDesigner,
1493
- ContractSpecLibraryRecommender
1494
- };
1
+ import{LifecycleStage as H}from"@contractspec/lib.lifecycle";import{createI18nFactory as u}from"@contractspec/lib.contracts-spec/translations";import{defineTranslation as C}from"@contractspec/lib.contracts-spec/translations";var G=C({meta:{key:"lifecycle-advisor.messages",version:"1.0.0",domain:"lifecycle-advisor",description:"Playbook, ceremony, library, and engine strings for the lifecycle-advisor module",owners:["platform"],stability:"experimental"},locale:"en",fallback:"en",messages:{"playbook.stage0.focus.0":{value:"Discovery",description:"Stage 0 focus area: discovery research"},"playbook.stage0.focus.1":{value:"Problem clarity",description:"Stage 0 focus area: sharpening the problem definition"},"playbook.stage0.focus.2":{value:"Persona",description:"Stage 0 focus area: identifying the target persona"},"playbook.stage1.focus.0":{value:"Prototype",description:"Stage 1 focus area: building a prototype"},"playbook.stage1.focus.1":{value:"Feedback",description:"Stage 1 focus area: gathering user feedback"},"playbook.stage1.focus.2":{value:"Value proof",description:"Stage 1 focus area: proving the value proposition"},"playbook.stage2.focus.0":{value:"Activation",description:"Stage 2 focus area: user activation"},"playbook.stage2.focus.1":{value:"Telemetry",description:"Stage 2 focus area: usage telemetry"},"playbook.stage2.focus.2":{value:"Feedback",description:"Stage 2 focus area: continuous user feedback"},"playbook.stage3.focus.0":{value:"Retention",description:"Stage 3 focus area: user retention"},"playbook.stage3.focus.1":{value:"Reliability",description:"Stage 3 focus area: product reliability"},"playbook.stage3.focus.2":{value:"Story",description:"Stage 3 focus area: building the narrative"},"playbook.stage4.focus.0":{value:"Systems",description:"Stage 4 focus area: scalable systems"},"playbook.stage4.focus.1":{value:"Growth loops",description:"Stage 4 focus area: repeatable growth loops"},"playbook.stage4.focus.2":{value:"Specialization",description:"Stage 4 focus area: team specialization"},"playbook.stage5.focus.0":{value:"Partners",description:"Stage 5 focus area: partner ecosystem"},"playbook.stage5.focus.1":{value:"APIs",description:"Stage 5 focus area: platform APIs"},"playbook.stage5.focus.2":{value:"Expansion bets",description:"Stage 5 focus area: expansion experiments"},"playbook.stage6.focus.0":{value:"Optimization",description:"Stage 6 focus area: operational optimization"},"playbook.stage6.focus.1":{value:"Renewal",description:"Stage 6 focus area: product renewal"},"playbook.stage6.focus.2":{value:"Portfolio",description:"Stage 6 focus area: portfolio management"},"playbook.stage0.action0.title":{value:"Run a 5-day interview burst",description:"Action title for stage 0 interview sprint"},"playbook.stage0.action0.description":{value:"Schedule at least 5 back-to-back interviews and capture raw quotes.",description:"Action description for stage 0 interview sprint"},"playbook.stage0.action1.title":{value:"Write the problem story",description:"Action title for stage 0 problem narrative"},"playbook.stage0.action1.description":{value:"Summarize the pain in one paragraph you can repeat to partners.",description:"Action description for stage 0 problem narrative"},"playbook.stage1.action0.title":{value:"Prototype feedback loop",description:"Action title for stage 1 prototype iteration"},"playbook.stage1.action0.description":{value:"Ship a low-fidelity prototype and collect 3 rounds of reactions.",description:"Action description for stage 1 prototype iteration"},"playbook.stage1.action1.title":{value:"Capture referral signals",description:"Action title for stage 1 referral tracking"},"playbook.stage1.action1.description":{value:"Ask each tester who else should see the demo.",description:"Action description for stage 1 referral tracking"},"playbook.stage2.action0.title":{value:"Define activation checklist",description:"Action title for stage 2 activation definition"},"playbook.stage2.action0.description":{value:"Document the 3 steps users must finish to get value.",description:"Action description for stage 2 activation definition"},"playbook.stage2.action1.title":{value:"Weekly user sync",description:"Action title for stage 2 user communication"},"playbook.stage2.action1.description":{value:"Host a standing call with your 5 most active testers.",description:"Action description for stage 2 user communication"},"playbook.stage3.action0.title":{value:"Run a retention study",description:"Action title for stage 3 retention analysis"},"playbook.stage3.action0.description":{value:"Interview 3 retained users and publish their before/after metrics.",description:"Action description for stage 3 retention analysis"},"playbook.stage3.action1.title":{value:"Lightweight incident review",description:"Action title for stage 3 reliability review"},"playbook.stage3.action1.description":{value:"Review the last 2 reliability hiccups and capture fixes.",description:"Action description for stage 3 reliability review"},"playbook.stage4.action0.title":{value:"Codify a growth loop",description:"Action title for stage 4 growth loop setup"},"playbook.stage4.action0.description":{value:"Choose one loop (SEO, referrals, outbound) and document owners + inputs.",description:"Action description for stage 4 growth loop setup"},"playbook.stage4.action1.title":{value:"Create hiring map",description:"Action title for stage 4 hiring plan"},"playbook.stage4.action1.description":{value:"List specialized roles you need in the next 2 quarters.",description:"Action description for stage 4 hiring plan"},"playbook.stage5.action0.title":{value:"Partner readiness brief",description:"Action title for stage 5 partner preparation"},"playbook.stage5.action0.description":{value:"Document partner types, value props, and onboarding steps.",description:"Action description for stage 5 partner preparation"},"playbook.stage5.action1.title":{value:"Expansion experiment portfolio",description:"Action title for stage 5 expansion planning"},"playbook.stage5.action1.description":{value:"List the top 3 markets or product lines with owners.",description:"Action description for stage 5 expansion planning"},"playbook.stage6.action0.title":{value:"Run a cost-to-value review",description:"Action title for stage 6 margin audit"},"playbook.stage6.action0.description":{value:"Audit each major surface for margin impact.",description:"Action description for stage 6 margin audit"},"playbook.stage6.action1.title":{value:"Define the renewal bet",description:"Action title for stage 6 reinvention track"},"playbook.stage6.action1.description":{value:"Choose one reinvention or sunset track and set checkpoints.",description:"Action description for stage 6 reinvention track"},"ceremony.stage0.title":{value:"Discovery Spark",description:"Ceremony title for stage 0"},"ceremony.stage0.copy":{value:"Share the sharpest pain quote with your crew. Frame it, celebrate focus.",description:"Ceremony copy for stage 0"},"ceremony.stage1.title":{value:"Solution Resonance",description:"Ceremony title for stage 1"},"ceremony.stage1.copy":{value:"Record a short screen share telling the before/after story to your future self.",description:"Ceremony copy for stage 1"},"ceremony.stage2.title":{value:"Traction Toast",description:"Ceremony title for stage 2"},"ceremony.stage2.copy":{value:"Toast your first 20 real users—say their names, tell them why they matter.",description:"Ceremony copy for stage 2"},"ceremony.stage3.title":{value:"PMF Signal Fire",description:"Ceremony title for stage 3"},"ceremony.stage3.copy":{value:"Write a letter to your future Series A self describing the pull you feel today.",description:"Ceremony copy for stage 3"},"ceremony.stage4.title":{value:"Scale Systems",description:"Ceremony title for stage 4"},"ceremony.stage4.copy":{value:"Invite the team to map the journey from first user to repeatable machine.",description:"Ceremony copy for stage 4"},"ceremony.stage5.title":{value:"Platform Threshold",description:"Ceremony title for stage 5"},"ceremony.stage5.copy":{value:"Host a partner circle—invite allies to share what they need from your platform.",description:"Ceremony copy for stage 5"},"ceremony.stage6.title":{value:"Renewal Summit",description:"Ceremony title for stage 6"},"ceremony.stage6.copy":{value:"Pause to honor what got you here, then commit publicly to the next reinvention.",description:"Ceremony copy for stage 6"},"library.stage0.item0":{value:"Summarize interviews and synthesize IC insights.",description:"Library tool description for stage 0 item 0"},"library.stage0.item1":{value:"Craft low-fi storyboards without custom code.",description:"Library tool description for stage 0 item 1"},"library.stage1.item0":{value:"Gate prototype features behind lightweight flags.",description:"Library tool description for stage 1 item 0"},"library.stage1.item1":{value:"Capture questionnaire signals for early scoring.",description:"Library tool description for stage 1 item 1"},"library.stage2.item0":{value:"Instrument activation paths + cohorts.",description:"Library tool description for stage 2 item 0"},"library.stage2.item1":{value:"Collect minimum viable traces and metrics.",description:"Library tool description for stage 2 item 1"},"library.stage3.item0":{value:"Auto-detect contract gaps and spec improvements.",description:"Library tool description for stage 3 item 0"},"library.stage3.item1":{value:"Generate retention-focused guidance at scale.",description:"Library tool description for stage 3 item 1"},"library.stage4.item0":{value:"Experiment orchestration with guardrails.",description:"Library tool description for stage 4 item 0"},"library.stage4.item1":{value:"Stabilize infra and SLOs as teams split.",description:"Library tool description for stage 4 item 1"},"library.stage5.item0":{value:"Automate partner workflows and integrations.",description:"Library tool description for stage 5 item 0"},"library.stage5.item1":{value:"Expose managed partner onboarding via Studio.",description:"Library tool description for stage 5 item 1"},"library.stage6.item0":{value:"Model margin scenarios and reinvestment bets.",description:"Library tool description for stage 6 item 0"},"library.stage6.item1":{value:"Standardize renewal rituals and automation.",description:"Library tool description for stage 6 item 1"},"engine.fallbackAction.title":{value:"Advance {focus}",description:"Fallback action title when no specific action exists",placeholders:[{name:"focus",type:"string"}]},"engine.fallbackAction.description":{value:'Identify one task that will improve "{focus}" this week.',description:"Fallback action description when no specific action exists",placeholders:[{name:"focus",type:"string"}]}}});import{defineTranslation as T}from"@contractspec/lib.contracts-spec/translations";var O=T({meta:{key:"lifecycle-advisor.messages",version:"1.0.0",domain:"lifecycle-advisor",description:"Playbook, ceremony, library, and engine strings (Spanish)",owners:["platform"],stability:"experimental"},locale:"es",fallback:"en",messages:{"playbook.stage0.focus.0":{value:"Descubrimiento",description:"Stage 0 focus area: discovery research"},"playbook.stage0.focus.1":{value:"Claridad del problema",description:"Stage 0 focus area: sharpening the problem definition"},"playbook.stage0.focus.2":{value:"Persona",description:"Stage 0 focus area: identifying the target persona"},"playbook.stage1.focus.0":{value:"Prototipo",description:"Stage 1 focus area: building a prototype"},"playbook.stage1.focus.1":{value:"Retroalimentación",description:"Stage 1 focus area: gathering user feedback"},"playbook.stage1.focus.2":{value:"Prueba de valor",description:"Stage 1 focus area: proving the value proposition"},"playbook.stage2.focus.0":{value:"Activación",description:"Stage 2 focus area: user activation"},"playbook.stage2.focus.1":{value:"Telemetría",description:"Stage 2 focus area: usage telemetry"},"playbook.stage2.focus.2":{value:"Retroalimentación",description:"Stage 2 focus area: continuous user feedback"},"playbook.stage3.focus.0":{value:"Retención",description:"Stage 3 focus area: user retention"},"playbook.stage3.focus.1":{value:"Fiabilidad",description:"Stage 3 focus area: product reliability"},"playbook.stage3.focus.2":{value:"Historia",description:"Stage 3 focus area: building the narrative"},"playbook.stage4.focus.0":{value:"Sistemas",description:"Stage 4 focus area: scalable systems"},"playbook.stage4.focus.1":{value:"Bucles de crecimiento",description:"Stage 4 focus area: repeatable growth loops"},"playbook.stage4.focus.2":{value:"Especialización",description:"Stage 4 focus area: team specialization"},"playbook.stage5.focus.0":{value:"Socios",description:"Stage 5 focus area: partner ecosystem"},"playbook.stage5.focus.1":{value:"APIs",description:"Stage 5 focus area: platform APIs"},"playbook.stage5.focus.2":{value:"Apuestas de expansión",description:"Stage 5 focus area: expansion experiments"},"playbook.stage6.focus.0":{value:"Optimización",description:"Stage 6 focus area: operational optimization"},"playbook.stage6.focus.1":{value:"Renovación",description:"Stage 6 focus area: product renewal"},"playbook.stage6.focus.2":{value:"Portafolio",description:"Stage 6 focus area: portfolio management"},"playbook.stage0.action0.title":{value:"Realizar un sprint de entrevistas de 5 días",description:"Action title for stage 0 interview sprint"},"playbook.stage0.action0.description":{value:"Programar al menos 5 entrevistas consecutivas y capturar citas sin editar.",description:"Action description for stage 0 interview sprint"},"playbook.stage0.action1.title":{value:"Redactar la historia del problema",description:"Action title for stage 0 problem narrative"},"playbook.stage0.action1.description":{value:"Resumir el dolor en un párrafo que puedas repetir a los socios.",description:"Action description for stage 0 problem narrative"},"playbook.stage1.action0.title":{value:"Ciclo de retroalimentación del prototipo",description:"Action title for stage 1 prototype iteration"},"playbook.stage1.action0.description":{value:"Entregar un prototipo de baja fidelidad y recopilar 3 rondas de reacciones.",description:"Action description for stage 1 prototype iteration"},"playbook.stage1.action1.title":{value:"Capturar señales de recomendación",description:"Action title for stage 1 referral tracking"},"playbook.stage1.action1.description":{value:"Preguntar a cada tester quién más debería ver la demo.",description:"Action description for stage 1 referral tracking"},"playbook.stage2.action0.title":{value:"Definir lista de verificación de activación",description:"Action title for stage 2 activation definition"},"playbook.stage2.action0.description":{value:"Documentar los 3 pasos que los usuarios deben completar para obtener valor.",description:"Action description for stage 2 activation definition"},"playbook.stage2.action1.title":{value:"Sincronización semanal con usuarios",description:"Action title for stage 2 user communication"},"playbook.stage2.action1.description":{value:"Organizar una llamada recurrente con tus 5 testers más activos.",description:"Action description for stage 2 user communication"},"playbook.stage3.action0.title":{value:"Realizar un estudio de retención",description:"Action title for stage 3 retention analysis"},"playbook.stage3.action0.description":{value:"Entrevistar a 3 usuarios retenidos y publicar sus métricas antes/después.",description:"Action description for stage 3 retention analysis"},"playbook.stage3.action1.title":{value:"Revisión ligera de incidentes",description:"Action title for stage 3 reliability review"},"playbook.stage3.action1.description":{value:"Revisar los últimos 2 problemas de fiabilidad y capturar las correcciones.",description:"Action description for stage 3 reliability review"},"playbook.stage4.action0.title":{value:"Codificar un bucle de crecimiento",description:"Action title for stage 4 growth loop setup"},"playbook.stage4.action0.description":{value:"Elegir un bucle (SEO, referencias, outbound) y documentar responsables + entradas.",description:"Action description for stage 4 growth loop setup"},"playbook.stage4.action1.title":{value:"Crear mapa de contratación",description:"Action title for stage 4 hiring plan"},"playbook.stage4.action1.description":{value:"Listar los roles especializados necesarios para los próximos 2 trimestres.",description:"Action description for stage 4 hiring plan"},"playbook.stage5.action0.title":{value:"Brief de preparación para socios",description:"Action title for stage 5 partner preparation"},"playbook.stage5.action0.description":{value:"Documentar tipos de socios, propuestas de valor y pasos de incorporación.",description:"Action description for stage 5 partner preparation"},"playbook.stage5.action1.title":{value:"Portafolio de experimentos de expansión",description:"Action title for stage 5 expansion planning"},"playbook.stage5.action1.description":{value:"Listar los 3 principales mercados o líneas de producto con responsables.",description:"Action description for stage 5 expansion planning"},"playbook.stage6.action0.title":{value:"Realizar una revisión costo-valor",description:"Action title for stage 6 margin audit"},"playbook.stage6.action0.description":{value:"Auditar cada superficie principal por impacto en márgenes.",description:"Action description for stage 6 margin audit"},"playbook.stage6.action1.title":{value:"Definir la apuesta de renovación",description:"Action title for stage 6 reinvention track"},"playbook.stage6.action1.description":{value:"Elegir una pista de reinvención o descontinuación y establecer puntos de control.",description:"Action description for stage 6 reinvention track"},"ceremony.stage0.title":{value:"Chispa de descubrimiento",description:"Ceremony title for stage 0"},"ceremony.stage0.copy":{value:"Comparte la cita de dolor más impactante con tu equipo. Enmárcala, celebra el enfoque.",description:"Ceremony copy for stage 0"},"ceremony.stage1.title":{value:"Resonancia de la solución",description:"Ceremony title for stage 1"},"ceremony.stage1.copy":{value:"Graba un breve screencast contando la historia antes/después a tu futuro yo.",description:"Ceremony copy for stage 1"},"ceremony.stage2.title":{value:"Brindis por la tracción",description:"Ceremony title for stage 2"},"ceremony.stage2.copy":{value:"Brinda por tus primeros 20 usuarios reales—di sus nombres, diles por qué importan.",description:"Ceremony copy for stage 2"},"ceremony.stage3.title":{value:"Señal de fuego PMF",description:"Ceremony title for stage 3"},"ceremony.stage3.copy":{value:"Escribe una carta a tu futuro yo de la Serie A describiendo la atracción que sientes hoy.",description:"Ceremony copy for stage 3"},"ceremony.stage4.title":{value:"Sistemas de escala",description:"Ceremony title for stage 4"},"ceremony.stage4.copy":{value:"Invita al equipo a mapear el viaje desde el primer usuario hasta la máquina repetible.",description:"Ceremony copy for stage 4"},"ceremony.stage5.title":{value:"Umbral de la plataforma",description:"Ceremony title for stage 5"},"ceremony.stage5.copy":{value:"Organiza un círculo de socios—invita a los aliados a compartir lo que necesitan de tu plataforma.",description:"Ceremony copy for stage 5"},"ceremony.stage6.title":{value:"Cumbre de renovación",description:"Ceremony title for stage 6"},"ceremony.stage6.copy":{value:"Haz una pausa para honrar lo que te trajo aquí, luego comprómetete públicamente con la próxima reinvención.",description:"Ceremony copy for stage 6"},"library.stage0.item0":{value:"Resumir entrevistas y sintetizar insights de IC.",description:"Library tool description for stage 0 item 0"},"library.stage0.item1":{value:"Crear storyboards de baja fidelidad sin código personalizado.",description:"Library tool description for stage 0 item 1"},"library.stage1.item0":{value:"Controlar funcionalidades del prototipo detrás de flags ligeros.",description:"Library tool description for stage 1 item 0"},"library.stage1.item1":{value:"Capturar señales de cuestionario para scoring temprano.",description:"Library tool description for stage 1 item 1"},"library.stage2.item0":{value:"Instrumentar rutas de activación + cohortes.",description:"Library tool description for stage 2 item 0"},"library.stage2.item1":{value:"Recopilar trazas y métricas mínimas viables.",description:"Library tool description for stage 2 item 1"},"library.stage3.item0":{value:"Detectar automáticamente brechas de contrato y mejoras de spec.",description:"Library tool description for stage 3 item 0"},"library.stage3.item1":{value:"Generar orientación enfocada en retención a escala.",description:"Library tool description for stage 3 item 1"},"library.stage4.item0":{value:"Orquestación de experimentos con barandillas.",description:"Library tool description for stage 4 item 0"},"library.stage4.item1":{value:"Estabilizar infraestructura y SLOs a medida que los equipos se dividen.",description:"Library tool description for stage 4 item 1"},"library.stage5.item0":{value:"Automatizar flujos de trabajo de socios e integraciones.",description:"Library tool description for stage 5 item 0"},"library.stage5.item1":{value:"Exponer incorporación de socios gestionada vía Studio.",description:"Library tool description for stage 5 item 1"},"library.stage6.item0":{value:"Modelar escenarios de margen y apuestas de reinversión.",description:"Library tool description for stage 6 item 0"},"library.stage6.item1":{value:"Estandarizar rituales de renovación y automatización.",description:"Library tool description for stage 6 item 1"},"engine.fallbackAction.title":{value:"Avanzar en {focus}",description:"Fallback action title when no specific action exists",placeholders:[{name:"focus",type:"string"}]},"engine.fallbackAction.description":{value:'Identificar una tarea que mejore "{focus}" esta semana.',description:"Fallback action description when no specific action exists",placeholders:[{name:"focus",type:"string"}]}}});import{defineTranslation as _}from"@contractspec/lib.contracts-spec/translations";var h=_({meta:{key:"lifecycle-advisor.messages",version:"1.0.0",domain:"lifecycle-advisor",description:"Playbook, ceremony, library, and engine strings (French)",owners:["platform"],stability:"experimental"},locale:"fr",fallback:"en",messages:{"playbook.stage0.focus.0":{value:"Découverte",description:"Stage 0 focus area: Discovery"},"playbook.stage0.focus.1":{value:"Clarté du problème",description:"Stage 0 focus area: Problem clarity"},"playbook.stage0.focus.2":{value:"Persona",description:"Stage 0 focus area: Persona"},"playbook.stage1.focus.0":{value:"Prototype",description:"Stage 1 focus area: Prototype"},"playbook.stage1.focus.1":{value:"Retours",description:"Stage 1 focus area: Feedback"},"playbook.stage1.focus.2":{value:"Preuve de valeur",description:"Stage 1 focus area: Value proof"},"playbook.stage2.focus.0":{value:"Activation",description:"Stage 2 focus area: Activation"},"playbook.stage2.focus.1":{value:"Télémétrie",description:"Stage 2 focus area: Telemetry"},"playbook.stage2.focus.2":{value:"Retours",description:"Stage 2 focus area: Feedback"},"playbook.stage3.focus.0":{value:"Rétention",description:"Stage 3 focus area: Retention"},"playbook.stage3.focus.1":{value:"Fiabilité",description:"Stage 3 focus area: Reliability"},"playbook.stage3.focus.2":{value:"Récit",description:"Stage 3 focus area: Story"},"playbook.stage4.focus.0":{value:"Systèmes",description:"Stage 4 focus area: Systems"},"playbook.stage4.focus.1":{value:"Boucles de croissance",description:"Stage 4 focus area: Growth loops"},"playbook.stage4.focus.2":{value:"Spécialisation",description:"Stage 4 focus area: Specialization"},"playbook.stage5.focus.0":{value:"Partenaires",description:"Stage 5 focus area: Partners"},"playbook.stage5.focus.1":{value:"APIs",description:"Stage 5 focus area: APIs"},"playbook.stage5.focus.2":{value:"Paris d'expansion",description:"Stage 5 focus area: Expansion bets"},"playbook.stage6.focus.0":{value:"Optimisation",description:"Stage 6 focus area: Optimization"},"playbook.stage6.focus.1":{value:"Renouvellement",description:"Stage 6 focus area: Renewal"},"playbook.stage6.focus.2":{value:"Portefeuille",description:"Stage 6 focus area: Portfolio"},"playbook.stage0.action0.title":{value:"Mener un sprint d'entretiens de 5 jours",description:"Stage 0 action 0 title"},"playbook.stage0.action0.description":{value:"Planifier au moins 5 entretiens consécutifs et capturer les citations brutes.",description:"Stage 0 action 0 description"},"playbook.stage0.action1.title":{value:"Rédiger l'histoire du problème",description:"Stage 0 action 1 title"},"playbook.stage0.action1.description":{value:"Résumer la douleur en un paragraphe que vous pouvez répéter aux partenaires.",description:"Stage 0 action 1 description"},"playbook.stage1.action0.title":{value:"Boucle de retours sur le prototype",description:"Stage 1 action 0 title"},"playbook.stage1.action0.description":{value:"Livrer un prototype basse fidélité et recueillir 3 tours de réactions.",description:"Stage 1 action 0 description"},"playbook.stage1.action1.title":{value:"Capturer les signaux de recommandation",description:"Stage 1 action 1 title"},"playbook.stage1.action1.description":{value:"Demander à chaque testeur qui d'autre devrait voir la démo.",description:"Stage 1 action 1 description"},"playbook.stage2.action0.title":{value:"Définir la checklist d'activation",description:"Stage 2 action 0 title"},"playbook.stage2.action0.description":{value:"Documenter les 3 étapes que les utilisateurs doivent terminer pour obtenir de la valeur.",description:"Stage 2 action 0 description"},"playbook.stage2.action1.title":{value:"Synchronisation hebdomadaire avec les utilisateurs",description:"Stage 2 action 1 title"},"playbook.stage2.action1.description":{value:"Organiser un appel récurrent avec vos 5 testeurs les plus actifs.",description:"Stage 2 action 1 description"},"playbook.stage3.action0.title":{value:"Mener une étude de rétention",description:"Stage 3 action 0 title"},"playbook.stage3.action0.description":{value:"Interviewer 3 utilisateurs retenus et publier leurs métriques avant/après.",description:"Stage 3 action 0 description"},"playbook.stage3.action1.title":{value:"Revue légère d'incidents",description:"Stage 3 action 1 title"},"playbook.stage3.action1.description":{value:"Examiner les 2 derniers incidents de fiabilité et capturer les correctifs.",description:"Stage 3 action 1 description"},"playbook.stage4.action0.title":{value:"Codifier une boucle de croissance",description:"Stage 4 action 0 title"},"playbook.stage4.action0.description":{value:"Choisir une boucle (SEO, recommandations, outbound) et documenter les responsables + entrées.",description:"Stage 4 action 0 description"},"playbook.stage4.action1.title":{value:"Créer la carte de recrutement",description:"Stage 4 action 1 title"},"playbook.stage4.action1.description":{value:"Lister les rôles spécialisés nécessaires pour les 2 prochains trimestres.",description:"Stage 4 action 1 description"},"playbook.stage5.action0.title":{value:"Brief de préparation partenaire",description:"Stage 5 action 0 title"},"playbook.stage5.action0.description":{value:"Documenter les types de partenaires, propositions de valeur et étapes d'intégration.",description:"Stage 5 action 0 description"},"playbook.stage5.action1.title":{value:"Portefeuille d'expériences d'expansion",description:"Stage 5 action 1 title"},"playbook.stage5.action1.description":{value:"Lister les 3 principaux marchés ou lignes de produits avec les responsables.",description:"Stage 5 action 1 description"},"playbook.stage6.action0.title":{value:"Mener une revue coût-valeur",description:"Stage 6 action 0 title"},"playbook.stage6.action0.description":{value:"Auditer chaque surface majeure pour l’impact sur les marges.",description:"Stage 6 action 0 description"},"playbook.stage6.action1.title":{value:"Définir le pari de renouvellement",description:"Stage 6 action 1 title"},"playbook.stage6.action1.description":{value:"Choisir une piste de réinvention ou d'arrêt et définir des points de contrôle.",description:"Stage 6 action 1 description"},"ceremony.stage0.title":{value:"Étincelle de découverte",description:"Stage 0 ceremony title"},"ceremony.stage0.copy":{value:"Partagez la citation la plus percutante avec votre équipe. Encadrez-la, célébrez le focus.",description:"Stage 0 ceremony copy"},"ceremony.stage1.title":{value:"Résonance de la solution",description:"Stage 1 ceremony title"},"ceremony.stage1.copy":{value:"Enregistrez un court partage d'écran racontant l'histoire avant/après à votre futur vous.",description:"Stage 1 ceremony copy"},"ceremony.stage2.title":{value:"Toast à la traction",description:"Stage 2 ceremony title"},"ceremony.stage2.copy":{value:"Portez un toast à vos 20 premiers vrais utilisateurs — dites leurs noms, dites-leur pourquoi ils comptent.",description:"Stage 2 ceremony copy"},"ceremony.stage3.title":{value:"Signal PMF",description:"Stage 3 ceremony title"},"ceremony.stage3.copy":{value:"Écrivez une lettre à votre futur vous de la Série A décrivant l'attraction que vous ressentez aujourd'hui.",description:"Stage 3 ceremony copy"},"ceremony.stage4.title":{value:"Systèmes d'échelle",description:"Stage 4 ceremony title"},"ceremony.stage4.copy":{value:"Invitez l'équipe à cartographier le parcours du premier utilisateur à la machine répétable.",description:"Stage 4 ceremony copy"},"ceremony.stage5.title":{value:"Seuil de la plateforme",description:"Stage 5 ceremony title"},"ceremony.stage5.copy":{value:"Organisez un cercle de partenaires — invitez les alliés à partager ce dont ils ont besoin de votre plateforme.",description:"Stage 5 ceremony copy"},"ceremony.stage6.title":{value:"Sommet du renouvellement",description:"Stage 6 ceremony title"},"ceremony.stage6.copy":{value:"Faites une pause pour honorer ce qui vous a amené ici, puis engagez-vous publiquement pour la prochaine réinvention.",description:"Stage 6 ceremony copy"},"library.stage0.item0":{value:"Résumer les entretiens et synthétiser les insights IC.",description:"Stage 0 library item 0"},"library.stage0.item1":{value:"Créer des storyboards basse fidélité sans code personnalisé.",description:"Stage 0 library item 1"},"library.stage1.item0":{value:"Contrôler les fonctionnalités prototype derrière des flags légers.",description:"Stage 1 library item 0"},"library.stage1.item1":{value:"Capturer les signaux de questionnaire pour un scoring précoce.",description:"Stage 1 library item 1"},"library.stage2.item0":{value:"Instrumenter les parcours d'activation + cohortes.",description:"Stage 2 library item 0"},"library.stage2.item1":{value:"Collecter les traces et métriques minimales viables.",description:"Stage 2 library item 1"},"library.stage3.item0":{value:"Détecter automatiquement les lacunes de contrat et améliorations de spec.",description:"Stage 3 library item 0"},"library.stage3.item1":{value:"Générer des conseils axés sur la rétention à grande échelle.",description:"Stage 3 library item 1"},"library.stage4.item0":{value:"Orchestration d'expériences avec garde-fous.",description:"Stage 4 library item 0"},"library.stage4.item1":{value:"Stabiliser l’infra et les SLOs au fur et à mesure que les équipes se divisent.",description:"Stage 4 library item 1"},"library.stage5.item0":{value:"Automatiser les workflows partenaires et intégrations.",description:"Stage 5 library item 0"},"library.stage5.item1":{value:"Exposer l'intégration partenaire gérée via Studio.",description:"Stage 5 library item 1"},"library.stage6.item0":{value:"Modéliser les scénarios de marge et paris de réinvestissement.",description:"Stage 6 library item 0"},"library.stage6.item1":{value:"Standardiser les rituels de renouvellement et l'automatisation.",description:"Stage 6 library item 1"},"engine.fallbackAction.title":{value:"Avancer sur {focus}",description:"Fallback action title with focus placeholder"},"engine.fallbackAction.description":{value:"Identifier une tâche qui améliorera « {focus} » cette semaine.",description:"Fallback action description with focus placeholder"}}});var K=u({specKey:"lifecycle-advisor.messages",catalogs:[G,h,O]}),V=K.create,l=K.getDefault,o=K.resetRegistry;function X(j){let q=V(j);return B.map((D,J)=>({...D,focusAreas:D.focusAreas.map((Q,U)=>q.t(`playbook.stage${J}.focus.${U}`)),actions:D.actions.map((Q,U)=>({...Q,title:q.t(`playbook.stage${J}.action${U}.title`),description:q.t(`playbook.stage${J}.action${U}.description`)})),ceremony:D.ceremony?{...D.ceremony,title:q.t(`ceremony.stage${J}.title`),copy:q.t(`ceremony.stage${J}.copy`)}:void 0}))}var B=[{stage:H.Exploration,focusAreas:["Discovery","Problem clarity","Persona"],actions:[{id:"stage0-interview-burst",stage:H.Exploration,title:"Run a 5-day interview burst",description:"Schedule at least 5 back-to-back interviews and capture raw quotes.",priority:1,estimatedImpact:"medium",effortLevel:"m",category:"product",recommendedLibraries:["@contractspec/lib.content-gen"]},{id:"stage0-problem-story",stage:H.Exploration,title:"Write the problem story",description:"Summarize the pain in one paragraph you can repeat to partners.",priority:2,estimatedImpact:"low",effortLevel:"s",category:"product"}],ceremony:{title:"Discovery Spark",copy:"Share the sharpest pain quote with your crew. Frame it, celebrate focus.",cues:["\uD83D\uDD0E","\uD83D\uDDD2️"]}},{stage:H.ProblemSolutionFit,focusAreas:["Prototype","Feedback","Value proof"],actions:[{id:"stage1-demo-loop",stage:H.ProblemSolutionFit,title:"Prototype feedback loop",description:"Ship a low-fidelity prototype and collect 3 rounds of reactions.",priority:1,estimatedImpact:"medium",effortLevel:"m",category:"product",recommendedLibraries:["@contractspec/lib.progressive-delivery"]},{id:"stage1-referrals",stage:H.ProblemSolutionFit,title:"Capture referral signals",description:"Ask each tester who else should see the demo.",priority:2,estimatedImpact:"low",effortLevel:"s",category:"growth"}],ceremony:{title:"Solution Resonance",copy:"Record a short screen share telling the before/after story to your future self.",cues:["\uD83C\uDFA4","✨"]}},{stage:H.MvpEarlyTraction,focusAreas:["Activation","Telemetry","Feedback"],actions:[{id:"stage2-activation",stage:H.MvpEarlyTraction,title:"Define activation checklist",description:"Document the 3 steps users must finish to get value.",priority:1,estimatedImpact:"high",effortLevel:"m",category:"operations",recommendedLibraries:["@contractspec/lib.analytics","@contractspec/lib.observability"]},{id:"stage2-weekly-sync",stage:H.MvpEarlyTraction,title:"Weekly user sync",description:"Host a standing call with your 5 most active testers.",priority:2,estimatedImpact:"medium",effortLevel:"m",category:"company"}],ceremony:{title:"Traction Toast",copy:"Toast your first 20 real users—say their names, tell them why they matter.",cues:["\uD83E\uDD42","\uD83D\uDCE3"]}},{stage:H.ProductMarketFit,focusAreas:["Retention","Reliability","Story"],actions:[{id:"stage3-retention-study",stage:H.ProductMarketFit,title:"Run a retention study",description:"Interview 3 retained users and publish their before/after metrics.",priority:1,estimatedImpact:"high",effortLevel:"m",category:"product",recommendedLibraries:["@contractspec/lib.evolution"]},{id:"stage3-incident-review",stage:H.ProductMarketFit,title:"Lightweight incident review",description:"Review the last 2 reliability hiccups and capture fixes.",priority:2,estimatedImpact:"medium",effortLevel:"s",category:"operations"}],ceremony:{title:"PMF Signal Fire",copy:"Write a letter to your future Series A self describing the pull you feel today.",cues:["\uD83D\uDD25","\uD83D\uDCEC"]}},{stage:H.GrowthScaleUp,focusAreas:["Systems","Growth loops","Specialization"],actions:[{id:"stage4-growth-loop",stage:H.GrowthScaleUp,title:"Codify a growth loop",description:"Choose one loop (SEO, referrals, outbound) and document owners + inputs.",priority:1,estimatedImpact:"high",effortLevel:"l",category:"growth",recommendedLibraries:["@contractspec/lib.growth","@contractspec/lib.resilience"]},{id:"stage4-hiring-map",stage:H.GrowthScaleUp,title:"Create hiring map",description:"List specialized roles you need in the next 2 quarters.",priority:2,estimatedImpact:"medium",effortLevel:"m",category:"company"}],ceremony:{title:"Scale Systems",copy:"Invite the team to map the journey from first user to repeatable machine.",cues:["\uD83D\uDDFA️","⚙️"]}},{stage:H.ExpansionPlatform,focusAreas:["Partners","APIs","Expansion bets"],actions:[{id:"stage5-partner-brief",stage:H.ExpansionPlatform,title:"Partner readiness brief",description:"Document partner types, value props, and onboarding steps.",priority:1,estimatedImpact:"high",effortLevel:"m",category:"product",recommendedLibraries:["@contractspec/lib.workflow-composer"]},{id:"stage5-experiment-portfolio",stage:H.ExpansionPlatform,title:"Expansion experiment portfolio",description:"List the top 3 markets or product lines with owners.",priority:2,estimatedImpact:"medium",effortLevel:"m",category:"growth"}],ceremony:{title:"Platform Threshold",copy:"Host a partner circle—invite allies to share what they need from your platform.",cues:["\uD83E\uDD1D","\uD83C\uDF10"]}},{stage:H.MaturityRenewal,focusAreas:["Optimization","Renewal","Portfolio"],actions:[{id:"stage6-cost-review",stage:H.MaturityRenewal,title:"Run a cost-to-value review",description:"Audit each major surface for margin impact.",priority:1,estimatedImpact:"high",effortLevel:"m",category:"operations",recommendedLibraries:["@contractspec/lib.cost-tracking"]},{id:"stage6-renewal-bet",stage:H.MaturityRenewal,title:"Define the renewal bet",description:"Choose one reinvention or sunset track and set checkpoints.",priority:2,estimatedImpact:"medium",effortLevel:"m",category:"product"}],ceremony:{title:"Renewal Summit",copy:"Pause to honor what got you here, then commit publicly to the next reinvention.",cues:["\uD83C\uDFD4️","\uD83D\uDD01"]}}],P=B,$=P;var A=new Map($.map((j)=>[j.stage,j.ceremony]));class E{ceremonies;constructor(j){this.ceremonies=j?.length?new Map(j.map((q)=>[q.stage,q.ceremony])):A}design(j,q){if(q)return X(q).find((Q)=>Q.stage===j)?.ceremony;return this.ceremonies.get(j)}}function N(j){let q=V(j);return z.map((D,J)=>({...D,items:D.items.map((Q,U)=>({...Q,description:q.t(`library.stage${J}.item${U}`)}))}))}var z=[{stage:0,items:[{id:"@contractspec/lib.content-gen",type:"library",description:"Summarize interviews and synthesize IC insights."},{id:"@contractspec/lib.presentation-runtime",type:"library",description:"Craft low-fi storyboards without custom code."}]},{stage:1,items:[{id:"@contractspec/lib.progressive-delivery",type:"library",description:"Gate prototype features behind lightweight flags."},{id:"@contractspec/module.lifecycle-core",type:"module",description:"Capture questionnaire signals for early scoring."}]},{stage:2,items:[{id:"@contractspec/lib.analytics",type:"library",description:"Instrument activation paths + cohorts."},{id:"@contractspec/lib.observability",type:"library",description:"Collect minimum viable traces and metrics."}]},{stage:3,items:[{id:"@contractspec/lib.evolution",type:"library",description:"Auto-detect contract gaps and spec improvements."},{id:"@contractspec/module.lifecycle-advisor",type:"module",description:"Generate retention-focused guidance at scale."}]},{stage:4,items:[{id:"@contractspec/lib.growth",type:"library",description:"Experiment orchestration with guardrails."},{id:"@contractspec/lib.resilience",type:"library",description:"Stabilize infra and SLOs as teams split."}]},{stage:5,items:[{id:"@contractspec/lib.workflow-composer",type:"library",description:"Automate partner workflows and integrations."},{id:"@contractspec/bundle.studio",type:"bundle",description:"Expose managed partner onboarding via Studio."}]},{stage:6,items:[{id:"@contractspec/lib.cost-tracking",type:"library",description:"Model margin scenarios and reinvestment bets."},{id:"@contractspec/lib.workflow-composer",type:"library",description:"Standardize renewal rituals and automation."}]}],M=z,R=M;var v=new Map(R.map((j)=>[j.stage,j.items]));class x{mapping;constructor(j){this.mapping=j?.length?new Map(j.map((q)=>[q.stage,q.items])):v}recommend(j,q=4,D){if(D)return N(D).find((Z)=>Z.stage===j)?.items.slice(0,q)??[];let J=this.mapping.get(j);if(!J?.length)return[];return J.slice(0,q)}}import{LIFECYCLE_STAGE_META as W}from"@contractspec/lib.lifecycle";var k=new Map($.map((j)=>[j.stage,{...j,stage:j.stage}]));class I{playbooks;constructor(j){this.playbooks=j?.length?new Map(j.map((q)=>[q.stage,q])):k}generate(j,q={}){let{locale:D,limit:J,upcomingMilestones:Q}=q,U=J??3,Z=D?S(j.stage,D):this.playbooks.get(j.stage)??F(j.stage),w=(Z.actions??[]).slice(0,U),Y=w.length>0?w:L(j,U,D);return{assessmentId:j.generatedAt,stage:j.stage,actions:Y,upcomingMilestones:Q??[],ceremony:Z.ceremony}}}function S(j,q){return X(q).find((J)=>J.stage===j)??F(j,q)}var F=(j,q)=>({stage:j,actions:[],focusAreas:q?X(q).find((D)=>D.stage===j)?.focusAreas??W[j].focusAreas:W[j].focusAreas}),L=(j,q,D)=>{let J=D?V(D):void 0;return(j.focusAreas??W[j.stage].focusAreas).slice(0,q).map((Q,U)=>({id:`fallback-${j.stage}-${U}`,stage:j.stage,title:J?J.t("engine.fallbackAction.title",{focus:Q}):`Advance ${Q}`,description:J?J.t("engine.fallbackAction.description",{focus:Q}):`Identify one task that will improve "${Q}" this week.`,priority:U+1,estimatedImpact:"low",effortLevel:"s",category:"product"}))};export{X as getLocalizedStagePlaybooks,N as getLocalizedLibraryStageMap,I as LifecycleRecommendationEngine,E as LifecycleCeremonyDesigner,x as ContractSpecLibraryRecommender};