sinapse-ai 9.4.0 → 10.0.0-rc.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 (162) hide show
  1. package/.claude/CLAUDE.md +10 -4
  2. package/.claude/hooks/enforce-git-push-authority.sh +25 -4
  3. package/.claude/hooks/verify-packages.cjs +83 -0
  4. package/.claude/rules/hook-governance.md +1 -0
  5. package/.claude/rules/mandatory-delegation.md +24 -0
  6. package/.claude/rules/project-intelligence.md +63 -0
  7. package/.claude/rules/safe-collaboration.md +4 -2
  8. package/.claude/rules/security-data-protection.md +18 -0
  9. package/.claude/rules/squad-awareness.md +93 -67
  10. package/.codex/agents/analyst.md +90 -0
  11. package/.codex/agents/architect.md +78 -0
  12. package/.codex/agents/data-engineer.md +38 -0
  13. package/.codex/agents/developer.md +97 -0
  14. package/.codex/agents/devops.md +121 -0
  15. package/.codex/agents/product-lead.md +27 -0
  16. package/.codex/agents/project-lead.md +28 -0
  17. package/.codex/agents/quality-gate.md +89 -0
  18. package/.codex/agents/sprint-lead.md +28 -0
  19. package/.codex/agents/squad-creator.md +58 -0
  20. package/.codex/agents/ux-design-expert.md +28 -0
  21. package/.sinapse-ai/core/code-intel/registry-syncer.js +56 -3
  22. package/.sinapse-ai/core/ids/registry-updater.js +6 -1
  23. package/.sinapse-ai/core/orchestration/terminal-spawner.js +2 -2
  24. package/.sinapse-ai/data/entity-registry.yaml +1348 -907
  25. package/.sinapse-ai/data/registry-update-log.jsonl +28 -0
  26. package/.sinapse-ai/development/agents/architect.md +5 -0
  27. package/.sinapse-ai/development/agents/data-engineer.md +38 -0
  28. package/.sinapse-ai/development/agents/developer.md +28 -0
  29. package/.sinapse-ai/development/agents/devops.md +4 -0
  30. package/.sinapse-ai/development/agents/product-lead.md +27 -0
  31. package/.sinapse-ai/development/agents/project-lead.md +28 -0
  32. package/.sinapse-ai/development/agents/quality-gate.md +4 -0
  33. package/.sinapse-ai/development/agents/sprint-lead/MEMORY.md +8 -0
  34. package/.sinapse-ai/development/agents/sprint-lead.md +28 -0
  35. package/.sinapse-ai/development/agents/squad-creator.md +58 -0
  36. package/.sinapse-ai/development/agents/ux-design-expert.md +28 -0
  37. package/.sinapse-ai/development/knowledge-base/agent-communication-protocol.md +127 -0
  38. package/.sinapse-ai/development/knowledge-base/database-scaling-patterns.md +374 -0
  39. package/.sinapse-ai/development/knowledge-base/environment-deployment-patterns.md +353 -0
  40. package/.sinapse-ai/development/knowledge-base/gotchas-patterns.md +224 -0
  41. package/.sinapse-ai/development/knowledge-base/infrastructure-decision-framework.md +221 -0
  42. package/.sinapse-ai/development/knowledge-base/security-pre-deploy-checklist.md +410 -0
  43. package/.sinapse-ai/development/knowledge-base/software-architecture-patterns.md +299 -0
  44. package/.sinapse-ai/development/knowledge-base/token-economy-guide.md +198 -0
  45. package/.sinapse-ai/development/skills/captcha-handler.md +82 -0
  46. package/.sinapse-ai/development/skills/chrome-brain.md +81 -0
  47. package/.sinapse-ai/development/skills/deploy-readiness.md +93 -0
  48. package/.sinapse-ai/development/skills/model-router.md +92 -0
  49. package/.sinapse-ai/development/skills/sinapse-methodology.md +175 -0
  50. package/.sinapse-ai/development/skills/story-fast-track.md +71 -0
  51. package/.sinapse-ai/development/tasks/environment-promotion-pipeline.md +582 -0
  52. package/.sinapse-ai/development/tasks/generate-agent-handoff.md +223 -0
  53. package/.sinapse-ai/development/tasks/infrastructure-assessment.md +432 -0
  54. package/.sinapse-ai/development/tasks/load-testing-setup.md +611 -0
  55. package/.sinapse-ai/development/tasks/observability-blueprint.md +562 -0
  56. package/.sinapse-ai/development/templates/legal/breach-notification-tmpl.md +113 -0
  57. package/.sinapse-ai/development/templates/legal/privacy-policy-tmpl.md +93 -0
  58. package/.sinapse-ai/development/templates/legal/terms-of-service-tmpl.md +85 -0
  59. package/.sinapse-ai/development/workflows/story-development-cycle.yaml +40 -1
  60. package/.sinapse-ai/hooks/ids-post-commit.js +22 -0
  61. package/.sinapse-ai/infrastructure/contracts/compatibility/README.md +42 -0
  62. package/.sinapse-ai/infrastructure/contracts/compatibility/sinapse-current.yaml +35 -0
  63. package/.sinapse-ai/infrastructure/scripts/pr-review-ai.js +16 -13
  64. package/.sinapse-ai/infrastructure/scripts/setup-project-infra.js +128 -0
  65. package/.sinapse-ai/infrastructure/scripts/test-discovery.js +8 -3
  66. package/.sinapse-ai/infrastructure/scripts/validate-parity.js +76 -25
  67. package/.sinapse-ai/infrastructure/templates/config/env.example +16 -0
  68. package/.sinapse-ai/infrastructure/templates/config/gitignore-additions.tmpl +59 -0
  69. package/.sinapse-ai/infrastructure/templates/github/CODEOWNERS.template +12 -0
  70. package/.sinapse-ai/infrastructure/templates/github/PULL_REQUEST_TEMPLATE.md +29 -0
  71. package/.sinapse-ai/infrastructure/templates/github/ci-template.yml +77 -0
  72. package/.sinapse-ai/infrastructure/templates/github/issue-templates/bug_report.md +34 -0
  73. package/.sinapse-ai/infrastructure/templates/github/issue-templates/feature_request.md +19 -0
  74. package/.sinapse-ai/install-manifest.yaml +168 -41
  75. package/.sinapse-ai/internal/aiox-feature-map.md +270 -0
  76. package/README.en.md +167 -20
  77. package/README.md +174 -22
  78. package/bin/cli.js +363 -82
  79. package/bin/sinapse-graph.js +9 -0
  80. package/bin/sinapse-minimal.js +20 -9
  81. package/bin/sinapse.js +9 -0
  82. package/bin/utils/deprecation-warning.js +46 -0
  83. package/docs/chrome-brain-upgrade-plan.md +624 -0
  84. package/docs/framework/orqx-plan.md +1 -1
  85. package/docs/installation/chrome-brain.md +17 -7
  86. package/docs/mega-upgrade-orchestration-plan.md +71 -0
  87. package/docs/pt/contributing.md +20 -0
  88. package/docs/research-synthesis-for-upgrade.md +511 -0
  89. package/docs/security-audit-report.md +306 -0
  90. package/package.json +11 -4
  91. package/packages/installer/src/detection/detect-project-type.js +181 -63
  92. package/packages/installer/src/installer/manifest-signature.js +32 -17
  93. package/packages/installer/src/wizard/i18n.js +12 -0
  94. package/packages/installer/src/wizard/ide-config-generator.js +5 -0
  95. package/packages/installer/src/wizard/index.js +119 -14
  96. package/packages/installer/src/wizard/questions.js +2 -3
  97. package/packages/installer/tests/unit/detection/detect-project-type.test.js +138 -1
  98. package/scripts/coverage-report-summary.js +169 -0
  99. package/scripts/generate-install-manifest.js +6 -2
  100. package/scripts/release-readiness.js +169 -0
  101. package/scripts/validate-install-docs.js +394 -0
  102. package/scripts/validate-no-external-refs.js +376 -0
  103. package/scripts/validate-squad-orqx.js +302 -0
  104. package/scripts/validate-story-meta.js +263 -0
  105. package/squads/claude-code-mastery/CHANGELOG.md +1 -1
  106. package/squads/claude-code-mastery/README.md +2 -2
  107. package/squads/claude-code-mastery/squad.yaml +1 -1
  108. package/squads/squad-artdir/README.md +90 -0
  109. package/squads/squad-artdir/agents/accessibility-guardian.md +184 -0
  110. package/squads/squad-artdir/agents/artdir-orqx.md +145 -0
  111. package/squads/squad-artdir/agents/color-psychologist.md +166 -0
  112. package/squads/squad-artdir/agents/cro-persuasion.md +161 -0
  113. package/squads/squad-artdir/agents/design-system-architect.md +100 -0
  114. package/squads/squad-artdir/agents/ia-architect.md +169 -0
  115. package/squads/squad-artdir/agents/interaction-designer.md +162 -0
  116. package/squads/squad-artdir/agents/layout-engineer.md +163 -0
  117. package/squads/squad-artdir/agents/motion-architect.md +185 -0
  118. package/squads/squad-artdir/agents/platform-aesthetic-director.md +84 -0
  119. package/squads/squad-artdir/agents/premium-packaging-strategist.md +107 -0
  120. package/squads/squad-artdir/agents/product-surface-director.md +86 -0
  121. package/squads/squad-artdir/agents/type-systemist.md +138 -0
  122. package/squads/squad-artdir/agents/visual-strategist.md +127 -0
  123. package/squads/squad-artdir/checklists/seven-pillars-validation-checklist.md +172 -0
  124. package/squads/squad-artdir/knowledge-base/case-nyo-ia-reference.md +289 -0
  125. package/squads/squad-artdir/knowledge-base/deliverables-templates.md +457 -0
  126. package/squads/squad-artdir/knowledge-base/motion-technique-catalog.md +247 -0
  127. package/squads/squad-artdir/knowledge-base/premium-packaging-principles.md +133 -0
  128. package/squads/squad-artdir/knowledge-base/psychological-toolkit.md +229 -0
  129. package/squads/squad-artdir/knowledge-base/saas-art-direction-canon.md +242 -0
  130. package/squads/squad-artdir/knowledge-base/seven-pillars-framework.md +289 -0
  131. package/squads/squad-artdir/knowledge-base/ten-pillars-framework.md +221 -0
  132. package/squads/squad-artdir/package.json +20 -0
  133. package/squads/squad-artdir/squad.yaml +271 -0
  134. package/squads/squad-artdir/tasks/audit-conversion.md +97 -0
  135. package/squads/squad-artdir/tasks/audit-drift-multi-surface.md +55 -0
  136. package/squads/squad-artdir/tasks/consult-saas-canon.md +54 -0
  137. package/squads/squad-artdir/tasks/create-art-direction-brief.md +110 -0
  138. package/squads/squad-artdir/tasks/create-premium-packaging-brief.md +61 -0
  139. package/squads/squad-artdir/tasks/create-wireflow.md +84 -0
  140. package/squads/squad-artdir/tasks/design-color-system.md +81 -0
  141. package/squads/squad-artdir/tasks/design-product-surface.md +60 -0
  142. package/squads/squad-artdir/tasks/design-token-system.md +58 -0
  143. package/squads/squad-artdir/tasks/diagnose-visual-language.md +92 -0
  144. package/squads/squad-artdir/tasks/first-5-minutes-choreography.md +65 -0
  145. package/squads/squad-artdir/tasks/specify-motion-system.md +84 -0
  146. package/squads/squad-artdir/tasks/validate-against-pillars.md +143 -0
  147. package/squads/squad-artdir/templates/art-direction-brief-template.md +215 -0
  148. package/squads/squad-artdir/workflows/conversion-audit-cycle.yaml +78 -0
  149. package/squads/squad-artdir/workflows/full-art-direction-cycle.yaml +98 -0
  150. package/squads/squad-artdir/workflows/saas-platform-art-direction-cycle.yaml +174 -0
  151. package/squads/squad-brand/knowledge-base/ai-visual-generation-canon.md +234 -0
  152. package/squads/squad-brand/squad.yaml +20 -6
  153. package/squads/squad-claude/knowledge-base/context-window-optimization.md +1 -1
  154. package/squads/squad-claude/knowledge-base/swarm-orchestration-patterns.md +2 -2
  155. package/squads/squad-content/knowledge-base/ai-native-content-loop.md +220 -0
  156. package/squads/squad-content/knowledge-base/signal-intelligence-v2.md +234 -0
  157. package/squads/squad-content/knowledge-base/task-ownership-map.md +235 -0
  158. package/squads/squad-content/squad.yaml +187 -27
  159. package/squads/squad-copy/knowledge-base/ai-copy-human-loop-canon.md +235 -0
  160. package/squads/squad-copy/squad.yaml +19 -4
  161. package/squads/squad-design/knowledge-base/cross-surface-token-canon.md +209 -0
  162. package/squads/squad-design/squad.yaml +19 -4
