create-byan-agent 2.60.0 → 2.60.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/README.md +10 -0
  3. package/install/bin/byan-communication.cjs +11 -0
  4. package/install/lib/communication-manifest.json +243 -0
  5. package/install/lib/communication-migration.cjs +91 -0
  6. package/install/lib/communication-previous.json +181 -0
  7. package/install/lib/gitignore.js +135 -0
  8. package/install/lib/install-engine.js +17 -1
  9. package/install/lib/ownership.js +24 -5
  10. package/install/package.json +1 -1
  11. package/install/templates/.claude/agents/bmad-byan.md +13 -26
  12. package/install/templates/.claude/agents/bmad-tao.md +47 -0
  13. package/install/templates/.claude/hooks/auto-dispatch-gate.js +81 -0
  14. package/install/templates/.claude/hooks/inject-tao.js +15 -71
  15. package/install/templates/.claude/hooks/inject-voice-anchor.js +21 -154
  16. package/install/templates/.claude/hooks/lib/dispatch-approval.cjs +135 -0
  17. package/install/templates/.claude/hooks/lib/dispatch-plan-format.js +293 -0
  18. package/install/templates/.claude/hooks/lib/plain-language.js +7 -14
  19. package/install/templates/.claude/hooks/lib/rtk-coverage.js +31 -0
  20. package/install/templates/.claude/hooks/lib/tool-log.js +143 -0
  21. package/install/templates/.claude/hooks/lib/voice-conformance.js +9 -32
  22. package/install/templates/.claude/hooks/lib/webfetch-output.js +37 -0
  23. package/install/templates/.claude/hooks/rtk-coverage.js +18 -0
  24. package/install/templates/.claude/hooks/tool-failure-guard.js +16 -9
  25. package/install/templates/.claude/hooks/webfetch-output.js +17 -0
  26. package/install/templates/.claude/rules/native-workflows.md +24 -5
  27. package/install/templates/.claude/rules/plain-language.md +7 -86
  28. package/install/templates/.claude/settings.json +56 -0
  29. package/install/templates/.claude/skills/byan-byan/SKILL.md +42 -83
  30. package/install/templates/.claude/skills/byan-hermes-dispatch/SKILL.md +22 -7
  31. package/install/templates/.claude/workflows/byan-auto-dispatch.js +86 -38
  32. package/install/templates/.codex/skills/byan/SKILL.md +7 -0
  33. package/install/templates/AGENTS.md +106 -0
  34. package/install/templates/_byan/_config/communication-policy.json +50 -0
  35. package/install/templates/_byan/_config/workflow-manifest.csv +2 -0
  36. package/install/templates/_byan/agent/byan/byan-soul.md +14 -2
  37. package/install/templates/_byan/agent/byan/byan-tao.md +35 -274
  38. package/install/templates/_byan/agent/byan/byan.md +6 -2
  39. package/install/templates/_byan/agent/byan/soul.md +419 -0
  40. package/install/templates/_byan/agent/byan/tao.md +60 -0
  41. package/install/templates/_byan/agent/tao/tao.md +26 -27
  42. package/install/templates/_byan/connaissance/mantras-sources.md +295 -0
  43. package/install/templates/_byan/core/activation/soul-activation.md +6 -5
  44. package/install/templates/_byan/core/communication.cjs +76 -0
  45. package/install/templates/_byan/mcp/byan-mcp-server/lib/agent-matcher.js +38 -1
  46. package/install/templates/_byan/mcp/byan-mcp-server/lib/communication.cjs +77 -0
  47. package/install/templates/_byan/mcp/byan-mcp-server/lib/dispatch-router.js +12 -3
  48. package/install/templates/_byan/mcp/byan-mcp-server/lib/dispatch.js +51 -20
  49. package/install/templates/_byan/mcp/byan-mcp-server/lib/fd-ack.js +75 -0
  50. package/install/templates/_byan/mcp/byan-mcp-server/lib/leantime-fd-core.js +12 -1
  51. package/install/templates/_byan/mcp/byan-mcp-server/lib/native-tiers.js +114 -2
  52. package/install/templates/_byan/mcp/byan-mcp-server/lib/routing-ledger.js +356 -0
  53. package/install/templates/_byan/mcp/byan-mcp-server/lib/soul.js +9 -0
  54. package/install/templates/_byan/mcp/byan-mcp-server/server.js +24 -6
  55. package/install/templates/_byan/mcp/byan-mcp-server/skill-bundles-manifest.json +2 -2
  56. package/install/templates/_byan/workflow/simple/byan/data/mantras.yaml +2 -5
  57. package/install/templates/_byan/workflow/simple/byan/templates/tao-template.md +56 -0
  58. package/install/templates/docs/auto-dispatch.md +76 -0
  59. package/install/templates/docs/communication.md +69 -0
  60. package/install/templates/docs/native-workflows-contract.md +33 -11
  61. package/install/templates/docs/tool-output-cost.md +88 -0
  62. package/install/templates/scripts/communication-eval.cjs +192 -0
  63. package/install/templates/scripts/rtk-coverage-report.js +30 -0
  64. package/install/templates/src/byan-v2/data/mantras.json +1058 -0
  65. package/install/templates/tests/communication/README.md +106 -0
  66. package/install/templates/tests/communication/incises.test.cjs +26 -0
  67. package/install/templates/tests/communication/scenarios.json +391 -0
  68. package/package.json +1 -1
  69. package/src/byan-v2/data/mantras.json +26 -6
