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.
- package/CHANGELOG.md +17 -0
- package/README.md +10 -0
- package/install/bin/byan-communication.cjs +11 -0
- package/install/lib/communication-manifest.json +243 -0
- package/install/lib/communication-migration.cjs +91 -0
- package/install/lib/communication-previous.json +181 -0
- package/install/lib/gitignore.js +135 -0
- package/install/lib/install-engine.js +17 -1
- package/install/lib/ownership.js +24 -5
- package/install/package.json +1 -1
- package/install/templates/.claude/agents/bmad-byan.md +13 -26
- package/install/templates/.claude/agents/bmad-tao.md +47 -0
- package/install/templates/.claude/hooks/auto-dispatch-gate.js +81 -0
- package/install/templates/.claude/hooks/inject-tao.js +15 -71
- package/install/templates/.claude/hooks/inject-voice-anchor.js +21 -154
- package/install/templates/.claude/hooks/lib/dispatch-approval.cjs +135 -0
- package/install/templates/.claude/hooks/lib/dispatch-plan-format.js +293 -0
- package/install/templates/.claude/hooks/lib/plain-language.js +7 -14
- package/install/templates/.claude/hooks/lib/rtk-coverage.js +31 -0
- package/install/templates/.claude/hooks/lib/tool-log.js +143 -0
- package/install/templates/.claude/hooks/lib/voice-conformance.js +9 -32
- package/install/templates/.claude/hooks/lib/webfetch-output.js +37 -0
- package/install/templates/.claude/hooks/rtk-coverage.js +18 -0
- package/install/templates/.claude/hooks/tool-failure-guard.js +16 -9
- package/install/templates/.claude/hooks/webfetch-output.js +17 -0
- package/install/templates/.claude/rules/native-workflows.md +24 -5
- package/install/templates/.claude/rules/plain-language.md +7 -86
- package/install/templates/.claude/settings.json +56 -0
- package/install/templates/.claude/skills/byan-byan/SKILL.md +42 -83
- package/install/templates/.claude/skills/byan-hermes-dispatch/SKILL.md +22 -7
- package/install/templates/.claude/workflows/byan-auto-dispatch.js +86 -38
- package/install/templates/.codex/skills/byan/SKILL.md +7 -0
- package/install/templates/AGENTS.md +106 -0
- package/install/templates/_byan/_config/communication-policy.json +50 -0
- package/install/templates/_byan/_config/workflow-manifest.csv +2 -0
- package/install/templates/_byan/agent/byan/byan-soul.md +14 -2
- package/install/templates/_byan/agent/byan/byan-tao.md +35 -274
- package/install/templates/_byan/agent/byan/byan.md +6 -2
- package/install/templates/_byan/agent/byan/soul.md +419 -0
- package/install/templates/_byan/agent/byan/tao.md +60 -0
- package/install/templates/_byan/agent/tao/tao.md +26 -27
- package/install/templates/_byan/connaissance/mantras-sources.md +295 -0
- package/install/templates/_byan/core/activation/soul-activation.md +6 -5
- package/install/templates/_byan/core/communication.cjs +76 -0
- package/install/templates/_byan/mcp/byan-mcp-server/lib/agent-matcher.js +38 -1
- package/install/templates/_byan/mcp/byan-mcp-server/lib/communication.cjs +77 -0
- package/install/templates/_byan/mcp/byan-mcp-server/lib/dispatch-router.js +12 -3
- package/install/templates/_byan/mcp/byan-mcp-server/lib/dispatch.js +51 -20
- package/install/templates/_byan/mcp/byan-mcp-server/lib/fd-ack.js +75 -0
- package/install/templates/_byan/mcp/byan-mcp-server/lib/leantime-fd-core.js +12 -1
- package/install/templates/_byan/mcp/byan-mcp-server/lib/native-tiers.js +114 -2
- package/install/templates/_byan/mcp/byan-mcp-server/lib/routing-ledger.js +356 -0
- package/install/templates/_byan/mcp/byan-mcp-server/lib/soul.js +9 -0
- package/install/templates/_byan/mcp/byan-mcp-server/server.js +24 -6
- package/install/templates/_byan/mcp/byan-mcp-server/skill-bundles-manifest.json +2 -2
- package/install/templates/_byan/workflow/simple/byan/data/mantras.yaml +2 -5
- package/install/templates/_byan/workflow/simple/byan/templates/tao-template.md +56 -0
- package/install/templates/docs/auto-dispatch.md +76 -0
- package/install/templates/docs/communication.md +69 -0
- package/install/templates/docs/native-workflows-contract.md +33 -11
- package/install/templates/docs/tool-output-cost.md +88 -0
- package/install/templates/scripts/communication-eval.cjs +192 -0
- package/install/templates/scripts/rtk-coverage-report.js +30 -0
- package/install/templates/src/byan-v2/data/mantras.json +1058 -0
- package/install/templates/tests/communication/README.md +106 -0
- package/install/templates/tests/communication/incises.test.cjs +26 -0
- package/install/templates/tests/communication/scenarios.json +391 -0
- package/package.json +1 -1
- 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
|
+
}
|