package/.claude/CLAUDE.md CHANGED
@@ -87,11 +87,17 @@ Use Grep (not grep), Read (not cat), Edit (not sed), Glob (not find). Prefer nat
87
87
  - Agent memory in `.sinapse-ai/development/agents/{id}/MEMORY.md`
88
88
  - **Memory as hints:** Memory entries are hints, NOT ground truth. Always verify against actual codebase before acting on remembered facts.
89
89
 
90
- ## Delegation Model
90
+ ## Token Economy & Response Format (NON-NEGOTIABLE)
91
91
 
92
- - **Persona switch:** For sequential agent work in same context (lightweight)
93
- - **Sub-agent (Agent tool):** Only for parallel/isolated work (min ~20K tokens overhead)
94
- - **Never** spawn sub-agents for simple sequential tasks — use persona switch instead
92
+ Auto-applied to all agents: `~/.claude/rules/token-economy.md` + `~/.claude/rules/response-format.md`. Compact at 60%, model route haiku/sonnet/opus, no preamble, no trailing summary.
93
+
94
+ ## Delegation & Anti-Hallucination
95
+
96
+ - Persona switch for sequential work, sub-agent only for parallel (20K+ tokens each)
97
+ - Model routing: `haiku` routine, `sonnet` standard, `opus` complex
98
+ - Sub-agents announce their model for visual verification via statusline
99
+ - `npm view {pkg}` before adding deps. Cite file:line for claims.
100
+ - Mark uncertain claims with [NEEDS VERIFICATION]. Compact at 60%.
95
101
 
