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
|
@@ -4,6 +4,11 @@
|
|
|
4
4
|
const fs = require('fs');
|
|
5
5
|
const path = require('path');
|
|
6
6
|
|
|
7
|
+
const {
|
|
8
|
+
resolveCodexAgent,
|
|
9
|
+
resolveCodexAgentCommand,
|
|
10
|
+
} = require('./resolve-codex-agent');
|
|
11
|
+
|
|
7
12
|
const PROJECT_ROOT = path.resolve(__dirname, '..', '..');
|
|
8
13
|
const REGISTRY_PATH = path.join(PROJECT_ROOT, '.codex', 'command-registry.json');
|
|
9
14
|
|
|
@@ -62,23 +67,80 @@ function resolveCommand(agentSpec, commandInput) {
|
|
|
62
67
|
function resolveCodexCommand(agentInput, commandInput, projectRoot = PROJECT_ROOT) {
|
|
63
68
|
const registry = loadCommandRegistry(projectRoot);
|
|
64
69
|
const agent = resolveAgent(registry, agentInput);
|
|
65
|
-
|
|
66
|
-
|
|
70
|
+
|
|
71
|
+
// Tier 1 — curated registry (the SDC core agents with explicit command maps).
|
|
72
|
+
if (agent) {
|
|
73
|
+
const command = resolveCommand(agent.agentSpec, commandInput);
|
|
74
|
+
if (command) {
|
|
75
|
+
return {
|
|
76
|
+
agentId: agent.agentId,
|
|
77
|
+
skillId: agent.agentSpec.skillId,
|
|
78
|
+
commandId: command.commandId,
|
|
79
|
+
kind: command.commandSpec.kind,
|
|
80
|
+
target: command.commandSpec.target,
|
|
81
|
+
resources: command.commandSpec.resources || [],
|
|
82
|
+
sourceOfTruth: agent.agentSpec.sourceOfTruth,
|
|
83
|
+
resolvedBy: 'registry',
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
// Agent is in the registry but the command isn't — fall through to the
|
|
87
|
+
// parametric activator (the agent may own squad/dev tasks beyond its
|
|
88
|
+
// curated commands).
|
|
67
89
|
}
|
|
68
90
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
91
|
+
// Tier 2 — parametric activator: resolves ANY of the ~172 agents and the
|
|
92
|
+
// tasks they actually own from source, with on-disk pointer verification.
|
|
93
|
+
try {
|
|
94
|
+
const parametric = resolveCodexAgentCommand(agentInput, commandInput, projectRoot);
|
|
95
|
+
return {
|
|
96
|
+
agentId: parametric.agentId,
|
|
97
|
+
skillId: null,
|
|
98
|
+
squad: parametric.squad,
|
|
99
|
+
commandId: parametric.commandId,
|
|
100
|
+
kind: parametric.kind,
|
|
101
|
+
target: parametric.target,
|
|
102
|
+
resources: [],
|
|
103
|
+
sourceOfTruth: parametric.sourceOfTruth,
|
|
104
|
+
resolvedBy: 'activator',
|
|
105
|
+
};
|
|
106
|
+
} catch (err) {
|
|
107
|
+
// If the agent existed in the curated registry but neither tier knew the
|
|
108
|
+
// command, report a command error (not an agent error).
|
|
109
|
+
if (agent && /Unknown Codex agent/.test(err.message)) {
|
|
110
|
+
throw new Error(
|
|
111
|
+
`Unknown Codex command "${commandInput}" for agent "${agent.agentId}"`,
|
|
112
|
+
);
|
|
113
|
+
}
|
|
114
|
+
throw err;
|
|
72
115
|
}
|
|
116
|
+
}
|
|
73
117
|
|
|
118
|
+
/**
|
|
119
|
+
* Resolve an agent (without a specific command) across BOTH tiers. Returns the
|
|
120
|
+
* curated registry entry when present, otherwise the parametric activator view.
|
|
121
|
+
* Guarantees every one of the ~172 agents resolves — never "Unknown Codex agent".
|
|
122
|
+
*/
|
|
123
|
+
function resolveCodexAgentEntry(agentInput, projectRoot = PROJECT_ROOT) {
|
|
124
|
+
const registry = loadCommandRegistry(projectRoot);
|
|
125
|
+
const agent = resolveAgent(registry, agentInput);
|
|
126
|
+
if (agent) {
|
|
127
|
+
return {
|
|
128
|
+
agentId: agent.agentId,
|
|
129
|
+
skillId: agent.agentSpec.skillId,
|
|
130
|
+
sourceOfTruth: agent.agentSpec.sourceOfTruth,
|
|
131
|
+
commands: Object.keys(agent.agentSpec.commands || {}),
|
|
132
|
+
resolvedBy: 'registry',
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
const parametric = resolveCodexAgent(agentInput, projectRoot);
|
|
74
136
|
return {
|
|
75
|
-
agentId:
|
|
76
|
-
skillId:
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
137
|
+
agentId: parametric.agentId,
|
|
138
|
+
skillId: null,
|
|
139
|
+
squad: parametric.squad,
|
|
140
|
+
sourceOfTruth: parametric.sourceOfTruth,
|
|
141
|
+
taskCount: parametric.taskCount,
|
|
142
|
+
commands: parametric.tasks.map((t) => t.command),
|
|
143
|
+
resolvedBy: 'activator',
|
|
82
144
|
};
|
|
83
145
|
}
|
|
84
146
|
|
|
@@ -142,6 +204,7 @@ module.exports = {
|
|
|
142
204
|
resolveAgent,
|
|
143
205
|
resolveCommand,
|
|
144
206
|
resolveCodexCommand,
|
|
207
|
+
resolveCodexAgentEntry,
|
|
145
208
|
parseArgs,
|
|
146
209
|
formatHumanResult,
|
|
147
210
|
};
|
|
@@ -5,151 +5,187 @@ const fs = require('fs');
|
|
|
5
5
|
const path = require('path');
|
|
6
6
|
|
|
7
7
|
const PROJECT_ROOT = path.resolve(__dirname, '..', '..');
|
|
8
|
+
const MATRIX_PATH = path.join('.codex', 'delegation-matrix.json');
|
|
8
9
|
|
|
9
10
|
function loadDelegationMatrix(projectRoot = PROJECT_ROOT) {
|
|
10
|
-
const matrixPath = path.join(projectRoot,
|
|
11
|
+
const matrixPath = path.join(projectRoot, MATRIX_PATH);
|
|
11
12
|
const raw = fs.readFileSync(matrixPath, 'utf8');
|
|
12
13
|
return JSON.parse(raw);
|
|
13
14
|
}
|
|
14
15
|
|
|
15
|
-
function
|
|
16
|
-
return String(value || '')
|
|
16
|
+
function normalizeRouteInput(value) {
|
|
17
|
+
return String(value || '')
|
|
18
|
+
.trim()
|
|
19
|
+
.replace(/^[@*]/, '')
|
|
20
|
+
.toLowerCase();
|
|
17
21
|
}
|
|
18
22
|
|
|
19
|
-
function
|
|
20
|
-
return String(value || '')
|
|
23
|
+
function normalizeActorInput(value) {
|
|
24
|
+
return String(value || '')
|
|
25
|
+
.trim()
|
|
26
|
+
.replace(/^@/, '')
|
|
27
|
+
.toLowerCase();
|
|
21
28
|
}
|
|
22
29
|
|
|
23
|
-
function
|
|
30
|
+
function collectRouteAliases(routeId, routeSpec) {
|
|
24
31
|
return [routeId, ...(routeSpec.aliases || [])]
|
|
25
32
|
.map((alias) => normalizeRouteInput(alias))
|
|
26
33
|
.filter(Boolean);
|
|
27
34
|
}
|
|
28
35
|
|
|
29
|
-
function
|
|
30
|
-
const normalized =
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
sourceAgent: 'sinapse-orqx',
|
|
35
|
-
routes: {
|
|
36
|
-
...(matrix.masterRoutes || {}),
|
|
37
|
-
...(matrix.orqxRoutes || {}),
|
|
38
|
-
},
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
const matches = Object.entries(matrix.specialistRoutes || {})
|
|
43
|
-
.filter(([sourceAgentId, sourceSpec]) => {
|
|
44
|
-
const aliases = [sourceAgentId, ...(sourceSpec.aliases || [])]
|
|
45
|
-
.map((alias) => normalizeAgentInput(alias))
|
|
46
|
-
.filter(Boolean);
|
|
47
|
-
return aliases.includes(normalized);
|
|
48
|
-
});
|
|
36
|
+
function resolveDelegationRoute(routeInput, projectRoot = PROJECT_ROOT, matrix = loadDelegationMatrix(projectRoot)) {
|
|
37
|
+
const normalized = normalizeRouteInput(routeInput);
|
|
38
|
+
const matches = Object.entries(matrix.routes || {}).filter(([routeId, routeSpec]) =>
|
|
39
|
+
collectRouteAliases(routeId, routeSpec).includes(normalized),
|
|
40
|
+
);
|
|
49
41
|
|
|
50
42
|
if (matches.length > 1) {
|
|
51
|
-
throw new Error(`Ambiguous Codex delegation
|
|
43
|
+
throw new Error(`Ambiguous Codex delegation route "${routeInput}"`);
|
|
52
44
|
}
|
|
53
45
|
|
|
54
|
-
if (matches.length ===
|
|
55
|
-
|
|
56
|
-
sourceAgent: matches[0][0],
|
|
57
|
-
routes: matches[0][1].routes || {},
|
|
58
|
-
};
|
|
46
|
+
if (matches.length === 0) {
|
|
47
|
+
throw new Error(`Unknown Codex delegation route "${routeInput}"`);
|
|
59
48
|
}
|
|
60
49
|
|
|
61
|
-
|
|
50
|
+
const [routeId, routeSpec] = matches[0];
|
|
51
|
+
return { routeId, routeSpec };
|
|
62
52
|
}
|
|
63
53
|
|
|
64
|
-
function
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
54
|
+
function resolveRouteRecord(routeInput, projectRoot = PROJECT_ROOT, matrix = loadDelegationMatrix(projectRoot)) {
|
|
55
|
+
if (
|
|
56
|
+
routeInput &&
|
|
57
|
+
typeof routeInput === 'object' &&
|
|
58
|
+
typeof routeInput.routeId === 'string' &&
|
|
59
|
+
routeInput.routeSpec &&
|
|
60
|
+
typeof routeInput.routeSpec === 'object'
|
|
61
|
+
) {
|
|
62
|
+
return routeInput;
|
|
63
|
+
}
|
|
68
64
|
|
|
69
|
-
|
|
70
|
-
|
|
65
|
+
return resolveDelegationRoute(routeInput, projectRoot, matrix);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
function routeMentionsSource(routeSpec, sourceInput) {
|
|
69
|
+
const normalizedSource = normalizeActorInput(sourceInput);
|
|
70
|
+
if (!normalizedSource) {
|
|
71
|
+
return true;
|
|
71
72
|
}
|
|
72
73
|
|
|
73
|
-
if (
|
|
74
|
-
return
|
|
74
|
+
if (normalizeActorInput(routeSpec.owner) === normalizedSource) {
|
|
75
|
+
return true;
|
|
75
76
|
}
|
|
76
77
|
|
|
78
|
+
return (routeSpec.delegationChain || []).some(
|
|
79
|
+
(step) =>
|
|
80
|
+
normalizeActorInput(step.from) === normalizedSource ||
|
|
81
|
+
normalizeActorInput(step.to) === normalizedSource,
|
|
82
|
+
);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
function buildHandoffPacket(routeInput, projectRoot = PROJECT_ROOT, matrix = loadDelegationMatrix(projectRoot)) {
|
|
86
|
+
const { routeId, routeSpec } = resolveRouteRecord(routeInput, projectRoot, matrix);
|
|
87
|
+
const chain = routeSpec.delegationChain || [];
|
|
88
|
+
// The next handoff is the immediate next actor the owner hands the work to,
|
|
89
|
+
// i.e. the target of the first delegation step.
|
|
90
|
+
const nextStep = chain[0] || null;
|
|
91
|
+
|
|
77
92
|
return {
|
|
78
|
-
routeId
|
|
79
|
-
|
|
93
|
+
routeId,
|
|
94
|
+
mission: routeSpec.mission,
|
|
95
|
+
phase: matrix.phase || 'W5 / Delegation Matrix Parity',
|
|
96
|
+
owner: routeSpec.owner,
|
|
97
|
+
classification: routeSpec.classification,
|
|
98
|
+
summary: routeSpec.summary || '',
|
|
99
|
+
inputs: routeSpec.inputs || [],
|
|
100
|
+
outputs: routeSpec.outputs || [],
|
|
101
|
+
validators: routeSpec.validators || [],
|
|
102
|
+
sharedSurfaceRisk: routeSpec.sharedSurfaceRisk || 'low',
|
|
103
|
+
nextHandoff: {
|
|
104
|
+
to: nextStep?.to || routeSpec.owner,
|
|
105
|
+
artifact: routeSpec.outputs?.[0] || 'handoff-packet',
|
|
106
|
+
},
|
|
107
|
+
delegationChain: chain,
|
|
108
|
+
resources: routeSpec.resources || [],
|
|
109
|
+
notes: routeSpec.notes || [],
|
|
80
110
|
};
|
|
81
111
|
}
|
|
82
112
|
|
|
83
|
-
function resolveCodexDelegation(
|
|
84
|
-
const matrix = loadDelegationMatrix(projectRoot);
|
|
85
|
-
const
|
|
86
|
-
if (!source) {
|
|
87
|
-
throw new Error(`Unknown Codex delegation source "${agentInput}"`);
|
|
88
|
-
}
|
|
113
|
+
function resolveCodexDelegation(routeInput, projectRoot = PROJECT_ROOT, options = {}) {
|
|
114
|
+
const matrix = options.matrix || loadDelegationMatrix(projectRoot);
|
|
115
|
+
const { routeId, routeSpec } = resolveDelegationRoute(routeInput, projectRoot, matrix);
|
|
89
116
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
117
|
+
if (options.source && !routeMentionsSource(routeSpec, options.source)) {
|
|
118
|
+
throw new Error(
|
|
119
|
+
`Codex delegation route "${routeId}" is not available from source "${options.source}"`,
|
|
120
|
+
);
|
|
93
121
|
}
|
|
94
122
|
|
|
95
123
|
return {
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
124
|
+
routeId,
|
|
125
|
+
owner: routeSpec.owner,
|
|
126
|
+
requestType: routeSpec.requestType,
|
|
127
|
+
classification: routeSpec.classification,
|
|
128
|
+
mission: routeSpec.mission,
|
|
129
|
+
summary: routeSpec.summary || '',
|
|
130
|
+
inputs: routeSpec.inputs || [],
|
|
131
|
+
outputs: routeSpec.outputs || [],
|
|
132
|
+
validators: routeSpec.validators || [],
|
|
133
|
+
sharedSurfaceRisk: routeSpec.sharedSurfaceRisk || 'low',
|
|
134
|
+
resources: routeSpec.resources || [],
|
|
135
|
+
delegationChain: routeSpec.delegationChain || [],
|
|
136
|
+
handoffPacket: buildHandoffPacket({ routeId, routeSpec }, projectRoot, matrix),
|
|
104
137
|
};
|
|
105
138
|
}
|
|
106
139
|
|
|
107
140
|
function parseArgs(argv = process.argv.slice(2)) {
|
|
108
|
-
const args = argv.filter((arg) => !arg.startsWith('--'));
|
|
109
141
|
const flags = new Set(argv.filter((arg) => arg.startsWith('--')));
|
|
142
|
+
const args = argv.filter((arg) => !arg.startsWith('--'));
|
|
143
|
+
|
|
110
144
|
return {
|
|
111
|
-
|
|
112
|
-
|
|
145
|
+
// Route is always the last positional. An optional leading positional is a
|
|
146
|
+
// source-agent filter, kept for backward compatibility with the legacy
|
|
147
|
+
// `<source> <route>` CLI shape.
|
|
148
|
+
source: args.length > 1 ? args[0] : null,
|
|
149
|
+
route: args.length > 1 ? args[1] : args[0],
|
|
113
150
|
json: flags.has('--json'),
|
|
151
|
+
packet: flags.has('--packet'),
|
|
114
152
|
};
|
|
115
153
|
}
|
|
116
154
|
|
|
117
155
|
function formatHumanResult(result) {
|
|
118
|
-
const
|
|
119
|
-
|
|
156
|
+
const nextHandoff = result.handoffPacket?.nextHandoff?.to || 'n/a';
|
|
157
|
+
const delegationPath = (result.delegationChain || [])
|
|
158
|
+
.map((step) => `${step.from} -> ${step.to}`)
|
|
159
|
+
.join(' | ');
|
|
160
|
+
|
|
161
|
+
return [
|
|
120
162
|
`Route: ${result.routeId}`,
|
|
163
|
+
`Owner: ${result.owner}`,
|
|
164
|
+
`Request Type: ${result.requestType}`,
|
|
121
165
|
`Classification: ${result.classification}`,
|
|
122
|
-
`
|
|
123
|
-
`
|
|
124
|
-
];
|
|
125
|
-
|
|
126
|
-
if (result.target.commandId) {
|
|
127
|
-
lines.push(`Target Command: ${result.target.commandId}`);
|
|
128
|
-
}
|
|
129
|
-
if (result.target.docPath) {
|
|
130
|
-
lines.push(`Target Doc: ${result.target.docPath}`);
|
|
131
|
-
}
|
|
132
|
-
if (result.target.taskPath) {
|
|
133
|
-
lines.push(`Target Task: ${result.target.taskPath}`);
|
|
134
|
-
}
|
|
135
|
-
if (result.handoff) {
|
|
136
|
-
lines.push(`Next Handoff: ${result.handoff.nextHandoff}`);
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
return lines.join('\n');
|
|
166
|
+
`Next Handoff: ${nextHandoff}`,
|
|
167
|
+
`Delegation Chain: ${delegationPath || 'n/a'}`,
|
|
168
|
+
].join('\n');
|
|
140
169
|
}
|
|
141
170
|
|
|
142
171
|
function main() {
|
|
143
172
|
const args = parseArgs();
|
|
144
|
-
if (!args.
|
|
145
|
-
console.error(
|
|
173
|
+
if (!args.route) {
|
|
174
|
+
console.error(
|
|
175
|
+
'Usage: node .codex/scripts/resolve-codex-delegation.js <route> [--json] [--packet]\n' +
|
|
176
|
+
' or: node .codex/scripts/resolve-codex-delegation.js <source-agent> <route> [--json] [--packet]',
|
|
177
|
+
);
|
|
146
178
|
process.exit(1);
|
|
147
179
|
}
|
|
148
180
|
|
|
149
181
|
try {
|
|
150
|
-
const result = resolveCodexDelegation(args.
|
|
151
|
-
|
|
152
|
-
|
|
182
|
+
const result = resolveCodexDelegation(args.route, PROJECT_ROOT, {
|
|
183
|
+
source: args.source,
|
|
184
|
+
});
|
|
185
|
+
const payload = args.packet ? result.handoffPacket : result;
|
|
186
|
+
|
|
187
|
+
if (args.json || args.packet) {
|
|
188
|
+
console.log(JSON.stringify(payload, null, 2));
|
|
153
189
|
} else {
|
|
154
190
|
console.log(formatHumanResult(result));
|
|
155
191
|
}
|
|
@@ -164,12 +200,15 @@ if (require.main === module) {
|
|
|
164
200
|
}
|
|
165
201
|
|
|
166
202
|
module.exports = {
|
|
203
|
+
MATRIX_PATH,
|
|
167
204
|
loadDelegationMatrix,
|
|
168
|
-
normalizeAgentInput,
|
|
169
205
|
normalizeRouteInput,
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
206
|
+
normalizeActorInput,
|
|
207
|
+
collectRouteAliases,
|
|
208
|
+
resolveDelegationRoute,
|
|
209
|
+
resolveRouteRecord,
|
|
210
|
+
routeMentionsSource,
|
|
211
|
+
buildHandoffPacket,
|
|
173
212
|
resolveCodexDelegation,
|
|
174
213
|
parseArgs,
|
|
175
214
|
formatHumanResult,
|
|
@@ -9,8 +9,8 @@ description: Claude Code, MCP, hooks, skills, integracao avancada
|
|
|
9
9
|
Claude Code, MCP, hooks, skills, integracao avancada
|
|
10
10
|
|
|
11
11
|
## Activation Protocol
|
|
12
|
-
1. Load `squads/
|
|
13
|
-
2. Load squad knowledge base from `squads/
|
|
12
|
+
1. Load `squads/claude-code-mastery/agents/swarm-orqx.md` as source of truth (fallback: `.codex/agents/swarm-orqx.md`).
|
|
13
|
+
2. Load squad knowledge base from `squads/claude-code-mastery/knowledge-base/`.
|
|
14
14
|
3. Adopt the orqx persona and command system.
|
|
15
15
|
4. Stay in this persona until the user asks to switch or exit.
|
|
16
16
|
|
|
@@ -24,5 +24,5 @@ Claude Code, MCP, hooks, skills, integracao avancada
|
|
|
24
24
|
## Non-Negotiables
|
|
25
25
|
- Follow `.sinapse-ai/constitution.md`.
|
|
26
26
|
- Load squad KB before executing any task.
|
|
27
|
-
- Execute tasks only from `squads/
|
|
27
|
+
- Execute tasks only from `squads/claude-code-mastery/tasks/`.
|
|
28
28
|
- Output quality: 5.0/5.0 minimum.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: sinapse-po
|
|
3
|
-
description: Product Owner (
|
|
3
|
+
description: Product Owner (Axis). Use for backlog management, story refinement, acceptance criteria, sprint planning, and prioritization decisions
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# SINAPSE Product Owner Activator
|
|
@@ -10,7 +10,7 @@ Resolve cross-squad conflicts or domain overlap without relying on shared-runtim
|
|
|
10
10
|
|
|
11
11
|
## Steps
|
|
12
12
|
|
|
13
|
-
1. Read `.codex/catalog.json`, `.codex/agents/
|
|
13
|
+
1. Read `.codex/catalog.json`, `.codex/agents/snps-orqx.md`, and `docs/framework/codex-parity/codex-parity-program.md`.
|
|
14
14
|
2. Identify the squads, agents, or workflow surfaces in conflict.
|
|
15
15
|
3. Separate the problem into:
|
|
16
16
|
- ownership conflict
|
|
@@ -148,12 +148,12 @@ Métricas do ecossistema (contagem de squads, agentes, tasks, orqx) DEVEM ser es
|
|
|
148
148
|
**Números canônicos atuais:**
|
|
149
149
|
|
|
150
150
|
<!-- BEGIN AUTO-GENERATED COUNTS (sync via `npm run sync:counts`) -->
|
|
151
|
-
- **
|
|
152
|
-
- **
|
|
153
|
-
- **
|
|
154
|
-
- **
|
|
151
|
+
- **17 squads** (diretórios em `squads/`)
|
|
152
|
+
- **172 agentes** (160 em squads + 12 framework agents)
|
|
153
|
+
- **18 comandos orqx** (17 squad orqx + 1 master sinapse-orqx)
|
|
154
|
+
- **1200 tasks** (em `squads/*/tasks/`)
|
|
155
155
|
|
|
156
|
-
*Last synced: 2026-
|
|
156
|
+
*Last synced: 2026-06-18T04:58:21.153Z*
|
|
157
157
|
<!-- END AUTO-GENERATED COUNTS -->
|
|
158
158
|
|
|
159
159
|
|