sinapse-ai 1.8.0 → 1.9.1
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/hooks/mind-clone-governance.py +212 -212
- package/.claude/hooks/read-protection.py +152 -152
- package/.claude/hooks/slug-validation.py +175 -175
- package/.claude/hooks/sql-governance.py +183 -183
- package/.claude/rules/documentation-first.md +1 -1
- package/.claude/rules/hook-governance.md +1 -1
- package/.claude/rules/mandatory-delegation.md +1 -1
- package/.claude/rules/project-intelligence.md +1 -1
- package/.codex/agents/analyst.md +4 -371
- package/.codex/agents/animations-orqx.md +4 -57
- package/.codex/agents/architect.md +4 -560
- package/.codex/agents/brand-orqx.md +4 -95
- package/.codex/agents/claude-mastery-chief.md +4 -0
- package/.codex/agents/cloning-orqx.md +4 -70
- package/.codex/agents/commercial-orqx.md +4 -67
- package/.codex/agents/config-engineer.md +2 -2
- package/.codex/agents/content-orqx.md +4 -77
- package/.codex/agents/copy-orqx.md +4 -65
- package/.codex/agents/cost-optimizer.md +4 -0
- package/.codex/agents/council-orqx.md +4 -68
- package/.codex/agents/courses-orqx.md +4 -64
- package/.codex/agents/cro-persuasion.md +4 -0
- package/.codex/agents/cyber-orqx.md +4 -67
- package/.codex/agents/data-engineer.md +4 -542
- package/.codex/agents/design-orqx.md +4 -65
- package/.codex/agents/design-system.md +4 -210
- package/.codex/agents/developer.md +4 -666
- package/.codex/agents/devops.md +4 -668
- package/.codex/agents/finance-orqx.md +4 -57
- package/.codex/agents/fiscal-compliance-br.md +4 -0
- package/.codex/agents/forecast-strategist.md +4 -0
- package/.codex/agents/growth-orqx.md +4 -75
- package/.codex/agents/hooks-architect.md +2 -2
- package/.codex/agents/mcp-integrator.md +2 -2
- package/.codex/agents/paidmedia-orqx.md +4 -67
- package/.codex/agents/platform-aesthetic-director.md +4 -0
- package/.codex/agents/premium-packaging-strategist.md +4 -0
- package/.codex/agents/product-lead.md +4 -371
- package/.codex/agents/product-orqx.md +4 -57
- package/.codex/agents/product-surface-director.md +4 -0
- package/.codex/agents/project-integrator.md +2 -2
- package/.codex/agents/project-lead.md +4 -414
- package/.codex/agents/quality-gate.md +4 -547
- package/.codex/agents/research-orqx.md +4 -67
- package/.codex/agents/roadmap-sentinel.md +2 -2
- package/.codex/agents/skill-craftsman.md +2 -2
- package/.codex/agents/snps-orqx.md +4 -684
- package/.codex/agents/sop-extractor.md +4 -61
- package/.codex/agents/sprint-lead.md +4 -324
- package/.codex/agents/squad-creator.md +4 -402
- package/.codex/agents/storytelling-orqx.md +4 -65
- package/.codex/agents/swarm-orqx.md +4 -64
- package/.codex/agents/ux-design-expert.md +4 -532
- package/.codex/agents/ux-designer.md +4 -124
- package/.codex/command-registry.json +9 -9
- package/.codex/delegation-matrix.json +375 -839
- package/.codex/delegation-parity.json +658 -0
- package/.codex/handoff-packet.parity.schema.json +148 -0
- package/.codex/handoff-packet.template.json +26 -0
- package/.codex/instructions.md +8 -8
- package/.codex/scripts/resolve-codex-agent.js +482 -0
- package/.codex/scripts/resolve-codex-command.js +75 -12
- package/.codex/scripts/resolve-codex-delegation.js +131 -92
- package/.codex/skills/sinapse-claude/SKILL.md +3 -3
- package/.codex/skills/sinapse-po/SKILL.md +1 -1
- package/.codex/tasks/resolve-sinapse-conflict.md +1 -1
- package/.sinapse-ai/constitution.md +5 -5
- package/.sinapse-ai/core/doctor/checks/git-hooks.js +163 -19
- package/.sinapse-ai/core/events/dashboard-emitter.js +30 -9
- package/.sinapse-ai/core/execution/subagent-dispatcher.js +1 -1
- package/.sinapse-ai/core/synapse/engine.js +15 -0
- package/.sinapse-ai/core/ui/observability-panel.js +240 -0
- package/.sinapse-ai/core-config.yaml +0 -20
- package/.sinapse-ai/data/entity-registry.yaml +185 -236
- package/.sinapse-ai/development/agents/snps-orqx.md +16 -26
- package/.sinapse-ai/development/tasks/build-autonomous.md +11 -1
- package/.sinapse-ai/development/tasks/build-resume.md +8 -0
- package/.sinapse-ai/development/tasks/build-status.md +8 -0
- package/.sinapse-ai/development/tasks/build.md +8 -0
- package/.sinapse-ai/development/tasks/cleanup-worktrees.md +8 -1
- package/.sinapse-ai/development/tasks/gotcha.md +8 -0
- package/.sinapse-ai/development/tasks/gotchas.md +8 -0
- package/.sinapse-ai/development/tasks/ids-health.md +14 -6
- package/.sinapse-ai/development/tasks/list-mcps.md +15 -0
- package/.sinapse-ai/development/tasks/merge-worktree.md +8 -1
- package/.sinapse-ai/development/tasks/qa-review-build.md +18 -0
- package/.sinapse-ai/development/tasks/remove-mcp.md +8 -1
- package/.sinapse-ai/development/tasks/validate-agents.md +26 -14
- package/.sinapse-ai/development/templates/service-template/README.md.hbs +159 -159
- package/.sinapse-ai/development/templates/service-template/__tests__/index.test.ts.hbs +238 -238
- package/.sinapse-ai/development/templates/service-template/client.ts.hbs +404 -404
- package/.sinapse-ai/development/templates/service-template/errors.ts.hbs +183 -183
- package/.sinapse-ai/development/templates/service-template/index.ts.hbs +121 -121
- package/.sinapse-ai/development/templates/service-template/package.json.hbs +88 -88
- package/.sinapse-ai/development/templates/service-template/types.ts.hbs +146 -146
- package/.sinapse-ai/development/templates/squad-template/LICENSE +22 -22
- package/.sinapse-ai/git-hooks/lib/framework-guard.js +258 -0
- package/.sinapse-ai/git-hooks/lib/secret-scanner-core.js +355 -0
- package/.sinapse-ai/git-hooks/lib/staged-secret-scan.js +179 -0
- package/.sinapse-ai/git-hooks/lib/staged-sql-guard.js +204 -0
- package/.sinapse-ai/git-hooks/post-commit +28 -0
- package/.sinapse-ai/git-hooks/pre-commit +81 -0
- package/.sinapse-ai/git-hooks/pre-push +83 -0
- package/.sinapse-ai/hooks/ids-post-commit.js +13 -11
- package/.sinapse-ai/hooks/ids-pre-push.js +9 -7
- package/.sinapse-ai/infrastructure/scripts/codex-parity/resolve.js +161 -0
- package/.sinapse-ai/infrastructure/scripts/dashboard-status-writer.js +6 -2
- package/.sinapse-ai/infrastructure/scripts/ide-sync/index.js +65 -68
- package/.sinapse-ai/infrastructure/scripts/sync-codex-local-first.js +156 -1
- package/.sinapse-ai/infrastructure/scripts/validate-codex-delegation.js +1 -4
- package/.sinapse-ai/infrastructure/scripts/validate-codex-integration.js +41 -5
- package/.sinapse-ai/infrastructure/templates/coderabbit.yaml.template +280 -280
- package/.sinapse-ai/infrastructure/templates/config/env.example +16 -16
- package/.sinapse-ai/infrastructure/templates/config/gitignore-additions.tmpl +59 -59
- package/.sinapse-ai/infrastructure/templates/github/CODEOWNERS.template +12 -12
- package/.sinapse-ai/infrastructure/templates/github-workflows/ci.yml.template +170 -170
- package/.sinapse-ai/infrastructure/templates/github-workflows/pr-automation.yml.template +331 -331
- package/.sinapse-ai/infrastructure/templates/github-workflows/release.yml.template +197 -197
- package/.sinapse-ai/infrastructure/templates/gitignore/gitignore-brownfield-merge.tmpl +19 -19
- package/.sinapse-ai/infrastructure/templates/gitignore/gitignore-node.tmpl +86 -86
- package/.sinapse-ai/infrastructure/templates/gitignore/gitignore-python.tmpl +146 -146
- package/.sinapse-ai/infrastructure/templates/gitignore/gitignore-sinapse-base.tmpl +64 -64
- package/.sinapse-ai/infrastructure/templates/safe-collab/CODEOWNERS.template +16 -16
- package/.sinapse-ai/infrastructure/templates/sinapse-sync.yaml.template +183 -183
- package/.sinapse-ai/install-manifest.yaml +112 -164
- package/.sinapse-ai/local-config.yaml.template +65 -65
- package/.sinapse-ai/product/templates/adr.hbs +126 -126
- package/.sinapse-ai/product/templates/dbdr.hbs +242 -242
- package/.sinapse-ai/product/templates/epic.hbs +213 -213
- package/.sinapse-ai/product/templates/ide-rules/codex-rules.md +30 -0
- package/.sinapse-ai/product/templates/pmdr.hbs +187 -187
- package/.sinapse-ai/product/templates/prd-v2.0.hbs +217 -217
- package/.sinapse-ai/product/templates/prd.hbs +202 -202
- package/.sinapse-ai/product/templates/statusline/statusline-script.js +31 -8
- package/.sinapse-ai/product/templates/statusline/track-agent-clear.cjs +79 -0
- package/.sinapse-ai/product/templates/statusline/track-agent.cjs +218 -0
- package/.sinapse-ai/product/templates/story.hbs +264 -264
- package/.sinapse-ai/product/templates/task.hbs +171 -171
- package/.sinapse-ai/product/templates/tmpl-comment-on-examples.sql +159 -159
- package/.sinapse-ai/product/templates/tmpl-migration-script.sql +92 -92
- package/.sinapse-ai/product/templates/tmpl-rls-granular-policies.sql +105 -105
- package/.sinapse-ai/product/templates/tmpl-rls-kiss-policy.sql +11 -11
- package/.sinapse-ai/product/templates/tmpl-rls-roles.sql +136 -136
- package/.sinapse-ai/product/templates/tmpl-rls-simple.sql +78 -78
- package/.sinapse-ai/product/templates/tmpl-rls-tenant.sql +153 -153
- package/.sinapse-ai/product/templates/tmpl-rollback-script.sql +78 -78
- package/.sinapse-ai/product/templates/tmpl-seed-data.sql +141 -141
- package/.sinapse-ai/product/templates/tmpl-smoke-test.sql +17 -17
- package/.sinapse-ai/product/templates/tmpl-staging-copy-merge.sql +140 -140
- package/.sinapse-ai/product/templates/tmpl-stored-proc.sql +141 -141
- package/.sinapse-ai/product/templates/tmpl-trigger.sql +153 -153
- package/.sinapse-ai/product/templates/tmpl-view-materialized.sql +134 -134
- package/.sinapse-ai/product/templates/tmpl-view.sql +178 -178
- package/AGENTS.md +193 -0
- package/CHANGELOG.md +1247 -0
- package/LICENSE +63 -63
- package/README.en.md +17 -18
- package/README.md +18 -19
- package/bin/cli.js +1 -1
- package/bin/commands/install.js +194 -22
- package/bin/commands/status.js +14 -1
- package/bin/commands/uninstall.js +2 -2
- package/bin/commands/update.js +52 -0
- package/bin/lib/setup-statusline.js +191 -0
- package/bin/sinapse-init.js +11 -83
- package/bin/utils/framework-guard.js +17 -4
- package/bin/utils/secret-scanner-core.js +109 -7
- package/bin/utils/staged-sql-guard.js +204 -0
- package/bin/utils/validate-publish.js +63 -0
- package/docs/agent-reference-guide.md +5 -7
- package/docs/framework/agent-prefix-convention.md +58 -0
- package/docs/framework/architecture-overview.md +4 -4
- package/docs/framework/collaboration-activation.md +45 -0
- package/docs/framework/guiding-principles.md +9 -9
- package/docs/getting-started.md +1 -1
- package/docs/guides/agent-reference.md +1 -1
- package/docs/guides/codex-config.md +4 -5
- package/docs/pt/architecture/sub-orqx-pattern.md +20 -18
- package/docs/security/overview.md +1 -1
- package/package.json +16 -12
- package/packages/installer/src/index.js +26 -0
- package/packages/installer/src/installer/git-hooks-installer.js +211 -47
- package/packages/installer/src/installer/sinapse-ai-installer.js +71 -0
- package/packages/installer/src/wizard/feedback.js +1 -1
- package/packages/installer/src/wizard/ide-config-generator.js +26 -26
- package/packages/installer/src/wizard/index.js +53 -4
- package/packages/sinapse-install/bin/edmcp.js +0 -0
- package/packages/sinapse-install/bin/sinapse-install.js +0 -0
- package/scripts/audit-tasks.cjs +112 -91
- package/scripts/check-markdown-links.py +352 -352
- package/scripts/prepare-hooks.js +58 -0
- package/scripts/regenerate-orqx-stubs.ps1 +2 -3
- package/scripts/sync-counts.js +10 -2
- package/scripts/sync-squad-yaml-components.js +108 -6
- package/scripts/validate-agents-md.js +128 -0
- package/scripts/validate-all.js +1 -0
- package/scripts/validate-squad-orqx.js +19 -9
- package/sinapse/agents/sinapse-orqx.md +16 -26
- package/sinapse/agents/snps-orqx.md +15 -25
- package/sinapse/knowledge-base/routing-catalog.md +1 -1
- package/sinapse/tasks/diagnose-and-route.md +1 -1
- package/sinapse/tasks/squad-status-report.md +1 -1
- package/squads/claude-code-mastery/agents/claude-mastery-chief.md +1 -1
- package/squads/claude-code-mastery/agents/hooks-architect.md +60 -68
- package/squads/claude-code-mastery/knowledge-base/swarm-orchestration-patterns.md +1 -1
- package/squads/claude-code-mastery/squad.yaml +8 -0
- package/squads/claude-code-mastery/tasks/audit-setup.md +1 -1
- package/squads/claude-code-mastery/workflows/optimization-cycle.yaml +4 -4
- package/squads/claude-code-mastery/workflows/project-setup-cycle.yaml +4 -4
- package/squads/squad-animations/README.md +1 -1
- package/squads/squad-animations/squad.yaml +1 -1
- package/squads/squad-brand/squad.yaml +1 -1
- package/squads/squad-cloning/README.md +1 -1
- package/squads/squad-cloning/squad.yaml +1 -1
- package/squads/squad-commercial/README.md +1 -1
- package/squads/squad-commercial/squad.yaml +2 -3
- package/squads/squad-content/README.md +1 -1
- package/squads/squad-content/squad.yaml +1 -1
- package/squads/squad-copy/README.md +1 -1
- package/squads/squad-copy/squad.yaml +2 -3
- package/squads/squad-council/README.md +1 -1
- package/squads/squad-courses/README.md +1 -1
- package/squads/squad-courses/squad.yaml +1 -1
- package/squads/squad-cybersecurity/README.md +1 -1
- package/squads/squad-cybersecurity/squad.yaml +2 -3
- package/squads/squad-design/README.md +1 -1
- package/squads/{squad-artdir → squad-design}/agents/cro-persuasion.md +1 -1
- package/squads/{squad-artdir → squad-design}/agents/platform-aesthetic-director.md +2 -2
- package/squads/{squad-artdir → squad-design}/agents/premium-packaging-strategist.md +2 -2
- package/squads/{squad-artdir → squad-design}/agents/product-surface-director.md +3 -3
- package/squads/squad-design/squad.yaml +6 -3
- package/squads/squad-finance/README.md +1 -1
- package/squads/squad-finance/squad.yaml +7 -1
- package/squads/squad-growth/README.md +1 -1
- package/squads/squad-growth/squad.yaml +1 -1
- package/squads/squad-paidmedia/README.md +1 -1
- package/squads/squad-paidmedia/squad.yaml +2 -3
- package/squads/squad-product/README.md +1 -1
- package/squads/squad-product/squad.yaml +1 -1
- package/squads/squad-research/README.md +1 -1
- package/squads/squad-research/squad.yaml +2 -3
- package/squads/squad-storytelling/README.md +1 -1
- package/squads/squad-storytelling/squad.yaml +2 -3
- package/.codex/agents/brad-frost.md +0 -46
- package/.codex/agents/claude-orqx.md +0 -72
- package/.codex/agents/copy-chief.md +0 -162
- package/.codex/agents/cyber-chief.md +0 -169
- package/.codex/agents/dan-mall.md +0 -43
- package/.codex/agents/data-chief.md +0 -198
- package/.codex/agents/dave-malouf.md +0 -43
- package/.codex/agents/db-sage.md +0 -152
- package/.codex/agents/design-chief.md +0 -226
- package/.codex/agents/dev.md +0 -102
- package/.codex/agents/legal-chief.md +0 -199
- package/.codex/agents/nano-banana-generator.md +0 -42
- package/.codex/agents/pm.md +0 -81
- package/.codex/agents/po.md +0 -85
- package/.codex/agents/qa.md +0 -98
- package/.codex/agents/sm.md +0 -77
- package/.codex/agents/squad-chief.md +0 -1553
- package/.codex/agents/squad.md +0 -66
- package/.codex/agents/story-chief.md +0 -180
- package/.codex/agents/tools-orqx.md +0 -219
- package/.codex/agents/traffic-masters-chief.md +0 -211
- package/.sinapse-ai/core/memory/__tests__/active-modules.verify.js +0 -265
- package/.sinapse-ai/core/permissions/__tests__/permission-mode.test.js +0 -293
- package/.sinapse-ai/data/registry-update-log.jsonl +0 -158
- package/.sinapse-ai/infrastructure/scripts/ide-sync/gemini-commands.js +0 -298
- package/.sinapse-ai/infrastructure/scripts/ide-sync/transformers/antigravity.js +0 -121
- package/.sinapse-ai/infrastructure/scripts/ide-sync/transformers/cursor.js +0 -119
- package/.sinapse-ai/infrastructure/scripts/ide-sync/transformers/github-copilot.js +0 -191
- package/.sinapse-ai/infrastructure/scripts/ide-sync/transformers/kimi.js +0 -448
- package/.sinapse-ai/infrastructure/tests/project-status-loader.test.js +0 -569
- package/.sinapse-ai/infrastructure/tests/regression-suite-v2.md +0 -622
- package/.sinapse-ai/infrastructure/tests/validate-module.js +0 -98
- package/.sinapse-ai/infrastructure/tests/worktree-manager.test.js +0 -620
- package/.sinapse-ai/monitor/hooks/lib/__init__.py +0 -2
- package/.sinapse-ai/monitor/hooks/lib/enrich.py +0 -59
- package/.sinapse-ai/monitor/hooks/lib/send_event.py +0 -48
- package/.sinapse-ai/monitor/hooks/notification.py +0 -30
- package/.sinapse-ai/monitor/hooks/post_tool_use.py +0 -46
- package/.sinapse-ai/monitor/hooks/pre_compact.py +0 -30
- package/.sinapse-ai/monitor/hooks/pre_tool_use.py +0 -41
- package/.sinapse-ai/monitor/hooks/stop.py +0 -30
- package/.sinapse-ai/monitor/hooks/subagent_stop.py +0 -30
- package/.sinapse-ai/monitor/hooks/user_prompt_submit.py +0 -39
- package/.sinapse-ai/product/templates/statusline/track-agent.sh +0 -69
- package/.sinapse-ai/workflow-intelligence/__tests__/confidence-scorer.test.js +0 -335
- package/.sinapse-ai/workflow-intelligence/__tests__/integration.test.js +0 -340
- package/.sinapse-ai/workflow-intelligence/__tests__/suggestion-engine.test.js +0 -438
- package/.sinapse-ai/workflow-intelligence/__tests__/wave-analyzer.test.js +0 -448
- package/.sinapse-ai/workflow-intelligence/__tests__/workflow-registry.test.js +0 -303
- package/bin/sinapse-graph.js +0 -19
- package/docs/codex-integration-process.md +0 -22
- package/docs/codex-parity-program.md +0 -27
- package/packages/installer/src/__tests__/performance-benchmark.js +0 -383
- package/packages/installer/tests/integration/environment-configuration.test.js +0 -332
- package/packages/installer/tests/integration/wizard-detection.test.js +0 -352
- package/packages/installer/tests/unit/artifact-copy-pipeline/artifact-copy-pipeline.test.js +0 -383
- package/packages/installer/tests/unit/claude-md-template-v5/claude-md-template-v5.test.js +0 -193
- package/packages/installer/tests/unit/config-validator.test.js +0 -315
- package/packages/installer/tests/unit/detection/detect-project-type.test.js +0 -539
- package/packages/installer/tests/unit/doctor/doctor-checks.test.js +0 -636
- package/packages/installer/tests/unit/doctor/doctor-orchestrator.test.js +0 -192
- package/packages/installer/tests/unit/entity-registry-bootstrap.test.js +0 -186
- package/packages/installer/tests/unit/env-template.test.js +0 -187
- package/packages/installer/tests/unit/generate-settings-json/generate-settings-json.test.js +0 -310
- package/packages/installer/tests/unit/git-hooks-installer.test.js +0 -262
- package/packages/installer/tests/unit/ide-sync-integration/ide-sync-integration.test.js +0 -231
- package/packages/installer/tests/unit/merger/env-merger.test.js +0 -191
- package/packages/installer/tests/unit/merger/markdown-merger.test.js +0 -262
- package/packages/installer/tests/unit/merger/strategies.test.js +0 -154
- package/packages/installer/tests/unit/merger/yaml-merger.test.js +0 -328
- package/packages/sinapse-install/tests/unit/chrome-brain.smoke.test.js +0 -66
- package/scripts/install-monitor-hooks.sh +0 -82
- package/squads/squad-artdir/README.md +0 -90
- package/squads/squad-artdir/agents/accessibility-guardian.md +0 -184
- package/squads/squad-artdir/agents/artdir-orqx.md +0 -222
- package/squads/squad-artdir/agents/color-psychologist.md +0 -166
- package/squads/squad-artdir/agents/design-system-architect.md +0 -100
- package/squads/squad-artdir/agents/ia-architect.md +0 -169
- package/squads/squad-artdir/agents/interaction-designer.md +0 -162
- package/squads/squad-artdir/agents/layout-engineer.md +0 -163
- package/squads/squad-artdir/agents/motion-architect.md +0 -185
- package/squads/squad-artdir/agents/type-systemist.md +0 -138
- package/squads/squad-artdir/agents/visual-strategist.md +0 -127
- package/squads/squad-artdir/checklists/seven-pillars-validation-checklist.md +0 -172
- package/squads/squad-artdir/knowledge-base/case-nyo-ia-reference.md +0 -289
- package/squads/squad-artdir/knowledge-base/deliverables-templates.md +0 -457
- package/squads/squad-artdir/knowledge-base/motion-technique-catalog.md +0 -247
- package/squads/squad-artdir/knowledge-base/premium-packaging-principles.md +0 -133
- package/squads/squad-artdir/knowledge-base/psychological-toolkit.md +0 -229
- package/squads/squad-artdir/knowledge-base/saas-art-direction-canon.md +0 -242
- package/squads/squad-artdir/knowledge-base/seven-pillars-framework.md +0 -289
- package/squads/squad-artdir/knowledge-base/ten-pillars-framework.md +0 -221
- package/squads/squad-artdir/package.json +0 -20
- package/squads/squad-artdir/squad.yaml +0 -299
- package/squads/squad-artdir/tasks/audit-conversion.md +0 -97
- package/squads/squad-artdir/tasks/audit-drift-multi-surface.md +0 -55
- package/squads/squad-artdir/tasks/consult-saas-canon.md +0 -54
- package/squads/squad-artdir/tasks/create-art-direction-brief.md +0 -110
- package/squads/squad-artdir/tasks/create-premium-packaging-brief.md +0 -61
- package/squads/squad-artdir/tasks/create-wireflow.md +0 -84
- package/squads/squad-artdir/tasks/design-color-system.md +0 -81
- package/squads/squad-artdir/tasks/design-product-surface.md +0 -60
- package/squads/squad-artdir/tasks/design-token-system.md +0 -58
- package/squads/squad-artdir/tasks/diagnose-visual-language.md +0 -92
- package/squads/squad-artdir/tasks/first-5-minutes-choreography.md +0 -65
- package/squads/squad-artdir/tasks/specify-motion-system.md +0 -84
- package/squads/squad-artdir/tasks/validate-against-pillars.md +0 -143
- package/squads/squad-artdir/templates/art-direction-brief-template.md +0 -215
- package/squads/squad-artdir/workflows/conversion-audit-cycle.yaml +0 -142
- package/squads/squad-artdir/workflows/full-art-direction-cycle.yaml +0 -179
- package/squads/squad-artdir/workflows/saas-platform-art-direction-cycle.yaml +0 -338
- package/squads/squad-commercial/agents/legal-chief.md +0 -199
- package/squads/squad-copy/agents/copy-chief.md +0 -162
- package/squads/squad-cybersecurity/agents/cyber-chief.md +0 -169
- package/squads/squad-design/agents/design-chief.md +0 -226
- package/squads/squad-paidmedia/agents/traffic-masters-chief.md +0 -211
- package/squads/squad-research/agents/data-chief.md +0 -198
- package/squads/squad-storytelling/agents/story-chief.md +0 -180
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Staged SQL Guard — git pre-commit guard for destructive DDL/DML.
|
|
5
|
+
*
|
|
6
|
+
* Ports the DANGEROUS_PATTERNS from `.claude/hooks/sql-governance.py` (which is
|
|
7
|
+
* IDE-bound: it only fires on Claude Code Bash tool calls) into an IDE-agnostic
|
|
8
|
+
* Node guard that runs at the git layer. It scans the STAGED blob of every
|
|
9
|
+
* changed `.sql` / migration-bearing file and BLOCKS the commit (exit 1) if it
|
|
10
|
+
* finds destructive schema/data operations:
|
|
11
|
+
*
|
|
12
|
+
* - DROP TABLE/VIEW/FUNCTION/TRIGGER/INDEX/SCHEMA/POLICY
|
|
13
|
+
* - TRUNCATE
|
|
14
|
+
* - DELETE ... (without a WHERE clause)
|
|
15
|
+
* - CREATE TABLE ... AS SELECT (disallowed backup pattern)
|
|
16
|
+
*
|
|
17
|
+
* Scope decision: this guard targets the genuinely IRREVERSIBLE / data-loss
|
|
18
|
+
* operations (the same ones a destructive migration would carry). Plain
|
|
19
|
+
* CREATE/ALTER are intentionally NOT blocked at the git layer — they are the
|
|
20
|
+
* normal content of forward migrations and blocking them would make every
|
|
21
|
+
* legitimate schema change require `--no-verify`. The Claude-Code-level
|
|
22
|
+
* sql-governance.py still gates CREATE/ALTER at authoring time interactively.
|
|
23
|
+
*
|
|
24
|
+
* Only `.sql` files and files under a `migrations/` path are scanned, so SQL
|
|
25
|
+
* embedded in prose/docs or string literals in application code does not trip
|
|
26
|
+
* the guard. SQL comments (line and block) are stripped before matching.
|
|
27
|
+
*
|
|
28
|
+
* fail-CLOSED on scanner error (a broken guard must never silently pass
|
|
29
|
+
* destructive SQL). fail-OPEN only when there is genuinely nothing to scan.
|
|
30
|
+
*
|
|
31
|
+
* @module bin/utils/staged-sql-guard
|
|
32
|
+
*/
|
|
33
|
+
|
|
34
|
+
const { execFileSync, execSync } = require('child_process');
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Destructive patterns. Mirrors the irreversible subset of
|
|
38
|
+
* sql-governance.py DANGEROUS_PATTERNS. Each entry: [regex, humanLabel].
|
|
39
|
+
* Regexes are case-insensitive and operate on comment-stripped SQL text.
|
|
40
|
+
* @constant {Array<[RegExp, string]>}
|
|
41
|
+
*/
|
|
42
|
+
const DANGEROUS_PATTERNS = [
|
|
43
|
+
// DDL — destructive drops
|
|
44
|
+
[/\bDROP\s+TABLE\b/i, 'DROP TABLE'],
|
|
45
|
+
[/\bDROP\s+VIEW\b/i, 'DROP VIEW'],
|
|
46
|
+
[/\bDROP\s+MATERIALIZED\s+VIEW\b/i, 'DROP MATERIALIZED VIEW'],
|
|
47
|
+
[/\bDROP\s+FUNCTION\b/i, 'DROP FUNCTION'],
|
|
48
|
+
[/\bDROP\s+TRIGGER\b/i, 'DROP TRIGGER'],
|
|
49
|
+
[/\bDROP\s+INDEX\b/i, 'DROP INDEX'],
|
|
50
|
+
[/\bDROP\s+SCHEMA\b/i, 'DROP SCHEMA'],
|
|
51
|
+
[/\bDROP\s+POLICY\b/i, 'DROP POLICY'],
|
|
52
|
+
[/\bDROP\s+DATABASE\b/i, 'DROP DATABASE'],
|
|
53
|
+
// DML — data loss
|
|
54
|
+
[/\bTRUNCATE\b/i, 'TRUNCATE'],
|
|
55
|
+
// DELETE without a WHERE clause (whole-table wipe).
|
|
56
|
+
[/\bDELETE\s+FROM\s+[^;]*?(?:;|$)(?<!\bWHERE\b[^;]*)/i, 'DELETE without WHERE'],
|
|
57
|
+
// Disallowed backup pattern (table copy).
|
|
58
|
+
[/\bCREATE\s+TABLE\b[\s\S]*?\bAS\s+SELECT\b/i, 'CREATE TABLE AS SELECT (backup pattern)'],
|
|
59
|
+
];
|
|
60
|
+
|
|
61
|
+
const SQL_FILE_PATTERN = /\.sql$/i;
|
|
62
|
+
const MIGRATION_PATH_PATTERN = /(^|\/)migrations?\//i;
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Should this path be SQL-scanned?
|
|
66
|
+
* @param {string} filePath
|
|
67
|
+
* @returns {boolean}
|
|
68
|
+
*/
|
|
69
|
+
function isSqlScanTarget(filePath) {
|
|
70
|
+
const norm = String(filePath).replace(/\\/g, '/');
|
|
71
|
+
return SQL_FILE_PATTERN.test(norm) || MIGRATION_PATH_PATTERN.test(norm);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Strip SQL comments so `-- DROP TABLE foo` (commented out) is ignored.
|
|
76
|
+
* Removes `--` line comments and `/* ... *\/` block comments.
|
|
77
|
+
* @param {string} sql
|
|
78
|
+
* @returns {string}
|
|
79
|
+
*/
|
|
80
|
+
function stripSqlComments(sql) {
|
|
81
|
+
return String(sql == null ? '' : sql)
|
|
82
|
+
.replace(/\/\*[\s\S]*?\*\//g, ' ') // block comments
|
|
83
|
+
.replace(/--[^\n\r]*/g, ' '); // line comments
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* Detect destructive SQL in a blob. Operates per-statement (split on ';') so a
|
|
88
|
+
* `DELETE FROM a WHERE x; DELETE FROM b;` correctly flags only the second.
|
|
89
|
+
* @param {string} content
|
|
90
|
+
* @returns {string[]} list of human labels for findings (deduped)
|
|
91
|
+
*/
|
|
92
|
+
function detectDangerousSql(content) {
|
|
93
|
+
const cleaned = stripSqlComments(content);
|
|
94
|
+
const statements = cleaned.split(';');
|
|
95
|
+
const found = new Set();
|
|
96
|
+
|
|
97
|
+
for (const rawStmt of statements) {
|
|
98
|
+
const stmt = rawStmt.trim();
|
|
99
|
+
if (!stmt) continue;
|
|
100
|
+
|
|
101
|
+
for (const [pattern, label] of DANGEROUS_PATTERNS) {
|
|
102
|
+
if (label === 'DELETE without WHERE') {
|
|
103
|
+
// Per-statement WHERE check: flag a DELETE FROM only when this
|
|
104
|
+
// statement has no WHERE.
|
|
105
|
+
if (/\bDELETE\s+FROM\b/i.test(stmt) && !/\bWHERE\b/i.test(stmt)) {
|
|
106
|
+
found.add(label);
|
|
107
|
+
}
|
|
108
|
+
continue;
|
|
109
|
+
}
|
|
110
|
+
if (pattern.test(stmt)) {
|
|
111
|
+
found.add(label);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
return Array.from(found);
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
function getStagedFiles() {
|
|
120
|
+
try {
|
|
121
|
+
const output = execSync('git diff --cached --name-only --diff-filter=ACMR', {
|
|
122
|
+
encoding: 'utf8',
|
|
123
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
124
|
+
}).trim();
|
|
125
|
+
return output ? output.split('\n').filter(Boolean) : [];
|
|
126
|
+
} catch {
|
|
127
|
+
return [];
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
function readStagedFile(filePath) {
|
|
132
|
+
// Throws on failure so the caller can fail-CLOSED instead of scanning "".
|
|
133
|
+
return execFileSync('git', ['show', `:${filePath}`], {
|
|
134
|
+
encoding: 'utf8',
|
|
135
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
136
|
+
maxBuffer: 5 * 1024 * 1024,
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
/**
|
|
141
|
+
* Scan the given staged files for destructive SQL.
|
|
142
|
+
* @param {string[]} files
|
|
143
|
+
* @returns {Array<{ filePath: string, reasons: string[] }>}
|
|
144
|
+
*/
|
|
145
|
+
function scanStagedFiles(files) {
|
|
146
|
+
const findings = [];
|
|
147
|
+
|
|
148
|
+
for (const filePath of files) {
|
|
149
|
+
if (!isSqlScanTarget(filePath)) continue;
|
|
150
|
+
|
|
151
|
+
let content;
|
|
152
|
+
try {
|
|
153
|
+
content = readStagedFile(filePath);
|
|
154
|
+
} catch {
|
|
155
|
+
// Unreadable blob (binary/deleted-readded race) — skip; SQL files are text.
|
|
156
|
+
continue;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
const reasons = detectDangerousSql(content);
|
|
160
|
+
if (reasons.length > 0) {
|
|
161
|
+
findings.push({ filePath, reasons });
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
return findings;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
function main() {
|
|
169
|
+
let findings;
|
|
170
|
+
try {
|
|
171
|
+
const files = getStagedFiles();
|
|
172
|
+
if (files.length === 0) process.exit(0);
|
|
173
|
+
findings = scanStagedFiles(files);
|
|
174
|
+
} catch (err) {
|
|
175
|
+
// fail-CLOSED on unexpected scanner error.
|
|
176
|
+
process.stderr.write('\nStaged SQL Guard: unexpected error — commit blocked (fail-closed).\n');
|
|
177
|
+
process.stderr.write(String(err && err.message ? err.message : err) + '\n');
|
|
178
|
+
process.exit(1);
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
if (findings.length === 0) process.exit(0);
|
|
182
|
+
|
|
183
|
+
process.stderr.write('\nStaged SQL Guard: commit blocked (destructive SQL detected).\n\n');
|
|
184
|
+
for (const f of findings) {
|
|
185
|
+
process.stderr.write(`- ${f.filePath}: ${f.reasons.join(', ')}\n`);
|
|
186
|
+
}
|
|
187
|
+
process.stderr.write('\nDestructive schema/data operations must go through a reviewed migration,\n');
|
|
188
|
+
process.stderr.write('not a raw commit. If this is an intentional, reviewed migration:\n');
|
|
189
|
+
process.stderr.write(' git commit --no-verify (framework contributors / reviewed migrations only)\n\n');
|
|
190
|
+
process.exit(1);
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
module.exports = {
|
|
194
|
+
DANGEROUS_PATTERNS,
|
|
195
|
+
isSqlScanTarget,
|
|
196
|
+
stripSqlComments,
|
|
197
|
+
detectDangerousSql,
|
|
198
|
+
getStagedFiles,
|
|
199
|
+
scanStagedFiles,
|
|
200
|
+
};
|
|
201
|
+
|
|
202
|
+
if (require.main === module) {
|
|
203
|
+
main();
|
|
204
|
+
}
|
|
@@ -75,6 +75,69 @@ try {
|
|
|
75
75
|
passed = false;
|
|
76
76
|
}
|
|
77
77
|
|
|
78
|
+
// Check 5 (E9): Secret scan over the EXACT files that would be published.
|
|
79
|
+
// Reuses the shared scanner core, scoped as a RELEASE gate (not the commit-time
|
|
80
|
+
// diff scan): it skips vendored node_modules (a dependency's strings are not our
|
|
81
|
+
// secret to gate on) and HARD-FAILS only on HIGH-CONFIDENCE key formats
|
|
82
|
+
// (sk-proj / AKIA / ghp_ / private keys / real connection strings). The entropy
|
|
83
|
+
// backstop and the low-confidence keyword heuristics (Hardcoded Password /
|
|
84
|
+
// Bearer Token) are intentionally NOT release-blocking — over a whole package
|
|
85
|
+
// they match documentation examples and minified vendor code, which would block
|
|
86
|
+
// every release on noise. The git pre-commit hook keeps the stricter,
|
|
87
|
+
// diff-scoped scan (entropy + low-confidence) for authored changes.
|
|
88
|
+
console.log('');
|
|
89
|
+
console.log('--- Secret Scan (E9, packaged files) ---\n');
|
|
90
|
+
try {
|
|
91
|
+
const core = require(
|
|
92
|
+
path.join(PROJECT_ROOT, '.sinapse-ai', 'git-hooks', 'lib', 'secret-scanner-core.js'),
|
|
93
|
+
);
|
|
94
|
+
const { isScanExemptPath } = require(
|
|
95
|
+
path.join(PROJECT_ROOT, '.sinapse-ai', 'git-hooks', 'lib', 'staged-secret-scan.js'),
|
|
96
|
+
);
|
|
97
|
+
const lowConfidence = new Set(
|
|
98
|
+
(core.NAMED_PATTERNS || []).filter((p) => p.lowConfidence).map((p) => p.name),
|
|
99
|
+
);
|
|
100
|
+
const packJson = execSync('npm pack --dry-run --json', {
|
|
101
|
+
encoding: 'utf8',
|
|
102
|
+
cwd: PROJECT_ROOT,
|
|
103
|
+
timeout: 60000,
|
|
104
|
+
// npm writes notices to stderr and the JSON result to stdout; capture only stdout.
|
|
105
|
+
stdio: ['ignore', 'pipe', 'ignore'],
|
|
106
|
+
maxBuffer: 32 * 1024 * 1024,
|
|
107
|
+
});
|
|
108
|
+
const files = (JSON.parse(packJson)[0] || {}).files || [];
|
|
109
|
+
// Binary/asset extensions can't carry plaintext secrets and may blow up the reader.
|
|
110
|
+
const BINARY = /\.(png|jpe?g|gif|webp|ico|pdf|zip|gz|tgz|woff2?|ttf|eot|mp4|mp3|wasm|node)$/i;
|
|
111
|
+
const findings = [];
|
|
112
|
+
let scanned = 0;
|
|
113
|
+
for (const f of files) {
|
|
114
|
+
const rel = f.path;
|
|
115
|
+
if (!rel || BINARY.test(rel) || rel.includes('node_modules/') || isScanExemptPath(rel)) continue;
|
|
116
|
+
let content;
|
|
117
|
+
try {
|
|
118
|
+
content = fs.readFileSync(path.join(PROJECT_ROOT, rel), 'utf8');
|
|
119
|
+
} catch {
|
|
120
|
+
continue;
|
|
121
|
+
}
|
|
122
|
+
scanned += 1;
|
|
123
|
+
const hits = core
|
|
124
|
+
.scanContent(content, { filePath: rel, entropy: false })
|
|
125
|
+
.filter((h) => !lowConfidence.has(h.name));
|
|
126
|
+
if (hits.length > 0) findings.push({ file: rel, secrets: [...new Set(hits.map((h) => h.name))] });
|
|
127
|
+
}
|
|
128
|
+
if (findings.length > 0) {
|
|
129
|
+
console.error(`FAIL: ${findings.length} packaged file(s) contain high-confidence secrets — publish blocked:`);
|
|
130
|
+
for (const fnd of findings) console.error(` - ${fnd.file}: ${fnd.secrets.join(', ')}`);
|
|
131
|
+
passed = false;
|
|
132
|
+
} else {
|
|
133
|
+
console.log(`PASS: no high-confidence secrets in ${scanned} packaged source files`);
|
|
134
|
+
}
|
|
135
|
+
} catch (err) {
|
|
136
|
+
// Fail-closed: a broken secret scan must NOT let a publish through silently.
|
|
137
|
+
console.error(`FAIL: secret scan over package could not complete: ${err.message}`);
|
|
138
|
+
passed = false;
|
|
139
|
+
}
|
|
140
|
+
|
|
78
141
|
// Summary
|
|
79
142
|
console.log('');
|
|
80
143
|
if (passed) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Agent Reference Guide — SINAPSE-AI
|
|
2
2
|
|
|
3
|
-
> Referência rápida dos **
|
|
3
|
+
> Referência rápida dos **172 agentes** organizados em **17 squads** + **12 framework agents**. Total: 1.200 tasks executáveis.
|
|
4
4
|
|
|
5
5
|
## Como invocar
|
|
6
6
|
|
|
@@ -33,14 +33,14 @@ Localização: `.sinapse-ai/development/agents/`
|
|
|
33
33
|
| `@squad-creator` | — | Cria squads customizados |
|
|
34
34
|
| `@snps-orqx` | Imperator | Master orchestrator |
|
|
35
35
|
|
|
36
|
-
## Squad Orchestrators (
|
|
36
|
+
## Squad Orchestrators (17) — Especialistas por Domínio
|
|
37
37
|
|
|
38
38
|
| Squad | Orchestrator | Domínio principal |
|
|
39
39
|
|---|---|---|
|
|
40
40
|
| squad-brand | `@brand-orqx` | Branding, identidade visual, MVV |
|
|
41
41
|
| squad-copy | `@copy-orqx` | Copywriting, persuasão, ads |
|
|
42
42
|
| squad-content | `@content-orqx` | Conteúdo, editorial, SEO |
|
|
43
|
-
| squad-design | `@design-orqx` | Design system, UI, wireframes |
|
|
43
|
+
| squad-design | `@design-orqx` | Design system, UI, wireframes, art direction (LP/site/premium) |
|
|
44
44
|
| squad-animations | `@animations-orqx` | Motion, GSAP, Three.js, shaders |
|
|
45
45
|
| squad-product | `@product-orqx` | Product discovery, roadmap |
|
|
46
46
|
| squad-commercial | `@commercial-orqx` | Vendas, CRM, funil |
|
|
@@ -53,9 +53,7 @@ Localização: `.sinapse-ai/development/agents/`
|
|
|
53
53
|
| squad-courses | `@courses-orqx` | Cursos, mentorias, lançamento |
|
|
54
54
|
| squad-storytelling | `@storytelling-orqx` | Pitch, narrativa |
|
|
55
55
|
| squad-council | `@council-orqx` | Conselho estratégico (mental models) |
|
|
56
|
-
| claude-code-mastery | `@
|
|
57
|
-
| squad-artdir | `@artdir-orqx` | Direção de arte |
|
|
58
|
-
| claude-code-mastery | `@claude-mastery-chief` | Setup avançado Claude Code |
|
|
56
|
+
| claude-code-mastery | `@swarm-orqx` | Claude Code mastery (hooks, MCP, skills) |
|
|
59
57
|
|
|
60
58
|
## Como descobrir agentes de um squad
|
|
61
59
|
|
|
@@ -105,4 +103,4 @@ squads/{squad-name}/
|
|
|
105
103
|
|
|
106
104
|
---
|
|
107
105
|
|
|
108
|
-
*
|
|
106
|
+
*172 agentes especializados. 1.200 tasks. 13 hooks ativos. 10 artigos constitucionais. Tudo direto no terminal.*
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# Agent Prefix Convention (Codex)
|
|
2
|
+
|
|
3
|
+
> Decision D5 of the Codex-parity program (E8). Defines how an agent signals
|
|
4
|
+
> *which* agent is speaking in environments without a status line.
|
|
5
|
+
|
|
6
|
+
## Why this exists
|
|
7
|
+
|
|
8
|
+
In Claude Code, the active agent is shown by the status line — the user always
|
|
9
|
+
knows whether Imperator, the developer, or a squad specialist is responding.
|
|
10
|
+
**Codex CLI has no status line.** Without a convention, every agent's output
|
|
11
|
+
looks identical and the user loses track of who is acting. D5 adopts a cheap,
|
|
12
|
+
text-only marker instead of trying to emulate a status line (which the platform
|
|
13
|
+
does not support).
|
|
14
|
+
|
|
15
|
+
## The convention
|
|
16
|
+
|
|
17
|
+
An agent prefixes its **activation greeting** and **handoff/routing lines** with
|
|
18
|
+
its name in brackets:
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
[Imperator] Diagnosed your briefing — routing to the brand squad.
|
|
22
|
+
[Brand Strategist] Positioning locked. Handing back to [Imperator].
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
- Plain text, no emoji (survives terminals/log pipes that strip emoji). The
|
|
26
|
+
master agent's greeting may still carry its `👑 Imperator` banner; the bracket
|
|
27
|
+
marker is the machine-stable signal.
|
|
28
|
+
- The bracket name matches the agent's display name (e.g. `[Imperator]`,
|
|
29
|
+
`[Developer]`, `[Brand Strategist]`).
|
|
30
|
+
|
|
31
|
+
## Scope (conservative by default)
|
|
32
|
+
|
|
33
|
+
| Where | Prefix required? |
|
|
34
|
+
|-------|------------------|
|
|
35
|
+
| Coordinator activation greeting (Imperator / squad `*-orqx`) | **Yes** |
|
|
36
|
+
| Cross-agent handoff / routing announcements | **Yes** |
|
|
37
|
+
| A specialist's first line when it takes over a turn | **Yes** |
|
|
38
|
+
| Every subsequent line of a long answer | No (would bloat tokens across 172 agents) |
|
|
39
|
+
| One-line confirmations | No |
|
|
40
|
+
|
|
41
|
+
The goal is *discoverability of who is acting*, not decorating every sentence.
|
|
42
|
+
This keeps the token cost negligible while restoring the "who is speaking"
|
|
43
|
+
signal that Codex otherwise lacks.
|
|
44
|
+
|
|
45
|
+
## Claude Code vs Codex
|
|
46
|
+
|
|
47
|
+
- **Codex:** apply the bracket prefix per the table above.
|
|
48
|
+
- **Claude Code:** the status line already shows the active agent — the prefix
|
|
49
|
+
is optional (the greeting banner is enough).
|
|
50
|
+
|
|
51
|
+
## Enforcement
|
|
52
|
+
|
|
53
|
+
This is a **convention**, not a hard gate (an agent's runtime output cannot be
|
|
54
|
+
blocked by a git hook). The golden-journey test
|
|
55
|
+
(`tests/integration/golden-journey.test.js`) checks that this convention is
|
|
56
|
+
documented and that the coordinator greeting carries the `[Imperator]` identity
|
|
57
|
+
marker. Security enforcement (secret / SQL / boundary) is separate and *is*
|
|
58
|
+
gated by the git hooks.
|
|
@@ -27,13 +27,13 @@
|
|
|
27
27
|
| +------------------------------------------------------------+ |
|
|
28
28
|
| | Agent Ecosystem | |
|
|
29
29
|
| | | |
|
|
30
|
-
| | Core (12 agentes) Squads (
|
|
30
|
+
| | Core (12 agentes) Squads (17 dominios) | |
|
|
31
31
|
| | +--------+ +--------+ +--------+ +--------+ | |
|
|
32
32
|
| | | Pixel | | Litmus | | Brand | | Growth | ... | |
|
|
33
33
|
| | | (dev) | | (qa) | | Squad | | Squad | | |
|
|
34
34
|
| | +--------+ +--------+ +--------+ +--------+ | |
|
|
35
|
-
| | +--------+ +--------+
|
|
36
|
-
| | |Stratum | |Pipeline| em
|
|
35
|
+
| | +--------+ +--------+ 160 especialistas | |
|
|
36
|
+
| | |Stratum | |Pipeline| em 17 squads tematicos | |
|
|
37
37
|
| | | (arch) | |(devops)| | |
|
|
38
38
|
| | +--------+ +--------+ | |
|
|
39
39
|
| +------------------------------------------------------------+ |
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
Agentes sao personas especializadas com expertise, comandos e responsabilidades definidas. Cada agente opera dentro de um escopo de autoridade exclusivo.
|
|
55
55
|
|
|
56
56
|
- **12 agentes core** cobrem o ciclo completo de desenvolvimento de software
|
|
57
|
-
- **
|
|
57
|
+
- **160 agentes em 17 squads** expandem para dominios especializados
|
|
58
58
|
- Cada agente tem persona (nome, estilo), comandos (`*help`, `*task`) e dependencias
|
|
59
59
|
|
|
60
60
|
Ativacao: `@agent-name` ou `/SINAPSE:agents:agent-name`
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Collaboration Activation Runbook
|
|
2
|
+
|
|
3
|
+
> When a second contributor (e.g. Matheus / `Matheus-soier`) starts pushing to
|
|
4
|
+
> this repo, the agent flips the repository from **solo mode** to **collab mode**.
|
|
5
|
+
> The user never runs these steps — the agent runs them on the first sign of a
|
|
6
|
+
> second contributor. Policy source: `.claude/rules/safe-collaboration.md`.
|
|
7
|
+
|
|
8
|
+
## Solo mode (default, today)
|
|
9
|
+
|
|
10
|
+
- Maintainer (Caio) branches → PR → self-merges (admin bypass). No required review.
|
|
11
|
+
- Branch protection on `main` may be off or advisory.
|
|
12
|
+
|
|
13
|
+
## Trigger to switch → collab mode
|
|
14
|
+
|
|
15
|
+
Any of:
|
|
16
|
+
- A push/PR appears from a non-maintainer account (`Matheus-soier`).
|
|
17
|
+
- The user says "vou trabalhar com o Matheus" (or names a collaborator).
|
|
18
|
+
|
|
19
|
+
## Collab-mode activation (agent runs, once)
|
|
20
|
+
|
|
21
|
+
1. **Require PR review on `main`** (1 approval), keep the maintainer's admin bypass so Caio can still merge own work:
|
|
22
|
+
```bash
|
|
23
|
+
gh api -X PUT repos/{owner}/{repo}/branches/main/protection \
|
|
24
|
+
-f required_pull_request_reviews.required_approving_review_count=1 \
|
|
25
|
+
-F enforce_admins=false \
|
|
26
|
+
-F required_status_checks.strict=true \
|
|
27
|
+
-F restrictions=null
|
|
28
|
+
```
|
|
29
|
+
(`enforce_admins=false` = maintainer admin bypass preserved; collaborator PRs still need the approval.)
|
|
30
|
+
2. **Reviewer assignment** (already in safe-collaboration.md): collaborator PR → auto-assign the maintainer as reviewer; maintainer PR → may self-merge.
|
|
31
|
+
3. **Branch prefixes** stay automatic: `caio/…` for the maintainer, `soier/…` for Matheus, `dev/…` fallback.
|
|
32
|
+
4. Confirm to the user in plain language: "Ativei revisão de mudanças — agora o que o Matheus enviar passa pela sua aprovação antes de entrar no principal."
|
|
33
|
+
|
|
34
|
+
## Revert to solo mode
|
|
35
|
+
|
|
36
|
+
If collaboration ends, the agent may relax the required review (set
|
|
37
|
+
`required_approving_review_count=0` or remove the protection rule), keeping the
|
|
38
|
+
secret/SQL/boundary git guards and CI checks active regardless of mode.
|
|
39
|
+
|
|
40
|
+
## Invariants (both modes)
|
|
41
|
+
|
|
42
|
+
- The commit-time **security guards** (secret-scan, destructive-SQL, framework
|
|
43
|
+
boundary) and the **CI status checks** apply to everyone, always — collab mode
|
|
44
|
+
only adds the human-review gate on top.
|
|
45
|
+
- The user never touches git directly; the agent handles branch/PR/merge.
|
|
@@ -22,9 +22,9 @@ Essa decisao nao e estetica --- e estrutural. Agentes de IA operam em terminais.
|
|
|
22
22
|
|
|
23
23
|
**Por que artigos formais com enforcement automatico?**
|
|
24
24
|
|
|
25
|
-
O SINAPSE possui 10 artigos constitucionais que governam o comportamento de todos os
|
|
25
|
+
O SINAPSE possui 10 artigos constitucionais que governam o comportamento de todos os 172 agentes. Cada artigo tem severidade definida (NON-NEGOTIABLE ou MUST) e gates automaticos que bloqueiam violacoes deterministicamente.
|
|
26
26
|
|
|
27
|
-
A alternativa --- guidelines aspiracionais --- falha em escala. Quando
|
|
27
|
+
A alternativa --- guidelines aspiracionais --- falha em escala. Quando 172 agentes operam em 17 dominios, regras que dependem de "boa vontade" sao violadas silenciosamente. Gates automaticos (hooks pre-commit, pre-push, validacoes de story) garantem que violacoes sao detectadas e bloqueadas antes de causar dano.
|
|
28
28
|
|
|
29
29
|
**Exemplo:** o hook `enforce-git-push-authority.sh` bloqueia qualquer agente que nao seja @devops (Pipeline) de executar `git push`. Nao e uma sugestao --- e um bloqueio deterministico.
|
|
30
30
|
|
|
@@ -66,9 +66,9 @@ A razao e separacao de responsabilidades em escala. Um orquestrador que "faz tud
|
|
|
66
66
|
|
|
67
67
|
## 5. Escala do Ecossistema de Agentes
|
|
68
68
|
|
|
69
|
-
**Por que
|
|
69
|
+
**Por que 172 agentes em 17 dominios?**
|
|
70
70
|
|
|
71
|
-
O SINAPSE nao e um agente generalista. E um ecossistema de
|
|
71
|
+
O SINAPSE nao e um agente generalista. E um ecossistema de 160 especialistas organizados em 17 squads tematicos. Cada agente tem persona, expertise e comandos especificos para seu dominio.
|
|
72
72
|
|
|
73
73
|
Essa arquitetura permite:
|
|
74
74
|
|
|
@@ -76,13 +76,13 @@ Essa arquitetura permite:
|
|
|
76
76
|
- **Contexto otimizado:** cada agente carrega apenas as dependencias necessarias para seu dominio, preservando a janela de contexto para o trabalho real.
|
|
77
77
|
- **Escalabilidade horizontal:** novos dominios sao adicionados como squads independentes, sem impactar o core.
|
|
78
78
|
|
|
79
|
-
Os 12 agentes core cobrem o ciclo completo de desenvolvimento de software. Os
|
|
79
|
+
Os 12 agentes core cobrem o ciclo completo de desenvolvimento de software. Os 17 squads expandem para dominios como branding, growth, financeiro, cybersecurity e mais.
|
|
80
80
|
|
|
81
81
|
| Camada | Agentes | Funcao |
|
|
82
82
|
|--------|---------|--------|
|
|
83
83
|
| Core | 12 agentes | Desenvolvimento de software completo |
|
|
84
|
-
| Squads |
|
|
85
|
-
| Total |
|
|
84
|
+
| Squads | 160 agentes em 17 dominios | Especializacao por dominio |
|
|
85
|
+
| Total | 172 agentes | Ecossistema completo |
|
|
86
86
|
|
|
87
87
|
> Constitution Art. VII --- metricas exatas, sempre sincronizadas
|
|
88
88
|
|
|
@@ -178,10 +178,10 @@ Isso garante que o framework mantem coerencia e qualidade mesmo com contribuicoe
|
|
|
178
178
|
| Principio | Por que existe | Enforcement |
|
|
179
179
|
|-----------|---------------|-------------|
|
|
180
180
|
| CLI First | Agentes operam em terminais | Hook WARN |
|
|
181
|
-
| Governanca Constitucional |
|
|
181
|
+
| Governanca Constitucional | 172 agentes precisam de regras deterministicas | 10 artigos + gates |
|
|
182
182
|
| Documentation-First | Codigo sem spec gera retrabalho | Hook BLOCK |
|
|
183
183
|
| Delegacao Obrigatoria | Separacao de responsabilidades em escala | Hook BLOCK |
|
|
184
|
-
| Ecossistema
|
|
184
|
+
| Ecossistema 172 Agentes | Especializacao profunda por dominio | Art. VII metricas |
|
|
185
185
|
| Hooks Deterministicos | Guidelines aspiracionais falham em escala | 5+ hooks ativos |
|
|
186
186
|
| Colaboracao Segura | Usuarios nao sao git experts | Auto-branch/sync/PR |
|
|
187
187
|
| Seguranca por Default | Licoes de vazamentos reais | 25 blockers |
|
package/docs/getting-started.md
CHANGED
|
@@ -65,4 +65,4 @@ npx sinapse-ai uninstall # remove tudo
|
|
|
65
65
|
|
|
66
66
|
---
|
|
67
67
|
|
|
68
|
-
*Próxima leitura sugerida: [Agent Reference Guide](agent-reference-guide.md) pra ver todos os
|
|
68
|
+
*Próxima leitura sugerida: [Agent Reference Guide](agent-reference-guide.md) pra ver todos os 172 agentes disponíveis.*
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Agent Reference — SINAPSE-AI
|
|
2
2
|
|
|
3
3
|
> Reference for the **10 framework agents** ship-loaded by SINAPSE-AI.
|
|
4
|
-
> For the wider squad agent universe (
|
|
4
|
+
> For the wider squad agent universe (172 agents across 17 squads), see
|
|
5
5
|
> the squads source-of-truth at `squads/` or run
|
|
6
6
|
> `npx sinapse-ai list` after install.
|
|
7
7
|
|
|
@@ -101,7 +101,7 @@ Resposta esperada ao ativar atalho:
|
|
|
101
101
|
2. Mostrar 3-6 comandos principais (`*help`, etc.)
|
|
102
102
|
3. Seguir na persona do agente
|
|
103
103
|
|
|
104
|
-
## Orquestradores (
|
|
104
|
+
## Orquestradores (18 orqx: 17 squad + 1 master)
|
|
105
105
|
|
|
106
106
|
Cada orqx coordena um squad completo de agentes especializados. Ative via `/skills` > `sinapse-<orqx>` ou `@<orqx>`:
|
|
107
107
|
|
|
@@ -124,14 +124,13 @@ Cada orqx coordena um squad completo de agentes especializados. Ative via `/skil
|
|
|
124
124
|
| `courses-orqx` | Courses | Curriculos, assessments, launch |
|
|
125
125
|
| `cloning-orqx` | Cloning | Clonagem cognitiva, mind synthesis |
|
|
126
126
|
| `council-orqx` | Council | Advisors estrategicos (Munger, Dalio, Thiel) |
|
|
127
|
-
| `
|
|
128
|
-
| `swarm-orqx` | Mastery | Dominio avancado do Claude Code |
|
|
127
|
+
| `swarm-orqx` | Mastery | Claude Code, MCP, integracao avancada |
|
|
129
128
|
|
|
130
129
|
Agents de arquivo: `.codex/agents/<orqx>.md` ou `.claude/agents/<orqx>.md`
|
|
131
130
|
|
|
132
|
-
## Agentes Especializados (
|
|
131
|
+
## Agentes Especializados (160)
|
|
133
132
|
|
|
134
|
-
Existem
|
|
133
|
+
Existem 172 agentes organizados em 17 squads (160 em squads + 12 framework agents, incluindo o master orchestrator). Eles sao acessiveis via:
|
|
135
134
|
- `.codex/agents/<agent-name>.md` - arquivo direto
|
|
136
135
|
- Chamada interna pelo orqx do squad
|
|
137
136
|
|
|
@@ -1,7 +1,14 @@
|
|
|
1
1
|
# Sub-Orqx 3-Level Pattern
|
|
2
2
|
|
|
3
|
-
> **Status:**
|
|
4
|
-
>
|
|
3
|
+
> **Status:** SUPERSEDED (2026-05-15 squad rename). This document describes the
|
|
4
|
+
> historical 3-level topology that existed BEFORE `claude-code-mastery` was
|
|
5
|
+
> flattened. The former parent layer `claude-orqx` was retired (see
|
|
6
|
+
> `squads/claude-code-mastery/_deprecated/`) and `swarm-orqx` (Nexus) was
|
|
7
|
+
> promoted to be the squad orchestrator itself. The current topology for
|
|
8
|
+
> `claude-code-mastery` is the standard 2-level model: `sinapse-orqx` →
|
|
9
|
+
> `swarm-orqx` → specialists. The `tools-orqx` sub-layer and `db-sage` were
|
|
10
|
+
> also deprecated. Retained for historical/architectural context only — do NOT
|
|
11
|
+
> treat the diagrams below as current routing truth.
|
|
5
12
|
> **Related:** Constitution Article XI (Conservative Default)
|
|
6
13
|
|
|
7
14
|
## Overview
|
|
@@ -21,18 +28,14 @@ sinapse-orqx (Imperator)
|
|
|
21
28
|
```
|
|
22
29
|
sinapse-orqx (Imperator)
|
|
23
30
|
|
|
|
24
|
-
+--
|
|
31
|
+
+-- swarm-orqx (squad orchestrator) # historically: claude-orqx (retired)
|
|
25
32
|
|
|
|
26
|
-
+--
|
|
27
|
-
|
|
|
28
|
-
|
|
|
29
|
-
| project-integrator, roadmap-sentinel
|
|
33
|
+
+-- (in the historical 3-level model, sub-orchestrators sat here:
|
|
34
|
+
| swarm-orqx for orchestration specialists, tools-orqx for
|
|
35
|
+
| tool-crafters — both since collapsed/retired)
|
|
30
36
|
|
|
|
31
|
-
+--
|
|
32
|
-
|
|
33
|
-
| +-- skill-craftsman, db-sage
|
|
34
|
-
|
|
|
35
|
-
+-- (direct specialists, when domain is narrow enough to skip sub-orqx)
|
|
37
|
+
+-- hooks-architect, mcp-integrator, config-engineer,
|
|
38
|
+
project-integrator, roadmap-sentinel, skill-craftsman
|
|
36
39
|
```
|
|
37
40
|
|
|
38
41
|
## Why This Exists
|
|
@@ -66,10 +69,9 @@ Only add a sub-orqx layer when ALL of these hold:
|
|
|
66
69
|
```
|
|
67
70
|
User: "Configure hooks + MCP servers + settings for this project"
|
|
68
71
|
-> sinapse-orqx
|
|
69
|
-
->
|
|
70
|
-
-> swarm-orqx (detects multi-specialist parallel work)
|
|
72
|
+
-> swarm-orqx (squad orchestrator; detects multi-specialist parallel work)
|
|
71
73
|
-> hooks-architect | mcp-integrator | config-engineer (parallel)
|
|
72
|
-
-> results merged back through swarm-orqx ->
|
|
74
|
+
-> results merged back through swarm-orqx -> user
|
|
73
75
|
```
|
|
74
76
|
|
|
75
77
|
### tools-orqx routing
|
|
@@ -77,9 +79,9 @@ User: "Configure hooks + MCP servers + settings for this project"
|
|
|
77
79
|
```
|
|
78
80
|
User: "Create a reusable skill for X and document the DB access pattern"
|
|
79
81
|
-> sinapse-orqx
|
|
80
|
-
->
|
|
81
|
-
->
|
|
82
|
-
|
|
82
|
+
-> swarm-orqx (squad orchestrator)
|
|
83
|
+
-> skill-craftsman (skill authoring; the former tools-orqx sub-layer and
|
|
84
|
+
db-sage are retired — DB work now routes via @data-engineer)
|
|
83
85
|
```
|
|
84
86
|
|
|
85
87
|
## Non-Normalization Rule
|
|
@@ -169,7 +169,7 @@ SINAPSE-AI uses 19 Claude Code hooks organized by trigger event:
|
|
|
169
169
|
|
|
170
170
|
### Design Principles
|
|
171
171
|
|
|
172
|
-
1. **Fail-open
|
|
172
|
+
1. **Fail-open for advisory hooks, fail-CLOSED for security guards** -- Advisory/observability hooks (validation, naming, capture) exit with code 0 (allow) if they crash or cannot parse input, so a hook bug never blocks all development. The **security guards are the deliberate exception**: the git pre-commit secret-scan, destructive-SQL guard, and framework-boundary guard fail-**closed** — if a guard cannot run, cannot read a staged file, or is uncertain, it **BLOCKS** the commit. A scanner that cannot run must never let a secret or a `DROP TABLE` through.
|
|
173
173
|
2. **Fast** -- Each hook must complete in under 5 seconds.
|
|
174
174
|
3. **Silent on success** -- Hooks only produce output when blocking or warning.
|
|
175
175
|
4. **Deterministic** -- Same input always produces the same output.
|