96
102
  ---
97
103
  *SINAPSE v6.0 — CLI First | Observability Second | UI Third*
@@ -1,13 +1,34 @@
1
1
  #!/bin/bash
2
2
  # enforce-git-push-authority.sh
3
- # PreToolUse hook: blocks "git push" commands in Bash tool
4
- # Only meant to run when agent is NOT @devops
3
+ # PreToolUse hook: blocks "git push" commands in Bash tool unless active agent is @devops
4
+ # Detects active agent via .sinapse/session-state.json (same pattern as enforce-delegation.cjs)
5
5
  # Uses node (not jq) for JSON parsing — works on Windows/Git Bash
6
- # FAIL-CLOSED: if parsing fails, blocks the command (exit 2)
7
- # Hardened v2: also detects indirect execution via script files and pipes
6
+ # FAIL-CLOSED: if parsing fails OR session-state is missing/unreadable, blocks the command
7
+ # Hardened v3: adds real agent detection (Story 10.15), retains indirect-execution checks
8
8
 
9
9
  INPUT=$(cat)
10
10
 
11
+ # Resolve project root consistently with other hooks
12
+ PROJECT_ROOT="${CLAUDE_PROJECT_DIR:-$(pwd)}"
13
+
14
+ # Detect active agent from session state (fail-closed: empty string on any error)
15
+ AGENT=$(node -e "
16
+ const fs = require('fs');
17
+ const path = require('path');
18
+ try {
19
+ const p = path.join(process.argv[1], '.sinapse', 'session-state.json');
20
+ const s = JSON.parse(fs.readFileSync(p, 'utf8'));
21
+ console.log(s.lastAgent || '');
22
+ } catch (e) {
23
+ console.log('');
24
+ }
25
+ " "$PROJECT_ROOT" 2>/dev/null)
26
+
27
+ # If active agent is @devops, allow the command immediately (AC 1)
28
+ if [ "$AGENT" = "devops" ]; then
29
+ exit 0
30
+ fi
31
+
11
32
  # Extract command from JSON using node (available on all SINAPSE systems)
12
33
  COMMAND=$(echo "$INPUT" | node -e "
13
34
  let d='';
@@ -0,0 +1,83 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * verify-packages.cjs — Slopsquatting Prevention Hook
4
+ *
5
+ * Blocks `npm install`/`npm add` commands that reference packages
6
+ * not found on the npm registry. Prevents installation of hallucinated
7
+ * (fabricated) packages that attackers may register with malicious code.
8
+ *
9
+ * Research: 19.7% of packages recommended by LLMs are fabricated.
10
+ * Source: arXiv study, 576K samples across 16 models.
11
+ *
12
+ * Hook type: PreToolUse (Bash)
13
+ * Exit 0 = allow, Exit 2 = block
14
+ */
15
+ 'use strict';
16
+
17
+ const { execSync } = require('child_process');
18
+
19
+ let input = '';
20
+ process.stdin.setEncoding('utf8');
21
+ process.stdin.on('data', (d) => { input += d; });
22
+ process.stdin.on('end', () => {
23
+ try {
24
+ const data = JSON.parse(input);
25
+ const command = (data.tool_input && data.tool_input.command) || '';
26
+
27
+ // Only check direct npm install/add commands (not text in PR bodies, etc.)
28
+ // Skip if command is gh, curl, echo, or other non-npm commands
29
+ const trimmed = command.trim();
30
+ if (trimmed.startsWith('gh ') || trimmed.startsWith('curl ') || trimmed.startsWith('echo ')) process.exit(0);
31
+ const installMatch = trimmed.match(/^npm\s+(install|add|i)\s+(.+)/m);
32
+ if (!installMatch) process.exit(0);
33
+
34
+ const argsStr = installMatch[2];
35
+
36
+ // Extract package names, skipping flags (--save-dev, -D, etc.)
37
+ const tokens = argsStr.split(/\s+/).filter(t => !t.startsWith('-'));
38
+ if (tokens.length === 0) process.exit(0);
39
+
40
+ const failed = [];
41
+ for (const token of tokens) {
42
+ // Strip version specifier: pkg@1.0.0 -> pkg, @org/pkg@^2 -> @org/pkg
43
+ let pkgName;
44
+ if (token.startsWith('@')) {
45
+ // Scoped package: @org/pkg@version
46
+ const slashIdx = token.indexOf('/');
47
+ if (slashIdx === -1) continue; // malformed, skip
48
+ const afterSlash = token.substring(slashIdx + 1);
49
+ const atIdx = afterSlash.indexOf('@');
50
+ pkgName = atIdx > 0
51
+ ? token.substring(0, slashIdx + 1 + atIdx)
52
+ : token;
53
+ } else {
54
+ const atIdx = token.indexOf('@');
55
+ pkgName = atIdx > 0 ? token.substring(0, atIdx) : token;
56
+ }
57
+
58
+ // Skip if it looks like a local path or URL
59
+ if (pkgName.startsWith('.') || pkgName.startsWith('/') || pkgName.includes('://')) continue;
60
+ if (pkgName.endsWith('.tgz') || pkgName.endsWith('.tar.gz')) continue;
61
+
62
+ try {
63
+ execSync(`npm view "${pkgName}" name`, { timeout: 8000, stdio: 'pipe' });
64
+ } catch {
65
+ failed.push(pkgName);
66
+ }
67
+ }
68
+
69
+ if (failed.length > 0) {
70
+ const names = failed.map(n => `'${n}'`).join(', ');
71
+ const msg = failed.length === 1
72
+ ? `BLOCKED: Package ${names} not found on npm. This may be a hallucinated package (slopsquatting).`
73
+ : `BLOCKED: Packages ${names} not found on npm. These may be hallucinated packages (slopsquatting).`;
74
+ process.stderr.write(msg + '\n');
75
+ process.exit(2);
76
+ }
77
+
78
+ process.exit(0);
79
+ } catch {
80
+ // Fail-open: if hook crashes, allow the operation
81
+ process.exit(0);
82
+ }
83
+ });
@@ -14,6 +14,7 @@ paths:
14
14
  | Hook | Purpose | Behavior |
15
15
  |------|---------|----------|
16
16
  | `enforce-git-push-authority.sh` | Art. II — Only @devops can push | BLOCK (deny) |
17
+ | `verify-packages.cjs` | Security — Block hallucinated npm packages (slopsquatting) | BLOCK (exit 2) |
17
18
  | `sql-governance.py` | Security — Block dangerous SQL | BLOCK (exit 2) |
18
19
  | `enforce-delegation.cjs` | Art. VIII — Orchestrators can't execute | BLOCK (exit 2) |
19
20
 
@@ -91,6 +91,30 @@ Everything OUTSIDE their orchestration domain MUST be delegated.
91
91
  - Saying "vou fazer isso eu mesmo" instead of delegating
92
92
  - Absorbing a request and executing it instead of routing
93
93
 
94
+ ## Universal Auto-Routing (users should NEVER call agents manually)
95
+
96
+ Users are NOT AI experts. The system MUST understand natural language and route automatically.
97
+
98
+ **On EVERY user message (not just orchestrator):**
99
+ 1. Detect the domain of the request
100
+ 2. If a specialist exists → delegate automatically (no confirmation needed)
101
+ 3. Brief acknowledgment: "Delegando para @specialist..."
102
+ 4. Return the result to the user
103
+
104
+ **Auto-detect project state on first interaction:**
105
+ - Check for `.sinapse-ai/` → SINAPSE-managed (continue SDC)
106
+ - Check for `package.json` or `.git` → Brownfield (run quick tech scan first)
107
+ - Empty directory → Greenfield (ask project type, scaffold)
108
+
109
+ **Cross-agent handoff (automatic, never ask user):**
110
+ - Agent needs git push → auto-delegate to @devops
111
+ - Agent needs tests → auto-delegate to @quality-gate
112
+ - Agent needs schema → auto-delegate to @data-engineer
113
+ - Agent needs story → auto-create via fast-track or @sprint-lead
114
+ - Agent needs architecture decision → auto-delegate to @architect
115
+
94
116
  ## Enforcement
95
117
 
96
118
  Any response from an orchestrator that contains direct domain work (code, schema, copy, etc.) without having first delegated to the appropriate specialist is a **constitutional violation** and must be corrected immediately.
119
+
120
+ Any response that asks the user to manually invoke an agent (showing `@agent-name` or `/SINAPSE:agents:...` commands) instead of auto-routing is a **UX violation** — the system should just do it.
@@ -0,0 +1,63 @@
1
+ # Project Intelligence — Auto-Detection (NON-NEGOTIABLE)
2
+
3
+ > Applies to ALL agents, ALL sessions. Users NEVER configure project type manually.
4
+
5
+ ## Auto-Detect on First Interaction
6
+
7
+ Before ANY work, silently detect project state:
8
+
9
+ ```
10
+ 1. Check: does .sinapse-ai/ exist?
11
+ YES → SINAPSE-managed project. Read core-config.yaml for context.
12
+ NO → Continue to step 2.
13
+
14
+ 2. Check: is directory empty (or only has .git)?
15
+ YES → GREENFIELD. Ask project type, then scaffold.
16
+ NO → Continue to step 3.
17
+
18
+ 3. Check: does package.json or .git exist?
19
+ YES → BROWNFIELD. Run quick tech scan, then proceed.
20
+ NO → UNKNOWN. Ask user what they want to build.
21
+ ```
22
+
23
+ ## Quick Tech Scan (BROWNFIELD, < 5 seconds)
24
+
25
+ When brownfield detected, silently check:
26
+
27
+ | Check | How | Sets Context |
28
+ |-------|-----|-------------|
29
+ | Framework | package.json dependencies | next/react/vue/angular/express |
30
+ | Language | tsconfig.json exists? | typescript/javascript |
31
+ | Database | supabase/, prisma/, .env | supabase/prisma/drizzle/none |
32
+ | Tests | jest.config, vitest.config | jest/vitest/none |
33
+ | CI | .github/workflows/ | github-actions/none |
34
+
35
+ Report to user in ONE line: "Projeto Next.js + TypeScript + Supabase detectado."
36
+
37
+ ## Behavior Adaptation by State
38
+
39
+ ### Greenfield Behavior
40
+ - Prioritize: scaffolding, architecture decisions, project setup
41
+ - Workflow: setup → story → implement (no brownfield discovery needed)
42
+ - Auto-apply: infra templates (PR template, CI, .env.example, CODEOWNERS)
43
+ - Ask: "Que tipo de projeto? (web app, API, SaaS, landing page)"
44
+
45
+ ### Brownfield Behavior
46
+ - Prioritize: understanding existing code before changing anything
47
+ - First action: read README, package.json, folder structure
48
+ - Workflow: quick scan → understand → then proceed with user request
49
+ - NEVER rewrite or refactor without understanding existing patterns
50
+ - Respect existing conventions (naming, folder structure, testing framework)
51
+
52
+ ### SINAPSE-Managed Behavior
53
+ - Check for active story in docs/stories/
54
+ - Resume where last session left off
55
+ - Follow SDC workflow (story → implement → QA → push)
56
+
57
+ ## Anti-Patterns (FORBIDDEN)
58
+
59
+ - Asking user "is this a new or existing project?"
60
+ - Asking user to set `projectType` in config
61
+ - Starting implementation in brownfield without reading existing code first
62
+ - Applying greenfield templates to a brownfield project (overwriting existing CI/configs)
63
+ - Ignoring existing patterns and imposing SINAPSE conventions forcefully
@@ -91,8 +91,10 @@ Types: `feat`, `fix`, `refactor`, `docs`, `chore`, `test`
91
91
  After push, the agent MUST:
92
92
  ```
93
93
  1. gh pr create with clear title and description (uses PR template)
94
- 2. Auto-assign the OTHER person as reviewer
95
- 3. Inform the user: "PR criado, {outro} precisa aprovar"
94
+ 2. Auto-assign reviewer based on who is pushing:
95
+ - Caio's PR Caio can merge directly (admin bypass)
96
+ - Matheus's PR → Assign @caioimori as reviewer (required approval)
97
+ 3. Inform the user: "PR criado"
96
98
  ```
97
99
 
98
100
  ### 6. After PR Merge — Cleanup
@@ -98,6 +98,24 @@ db.query('SELECT * FROM users WHERE name = $1', [input]);
98
98
  supabase.from('users').select('*').eq('name', input);
99
99
  ```
100
100
 
101
+ ### RLS Performance Optimization (research-backed, ~95% improvement)
102
+
103
+ ```sql
104
+ -- SLOW: auth.uid() called per-row (function call overhead)
105
+ CREATE POLICY "bad" ON items USING (auth.uid() = user_id);
106
+
107
+ -- FAST: subselect evaluates once per query (~95% faster)
108
+ CREATE POLICY "good" ON items USING ((SELECT auth.uid()) = user_id);
109
+ ```
110
+
111
+ **Index strategy:** Create indexes on EVERY column used in RLS USING/WITH CHECK clauses:
112
+ ```sql
113
+ CREATE INDEX idx_items_user ON items(user_id);
114
+ CREATE INDEX idx_items_org ON items(org_id);
115
+ ```
116
+
117
+ **Anti-patterns:** No `EXISTS` subqueries in RLS, no JOINs in policies, no RLS on tables accessed >1000 req/s without indexes.
118
+
101
119
  ### Least Privilege
102
120
  - Each service uses a dedicated role with minimal permissions
103
121
  - Read-only services get SELECT only
@@ -4,70 +4,96 @@ paths:
4
4
  - ".sinapse-ai/development/agents/**"
5
5
  ---
6
6
 
7
- # Sinapse — Orchestration Rules
8
-
9
- > **CRITICAL:** This project has specialized AI agent squads installed. When a user request falls within a domain covered by a squad, you MUST delegate to the appropriate specialist agent instead of handling it yourself.
10
-
11
- ## Delegation Rule
12
-
13
- When a user request matches a squad domain (see table below):
14
- 1. **Acknowledge** the domain is covered by a specialized squad
15
- 2. **Recommend** activating the squad's orchestrator or specialist agent
16
- 3. **Provide** the invocation command (e.g., `/ca:agents:ca-orchestrator`)
17
- 4. **Do NOT** handle the request yourself if a dedicated agent exists
18
-
19
- **Exception:** If the user explicitly asks you to handle it anyway, proceed — but note the specialized squad exists.
20
-
21
- ## Squads Instaladas
22
-
23
- | Squad | Capacidade |
24
- |-------|-----------|
25
-
26
-
27
- ## Mapa de Delegacao por Dominio
28
-
29
- | Dominio | Squad | Agente Lead | Invocacao |
30
- |---------|-------|-------------|-----------|
31
- | Branding e identidade visual | squad-brand | brand-orchestrator (Meridian) | `/brand:agents:brand-orchestrator` |
32
- | Vendas e estrategia comercial | squad-commercial | cs-orchestrator (Pipeline) | `/commercial:agents:cs-orchestrator` |
33
- | Conteudo e editorial | squad-content | content-orchestrator | `/content:agents:content-orchestrator` |
34
- | Copywriting e persuasao | squad-copy | copy-strategist (Quill) | `/copywriting:agents:copy-strategist` |
35
- | Animacoes web, Three.js, shaders, motion | squad-animations | ca-orchestrator (Kinetic) | `/ca:agents:ca-orchestrator` |
36
- | UX/UI e experiencia digital | squad-design | dx-orchestrator (Nexus) | `/digital-experience:agents:dx-orchestrator` |
37
- | Inteligencia financeira e pricing | squad-finance | fi-orchestrator (Ledger) | `/finance:agents:fi-orchestrator` |
38
- | Growth organico, SEO e analytics | squad-growth | ga-orchestrator (Catalyst) | `/growth:agents:ga-orchestrator` |
39
- | Midia paga (Meta Ads, Google Ads, CRO) | squad-paidmedia | pm-orchestrator (Apex) | `/pm:agents:pm-orchestrator` |
40
- | Produto e discovery | squad-product | ps-orchestrator (Vector) | `/product:agents:ps-orchestrator` |
41
- | Pesquisa e inteligencia competitiva | squad-research | research-orchestrator (Prism) | `/research:agents:research-orchestrator` |
42
- | Claude Code mastery e automacao | squad-claude | cm-orchestrator (Orion) | `/claude:agents:cm-orchestrator` |
43
- | Conselho estrategico e modelos mentais | squad-council | council-orchestrator (Zenith) | `/council:agents:council-orchestrator` |
44
- | Narrativa, storytelling e pitch | squad-storytelling | narrative-orchestrator (Arc) | `/narrative:agents:narrative-orchestrator` |
45
- | Seguranca cibernetica e compliance | squad-cybersecurity | cyber-orchestrator (Fortress) | `/cyber:agents:cyber-orchestrator` |
46
-
47
- ## Quando Delegar
48
-
49
- | Situacao | Squad |
50
- |----------|-------|
51
- | Animacao/motion/Three.js/shader | squad-animations |
52
- | Copy/headline/persuasao | squad-copy |
53
- | Branding/identidade/logo | squad-brand |
54
- | Pesquisa/benchmark/analise competitiva | squad-research |
55
- | Conteudo/editorial/blog/social media | squad-content |
56
- | UX/UI/design system/wireframe | squad-design |
57
- | Growth/SEO/analytics/metricas organicas | squad-growth |
58
- | Vendas/proposta/pitch/CRM | squad-commercial |
59
- | Financeiro/pricing/P&L/budget | squad-finance |
60
- | Midia paga/Meta Ads/Google Ads/CRO | squad-paidmedia |
61
- | Produto/discovery/roadmap | squad-product |
62
- | Claude Code/prompt engineering/MCP | squad-claude |
63
- | Conselho estrategico/modelos mentais/decisao | squad-council |
64
- | Storytelling/narrativa/pitch/apresentacao | squad-storytelling |
65
- | Seguranca/pentest/compliance/incident response | squad-cybersecurity |
66
-
67
- ## Handoff Protocol
68
-
69
- 1. **Identificar** o dominio do pedido
70
- 2. **Informar** qual squad cobre e como invocar: `/{prefix}:agents:{agent-id}`
71
- 3. **Fornecer contexto** do handoff se necessario
72
- 4. Squads sao **autonomas** o orchestrator coordena internamente
73
- 5. Squads possuem **knowledge bases**, **tasks** e **workflows** proprios em `./squads/{squad-name}/`
7
+ # Sinapse — Intelligent Auto-Routing (NON-NEGOTIABLE)
8
+
9
+ > Users are NOT AI experts. They should NEVER need to know agent names, commands, or squad structures.
10
+ > The system MUST understand natural language and route automatically.
11
+
12
+ ## Golden Rule
13
+
14
+ **User types anything SINAPSE understands Routes to the right specialist → Delivers result.**
15
+
16
+ The user NEVER needs to:
17
+ - Know which agent handles what
18
+ - Type `@agent-name` or `/SINAPSE:agents:...`
19
+ - Understand greenfield vs brownfield
20
+ - Know about squads, orchestrators, or handoffs
21
+
22
+ ## Auto-Detection at Session Start
23
+
24
+ On EVERY session start, automatically detect:
25
+ 1. **Project State:** Greenfield (empty/new) | Brownfield (existing code) | SINAPSE-managed
26
+ 2. **Tech Stack:** Framework, language, database, testing, CI/CD
27
+ 3. **Maturity:** Score 0-10 based on tests, docs, CI presence
28
+
29
+ Use this context to adjust behavior:
30
+ - **Greenfield:** Start with scaffolding, architecture decisions, project setup
31
+ - **Brownfield:** Start with discovery, tech debt assessment, understanding existing code
32
+ - **SINAPSE-managed:** Continue normal SDC workflow
33
+
34
+ ## Automatic Request Routing
35
+
36
+ When ANY user message arrives, classify and route:
37
+
38
+ | User Says (examples) | Route To | How |
39
+ |----------------------|----------|-----|
40
+ | "cria um site", "novo projeto", "scaffold" | @architect @developer | Greenfield workflow |
41
+ | "arruma esse bug", "fix isso" | @developer | Fast-track if trivial |
42
+ | "cria uma marca", "logo", "identidade" | squad-brand | Auto-delegate |
43
+ | "escreve um copy", "headline", "landing page" | squad-copy | Auto-delegate |
44
+ | "pesquisa sobre X", "analise competitiva" | squad-research | Auto-delegate |
45
+ | "faz deploy", "publica", "push" | @devops | Exclusive authority |
46
+ | "testa isso", "quality check" | @quality-gate | QA gate |
47
+ | "cria uma story", "nova feature" | @sprint-lead → @product-lead | SDC workflow |
48
+ | "animacao", "three.js", "shader" | squad-animations | Auto-delegate |
49
+ | "SEO", "growth", "analytics" | squad-growth | Auto-delegate |
50
+ | "ads", "campanha", "meta ads" | squad-paidmedia | Auto-delegate |
51
+ | "financeiro", "pricing", "P&L" | squad-finance | Auto-delegate |
52
+ | "seguranca", "pentest", "LGPD" | squad-cybersecurity | Auto-delegate |
53
+ | "conteudo", "blog", "editorial" | squad-content | Auto-delegate |
54
+ | "design system", "UI", "wireframe" | squad-design | Auto-delegate |
55
+ | "estrategia", "conselho", "decisao" | squad-council | Auto-delegate |
56
+ | "storytelling", "pitch", "narrativa" | squad-storytelling | Auto-delegate |
57
+ | "vende isso", "proposta", "CRM" | squad-commercial | Auto-delegate |
58
+ | "produto", "roadmap", "discovery" | squad-product | Auto-delegate |
59
+
60
+ ## Handoff Protocol (Automatic)
61
+
62
+ When routing between agents/squads:
63
+ 1. **Never ask permission** just route
64
+ 2. **Provide context** pass the user's original request + project state
65
+ 3. **Confirm briefly** "Delegando para @specialist que e o expert nisso."
66
+ 4. **Return result** — bring the deliverable back to the user
67
+
68
+ ## Brownfield Auto-Behavior
69
+
70
+ When project is detected as BROWNFIELD and user hasn't run discovery:
71
+ 1. **First interaction:** "Detectei um projeto existente. Vou analisar a estrutura antes de comecar."
72
+ 2. **Auto-run:** Quick tech stack scan (< 30 seconds, not full brownfield discovery)
73
+ 3. **Inform:** "Projeto {framework} com {database}. Pronto para trabalhar."
74
+ 4. **Then proceed** with the user's original request
75
+
76
+ ## Greenfield Auto-Behavior
77
+
78
+ When project is detected as GREENFIELD:
79
+ 1. **First interaction:** "Projeto novo detectado. Vou configurar a estrutura ideal."
80
+ 2. **Ask minimal:** "Que tipo de projeto? (web app, API, landing page)"
81
+ 3. **Auto-scaffold:** Apply templates, CI/CD, .env.example
82
+ 4. **Then proceed** with implementation
83
+
84
+ ## Tool & Command Handoff
85
+
86
+ When ANY agent encounters a task outside its domain:
87
+ - **Git push needed** → Auto-delegate to @devops (NEVER ask user)
88
+ - **Database work** → Auto-delegate to @data-engineer
89
+ - **Test needed** → Auto-delegate to @quality-gate
90
+ - **Architecture decision** → Auto-delegate to @architect
91
+ - **Story needed** → Auto-create via fast-track (trivial) or @sprint-lead (complex)
92
+
93
+ ## Anti-Patterns (FORBIDDEN)
94
+
95
+ - Asking user "which agent should handle this?"
96
+ - Showing agent invocation commands to the user
97
+ - Requiring user to type `@agent-name` for routing
98
+ - Leaving a task unfinished because "that's another agent's job" without auto-delegating
99
+ - Asking user if project is greenfield or brownfield (auto-detect it)
@@ -203,6 +203,96 @@ autoClaude:
203
203
 
204
204
  ---
205
205
 
206
+ ## Research-Backed Frameworks
207
+
208
+ ### Knowledge Architecture (GraphRAG)
209
+
210
+ Modern knowledge systems combine three retrieval paradigms for maximum accuracy:
211
+
212
+ ```
213
+ [Query]
214
+ --> BM25 (keyword search) --> Top-K results
215
+ --> Dense Embeddings (semantic) --> Top-K results
216
+ --> Knowledge Graph (structured) --> Entities/Relations
217
+ --> Reciprocal Rank Fusion (RRF) --> Merged & Ranked
218
+ --> Cross-Encoder Reranking --> Final Top-N
219
+ --> LLM Generation with Context
220
+ ```
221
+
222
+ **Why hybrid matters:** BM25 alone misses semantic similarity. Embeddings alone miss exact terms (product codes, acronyms, legal terms). Graph alone misses nuance. Hybrid search reduces errors by 35-60% vs semantic-only retrieval.
223
+
224
+ ### Context Engineering (Karpathy 2025)
225
+
226
+ **Definition (Andrej Karpathy):** "Context engineering is the delicate art and science of filling the context window with just the right information for the next step."
227
+
228
+ **Mental model:** Think of the LLM as a CPU. The context window is RAM. Your job is analogous to an OS: load working memory with exactly the right code and data for the task.
229
+
230
+ | Memory Tier | Analogy | Function | Cost |
231
+ |-------------|---------|----------|------|
232
+ | HOT | Working memory | Active task info in context window | Direct tokens |
233
+ | WARM | Short-term | Retrievable in <300ms via vector/graph search | Low |
234
+ | COLD | Long-term | On-demand from filesystem/archive | Minimal |
235
+
236
+ **Token budget principle:** A well-managed memory system cuts token costs by ~90% and latency by ~91% vs sending full history.
237
+
238
+ ### Research Synthesis Framework
239
+
240
+ When conducting research, apply the FINDING-IMPLICATION-RECOMMENDATION pattern:
241
+
242
+ 1. **FINDING:** Objective fact with source attribution
243
+ 2. **IMPLICATION:** What this means for the project/decision
244
+ 3. **RECOMMENDATION:** Actionable next step
245
+
246
+ Example:
247
+ - **FINDING:** 82% of container users run K8s in production (CNCF 2025)
248
+ - **IMPLICATION:** K8s is mainstream, not bleeding-edge risk for SINAPSE projects
249
+ - **RECOMMENDATION:** Include K8s patterns in architect knowledge base
250
+
251
+ ### Organization Frameworks for Knowledge
252
+
253
+ | Framework | Structure | Best For |
254
+ |-----------|-----------|----------|
255
+ | Zettelkasten | Network of atomic interlinked notes | Research, writing, idea emergence |
256
+ | PARA | Projects / Areas / Resources / Archives | Action-oriented productivity |
257
+ | Evergreen Notes | Conceptual notes that evolve over time | Deep reflection, lasting knowledge |
258
+ | MOC (Maps of Content) | Index notes aggregating themes | Navigation in large vaults |
259
+ | Knowledge Graph | Entities + relations + attributes | Agent reasoning, inference |
260
+
261
+ ### Vector Database Selection (2026)
262
+
263
+ | Database | Best For | Max Scale | Compliance |
264
+ |----------|----------|-----------|------------|
265
+ | Pinecone | Enterprise production | Billions | SOC 2 II, ISO 27001 |
266
+ | Weaviate | Native hybrid search | Hundreds of millions | SOC 2 II, HIPAA |
267
+ | Qdrant | Performance/cost ratio | Hundreds of millions | SOC 2 II |
268
+ | pgvector | PostgreSQL integration (Supabase) | 5-100M | Inherits from PG |
269
+ | Chroma | Rapid prototyping | Millions | Open-source |
270
+
271
+ **Strategy:** Start with pgvector/Chroma for prototype, migrate to Pinecone/Weaviate for production.
272
+
273
+ ### Agentic RAG Patterns
274
+
275
+ Modern RAG systems are not simple retrieve-then-generate. State of the art (2026):
276
+
277
+ 1. **Plan:** Decompose query into sub-queries
278
+ 2. **Retrieve:** Hybrid search (BM25 + embeddings + graph traversal)
279
+ 3. **Reason:** Evaluate retrieved context for relevance and sufficiency
280
+ 4. **Critique:** Self-assess if answer is grounded or needs more retrieval
281
+ 5. **Refine:** Loop until confidence threshold met (max N iterations)
282
+
283
+ **LazyGraphRAG (Microsoft):** Achieves indexing at 0.1% the cost of full GraphRAG with comparable quality for global queries.
284
+
285
+ ### Multi-Agent Research Orchestration
286
+
287
+ | Agent Pattern | Description | When to Use |
288
+ |---------------|-------------|-------------|
289
+ | ReAct | Reason + Act in loop | Tasks with tools (search, edit) |
290
+ | Tree of Thought | Explore multiple reasoning paths | Problems with multiple valid solutions |
291
+ | Graph of Thought | Reasoning as graph, merge/refine | Complex synthesis from multiple sources |
292
+ | Reflection | Agent evaluates own output | Quality assurance, self-correction |
293
+
294
+ ---
295
+
206
296
  ## Quick Commands
207
297
 
208
298
  **Research & Analysis:**
@@ -253,6 +253,11 @@ dependencies:
253
253
  # Execution Engine (Epic 4)
254
254
  - plan-create-implementation.md
255
255
  - plan-create-context.md
256
+ # Infrastructure & Observability (Infra Research 2026-04)
257
+ - infrastructure-assessment.md
258
+ - observability-blueprint.md
259
+ knowledge_bases:
260
+ - infrastructure-decision-framework.md
256
261
  scripts:
257
262
  # Memory Layer (Epic 7)
258
263
  - codebase-mapper.js
@@ -388,6 +393,79 @@ autoClaude:
388
393
 
389
394
  ---
390
395
 
396
+ ## Research-Backed Frameworks
397
+
398
+ ### Cloud Provider Decision Matrix
399
+
400
+ | Criterion | AWS | Azure | GCP | Cloudflare |
401
+ |-----------|-----|-------|-----|------------|
402
+ | Breadth of services | Largest (200+) | Large | Medium | Focused (edge) |
403
+ | AI/ML | Bedrock + SageMaker | OpenAI + Copilot | Vertex AI + TPUs | Workers AI |
404
+ | Enterprise integration | Strong | Strongest | Medium | Weak |
405
+ | Data warehouse | Redshift | Synapse | BigQuery (best) | N/A |
406
+ | Edge compute | Lambda@Edge | Front Door | Cloud Run | Workers (leader) |
407
+ | Brazilian region | sa-east-1 (SP, 3 AZs) | Brazil South (SP, 3 AZs) | southamerica-east1 (SP) | POPs in SP, RJ, Fortaleza |
408
+ | Egress fees | High | High | High | Zero (R2) |
409
+
410
+ **Default for SINAPSE projects:** Vercel (frontend) + Supabase (backend) + Cloudflare (CDN/edge). Escalate to hyperscalers only for specific workloads (GPU, compliance, enterprise integration).
411
+
412
+ ### Kubernetes Patterns (When Applicable)
413
+
414
+ - **82% of container users run K8s in production** (CNCF 2025); it is the de facto "OS for AI"
415
+ - **Managed K8s:** GKE (most mature, fastest version adoption) > EKS (largest ecosystem) > AKS (best for Microsoft shops)
416
+ - **Anti-patterns to block:** Cluster-as-monolith, pods without resource limits, RBAC over-permissive, secrets in ConfigMaps, no PodDisruptionBudgets
417
+ - **Service Mesh decision:** Linkerd (performance-first, small teams) > Istio (feature-rich, multi-cluster) > Cilium (eBPF, high-throughput fintech)
418
+
419
+ ### Infrastructure as Code (IaC) Decision
420
+
421
+ | Criterion | OpenTofu | Pulumi | Crossplane |
422
+ |-----------|----------|--------|------------|
423
+ | License | MPL 2.0 (OSS) | Apache 2.0 | Apache 2.0 (CNCF Graduated) |
424
+ | Language | HCL | Python, TS, Go, C#, Java | YAML (K8s CRDs) |
425
+ | Best for | New OSS default (Terraform successor) | Dev teams wanting real language + unit tests | Platform teams, K8s-heavy orgs |
426
+ | Learning curve | Medium | Low (if language known) | High (K8s + IaC) |
427
+
428
+ **Recommendation:** OpenTofu as default IaC (50% of Spacelift deployments already). Pulumi for teams with strong TypeScript culture. Avoid Terraform BSL lock-in post-IBM acquisition.
429
+
430
+ ### Observability Stack
431
+
432
+ **OpenTelemetry is the universal standard** (2nd most active CNCF project after K8s). 57% orgs use it for metrics, 50% for traces, 48% for logs (Grafana Survey 2025).
433
+
434
+ | Signal | Tool | Purpose |
435
+ |--------|------|---------|
436
+ | Metrics | Prometheus + Grafana | Time-series, alerting, dashboards |
437
+ | Traces | Tempo (Grafana) or Jaeger | Distributed request tracing |
438
+ | Logs | Loki (Grafana) | Log aggregation and correlation |
439
+ | Profiling | Pyroscope | Continuous CPU/memory profiling via eBPF |
440
+ | Errors | Sentry | Exception tracking, replay on error |
441
+
442
+ **Architecture pattern:** Instrument with OTel SDKs -> OTel Collector (process/export) -> Backend (Grafana stack or Datadog). This eliminates vendor lock-in at the instrumentation layer.
443
+
444
+ ### Platform Engineering (Backstage)
445
+
446
+ Backstage (Spotify, CNCF) has 3,000+ adopters and 270+ orgs in production. Use as Internal Developer Portal when team exceeds 10 developers. Provides: service catalog, scaffolder templates, TechDocs, and plugin ecosystem.
447
+
448
+ ### SRE Error Budgets
449
+
450
+ The most impactful SRE concept for architecture decisions:
451
+
452
+ | SLO | Error Budget | Meaning |
453
+ |-----|-------------|---------|
454
+ | 99.9% | 0.1% (~43 min/month) | Budget full -> deploy freely. Empty -> freeze releases, fix stability |
455
+ | 99.95% | 0.05% (~22 min/month) | Typical for internal tools |
456
+ | 99.99% | 0.01% (~4.3 min/month) | Financial systems, auth services |
457
+
458
+ **Formula:** `Error Budget = 1 - SLO`. When budget is consumed, product velocity pauses and engineering focuses on reliability. This programmatically aligns product (speed) and SRE (stability) incentives.
459
+
460
+ ### FinOps Quick Rules
461
+
462
+ - 50% of orgs put "waste reduction" as priority #1 (FinOps Foundation 2025)
463
+ - 63% now manage AI spend as a distinct cost category
464
+ - H100 GPU prices dropped 64% in 2025 -- GPU compute is now a manageable cost, not a fixed tax
465
+ - **Cloudflare R2 eliminates egress fees** -- consider for any S3-compatible storage workload
466
+
467
+ ---
468
+
391
469
  ## Quick Commands
392
470
 
393
471
  **Architecture Design:**