sinapse-ai 1.16.0 → 1.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/hooks/doc-first-gate.cjs +156 -0
- package/.claude/hooks/enforce-story-gate.cjs +6 -2
- package/.claude/rules/documentation-first.md +6 -0
- package/.claude/rules/hook-governance.md +1 -0
- package/.sinapse-ai/constitution.md +3 -3
- package/.sinapse-ai/core/atlas/atlas-data.js +278 -0
- package/.sinapse-ai/core/atlas/flows-pt.js +253 -0
- package/.sinapse-ai/core/atlas/flows.js +266 -0
- package/.sinapse-ai/core/atlas/index.js +62 -0
- package/.sinapse-ai/core/atlas/render-html.js +216 -0
- package/.sinapse-ai/core/atlas/render-markdown.js +313 -0
- package/.sinapse-ai/core/atlas/render-research-card.js +164 -0
- package/.sinapse-ai/core/code-intel/registry-syncer.js +5 -3
- package/.sinapse-ai/core/doctor/checks/agent-memory.js +7 -5
- package/.sinapse-ai/core/doctor/checks/claude-md.js +13 -0
- package/.sinapse-ai/core/doctor/checks/constitution-consistency.js +1 -0
- package/.sinapse-ai/core/doctor/checks/hooks-claude-count.js +11 -0
- package/.sinapse-ai/core/doctor/checks/settings-json.js +16 -2
- package/.sinapse-ai/core/doctor/index.js +27 -0
- package/.sinapse-ai/core/execution/build-orchestrator.js +192 -8
- package/.sinapse-ai/core/external-executors/delegate-cli.js +6 -2
- package/.sinapse-ai/core/health-check/checks/project/constitution-consistency.js +2 -1
- package/.sinapse-ai/core/ideation/ideation-engine.js +10 -8
- package/.sinapse-ai/core/mcp/config-migrator.js +8 -5
- package/.sinapse-ai/core/mcp/global-config-manager.js +4 -1
- package/.sinapse-ai/core/mcp/symlink-manager.js +6 -3
- package/.sinapse-ai/core/orchestration/brownfield-handler.js +5 -4
- package/.sinapse-ai/core/orchestration/build-command.js +136 -0
- package/.sinapse-ai/core/orchestration/doc-first-resolver.js +322 -0
- package/.sinapse-ai/core/orchestration/executors/epic-4-executor.js +3 -0
- package/.sinapse-ai/core/orchestration/gate-evaluator.js +58 -9
- package/.sinapse-ai/core/orchestration/route-command.js +97 -0
- package/.sinapse-ai/core/orchestration/session-state.js +19 -2
- package/.sinapse-ai/core/orchestration/terminal-spawner.js +24 -1
- package/.sinapse-ai/core/orchestration/workflow-executor.js +102 -3
- package/.sinapse-ai/core/quality-gates/focus-area-recommender.js +15 -11
- package/.sinapse-ai/core/registry/build-registry.js +3 -2
- package/.sinapse-ai/core/synapse/scripts/generate-constitution.js +1 -0
- package/.sinapse-ai/core/synapse/utils/atomic-write.js +34 -9
- package/.sinapse-ai/core-config.yaml +5 -1
- package/.sinapse-ai/data/capability-detection.js +3 -3
- package/.sinapse-ai/data/entity-registry.yaml +288 -90
- package/.sinapse-ai/data/mcp-discipline.js +1 -1
- package/.sinapse-ai/data/mcp-tool-examples.yaml +8 -8
- package/.sinapse-ai/data/tok2-validation.js +1 -1
- package/.sinapse-ai/data/tool-registry.yaml +4 -3
- package/.sinapse-ai/development/agents/snps-orqx.md +14 -5
- package/.sinapse-ai/development/scripts/migrate-task-to-v2.js +1 -1
- package/.sinapse-ai/development/scripts/validate-task-v2.js +67 -4
- package/.sinapse-ai/development/tasks/advanced-elicitation.md +3 -3
- package/.sinapse-ai/development/tasks/analyst-facilitate-brainstorming.md +3 -3
- package/.sinapse-ai/development/tasks/analyze-framework.md +1 -8
- package/.sinapse-ai/development/tasks/analyze-performance.md +1 -8
- package/.sinapse-ai/development/tasks/apply-qa-fixes.md +3 -3
- package/.sinapse-ai/development/tasks/architect-analyze-impact.md +3 -3
- package/.sinapse-ai/development/tasks/audit-codebase.md +1 -8
- package/.sinapse-ai/development/tasks/audit-tailwind-config.md +1 -4
- package/.sinapse-ai/development/tasks/audit-utilities.md +1 -8
- package/.sinapse-ai/development/tasks/bootstrap-shadcn-library.md +3 -3
- package/.sinapse-ai/development/tasks/brownfield-create-epic.md +3 -3
- package/.sinapse-ai/development/tasks/brownfield-create-story.md +3 -3
- package/.sinapse-ai/development/tasks/build-component.md +2 -5
- package/.sinapse-ai/development/tasks/calculate-roi.md +3 -3
- package/.sinapse-ai/development/tasks/ci-cd-configuration.md +1 -1
- package/.sinapse-ai/development/tasks/cleanup-utilities.md +3 -3
- package/.sinapse-ai/development/tasks/collaborative-edit.md +3 -3
- package/.sinapse-ai/development/tasks/compose-molecule.md +2 -5
- package/.sinapse-ai/development/tasks/consolidate-patterns.md +3 -3
- package/.sinapse-ai/development/tasks/correct-course.md +3 -3
- package/.sinapse-ai/development/tasks/create-brownfield-story.md +2 -5
- package/.sinapse-ai/development/tasks/create-deep-research-prompt.md +2 -5
- package/.sinapse-ai/development/tasks/create-doc.md +3 -6
- package/.sinapse-ai/development/tasks/create-next-story.md +4 -8
- package/.sinapse-ai/development/tasks/create-suite.md +2 -5
- package/.sinapse-ai/development/tasks/create-task.md +2 -5
- package/.sinapse-ai/development/tasks/create-workflow.md +2 -5
- package/.sinapse-ai/development/tasks/db-analyze-hotpaths.md +1 -8
- package/.sinapse-ai/development/tasks/db-apply-migration.md +1 -8
- package/.sinapse-ai/development/tasks/db-bootstrap.md +1 -8
- package/.sinapse-ai/development/tasks/db-domain-modeling.md +1 -8
- package/.sinapse-ai/development/tasks/db-dry-run.md +1 -8
- package/.sinapse-ai/development/tasks/db-env-check.md +1 -8
- package/.sinapse-ai/development/tasks/db-explain.md +1 -8
- package/.sinapse-ai/development/tasks/db-impersonate.md +1 -8
- package/.sinapse-ai/development/tasks/db-load-csv.md +1 -8
- package/.sinapse-ai/development/tasks/db-policy-apply.md +1 -8
- package/.sinapse-ai/development/tasks/db-rls-audit.md +1 -8
- package/.sinapse-ai/development/tasks/db-rollback.md +1 -8
- package/.sinapse-ai/development/tasks/db-run-sql.md +1 -8
- package/.sinapse-ai/development/tasks/db-schema-audit.md +1 -8
- package/.sinapse-ai/development/tasks/db-seed.md +1 -8
- package/.sinapse-ai/development/tasks/db-smoke-test.md +1 -8
- package/.sinapse-ai/development/tasks/db-snapshot.md +1 -8
- package/.sinapse-ai/development/tasks/db-squad-integration.md +1 -8
- package/.sinapse-ai/development/tasks/db-supabase-setup.md +1 -8
- package/.sinapse-ai/development/tasks/db-verify-order.md +1 -8
- package/.sinapse-ai/development/tasks/deprecate-component.md +3 -3
- package/.sinapse-ai/development/tasks/dev-apply-qa-fixes.md +3 -3
- package/.sinapse-ai/development/tasks/dev-backlog-debt.md +3 -3
- package/.sinapse-ai/development/tasks/dev-develop-story.md +1 -1
- package/.sinapse-ai/development/tasks/dev-improve-code-quality.md +3 -3
- package/.sinapse-ai/development/tasks/dev-optimize-performance.md +3 -3
- package/.sinapse-ai/development/tasks/dev-suggest-refactoring.md +3 -3
- package/.sinapse-ai/development/tasks/dev-validate-next-story.md +3 -3
- package/.sinapse-ai/development/tasks/document-project.md +3 -3
- package/.sinapse-ai/development/tasks/environment-bootstrap.md +0 -4
- package/.sinapse-ai/development/tasks/execute-checklist.md +3 -3
- package/.sinapse-ai/development/tasks/export-design-tokens-dtcg.md +3 -3
- package/.sinapse-ai/development/tasks/extend-pattern.md +1 -8
- package/.sinapse-ai/development/tasks/extract-tokens.md +3 -3
- package/.sinapse-ai/development/tasks/facilitate-brainstorming-session.md +1 -1
- package/.sinapse-ai/development/tasks/generate-ai-frontend-prompt.md +2 -5
- package/.sinapse-ai/development/tasks/generate-documentation.md +2 -5
- package/.sinapse-ai/development/tasks/generate-migration-strategy.md +2 -5
- package/.sinapse-ai/development/tasks/generate-shock-report.md +2 -5
- package/.sinapse-ai/development/tasks/github-devops-github-pr-automation.md +3 -3
- package/.sinapse-ai/development/tasks/github-devops-repository-cleanup.md +3 -3
- package/.sinapse-ai/development/tasks/github-devops-version-management.md +3 -3
- package/.sinapse-ai/development/tasks/improve-self.md +1 -16
- package/.sinapse-ai/development/tasks/index-docs.md +1 -4
- package/.sinapse-ai/development/tasks/init-project-status.md +1 -7
- package/.sinapse-ai/development/tasks/integrate-squad.md +3 -3
- package/.sinapse-ai/development/tasks/kb-mode-interaction.md +3 -3
- package/.sinapse-ai/development/tasks/learn-patterns.md +3 -3
- package/.sinapse-ai/development/tasks/modify-agent.md +1 -8
- package/.sinapse-ai/development/tasks/modify-task.md +1 -8
- package/.sinapse-ai/development/tasks/modify-workflow.md +1 -8
- package/.sinapse-ai/development/tasks/po-backlog-add.md +3 -3
- package/.sinapse-ai/development/tasks/po-manage-story-backlog.md +3 -3
- package/.sinapse-ai/development/tasks/po-pull-story-from-clickup.md +3 -3
- package/.sinapse-ai/development/tasks/po-pull-story.md +3 -3
- package/.sinapse-ai/development/tasks/po-stories-index.md +3 -3
- package/.sinapse-ai/development/tasks/po-sync-story-to-clickup.md +3 -3
- package/.sinapse-ai/development/tasks/po-sync-story.md +3 -3
- package/.sinapse-ai/development/tasks/pr-automation.md +1 -1
- package/.sinapse-ai/development/tasks/propose-modification.md +3 -3
- package/.sinapse-ai/development/tasks/qa-backlog-add-followup.md +1 -8
- package/.sinapse-ai/development/tasks/qa-create-fix-request.md +1 -4
- package/.sinapse-ai/development/tasks/qa-gate.md +1 -8
- package/.sinapse-ai/development/tasks/qa-generate-tests.md +1 -8
- package/.sinapse-ai/development/tasks/qa-nfr-assess.md +1 -8
- package/.sinapse-ai/development/tasks/qa-review-proposal.md +1 -8
- package/.sinapse-ai/development/tasks/qa-review-story.md +1 -8
- package/.sinapse-ai/development/tasks/qa-risk-profile.md +1 -8
- package/.sinapse-ai/development/tasks/qa-run-tests.md +1 -8
- package/.sinapse-ai/development/tasks/qa-test-design.md +1 -8
- package/.sinapse-ai/development/tasks/qa-trace-requirements.md +1 -8
- package/.sinapse-ai/development/tasks/release-management.md +1 -1
- package/.sinapse-ai/development/tasks/security-audit.md +1 -4
- package/.sinapse-ai/development/tasks/security-scan.md +1 -4
- package/.sinapse-ai/development/tasks/setup-database.md +2 -11
- package/.sinapse-ai/development/tasks/setup-design-system.md +2 -11
- package/.sinapse-ai/development/tasks/shard-doc.md +3 -3
- package/.sinapse-ai/development/tasks/sm-create-next-story.md +3 -3
- package/.sinapse-ai/development/tasks/spec-gather-requirements.md +11 -0
- package/.sinapse-ai/development/tasks/sync-documentation.md +1 -6
- package/.sinapse-ai/development/tasks/tailwind-upgrade.md +3 -3
- package/.sinapse-ai/development/tasks/test-as-user.md +3 -3
- package/.sinapse-ai/development/tasks/undo-last.md +2 -5
- package/.sinapse-ai/development/tasks/update-manifest.md +1 -8
- package/.sinapse-ai/development/tasks/ux-create-wireframe.md +1 -1
- package/.sinapse-ai/development/tasks/ux-ds-scan-artifact.md +3 -3
- package/.sinapse-ai/development/tasks/ux-user-research.md +3 -3
- package/.sinapse-ai/development/tasks/validate-next-story.md +1 -8
- package/.sinapse-ai/development/templates/approval-table.md +106 -0
- package/.sinapse-ai/development/templates/chrome-brain/scripts/chrome-ensure.cjs +1 -1
- package/.sinapse-ai/development/workflows/spec-pipeline.yaml +1 -0
- package/.sinapse-ai/git-hooks/post-commit +0 -0
- package/.sinapse-ai/git-hooks/pre-commit +0 -0
- package/.sinapse-ai/git-hooks/pre-push +0 -0
- package/.sinapse-ai/infrastructure/scripts/changelog-generator.js +5 -1
- package/.sinapse-ai/infrastructure/scripts/pattern-extractor.js +11 -2
- package/.sinapse-ai/infrastructure/scripts/test-utilities.js +34 -13
- package/.sinapse-ai/infrastructure/scripts/usage-analytics.js +9 -5
- package/.sinapse-ai/infrastructure/scripts/validate-claude-integration.js +10 -2
- package/.sinapse-ai/install-manifest.yaml +364 -320
- package/.sinapse-ai/lib/build.json +1 -0
- package/.sinapse-ai/product/templates/personalized-task-template-v2.md +4 -2
- package/.sinapse-ai/product/templates/prd-tmpl.yaml +6 -2
- package/.sinapse-ai/product/templates/statusline/statusline-script.js +7 -3
- package/CHANGELOG.md +85 -7
- package/README.en.md +5 -5
- package/README.md +5 -5
- package/bin/cli.js +1 -1
- package/bin/commands/install.js +288 -114
- package/bin/commands/local.js +11 -0
- package/bin/lib/command-generator.js +31 -2
- package/bin/sinapse.js +121 -0
- package/docs/README.md +1 -1
- package/docs/agent-reference-guide.md +1 -1
- package/docs/community/README-community-snippet-core.md +1 -1
- package/docs/community/README-community-snippet-mcp.md +1 -1
- package/docs/community/README-community-snippet-squads.md +1 -1
- package/docs/examples/quickstart-recording.md +1 -1
- package/docs/framework/README.md +1 -1
- package/docs/framework/architecture-overview.md +1 -0
- package/docs/framework/atlas/OPERATING-ATLAS.md +537 -0
- package/docs/framework/atlas/README.md +34 -0
- package/docs/framework/atlas/atlas-data.json +2810 -0
- package/docs/framework/atlas/atlas.html +392 -0
- package/docs/framework/coding-standards.md +1 -1
- package/docs/framework/core-architecture.md +1 -1
- package/docs/framework/guiding-principles.md +1 -1
- package/docs/framework/source-tree.md +1 -1
- package/docs/framework/tech-stack.md +1 -1
- package/docs/framework/versioning-and-releases.md +1 -1
- package/docs/getting-started.md +1 -1
- package/docs/guides/agent-reference.md +1 -1
- package/docs/guides/agent-selection-guide.md +1 -1
- package/docs/guides/api-reference.md +1 -1
- package/docs/guides/contextual-greeting-system-guide.md +1 -1
- package/docs/guides/contributing-squads.md +1 -1
- package/docs/guides/development-setup.md +1 -1
- package/docs/guides/git-workflow-guide.md +1 -1
- package/docs/guides/installation-troubleshooting.md +1 -1
- package/docs/guides/llm-routing.md +1 -1
- package/docs/guides/mcp-global-setup.md +1 -1
- package/docs/guides/meta-agent-commands.md +1 -1
- package/docs/guides/project-status-feature.md +1 -1
- package/docs/guides/quality-dashboard.md +1 -1
- package/docs/guides/quality-gates.md +1 -1
- package/docs/guides/security-hardening.md +1 -1
- package/docs/guides/service-discovery.md +19 -22
- package/docs/guides/squad-examples/README.md +1 -1
- package/docs/guides/squad-migration.md +1 -1
- package/docs/guides/squads-guide.md +1 -1
- package/docs/guides/squads-overview.md +10 -13
- package/docs/guides/template-engine-v2.md +1 -1
- package/docs/guides/testing-guide.md +1 -1
- package/docs/guides/user-guide.md +30 -26
- package/docs/installation/README.md +3 -3
- package/docs/installation/faq.md +1 -1
- package/docs/installation/linux.md +2 -2
- package/docs/installation/macos.md +1 -1
- package/docs/installation/npx-install.md +1 -1
- package/docs/installation/troubleshooting.md +1 -1
- package/docs/installation/uninstallation.md +1 -1
- package/docs/installation/v4-quick-start.md +1 -1
- package/docs/installation/windows.md +2 -2
- package/docs/pt/CHANGELOG.md +1 -1
- package/docs/pt/DOCUMENTATION-ROADMAP.md +1 -1
- package/docs/pt/ENVIRONMENT.md +1 -1
- package/docs/pt/FEATURE_PROCESS.md +2 -2
- package/docs/pt/GUIDING-PRINCIPLES.md +2 -2
- package/docs/pt/agent-reference-guide.md +3 -3
- package/docs/pt/architecture/ARCHITECTURE-INDEX.md +2 -2
- package/docs/pt/architecture/ade-architecture.md +1 -1
- package/docs/pt/architecture/agent-config-audit.md +1 -1
- package/docs/pt/architecture/agent-responsibility-matrix.md +1 -1
- package/docs/pt/architecture/agent-tool-integration-guide.md +1 -1
- package/docs/pt/architecture/ci-cd.md +1 -1
- package/docs/pt/architecture/coding-standards.md +1 -1
- package/docs/pt/architecture/contribution-workflow-research.md +1 -1
- package/docs/pt/architecture/dashboard-architecture.md +1 -1
- package/docs/pt/architecture/dashboard-realtime.md +1 -1
- package/docs/pt/architecture/hcs-check-specifications.md +1 -1
- package/docs/pt/architecture/hcs-execution-modes.md +1 -1
- package/docs/pt/architecture/hcs-self-healing-spec.md +1 -1
- package/docs/pt/architecture/high-level-architecture.md +1 -1
- package/docs/pt/architecture/introduction.md +1 -1
- package/docs/pt/architecture/mcp-api-keys-management.md +3 -3
- package/docs/pt/architecture/mcp-system-diagrams.md +1 -1
- package/docs/pt/architecture/module-system.md +4 -4
- package/docs/pt/architecture/multi-repo-strategy.md +2 -2
- package/docs/pt/architecture/source-tree.md +1 -1
- package/docs/pt/architecture/squad-improvement-analysis.md +1 -1
- package/docs/pt/architecture/squad-improvement-recommended-approach.md +1 -1
- package/docs/pt/architecture/tech-stack.md +1 -1
- package/docs/pt/architecture/utility-integration-guide.md +1 -1
- package/docs/pt/code-of-conduct.md +1 -1
- package/docs/pt/community/README-community-snippet-core.md +1 -1
- package/docs/pt/community/README-community-snippet-mcp.md +2 -2
- package/docs/pt/contributing.md +7 -7
- package/docs/pt/core-architecture.md +1 -1
- package/docs/pt/docker-mcp-setup.md +1 -1
- package/docs/pt/framework/README.md +1 -1
- package/docs/pt/framework/coding-standards.md +1 -1
- package/docs/pt/framework/source-tree.md +1 -1
- package/docs/pt/framework/tech-stack.md +1 -1
- package/docs/pt/getting-started.md +1 -1
- package/docs/pt/git-workflow-guide.md +1 -1
- package/docs/pt/guides/README.md +3 -3
- package/docs/pt/guides/agent-selection-guide.md +2 -2
- package/docs/pt/guides/api-reference.md +1 -1
- package/docs/pt/guides/contextual-greeting-system-guide.md +1 -1
- package/docs/pt/guides/contributing-squads.md +1 -1
- package/docs/pt/guides/development-setup.md +1 -1
- package/docs/pt/guides/installation-troubleshooting.md +1 -1
- package/docs/pt/guides/llm-routing.md +1 -1
- package/docs/pt/guides/mcp/desktop-commander.md +1 -1
- package/docs/pt/guides/mcp/docker-gateway-tutorial.md +1 -1
- package/docs/pt/guides/mcp-global-setup.md +1 -1
- package/docs/pt/guides/project-status-feature.md +1 -1
- package/docs/pt/guides/quality-dashboard.md +1 -1
- package/docs/pt/guides/quality-gates.md +1 -1
- package/docs/pt/guides/security-hardening.md +2 -2
- package/docs/pt/guides/service-discovery.md +19 -22
- package/docs/pt/guides/squad-examples/README.md +1 -1
- package/docs/pt/guides/squad-migration.md +1 -1
- package/docs/pt/guides/squads-guide.md +1 -1
- package/docs/pt/guides/squads-overview.md +11 -13
- package/docs/pt/guides/template-engine-v2.md +1 -1
- package/docs/pt/guides/testing-guide.md +3 -3
- package/docs/pt/guides/user-guide.md +30 -26
- package/docs/pt/guides/workflows-guide.md +1 -1
- package/docs/pt/how-to-contribute-with-pull-requests.md +1 -1
- package/docs/pt/ide-integration.md +2 -2
- package/docs/pt/installation/README.md +1 -1
- package/docs/pt/installation/faq.md +1 -1
- package/docs/pt/installation/linux.md +1 -1
- package/docs/pt/installation/macos.md +1 -1
- package/docs/pt/installation/troubleshooting.md +1 -1
- package/docs/pt/installation/v4-quick-start.md +1 -1
- package/docs/pt/installation/windows.md +1 -1
- package/docs/pt/meta-agent-commands.md +1 -1
- package/docs/pt/migration-guide.md +1 -1
- package/docs/pt/npx-install.md +1 -1
- package/docs/pt/performance-tuning-guide.md +1 -1
- package/docs/pt/platforms/claude-code.md +2 -2
- package/docs/pt/roadmap.md +2 -2
- package/docs/pt/security-best-practices.md +2 -2
- package/docs/pt/security.md +1 -1
- package/docs/pt/sinapse-nomenclature-specification.md +1 -1
- package/docs/pt/troubleshooting.md +1 -1
- package/docs/pt/uninstallation.md +1 -1
- package/docs/pt/versioning-and-releases.md +1 -1
- package/docs/security/overview.md +1 -1
- package/docs/security/security-best-practices.md +2 -2
- package/docs/sinapse-workflows/README.md +1 -1
- package/package.json +2 -1
- package/packages/installer/package.json +1 -0
- package/packages/installer/src/wizard/feedback.js +18 -2
- package/packages/installer/src/wizard/i18n.js +78 -0
- package/packages/installer/src/wizard/ide-config-generator.js +14 -9
- package/packages/installer/src/wizard/index.js +16 -16
- package/packages/installer/src/wizard/validation/report-generator.js +22 -21
- package/packages/installer/src/wizard/validation/troubleshooting-system.js +19 -13
- package/scripts/gen-agent-badges.js +1 -1
- package/scripts/install-chrome-brain.sh +2 -2
- package/scripts/package-synapse.js +14 -5
- package/scripts/prepare-hooks.js +19 -0
- package/scripts/validate-agent-codenames.js +174 -0
- package/scripts/validate-all.js +1 -0
- package/scripts/validate-no-personal-leaks.js +24 -9
- package/sinapse/agents/sinapse-orqx.md +5 -5
- package/sinapse/agents/snps-orqx.md +5 -5
- package/squads/squad-brand/agents/brand-creative-engineer.md +5 -5
- package/squads/squad-brand/squad.yaml +6 -6
- package/squads/squad-content/agents/content-engineer.md +7 -7
- package/squads/squad-content/squad.yaml +5 -5
- package/squads/squad-copy/knowledge-base/consequence-headline-patterns.md +2 -2
- package/squads/squad-courses/agents/production-director.md +5 -5
- package/squads/squad-courses/squad.yaml +1 -1
- package/docs/guides/hooks-two-layers.md +0 -66
|
@@ -126,7 +126,7 @@ acceptance-criteria:
|
|
|
126
126
|
|
|
127
127
|
- **Tool:** backup-manager
|
|
128
128
|
- **Purpose:** Backup and restore operations
|
|
129
|
-
- **Source:** .sinapse-ai/
|
|
129
|
+
- **Source:** .sinapse-ai/infrastructure/scripts/backup-manager.js
|
|
130
130
|
|
|
131
131
|
- **Tool:** version-control
|
|
132
132
|
- **Purpose:** Git operations for rollback
|
|
@@ -138,10 +138,7 @@ acceptance-criteria:
|
|
|
138
138
|
|
|
139
139
|
**Agent-specific code for this task:**
|
|
140
140
|
|
|
141
|
-
-
|
|
142
|
-
- **Purpose:** Rollback to previous state
|
|
143
|
-
- **Language:** JavaScript
|
|
144
|
-
- **Location:** .sinapse-ai/scripts/rollback-changes.js
|
|
141
|
+
- N/A
|
|
145
142
|
|
|
146
143
|
---
|
|
147
144
|
|
|
@@ -131,20 +131,13 @@ acceptance-criteria:
|
|
|
131
131
|
- **Purpose:** File reading, modification, and backup
|
|
132
132
|
- **Source:** Node.js fs module
|
|
133
133
|
|
|
134
|
-
- **Tool:** ast-parser
|
|
135
|
-
- **Purpose:** Parse and modify code safely
|
|
136
|
-
- **Source:** .sinapse-ai/utils/ast-parser.js
|
|
137
|
-
|
|
138
134
|
---
|
|
139
135
|
|
|
140
136
|
## Scripts
|
|
141
137
|
|
|
142
138
|
**Agent-specific code for this task:**
|
|
143
139
|
|
|
144
|
-
-
|
|
145
|
-
- **Purpose:** Safe file modification with backup
|
|
146
|
-
- **Language:** JavaScript
|
|
147
|
-
- **Location:** .sinapse-ai/scripts/modify-file.js
|
|
140
|
+
- N/A
|
|
148
141
|
|
|
149
142
|
---
|
|
150
143
|
|
|
@@ -137,7 +137,7 @@ acceptance-criteria:
|
|
|
137
137
|
- **Script:** execute-task.js
|
|
138
138
|
- **Purpose:** Generic task execution wrapper
|
|
139
139
|
- **Language:** JavaScript
|
|
140
|
-
- **Location:** .sinapse-ai/
|
|
140
|
+
- **Location:** .sinapse-ai/core/execution/
|
|
141
141
|
|
|
142
142
|
---
|
|
143
143
|
|
|
@@ -136,11 +136,11 @@ acceptance-criteria:
|
|
|
136
136
|
|
|
137
137
|
- **Tool:** task-runner
|
|
138
138
|
- **Purpose:** Task execution and orchestration
|
|
139
|
-
- **Source:** .sinapse-ai/core/
|
|
139
|
+
- **Source:** .sinapse-ai/core/execution/
|
|
140
140
|
|
|
141
141
|
- **Tool:** logger
|
|
142
142
|
- **Purpose:** Execution logging and error tracking
|
|
143
|
-
- **Source:** .sinapse-ai/
|
|
143
|
+
- **Source:** .sinapse-ai/core/execution/
|
|
144
144
|
|
|
145
145
|
---
|
|
146
146
|
|
|
@@ -151,7 +151,7 @@ acceptance-criteria:
|
|
|
151
151
|
- **Script:** execute-task.js
|
|
152
152
|
- **Purpose:** Generic task execution wrapper
|
|
153
153
|
- **Language:** JavaScript
|
|
154
|
-
- **Location:** .sinapse-ai/
|
|
154
|
+
- **Location:** .sinapse-ai/core/execution/
|
|
155
155
|
|
|
156
156
|
---
|
|
157
157
|
|
|
@@ -136,11 +136,11 @@ acceptance-criteria:
|
|
|
136
136
|
|
|
137
137
|
- **Tool:** task-runner
|
|
138
138
|
- **Purpose:** Task execution and orchestration
|
|
139
|
-
- **Source:** .sinapse-ai/core/
|
|
139
|
+
- **Source:** .sinapse-ai/core/execution/
|
|
140
140
|
|
|
141
141
|
- **Tool:** logger
|
|
142
142
|
- **Purpose:** Execution logging and error tracking
|
|
143
|
-
- **Source:** .sinapse-ai/
|
|
143
|
+
- **Source:** .sinapse-ai/core/execution/
|
|
144
144
|
|
|
145
145
|
---
|
|
146
146
|
|
|
@@ -151,7 +151,7 @@ acceptance-criteria:
|
|
|
151
151
|
- **Script:** execute-task.js
|
|
152
152
|
- **Purpose:** Generic task execution wrapper
|
|
153
153
|
- **Language:** JavaScript
|
|
154
|
-
- **Location:** .sinapse-ai/
|
|
154
|
+
- **Location:** .sinapse-ai/core/execution/
|
|
155
155
|
|
|
156
156
|
---
|
|
157
157
|
|
|
@@ -127,10 +127,6 @@ acceptance-criteria:
|
|
|
127
127
|
|
|
128
128
|
**External/shared resources used by this task:**
|
|
129
129
|
|
|
130
|
-
- **Tool:** validation-engine
|
|
131
|
-
- **Purpose:** Rule-based validation and reporting
|
|
132
|
-
- **Source:** .sinapse-ai/utils/validation-engine.js
|
|
133
|
-
|
|
134
130
|
- **Tool:** schema-validator
|
|
135
131
|
- **Purpose:** JSON/YAML schema validation
|
|
136
132
|
- **Source:** ajv or similar
|
|
@@ -141,10 +137,7 @@ acceptance-criteria:
|
|
|
141
137
|
|
|
142
138
|
**Agent-specific code for this task:**
|
|
143
139
|
|
|
144
|
-
-
|
|
145
|
-
- **Purpose:** Execute validation rules and generate report
|
|
146
|
-
- **Language:** JavaScript
|
|
147
|
-
- **Location:** .sinapse-ai/scripts/run-validation.js
|
|
140
|
+
- N/A
|
|
148
141
|
|
|
149
142
|
---
|
|
150
143
|
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
# Approval Table — Shared Terminal Presentation Convention
|
|
2
|
+
|
|
3
|
+
> **Reusable presentation protocol.** Any task that asks the user to review or approve a
|
|
4
|
+
> set of artifacts (requirements, epics, stories, tasks, risks, open questions) MUST render
|
|
5
|
+
> them through this convention BEFORE asking for a decision. This is the single source of
|
|
6
|
+
> truth for "scannable terminal table + verdict", so the experience is identical across
|
|
7
|
+
> PRD, epic, story, and spec flows. Do not duplicate ad-hoc formats per task — reference
|
|
8
|
+
> this file.
|
|
9
|
+
|
|
10
|
+
## Why this exists
|
|
11
|
+
|
|
12
|
+
Lists decided during planning (FRs, NFRs, epics, stories) used to be reported as counts or
|
|
13
|
+
prose ("✅ 8 FR, 3 NFR"). That forces the user to open a file to actually review. This
|
|
14
|
+
convention renders the real items as a scannable table the user can approve row by row,
|
|
15
|
+
right in the terminal. Output language follows the project's language (PT-BR for the user
|
|
16
|
+
when applicable); the schemas below are language-agnostic.
|
|
17
|
+
|
|
18
|
+
## The protocol (3 parts, always in this order)
|
|
19
|
+
|
|
20
|
+
1. **Verdict header** — one scannable line stating what is being reviewed and the current
|
|
21
|
+
status. Format:
|
|
22
|
+
```
|
|
23
|
+
── {ARTIFACT} REVIEW · {n} item(s) · status: {DRAFT|READY|APPROVED|NEEDS REVISION} ──
|
|
24
|
+
```
|
|
25
|
+
2. **The table** — render the items using the matching schema below. Keep it scannable:
|
|
26
|
+
one row per item, truncate long cells to ~60 chars with `…`, never wrap a cell across
|
|
27
|
+
lines. Use the priority/severity emoji legend when the schema has one.
|
|
28
|
+
3. **The decision prompt** — after the table, ask for the decision in the form the calling
|
|
29
|
+
task requires (the 1-9 elicitation menu, or a GO / NO-GO, or `[GO] [PAUSE] [REVISE] [ABORT]`).
|
|
30
|
+
Never ask for approval without showing the table first.
|
|
31
|
+
|
|
32
|
+
## Standard schemas
|
|
33
|
+
|
|
34
|
+
Use the schema that matches the artifact. Add/trim columns only when the data genuinely
|
|
35
|
+
requires it — keep the core columns stable so the experience is consistent.
|
|
36
|
+
|
|
37
|
+
### Requirements (gather / spec)
|
|
38
|
+
```
|
|
39
|
+
| ID | Description | Priority | Source |
|
|
40
|
+
| ----- | ------------------------------------ | -------- | ----------------- |
|
|
41
|
+
| FR-1 | {functional requirement} | 🔴 P0 | requirements.json |
|
|
42
|
+
|
|
43
|
+
| ID | Category | Requirement | Metric / Target |
|
|
44
|
+
| ----- | ----------- | ------------------------ | ----------------- |
|
|
45
|
+
| NFR-1 | {category} | {non-functional req} | {measurable} |
|
|
46
|
+
|
|
47
|
+
| ID | Type | Constraint | Impact |
|
|
48
|
+
| ----- | -------- | ------------------------ | ----------------- |
|
|
49
|
+
| CON-1 | {type} | {constraint} | {impact} |
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### Epic list (PRD epic-list approval)
|
|
53
|
+
```
|
|
54
|
+
| # | Epic | Goal (1 line) | Stories |
|
|
55
|
+
| -- | ----------------------------- | ------------------------------------- | ------- |
|
|
56
|
+
| 1 | Foundation & Core Infra | {one-sentence goal} | ~{n} |
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### Epic detail — stories within an epic
|
|
60
|
+
```
|
|
61
|
+
| Story | As a … / I want … | ACs | Depends on |
|
|
62
|
+
| ----- | --------------------------------- | --- | ---------- |
|
|
63
|
+
| 1.1 | {user} wants {action} | {n} | — |
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### Story summary (create / validate story)
|
|
67
|
+
```
|
|
68
|
+
| Field | Value |
|
|
69
|
+
| ------------ | ------------------------------------------------ |
|
|
70
|
+
| Story | {epicNum}.{storyNum} — {title} |
|
|
71
|
+
| Status | {Draft \| Ready \| InProgress \| Done} |
|
|
72
|
+
| Acceptance | {n} criteria |
|
|
73
|
+
| Tasks | {n} (linked to AC: {list}) |
|
|
74
|
+
| Dependencies | {list or —} |
|
|
75
|
+
|
|
76
|
+
| AC# | Criterion | Tasks |
|
|
77
|
+
| --- | ------------------------------------------ | ---------- |
|
|
78
|
+
| 1 | {given/when/then} | T1, T3 |
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### Risks & open questions (spec / plan)
|
|
82
|
+
```
|
|
83
|
+
| Risk | Probability | Impact | Mitigation |
|
|
84
|
+
| --------------- | ------------- | ------------- | ----------------- |
|
|
85
|
+
| {risk} | 🟢/🟡/🔴 | 🟢/🟡/🔴 | {mitigation} |
|
|
86
|
+
|
|
87
|
+
| ID | Question | Blocking | Assigned To |
|
|
88
|
+
| ---- | ------------------------- | -------- | ----------- |
|
|
89
|
+
| OQ-1 | {open question} | Yes / No | @{agent} |
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
## Legends
|
|
93
|
+
|
|
94
|
+
- **Priority:** 🔴 P0 (must) · 🟠 P1 (should) · 🟡 P2 (could) · 🟢 P3 (won't-now)
|
|
95
|
+
- **Severity / level:** 🔴 High · 🟡 Medium · 🟢 Low
|
|
96
|
+
- **Status glyphs (optional inline):** ✓ done · ● in progress · ○ pending · ✗ blocked
|
|
97
|
+
|
|
98
|
+
## Rules
|
|
99
|
+
|
|
100
|
+
- Always render the table for a list ≥ 2 items. For a single item, a compact field table is
|
|
101
|
+
still preferred over prose.
|
|
102
|
+
- The table is in addition to writing the artifact file — never replace the file, and never
|
|
103
|
+
replace the table with a count.
|
|
104
|
+
- Keep within terminal width: prefer fewer, tighter columns over a wide table that wraps.
|
|
105
|
+
- When iterating (NEEDS REVISION), re-render the full table with the changed rows marked
|
|
106
|
+
(prefix the changed cell with `» `), so the user sees what moved.
|
|
@@ -208,6 +208,7 @@ workflow:
|
|
|
208
208
|
|
|
209
209
|
on_success:
|
|
210
210
|
log: "✅ Requirements gathered: {requirements.functional.length} FR, {requirements.nonFunctional.length} NFR"
|
|
211
|
+
present_table: ".sinapse-ai/development/templates/approval-table.md" # Render FR/NFR/CON as scannable approval tables, not just the count
|
|
211
212
|
next: assess
|
|
212
213
|
|
|
213
214
|
on_failure:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -110,9 +110,13 @@ class ChangelogGenerator {
|
|
|
110
110
|
*/
|
|
111
111
|
async getLastReleaseTag() {
|
|
112
112
|
try {
|
|
113
|
-
|
|
113
|
+
// Suppress stderr via stdio, not `2>/dev/null` — the redirect breaks the
|
|
114
|
+
// command on Windows cmd, which would wrongly fall through to the first
|
|
115
|
+
// commit and generate the changelog from the start of history.
|
|
116
|
+
const tag = execSync('git describe --tags --abbrev=0', {
|
|
114
117
|
cwd: this.rootPath,
|
|
115
118
|
encoding: 'utf8',
|
|
119
|
+
stdio: ['ignore', 'pipe', 'ignore'],
|
|
116
120
|
}).trim();
|
|
117
121
|
return tag;
|
|
118
122
|
} catch {
|
|
@@ -797,7 +797,12 @@ export function Button({ variant = 'primary', size = 'md', disabled, children }:
|
|
|
797
797
|
const patterns = [];
|
|
798
798
|
const seenPatterns = new Set();
|
|
799
799
|
|
|
800
|
-
|
|
800
|
+
// Normalize separators: the walk yields '\\' on Windows, so '/hooks/' would
|
|
801
|
+
// never match there and hook detection would silently diverge by OS.
|
|
802
|
+
const hookFiles = files.filter((f) => {
|
|
803
|
+
const n = f.replace(/\\/g, '/');
|
|
804
|
+
return n.includes('/hooks/') || n.includes('use');
|
|
805
|
+
});
|
|
801
806
|
|
|
802
807
|
for (const file of hookFiles) {
|
|
803
808
|
const content = await this.readFile(file);
|
|
@@ -1152,7 +1157,11 @@ describe('MyComponent', () => {
|
|
|
1152
1157
|
const patterns = [];
|
|
1153
1158
|
const seenPatterns = new Set();
|
|
1154
1159
|
|
|
1155
|
-
|
|
1160
|
+
// Normalize separators ('\\' on Windows) so the '/dir/' checks match cross-OS.
|
|
1161
|
+
const utilFiles = files.filter((f) => {
|
|
1162
|
+
const n = f.replace(/\\/g, '/');
|
|
1163
|
+
return n.includes('/utils/') || n.includes('/lib/') || n.includes('/helpers/');
|
|
1164
|
+
});
|
|
1156
1165
|
|
|
1157
1166
|
for (const file of utilFiles) {
|
|
1158
1167
|
const content = await this.readFile(file);
|
|
@@ -11,14 +11,41 @@
|
|
|
11
11
|
|
|
12
12
|
const fs = require('fs');
|
|
13
13
|
const path = require('path');
|
|
14
|
-
const { exec } = require('child_process');
|
|
15
|
-
const util = require('util');
|
|
16
|
-
const execPromise = util.promisify(exec);
|
|
17
14
|
|
|
18
15
|
const utilsDir = path.join(__dirname);
|
|
19
16
|
let results = [];
|
|
20
17
|
let utilities = [];
|
|
21
18
|
|
|
19
|
+
/**
|
|
20
|
+
* Recursively count lines containing `needle` under `dir` (the cross-platform
|
|
21
|
+
* equivalent of `grep -r needle dir | wc -l`). Pure Node — no shell, no /bin/bash.
|
|
22
|
+
*/
|
|
23
|
+
function countMatchingLines(dir, needle) {
|
|
24
|
+
let count = 0;
|
|
25
|
+
let entries;
|
|
26
|
+
try {
|
|
27
|
+
entries = fs.readdirSync(dir, { withFileTypes: true });
|
|
28
|
+
} catch {
|
|
29
|
+
return 0;
|
|
30
|
+
}
|
|
31
|
+
for (const entry of entries) {
|
|
32
|
+
const full = path.join(dir, entry.name);
|
|
33
|
+
if (entry.isDirectory()) {
|
|
34
|
+
count += countMatchingLines(full, needle);
|
|
35
|
+
} else if (entry.isFile()) {
|
|
36
|
+
try {
|
|
37
|
+
const content = fs.readFileSync(full, 'utf8');
|
|
38
|
+
for (const line of content.split('\n')) {
|
|
39
|
+
if (line.includes(needle)) count++;
|
|
40
|
+
}
|
|
41
|
+
} catch {
|
|
42
|
+
// binary or unreadable file — skip
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
return count;
|
|
47
|
+
}
|
|
48
|
+
|
|
22
49
|
/**
|
|
23
50
|
* Count integration references for a utility
|
|
24
51
|
*/
|
|
@@ -34,16 +61,10 @@ async function countIntegrationReferences(utilityName) {
|
|
|
34
61
|
|
|
35
62
|
for (const dir of searchDirs) {
|
|
36
63
|
if (!fs.existsSync(dir)) continue;
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
{ shell: '/bin/bash' },
|
|
42
|
-
);
|
|
43
|
-
totalCount += parseInt(stdout.trim()) || 0;
|
|
44
|
-
} catch {
|
|
45
|
-
// Directory doesn't exist or grep failed - not a problem
|
|
46
|
-
}
|
|
64
|
+
// Walk the tree in Node and count matching lines. Replaces a
|
|
65
|
+
// `grep -r ... | wc -l` shell pipeline hardcoded to `/bin/bash`, which does
|
|
66
|
+
// not exist on Windows (the call always failed there and returned 0).
|
|
67
|
+
totalCount += countMatchingLines(dir, basename);
|
|
47
68
|
}
|
|
48
69
|
|
|
49
70
|
return totalCount;
|
|
@@ -607,11 +607,15 @@ class UsageAnalytics {
|
|
|
607
607
|
}
|
|
608
608
|
|
|
609
609
|
determineContextType(filePath) {
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
if (
|
|
610
|
+
// Normalize '\\' -> '/' first: filePath comes from path.relative, which yields
|
|
611
|
+
// backslashes on Windows, so the '/segment/' checks would all miss there and
|
|
612
|
+
// every file would be classified 'general'.
|
|
613
|
+
const p = filePath.replace(/\\/g, '/');
|
|
614
|
+
if (p.includes('/tests/')) return 'test';
|
|
615
|
+
if (p.includes('/docs/')) return 'documentation';
|
|
616
|
+
if (p.includes('/utils/')) return 'utility';
|
|
617
|
+
if (p.includes('/tasks/')) return 'task';
|
|
618
|
+
if (p.includes('/agents/')) return 'agent';
|
|
615
619
|
return 'general';
|
|
616
620
|
}
|
|
617
621
|
|
|
@@ -38,10 +38,18 @@ function validateClaudeIntegration(options = {}) {
|
|
|
38
38
|
warnings.push(`Claude hooks dir not found yet: ${path.relative(projectRoot, hooksDir)}`);
|
|
39
39
|
}
|
|
40
40
|
|
|
41
|
+
// The Claude mirror legitimately contains MORE files than the core source dir:
|
|
42
|
+
// ide-sync mirrors core agents (.sinapse-ai/development/agents) PLUS every squad
|
|
43
|
+
// -orqx PLUS redirect stubs. So an exact count match is the wrong invariant — it
|
|
44
|
+
// produced a spurious "30/12" warning. What matters here is that no core agent is
|
|
45
|
+
// missing; exact file-by-file parity (drift/orphaned) is covered by
|
|
46
|
+
// `npm run sync:ide:check`. We only flag an under-count.
|
|
41
47
|
const sourceCount = countMarkdownFiles(sourceAgentsDir);
|
|
42
48
|
const claudeCount = countMarkdownFiles(agentsDir);
|
|
43
|
-
if (sourceCount > 0 && claudeCount
|
|
44
|
-
warnings.push(
|
|
49
|
+
if (sourceCount > 0 && claudeCount < sourceCount) {
|
|
50
|
+
warnings.push(
|
|
51
|
+
`Claude mirror has fewer agents than core source (${claudeCount} < ${sourceCount}) — run \`npm run sync:ide\``,
|
|
52
|
+
);
|
|
45
53
|
}
|
|
46
54
|
|
|
47
55
|
return {
|