sinapse-ai 1.12.1 → 1.13.0
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/.claude/CLAUDE.md +2 -2
- package/.claude/rules/agent-memory-imports.md +2 -0
- package/.sinapse-ai/cli/commands/pro/index.js +8 -48
- package/.sinapse-ai/constitution.md +6 -2
- package/.sinapse-ai/core-config.yaml +5 -1
- package/.sinapse-ai/data/entity-registry.yaml +95 -95
- package/.sinapse-ai/development/agents/architect/MEMORY.md +35 -0
- package/.sinapse-ai/development/agents/data-engineer/MEMORY.md +38 -0
- package/.sinapse-ai/development/agents/developer/MEMORY.md +36 -0
- package/.sinapse-ai/development/agents/devops/MEMORY.md +39 -0
- package/.sinapse-ai/development/agents/devops.md +0 -1
- package/.sinapse-ai/development/agents/product-lead/MEMORY.md +36 -0
- package/.sinapse-ai/development/agents/project-lead/MEMORY.md +36 -0
- package/.sinapse-ai/development/agents/quality-gate/MEMORY.md +35 -0
- package/.sinapse-ai/development/agents/quality-gate.md +1 -1
- package/.sinapse-ai/development/agents/snps-orqx.md +4 -0
- package/.sinapse-ai/development/agents/sprint-lead/MEMORY.md +36 -0
- package/.sinapse-ai/development/templates/chrome-brain/knowledge-base/chrome-brain.md +2 -2
- package/.sinapse-ai/infrastructure/scripts/ide-sync/index.js +15 -0
- package/.sinapse-ai/infrastructure/scripts/validate-agents.js +159 -8
- package/.sinapse-ai/install-manifest.yaml +20 -156
- package/AGENTS.md +13 -2
- package/CHANGELOG.md +119 -4
- package/README.en.md +1 -1
- package/README.md +6 -26
- package/bin/cli.js +2 -7
- package/bin/commands/install.js +19 -257
- package/bin/commands/update.js +18 -78
- package/bin/lib/command-generator.js +261 -0
- package/bin/lib/prompts.js +2 -65
- package/bin/modules/chrome-brain-installer.js +2 -1
- package/bin/postinstall.js +6 -6
- package/docs/getting-started.md +0 -1
- package/docs/pt/getting-started.md +1 -1
- package/docs/security/dependabot-triage.md +17 -17
- package/package.json +6 -3
- package/packages/installer/src/wizard/i18n.js +3 -204
- package/packages/installer/src/wizard/index.js +1 -1
- package/packages/installer/src/wizard/questions.js +5 -368
- package/packages/installer/src/wizard/wizard.js +0 -9
- package/scripts/generate-install-manifest.js +6 -0
- package/scripts/validate-changelog-tags.js +97 -0
- package/scripts/validate-no-personal-leaks.js +184 -28
- package/scripts/validate-schemas.js +55 -10
- package/scripts/validate-story-meta.js +25 -12
- package/squads/claude-code-mastery/agents/claude-mastery-chief.md +1 -1
- package/squads/claude-code-mastery/agents/hooks-architect.md +12 -20
- package/squads/claude-code-mastery/tasks/audit-setup.md +1 -1
- package/squads/squad-product/agents/product-orqx.md +0 -1
- package/squads/squad-product/agents/ps-client-product-manager.md +0 -1
- package/squads/squad-product/agents/ps-delivery-manager.md +0 -1
- package/squads/squad-product/agents/ps-discovery-lead.md +0 -1
- package/squads/squad-product/agents/ps-product-analyst.md +0 -1
- package/squads/squad-product/agents/ps-product-ops-specialist.md +0 -1
- package/squads/squad-product/agents/ps-product-strategist.md +0 -1
- package/.sinapse-ai/core/grounding/README.md +0 -83
- package/.sinapse-ai/core/grounding/brand.cjs +0 -29
- package/.sinapse-ai/core/grounding/config-loader.cjs +0 -52
- package/.sinapse-ai/core/grounding/design-system.cjs +0 -29
- package/.sinapse-ai/core/grounding/vault.cjs +0 -36
- package/.sinapse-ai/development/scripts/approval-workflow.js +0 -643
- package/.sinapse-ai/development/scripts/backup-manager.js +0 -607
- package/.sinapse-ai/development/scripts/branch-manager.js +0 -390
- package/.sinapse-ai/development/scripts/code-quality-improver.js +0 -1329
- package/.sinapse-ai/development/scripts/commit-message-generator.js +0 -850
- package/.sinapse-ai/development/scripts/conflict-resolver.js +0 -675
- package/.sinapse-ai/development/scripts/dependency-analyzer.js +0 -638
- package/.sinapse-ai/development/scripts/diff-generator.js +0 -352
- package/.sinapse-ai/development/scripts/git-wrapper.js +0 -462
- package/.sinapse-ai/development/scripts/modification-validator.js +0 -555
- package/.sinapse-ai/development/scripts/performance-analyzer.js +0 -758
- package/.sinapse-ai/development/scripts/refactoring-suggester.js +0 -1148
- package/.sinapse-ai/development/scripts/rollback-handler.js +0 -531
- package/.sinapse-ai/development/scripts/security-checker.js +0 -359
- package/.sinapse-ai/development/scripts/template-engine.js +0 -240
- package/.sinapse-ai/development/scripts/template-validator.js +0 -279
- package/.sinapse-ai/development/scripts/test-generator.js +0 -844
- package/.sinapse-ai/development/scripts/transaction-manager.js +0 -590
- package/.sinapse-ai/development/scripts/yaml-validator.js +0 -397
- package/.sinapse-ai/hooks/sinapse-brand-grounding.cjs +0 -162
- package/.sinapse-ai/hooks/sinapse-ds-grounding.cjs +0 -211
- package/.sinapse-ai/hooks/sinapse-vault-grounding.cjs +0 -194
- package/bin/lib/register-grounding-hooks.js +0 -145
- package/docs/guides/agents/traces/execution-traces.zip +0 -0
- package/docs/guides/grounding-setup.md +0 -154
- package/docs/guides/workflows/SINAPSE-WORKFLOWS.zip +0 -0
- package/packages/installer/src/pro/pro-scaffolder.js +0 -449
- package/packages/installer/src/wizard/grounding-config.js +0 -131
- package/packages/installer/src/wizard/pro-setup.js +0 -1439
- package/packages/installer/templates/README.md +0 -16
- package/packages/installer/templates/brand-routing.example.json +0 -12
- package/packages/installer/templates/ds-routing.example.json +0 -12
- package/packages/installer/templates/vault-routing.example.json +0 -12
package/.claude/CLAUDE.md
CHANGED
|
@@ -8,11 +8,11 @@ Full doc: `.sinapse-ai/constitution.md`. Gates auto-block violations.
|
|
|
8
8
|
|------|-----------|----------|
|
|
9
9
|
| I | CLI First | NON-NEGOTIABLE |
|
|
10
10
|
| II | Agent Authority | NON-NEGOTIABLE |
|
|
11
|
-
| III | Documentation-First | NON-NEGOTIABLE |
|
|
11
|
+
| III | Documentation-First Development | NON-NEGOTIABLE |
|
|
12
12
|
| IV | No Invention | MUST |
|
|
13
13
|
| V | Quality First | MUST |
|
|
14
14
|
| VI | Absolute Imports | SHOULD |
|
|
15
|
-
| VII | Metrics Accuracy | NON-NEGOTIABLE |
|
|
15
|
+
| VII | Ecosystem Metrics Accuracy | NON-NEGOTIABLE |
|
|
16
16
|
| VIII | Mandatory Delegation | NON-NEGOTIABLE |
|
|
17
17
|
| IX | Safe Collaboration | NON-NEGOTIABLE |
|
|
18
18
|
| X | Security & Data Protection | NON-NEGOTIABLE |
|
|
@@ -15,3 +15,5 @@ These are the canonical locations — agents should read their memory on activat
|
|
|
15
15
|
@import .sinapse-ai/development/agents/devops/MEMORY.md
|
|
16
16
|
@import .sinapse-ai/development/agents/project-lead/MEMORY.md
|
|
17
17
|
@import .sinapse-ai/development/agents/product-lead/MEMORY.md
|
|
18
|
+
@import .sinapse-ai/development/agents/data-engineer/MEMORY.md
|
|
19
|
+
@import .sinapse-ai/development/agents/sprint-lead/MEMORY.md
|
|
@@ -214,55 +214,15 @@ async function activateAction(options) {
|
|
|
214
214
|
console.log(` Cache: ${result.cacheValidDays} days offline operation`);
|
|
215
215
|
console.log('');
|
|
216
216
|
|
|
217
|
-
//
|
|
218
|
-
//
|
|
219
|
-
|
|
220
|
-
const proSourceDir = path.
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
try {
|
|
225
|
-
({ scaffoldProContent } = require('../../../../packages/installer/src/pro/pro-scaffolder'));
|
|
226
|
-
} catch {
|
|
227
|
-
console.log('Note: Pro scaffolder not available. Skipping content scaffolding.');
|
|
228
|
-
console.log('');
|
|
229
|
-
}
|
|
230
|
-
|
|
231
|
-
if (scaffoldProContent) {
|
|
232
|
-
console.log('Scaffolding pro content...');
|
|
233
|
-
const scaffoldResult = await scaffoldProContent(projectRoot, proSourceDir, {
|
|
234
|
-
onProgress: ({ item, status, message }) => {
|
|
235
|
-
if (status === 'done') {
|
|
236
|
-
console.log(` + ${message}`);
|
|
237
|
-
} else if (status === 'warning') {
|
|
238
|
-
console.log(` ! ${message}`);
|
|
239
|
-
}
|
|
240
|
-
},
|
|
241
|
-
});
|
|
242
|
-
|
|
243
|
-
if (scaffoldResult.success) {
|
|
244
|
-
console.log(`\nPro content installed (${scaffoldResult.copiedFiles.length} files)`);
|
|
245
|
-
if (scaffoldResult.skippedFiles.length > 0) {
|
|
246
|
-
console.log(` ${scaffoldResult.skippedFiles.length} files unchanged (already up to date)`);
|
|
247
|
-
}
|
|
248
|
-
if (scaffoldResult.warnings.length > 0) {
|
|
249
|
-
for (const warning of scaffoldResult.warnings) {
|
|
250
|
-
console.log(` Warning: ${warning}`);
|
|
251
|
-
}
|
|
252
|
-
}
|
|
253
|
-
} else {
|
|
254
|
-
console.error('\nWarning: Pro content scaffolding failed.');
|
|
255
|
-
for (const err of scaffoldResult.errors) {
|
|
256
|
-
console.error(` ${err}`);
|
|
257
|
-
}
|
|
258
|
-
console.error('Pro features are activated but content was not copied.');
|
|
259
|
-
console.error('Try running "sinapse pro activate" again to retry scaffolding.');
|
|
260
|
-
}
|
|
261
|
-
console.log('');
|
|
262
|
-
}
|
|
263
|
-
} else {
|
|
217
|
+
// Pro features are activated via the license cache above. Project content
|
|
218
|
+
// (squads/config) ships with the @sinapse-fullstack/pro package itself; no
|
|
219
|
+
// separate scaffolding step runs here.
|
|
220
|
+
const proSourceDir = path.resolve(
|
|
221
|
+
__dirname, '..', '..', '..', '..', 'node_modules', '@sinapse-fullstack', 'pro',
|
|
222
|
+
);
|
|
223
|
+
if (!fs.existsSync(proSourceDir)) {
|
|
264
224
|
console.log('Note: @sinapse-fullstack/pro package not found in node_modules.');
|
|
265
|
-
console.log('
|
|
225
|
+
console.log('Install it to access Pro content: npm install @sinapse-fullstack/pro');
|
|
266
226
|
console.log('');
|
|
267
227
|
}
|
|
268
228
|
|
|
@@ -78,6 +78,8 @@ User briefing → @sprint-lead *draft → @product-lead *validate → @developer
|
|
|
78
78
|
|
|
79
79
|
**Gate:** `dev-develop-story.md` - BLOCK se não houver story válida com status >= Ready
|
|
80
80
|
|
|
81
|
+
> **Enforcement (honesto):** este gate é **client-side / processo (advisory)** — aplicado por hook local e pela disciplina dos agentes, não por checagem server-side no CI. É contornável (`--no-verify`, edição direta) e não bloqueia o merge no GitHub. Exceção formal: trabalho de governança do framework (@sinapse-orqx) opera acima da camada de story.
|
|
82
|
+
|
|
81
83
|
**Rule file:** `.claude/rules/documentation-first.md`
|
|
82
84
|
|
|
83
85
|
---
|
|
@@ -108,7 +110,7 @@ Qualidade não é negociável. Todo código passa por múltiplos gates antes de
|
|
|
108
110
|
- MUST: `npm run lint` passa sem erros
|
|
109
111
|
- MUST: `npm run typecheck` passa sem erros
|
|
110
112
|
- MUST: `npm test` passa sem falhas
|
|
111
|
-
- MUST: `npm run build` completa com sucesso
|
|
113
|
+
- MUST: `npm run build` completa com sucesso **quando o projeto define um passo de build** (o framework SINAPSE é um CLI Node sem etapa de build — não há script `build`; `typecheck` cobre a verificação estática)
|
|
112
114
|
- MUST: CodeRabbit não reporta issues CRITICAL
|
|
113
115
|
- MUST: Story status é "Done" ou "Ready for Review"
|
|
114
116
|
- SHOULD: Cobertura de testes não diminui
|
|
@@ -242,6 +244,8 @@ Usuários são product builders, não especialistas em git. Agentes DEVEM gerenc
|
|
|
242
244
|
|
|
243
245
|
**Gate:** Hook `enforce-git-push-authority.sh` + branch protection no GitHub
|
|
244
246
|
|
|
247
|
+
> **Enforcement (honesto):** o bloqueio *hard* é a **branch protection do GitHub** (server-side) — impede push direto em `main`, exigindo PR. O hook é **client-side (advisory)**: pode ser contornado (`--no-verify`, outro clone) e serve como guarda de conveniência. A exclusividade de *quem* abre PR/release (@devops) é convenção de processo, não bloqueio técnico.
|
|
248
|
+
|
|
245
249
|
**Rule file:** `.claude/rules/safe-collaboration.md`
|
|
246
250
|
|
|
247
251
|
---
|
|
@@ -283,7 +287,7 @@ Todo projeto que manipula dados de usuarios DEVE seguir praticas de seguranca ri
|
|
|
283
287
|
|
|
284
288
|
**Regras — Repositorio:**
|
|
285
289
|
- MUST: Repositorios com codigo de producao DEVEM ser privados por padrao
|
|
286
|
-
- MUST: Branch protection DEVE estar ativa em main (PR
|
|
290
|
+
- MUST: Branch protection DEVE estar ativa em main (PR obrigatório). **Approval obrigatório em projetos colaborativos; no modo solo-maintainer o approval é opcional** (`required_approving_review_count: 0`) — o PR continua obrigatório e os status checks continuam bloqueantes (ver `safe-collaboration.md`, "Solo projects")
|
|
287
291
|
- MUST: GitHub Secret Scanning DEVE estar habilitado
|
|
288
292
|
- MUST: Dependabot DEVE estar configurado para alertas de seguranca
|
|
289
293
|
- MUST: CODEOWNERS DEVE proteger arquivos criticos
|
|
@@ -302,8 +302,12 @@ ideSync:
|
|
|
302
302
|
enabled: true
|
|
303
303
|
path: .claude/commands/SINAPSE/agents
|
|
304
304
|
format: full-markdown-yaml
|
|
305
|
+
# Post-E8: .codex agents are thin runtime pointers owned by the canonical
|
|
306
|
+
# Codex sync (sync-codex-local-first.js) + resolve-codex-agent.js. ide-sync
|
|
307
|
+
# must NOT write full agent bodies here or it clobbers those pointers and
|
|
308
|
+
# breaks validate:codex-sync / validate:codex-integration. Keep disabled.
|
|
305
309
|
codex:
|
|
306
|
-
enabled:
|
|
310
|
+
enabled: false
|
|
307
311
|
path: .codex/agents
|
|
308
312
|
format: full-markdown-yaml
|
|
309
313
|
redirects: {}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
metadata:
|
|
2
2
|
version: 1.0.0
|
|
3
|
-
lastUpdated: '2026-06-
|
|
3
|
+
lastUpdated: '2026-06-22T02:41:18.583Z'
|
|
4
4
|
entityCount: 810
|
|
5
5
|
checksumAlgorithm: sha256
|
|
6
6
|
resolutionRate: 100
|
|
@@ -40,8 +40,8 @@ entities:
|
|
|
40
40
|
score: 0.7
|
|
41
41
|
constraints: []
|
|
42
42
|
extensionPoints: []
|
|
43
|
-
checksum: sha256:
|
|
44
|
-
lastVerified: '2026-06-
|
|
43
|
+
checksum: sha256:68c4b6ad0d9eb7a32985daf5b654bd4e2921880b9889df91be2b7e2c813c77f7
|
|
44
|
+
lastVerified: '2026-06-22T02:41:18.145Z'
|
|
45
45
|
agents:
|
|
46
46
|
path: bin/commands/agents.js
|
|
47
47
|
layer: L1
|
|
@@ -83,8 +83,8 @@ entities:
|
|
|
83
83
|
score: 0.7
|
|
84
84
|
constraints: []
|
|
85
85
|
extensionPoints: []
|
|
86
|
-
checksum: sha256:
|
|
87
|
-
lastVerified: '2026-06-
|
|
86
|
+
checksum: sha256:7000bd11cbcfd8b96bbb800d74bdf68c869331692db04e7350d1f97ebca3839b
|
|
87
|
+
lastVerified: '2026-06-21T05:24:05.619Z'
|
|
88
88
|
help:
|
|
89
89
|
path: bin/commands/help.js
|
|
90
90
|
layer: L1
|
|
@@ -105,8 +105,8 @@ entities:
|
|
|
105
105
|
score: 0.7
|
|
106
106
|
constraints: []
|
|
107
107
|
extensionPoints: []
|
|
108
|
-
checksum: sha256:
|
|
109
|
-
lastVerified: '2026-06-
|
|
108
|
+
checksum: sha256:d959fe749f9e0239d4295a6ec7cfda116a3e3438b101ecd3c348a13acef968bc
|
|
109
|
+
lastVerified: '2026-06-21T05:24:05.619Z'
|
|
110
110
|
ideate:
|
|
111
111
|
path: bin/commands/ideate.js
|
|
112
112
|
layer: L1
|
|
@@ -154,7 +154,6 @@ entities:
|
|
|
154
154
|
- prompts
|
|
155
155
|
- uninstall
|
|
156
156
|
- status
|
|
157
|
-
- register-grounding-hooks
|
|
158
157
|
- chrome-brain-installer
|
|
159
158
|
externalDeps: []
|
|
160
159
|
plannedDeps:
|
|
@@ -164,8 +163,8 @@ entities:
|
|
|
164
163
|
score: 0.7
|
|
165
164
|
constraints: []
|
|
166
165
|
extensionPoints: []
|
|
167
|
-
checksum: sha256:
|
|
168
|
-
lastVerified: '2026-06-
|
|
166
|
+
checksum: sha256:a8708eb5d5f59170ff51fcf5488c85b62815add902865fa4be188a7a54fedcdd
|
|
167
|
+
lastVerified: '2026-06-22T02:41:18.150Z'
|
|
169
168
|
local:
|
|
170
169
|
path: bin/commands/local.js
|
|
171
170
|
layer: L1
|
|
@@ -212,8 +211,8 @@ entities:
|
|
|
212
211
|
score: 0.7
|
|
213
212
|
constraints: []
|
|
214
213
|
extensionPoints: []
|
|
215
|
-
checksum: sha256:
|
|
216
|
-
lastVerified: '2026-06-
|
|
214
|
+
checksum: sha256:82ec537932c7b6c7e46c294ac4396c988bea43583a1f1f7a1886d2b13518dd55
|
|
215
|
+
lastVerified: '2026-06-21T05:24:05.621Z'
|
|
217
216
|
uninstall:
|
|
218
217
|
path: bin/commands/uninstall.js
|
|
219
218
|
layer: L1
|
|
@@ -257,7 +256,6 @@ entities:
|
|
|
257
256
|
- detection
|
|
258
257
|
- prompts
|
|
259
258
|
- install
|
|
260
|
-
- register-grounding-hooks
|
|
261
259
|
externalDeps: []
|
|
262
260
|
plannedDeps:
|
|
263
261
|
- logger
|
|
@@ -266,8 +264,8 @@ entities:
|
|
|
266
264
|
score: 0.7
|
|
267
265
|
constraints: []
|
|
268
266
|
extensionPoints: []
|
|
269
|
-
checksum: sha256:
|
|
270
|
-
lastVerified: '2026-06-
|
|
267
|
+
checksum: sha256:a6b1105e9f8d3c452955377afcfb0d2d70e0a3e358e343389490891e4ff4f10e
|
|
268
|
+
lastVerified: '2026-06-22T02:41:18.151Z'
|
|
271
269
|
constants:
|
|
272
270
|
path: bin/lib/constants.js
|
|
273
271
|
layer: L1
|
|
@@ -402,30 +400,8 @@ entities:
|
|
|
402
400
|
score: 0.7
|
|
403
401
|
constraints: []
|
|
404
402
|
extensionPoints: []
|
|
405
|
-
checksum: sha256:
|
|
406
|
-
lastVerified: '2026-06-
|
|
407
|
-
register-grounding-hooks:
|
|
408
|
-
path: bin/lib/register-grounding-hooks.js
|
|
409
|
-
layer: L1
|
|
410
|
-
type: script
|
|
411
|
-
purpose: Entity at bin\lib\register-grounding-hooks.js
|
|
412
|
-
keywords:
|
|
413
|
-
- register
|
|
414
|
-
- grounding
|
|
415
|
-
- hooks
|
|
416
|
-
usedBy:
|
|
417
|
-
- install
|
|
418
|
-
- update
|
|
419
|
-
dependencies: []
|
|
420
|
-
externalDeps: []
|
|
421
|
-
plannedDeps: []
|
|
422
|
-
lifecycle: production
|
|
423
|
-
adaptability:
|
|
424
|
-
score: 0.7
|
|
425
|
-
constraints: []
|
|
426
|
-
extensionPoints: []
|
|
427
|
-
checksum: sha256:0856daf29e660ededff840173ba939b38967f525d1271635a671710d28de4e35
|
|
428
|
-
lastVerified: '2026-06-15T01:36:42.609Z'
|
|
403
|
+
checksum: sha256:dc7cc1109f2bbdb7b3c5927df0de2418925842bdacdc0ba82815bfa2783d0b42
|
|
404
|
+
lastVerified: '2026-06-22T02:41:18.152Z'
|
|
429
405
|
setup-statusline:
|
|
430
406
|
path: bin/lib/setup-statusline.js
|
|
431
407
|
layer: L1
|
|
@@ -491,8 +467,8 @@ entities:
|
|
|
491
467
|
score: 0.7
|
|
492
468
|
constraints: []
|
|
493
469
|
extensionPoints: []
|
|
494
|
-
checksum: sha256:
|
|
495
|
-
lastVerified: '2026-06-
|
|
470
|
+
checksum: sha256:c1261659dd7f00f462a53696af866cb5b5a8bef12bab4f27a77725876adb7eec
|
|
471
|
+
lastVerified: '2026-06-21T05:24:05.624Z'
|
|
496
472
|
env-config:
|
|
497
473
|
path: bin/modules/env-config.js
|
|
498
474
|
layer: L1
|
|
@@ -547,8 +523,8 @@ entities:
|
|
|
547
523
|
score: 0.7
|
|
548
524
|
constraints: []
|
|
549
525
|
extensionPoints: []
|
|
550
|
-
checksum: sha256:
|
|
551
|
-
lastVerified: '2026-06-
|
|
526
|
+
checksum: sha256:5b4f06a8c4eef9be52f5b13545f992403031aa58a8a62ce2454015f98cb1156f
|
|
527
|
+
lastVerified: '2026-06-22T02:41:18.155Z'
|
|
552
528
|
sinapse-delegate:
|
|
553
529
|
path: bin/sinapse-delegate.js
|
|
554
530
|
layer: L1
|
|
@@ -607,8 +583,8 @@ entities:
|
|
|
607
583
|
score: 0.7
|
|
608
584
|
constraints: []
|
|
609
585
|
extensionPoints: []
|
|
610
|
-
checksum: sha256:
|
|
611
|
-
lastVerified: '2026-06-
|
|
586
|
+
checksum: sha256:0ae515465db7d650096643f63fd0c26cbcf6de6b47eefe81cda275aa3c3a0002
|
|
587
|
+
lastVerified: '2026-06-21T05:24:05.626Z'
|
|
612
588
|
sinapse-minimal:
|
|
613
589
|
path: bin/sinapse-minimal.js
|
|
614
590
|
layer: L1
|
|
@@ -653,8 +629,8 @@ entities:
|
|
|
653
629
|
score: 0.7
|
|
654
630
|
constraints: []
|
|
655
631
|
extensionPoints: []
|
|
656
|
-
checksum: sha256:
|
|
657
|
-
lastVerified: '2026-06-
|
|
632
|
+
checksum: sha256:01cae0d9971b1acaec7e62025570cc5a629fe60e91d226fde6818bf359913c78
|
|
633
|
+
lastVerified: '2026-06-21T05:24:05.627Z'
|
|
658
634
|
collab-start:
|
|
659
635
|
path: bin/utils/collab-start.js
|
|
660
636
|
layer: L1
|
|
@@ -731,8 +707,8 @@ entities:
|
|
|
731
707
|
score: 0.7
|
|
732
708
|
constraints: []
|
|
733
709
|
extensionPoints: []
|
|
734
|
-
checksum: sha256:
|
|
735
|
-
lastVerified: '2026-06-
|
|
710
|
+
checksum: sha256:4dbea5a072425ac0c23664e80a6bbb009a54ab0be4a2df76747d6bc99a1c39eb
|
|
711
|
+
lastVerified: '2026-06-21T05:24:05.628Z'
|
|
736
712
|
git-branch-guard:
|
|
737
713
|
path: bin/utils/git-branch-guard.js
|
|
738
714
|
layer: L1
|
|
@@ -831,8 +807,29 @@ entities:
|
|
|
831
807
|
score: 0.7
|
|
832
808
|
constraints: []
|
|
833
809
|
extensionPoints: []
|
|
834
|
-
checksum: sha256:
|
|
835
|
-
lastVerified: '2026-06-
|
|
810
|
+
checksum: sha256:f221f41844640d26dca6c7ad2be1e833f5534ab0a9f343bf9c53d4c11da1265c
|
|
811
|
+
lastVerified: '2026-06-21T05:24:05.630Z'
|
|
812
|
+
staged-protected-files-guard:
|
|
813
|
+
path: bin/utils/staged-protected-files-guard.js
|
|
814
|
+
layer: L1
|
|
815
|
+
type: script
|
|
816
|
+
purpose: Entity at bin\utils\staged-protected-files-guard.js
|
|
817
|
+
keywords:
|
|
818
|
+
- staged
|
|
819
|
+
- protected
|
|
820
|
+
- files
|
|
821
|
+
- guard
|
|
822
|
+
usedBy: []
|
|
823
|
+
dependencies: []
|
|
824
|
+
externalDeps: []
|
|
825
|
+
plannedDeps: []
|
|
826
|
+
lifecycle: orphan
|
|
827
|
+
adaptability:
|
|
828
|
+
score: 0.7
|
|
829
|
+
constraints: []
|
|
830
|
+
extensionPoints: []
|
|
831
|
+
checksum: sha256:870c6bee1f9f40b9f7c13ad9fbb36e0279b37f19dc7d4da59708cffdfd8cb383
|
|
832
|
+
lastVerified: '2026-06-21T05:24:05.631Z'
|
|
836
833
|
staged-secret-scan:
|
|
837
834
|
path: bin/utils/staged-secret-scan.js
|
|
838
835
|
layer: L1
|
|
@@ -4231,6 +4228,7 @@ entities:
|
|
|
4231
4228
|
usedBy:
|
|
4232
4229
|
- developer
|
|
4233
4230
|
- product-lead
|
|
4231
|
+
- quality-gate
|
|
4234
4232
|
dependencies: []
|
|
4235
4233
|
externalDeps: []
|
|
4236
4234
|
plannedDeps:
|
|
@@ -7585,6 +7583,7 @@ entities:
|
|
|
7585
7583
|
dependencies:
|
|
7586
7584
|
- config-cache
|
|
7587
7585
|
- performance-tracker
|
|
7586
|
+
- squad-agent-resolver
|
|
7588
7587
|
- config-resolver
|
|
7589
7588
|
externalDeps: []
|
|
7590
7589
|
plannedDeps: []
|
|
@@ -7593,8 +7592,8 @@ entities:
|
|
|
7593
7592
|
score: 0.7
|
|
7594
7593
|
constraints: []
|
|
7595
7594
|
extensionPoints: []
|
|
7596
|
-
checksum: sha256:
|
|
7597
|
-
lastVerified: '2026-06-
|
|
7595
|
+
checksum: sha256:e27095c228ce32d8b5a6f45c937a02242de97dd6ea42a0e8a52651d15962e31c
|
|
7596
|
+
lastVerified: '2026-06-21T05:24:05.776Z'
|
|
7598
7597
|
agent-exit-hooks:
|
|
7599
7598
|
path: .sinapse-ai/development/scripts/agent-exit-hooks.js
|
|
7600
7599
|
layer: L2
|
|
@@ -8042,8 +8041,8 @@ entities:
|
|
|
8042
8041
|
score: 0.7
|
|
8043
8042
|
constraints: []
|
|
8044
8043
|
extensionPoints: []
|
|
8045
|
-
checksum: sha256:
|
|
8046
|
-
lastVerified: '2026-06-
|
|
8044
|
+
checksum: sha256:293b89379a558837cfab65893130b638d6207079cde2d5252578089bb25732be
|
|
8045
|
+
lastVerified: '2026-06-21T05:24:05.781Z'
|
|
8047
8046
|
greeting-config-cli:
|
|
8048
8047
|
path: .sinapse-ai/development/scripts/greeting-config-cli.js
|
|
8049
8048
|
layer: L2
|
|
@@ -9079,8 +9078,8 @@ entities:
|
|
|
9079
9078
|
score: 0.4
|
|
9080
9079
|
constraints: []
|
|
9081
9080
|
extensionPoints: []
|
|
9082
|
-
checksum: sha256:
|
|
9083
|
-
lastVerified: '2026-06-
|
|
9081
|
+
checksum: sha256:c7464066f3862b251e266c28ebd2945dc2d958997c020f5ce4121fb7cc2ca423
|
|
9082
|
+
lastVerified: '2026-06-21T05:24:05.798Z'
|
|
9084
9083
|
devops-helper:
|
|
9085
9084
|
path: .sinapse-ai/core/code-intel/helpers/devops-helper.js
|
|
9086
9085
|
layer: L1
|
|
@@ -9101,8 +9100,8 @@ entities:
|
|
|
9101
9100
|
score: 0.4
|
|
9102
9101
|
constraints: []
|
|
9103
9102
|
extensionPoints: []
|
|
9104
|
-
checksum: sha256:
|
|
9105
|
-
lastVerified: '2026-06-
|
|
9103
|
+
checksum: sha256:e8017237fb2db8b49ebd02a9114a93549fbf0683044d7ad1a8632106188495a9
|
|
9104
|
+
lastVerified: '2026-06-21T05:24:05.798Z'
|
|
9106
9105
|
planning-helper:
|
|
9107
9106
|
path: .sinapse-ai/core/code-intel/helpers/planning-helper.js
|
|
9108
9107
|
layer: L1
|
|
@@ -9126,8 +9125,8 @@ entities:
|
|
|
9126
9125
|
score: 0.4
|
|
9127
9126
|
constraints: []
|
|
9128
9127
|
extensionPoints: []
|
|
9129
|
-
checksum: sha256:
|
|
9130
|
-
lastVerified: '2026-06-
|
|
9128
|
+
checksum: sha256:9b37aa02b3b0a3cabb53e2c0e53f05e1db65490d1ac403088aefec977fd025f8
|
|
9129
|
+
lastVerified: '2026-06-21T05:24:05.799Z'
|
|
9131
9130
|
qa-helper:
|
|
9132
9131
|
path: .sinapse-ai/core/code-intel/helpers/qa-helper.js
|
|
9133
9132
|
layer: L1
|
|
@@ -9146,8 +9145,8 @@ entities:
|
|
|
9146
9145
|
score: 0.4
|
|
9147
9146
|
constraints: []
|
|
9148
9147
|
extensionPoints: []
|
|
9149
|
-
checksum: sha256:
|
|
9150
|
-
lastVerified: '2026-06-
|
|
9148
|
+
checksum: sha256:852fa5c36260f7e89fd15dd5e4702f6e2eaae88bb4d8615f6a82b30ffdc88310
|
|
9149
|
+
lastVerified: '2026-06-21T05:24:05.799Z'
|
|
9151
9150
|
story-helper:
|
|
9152
9151
|
path: .sinapse-ai/core/code-intel/helpers/story-helper.js
|
|
9153
9152
|
layer: L1
|
|
@@ -9446,8 +9445,8 @@ entities:
|
|
|
9446
9445
|
score: 0.4
|
|
9447
9446
|
constraints: []
|
|
9448
9447
|
extensionPoints: []
|
|
9449
|
-
checksum: sha256:
|
|
9450
|
-
lastVerified: '2026-06-
|
|
9448
|
+
checksum: sha256:bf453cb8203e0752bd41a25449b3883bb548e746edfb015c7969951a16b1f62a
|
|
9449
|
+
lastVerified: '2026-06-21T05:24:05.802Z'
|
|
9451
9450
|
agent-memory:
|
|
9452
9451
|
path: .sinapse-ai/core/doctor/checks/agent-memory.js
|
|
9453
9452
|
layer: L1
|
|
@@ -9610,8 +9609,8 @@ entities:
|
|
|
9610
9609
|
score: 0.4
|
|
9611
9610
|
constraints: []
|
|
9612
9611
|
extensionPoints: []
|
|
9613
|
-
checksum: sha256:
|
|
9614
|
-
lastVerified: '2026-06-
|
|
9612
|
+
checksum: sha256:1d20455c435ccb0d9eefb3ad8fbe0edf4bfa8e9ba4e1b7c10e837ac9063c3479
|
|
9613
|
+
lastVerified: '2026-06-21T05:24:05.803Z'
|
|
9615
9614
|
graph-dashboard:
|
|
9616
9615
|
path: .sinapse-ai/core/doctor/checks/graph-dashboard.js
|
|
9617
9616
|
layer: L1
|
|
@@ -9726,8 +9725,8 @@ entities:
|
|
|
9726
9725
|
score: 0.4
|
|
9727
9726
|
constraints: []
|
|
9728
9727
|
extensionPoints: []
|
|
9729
|
-
checksum: sha256:
|
|
9730
|
-
lastVerified: '2026-06-
|
|
9728
|
+
checksum: sha256:c523e6917373ae0080f98d81c52512c34ca11904339dd09656375bfff4a9075b
|
|
9729
|
+
lastVerified: '2026-06-21T05:24:05.805Z'
|
|
9731
9730
|
rules-files:
|
|
9732
9731
|
path: .sinapse-ai/core/doctor/checks/rules-files.js
|
|
9733
9732
|
layer: L1
|
|
@@ -9746,8 +9745,8 @@ entities:
|
|
|
9746
9745
|
score: 0.4
|
|
9747
9746
|
constraints: []
|
|
9748
9747
|
extensionPoints: []
|
|
9749
|
-
checksum: sha256:
|
|
9750
|
-
lastVerified: '2026-06-
|
|
9748
|
+
checksum: sha256:773572637ba2758e6ea60910d86e9973bd261020b33b44da93f946f852715e91
|
|
9749
|
+
lastVerified: '2026-06-21T05:24:05.805Z'
|
|
9751
9750
|
settings-json:
|
|
9752
9751
|
path: .sinapse-ai/core/doctor/checks/settings-json.js
|
|
9753
9752
|
layer: L1
|
|
@@ -10405,8 +10404,8 @@ entities:
|
|
|
10405
10404
|
score: 0.4
|
|
10406
10405
|
constraints: []
|
|
10407
10406
|
extensionPoints: []
|
|
10408
|
-
checksum: sha256:
|
|
10409
|
-
lastVerified: '2026-06-
|
|
10407
|
+
checksum: sha256:491d199284d20ac61457632b2cd6890eaa2d18dab2f6d1577674f0854219f8bd
|
|
10408
|
+
lastVerified: '2026-06-21T05:24:05.813Z'
|
|
10410
10409
|
code-intel-source:
|
|
10411
10410
|
path: .sinapse-ai/core/graph-dashboard/data-sources/code-intel-source.js
|
|
10412
10411
|
layer: L1
|
|
@@ -10428,8 +10427,8 @@ entities:
|
|
|
10428
10427
|
score: 0.4
|
|
10429
10428
|
constraints: []
|
|
10430
10429
|
extensionPoints: []
|
|
10431
|
-
checksum: sha256:
|
|
10432
|
-
lastVerified: '2026-06-
|
|
10430
|
+
checksum: sha256:90957f10067d26a41538574f4cf7397cef7bcf87c080fe27b96d91c244306f0c
|
|
10431
|
+
lastVerified: '2026-06-21T05:24:05.813Z'
|
|
10433
10432
|
metrics-source:
|
|
10434
10433
|
path: .sinapse-ai/core/graph-dashboard/data-sources/metrics-source.js
|
|
10435
10434
|
layer: L1
|
|
@@ -11443,8 +11442,8 @@ entities:
|
|
|
11443
11442
|
score: 0.4
|
|
11444
11443
|
constraints: []
|
|
11445
11444
|
extensionPoints: []
|
|
11446
|
-
checksum: sha256:
|
|
11447
|
-
lastVerified: '2026-06-
|
|
11445
|
+
checksum: sha256:a8f1efdf143c5bb91e8d2e983d820ddb0367b1404c86bbc2927fb136c9afd4f3
|
|
11446
|
+
lastVerified: '2026-06-21T05:24:05.828Z'
|
|
11448
11447
|
circuit-breaker:
|
|
11449
11448
|
path: .sinapse-ai/core/ids/circuit-breaker.js
|
|
11450
11449
|
layer: L1
|
|
@@ -11668,8 +11667,8 @@ entities:
|
|
|
11668
11667
|
score: 0.4
|
|
11669
11668
|
constraints: []
|
|
11670
11669
|
extensionPoints: []
|
|
11671
|
-
checksum: sha256:
|
|
11672
|
-
lastVerified: '2026-06-
|
|
11670
|
+
checksum: sha256:0c8916f70a410a6aa08f789c58cf84dd4ba60845964a8454b074d367c03770a4
|
|
11671
|
+
lastVerified: '2026-06-21T05:24:05.829Z'
|
|
11673
11672
|
registry-healer:
|
|
11674
11673
|
path: .sinapse-ai/core/ids/registry-healer.js
|
|
11675
11674
|
layer: L1
|
|
@@ -12990,8 +12989,8 @@ entities:
|
|
|
12990
12989
|
score: 0.4
|
|
12991
12990
|
constraints: []
|
|
12992
12991
|
extensionPoints: []
|
|
12993
|
-
checksum: sha256:
|
|
12994
|
-
lastVerified: '2026-06-
|
|
12992
|
+
checksum: sha256:b0e65b85380265d1db589d7e48e98e30b96f3da9af1a082f04aa794d9d412838
|
|
12993
|
+
lastVerified: '2026-06-21T05:24:05.840Z'
|
|
12995
12994
|
squad-agent-resolver:
|
|
12996
12995
|
path: .sinapse-ai/core/registry/squad-agent-resolver.js
|
|
12997
12996
|
layer: L1
|
|
@@ -13002,6 +13001,7 @@ entities:
|
|
|
13002
13001
|
- agent
|
|
13003
13002
|
- resolver
|
|
13004
13003
|
usedBy:
|
|
13004
|
+
- agent-config-loader
|
|
13005
13005
|
- agents
|
|
13006
13006
|
- subagent-dispatcher
|
|
13007
13007
|
dependencies: []
|
|
@@ -13012,8 +13012,8 @@ entities:
|
|
|
13012
13012
|
score: 0.4
|
|
13013
13013
|
constraints: []
|
|
13014
13014
|
extensionPoints: []
|
|
13015
|
-
checksum: sha256:
|
|
13016
|
-
lastVerified: '2026-06-
|
|
13015
|
+
checksum: sha256:74c4a1fafd2f60eb9db38e9fd82a03b74d47d4e563ccb754fe00824f519c84f8
|
|
13016
|
+
lastVerified: '2026-06-21T05:24:05.840Z'
|
|
13017
13017
|
validate-registry:
|
|
13018
13018
|
path: .sinapse-ai/core/registry/validate-registry.js
|
|
13019
13019
|
layer: L1
|
|
@@ -13635,8 +13635,8 @@ entities:
|
|
|
13635
13635
|
score: 0.4
|
|
13636
13636
|
constraints: []
|
|
13637
13637
|
extensionPoints: []
|
|
13638
|
-
checksum: sha256:
|
|
13639
|
-
lastVerified: '2026-06-
|
|
13638
|
+
checksum: sha256:57a514c7e03913d466d2058400229a8ffb4589e6ad7dcc03cbacd93a12df2ac6
|
|
13639
|
+
lastVerified: '2026-06-21T05:24:05.843Z'
|
|
13640
13640
|
memory-bridge:
|
|
13641
13641
|
path: .sinapse-ai/core/synapse/memory/memory-bridge.js
|
|
13642
13642
|
layer: L1
|
|
@@ -14270,8 +14270,8 @@ entities:
|
|
|
14270
14270
|
score: 0.3
|
|
14271
14271
|
constraints: []
|
|
14272
14272
|
extensionPoints: []
|
|
14273
|
-
checksum: sha256:
|
|
14274
|
-
lastVerified: '2026-06-
|
|
14273
|
+
checksum: sha256:81144f100a7ea8ef339a51691d32e7c480e24fef6ab4c3276e927568ba6ba0e4
|
|
14274
|
+
lastVerified: '2026-06-21T05:24:05.860Z'
|
|
14275
14275
|
product-lead:
|
|
14276
14276
|
path: .sinapse-ai/development/agents/product-lead.md
|
|
14277
14277
|
layer: L2
|
|
@@ -14355,6 +14355,7 @@ entities:
|
|
|
14355
14355
|
dependencies:
|
|
14356
14356
|
- qa-create-fix-request
|
|
14357
14357
|
- qa-generate-tests
|
|
14358
|
+
- po-manage-story-backlog
|
|
14358
14359
|
- qa-nfr-assess
|
|
14359
14360
|
- qa-gate
|
|
14360
14361
|
- qa-review-build
|
|
@@ -14381,15 +14382,14 @@ entities:
|
|
|
14381
14382
|
externalDeps:
|
|
14382
14383
|
- coderabbit
|
|
14383
14384
|
- git
|
|
14384
|
-
plannedDeps:
|
|
14385
|
-
- manage-story-backlog
|
|
14385
|
+
plannedDeps: []
|
|
14386
14386
|
lifecycle: experimental
|
|
14387
14387
|
adaptability:
|
|
14388
14388
|
score: 0.3
|
|
14389
14389
|
constraints: []
|
|
14390
14390
|
extensionPoints: []
|
|
14391
|
-
checksum: sha256:
|
|
14392
|
-
lastVerified: '2026-06-
|
|
14391
|
+
checksum: sha256:bc99385b3aee34ed5234287f37b53dd57c1f59b7f4cf1bd401447da4562117d4
|
|
14392
|
+
lastVerified: '2026-06-21T05:24:05.864Z'
|
|
14393
14393
|
snps-orqx:
|
|
14394
14394
|
path: .sinapse-ai/development/agents/snps-orqx.md
|
|
14395
14395
|
layer: L2
|
|
@@ -14411,8 +14411,8 @@ entities:
|
|
|
14411
14411
|
score: 0.3
|
|
14412
14412
|
constraints: []
|
|
14413
14413
|
extensionPoints: []
|
|
14414
|
-
checksum: sha256:
|
|
14415
|
-
lastVerified: '2026-06-
|
|
14414
|
+
checksum: sha256:ac7f931f107fe2adc020ef26f8ea0e1aba57dd0ba3d02bbff3b92e3ca6466368
|
|
14415
|
+
lastVerified: '2026-06-21T05:24:05.866Z'
|
|
14416
14416
|
sprint-lead:
|
|
14417
14417
|
path: .sinapse-ai/development/agents/sprint-lead.md
|
|
14418
14418
|
layer: L2
|
|
@@ -17526,8 +17526,8 @@ entities:
|
|
|
17526
17526
|
score: 0.7
|
|
17527
17527
|
constraints: []
|
|
17528
17528
|
extensionPoints: []
|
|
17529
|
-
checksum: sha256:
|
|
17530
|
-
lastVerified: '2026-06-
|
|
17529
|
+
checksum: sha256:1fb818950cfa60c572cdc63b5f822ffe9b0a11d351d136f2373bffb24eef99e8
|
|
17530
|
+
lastVerified: '2026-06-21T05:24:05.941Z'
|
|
17531
17531
|
validate-claude-integration:
|
|
17532
17532
|
path: .sinapse-ai/infrastructure/scripts/validate-claude-integration.js
|
|
17533
17533
|
layer: L2
|
|
@@ -37,3 +37,38 @@
|
|
|
37
37
|
## Archived
|
|
38
38
|
<!-- Patterns no longer relevant — kept for history -->
|
|
39
39
|
<!-- Format: - ~~{pattern}~~ | Archived: {YYYY-MM-DD} | Reason: {reason} -->
|
|
40
|
+
|
|
41
|
+
## Municao: Engenharia de Software (kit Fase 4)
|
|
42
|
+
|
|
43
|
+
Fonte completa: `engenharia-software/fase-4-agents/` (KIT-architect, KIT-orquestrador, KIT-fundamentos-transversal) — repo github `caioimori/engenharia-de-software`. Esta secao e o destilado; consulte o kit pro detalhe.
|
|
44
|
+
|
|
45
|
+
### Principios nao-negociaveis
|
|
46
|
+
- **Tudo e trade-off (First Law).** Nunca "o melhor X"; sempre "X paga seu custo NESTE contexto porque..." (Richards & Ford, *Fundamentals of Software Architecture*).
|
|
47
|
+
- **ASRs dirigem a estrutura, nao moda.** Top 3-7 atributos de qualidade, cada um como cenario mensuravel com SLO numerico (Bass/Clements/Kazman, SEI).
|
|
48
|
+
- **Fronteira e linguistica (bounded context), nunca camada tecnica.** Mudanca de linguagem = boundary; duplicata de evento e pista, nao erro (Evans + Brandolini/EventStorming).
|
|
49
|
+
- **Dependency Rule: dominio puro no nucleo;** DB/UI/framework/MCP/LLM sao detalhes na borda (R.C. Martin, *Clean Architecture*).
|
|
50
|
+
- **Monolito modular primeiro;** distribua so o quantum com deploy/escala/time independentes + DevOps maduro — senao = distributed monolith (Newman, *Building Microservices*).
|
|
51
|
+
- **Eventual por padrao em distribuido; ACID dentro do bounded context.** Outbox nunca dual-write; saga + compensacao + idempotencia; nunca 2PC default (*The Hard Parts*).
|
|
52
|
+
- **Toda integracao externa:** timeout + circuit breaker + fallback; ACL valida output de LLM/API (Nygard, *Release It!*).
|
|
53
|
+
- **ADR imutavel com consequencias NEGATIVAS + opcoes rejeitadas;** supersede, nunca edita (Nygard / MADR 4.0.0).
|
|
54
|
+
- **Atributo critico vira fitness function no CI** (rules live in code) — Ford/Parsons/Kua, *Building Evolutionary Architectures*.
|
|
55
|
+
- **Conway como design ativo:** topologia ANTES do enxame; carga cognitiva e o limite de fronteira; estrela nao malha (n(n-1)/2 persiste em tokens) — Conway + Skelton & Pais, *Team Topologies*.
|
|
56
|
+
- **Agente = bounded context = interpretador eval/apply** sob leis de complexidade; delegue a algoritmo deterministico o que e exato e barato (Evans DDD Europe 2025 + SICP/CLRS).
|
|
57
|
+
|
|
58
|
+
### Gates verificaveis (antes de Done)
|
|
59
|
+
- [ ] Cynefin classificado (campo `complexity:` no artefato de decisao).
|
|
60
|
+
- [ ] Cada boundary mapeia a um bounded context nomeado; zero fronteira por camada tecnica.
|
|
61
|
+
- [ ] Monolito x distribuido justificado por ADR (quantum + DevOps maduro) ou default monolito.
|
|
62
|
+
- [ ] ADR completo: Context, Options (incl. rejeitadas), Decision, Consequences com >=1 "Ruim:".
|
|
63
|
+
- [ ] Cada ASR com `response measure`/SLO numerico (regex de unidade: ms, %, p\d+, req/s).
|
|
64
|
+
- [ ] Dependency Rule verde no arch-linter (ArchUnit/dependency-cruiser); sem ciclos (`madge --circular` = 0).
|
|
65
|
+
- [ ] 1 transacao = 1 agregado; refs entre agregados por ID.
|
|
66
|
+
- [ ] Domain Events em PascalCase de negocio; zero "EntityUpdated"/"XxxChanged".
|
|
67
|
+
- [ ] ACL presente em toda chamada externa (API/MCP/LLM); domain primitives validados por construcao.
|
|
68
|
+
- [ ] Toda chamada externa com timeout + circuit breaker + fallback; write+publish via outbox; handlers idempotentes.
|
|
69
|
+
- [ ] Fitness functions poucas, de alto sinal, verdes no CI; PR que muda boundary inclui ADR novo.
|
|
70
|
+
- [ ] Fio de rastreabilidade intacto: outcome -> requisito(+fit criterion) -> ASR -> bounded context -> estilo -> ADR -> fitness function -> SLO.
|
|
71
|
+
- [ ] (squad) Sem overlap de escopo entre agents; nao-stream-aligned < ~15%; handoff = contrato versionado valido; zero codinome/@agent/path interno no texto user-facing.
|
|
72
|
+
|
|
73
|
+
### Loop operacional
|
|
74
|
+
Loop mestre: Cynefin -> Entender(outcome+ASR) -> Modelar(bounded context) -> Escolher(estilo por trade-off) -> Avaliar(sensitivity/tradeoff points) -> Registrar(ADR) -> Proteger(fitness function) -> Validar(CI); cada gate bloqueia, loop evolutivo reentra quando o negocio muda. Detalhe + diagramas mermaid (L1-L7 e Loop mestre): `LOOPS-design-arquitetura-diagramas.md` e, pra squads, `LOOPS-onda-7-processo-pessoas-diagramas.md` (B1-B6).
|