sinapse-ai 1.19.2 → 1.20.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/CLAUDE.md +2 -2
- package/.claude/hooks/enforce-delegation.cjs +32 -36
- package/.claude/rules/agent-handoff.md +10 -21
- package/.claude/rules/mandatory-delegation.md +1 -1
- package/.claude/rules/token-economy.md +12 -5
- package/.sinapse-ai/constitution.md +2 -0
- package/.sinapse-ai/core/atlas/flows-pt.js +6 -0
- package/.sinapse-ai/core/atlas/flows.js +7 -0
- package/.sinapse-ai/core/atlas/render-html.js +10 -8
- package/.sinapse-ai/core/atlas/render-markdown.js +8 -0
- package/.sinapse-ai/core/doctor/checks/constitution-consistency.js +7 -0
- package/.sinapse-ai/core/execution/autonomous-build-loop.js +10 -4
- package/.sinapse-ai/core/execution/build-orchestrator.js +73 -2
- package/.sinapse-ai/core/execution/rate-limit-manager.js +2 -0
- package/.sinapse-ai/core/execution/result-aggregator.js +2 -0
- package/.sinapse-ai/core/health-check/checks/project/constitution-consistency.js +12 -1
- package/.sinapse-ai/core/orchestration/cli-commands.js +121 -4
- package/.sinapse-ai/core/orchestration/executors/epic-4-executor.js +10 -2
- package/.sinapse-ai/core/orchestration/executors/epic-6-executor.js +53 -2
- package/.sinapse-ai/core/orchestration/index.js +3 -0
- package/.sinapse-ai/core/orchestration/master-orchestrator.js +116 -18
- package/.sinapse-ai/core/registry/service-registry.json +2 -32
- package/.sinapse-ai/core/synapse/context/context-tracker.js +118 -11
- package/.sinapse-ai/core/synapse/engine.js +18 -3
- package/.sinapse-ai/core/synapse/layers/l0-constitution.js +189 -8
- package/.sinapse-ai/core/synapse/output/formatter.js +65 -25
- package/.sinapse-ai/core-config.yaml +8 -1
- package/.sinapse-ai/data/entity-registry.yaml +492 -246
- package/.sinapse-ai/development/agents/analyst.md +18 -34
- package/.sinapse-ai/development/agents/architect.md +18 -34
- package/.sinapse-ai/development/agents/data-engineer.md +15 -28
- package/.sinapse-ai/development/agents/developer.md +18 -40
- package/.sinapse-ai/development/agents/devops.md +15 -28
- package/.sinapse-ai/development/agents/product-lead.md +18 -34
- package/.sinapse-ai/development/agents/project-lead.md +18 -34
- package/.sinapse-ai/development/agents/quality-gate.md +18 -34
- package/.sinapse-ai/development/agents/snps-orqx.md +5 -5
- package/.sinapse-ai/development/agents/sprint-lead.md +20 -36
- package/.sinapse-ai/development/agents/squad-creator.md +15 -27
- package/.sinapse-ai/development/agents/ux-design-expert.md +15 -27
- package/.sinapse-ai/development/scripts/agent-exit-hooks.js +13 -4
- package/.sinapse-ai/development/scripts/populate-entity-registry.js +3 -0
- package/.sinapse-ai/development/tasks/execute-epic-plan.md +0 -4
- package/.sinapse-ai/development/workflows/epic-orchestration.yaml +0 -1
- package/.sinapse-ai/git-hooks/lib/staged-secret-scan.js +3 -1
- package/.sinapse-ai/infrastructure/integrations/ai-providers/README.md +2 -2
- package/.sinapse-ai/install-manifest.yaml +94 -126
- package/.sinapse-ai/product/templates/activation-instructions-template.md +72 -185
- package/.sinapse-ai/product/templates/ide-rules/claude-rules.md +45 -274
- package/.sinapse-ai/product/templates/personalized-agent-template.md +3 -5
- package/.sinapse-ai/product/templates/statusline/agent-badges.json +2 -2
- package/.sinapse-ai/product/templates/statusline/statusline-script.js +5 -3
- package/.sinapse-ai/workflow-intelligence/index.js +3 -21
- package/AGENTS.md +2 -2
- package/CHANGELOG.md +50 -2
- package/README.md +10 -0
- package/bin/cli.js +29 -0
- package/bin/commands/help.js +5 -0
- package/bin/commands/install.js +5 -4
- package/bin/commands/uninstall.js +5 -0
- package/bin/lib/command-generator.js +4 -4
- package/bin/lib/fs-utils.js +18 -0
- package/bin/lib/setup-statusline.js +3 -1
- package/bin/modules/chrome-brain-installer.js +5 -3
- package/bin/modules/mcp-installer.js +3 -6
- package/bin/postinstall.js +9 -1
- package/bin/sinapse-init.js +8 -9
- package/bin/sinapse.js +152 -2
- package/bin/utils/staged-secret-scan.js +3 -1
- package/docs/framework/atlas/OPERATING-ATLAS.md +3 -3
- package/docs/framework/atlas/atlas-data.json +27 -27
- package/docs/framework/atlas/atlas.html +12 -10
- package/docs/framework/source-tree.md +2 -3
- package/docs/framework/workflow-engine-status.md +70 -0
- package/docs/guides/ade-guide.md +4 -2
- package/docs/guides/api-reference.md +2 -0
- package/docs/guides/permission-modes.md +2 -0
- package/docs/guides/user-guide.md +21 -7
- package/docs/guides/workflows/AUTO-WORKTREE-WORKFLOW.md +2 -2
- package/docs/pt/architecture/ade-architecture.md +2 -0
- package/docs/pt/architecture/high-level-architecture.md +1 -1
- package/docs/pt/guides/ade-guide.md +4 -2
- package/docs/pt/guides/api-reference.md +2 -0
- package/docs/pt/guides/permission-modes.md +2 -0
- package/docs/pt/guides/user-guide.md +21 -7
- package/docs/pt/platforms/claude-code.md +2 -2
- package/docs/sinapse-workflows/auto-worktree-workflow.md +2 -2
- package/package.json +1 -1
- package/packages/installer/src/config/configure-environment.js +14 -6
- package/packages/installer/src/config/templates/core-config-template.js +43 -1
- package/packages/installer/src/installer/brownfield-upgrader.js +5 -3
- package/packages/installer/src/installer/file-hasher.js +29 -21
- package/packages/installer/src/installer/manifest-signature.js +61 -49
- package/packages/installer/src/installer/post-install-validator.js +24 -17
- package/packages/installer/src/installer/synapse-runtime-installer.js +148 -0
- package/packages/installer/src/merger/parsers/markdown-section-parser.js +3 -2
- package/packages/installer/src/updater/index.js +7 -1
- package/packages/installer/src/utils/atomic-write.js +35 -0
- package/packages/installer/src/wizard/i18n.js +294 -0
- package/packages/installer/src/wizard/index.js +31 -3
- package/packages/installer/src/wizard/validation/troubleshooting-system.js +60 -131
- package/packages/sinapse-install/src/capabilities/chrome-brain.js +5 -3
- package/packages/sinapse-install/src/installer.js +3 -1
- package/packages/sinapse-install/src/utils/atomic-write.js +67 -0
- package/scripts/apply-persona-disclaimer.js +2 -1
- package/scripts/bracket-report.js +103 -0
- package/scripts/sinapse-patch.js +2 -1
- package/scripts/sync-squad-yaml-components.js +2 -1
- package/scripts/validate-agent-codenames.js +168 -37
- package/scripts/validate-agents-md.js +2 -1
- package/scripts/validate-article-xi.js +10 -8
- package/scripts/validate-install-docs.js +23 -2
- package/scripts/validate-no-external-refs.js +14 -8
- package/sinapse/agents/sinapse-orqx.md +3 -3
- package/sinapse/agents/snps-orqx.md +3 -3
- package/sinapse/knowledge-base/routing-catalog.md +1 -1
- package/sinapse/tasks/diagnose-and-route.md +1 -1
- package/squads/claude-code-mastery/CHANGELOG.md +1 -1
- package/squads/claude-code-mastery/README.md +6 -6
- package/squads/claude-code-mastery/agents/claude-mastery-chief.md +10 -15
- package/squads/claude-code-mastery/agents/config-engineer.md +5 -12
- package/squads/claude-code-mastery/agents/hooks-architect.md +5 -11
- package/squads/claude-code-mastery/agents/mcp-integrator.md +5 -12
- package/squads/claude-code-mastery/agents/project-integrator.md +5 -12
- package/squads/claude-code-mastery/agents/roadmap-sentinel.md +14 -21
- package/squads/claude-code-mastery/agents/skill-craftsman.md +5 -11
- package/squads/claude-code-mastery/agents/swarm-orqx.md +20 -33
- package/squads/claude-code-mastery/data/claude-code-quick-ref.yaml +1 -1
- package/squads/claude-code-mastery/knowledge-base/claude-code-internals-deep.md +4 -4
- package/squads/claude-code-mastery/knowledge-base/claude-code-internals-reference.md +4 -4
- package/squads/claude-code-mastery/tasks/create-agent-definition.md +6 -6
- package/squads/claude-code-mastery/tasks/create-team-topology.md +3 -3
- package/squads/claude-code-mastery/tasks/diagnose.md +1 -1
- package/squads/claude-code-mastery/tasks/parallel-decomposition.md +1 -1
- package/squads/claude-code-mastery/tasks/worktree-strategy.md +1 -1
- package/squads/squad-animations/README.md +1 -1
- package/squads/squad-animations/agents/animation-interpreter.md +5 -5
- package/squads/squad-animations/agents/animations-orqx.md +6 -6
- package/squads/squad-animations/squad.yaml +1 -1
- package/squads/squad-animations/tasks/analyze-reference-animation.md +1 -1
- package/squads/squad-animations/tasks/build-animation-brief.md +1 -1
- package/squads/squad-animations/tasks/create-animation-storyboard.md +1 -1
- package/squads/squad-animations/tasks/cross-reference-brand-system.md +1 -1
- package/squads/squad-animations/tasks/extract-animation-intent.md +1 -1
- package/squads/squad-animations/tasks/generate-motion-vocabulary.md +1 -1
- package/squads/squad-animations/tasks/identify-website-animation.md +1 -1
- package/squads/squad-animations/tasks/interpret-animation-prompt.md +1 -1
- package/squads/squad-animations/tasks/refine-animation-specification.md +1 -1
- package/squads/squad-animations/tasks/translate-feeling-to-parameters.md +1 -1
- package/squads/squad-animations/tasks/validate-animation-feasibility.md +1 -1
- package/squads/squad-animations/workflows/prompt-to-animation-cycle.yaml +2 -2
- package/squads/squad-brand/agents/brand-auditor.md +1 -1
- package/squads/squad-brand/agents/brand-compiler.md +1 -1
- package/squads/squad-brand/agents/brand-motion-vfx.md +5 -5
- package/squads/squad-brand/agents/brand-orqx.md +2 -2
- package/squads/squad-brand/agents/brand-sonic-designer.md +1 -1
- package/squads/squad-brand/squad.yaml +1 -1
- package/squads/squad-brand/tasks/create-animation-library.md +1 -1
- package/squads/squad-brand/tasks/create-brand-characters.md +2 -2
- package/squads/squad-brand/tasks/create-event-branding.md +2 -2
- package/squads/squad-brand/tasks/create-micro-interactions.md +1 -1
- package/squads/squad-brand/tasks/create-page-transitions.md +1 -1
- package/squads/squad-brand/tasks/create-video-templates.md +1 -1
- package/squads/squad-brand/tasks/create-web-templates.md +1 -1
- package/squads/squad-brand/tasks/define-motion-language.md +1 -1
- package/squads/squad-brand/tasks/design-dynamic-identity-system.md +2 -2
- package/squads/squad-brand/tasks/design-illustration-system.md +1 -1
- package/squads/squad-commercial/README.md +3 -3
- package/squads/squad-commercial/agents/commercial-orqx.md +8 -8
- package/squads/squad-commercial/agents/cs-crm-specialist.md +3 -3
- package/squads/squad-commercial/agents/cs-revops-analyst.md +3 -3
- package/squads/squad-commercial/agents/cs-sales-closer.md +1 -1
- package/squads/squad-commercial/knowledge-base/commercial-analytics-reporting.md +7 -7
- package/squads/squad-commercial/knowledge-base/sales-revenue-master-reference.md +1 -1
- package/squads/squad-commercial/squad.yaml +3 -3
- package/squads/squad-commercial/tasks/analyze-revenue-leaks.md +2 -2
- package/squads/squad-commercial/tasks/audit-commercial-tech-stack.md +1 -1
- package/squads/squad-commercial/tasks/audit-crm-data.md +1 -1
- package/squads/squad-commercial/tasks/build-deal-scoring-model.md +1 -1
- package/squads/squad-commercial/tasks/build-forecasting-model.md +1 -1
- package/squads/squad-commercial/tasks/build-pipeline-dashboard.md +2 -2
- package/squads/squad-commercial/tasks/build-unit-economics-model.md +1 -1
- package/squads/squad-commercial/tasks/conduct-commercial-retrospective.md +2 -2
- package/squads/squad-commercial/tasks/conduct-deal-review.md +1 -1
- package/squads/squad-commercial/tasks/conduct-win-loss-analysis.md +1 -1
- package/squads/squad-commercial/tasks/configure-activity-tracking.md +1 -1
- package/squads/squad-commercial/tasks/configure-crm-integrations.md +1 -1
- package/squads/squad-commercial/tasks/configure-pipeline-stages.md +1 -1
- package/squads/squad-commercial/tasks/coordinate-revenue-cycle.md +1 -1
- package/squads/squad-commercial/tasks/create-commercial-brief.md +2 -2
- package/squads/squad-commercial/tasks/create-revenue-dashboard.md +1 -1
- package/squads/squad-commercial/tasks/design-lead-routing.md +1 -1
- package/squads/squad-commercial/tasks/design-quota-model.md +1 -1
- package/squads/squad-commercial/tasks/execute-save-play.md +1 -1
- package/squads/squad-commercial/tasks/manage-commercial-handoffs.md +1 -1
- package/squads/squad-commercial/tasks/manage-pipeline-forecast.md +3 -3
- package/squads/squad-commercial/tasks/monitor-pipeline-health.md +1 -1
- package/squads/squad-commercial/tasks/monitor-saas-metrics.md +1 -1
- package/squads/squad-commercial/tasks/plan-sales-capacity.md +1 -1
- package/squads/squad-commercial/tasks/plan-territory-mapping.md +1 -1
- package/squads/squad-commercial/tasks/review-revenue-architecture.md +2 -2
- package/squads/squad-commercial/tasks/run-quarterly-commercial-review.md +3 -3
- package/squads/squad-commercial/tasks/select-commercial-workflow.md +1 -1
- package/squads/squad-commercial/tasks/setup-outreach-sequences.md +1 -1
- package/squads/squad-commercial/templates/offer-brief-template.md +2 -2
- package/squads/squad-commercial/workflows/new-offer-launch.yaml +2 -2
- package/squads/squad-commercial/workflows/quarterly-commercial-review.yaml +1 -1
- package/squads/squad-commercial/workflows/revenue-forecasting-cycle.yaml +2 -2
- package/squads/squad-content/README.md +1 -1
- package/squads/squad-content/agents/content-analyst.md +4 -4
- package/squads/squad-content/agents/content-engineer.md +2 -2
- package/squads/squad-content/agents/content-governor.md +1 -1
- package/squads/squad-content/agents/content-orqx.md +6 -6
- package/squads/squad-content/agents/editorial-strategist.md +5 -5
- package/squads/squad-content/agents/platform-specialist.md +1 -1
- package/squads/squad-content/agents/signal-intelligence.md +4 -4
- package/squads/squad-content/checklists/editorial-planning-checklist.md +1 -1
- package/squads/squad-content/checklists/onboarding-setup-checklist.md +2 -2
- package/squads/squad-content/knowledge-base/ai-native-content-loop.md +2 -2
- package/squads/squad-content/knowledge-base/content-governance-principles.md +2 -2
- package/squads/squad-content/knowledge-base/cross-squad-integration-protocol.md +1 -1
- package/squads/squad-content/knowledge-base/signal-intelligence-v2.md +1 -1
- package/squads/squad-content/knowledge-base/task-ownership-map.md +5 -5
- package/squads/squad-content/squad.yaml +2 -2
- package/squads/squad-content/tasks/alert-opportunity-windows.md +6 -6
- package/squads/squad-content/tasks/analyze-content-performance.md +2 -2
- package/squads/squad-content/tasks/batch-content-production.md +1 -1
- package/squads/squad-content/tasks/benchmark-against-competitors.md +1 -1
- package/squads/squad-content/tasks/coordinate-cross-squad.md +1 -1
- package/squads/squad-content/tasks/create-content-governance.md +1 -1
- package/squads/squad-content/tasks/create-editorial-calendar.md +1 -1
- package/squads/squad-content/tasks/curate-ugc-signals.md +2 -2
- package/squads/squad-content/tasks/define-big-idea.md +1 -1
- package/squads/squad-content/tasks/define-content-kpis.md +1 -1
- package/squads/squad-content/tasks/flag-content-for-amplification.md +2 -2
- package/squads/squad-content/tasks/generate-content-report.md +3 -3
- package/squads/squad-content/tasks/manage-content-sprint.md +1 -1
- package/squads/squad-content/tasks/measure-content-roi.md +3 -3
- package/squads/squad-content/tasks/orchestrate-content-pipeline.md +2 -2
- package/squads/squad-content/tasks/plan-content-sprint.md +3 -3
- package/squads/squad-content/tasks/predict-content-performance.md +2 -2
- package/squads/squad-content/tasks/scan-daily-signals.md +2 -2
- package/squads/squad-content/tasks/triage-content-requests.md +1 -1
- package/squads/squad-content/tasks/triage-urgent-signal.md +1 -1
- package/squads/squad-content/templates/signal-alert-template.md +2 -2
- package/squads/squad-content/templates/weekly-briefing-template.md +1 -1
- package/squads/squad-content/workflows/content-audit-cycle.yaml +1 -1
- package/squads/squad-content/workflows/content-creation-cycle.yaml +3 -3
- package/squads/squad-content/workflows/editorial-planning-cycle.yaml +3 -3
- package/squads/squad-content/workflows/onboarding-content-cycle.yaml +3 -3
- package/squads/squad-content/workflows/performance-feedback-loop.yaml +3 -3
- package/squads/squad-content/workflows/signal-to-content-cycle.yaml +5 -5
- package/squads/squad-copy/README.md +4 -4
- package/squads/squad-copy/agents/ad-copywriter.md +4 -4
- package/squads/squad-copy/agents/copy-orqx.md +3 -3
- package/squads/squad-copy/agents/copy-strategist.md +5 -5
- package/squads/squad-copy/agents/direct-response-writer.md +3 -3
- package/squads/squad-copy/agents/email-sequence-strategist.md +1 -1
- package/squads/squad-copy/agents/funnel-copywriter.md +3 -3
- package/squads/squad-copy/agents/headline-specialist.md +1 -1
- package/squads/squad-copy/agents/proof-architect.md +3 -3
- package/squads/squad-copy/squad.yaml +3 -3
- package/squads/squad-copy/tasks/build-proof-stack.md +3 -3
- package/squads/squad-copy/tasks/craft-cta-variations.md +2 -2
- package/squads/squad-copy/tasks/craft-email-nurture-sequence.md +2 -2
- package/squads/squad-copy/tasks/craft-objection-handlers.md +1 -1
- package/squads/squad-copy/tasks/craft-social-media-hooks.md +1 -1
- package/squads/squad-copy/tasks/create-cart-abandonment-sequence.md +2 -2
- package/squads/squad-copy/tasks/create-customer-story.md +2 -2
- package/squads/squad-copy/tasks/create-email-campaign.md +2 -2
- package/squads/squad-copy/tasks/create-mechanism-copy.md +4 -4
- package/squads/squad-copy/tasks/create-opening-hooks.md +1 -1
- package/squads/squad-copy/tasks/create-ugc-script.md +2 -2
- package/squads/squad-copy/tasks/create-urgency-scarcity-framework.md +1 -1
- package/squads/squad-copy/tasks/create-welcome-sequence.md +2 -2
- package/squads/squad-copy/tasks/design-headline-ab-tests.md +1 -1
- package/squads/squad-copy/tasks/design-trigger-sequence.md +1 -1
- package/squads/squad-copy/tasks/design-welcome-series.md +2 -2
- package/squads/squad-copy/tasks/optimize-existing-copy.md +2 -2
- package/squads/squad-copy/tasks/optimize-funnel-conversion-copy.md +2 -2
- package/squads/squad-copy/tasks/optimize-pricing-framing.md +2 -2
- package/squads/squad-copy/tasks/write-ad-copy-google.md +2 -2
- package/squads/squad-copy/tasks/write-ad-copy-social.md +2 -2
- package/squads/squad-copy/tasks/write-ad-copy-variations.md +4 -4
- package/squads/squad-copy/tasks/write-case-study.md +2 -2
- package/squads/squad-copy/tasks/write-comparison-piece.md +2 -2
- package/squads/squad-copy/tasks/write-email-sequence.md +1 -1
- package/squads/squad-copy/tasks/write-email-subject-lines.md +1 -1
- package/squads/squad-copy/tasks/write-funnel-copy-sequence.md +4 -4
- package/squads/squad-copy/tasks/write-landing-page-copy.md +2 -2
- package/squads/squad-copy/tasks/write-launch-sequence.md +2 -2
- package/squads/squad-copy/tasks/write-opt-in-page.md +2 -2
- package/squads/squad-copy/tasks/write-product-narrative.md +2 -2
- package/squads/squad-copy/tasks/write-retargeting-copy.md +2 -2
- package/squads/squad-copy/tasks/write-sales-letter.md +1 -1
- package/squads/squad-copy/tasks/write-social-proof-section.md +1 -1
- package/squads/squad-copy/tasks/write-subheadlines-and-deck-copy.md +1 -1
- package/squads/squad-copy/tasks/write-upsell-copy.md +2 -2
- package/squads/squad-copy/tasks/write-vsl-script.md +3 -3
- package/squads/squad-copy/tasks/write-whitepaper-persuasive.md +2 -2
- package/squads/squad-copy/workflows/campaign-copy-cycle.yaml +4 -4
- package/squads/squad-copy/workflows/conversion-copy-sprint.yaml +6 -6
- package/squads/squad-copy/workflows/sales-copy-pipeline.yaml +4 -4
- package/squads/squad-design/README.md +6 -6
- package/squads/squad-design/agents/cro-persuasion.md +3 -3
- package/squads/squad-design/agents/design-orqx.md +17 -17
- package/squads/squad-design/agents/dx-accessibility-specialist.md +5 -5
- package/squads/squad-design/agents/dx-design-system-architect.md +8 -8
- package/squads/squad-design/agents/dx-frontend-engineer.md +7 -7
- package/squads/squad-design/agents/dx-interaction-designer.md +6 -6
- package/squads/squad-design/agents/dx-performance-engineer.md +3 -3
- package/squads/squad-design/agents/dx-ui-designer.md +7 -7
- package/squads/squad-design/agents/dx-ux-strategist.md +7 -7
- package/squads/squad-design/agents/platform-aesthetic-director.md +11 -11
- package/squads/squad-design/agents/premium-packaging-strategist.md +2 -2
- package/squads/squad-design/agents/product-surface-director.md +1 -1
- package/squads/squad-design/squad.yaml +6 -6
- package/squads/squad-design/tasks/analyze-javascript-bundles.md +1 -1
- package/squads/squad-design/tasks/audit-core-web-vitals.md +1 -1
- package/squads/squad-design/tasks/audit-design-system-health.md +1 -1
- package/squads/squad-design/tasks/audit-motion-performance.md +1 -1
- package/squads/squad-design/tasks/certify-accessibility-compliance.md +2 -2
- package/squads/squad-design/tasks/compose-screen-layouts.md +3 -3
- package/squads/squad-design/tasks/conduct-competitive-ux-analysis.md +1 -1
- package/squads/squad-design/tasks/conduct-dx-quality-gate.md +3 -3
- package/squads/squad-design/tasks/conduct-usability-heuristic-review.md +1 -1
- package/squads/squad-design/tasks/conduct-visual-qa.md +1 -1
- package/squads/squad-design/tasks/conduct-wcag-audit.md +1 -1
- package/squads/squad-design/tasks/configure-cdn-strategy.md +1 -1
- package/squads/squad-design/tasks/configure-token-export-pipeline.md +1 -1
- package/squads/squad-design/tasks/create-a11y-remediation-plan.md +4 -4
- package/squads/squad-design/tasks/create-color-system.md +2 -2
- package/squads/squad-design/tasks/create-component-governance.md +1 -1
- package/squads/squad-design/tasks/create-component-tokens.md +2 -2
- package/squads/squad-design/tasks/create-dark-light-themes.md +3 -3
- package/squads/squad-design/tasks/create-easing-curve-library.md +1 -1
- package/squads/squad-design/tasks/create-empty-error-states.md +1 -1
- package/squads/squad-design/tasks/create-error-boundary-patterns.md +1 -1
- package/squads/squad-design/tasks/create-illustration-style.md +1 -1
- package/squads/squad-design/tasks/create-mobile-first-designs.md +2 -2
- package/squads/squad-design/tasks/create-motion-documentation.md +1 -1
- package/squads/squad-design/tasks/create-motion-tokens.md +2 -2
- package/squads/squad-design/tasks/create-primitive-tokens.md +1 -1
- package/squads/squad-design/tasks/create-responsive-grid-system.md +1 -1
- package/squads/squad-design/tasks/create-screen-reader-specs.md +1 -1
- package/squads/squad-design/tasks/create-scroll-animation-patterns.md +1 -1
- package/squads/squad-design/tasks/create-semantic-tokens.md +1 -1
- package/squads/squad-design/tasks/create-storybook-documentation-standards.md +1 -1
- package/squads/squad-design/tasks/create-user-personas.md +1 -1
- package/squads/squad-design/tasks/create-ux-principles.md +1 -1
- package/squads/squad-design/tasks/create-wireframe-brief.md +2 -2
- package/squads/squad-design/tasks/define-atomic-hierarchy.md +2 -2
- package/squads/squad-design/tasks/define-content-hierarchy.md +2 -2
- package/squads/squad-design/tasks/define-motion-principles.md +4 -4
- package/squads/squad-design/tasks/define-performance-budgets.md +1 -1
- package/squads/squad-design/tasks/define-token-taxonomy.md +2 -2
- package/squads/squad-design/tasks/design-accessible-form-patterns.md +2 -2
- package/squads/squad-design/tasks/design-component-api-contracts.md +3 -3
- package/squads/squad-design/tasks/design-component-visual-states.md +4 -4
- package/squads/squad-design/tasks/design-dashboard-layouts.md +1 -1
- package/squads/squad-design/tasks/design-duration-scale.md +1 -1
- package/squads/squad-design/tasks/design-feedback-animations.md +2 -2
- package/squads/squad-design/tasks/design-focus-management.md +1 -1
- package/squads/squad-design/tasks/design-form-patterns.md +2 -2
- package/squads/squad-design/tasks/design-icon-system.md +1 -1
- package/squads/squad-design/tasks/design-information-architecture.md +2 -2
- package/squads/squad-design/tasks/design-landing-page-ui.md +3 -3
- package/squads/squad-design/tasks/design-loading-choreography.md +1 -1
- package/squads/squad-design/tasks/design-multi-brand-theming.md +1 -1
- package/squads/squad-design/tasks/design-page-transitions.md +1 -1
- package/squads/squad-design/tasks/design-spacing-scale.md +3 -3
- package/squads/squad-design/tasks/design-typography-scale.md +3 -3
- package/squads/squad-design/tasks/design-user-flows.md +2 -2
- package/squads/squad-design/tasks/design-visual-hierarchy.md +2 -2
- package/squads/squad-design/tasks/eliminate-render-blocking.md +1 -1
- package/squads/squad-design/tasks/extract-critical-css.md +1 -1
- package/squads/squad-design/tasks/govern-third-party-scripts.md +1 -1
- package/squads/squad-design/tasks/implement-authentication-ui.md +1 -1
- package/squads/squad-design/tasks/implement-component-library.md +4 -4
- package/squads/squad-design/tasks/implement-form-system.md +2 -2
- package/squads/squad-design/tasks/implement-reduced-motion.md +3 -3
- package/squads/squad-design/tasks/implement-responsive-layouts.md +1 -1
- package/squads/squad-design/tasks/implement-routing-strategy.md +1 -1
- package/squads/squad-design/tasks/map-dark-mode-tokens.md +3 -3
- package/squads/squad-design/tasks/map-user-journeys.md +2 -2
- package/squads/squad-design/tasks/migrate-legacy-design-system.md +1 -1
- package/squads/squad-design/tasks/monitor-performance-regression.md +1 -1
- package/squads/squad-design/tasks/optimize-font-loading.md +1 -1
- package/squads/squad-design/tasks/optimize-image-pipeline.md +1 -1
- package/squads/squad-design/tasks/orchestrate-dx-pipeline.md +2 -2
- package/squads/squad-design/tasks/plan-ux-research-sprint.md +1 -1
- package/squads/squad-design/tasks/produce-design-handoff-specs.md +4 -4
- package/squads/squad-design/tasks/review-aria-patterns.md +1 -1
- package/squads/squad-design/tasks/setup-performance-ci-gates.md +1 -1
- package/squads/squad-design/tasks/setup-storybook-integration.md +1 -1
- package/squads/squad-design/tasks/spec-gesture-interactions.md +1 -1
- package/squads/squad-design/tasks/spec-micro-interactions.md +2 -2
- package/squads/squad-design/tasks/synthesize-user-research.md +2 -2
- package/squads/squad-design/tasks/test-keyboard-navigation.md +1 -1
- package/squads/squad-design/tasks/validate-ux-with-testing.md +1 -1
- package/squads/squad-design/tasks/verify-color-contrast.md +2 -2
- package/squads/squad-design/templates/a11y-audit-report-template.md +1 -1
- package/squads/squad-design/templates/design-handoff-template.md +1 -1
- package/squads/squad-design/templates/performance-budget-template.md +1 -1
- package/squads/squad-design/templates/ux-research-plan-template.md +1 -1
- package/squads/squad-design/workflows/a11y-compliance-cycle.yaml +8 -8
- package/squads/squad-design/workflows/design-system-build-cycle.yaml +12 -12
- package/squads/squad-design/workflows/landing-page-sprint.yaml +10 -10
- package/squads/squad-design/workflows/performance-remediation-cycle.yaml +6 -6
- package/squads/squad-design/workflows/ux-research-sprint.yaml +8 -8
- package/squads/squad-design/workflows/zero-to-digital-product-cycle.yaml +16 -16
- package/squads/squad-finance/README.md +1 -1
- package/squads/squad-finance/agents/budget-controller.md +1 -1
- package/squads/squad-finance/agents/cost-optimizer.md +2 -2
- package/squads/squad-finance/agents/finance-orqx.md +4 -4
- package/squads/squad-finance/agents/fiscal-compliance-br.md +4 -4
- package/squads/squad-finance/agents/forecast-strategist.md +6 -6
- package/squads/squad-finance/agents/pricing-strategist.md +3 -3
- package/squads/squad-finance/agents/profitability-analyst.md +1 -1
- package/squads/squad-finance/agents/revenue-analyst.md +1 -1
- package/squads/squad-finance/checklists/monthly-close-checklist.md +1 -1
- package/squads/squad-finance/checklists/quarterly-review-checklist.md +1 -1
- package/squads/squad-finance/squad.yaml +2 -2
- package/squads/squad-finance/tasks/analyze-price-sensitivity.md +1 -1
- package/squads/squad-finance/tasks/benchmark-competitor-pricing.md +1 -1
- package/squads/squad-finance/tasks/calculate-rate-card.md +1 -1
- package/squads/squad-finance/tasks/coordinate-quarterly-review.md +2 -2
- package/squads/squad-finance/tasks/create-proposal-pricing.md +1 -1
- package/squads/squad-finance/tasks/design-service-tiers.md +1 -1
- package/squads/squad-finance/tasks/design-value-based-pricing.md +1 -1
- package/squads/squad-finance/tasks/manage-financial-calendar.md +1 -1
- package/squads/squad-finance/tasks/model-pricing-scenario.md +1 -1
- package/squads/squad-finance/tasks/optimize-rate-realization.md +1 -1
- package/squads/squad-finance/tasks/simulate-pricing-impact.md +1 -1
- package/squads/squad-finance/tasks/track-pricing-performance.md +1 -1
- package/squads/squad-paidmedia/README.md +4 -4
- package/squads/squad-paidmedia/agents/campaign-analyst.md +6 -6
- package/squads/squad-paidmedia/agents/creative-strategist.md +2 -2
- package/squads/squad-paidmedia/agents/cro-specialist.md +5 -5
- package/squads/squad-paidmedia/agents/google-ads-specialist.md +2 -2
- package/squads/squad-paidmedia/agents/meta-ads-specialist.md +6 -6
- package/squads/squad-paidmedia/agents/paidmedia-orqx.md +6 -6
- package/squads/squad-paidmedia/agents/performance-engineer.md +2 -2
- package/squads/squad-paidmedia/agents/pm-creative-performance-analyst.md +2 -2
- package/squads/squad-paidmedia/knowledge-base/routing-catalog.md +21 -21
- package/squads/squad-paidmedia/squad.yaml +4 -4
- package/squads/squad-paidmedia/tasks/allocate-cross-channel-budget.md +1 -1
- package/squads/squad-paidmedia/tasks/allocate-meta-budget.md +2 -2
- package/squads/squad-paidmedia/tasks/analyze-audience-performance.md +1 -1
- package/squads/squad-paidmedia/tasks/analyze-content-performance.md +1 -1
- package/squads/squad-paidmedia/tasks/analyze-conversion-funnel.md +2 -2
- package/squads/squad-paidmedia/tasks/analyze-creative-effectiveness.md +1 -1
- package/squads/squad-paidmedia/tasks/analyze-keyword-rankings.md +1 -1
- package/squads/squad-paidmedia/tasks/analyze-landing-page.md +1 -1
- package/squads/squad-paidmedia/tasks/analyze-local-keywords.md +1 -1
- package/squads/squad-paidmedia/tasks/analyze-local-market.md +1 -1
- package/squads/squad-paidmedia/tasks/analyze-reviews-strategy.md +1 -1
- package/squads/squad-paidmedia/tasks/analyze-top-pages.md +1 -1
- package/squads/squad-paidmedia/tasks/analyze-traffic-sources.md +1 -1
- package/squads/squad-paidmedia/tasks/analyze-user-behavior.md +1 -1
- package/squads/squad-paidmedia/tasks/audit-conversion-tracking.md +1 -1
- package/squads/squad-paidmedia/tasks/audit-gmb-location.md +1 -1
- package/squads/squad-paidmedia/tasks/audit-meta-ads-account.md +1 -1
- package/squads/squad-paidmedia/tasks/audit-sitemap-health.md +1 -1
- package/squads/squad-paidmedia/tasks/build-audience-architecture.md +2 -2
- package/squads/squad-paidmedia/tasks/build-creative-scorecard.md +1 -1
- package/squads/squad-paidmedia/tasks/calculate-sample-size.md +1 -1
- package/squads/squad-paidmedia/tasks/check-indexing-status.md +1 -1
- package/squads/squad-paidmedia/tasks/create-scaling-roadmap.md +1 -1
- package/squads/squad-paidmedia/tasks/design-campaign-structure.md +2 -2
- package/squads/squad-paidmedia/tasks/design-progressive-profiling.md +1 -1
- package/squads/squad-paidmedia/tasks/detect-creative-fatigue.md +1 -1
- package/squads/squad-paidmedia/tasks/execute-launch-checklist.md +1 -1
- package/squads/squad-paidmedia/tasks/generate-monthly-report.md +1 -1
- package/squads/squad-paidmedia/tasks/generate-search-performance-overview.md +1 -1
- package/squads/squad-paidmedia/tasks/generate-weekly-summary.md +1 -1
- package/squads/squad-paidmedia/tasks/manage-pixel-capi-health.md +1 -1
- package/squads/squad-paidmedia/tasks/manage-scaling-roadmap.md +1 -1
- package/squads/squad-paidmedia/tasks/measure-activation-rate.md +1 -1
- package/squads/squad-paidmedia/tasks/optimize-ad-set-targeting.md +2 -2
- package/squads/squad-paidmedia/tasks/optimize-form-conversion.md +1 -1
- package/squads/squad-paidmedia/tasks/optimize-onboarding-activation.md +1 -1
- package/squads/squad-paidmedia/tasks/optimize-page-conversion.md +1 -1
- package/squads/squad-paidmedia/tasks/optimize-signup-flow.md +1 -1
- package/squads/squad-paidmedia/tasks/plan-customer-engagement.md +1 -1
- package/squads/squad-paidmedia/tasks/run-ab-test.md +1 -1
- package/squads/squad-paidmedia/tasks/run-creative-test.md +1 -1
- package/squads/squad-paidmedia/tasks/track-gmb-performance-trends.md +1 -1
- package/squads/squad-paidmedia/tasks/triage-campaign-issues.md +1 -1
- package/squads/squad-product/README.md +2 -2
- package/squads/squad-product/agents/product-orqx.md +4 -4
- package/squads/squad-product/agents/ps-delivery-manager.md +2 -2
- package/squads/squad-product/agents/ps-product-ops-specialist.md +2 -2
- package/squads/squad-product/squad.yaml +2 -2
- package/squads/squad-product/tasks/audit-product-tool-stack.md +1 -1
- package/squads/squad-product/tasks/build-product-knowledge-base.md +1 -1
- package/squads/squad-product/tasks/calculate-sprint-velocity.md +1 -1
- package/squads/squad-product/tasks/configure-feature-flag-rollout.md +1 -1
- package/squads/squad-product/tasks/create-product-artifact-template.md +1 -1
- package/squads/squad-product/tasks/create-product-onboarding-runbook.md +3 -3
- package/squads/squad-product/tasks/create-product-playbook.md +2 -2
- package/squads/squad-product/tasks/document-product-process.md +1 -1
- package/squads/squad-product/tasks/execute-feature-launch-checklist.md +1 -1
- package/squads/squad-product/tasks/facilitate-sprint-retrospective.md +1 -1
- package/squads/squad-product/tasks/generate-product-health-report.md +2 -2
- package/squads/squad-product/tasks/maintain-decision-log-system.md +1 -1
- package/squads/squad-product/tasks/manage-sprint-capacity-planning.md +1 -1
- package/squads/squad-product/tasks/map-cross-functional-dependencies.md +1 -1
- package/squads/squad-product/tasks/prepare-product-handoff-package.md +4 -4
- package/squads/squad-product/tasks/run-product-operations-audit.md +1 -1
- package/squads/squad-product/tasks/run-shape-up-betting-table.md +1 -1
- package/squads/squad-product/tasks/run-sprint-planning-session.md +1 -1
- package/squads/squad-product/tasks/scope-agency-mvp.md +1 -1
- package/squads/squad-product/tasks/setup-new-client-product-operations.md +1 -1
- package/squads/squad-product/tasks/standardize-cross-client-metrics.md +1 -1
- package/squads/squad-product/tasks/triage-technical-debt-backlog.md +1 -1
- package/squads/squad-product/tasks/write-release-notes.md +1 -1
- package/squads/squad-research/README.md +3 -3
- package/squads/squad-research/agents/audience-intelligence.md +9 -9
- package/squads/squad-research/agents/competitive-intelligence.md +1 -1
- package/squads/squad-research/agents/data-synthesizer.md +11 -11
- package/squads/squad-research/agents/deep-researcher.md +2 -2
- package/squads/squad-research/agents/market-analyst.md +9 -9
- package/squads/squad-research/agents/research-orqx.md +4 -4
- package/squads/squad-research/agents/trend-forecaster.md +2 -2
- package/squads/squad-research/knowledge-base/agentic-second-brain-reference.md +1 -1
- package/squads/squad-research/knowledge-base/community-platforms-reference.md +1 -1
- package/squads/squad-research/knowledge-base/cross-squad-integration-protocol.md +1 -1
- package/squads/squad-research/knowledge-base/multi-agent-research-methodology.md +3 -3
- package/squads/squad-research/squad.yaml +3 -3
- package/squads/squad-research/tasks/analyze-audience-behavior.md +2 -2
- package/squads/squad-research/tasks/analyze-audience-psychographics.md +2 -2
- package/squads/squad-research/tasks/analyze-competitor-pricing.md +1 -1
- package/squads/squad-research/tasks/analyze-industry-trends.md +2 -2
- package/squads/squad-research/tasks/analyze-macro-forces.md +1 -1
- package/squads/squad-research/tasks/analyze-pricing-landscape.md +2 -2
- package/squads/squad-research/tasks/analyze-social-listening.md +2 -2
- package/squads/squad-research/tasks/analyze-value-chain.md +2 -2
- package/squads/squad-research/tasks/answer-strategic-question.md +1 -1
- package/squads/squad-research/tasks/assess-market-maturity.md +2 -2
- package/squads/squad-research/tasks/build-audience-persona.md +2 -2
- package/squads/squad-research/tasks/build-data-narrative.md +2 -2
- package/squads/squad-research/tasks/compile-competitive-dossier.md +2 -2
- package/squads/squad-research/tasks/conduct-deep-research.md +1 -1
- package/squads/squad-research/tasks/conduct-jobs-to-be-done.md +2 -2
- package/squads/squad-research/tasks/create-empathy-map.md +2 -2
- package/squads/squad-research/tasks/create-executive-briefing.md +2 -2
- package/squads/squad-research/tasks/create-insight-deck.md +2 -2
- package/squads/squad-research/tasks/create-research-dossier.md +1 -1
- package/squads/squad-research/tasks/create-research-repository.md +2 -2
- package/squads/squad-research/tasks/create-swot-analysis.md +4 -4
- package/squads/squad-research/tasks/design-survey.md +2 -2
- package/squads/squad-research/tasks/evaluate-market-entry.md +2 -2
- package/squads/squad-research/tasks/evaluate-regulatory-landscape.md +2 -2
- package/squads/squad-research/tasks/forecast-industry-trends.md +2 -2
- package/squads/squad-research/tasks/forecast-market-growth.md +2 -2
- package/squads/squad-research/tasks/generate-actionable-recommendations.md +2 -2
- package/squads/squad-research/tasks/identify-market-segments.md +3 -3
- package/squads/squad-research/tasks/map-audience-ecosystem.md +2 -2
- package/squads/squad-research/tasks/map-audience-journey.md +2 -2
- package/squads/squad-research/tasks/map-industry-ecosystem.md +2 -2
- package/squads/squad-research/tasks/map-market-opportunity.md +2 -2
- package/squads/squad-research/tasks/map-pain-gain-matrix.md +2 -2
- package/squads/squad-research/tasks/map-strategic-implications.md +2 -2
- package/squads/squad-research/tasks/orchestrate-research-pipeline.md +4 -4
- package/squads/squad-research/tasks/predict-market-shifts.md +1 -1
- package/squads/squad-research/tasks/profile-ideal-customer.md +2 -2
- package/squads/squad-research/tasks/run-porter-five-forces.md +1 -1
- package/squads/squad-research/tasks/run-scenario-planning.md +1 -1
- package/squads/squad-research/tasks/segment-audience.md +2 -2
- package/squads/squad-research/tasks/size-market-tam-sam-som.md +2 -2
- package/squads/squad-research/tasks/synthesize-multi-source.md +1 -1
- package/squads/squad-research/tasks/synthesize-research-report.md +2 -2
- package/squads/squad-research/tasks/validate-persona-with-data.md +2 -2
- package/squads/squad-research/tasks/visualize-research-data.md +2 -2
- package/squads/squad-research/templates/audience-persona-template.md +1 -1
- package/squads/squad-research/templates/competitive-dossier-template.md +1 -1
- package/squads/squad-research/templates/market-analysis-template.md +1 -1
- package/squads/squad-research/workflows/audience-intelligence-cycle.yaml +12 -12
- package/squads/squad-research/workflows/competitive-intelligence-cycle.yaml +2 -2
- package/squads/squad-research/workflows/deep-research-cycle.yaml +2 -2
- package/squads/squad-research/workflows/full-research-sprint.yaml +8 -8
- package/squads/squad-research/workflows/market-analysis-cycle.yaml +12 -12
- package/squads/squad-research/workflows/trend-forecasting-cycle.yaml +2 -2
- package/.sinapse-ai/core/execution/context-injector.js +0 -537
- package/.sinapse-ai/core/execution/parallel-executor.js +0 -299
- package/.sinapse-ai/core/execution/parallel-monitor.js +0 -430
- package/.sinapse-ai/core/execution/semantic-merge-engine.js +0 -1748
- package/.sinapse-ai/core/execution/wave-executor.js +0 -401
- package/.sinapse-ai/development/tasks/waves.md +0 -205
- package/.sinapse-ai/lib/build.json +0 -1
- package/.sinapse-ai/workflow-intelligence/engine/wave-analyzer.js +0 -684
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
/**
|
|
3
|
-
* validate-agent-codenames — AuditFinding AF-20260629 #32
|
|
3
|
+
* validate-agent-codenames — AuditFinding AF-20260629 #32 (+ AF-20260702 #1.10)
|
|
4
4
|
*
|
|
5
5
|
* Rejects DUPLICATE persona codenames (the `name:` field) shared across two or
|
|
6
6
|
* more DISTINCT agents. A codename is an agent's public identity (Pixel, Litmus,
|
|
@@ -12,19 +12,36 @@
|
|
|
12
12
|
* - sinapse/agents/*.md (master squad)
|
|
13
13
|
* - .sinapse-ai/development/agents/*.md (framework core agents)
|
|
14
14
|
*
|
|
15
|
-
* Codename extraction
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
15
|
+
* Codename extraction (AF-20260702 #1.10 closes a blind spot here — the
|
|
16
|
+
* original version only recognized a QUOTED `name: "X"`, so an unquoted
|
|
17
|
+
* `name: X` (also valid YAML) was silently invisible to this guard):
|
|
18
|
+
* 1. YAML `name:` field, first occurrence, quoted OR unquoted
|
|
19
|
+
* (`name: "Nexus"` and `name: Nexus` are both recognized). In every
|
|
20
|
+
* agent format the persona block sits at the top, so the first match is
|
|
21
|
+
* the codename — knowledge-base `name:` entries (mental models,
|
|
22
|
+
* subagent types, command lists) are nested under a `- ` list marker or
|
|
23
|
+
* appear far below and don't match the `^\s*name:` (no dash) anchor.
|
|
24
|
+
* 2. If no YAML `name:` is found, fall back to a PROSE declaration — the
|
|
25
|
+
* two conventions actually in use across agent files with no YAML
|
|
26
|
+
* persona block: `# Agent: {Name} — {Title}` and a markdown identity
|
|
27
|
+
* bullet `- **Nome:** {Name}` / `- **Name:** {Name}`. This is how
|
|
28
|
+
* design-orqx.md declares "Nexus" (plain markdown, not YAML) and why
|
|
29
|
+
* the pre-fix guard could not see it at all.
|
|
30
|
+
*
|
|
31
|
+
* Files with neither form are skipped — there is no codename to compare.
|
|
20
32
|
*
|
|
21
33
|
* Allow-list: the master orchestrator (Imperator) is intentionally registered
|
|
22
34
|
* under multiple entry-point files (snps-orqx / sinapse-orqx) — same logical
|
|
23
35
|
* agent, dual register (Constitution Article XI). It is NOT a collision.
|
|
24
36
|
*
|
|
37
|
+
* Known pending debt: KNOWN_COLLISIONS_PENDING_TRIAGE (below) lists real,
|
|
38
|
+
* pre-existing collisions this guard now detects but does NOT block on —
|
|
39
|
+
* they are out of scope for the story that fixed this guard's blind spots
|
|
40
|
+
* (see the constant's own comment) and are reported for visibility instead.
|
|
41
|
+
*
|
|
25
42
|
* Exit codes:
|
|
26
|
-
* 0 every codename is unique (modulo the allow-list)
|
|
27
|
-
* 1 one or more codenames are shared by distinct agents
|
|
43
|
+
* 0 every codename is unique (modulo the allow-list and pending debt)
|
|
44
|
+
* 1 one or more NOT-yet-triaged codenames are shared by distinct agents
|
|
28
45
|
*
|
|
29
46
|
* Usage:
|
|
30
47
|
* node scripts/validate-agent-codenames.js
|
|
@@ -50,6 +67,51 @@ const SQUADS_DIR = path.join(PROJECT_ROOT, 'squads');
|
|
|
50
67
|
// logical agent registered under multiple alias files (dual register).
|
|
51
68
|
const ALLOWED_DUPLICATES = new Set(['Imperator']);
|
|
52
69
|
|
|
70
|
+
// Known PRE-EXISTING collisions, NOT resolved by this guard (do not block).
|
|
71
|
+
//
|
|
72
|
+
// AF-20260702 #1.10 fixed two real blind spots: unquoted YAML `name:` and
|
|
73
|
+
// prose-only persona declarations (e.g. `# Agent: {Name} — {Title}`, used
|
|
74
|
+
// by several squads with no YAML persona block at all — squad-design's
|
|
75
|
+
// dx-* roster in particular). Looking at every agent file with both
|
|
76
|
+
// extraction paths surfaced 24 pre-existing codename collisions (Scope
|
|
77
|
+
// through Vertex) that NO version of this guard had ever seen before.
|
|
78
|
+
// Story onda1-s5 fixed one instance ("Nexus") and deliberately deferred
|
|
79
|
+
// these 24 to a follow-up triage (Onda 2) rather than blanket-rename
|
|
80
|
+
// without individual review (Constitution Article XI — Conservative
|
|
81
|
+
// Default).
|
|
82
|
+
//
|
|
83
|
+
// Story onda2-p7 (2026-07-02) did that triage. Verdict for all 24: every
|
|
84
|
+
// single one was a REAL collision between independently-named, established
|
|
85
|
+
// agents (never a detector false-positive, never genuinely ambiguous) — the
|
|
86
|
+
// palette of short evocative one-word codenames is small enough that 18+
|
|
87
|
+
// squads picked the same words independently. Winner kept by: (1) core
|
|
88
|
+
// framework agent beats squad agent, (2) squad orchestrator beats squad
|
|
89
|
+
// specialist (both cited in .sinapse-ai/development/agents/snps-orqx.md's
|
|
90
|
+
// master delegation-matrix), (3) among two specialists, semantic fit to the
|
|
91
|
+
// role + which squad already yielded more collisions elsewhere (kept
|
|
92
|
+
// squad-design's fragmented dx-* roster internally consistent rather than
|
|
93
|
+
// stranding 2 of 8 with stale names). All 27 renames (3 codenames were
|
|
94
|
+
// 3-way collisions) shipped with every live reference updated — own file,
|
|
95
|
+
// squad README, task "**Agent:**" headers, cross-agent handoff mentions,
|
|
96
|
+
// squad.yaml, and the master delegation-matrix in snps-orqx.md — verified
|
|
97
|
+
// by re-running this guard (0 blocking, 0 pending) plus a dedicated
|
|
98
|
+
// anchored-reference sweep (codename+old-agent-id co-occurrence, checked
|
|
99
|
+
// across the WHOLE repo, not just the renamed agent's home squad). Full
|
|
100
|
+
// old->new map and per-item reasoning: story `docs/stories/story-o2p7-agents-piloto.md`.
|
|
101
|
+
//
|
|
102
|
+
// This Set is intentionally EMPTY right now — every previously-known
|
|
103
|
+
// pending collision was triaged and resolved. It stays wired into
|
|
104
|
+
// `findCollisions()` as a NON-BLOCKING lane for whatever the guard's
|
|
105
|
+
// extraction next surfaces (e.g. if squad-content's task format is ever
|
|
106
|
+
// scanned the same way, or a new squad ships with an un-checked codename).
|
|
107
|
+
// It is deliberately NOT the same mechanism as ALLOWED_DUPLICATES above
|
|
108
|
+
// (that Set means "intentional, correct design"); an entry here means
|
|
109
|
+
// "known bug, not yet fixed". Removing a name because it was fixed is
|
|
110
|
+
// encouraged; ADDING a name to silence a *new* collision is not what this
|
|
111
|
+
// list is for — triage it (rename, or prove it's a detector false-positive)
|
|
112
|
+
// the same way this story did.
|
|
113
|
+
const KNOWN_COLLISIONS_PENDING_TRIAGE = new Set([]);
|
|
114
|
+
|
|
53
115
|
// Non-agent markdown that may live in an agents/ dir.
|
|
54
116
|
const SKIP_FILES = new Set(['README.md', 'MEMORY.md']);
|
|
55
117
|
|
|
@@ -78,17 +140,57 @@ function collectAgentDirs() {
|
|
|
78
140
|
return dirs;
|
|
79
141
|
}
|
|
80
142
|
|
|
143
|
+
// A codename is 1-3 words: letters, spaces, apostrophes or hyphens only.
|
|
144
|
+
// Anchored to end-of-line so it can't accidentally swallow a trailing
|
|
145
|
+
// comment or a much longer sentence.
|
|
146
|
+
const CODENAME_CHARS = "[A-Za-z][A-Za-z'.-]*(?:\\s[A-Za-z][A-Za-z'.-]*){0,2}";
|
|
147
|
+
|
|
148
|
+
// YAML persona field: `name: X` or `name: "X"`, no `- ` list-item prefix
|
|
149
|
+
// (that would be a nested knowledge-base/command entry, not the persona).
|
|
150
|
+
const YAML_NAME_RE = new RegExp(`^[ \\t]*name:[ \\t]*"?(${CODENAME_CHARS})"?[ \\t]*$`, 'm');
|
|
151
|
+
|
|
152
|
+
// Prose fallback #1: `# Agent: {Name} — {Title}` (common orqx H1 format).
|
|
153
|
+
const PROSE_AGENT_HEADER_RE = new RegExp(`^#\\s*Agent:\\s*(${CODENAME_CHARS})\\s*[—-]`, 'm');
|
|
154
|
+
|
|
155
|
+
// Prose fallback #2: `# {agent-id} — {Name}` whole-line (e.g. content-orqx.md).
|
|
156
|
+
const PROSE_ID_HEADER_RE = new RegExp(`^#\\s*[\\w./-]+\\s*[—-]\\s*(${CODENAME_CHARS})\\s*$`, 'm');
|
|
157
|
+
|
|
158
|
+
// Prose fallback #3: markdown identity bullet `- **Nome:** X` / `- **Name:** X`.
|
|
159
|
+
const PROSE_NOME_BULLET_RE = new RegExp(`^-\\s*\\*\\*(?:Nome|Name):\\*\\*\\s*(${CODENAME_CHARS})\\s*$`, 'mi');
|
|
160
|
+
|
|
161
|
+
/**
|
|
162
|
+
* Extract the agent codename and where it came from.
|
|
163
|
+
*
|
|
164
|
+
* Tries the YAML persona field first (quoted or unquoted); falls back to a
|
|
165
|
+
* prose declaration for agent files with no YAML block at all (e.g.
|
|
166
|
+
* design-orqx.md, which declares its codename in a plain markdown list).
|
|
167
|
+
*
|
|
168
|
+
* @returns {{ codename: string, source: 'yaml'|'prose' }|null}
|
|
169
|
+
*/
|
|
170
|
+
function extractCodenameWithSource(content) {
|
|
171
|
+
const yamlMatch = content.match(YAML_NAME_RE);
|
|
172
|
+
if (yamlMatch) return { codename: yamlMatch[1].trim(), source: 'yaml' };
|
|
173
|
+
|
|
174
|
+
const proseMatch =
|
|
175
|
+
content.match(PROSE_AGENT_HEADER_RE) ||
|
|
176
|
+
content.match(PROSE_ID_HEADER_RE) ||
|
|
177
|
+
content.match(PROSE_NOME_BULLET_RE);
|
|
178
|
+
if (proseMatch) return { codename: proseMatch[1].trim(), source: 'prose' };
|
|
179
|
+
|
|
180
|
+
return null;
|
|
181
|
+
}
|
|
182
|
+
|
|
81
183
|
/**
|
|
82
|
-
* Extract the
|
|
184
|
+
* Extract just the codename string (back-compat convenience wrapper).
|
|
83
185
|
* @returns {string|null}
|
|
84
186
|
*/
|
|
85
187
|
function extractCodename(content) {
|
|
86
|
-
const
|
|
87
|
-
return
|
|
188
|
+
const result = extractCodenameWithSource(content);
|
|
189
|
+
return result ? result.codename : null;
|
|
88
190
|
}
|
|
89
191
|
|
|
90
192
|
function collectCodenames() {
|
|
91
|
-
const byName = new Map(); // codename -> [
|
|
193
|
+
const byName = new Map(); // codename -> [{ path, source }, ...]
|
|
92
194
|
for (const dir of collectAgentDirs()) {
|
|
93
195
|
let files;
|
|
94
196
|
try {
|
|
@@ -104,58 +206,85 @@ function collectCodenames() {
|
|
|
104
206
|
} catch {
|
|
105
207
|
continue;
|
|
106
208
|
}
|
|
107
|
-
const
|
|
108
|
-
if (!
|
|
209
|
+
const found = extractCodenameWithSource(content);
|
|
210
|
+
if (!found) continue;
|
|
109
211
|
const relPath = path.relative(PROJECT_ROOT, filePath).replace(/\\/g, '/');
|
|
110
|
-
if (!byName.has(codename)) byName.set(codename, []);
|
|
111
|
-
byName.get(codename).push(relPath);
|
|
212
|
+
if (!byName.has(found.codename)) byName.set(found.codename, []);
|
|
213
|
+
byName.get(found.codename).push({ path: relPath, source: found.source });
|
|
112
214
|
}
|
|
113
215
|
}
|
|
114
216
|
return byName;
|
|
115
217
|
}
|
|
116
218
|
|
|
219
|
+
/**
|
|
220
|
+
* @returns {{ blocking: Array, pending: Array }} blocking = real collisions
|
|
221
|
+
* this run should fail on; pending = known pre-existing collisions logged
|
|
222
|
+
* for visibility but excluded from the exit code (see
|
|
223
|
+
* KNOWN_COLLISIONS_PENDING_TRIAGE above).
|
|
224
|
+
*/
|
|
117
225
|
function findCollisions(byName) {
|
|
118
|
-
const
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
226
|
+
const blocking = [];
|
|
227
|
+
const pending = [];
|
|
228
|
+
for (const [codename, entries] of byName) {
|
|
229
|
+
if (entries.length <= 1) continue;
|
|
230
|
+
const files = [...entries].sort((a, b) => a.path.localeCompare(b.path));
|
|
231
|
+
if (ALLOWED_DUPLICATES.has(codename)) continue;
|
|
232
|
+
if (KNOWN_COLLISIONS_PENDING_TRIAGE.has(codename)) {
|
|
233
|
+
pending.push({ codename, files });
|
|
234
|
+
continue;
|
|
122
235
|
}
|
|
236
|
+
blocking.push({ codename, files });
|
|
123
237
|
}
|
|
124
|
-
|
|
238
|
+
const byCodename = (a, b) => a.codename.localeCompare(b.codename);
|
|
239
|
+
return { blocking: blocking.sort(byCodename), pending: pending.sort(byCodename) };
|
|
125
240
|
}
|
|
126
241
|
|
|
127
|
-
function formatReport(byName,
|
|
242
|
+
function formatReport(byName, { blocking, pending }) {
|
|
128
243
|
const lines = [];
|
|
129
|
-
const totalAgents = [...byName.values()].reduce((n,
|
|
244
|
+
const totalAgents = [...byName.values()].reduce((n, entries) => n + entries.length, 0);
|
|
130
245
|
lines.push(`Scanned ${totalAgents} agent file(s) with a codename; ${byName.size} distinct codename(s).`);
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
246
|
+
|
|
247
|
+
if (blocking.length === 0) {
|
|
248
|
+
lines.push('OK — every codename is unique (master dual-register + known pending debt excluded).');
|
|
249
|
+
} else {
|
|
250
|
+
lines.push('');
|
|
251
|
+
lines.push(`FAIL — ${blocking.length} duplicate codename(s) found:`);
|
|
252
|
+
for (const c of blocking) {
|
|
253
|
+
lines.push(` "${c.codename}" used by ${c.files.length} agents:`);
|
|
254
|
+
for (const f of c.files) lines.push(` - ${f.path}${f.source === 'prose' ? ' (prose)' : ''}`);
|
|
255
|
+
}
|
|
256
|
+
lines.push('');
|
|
257
|
+
lines.push('Fix: rename the least-canonical side to a unique codename.');
|
|
134
258
|
}
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
lines.push(
|
|
139
|
-
|
|
259
|
+
|
|
260
|
+
if (pending.length > 0) {
|
|
261
|
+
lines.push('');
|
|
262
|
+
lines.push(
|
|
263
|
+
`NOTE — ${pending.length} known pre-existing collision(s) NOT blocking this run ` +
|
|
264
|
+
'(tracked debt, see KNOWN_COLLISIONS_PENDING_TRIAGE — schema uniformization backlog):',
|
|
265
|
+
);
|
|
266
|
+
for (const c of pending) {
|
|
267
|
+
lines.push(` "${c.codename}" used by ${c.files.length} agents:`);
|
|
268
|
+
for (const f of c.files) lines.push(` - ${f.path}${f.source === 'prose' ? ' (prose)' : ''}`);
|
|
269
|
+
}
|
|
140
270
|
}
|
|
141
|
-
|
|
142
|
-
lines.push('Fix: rename the least-canonical side to a unique codename.');
|
|
271
|
+
|
|
143
272
|
return lines.join('\n');
|
|
144
273
|
}
|
|
145
274
|
|
|
146
275
|
function main() {
|
|
147
276
|
const args = parseArgs();
|
|
148
277
|
const byName = collectCodenames();
|
|
149
|
-
const
|
|
278
|
+
const { blocking, pending } = findCollisions(byName);
|
|
150
279
|
|
|
151
280
|
if (args.json) {
|
|
152
|
-
console.log(JSON.stringify({ collisions, distinct: byName.size }, null, 2));
|
|
281
|
+
console.log(JSON.stringify({ collisions: blocking, pendingCollisions: pending, distinct: byName.size }, null, 2));
|
|
153
282
|
} else if (!args.quiet) {
|
|
154
283
|
console.log('=== validate-agent-codenames ===');
|
|
155
|
-
console.log(formatReport(byName,
|
|
284
|
+
console.log(formatReport(byName, { blocking, pending }));
|
|
156
285
|
}
|
|
157
286
|
|
|
158
|
-
return
|
|
287
|
+
return blocking.length > 0 ? 1 : 0;
|
|
159
288
|
}
|
|
160
289
|
|
|
161
290
|
if (require.main === module) {
|
|
@@ -165,10 +294,12 @@ if (require.main === module) {
|
|
|
165
294
|
module.exports = {
|
|
166
295
|
parseArgs,
|
|
167
296
|
extractCodename,
|
|
297
|
+
extractCodenameWithSource,
|
|
168
298
|
collectAgentDirs,
|
|
169
299
|
collectCodenames,
|
|
170
300
|
findCollisions,
|
|
171
301
|
formatReport,
|
|
172
302
|
main,
|
|
173
303
|
ALLOWED_DUPLICATES,
|
|
304
|
+
KNOWN_COLLISIONS_PENDING_TRIAGE,
|
|
174
305
|
};
|
|
@@ -27,6 +27,7 @@
|
|
|
27
27
|
|
|
28
28
|
const fs = require('fs');
|
|
29
29
|
const path = require('path');
|
|
30
|
+
const { atomicWriteSync } = require('../.sinapse-ai/core/synapse/utils/atomic-write');
|
|
30
31
|
const { execSync } = require('child_process');
|
|
31
32
|
|
|
32
33
|
const ROOT = path.resolve(__dirname, '..');
|
|
@@ -113,7 +114,7 @@ function main() {
|
|
|
113
114
|
}
|
|
114
115
|
|
|
115
116
|
if (FIX) {
|
|
116
|
-
|
|
117
|
+
atomicWriteSync(AGENTS_MD, fixed, 'utf8');
|
|
117
118
|
console.log('AGENTS.md count(s) rewritten to match disk:');
|
|
118
119
|
for (const mm of mismatches) console.log(` - ${mm}`);
|
|
119
120
|
process.exit(0);
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
'use strict';
|
|
32
32
|
|
|
33
33
|
const path = require('path');
|
|
34
|
-
const {
|
|
34
|
+
const { execFileSync } = require('child_process');
|
|
35
35
|
|
|
36
36
|
const ROOT = path.resolve(__dirname, '..');
|
|
37
37
|
|
|
@@ -61,9 +61,11 @@ function getBaseRef(args) {
|
|
|
61
61
|
return 'main';
|
|
62
62
|
}
|
|
63
63
|
|
|
64
|
-
|
|
64
|
+
// SECURITY: args go straight to git without a shell — baseRef comes from CLI
|
|
65
|
+
// or GITHUB_BASE_REF and must never be interpolated into a shell string.
|
|
66
|
+
function gitExec(args) {
|
|
65
67
|
try {
|
|
66
|
-
return
|
|
68
|
+
return execFileSync('git', args, { cwd: ROOT, stdio: ['ignore', 'pipe', 'pipe'] }).toString();
|
|
67
69
|
} catch (_err) {
|
|
68
70
|
return null;
|
|
69
71
|
}
|
|
@@ -78,14 +80,14 @@ function gitExec(cmd) {
|
|
|
78
80
|
*/
|
|
79
81
|
function diffAgainstBase(baseRef) {
|
|
80
82
|
// Try fetching first (CI may need it). Silent if it fails.
|
|
81
|
-
gitExec(
|
|
83
|
+
gitExec(['fetch', 'origin', baseRef, '--quiet']);
|
|
82
84
|
|
|
83
85
|
// Use raw diff with --name-status -M (rename detection).
|
|
84
86
|
const tripleDot = `origin/${baseRef}...HEAD`;
|
|
85
|
-
let raw = gitExec(
|
|
87
|
+
let raw = gitExec(['diff', '--name-status', '-M', tripleDot]);
|
|
86
88
|
if (raw === null) {
|
|
87
89
|
// Fallback: local base ref
|
|
88
|
-
raw = gitExec(
|
|
90
|
+
raw = gitExec(['diff', '--name-status', '-M', `${baseRef}...HEAD`]);
|
|
89
91
|
}
|
|
90
92
|
if (raw === null) {
|
|
91
93
|
return { error: `nao foi possivel comparar com ${baseRef}`, deletions: [], renames: [] };
|
|
@@ -110,8 +112,8 @@ function diffAgainstBase(baseRef) {
|
|
|
110
112
|
|
|
111
113
|
function getOverrideText(baseRef) {
|
|
112
114
|
// Aggregate commit messages between base..HEAD + PR body.
|
|
113
|
-
const commitMsgs = gitExec(
|
|
114
|
-
|| gitExec(
|
|
115
|
+
const commitMsgs = gitExec(['log', '--format=%B', `origin/${baseRef}..HEAD`])
|
|
116
|
+
|| gitExec(['log', '--format=%B', `${baseRef}..HEAD`])
|
|
115
117
|
|| '';
|
|
116
118
|
const prBody = process.env.GITHUB_PR_BODY || '';
|
|
117
119
|
const forcedOverride = process.env.ARTICLE_XI_OVERRIDE || '';
|
|
@@ -13,9 +13,11 @@
|
|
|
13
13
|
* npx sinapse-ai install
|
|
14
14
|
* npx sinapse-ai update
|
|
15
15
|
* npx sinapse-ai uninstall
|
|
16
|
+
* npx sinapse-ai agents
|
|
17
|
+
* npx sinapse-ai ideate
|
|
16
18
|
*
|
|
17
19
|
* Non-canonical patterns the guard rejects in public docs:
|
|
18
|
-
* - `sinapse install|update|uninstall` (missing the `-ai` suffix)
|
|
20
|
+
* - `sinapse install|update|uninstall|agents|ideate` (missing the `-ai` suffix)
|
|
19
21
|
* - `sinapse-minimal` (internal/legacy binary)
|
|
20
22
|
* - `sinapse-graph` (internal/legacy binary)
|
|
21
23
|
* - `install-squads.sh` (internal script, must not be exposed)
|
|
@@ -69,6 +71,19 @@ const FORBIDDEN_PATTERNS = [
|
|
|
69
71
|
regex: /\bsinapse\s+uninstall\b/,
|
|
70
72
|
reason: 'Use `npx sinapse-ai uninstall` (the `sinapse uninstall` form is deprecated).',
|
|
71
73
|
},
|
|
74
|
+
{
|
|
75
|
+
// Onda1-S1 (audit AF-20260702 item 1.2) — `agents`/`ideate` are owned by
|
|
76
|
+
// bin/cli.js (the `sinapse-ai` binary); same canonical-prefix rule as
|
|
77
|
+
// install/update/uninstall above.
|
|
78
|
+
id: 'legacy-sinapse-agents',
|
|
79
|
+
regex: /\bsinapse\s+agents\b/,
|
|
80
|
+
reason: 'Use `npx sinapse-ai agents` (the `sinapse agents` form is not the canonical public entry point).',
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
id: 'legacy-sinapse-ideate',
|
|
84
|
+
regex: /\bsinapse\s+ideate\b/,
|
|
85
|
+
reason: 'Use `npx sinapse-ai ideate` (the `sinapse ideate` form is not the canonical public entry point).',
|
|
86
|
+
},
|
|
72
87
|
{
|
|
73
88
|
id: 'sinapse-minimal-binary',
|
|
74
89
|
regex: /\bsinapse-minimal\b/,
|
|
@@ -113,8 +128,12 @@ const PUBLIC_DOC_DIRS = ['docs/installation'];
|
|
|
113
128
|
|
|
114
129
|
/**
|
|
115
130
|
* Additional top-level public doc files (relative to root).
|
|
131
|
+
*
|
|
132
|
+
* Onda1-S1 (audit AF-20260702 item 1.2) — the EN/PT user guides teach the
|
|
133
|
+
* Quick Start commands (including `agents`/`ideate`) and are exactly where
|
|
134
|
+
* the drift was found; bring them under the same guard as README.
|
|
116
135
|
*/
|
|
117
|
-
const PUBLIC_DOC_FILES = ['README.md'];
|
|
136
|
+
const PUBLIC_DOC_FILES = ['README.md', 'docs/guides/user-guide.md', 'docs/pt/guides/user-guide.md'];
|
|
118
137
|
|
|
119
138
|
/**
|
|
120
139
|
* Path fragments that identify historical / release notes. Any file whose
|
|
@@ -317,6 +336,8 @@ function formatReport(result) {
|
|
|
317
336
|
lines.push(' npx sinapse-ai install');
|
|
318
337
|
lines.push(' npx sinapse-ai update');
|
|
319
338
|
lines.push(' npx sinapse-ai uninstall');
|
|
339
|
+
lines.push(' npx sinapse-ai agents');
|
|
340
|
+
lines.push(' npx sinapse-ai ideate');
|
|
320
341
|
lines.push('');
|
|
321
342
|
lines.push('Wrap developer-only mentions in an `### Internal (developer-only)` section to opt them out.');
|
|
322
343
|
lines.push('');
|
|
@@ -240,21 +240,27 @@ function isBinaryFile(absPath) {
|
|
|
240
240
|
function scanFile(rootDir, relPath) {
|
|
241
241
|
if (isAllowListed(relPath)) return [];
|
|
242
242
|
const absPath = path.join(rootDir, relPath);
|
|
243
|
-
|
|
243
|
+
|
|
244
|
+
// Size cap and read share one fd, so the scanned bytes are the sized bytes.
|
|
245
|
+
let content;
|
|
246
|
+
let fd;
|
|
244
247
|
try {
|
|
245
|
-
|
|
248
|
+
fd = fs.openSync(absPath, 'r');
|
|
246
249
|
} catch {
|
|
247
250
|
return [];
|
|
248
251
|
}
|
|
249
|
-
if (!stat.isFile()) return [];
|
|
250
|
-
if (stat.size > MAX_SCAN_BYTES) return [];
|
|
251
|
-
if (isBinaryFile(absPath)) return [];
|
|
252
|
-
|
|
253
|
-
let content;
|
|
254
252
|
try {
|
|
255
|
-
|
|
253
|
+
const stat = fs.fstatSync(fd);
|
|
254
|
+
if (!stat.isFile()) return [];
|
|
255
|
+
if (stat.size > MAX_SCAN_BYTES) return [];
|
|
256
|
+
if (isBinaryFile(absPath)) return [];
|
|
257
|
+
const buf = Buffer.alloc(stat.size);
|
|
258
|
+
fs.readSync(fd, buf, 0, stat.size, 0);
|
|
259
|
+
content = buf.toString('utf8');
|
|
256
260
|
} catch {
|
|
257
261
|
return [];
|
|
262
|
+
} finally {
|
|
263
|
+
fs.closeSync(fd);
|
|
258
264
|
}
|
|
259
265
|
|
|
260
266
|
const lines = content.split(/\r?\n/);
|
|
@@ -360,7 +360,7 @@ routing_table:
|
|
|
360
360
|
|
|
361
361
|
- squad: claude-code-mastery
|
|
362
362
|
prefix: claude
|
|
363
|
-
orchestrator: swarm-orqx (
|
|
363
|
+
orchestrator: swarm-orqx (Relay)
|
|
364
364
|
invocation: "/claude:agents:swarm-orqx"
|
|
365
365
|
domain: "Claude Code mastery, prompt engineering, MCP, automacao, hooks, skills, plugins, agent teams, context engineering"
|
|
366
366
|
agents: 8
|
|
@@ -652,7 +652,7 @@ relationships:
|
|
|
652
652
|
context: "All product strategy, discovery, roadmap"
|
|
653
653
|
- agent: research-orqx (Prism)
|
|
654
654
|
context: "All market research, competitive intelligence"
|
|
655
|
-
- agent: swarm-orqx (
|
|
655
|
+
- agent: swarm-orqx (Relay)
|
|
656
656
|
context: "All Claude Code mastery, prompt engineering, MCP"
|
|
657
657
|
- agent: council-orqx (Zenith)
|
|
658
658
|
context: "All strategic counsel, mental models, advisory"
|
|
@@ -766,7 +766,7 @@ Imperator can provide ecosystem-wide insights by combining capabilities across s
|
|
|
766
766
|
| 9 | paidmedia | pm | Apex | Midia paga, Meta/Google Ads |
|
|
767
767
|
| 10 | product | product | Vector | Produto, discovery, roadmap |
|
|
768
768
|
| 11 | research | research | Prism | Pesquisa, inteligencia competitiva |
|
|
769
|
-
| 12 | claude-code-mastery | claude |
|
|
769
|
+
| 12 | claude-code-mastery | claude | Relay | Claude Code, prompt engineering |
|
|
770
770
|
| 13 | council | council | Zenith | Conselho estrategico, advisory |
|
|
771
771
|
| 14 | storytelling | narrative | Arc | Storytelling, pitch, apresentacao |
|
|
772
772
|
| 15 | cybersecurity | cyber | Fortress | Cybersecurity, compliance, pentest |
|
|
@@ -360,7 +360,7 @@ routing_table:
|
|
|
360
360
|
|
|
361
361
|
- squad: claude-code-mastery
|
|
362
362
|
prefix: claude
|
|
363
|
-
orchestrator: swarm-orqx (
|
|
363
|
+
orchestrator: swarm-orqx (Relay)
|
|
364
364
|
invocation: "/claude:agents:swarm-orqx"
|
|
365
365
|
domain: "Claude Code mastery, prompt engineering, MCP, automacao, hooks, skills, plugins, agent teams, context engineering"
|
|
366
366
|
agents: 8
|
|
@@ -652,7 +652,7 @@ relationships:
|
|
|
652
652
|
context: "All product strategy, discovery, roadmap"
|
|
653
653
|
- agent: research-orqx (Prism)
|
|
654
654
|
context: "All market research, competitive intelligence"
|
|
655
|
-
- agent: swarm-orqx (
|
|
655
|
+
- agent: swarm-orqx (Relay)
|
|
656
656
|
context: "All Claude Code mastery, prompt engineering, MCP"
|
|
657
657
|
- agent: council-orqx (Zenith)
|
|
658
658
|
context: "All strategic counsel, mental models, advisory"
|
|
@@ -766,7 +766,7 @@ Imperator can provide ecosystem-wide insights by combining capabilities across s
|
|
|
766
766
|
| 9 | paidmedia | pm | Apex | Midia paga, Meta/Google Ads |
|
|
767
767
|
| 10 | product | product | Vector | Produto, discovery, roadmap |
|
|
768
768
|
| 11 | research | research | Prism | Pesquisa, inteligencia competitiva |
|
|
769
|
-
| 12 | claude-code-mastery | claude |
|
|
769
|
+
| 12 | claude-code-mastery | claude | Relay | Claude Code, prompt engineering |
|
|
770
770
|
| 13 | council | council | Zenith | Conselho estrategico, advisory |
|
|
771
771
|
| 14 | storytelling | narrative | Arc | Storytelling, pitch, apresentacao |
|
|
772
772
|
| 15 | cybersecurity | cyber | Fortress | Cybersecurity, compliance, pentest |
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
| 9 | squad-paidmedia | pm | paidmedia-orqx (Apex) | `/pm:agents:paidmedia-orqx` |
|
|
18
18
|
| 10 | squad-product | product | product-orqx (Vector) | `/product:agents:product-orqx` |
|
|
19
19
|
| 11 | squad-research | research | research-orqx (Prism) | `/research:agents:research-orqx` |
|
|
20
|
-
| 12 | claude-code-mastery | claude | swarm-orqx (
|
|
20
|
+
| 12 | claude-code-mastery | claude | swarm-orqx (Relay) | `/claude:agents:swarm-orqx` |
|
|
21
21
|
| 13 | squad-council | council | council-orqx (Zenith) | `/council:agents:council-orqx` |
|
|
22
22
|
| 14 | squad-storytelling | narrative | storytelling-orqx (Arc) | `/narrative:agents:storytelling-orqx` |
|
|
23
23
|
| 15 | squad-cybersecurity | cyber | cyber-orqx (Fortress) | `/cyber:agents:cyber-orqx` |
|
|
@@ -63,7 +63,7 @@ Mapear contra a routing table:
|
|
|
63
63
|
| Midia paga/ads | paid-media | pm | Apex | `/pm:agents:paidmedia-orqx` |
|
|
64
64
|
| Produto/discovery | product-systems | product | Vector | `/product:agents:product-orqx` |
|
|
65
65
|
| Pesquisa/competitivo | research-intelligence | research | Prism | `/research:agents:research-orqx` |
|
|
66
|
-
| Claude Code/prompts | claude-mastery | claude |
|
|
66
|
+
| Claude Code/prompts | claude-mastery | claude | Relay | `/claude:agents:swarm-orqx` |
|
|
67
67
|
| Estrategia/advisory | strategic-council | council | Zenith | `/council:agents:council-orqx` |
|
|
68
68
|
| Narrativa/pitch | narrative-masters | narrative | Arc | `/narrative:agents:storytelling-orqx` |
|
|
69
69
|
| Seguranca/compliance | cyber-defense | cyber | Fortress | `/cyber:agents:cyber-orqx` |
|
|
@@ -5,7 +5,7 @@ All notable changes to the Claude Code Mastery squad.
|
|
|
5
5
|
## [1.0.0] - 2026-03-02
|
|
6
6
|
|
|
7
7
|
### Added
|
|
8
|
-
- 8 specialist agents: claude-mastery-chief (Orion), hooks-architect (Latch), mcp-integrator (Piper), swarm-orqx (
|
|
8
|
+
- 8 specialist agents: claude-mastery-chief (Orion), hooks-architect (Latch), mcp-integrator (Piper), swarm-orqx (Relay), config-engineer (Sigil), skill-craftsman (Anvil), project-integrator (Conduit), roadmap-sentinel (Vigil)
|
|
9
9
|
- 26 executable tasks across all agents
|
|
10
10
|
- 3 multi-phase workflows (wf-project-setup, wf-knowledge-update, wf-audit-complete)
|
|
11
11
|
- 5 knowledge base files (quick-ref, project-type-signatures, hook-patterns, ci-cd-patterns, mcp-catalog)
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
┌─────────┬───────┴───────┬──────────┐
|
|
14
14
|
| | | |
|
|
15
15
|
┌───────┴──┐ ┌───┴────┐ ┌──────┴───┐ ┌───┴──────┐
|
|
16
|
-
| Latch | | Piper | |
|
|
16
|
+
| Latch | | Piper | | Relay | | Sigil |
|
|
17
17
|
| Hooks | | MCP | | Swarm | | Config |
|
|
18
18
|
| Tier 1 | | Tier 1 | | Tier 1 | | Tier 1 |
|
|
19
19
|
└──────────┘ └────────┘ └──────────┘ └──────────┘
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
| 0 | claude-mastery-chief | Orion | Original | 554 | Triage, routing, cross-cutting knowledge |
|
|
33
33
|
| 1 | hooks-architect | Latch | disler (IndyDevDan) | 1,013 | 17 hook events, automation, damage control |
|
|
34
34
|
| 1 | mcp-integrator | Piper | Peter Steinberger (@steipete) | 791 | MCP servers, tool discovery, context budget |
|
|
35
|
-
| 1 | swarm-orqx |
|
|
35
|
+
| 1 | swarm-orqx | Relay | Kieran Klaassen + Reuven Cohen | 1,008 | Agent teams, subagents, parallel execution |
|
|
36
36
|
| 1 | config-engineer | Sigil | SuperClaude-Org | 663 | Settings, permissions, CLAUDE.md, sandbox |
|
|
37
37
|
| 2 | skill-craftsman | Anvil | spec-driven agile-AI methodology | 1,046 | Skills, plugins, commands, context engineering |
|
|
38
38
|
| 2 | project-integrator | Conduit | Daniel Miessler (PAI) | 959 | Project integration, CI/CD, SINAPSE bridge |
|
|
@@ -66,7 +66,7 @@ Or use the SINAPSE activation:
|
|
|
66
66
|
|-------------------|-----------|-------------|
|
|
67
67
|
| Hooks (17 events) | Latch | `*create-hook`, `*audit-hooks`, `*hook-patterns` |
|
|
68
68
|
| MCP Integration | Piper | `*add-server`, `*audit-mcp`, `*create-mcp-server` |
|
|
69
|
-
| Subagents & Teams |
|
|
69
|
+
| Subagents & Teams | Relay | `*create-agent`, `*create-team`, `*orchestrate` |
|
|
70
70
|
| Settings & Permissions | Sigil | `*configure`, `*permission-strategy`, `*sandbox-setup` |
|
|
71
71
|
| Skills & Plugins | Anvil | `*create-skill`, `*create-plugin`, `*context-strategy` |
|
|
72
72
|
| Project Integration | Conduit | `*integrate-project`, `*brownfield-setup`, `*ci-cd-setup` |
|
|
@@ -94,9 +94,9 @@ This squad understands both Claude Code native capabilities AND the SINAPSE fram
|
|
|
94
94
|
|
|
95
95
|
| SINAPSE Concept | Claude Code Equivalent | Bridge Agent |
|
|
96
96
|
|-------------|----------------------|-------------|
|
|
97
|
-
| Agents (@developer, @qa...) | Subagents (.claude/agents/) |
|
|
97
|
+
| Agents (@developer, @qa...) | Subagents (.claude/agents/) | Relay |
|
|
98
98
|
| Tasks (.sinapse-ai/tasks/) | Skills (.claude/skills/) | Anvil |
|
|
99
|
-
| Workflows | Multi-step sessions |
|
|
99
|
+
| Workflows | Multi-step sessions | Relay + Orion |
|
|
100
100
|
| core-config.yaml | .claude/settings.json | Sigil |
|
|
101
101
|
| Python hooks (monitor/) | Native hooks (command/http/prompt/agent) | Latch |
|
|
102
102
|
| Quality gates | Hook-based validation | Latch + Sigil |
|
|
@@ -112,7 +112,7 @@ squads/claude-code-mastery/
|
|
|
112
112
|
│ ├── claude-mastery-chief.md # Tier 0: Orchestrator (Orion)
|
|
113
113
|
│ ├── hooks-architect.md # Tier 1: Hooks (Latch)
|
|
114
114
|
│ ├── mcp-integrator.md # Tier 1: MCP (Piper)
|
|
115
|
-
│ ├── swarm-orqx.md # Tier 1: Subagents/Teams (
|
|
115
|
+
│ ├── swarm-orqx.md # Tier 1: Subagents/Teams (Relay)
|
|
116
116
|
│ ├── config-engineer.md # Tier 1: Settings/Config (Sigil)
|
|
117
117
|
│ ├── skill-craftsman.md # Tier 2: Skills/Plugins (Anvil)
|
|
118
118
|
│ ├── project-integrator.md # Tier 2: Integration (Conduit)
|