@@ -0,0 +1,1058 @@
1
+ {
2
+ "mantras": [
3
+ {
4
+ "id": "M1",
5
+ "number": 1,
6
+ "category": "merise-agile",
7
+ "scope": "sdlc-process",
8
+ "title": "Un seul responsable",
9
+ "description": "Chaque user story a un seul responsable clairement identifie",
10
+ "validation": {
11
+ "type": "keyword",
12
+ "keywords": ["responsable", "owner", "assignee", "responsible"],
13
+ "required": true
14
+ },
15
+ "priority": "high"
16
+ },
17
+ {
18
+ "id": "M2",
19
+ "number": 2,
20
+ "category": "merise-agile",
21
+ "scope": "sdlc-process",
22
+ "title": "Chaque User Story = 1 acteur",
23
+ "description": "Une user story concerne un seul acteur principal",
24
+ "validation": {
25
+ "type": "keyword",
26
+ "keywords": ["acteur", "actor", "user", "role"],
27
+ "required": true
28
+ },
29
+ "priority": "high"
30
+ },
31
+ {
32
+ "id": "M3",
33
+ "number": 3,
34
+ "category": "merise-agile",
35
+ "scope": "sdlc-process",
36
+ "title": "1 US = 1 resultat mesurable",
37
+ "description": "Chaque user story produit un resultat mesurable et verifiable",
38
+ "validation": {
39
+ "type": "keyword",
40
+ "keywords": ["mesurable", "measurable", "verifiable", "metric"],
41
+ "required": true
42
+ },
43
+ "priority": "high"
44
+ },
45
+ {
46
+ "id": "M4",
47
+ "number": 4,
48
+ "category": "merise-agile",
49
+ "scope": "sdlc-process",
50
+ "title": "Tracabilite Epic → Story → Task",
51
+ "description": "Hierarchie claire et tracable depuis l'epic jusqu'aux tasks",
52
+ "validation": {
53
+ "type": "keyword",
54
+ "keywords": ["epic", "story", "task", "tracabilite", "traceability"],
55
+ "required": true
56
+ },
57
+ "priority": "high"
58
+ },
59
+ {
60
+ "id": "M5",
61
+ "number": 5,
62
+ "category": "merise-agile",
63
+ "scope": "sdlc-process",
64
+ "title": "Priorite = (Value × Urgence) / Effort",
65
+ "description": "Formule de priorisation basee sur valeur, urgence et effort",
66
+ "validation": {
67
+ "type": "keyword",
68
+ "keywords": ["priorite", "priority", "value", "urgence", "urgency", "effort"],
69
+ "required": false
70
+ },
71
+ "priority": "medium"
72
+ },
73
+ {
74
+ "id": "M6",
75
+ "number": 6,
76
+ "category": "merise-agile",
77
+ "scope": "sdlc-process",
78
+ "title": "Story complete = INVEST",
79
+ "description": "Les user stories suivent les criteres INVEST (Independent, Negotiable, Valuable, Estimable, Small, Testable)",
80
+ "validation": {
81
+ "type": "keyword",
82
+ "keywords": ["INVEST", "independent", "negotiable", "valuable", "estimable", "testable"],
83
+ "required": false
84
+ },
85
+ "priority": "medium"
86
+ },
87
+ {
88
+ "id": "M7",
89
+ "number": 7,
90
+ "category": "merise-agile",
91
+ "scope": "sdlc-test",
92
+ "title": "Acceptance Criteria = tests automatises",
93
+ "description": "Chaque critere d'acceptation se traduit en test automatise",
94
+ "validation": {
95
+ "type": "keyword",
96
+ "keywords": ["acceptance", "criteria", "test", "automatise", "automated"],
97
+ "required": true
98
+ },
99
+ "priority": "critical"
100
+ },
101
+ {
102
+ "id": "M8",
103
+ "number": 8,
104
+ "category": "merise-agile",
105
+ "scope": "sdlc-ops",
106
+ "title": "Code freeze avant release",
107
+ "description": "Gel du code avant chaque release pour stabilisation",
108
+ "validation": {
109
+ "type": "keyword",
110
+ "keywords": ["freeze", "release", "stabilisation"],
111
+ "required": false
112
+ },
113
+ "priority": "medium"
114
+ },
115
+ {
116
+ "id": "M9",
117
+ "number": 9,
118
+ "category": "merise-agile",
119
+ "scope": "sdlc-code",
120
+ "title": "One feature = One branch",
121
+ "description": "Chaque fonctionnalite est developpee dans sa propre branche",
122
+ "validation": {
123
+ "type": "keyword",
124
+ "keywords": ["branch", "feature", "git"],
125
+ "required": false
126
+ },
127
+ "priority": "medium"
128
+ },
129
+ {
130
+ "id": "M10",
131
+ "number": 10,
132
+ "category": "merise-agile",
133
+ "scope": "sdlc-code",
134
+ "title": "Commit message = type: description",
135
+ "description": "Format standardise des messages de commit",
136
+ "validation": {
137
+ "type": "keyword",
138
+ "keywords": ["commit", "message", "conventional"],
139
+ "required": false
140
+ },
141
+ "priority": "low"
142
+ },
143
+ {
144
+ "id": "M11",
145
+ "number": 11,
146
+ "category": "merise-agile",
147
+ "scope": "sdlc-test",
148
+ "title": "Tests avant merge",
149
+ "description": "Tous les tests doivent passer avant fusion",
150
+ "validation": {
151
+ "type": "keyword",
152
+ "keywords": ["test", "merge", "passing"],
153
+ "required": true
154
+ },
155
+ "priority": "critical"
156
+ },
157
+ {
158
+ "id": "M12",
159
+ "number": 12,
160
+ "category": "merise-agile",
161
+ "scope": "sdlc-code",
162
+ "title": "Revue systematique",
163
+ "description": "Code review obligatoire avant merge",
164
+ "validation": {
165
+ "type": "keyword",
166
+ "keywords": ["review", "revue", "peer"],
167
+ "required": false
168
+ },
169
+ "priority": "high"
170
+ },
171
+ {
172
+ "id": "M13",
173
+ "number": 13,
174
+ "category": "merise-agile",
175
+ "scope": "sdlc-code",
176
+ "title": "Documentation dans le code",
177
+ "description": "Documentation integree au code source",
178
+ "validation": {
179
+ "type": "keyword",
180
+ "keywords": ["documentation", "comment", "jsdoc"],
181
+ "required": false
182
+ },
183
+ "priority": "medium"
184
+ },
185
+ {
186
+ "id": "M14",
187
+ "number": 14,
188
+ "category": "merise-agile",
189
+ "scope": "sdlc-code",
190
+ "title": "README = point d'entree",
191
+ "description": "Le README est le point d'entree de la documentation",
192
+ "validation": {
193
+ "type": "keyword",
194
+ "keywords": ["README", "documentation", "getting started"],
195
+ "required": true
196
+ },
197
+ "priority": "high"
198
+ },
199
+ {
200
+ "id": "M15",
201
+ "number": 15,
202
+ "category": "merise-agile",
203
+ "scope": "sdlc-modeling",
204
+ "title": "API-first design",
205
+ "description": "Conception API avant implementation",
206
+ "validation": {
207
+ "type": "keyword",
208
+ "keywords": ["API", "interface", "contract"],
209
+ "required": false
210
+ },
211
+ "priority": "medium"
212
+ },
213
+ {
214
+ "id": "M16",
215
+ "number": 16,
216
+ "category": "merise-agile",
217
+ "scope": "sdlc-ops",
218
+ "title": "Versioning semantique",
219
+ "description": "Utilisation du versioning semantique (semver)",
220
+ "validation": {
221
+ "type": "keyword",
222
+ "keywords": ["version", "semver", "semantic"],
223
+ "required": false
224
+ },
225
+ "priority": "medium"
226
+ },
227
+ {
228
+ "id": "M17",
229
+ "number": 17,
230
+ "category": "merise-agile",
231
+ "scope": "sdlc-ops",
232
+ "title": "Changelog a jour",
233
+ "description": "Changelog maintenu a jour pour chaque version",
234
+ "validation": {
235
+ "type": "keyword",
236
+ "keywords": ["changelog", "release notes", "history"],
237
+ "required": false
238
+ },
239
+ "priority": "low"
240
+ },
241
+ {
242
+ "id": "M18",
243
+ "number": 18,
244
+ "category": "merise-agile",
245
+ "scope": "sdlc-ops",
246
+ "title": "Environnements identiques",
247
+ "description": "Dev, staging et production sont identiques",
248
+ "validation": {
249
+ "type": "keyword",
250
+ "keywords": ["environment", "staging", "production", "dev"],
251
+ "required": false
252
+ },
253
+ "priority": "high"
254
+ },
255
+ {
256
+ "id": "M19",
257
+ "number": 19,
258
+ "category": "merise-agile",
259
+ "scope": "sdlc-ops",
260
+ "title": "CI/CD = production continue",
261
+ "description": "Integration et deploiement continus automatises",
262
+ "validation": {
263
+ "type": "keyword",
264
+ "keywords": ["CI", "CD", "pipeline", "continuous"],
265
+ "required": false
266
+ },
267
+ "priority": "high"
268
+ },
269
+ {
270
+ "id": "M20",
271
+ "number": 20,
272
+ "category": "merise-agile",
273
+ "scope": "sdlc-ops",
274
+ "title": "Rollback en 1 clic",
275
+ "description": "Capacite de rollback rapide et simple",
276
+ "validation": {
277
+ "type": "keyword",
278
+ "keywords": ["rollback", "revert", "recovery"],
279
+ "required": false
280
+ },
281
+ "priority": "high"
282
+ },
283
+ {
284
+ "id": "M21",
285
+ "number": 21,
286
+ "category": "merise-agile",
287
+ "scope": "sdlc-test",
288
+ "title": "Tests unitaires obligatoires",
289
+ "description": "Tous les modules ont des tests unitaires",
290
+ "validation": {
291
+ "type": "keyword",
292
+ "keywords": ["test", "unit", "spec"],
293
+ "required": true
294
+ },
295
+ "priority": "critical"
296
+ },
297
+ {
298
+ "id": "M22",
299
+ "number": 22,
300
+ "category": "merise-agile",
301
+ "scope": "sdlc-test",
302
+ "title": "80% couverture minimum",
303
+ "description": "Couverture de tests d'au moins 80%",
304
+ "validation": {
305
+ "type": "coverage",
306
+ "threshold": 80,
307
+ "required": true
308
+ },
309
+ "priority": "critical"
310
+ },
311
+ {
312
+ "id": "M23",
313
+ "number": 23,
314
+ "category": "merise-agile",
315
+ "scope": "sdlc-test",
316
+ "title": "TDD quand possible",
317
+ "description": "Test-Driven Development comme pratique privilegiee",
318
+ "validation": {
319
+ "type": "keyword",
320
+ "keywords": ["TDD", "test-driven", "red-green-refactor"],
321
+ "required": false
322
+ },
323
+ "priority": "medium"
324
+ },
325
+ {
326
+ "id": "M24",
327
+ "number": 24,
328
+ "category": "merise-agile",
329
+ "scope": "sdlc-test",
330
+ "title": "Tests E2E critiques",
331
+ "description": "Tests end-to-end pour les parcours critiques",
332
+ "validation": {
333
+ "type": "keyword",
334
+ "keywords": ["E2E", "end-to-end", "integration"],
335
+ "required": false
336
+ },
337
+ "priority": "high"
338
+ },
339
+ {
340
+ "id": "M25",
341
+ "number": 25,
342
+ "category": "merise-agile",
343
+ "scope": "sdlc-process",
344
+ "title": "User Story = contrat",
345
+ "description": "La user story est un contrat entre equipe et client",
346
+ "validation": {
347
+ "type": "keyword",
348
+ "keywords": ["story", "contract", "agreement"],
349
+ "required": false
350
+ },
351
+ "priority": "medium"
352
+ },
353
+ {
354
+ "id": "M26",
355
+ "number": 26,
356
+ "category": "merise-agile",
357
+ "scope": "sdlc-process",
358
+ "title": "Retrospectives regulieres",
359
+ "description": "Retrospectives a chaque fin de sprint",
360
+ "validation": {
361
+ "type": "keyword",
362
+ "keywords": ["retrospective", "retro", "review"],
363
+ "required": false
364
+ },
365
+ "priority": "medium"
366
+ },
367
+ {
368
+ "id": "M27",
369
+ "number": 27,
370
+ "category": "merise-agile",
371
+ "scope": "sdlc-process",
372
+ "title": "Daily = max 15 min",
373
+ "description": "Daily standup limite a 15 minutes",
374
+ "validation": {
375
+ "type": "keyword",
376
+ "keywords": ["daily", "standup", "scrum"],
377
+ "required": false
378
+ },
379
+ "priority": "low"
380
+ },
381
+ {
382
+ "id": "M28",
383
+ "number": 28,
384
+ "category": "merise-agile",
385
+ "scope": "sdlc-process",
386
+ "title": "Sprint review = demo",
387
+ "description": "Sprint review avec demonstration concrete",
388
+ "validation": {
389
+ "type": "keyword",
390
+ "keywords": ["sprint review", "demo", "demonstration"],
391
+ "required": false
392
+ },
393
+ "priority": "medium"
394
+ },
395
+ {
396
+ "id": "M29",
397
+ "number": 29,
398
+ "category": "merise-agile",
399
+ "scope": "sdlc-process",
400
+ "title": "Definition of Done partagee",
401
+ "description": "Definition of Done commune et respectee",
402
+ "validation": {
403
+ "type": "keyword",
404
+ "keywords": ["definition of done", "DoD", "acceptance"],
405
+ "required": false
406
+ },
407
+ "priority": "high"
408
+ },
409
+ {
410
+ "id": "M30",
411
+ "number": 30,
412
+ "category": "merise-agile",
413
+ "scope": "sdlc-process",
414
+ "title": "Velocite = capacite reelle",
415
+ "description": "La velocite reflete la capacite reelle de l'equipe",
416
+ "validation": {
417
+ "type": "keyword",
418
+ "keywords": ["velocity", "velocite", "capacity"],
419
+ "required": false
420
+ },
421
+ "priority": "low"
422
+ },
423
+ {
424
+ "id": "M31",
425
+ "number": 31,
426
+ "category": "merise-agile",
427
+ "scope": "sdlc-modeling",
428
+ "title": "MCD avant code",
429
+ "description": "Modele conceptuel de donnees avant implementation",
430
+ "validation": {
431
+ "type": "keyword",
432
+ "keywords": ["MCD", "model", "conceptual"],
433
+ "required": false
434
+ },
435
+ "priority": "high"
436
+ },
437
+ {
438
+ "id": "M32",
439
+ "number": 32,
440
+ "category": "merise-agile",
441
+ "scope": "sdlc-modeling",
442
+ "title": "MCD ⇄ MCT validation",
443
+ "description": "Validation croisee entre modele de donnees et modele de traitements",
444
+ "validation": {
445
+ "type": "keyword",
446
+ "keywords": ["MCD", "MCT", "validation"],
447
+ "required": false
448
+ },
449
+ "priority": "high"
450
+ },
451
+ {
452
+ "id": "M33",
453
+ "number": 33,
454
+ "category": "merise-agile",
455
+ "scope": "sdlc-modeling",
456
+ "title": "Data Dictionary First",
457
+ "description": "Dictionnaire de donnees comme premier artefact",
458
+ "validation": {
459
+ "type": "keyword",
460
+ "keywords": ["data dictionary", "dictionnaire", "schema"],
461
+ "required": false
462
+ },
463
+ "priority": "medium"
464
+ },
465
+ {
466
+ "id": "M34",
467
+ "number": 34,
468
+ "category": "merise-agile",
469
+ "scope": "sdlc-modeling",
470
+ "title": "Bottom-up from User Stories",
471
+ "description": "Construction bottom-up depuis les user stories",
472
+ "validation": {
473
+ "type": "keyword",
474
+ "keywords": ["bottom-up", "user story", "incremental"],
475
+ "required": false
476
+ },
477
+ "priority": "medium"
478
+ },
479
+ {
480
+ "id": "M35",
481
+ "number": 35,
482
+ "category": "merise-agile",
483
+ "scope": "sdlc-modeling",
484
+ "title": "Incremental design",
485
+ "description": "Design incrementale et evolutive",
486
+ "validation": {
487
+ "type": "keyword",
488
+ "keywords": ["incremental", "iterative", "evolution"],
489
+ "required": false
490
+ },
491
+ "priority": "medium"
492
+ },
493
+ {
494
+ "id": "M36",
495
+ "number": 36,
496
+ "category": "merise-agile",
497
+ "scope": "sdlc-test",
498
+ "title": "Test-Driven at all levels",
499
+ "description": "Approche test-driven a tous les niveaux",
500
+ "validation": {
501
+ "type": "keyword",
502
+ "keywords": ["test-driven", "TDD", "test-first"],
503
+ "required": false
504
+ },
505
+ "priority": "high"
506
+ },
507
+ {
508
+ "id": "M37",
509
+ "number": 37,
510
+ "category": "merise-agile",
511
+ "scope": "universal",
512
+ "title": "Ockham's Razor (simplicite)",
513
+ "description": "Principe de simplicite: la solution la plus simple est souvent la meilleure",
514
+ "validation": {
515
+ "type": "keyword",
516
+ "keywords": ["simple", "simplicite", "KISS", "minimal"],
517
+ "required": false
518
+ },
519
+ "priority": "high"
520
+ },
521
+ {
522
+ "id": "M38",
523
+ "number": 38,
524
+ "category": "merise-agile",
525
+ "scope": "universal",
526
+ "title": "Pareto 80/20",
527
+ "description": "80% des resultats avec 20% des efforts",
528
+ "validation": {
529
+ "type": "keyword",
530
+ "keywords": ["pareto", "80/20", "priority"],
531
+ "required": false
532
+ },
533
+ "priority": "medium"
534
+ },
535
+ {
536
+ "id": "M39",
537
+ "number": 39,
538
+ "category": "merise-agile",
539
+ "scope": "universal",
540
+ "title": "Every action has consequences",
541
+ "description": "Chaque action a des consequences a anticiper",
542
+ "validation": {
543
+ "type": "keyword",
544
+ "keywords": ["consequence", "impact", "effect"],
545
+ "required": false
546
+ },
547
+ "priority": "medium"
548
+ },
549
+ {
550
+ "id": "IA-1",
551
+ "number": 1,
552
+ "category": "ia",
553
+ "scope": "universal",
554
+ "behavioral": true,
555
+ "title": "Trust But Verify",
556
+ "description": "Faire confiance aux IA mais toujours verifier les resultats",
557
+ "validation": {
558
+ "type": "keyword",
559
+ "keywords": ["verify", "validation", "check", "test"],
560
+ "required": true
561
+ },
562
+ "priority": "critical"
563
+ },
564
+ {
565
+ "id": "IA-2",
566
+ "number": 2,
567
+ "category": "ia",
568
+ "scope": "universal",
569
+ "title": "Explain Your Reasoning",
570
+ "description": "L'IA doit expliquer son raisonnement",
571
+ "validation": {
572
+ "type": "keyword",
573
+ "keywords": ["explain", "reasoning", "rationale", "why"],
574
+ "required": false
575
+ },
576
+ "priority": "high"
577
+ },
578
+ {
579
+ "id": "IA-3",
580
+ "number": 3,
581
+ "category": "ia",
582
+ "scope": "universal",
583
+ "title": "Break Down Complex Tasks",
584
+ "description": "Decomposer les taches complexes en sous-taches simples",
585
+ "validation": {
586
+ "type": "keyword",
587
+ "keywords": ["break down", "decompose", "subtask", "step"],
588
+ "required": false
589
+ },
590
+ "priority": "high"
591
+ },
592
+ {
593
+ "id": "IA-4",
594
+ "number": 4,
595
+ "category": "ia",
596
+ "scope": "universal",
597
+ "title": "Use Examples",
598
+ "description": "Utiliser des exemples concrets pour illustrer",
599
+ "validation": {
600
+ "type": "keyword",
601
+ "keywords": ["example", "sample", "demo", "illustration"],
602
+ "required": false
603
+ },
604
+ "priority": "medium"
605
+ },
606
+ {
607
+ "id": "IA-5",
608
+ "number": 5,
609
+ "category": "ia",
610
+ "scope": "universal",
611
+ "title": "Request Clarification",
612
+ "description": "Demander des clarifications quand necessaire",
613
+ "validation": {
614
+ "type": "keyword",
615
+ "keywords": ["clarification", "question", "unclear"],
616
+ "required": false
617
+ },
618
+ "priority": "medium"
619
+ },
620
+ {
621
+ "id": "IA-6",
622
+ "number": 6,
623
+ "category": "ia",
624
+ "scope": "universal",
625
+ "title": "Iterate and Refine",
626
+ "description": "Iterer et raffiner les solutions progressivement",
627
+ "validation": {
628
+ "type": "keyword",
629
+ "keywords": ["iterate", "refine", "improve", "evolve"],
630
+ "required": false
631
+ },
632
+ "priority": "medium"
633
+ },
634
+ {
635
+ "id": "IA-7",
636
+ "number": 7,
637
+ "category": "ia",
638
+ "scope": "universal",
639
+ "title": "Leverage Context",
640
+ "description": "Exploiter le contexte disponible intelligemment",
641
+ "validation": {
642
+ "type": "keyword",
643
+ "keywords": ["context", "history", "background"],
644
+ "required": false
645
+ },
646
+ "priority": "medium"
647
+ },
648
+ {
649
+ "id": "IA-8",
650
+ "number": 8,
651
+ "category": "ia",
652
+ "scope": "universal",
653
+ "title": "Be Explicit About Constraints",
654
+ "description": "Etre explicite sur les contraintes et limitations",
655
+ "validation": {
656
+ "type": "keyword",
657
+ "keywords": ["constraint", "limitation", "boundary"],
658
+ "required": false
659
+ },
660
+ "priority": "high"
661
+ },
662
+ {
663
+ "id": "IA-9",
664
+ "number": 9,
665
+ "category": "ia",
666
+ "scope": "universal",
667
+ "behavioral": true,
668
+ "title": "Validate Outputs",
669
+ "description": "Valider les sorties avant de les livrer",
670
+ "validation": {
671
+ "type": "keyword",
672
+ "keywords": ["validate", "verify", "check", "test"],
673
+ "required": true
674
+ },
675
+ "priority": "critical"
676
+ },
677
+ {
678
+ "id": "IA-10",
679
+ "number": 10,
680
+ "category": "ia",
681
+ "scope": "universal",
682
+ "title": "Maintain Consistency",
683
+ "description": "Maintenir la coherence dans le style et les decisions",
684
+ "validation": {
685
+ "type": "keyword",
686
+ "keywords": ["consistent", "coherent", "uniform"],
687
+ "required": false
688
+ },
689
+ "priority": "high"
690
+ },
691
+ {
692
+ "id": "IA-11",
693
+ "number": 11,
694
+ "category": "ia",
695
+ "scope": "universal",
696
+ "title": "Document Decisions",
697
+ "description": "Documenter les decisions importantes",
698
+ "validation": {
699
+ "type": "keyword",
700
+ "keywords": ["document", "decision", "ADR", "rationale"],
701
+ "required": false
702
+ },
703
+ "priority": "high"
704
+ },
705
+ {
706
+ "id": "IA-12",
707
+ "number": 12,
708
+ "category": "ia",
709
+ "scope": "universal",
710
+ "title": "Learn from Feedback",
711
+ "description": "Apprendre et s'adapter a partir du feedback",
712
+ "validation": {
713
+ "type": "keyword",
714
+ "keywords": ["feedback", "learn", "adapt", "improve"],
715
+ "required": false
716
+ },
717
+ "priority": "medium"
718
+ },
719
+ {
720
+ "id": "IA-13",
721
+ "number": 13,
722
+ "category": "ia",
723
+ "scope": "universal",
724
+ "title": "Adapt to User Style",
725
+ "description": "S'adapter au style et preferences de l'utilisateur",
726
+ "validation": {
727
+ "type": "keyword",
728
+ "keywords": ["adapt", "style", "preference"],
729
+ "required": false
730
+ },
731
+ "priority": "low"
732
+ },
733
+ {
734
+ "id": "IA-14",
735
+ "number": 14,
736
+ "category": "ia",
737
+ "scope": "universal",
738
+ "title": "Balance Automation and Control",
739
+ "description": "Equilibrer automatisation et controle utilisateur",
740
+ "validation": {
741
+ "type": "keyword",
742
+ "keywords": ["automation", "control", "balance"],
743
+ "required": false
744
+ },
745
+ "priority": "medium"
746
+ },
747
+ {
748
+ "id": "IA-15",
749
+ "number": 15,
750
+ "category": "ia",
751
+ "scope": "universal",
752
+ "title": "Preserve Intent",
753
+ "description": "Preserver l'intention de l'utilisateur",
754
+ "validation": {
755
+ "type": "keyword",
756
+ "keywords": ["intent", "purpose", "goal"],
757
+ "required": false
758
+ },
759
+ "priority": "high"
760
+ },
761
+ {
762
+ "id": "IA-16",
763
+ "number": 16,
764
+ "category": "ia",
765
+ "scope": "universal",
766
+ "title": "Challenge Before Confirm",
767
+ "description": "Challenger avant de confirmer les decisions risquees",
768
+ "validation": {
769
+ "type": "keyword",
770
+ "keywords": ["challenge", "confirm", "validate", "question"],
771
+ "required": false
772
+ },
773
+ "priority": "high"
774
+ },
775
+ {
776
+ "id": "IA-17",
777
+ "number": 17,
778
+ "category": "ia",
779
+ "scope": "universal",
780
+ "title": "Show, Don't Just Tell",
781
+ "description": "Montrer par l'exemple plutot que juste expliquer",
782
+ "validation": {
783
+ "type": "keyword",
784
+ "keywords": ["show", "example", "demonstrate"],
785
+ "required": false
786
+ },
787
+ "priority": "medium"
788
+ },
789
+ {
790
+ "id": "IA-18",
791
+ "number": 18,
792
+ "category": "ia",
793
+ "scope": "universal",
794
+ "title": "Progressive Disclosure",
795
+ "description": "Reveler l'information progressivement selon le besoin",
796
+ "validation": {
797
+ "type": "keyword",
798
+ "keywords": ["progressive", "incremental", "step-by-step"],
799
+ "required": false
800
+ },
801
+ "priority": "low"
802
+ },
803
+ {
804
+ "id": "IA-19",
805
+ "number": 19,
806
+ "category": "ia",
807
+ "scope": "sdlc-code",
808
+ "title": "Graceful Degradation",
809
+ "description": "Degrader elegamment en cas de probleme",
810
+ "validation": {
811
+ "type": "keyword",
812
+ "keywords": ["graceful", "error handling", "fallback"],
813
+ "required": false
814
+ },
815
+ "priority": "high"
816
+ },
817
+ {
818
+ "id": "IA-20",
819
+ "number": 20,
820
+ "category": "ia",
821
+ "scope": "sdlc-code",
822
+ "title": "Fail Fast, Fail Safe",
823
+ "description": "Echouer rapidement et en securite",
824
+ "validation": {
825
+ "type": "keyword",
826
+ "keywords": ["fail fast", "error", "safety"],
827
+ "required": false
828
+ },
829
+ "priority": "high"
830
+ },
831
+ {
832
+ "id": "IA-21",
833
+ "number": 21,
834
+ "category": "ia",
835
+ "scope": "universal",
836
+ "behavioral": true,
837
+ "title": "No Hallucinations",
838
+ "description": "Pas d'hallucinations: toujours base sur des faits",
839
+ "validation": {
840
+ "type": "keyword",
841
+ "keywords": ["fact", "evidence", "source", "verified"],
842
+ "required": true
843
+ },
844
+ "priority": "critical"
845
+ },
846
+ {
847
+ "id": "IA-22",
848
+ "number": 22,
849
+ "category": "ia",
850
+ "scope": "universal",
851
+ "title": "Cite Sources",
852
+ "description": "Citer les sources d'information",
853
+ "validation": {
854
+ "type": "keyword",
855
+ "keywords": ["source", "reference", "citation"],
856
+ "required": false
857
+ },
858
+ "priority": "medium"
859
+ },
860
+ {
861
+ "id": "IA-23",
862
+ "number": 23,
863
+ "category": "ia",
864
+ "scope": "universal",
865
+ "behavioral": true,
866
+ "title": "No Emoji Pollution",
867
+ "description": "Zero emojis dans le code, commits et specifications techniques",
868
+ "validation": {
869
+ "type": "pattern",
870
+ "pattern": "[\\u{1F300}-\\u{1F9FF}\\u{2600}-\\u{26FF}\\u{2700}-\\u{27BF}]",
871
+ "flags": "u",
872
+ "mustNotMatch": true,
873
+ "ignoreZones": ["icon\\s*[:=]\\s*\"[^\"]*\"", "icon\\s*[:=]\\s*'[^']*'"],
874
+ "required": true
875
+ },
876
+ "priority": "critical"
877
+ },
878
+ {
879
+ "id": "IA-24",
880
+ "number": 24,
881
+ "category": "ia",
882
+ "scope": "sdlc-code",
883
+ "title": "Clean Code",
884
+ "description": "Code auto-documente avec commentaires minimaux",
885
+ "validation": {
886
+ "type": "keyword",
887
+ "keywords": ["clean", "self-documenting", "readable"],
888
+ "required": false
889
+ },
890
+ "priority": "high"
891
+ },
892
+ {
893
+ "id": "IA-25",
894
+ "number": 25,
895
+ "category": "ia",
896
+ "scope": "sdlc-code",
897
+ "title": "Performance Matters",
898
+ "description": "La performance est importante",
899
+ "validation": {
900
+ "type": "keyword",
901
+ "keywords": ["performance", "optimization", "efficient"],
902
+ "required": false
903
+ },
904
+ "priority": "high"
905
+ },
906
+ {
907
+ "id": "CR-1",
908
+ "number": 1,
909
+ "category": "creative",
910
+ "scope": "creative",
911
+ "behavioral": false,
912
+ "title": "Diverge Before You Converge",
913
+ "description": "En phase de generation, produire du volume d'idees sans censure ni jugement avant tout tri. Generation et selection sont deux phases separees: ne jamais fusionner brainstorm et prune. La premiere reaction a une idee est de construire dessus (YES AND). L'oppose direct d'Ockham/challenge-before-confirm: la quantite brute precede la selection.",
914
+ "validation": {
915
+ "type": "keyword",
916
+ "keywords": ["yes and", "sans censure", "volume", "wild"],
917
+ "required": false
918
+ },
919
+ "priority": "critical"
920
+ },
921
+ {
922
+ "id": "CR-2",
923
+ "number": 2,
924
+ "category": "creative",
925
+ "scope": "creative",
926
+ "behavioral": false,
927
+ "title": "Anchor in the Human Need",
928
+ "description": "Ancrer chaque concept dans le besoin reel d'un utilisateur situe, pas dans une abstraction. Empathiser avant de definir. Ne jamais valider un concept sans avoir observe un humain reel ou un prototype. Distinguer ce que les gens disent vouloir de ce dont ils ont besoin. La preuve est humaine, pas documentaire.",
929
+ "validation": {
930
+ "type": "keyword",
931
+ "keywords": ["empath", "humain", "prototyp", "observe"],
932
+ "required": false
933
+ },
934
+ "priority": "high"
935
+ },
936
+ {
937
+ "id": "CR-3",
938
+ "number": 3,
939
+ "category": "creative",
940
+ "scope": "creative",
941
+ "behavioral": false,
942
+ "title": "Reframe to the Root Cause",
943
+ "description": "Ne jamais resoudre avant d'avoir reformule. Remonter par les 5 Whys jusqu'a la cause racine, jamais soigner le symptome. La bonne question prime sur la reponse rapide. Le cadrage du probleme est le livrable, pas la solution rapide.",
944
+ "validation": {
945
+ "type": "keyword",
946
+ "keywords": ["root cause", "cause racine", "reformul", "5 whys"],
947
+ "required": false
948
+ },
949
+ "priority": "high"
950
+ },
951
+ {
952
+ "id": "CR-4",
953
+ "number": 4,
954
+ "category": "creative",
955
+ "scope": "creative",
956
+ "behavioral": false,
957
+ "title": "Judge Ideas by New Value",
958
+ "description": "Evaluer une idee a l'aune de la valeur nouvelle qu'elle cree pour quelqu'un, pas de sa nouveaute en soi. Distinguer invention et innovation, nouveau et meilleur. Tester la rupture systemique: est-ce que ca change la donne ou rend un business model obsolete.",
959
+ "validation": {
960
+ "type": "keyword",
961
+ "keywords": ["disrupt", "rupture", "change la donne", "valeur", "business model"],
962
+ "required": false
963
+ },
964
+ "priority": "high"
965
+ },
966
+ {
967
+ "id": "CR-5",
968
+ "number": 5,
969
+ "category": "creative",
970
+ "scope": "creative",
971
+ "behavioral": false,
972
+ "title": "Find the Authentic Story",
973
+ "description": "Avant l'argument, chercher l'emotion: identifier l'histoire authentique d'un projet et l'articuler via une tension narrative (hook, conflit, resolution) appuyee sur des verites humaines. Rendre l'abstrait concret par le detail vivant. Raconter le pourquoi plutot que documenter une decision.",
974
+ "validation": {
975
+ "type": "keyword",
976
+ "keywords": ["narrat", "histoire", "emotion", "authentic story", "hook"],
977
+ "required": false
978
+ },
979
+ "priority": "medium"
980
+ },
981
+ {
982
+ "id": "CR-6",
983
+ "number": 6,
984
+ "category": "creative",
985
+ "scope": "creative",
986
+ "behavioral": false,
987
+ "title": "Serve the Audience's Attention",
988
+ "description": "Designer toute communication pour l'audience visee et son contexte. Diriger le regard par la hierarchie visuelle, viser une seule idee par element, passer la regle des 3 secondes, supprimer avant d'ajouter. La clarte prime sur le clever; la forme sert le message, jamais l'inverse.",
989
+ "validation": {
990
+ "type": "keyword",
991
+ "keywords": ["audience", "hierarch", "clart", "3 sec"],
992
+ "required": false
993
+ },
994
+ "priority": "medium"
995
+ },
996
+ {
997
+ "id": "CR-7",
998
+ "number": 7,
999
+ "category": "creative",
1000
+ "scope": "creative",
1001
+ "behavioral": false,
1002
+ "title": "Prototype, Test, Pivot - Failure Is Feedback",
1003
+ "description": "Avancer par iterations testables plutot que par debat: prototyper avant de discuter, confronter au reel, traiter l'echec comme un feedback (un pivot, pas une fin). Ne jamais tomber amoureux d'une solution; chaque prototype est jetable. La validation est empirique, pas une signature de decision figee.",
1004
+ "validation": {
1005
+ "type": "keyword",
1006
+ "keywords": ["prototyp", "feedback", "pivot", "failure is feedback"],
1007
+ "required": false
1008
+ },
1009
+ "priority": "medium"
1010
+ },
1011
+ {
1012
+ "id": "IA-26",
1013
+ "number": 26,
1014
+ "category": "ia",
1015
+ "scope": "universal",
1016
+ "behavioral": true,
1017
+ "title": "Parler Réel",
1018
+ "description": "Précision constante, français naturel et registre adapté par livrable. Préserver faits, réserves et éléments exacts. Aucun tiret de ponctuation hors marqueurs de liste ; préserver traits d’union, code et citations. Politique : _byan/_config/communication-policy.json. Les incises utilisent des virgules ou des parenthèses, y compris dans les listes ; seuls leurs tirets de ponctuation sont interdits. Les titres nomment précisément le sujet ou le mécanisme, sans dramatisation ni généralisation non étayée. Ne pas inventer les événements détectés par le système.",
1019
+ "validation": {
1020
+ "type": "keyword",
1021
+ "keywords": [
1022
+ "communication-policy.json",
1023
+ "IA-26",
1024
+ "registre adapté",
1025
+ "précision"
1026
+ ],
1027
+ "required": false
1028
+ },
1029
+ "priority": "critical"
1030
+ }
1031
+ ],
1032
+ "metadata": {
1033
+ "version": "1.3.0",
1034
+ "totalMantras": 72,
1035
+ "categories": {
1036
+ "merise-agile": 39,
1037
+ "ia": 26,
1038
+ "creative": 7
1039
+ },
1040
+ "scopes": {
1041
+ "universal": 25,
1042
+ "sdlc-process": 12,
1043
+ "sdlc-code": 9,
1044
+ "sdlc-ops": 6,
1045
+ "sdlc-modeling": 6,
1046
+ "sdlc-test": 7,
1047
+ "creative": 7
1048
+ },
1049
+ "behavioralCount": 5,
1050
+ "scopeNote": "scope tags the domain a mantra belongs to (universal applies to every agent; creative is the CIS family; sdlc-ops is release/deploy split from sdlc-code). behavioral=true marks runtime-enforced mantras (hooks/fact-check) excluded from persona-file scoring when a scope filter is applied. With no scope filter, all mantras are scored (legacy behavior).",
1051
+ "priorityLevels": {
1052
+ "critical": 10,
1053
+ "high": 29,
1054
+ "medium": 27,
1055
+ "low": 6
1056
+ }
1057
+ }
1058
+ }