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.
Files changed (592) hide show
  1. package/.claude/CLAUDE.md +2 -2
  2. package/.claude/hooks/enforce-delegation.cjs +32 -36
  3. package/.claude/rules/agent-handoff.md +10 -21
  4. package/.claude/rules/mandatory-delegation.md +1 -1
  5. package/.claude/rules/token-economy.md +12 -5
  6. package/.sinapse-ai/constitution.md +2 -0
  7. package/.sinapse-ai/core/atlas/flows-pt.js +6 -0
  8. package/.sinapse-ai/core/atlas/flows.js +7 -0
  9. package/.sinapse-ai/core/atlas/render-html.js +10 -8
  10. package/.sinapse-ai/core/atlas/render-markdown.js +8 -0
  11. package/.sinapse-ai/core/doctor/checks/constitution-consistency.js +7 -0
  12. package/.sinapse-ai/core/execution/autonomous-build-loop.js +10 -4
  13. package/.sinapse-ai/core/execution/build-orchestrator.js +73 -2
  14. package/.sinapse-ai/core/execution/rate-limit-manager.js +2 -0
  15. package/.sinapse-ai/core/execution/result-aggregator.js +2 -0
  16. package/.sinapse-ai/core/health-check/checks/project/constitution-consistency.js +12 -1
  17. package/.sinapse-ai/core/orchestration/cli-commands.js +121 -4
  18. package/.sinapse-ai/core/orchestration/executors/epic-4-executor.js +10 -2
  19. package/.sinapse-ai/core/orchestration/executors/epic-6-executor.js +53 -2
  20. package/.sinapse-ai/core/orchestration/index.js +3 -0
  21. package/.sinapse-ai/core/orchestration/master-orchestrator.js +116 -18
  22. package/.sinapse-ai/core/registry/service-registry.json +2 -32
  23. package/.sinapse-ai/core/synapse/context/context-tracker.js +118 -11
  24. package/.sinapse-ai/core/synapse/engine.js +18 -3
  25. package/.sinapse-ai/core/synapse/layers/l0-constitution.js +189 -8
  26. package/.sinapse-ai/core/synapse/output/formatter.js +65 -25
  27. package/.sinapse-ai/core-config.yaml +8 -1
  28. package/.sinapse-ai/data/entity-registry.yaml +492 -246
  29. package/.sinapse-ai/development/agents/analyst.md +18 -34
  30. package/.sinapse-ai/development/agents/architect.md +18 -34
  31. package/.sinapse-ai/development/agents/data-engineer.md +15 -28
  32. package/.sinapse-ai/development/agents/developer.md +18 -40
  33. package/.sinapse-ai/development/agents/devops.md +15 -28
  34. package/.sinapse-ai/development/agents/product-lead.md +18 -34
  35. package/.sinapse-ai/development/agents/project-lead.md +18 -34
  36. package/.sinapse-ai/development/agents/quality-gate.md +18 -34
  37. package/.sinapse-ai/development/agents/snps-orqx.md +5 -5
  38. package/.sinapse-ai/development/agents/sprint-lead.md +20 -36
  39. package/.sinapse-ai/development/agents/squad-creator.md +15 -27
  40. package/.sinapse-ai/development/agents/ux-design-expert.md +15 -27
  41. package/.sinapse-ai/development/scripts/agent-exit-hooks.js +13 -4
  42. package/.sinapse-ai/development/scripts/populate-entity-registry.js +3 -0
  43. package/.sinapse-ai/development/tasks/execute-epic-plan.md +0 -4
  44. package/.sinapse-ai/development/workflows/epic-orchestration.yaml +0 -1
  45. package/.sinapse-ai/git-hooks/lib/staged-secret-scan.js +3 -1
  46. package/.sinapse-ai/infrastructure/integrations/ai-providers/README.md +2 -2
  47. package/.sinapse-ai/install-manifest.yaml +94 -126
  48. package/.sinapse-ai/product/templates/activation-instructions-template.md +72 -185
  49. package/.sinapse-ai/product/templates/ide-rules/claude-rules.md +45 -274
  50. package/.sinapse-ai/product/templates/personalized-agent-template.md +3 -5
  51. package/.sinapse-ai/product/templates/statusline/agent-badges.json +2 -2
  52. package/.sinapse-ai/product/templates/statusline/statusline-script.js +5 -3
  53. package/.sinapse-ai/workflow-intelligence/index.js +3 -21
  54. package/AGENTS.md +2 -2
  55. package/CHANGELOG.md +50 -2
  56. package/README.md +10 -0
  57. package/bin/cli.js +29 -0
  58. package/bin/commands/help.js +5 -0
  59. package/bin/commands/install.js +5 -4
  60. package/bin/commands/uninstall.js +5 -0
  61. package/bin/lib/command-generator.js +4 -4
  62. package/bin/lib/fs-utils.js +18 -0
  63. package/bin/lib/setup-statusline.js +3 -1
  64. package/bin/modules/chrome-brain-installer.js +5 -3
  65. package/bin/modules/mcp-installer.js +3 -6
  66. package/bin/postinstall.js +9 -1
  67. package/bin/sinapse-init.js +8 -9
  68. package/bin/sinapse.js +152 -2
  69. package/bin/utils/staged-secret-scan.js +3 -1
  70. package/docs/framework/atlas/OPERATING-ATLAS.md +3 -3
  71. package/docs/framework/atlas/atlas-data.json +27 -27
  72. package/docs/framework/atlas/atlas.html +12 -10
  73. package/docs/framework/source-tree.md +2 -3
  74. package/docs/framework/workflow-engine-status.md +70 -0
  75. package/docs/guides/ade-guide.md +4 -2
  76. package/docs/guides/api-reference.md +2 -0
  77. package/docs/guides/permission-modes.md +2 -0
  78. package/docs/guides/user-guide.md +21 -7
  79. package/docs/guides/workflows/AUTO-WORKTREE-WORKFLOW.md +2 -2
  80. package/docs/pt/architecture/ade-architecture.md +2 -0
  81. package/docs/pt/architecture/high-level-architecture.md +1 -1
  82. package/docs/pt/guides/ade-guide.md +4 -2
  83. package/docs/pt/guides/api-reference.md +2 -0
  84. package/docs/pt/guides/permission-modes.md +2 -0
  85. package/docs/pt/guides/user-guide.md +21 -7
  86. package/docs/pt/platforms/claude-code.md +2 -2
  87. package/docs/sinapse-workflows/auto-worktree-workflow.md +2 -2
  88. package/package.json +1 -1
  89. package/packages/installer/src/config/configure-environment.js +14 -6
  90. package/packages/installer/src/config/templates/core-config-template.js +43 -1
  91. package/packages/installer/src/installer/brownfield-upgrader.js +5 -3
  92. package/packages/installer/src/installer/file-hasher.js +29 -21
  93. package/packages/installer/src/installer/manifest-signature.js +61 -49
  94. package/packages/installer/src/installer/post-install-validator.js +24 -17
  95. package/packages/installer/src/installer/synapse-runtime-installer.js +148 -0
  96. package/packages/installer/src/merger/parsers/markdown-section-parser.js +3 -2
  97. package/packages/installer/src/updater/index.js +7 -1
  98. package/packages/installer/src/utils/atomic-write.js +35 -0
  99. package/packages/installer/src/wizard/i18n.js +294 -0
  100. package/packages/installer/src/wizard/index.js +31 -3
  101. package/packages/installer/src/wizard/validation/troubleshooting-system.js +60 -131
  102. package/packages/sinapse-install/src/capabilities/chrome-brain.js +5 -3
  103. package/packages/sinapse-install/src/installer.js +3 -1
  104. package/packages/sinapse-install/src/utils/atomic-write.js +67 -0
  105. package/scripts/apply-persona-disclaimer.js +2 -1
  106. package/scripts/bracket-report.js +103 -0
  107. package/scripts/sinapse-patch.js +2 -1
  108. package/scripts/sync-squad-yaml-components.js +2 -1
  109. package/scripts/validate-agent-codenames.js +168 -37
  110. package/scripts/validate-agents-md.js +2 -1
  111. package/scripts/validate-article-xi.js +10 -8
  112. package/scripts/validate-install-docs.js +23 -2
  113. package/scripts/validate-no-external-refs.js +14 -8
  114. package/sinapse/agents/sinapse-orqx.md +3 -3
  115. package/sinapse/agents/snps-orqx.md +3 -3
  116. package/sinapse/knowledge-base/routing-catalog.md +1 -1
  117. package/sinapse/tasks/diagnose-and-route.md +1 -1
  118. package/squads/claude-code-mastery/CHANGELOG.md +1 -1
  119. package/squads/claude-code-mastery/README.md +6 -6
  120. package/squads/claude-code-mastery/agents/claude-mastery-chief.md +10 -15
  121. package/squads/claude-code-mastery/agents/config-engineer.md +5 -12
  122. package/squads/claude-code-mastery/agents/hooks-architect.md +5 -11
  123. package/squads/claude-code-mastery/agents/mcp-integrator.md +5 -12
  124. package/squads/claude-code-mastery/agents/project-integrator.md +5 -12
  125. package/squads/claude-code-mastery/agents/roadmap-sentinel.md +14 -21
  126. package/squads/claude-code-mastery/agents/skill-craftsman.md +5 -11
  127. package/squads/claude-code-mastery/agents/swarm-orqx.md +20 -33
  128. package/squads/claude-code-mastery/data/claude-code-quick-ref.yaml +1 -1
  129. package/squads/claude-code-mastery/knowledge-base/claude-code-internals-deep.md +4 -4
  130. package/squads/claude-code-mastery/knowledge-base/claude-code-internals-reference.md +4 -4
  131. package/squads/claude-code-mastery/tasks/create-agent-definition.md +6 -6
  132. package/squads/claude-code-mastery/tasks/create-team-topology.md +3 -3
  133. package/squads/claude-code-mastery/tasks/diagnose.md +1 -1
  134. package/squads/claude-code-mastery/tasks/parallel-decomposition.md +1 -1
  135. package/squads/claude-code-mastery/tasks/worktree-strategy.md +1 -1
  136. package/squads/squad-animations/README.md +1 -1
  137. package/squads/squad-animations/agents/animation-interpreter.md +5 -5
  138. package/squads/squad-animations/agents/animations-orqx.md +6 -6
  139. package/squads/squad-animations/squad.yaml +1 -1
  140. package/squads/squad-animations/tasks/analyze-reference-animation.md +1 -1
  141. package/squads/squad-animations/tasks/build-animation-brief.md +1 -1
  142. package/squads/squad-animations/tasks/create-animation-storyboard.md +1 -1
  143. package/squads/squad-animations/tasks/cross-reference-brand-system.md +1 -1
  144. package/squads/squad-animations/tasks/extract-animation-intent.md +1 -1
  145. package/squads/squad-animations/tasks/generate-motion-vocabulary.md +1 -1
  146. package/squads/squad-animations/tasks/identify-website-animation.md +1 -1
  147. package/squads/squad-animations/tasks/interpret-animation-prompt.md +1 -1
  148. package/squads/squad-animations/tasks/refine-animation-specification.md +1 -1
  149. package/squads/squad-animations/tasks/translate-feeling-to-parameters.md +1 -1
  150. package/squads/squad-animations/tasks/validate-animation-feasibility.md +1 -1
  151. package/squads/squad-animations/workflows/prompt-to-animation-cycle.yaml +2 -2
  152. package/squads/squad-brand/agents/brand-auditor.md +1 -1
  153. package/squads/squad-brand/agents/brand-compiler.md +1 -1
  154. package/squads/squad-brand/agents/brand-motion-vfx.md +5 -5
  155. package/squads/squad-brand/agents/brand-orqx.md +2 -2
  156. package/squads/squad-brand/agents/brand-sonic-designer.md +1 -1
  157. package/squads/squad-brand/squad.yaml +1 -1
  158. package/squads/squad-brand/tasks/create-animation-library.md +1 -1
  159. package/squads/squad-brand/tasks/create-brand-characters.md +2 -2
  160. package/squads/squad-brand/tasks/create-event-branding.md +2 -2
  161. package/squads/squad-brand/tasks/create-micro-interactions.md +1 -1
  162. package/squads/squad-brand/tasks/create-page-transitions.md +1 -1
  163. package/squads/squad-brand/tasks/create-video-templates.md +1 -1
  164. package/squads/squad-brand/tasks/create-web-templates.md +1 -1
  165. package/squads/squad-brand/tasks/define-motion-language.md +1 -1
  166. package/squads/squad-brand/tasks/design-dynamic-identity-system.md +2 -2
  167. package/squads/squad-brand/tasks/design-illustration-system.md +1 -1
  168. package/squads/squad-commercial/README.md +3 -3
  169. package/squads/squad-commercial/agents/commercial-orqx.md +8 -8
  170. package/squads/squad-commercial/agents/cs-crm-specialist.md +3 -3
  171. package/squads/squad-commercial/agents/cs-revops-analyst.md +3 -3
  172. package/squads/squad-commercial/agents/cs-sales-closer.md +1 -1
  173. package/squads/squad-commercial/knowledge-base/commercial-analytics-reporting.md +7 -7
  174. package/squads/squad-commercial/knowledge-base/sales-revenue-master-reference.md +1 -1
  175. package/squads/squad-commercial/squad.yaml +3 -3
  176. package/squads/squad-commercial/tasks/analyze-revenue-leaks.md +2 -2
  177. package/squads/squad-commercial/tasks/audit-commercial-tech-stack.md +1 -1
  178. package/squads/squad-commercial/tasks/audit-crm-data.md +1 -1
  179. package/squads/squad-commercial/tasks/build-deal-scoring-model.md +1 -1
  180. package/squads/squad-commercial/tasks/build-forecasting-model.md +1 -1
  181. package/squads/squad-commercial/tasks/build-pipeline-dashboard.md +2 -2
  182. package/squads/squad-commercial/tasks/build-unit-economics-model.md +1 -1
  183. package/squads/squad-commercial/tasks/conduct-commercial-retrospective.md +2 -2
  184. package/squads/squad-commercial/tasks/conduct-deal-review.md +1 -1
  185. package/squads/squad-commercial/tasks/conduct-win-loss-analysis.md +1 -1
  186. package/squads/squad-commercial/tasks/configure-activity-tracking.md +1 -1
  187. package/squads/squad-commercial/tasks/configure-crm-integrations.md +1 -1
  188. package/squads/squad-commercial/tasks/configure-pipeline-stages.md +1 -1
  189. package/squads/squad-commercial/tasks/coordinate-revenue-cycle.md +1 -1
  190. package/squads/squad-commercial/tasks/create-commercial-brief.md +2 -2
  191. package/squads/squad-commercial/tasks/create-revenue-dashboard.md +1 -1
  192. package/squads/squad-commercial/tasks/design-lead-routing.md +1 -1
  193. package/squads/squad-commercial/tasks/design-quota-model.md +1 -1
  194. package/squads/squad-commercial/tasks/execute-save-play.md +1 -1
  195. package/squads/squad-commercial/tasks/manage-commercial-handoffs.md +1 -1
  196. package/squads/squad-commercial/tasks/manage-pipeline-forecast.md +3 -3
  197. package/squads/squad-commercial/tasks/monitor-pipeline-health.md +1 -1
  198. package/squads/squad-commercial/tasks/monitor-saas-metrics.md +1 -1
  199. package/squads/squad-commercial/tasks/plan-sales-capacity.md +1 -1
  200. package/squads/squad-commercial/tasks/plan-territory-mapping.md +1 -1
  201. package/squads/squad-commercial/tasks/review-revenue-architecture.md +2 -2
  202. package/squads/squad-commercial/tasks/run-quarterly-commercial-review.md +3 -3
  203. package/squads/squad-commercial/tasks/select-commercial-workflow.md +1 -1
  204. package/squads/squad-commercial/tasks/setup-outreach-sequences.md +1 -1
  205. package/squads/squad-commercial/templates/offer-brief-template.md +2 -2
  206. package/squads/squad-commercial/workflows/new-offer-launch.yaml +2 -2
  207. package/squads/squad-commercial/workflows/quarterly-commercial-review.yaml +1 -1
  208. package/squads/squad-commercial/workflows/revenue-forecasting-cycle.yaml +2 -2
  209. package/squads/squad-content/README.md +1 -1
  210. package/squads/squad-content/agents/content-analyst.md +4 -4
  211. package/squads/squad-content/agents/content-engineer.md +2 -2
  212. package/squads/squad-content/agents/content-governor.md +1 -1
  213. package/squads/squad-content/agents/content-orqx.md +6 -6
  214. package/squads/squad-content/agents/editorial-strategist.md +5 -5
  215. package/squads/squad-content/agents/platform-specialist.md +1 -1
  216. package/squads/squad-content/agents/signal-intelligence.md +4 -4
  217. package/squads/squad-content/checklists/editorial-planning-checklist.md +1 -1
  218. package/squads/squad-content/checklists/onboarding-setup-checklist.md +2 -2
  219. package/squads/squad-content/knowledge-base/ai-native-content-loop.md +2 -2
  220. package/squads/squad-content/knowledge-base/content-governance-principles.md +2 -2
  221. package/squads/squad-content/knowledge-base/cross-squad-integration-protocol.md +1 -1
  222. package/squads/squad-content/knowledge-base/signal-intelligence-v2.md +1 -1
  223. package/squads/squad-content/knowledge-base/task-ownership-map.md +5 -5
  224. package/squads/squad-content/squad.yaml +2 -2
  225. package/squads/squad-content/tasks/alert-opportunity-windows.md +6 -6
  226. package/squads/squad-content/tasks/analyze-content-performance.md +2 -2
  227. package/squads/squad-content/tasks/batch-content-production.md +1 -1
  228. package/squads/squad-content/tasks/benchmark-against-competitors.md +1 -1
  229. package/squads/squad-content/tasks/coordinate-cross-squad.md +1 -1
  230. package/squads/squad-content/tasks/create-content-governance.md +1 -1
  231. package/squads/squad-content/tasks/create-editorial-calendar.md +1 -1
  232. package/squads/squad-content/tasks/curate-ugc-signals.md +2 -2
  233. package/squads/squad-content/tasks/define-big-idea.md +1 -1
  234. package/squads/squad-content/tasks/define-content-kpis.md +1 -1
  235. package/squads/squad-content/tasks/flag-content-for-amplification.md +2 -2
  236. package/squads/squad-content/tasks/generate-content-report.md +3 -3
  237. package/squads/squad-content/tasks/manage-content-sprint.md +1 -1
  238. package/squads/squad-content/tasks/measure-content-roi.md +3 -3
  239. package/squads/squad-content/tasks/orchestrate-content-pipeline.md +2 -2
  240. package/squads/squad-content/tasks/plan-content-sprint.md +3 -3
  241. package/squads/squad-content/tasks/predict-content-performance.md +2 -2
  242. package/squads/squad-content/tasks/scan-daily-signals.md +2 -2
  243. package/squads/squad-content/tasks/triage-content-requests.md +1 -1
  244. package/squads/squad-content/tasks/triage-urgent-signal.md +1 -1
  245. package/squads/squad-content/templates/signal-alert-template.md +2 -2
  246. package/squads/squad-content/templates/weekly-briefing-template.md +1 -1
  247. package/squads/squad-content/workflows/content-audit-cycle.yaml +1 -1
  248. package/squads/squad-content/workflows/content-creation-cycle.yaml +3 -3
  249. package/squads/squad-content/workflows/editorial-planning-cycle.yaml +3 -3
  250. package/squads/squad-content/workflows/onboarding-content-cycle.yaml +3 -3
  251. package/squads/squad-content/workflows/performance-feedback-loop.yaml +3 -3
  252. package/squads/squad-content/workflows/signal-to-content-cycle.yaml +5 -5
  253. package/squads/squad-copy/README.md +4 -4
  254. package/squads/squad-copy/agents/ad-copywriter.md +4 -4
  255. package/squads/squad-copy/agents/copy-orqx.md +3 -3
  256. package/squads/squad-copy/agents/copy-strategist.md +5 -5
  257. package/squads/squad-copy/agents/direct-response-writer.md +3 -3
  258. package/squads/squad-copy/agents/email-sequence-strategist.md +1 -1
  259. package/squads/squad-copy/agents/funnel-copywriter.md +3 -3
  260. package/squads/squad-copy/agents/headline-specialist.md +1 -1
  261. package/squads/squad-copy/agents/proof-architect.md +3 -3
  262. package/squads/squad-copy/squad.yaml +3 -3
  263. package/squads/squad-copy/tasks/build-proof-stack.md +3 -3
  264. package/squads/squad-copy/tasks/craft-cta-variations.md +2 -2
  265. package/squads/squad-copy/tasks/craft-email-nurture-sequence.md +2 -2
  266. package/squads/squad-copy/tasks/craft-objection-handlers.md +1 -1
  267. package/squads/squad-copy/tasks/craft-social-media-hooks.md +1 -1
  268. package/squads/squad-copy/tasks/create-cart-abandonment-sequence.md +2 -2
  269. package/squads/squad-copy/tasks/create-customer-story.md +2 -2
  270. package/squads/squad-copy/tasks/create-email-campaign.md +2 -2
  271. package/squads/squad-copy/tasks/create-mechanism-copy.md +4 -4
  272. package/squads/squad-copy/tasks/create-opening-hooks.md +1 -1
  273. package/squads/squad-copy/tasks/create-ugc-script.md +2 -2
  274. package/squads/squad-copy/tasks/create-urgency-scarcity-framework.md +1 -1
  275. package/squads/squad-copy/tasks/create-welcome-sequence.md +2 -2
  276. package/squads/squad-copy/tasks/design-headline-ab-tests.md +1 -1
  277. package/squads/squad-copy/tasks/design-trigger-sequence.md +1 -1
  278. package/squads/squad-copy/tasks/design-welcome-series.md +2 -2
  279. package/squads/squad-copy/tasks/optimize-existing-copy.md +2 -2
  280. package/squads/squad-copy/tasks/optimize-funnel-conversion-copy.md +2 -2
  281. package/squads/squad-copy/tasks/optimize-pricing-framing.md +2 -2
  282. package/squads/squad-copy/tasks/write-ad-copy-google.md +2 -2
  283. package/squads/squad-copy/tasks/write-ad-copy-social.md +2 -2
  284. package/squads/squad-copy/tasks/write-ad-copy-variations.md +4 -4
  285. package/squads/squad-copy/tasks/write-case-study.md +2 -2
  286. package/squads/squad-copy/tasks/write-comparison-piece.md +2 -2
  287. package/squads/squad-copy/tasks/write-email-sequence.md +1 -1
  288. package/squads/squad-copy/tasks/write-email-subject-lines.md +1 -1
  289. package/squads/squad-copy/tasks/write-funnel-copy-sequence.md +4 -4
  290. package/squads/squad-copy/tasks/write-landing-page-copy.md +2 -2
  291. package/squads/squad-copy/tasks/write-launch-sequence.md +2 -2
  292. package/squads/squad-copy/tasks/write-opt-in-page.md +2 -2
  293. package/squads/squad-copy/tasks/write-product-narrative.md +2 -2
  294. package/squads/squad-copy/tasks/write-retargeting-copy.md +2 -2
  295. package/squads/squad-copy/tasks/write-sales-letter.md +1 -1
  296. package/squads/squad-copy/tasks/write-social-proof-section.md +1 -1
  297. package/squads/squad-copy/tasks/write-subheadlines-and-deck-copy.md +1 -1
  298. package/squads/squad-copy/tasks/write-upsell-copy.md +2 -2
  299. package/squads/squad-copy/tasks/write-vsl-script.md +3 -3
  300. package/squads/squad-copy/tasks/write-whitepaper-persuasive.md +2 -2
  301. package/squads/squad-copy/workflows/campaign-copy-cycle.yaml +4 -4
  302. package/squads/squad-copy/workflows/conversion-copy-sprint.yaml +6 -6
  303. package/squads/squad-copy/workflows/sales-copy-pipeline.yaml +4 -4
  304. package/squads/squad-design/README.md +6 -6
  305. package/squads/squad-design/agents/cro-persuasion.md +3 -3
  306. package/squads/squad-design/agents/design-orqx.md +17 -17
  307. package/squads/squad-design/agents/dx-accessibility-specialist.md +5 -5
  308. package/squads/squad-design/agents/dx-design-system-architect.md +8 -8
  309. package/squads/squad-design/agents/dx-frontend-engineer.md +7 -7
  310. package/squads/squad-design/agents/dx-interaction-designer.md +6 -6
  311. package/squads/squad-design/agents/dx-performance-engineer.md +3 -3
  312. package/squads/squad-design/agents/dx-ui-designer.md +7 -7
  313. package/squads/squad-design/agents/dx-ux-strategist.md +7 -7
  314. package/squads/squad-design/agents/platform-aesthetic-director.md +11 -11
  315. package/squads/squad-design/agents/premium-packaging-strategist.md +2 -2
  316. package/squads/squad-design/agents/product-surface-director.md +1 -1
  317. package/squads/squad-design/squad.yaml +6 -6
  318. package/squads/squad-design/tasks/analyze-javascript-bundles.md +1 -1
  319. package/squads/squad-design/tasks/audit-core-web-vitals.md +1 -1
  320. package/squads/squad-design/tasks/audit-design-system-health.md +1 -1
  321. package/squads/squad-design/tasks/audit-motion-performance.md +1 -1
  322. package/squads/squad-design/tasks/certify-accessibility-compliance.md +2 -2
  323. package/squads/squad-design/tasks/compose-screen-layouts.md +3 -3
  324. package/squads/squad-design/tasks/conduct-competitive-ux-analysis.md +1 -1
  325. package/squads/squad-design/tasks/conduct-dx-quality-gate.md +3 -3
  326. package/squads/squad-design/tasks/conduct-usability-heuristic-review.md +1 -1
  327. package/squads/squad-design/tasks/conduct-visual-qa.md +1 -1
  328. package/squads/squad-design/tasks/conduct-wcag-audit.md +1 -1
  329. package/squads/squad-design/tasks/configure-cdn-strategy.md +1 -1
  330. package/squads/squad-design/tasks/configure-token-export-pipeline.md +1 -1
  331. package/squads/squad-design/tasks/create-a11y-remediation-plan.md +4 -4
  332. package/squads/squad-design/tasks/create-color-system.md +2 -2
  333. package/squads/squad-design/tasks/create-component-governance.md +1 -1
  334. package/squads/squad-design/tasks/create-component-tokens.md +2 -2
  335. package/squads/squad-design/tasks/create-dark-light-themes.md +3 -3
  336. package/squads/squad-design/tasks/create-easing-curve-library.md +1 -1
  337. package/squads/squad-design/tasks/create-empty-error-states.md +1 -1
  338. package/squads/squad-design/tasks/create-error-boundary-patterns.md +1 -1
  339. package/squads/squad-design/tasks/create-illustration-style.md +1 -1
  340. package/squads/squad-design/tasks/create-mobile-first-designs.md +2 -2
  341. package/squads/squad-design/tasks/create-motion-documentation.md +1 -1
  342. package/squads/squad-design/tasks/create-motion-tokens.md +2 -2
  343. package/squads/squad-design/tasks/create-primitive-tokens.md +1 -1
  344. package/squads/squad-design/tasks/create-responsive-grid-system.md +1 -1
  345. package/squads/squad-design/tasks/create-screen-reader-specs.md +1 -1
  346. package/squads/squad-design/tasks/create-scroll-animation-patterns.md +1 -1
  347. package/squads/squad-design/tasks/create-semantic-tokens.md +1 -1
  348. package/squads/squad-design/tasks/create-storybook-documentation-standards.md +1 -1
  349. package/squads/squad-design/tasks/create-user-personas.md +1 -1
  350. package/squads/squad-design/tasks/create-ux-principles.md +1 -1
  351. package/squads/squad-design/tasks/create-wireframe-brief.md +2 -2
  352. package/squads/squad-design/tasks/define-atomic-hierarchy.md +2 -2
  353. package/squads/squad-design/tasks/define-content-hierarchy.md +2 -2
  354. package/squads/squad-design/tasks/define-motion-principles.md +4 -4
  355. package/squads/squad-design/tasks/define-performance-budgets.md +1 -1
  356. package/squads/squad-design/tasks/define-token-taxonomy.md +2 -2
  357. package/squads/squad-design/tasks/design-accessible-form-patterns.md +2 -2
  358. package/squads/squad-design/tasks/design-component-api-contracts.md +3 -3
  359. package/squads/squad-design/tasks/design-component-visual-states.md +4 -4
  360. package/squads/squad-design/tasks/design-dashboard-layouts.md +1 -1
  361. package/squads/squad-design/tasks/design-duration-scale.md +1 -1
  362. package/squads/squad-design/tasks/design-feedback-animations.md +2 -2
  363. package/squads/squad-design/tasks/design-focus-management.md +1 -1
  364. package/squads/squad-design/tasks/design-form-patterns.md +2 -2
  365. package/squads/squad-design/tasks/design-icon-system.md +1 -1
  366. package/squads/squad-design/tasks/design-information-architecture.md +2 -2
  367. package/squads/squad-design/tasks/design-landing-page-ui.md +3 -3
  368. package/squads/squad-design/tasks/design-loading-choreography.md +1 -1
  369. package/squads/squad-design/tasks/design-multi-brand-theming.md +1 -1
  370. package/squads/squad-design/tasks/design-page-transitions.md +1 -1
  371. package/squads/squad-design/tasks/design-spacing-scale.md +3 -3
  372. package/squads/squad-design/tasks/design-typography-scale.md +3 -3
  373. package/squads/squad-design/tasks/design-user-flows.md +2 -2
  374. package/squads/squad-design/tasks/design-visual-hierarchy.md +2 -2
  375. package/squads/squad-design/tasks/eliminate-render-blocking.md +1 -1
  376. package/squads/squad-design/tasks/extract-critical-css.md +1 -1
  377. package/squads/squad-design/tasks/govern-third-party-scripts.md +1 -1
  378. package/squads/squad-design/tasks/implement-authentication-ui.md +1 -1
  379. package/squads/squad-design/tasks/implement-component-library.md +4 -4
  380. package/squads/squad-design/tasks/implement-form-system.md +2 -2
  381. package/squads/squad-design/tasks/implement-reduced-motion.md +3 -3
  382. package/squads/squad-design/tasks/implement-responsive-layouts.md +1 -1
  383. package/squads/squad-design/tasks/implement-routing-strategy.md +1 -1
  384. package/squads/squad-design/tasks/map-dark-mode-tokens.md +3 -3
  385. package/squads/squad-design/tasks/map-user-journeys.md +2 -2
  386. package/squads/squad-design/tasks/migrate-legacy-design-system.md +1 -1
  387. package/squads/squad-design/tasks/monitor-performance-regression.md +1 -1
  388. package/squads/squad-design/tasks/optimize-font-loading.md +1 -1
  389. package/squads/squad-design/tasks/optimize-image-pipeline.md +1 -1
  390. package/squads/squad-design/tasks/orchestrate-dx-pipeline.md +2 -2
  391. package/squads/squad-design/tasks/plan-ux-research-sprint.md +1 -1
  392. package/squads/squad-design/tasks/produce-design-handoff-specs.md +4 -4
  393. package/squads/squad-design/tasks/review-aria-patterns.md +1 -1
  394. package/squads/squad-design/tasks/setup-performance-ci-gates.md +1 -1
  395. package/squads/squad-design/tasks/setup-storybook-integration.md +1 -1
  396. package/squads/squad-design/tasks/spec-gesture-interactions.md +1 -1
  397. package/squads/squad-design/tasks/spec-micro-interactions.md +2 -2
  398. package/squads/squad-design/tasks/synthesize-user-research.md +2 -2
  399. package/squads/squad-design/tasks/test-keyboard-navigation.md +1 -1
  400. package/squads/squad-design/tasks/validate-ux-with-testing.md +1 -1
  401. package/squads/squad-design/tasks/verify-color-contrast.md +2 -2
  402. package/squads/squad-design/templates/a11y-audit-report-template.md +1 -1
  403. package/squads/squad-design/templates/design-handoff-template.md +1 -1
  404. package/squads/squad-design/templates/performance-budget-template.md +1 -1
  405. package/squads/squad-design/templates/ux-research-plan-template.md +1 -1
  406. package/squads/squad-design/workflows/a11y-compliance-cycle.yaml +8 -8
  407. package/squads/squad-design/workflows/design-system-build-cycle.yaml +12 -12
  408. package/squads/squad-design/workflows/landing-page-sprint.yaml +10 -10
  409. package/squads/squad-design/workflows/performance-remediation-cycle.yaml +6 -6
  410. package/squads/squad-design/workflows/ux-research-sprint.yaml +8 -8
  411. package/squads/squad-design/workflows/zero-to-digital-product-cycle.yaml +16 -16
  412. package/squads/squad-finance/README.md +1 -1
  413. package/squads/squad-finance/agents/budget-controller.md +1 -1
  414. package/squads/squad-finance/agents/cost-optimizer.md +2 -2
  415. package/squads/squad-finance/agents/finance-orqx.md +4 -4
  416. package/squads/squad-finance/agents/fiscal-compliance-br.md +4 -4
  417. package/squads/squad-finance/agents/forecast-strategist.md +6 -6
  418. package/squads/squad-finance/agents/pricing-strategist.md +3 -3
  419. package/squads/squad-finance/agents/profitability-analyst.md +1 -1
  420. package/squads/squad-finance/agents/revenue-analyst.md +1 -1
  421. package/squads/squad-finance/checklists/monthly-close-checklist.md +1 -1
  422. package/squads/squad-finance/checklists/quarterly-review-checklist.md +1 -1
  423. package/squads/squad-finance/squad.yaml +2 -2
  424. package/squads/squad-finance/tasks/analyze-price-sensitivity.md +1 -1
  425. package/squads/squad-finance/tasks/benchmark-competitor-pricing.md +1 -1
  426. package/squads/squad-finance/tasks/calculate-rate-card.md +1 -1
  427. package/squads/squad-finance/tasks/coordinate-quarterly-review.md +2 -2
  428. package/squads/squad-finance/tasks/create-proposal-pricing.md +1 -1
  429. package/squads/squad-finance/tasks/design-service-tiers.md +1 -1
  430. package/squads/squad-finance/tasks/design-value-based-pricing.md +1 -1
  431. package/squads/squad-finance/tasks/manage-financial-calendar.md +1 -1
  432. package/squads/squad-finance/tasks/model-pricing-scenario.md +1 -1
  433. package/squads/squad-finance/tasks/optimize-rate-realization.md +1 -1
  434. package/squads/squad-finance/tasks/simulate-pricing-impact.md +1 -1
  435. package/squads/squad-finance/tasks/track-pricing-performance.md +1 -1
  436. package/squads/squad-paidmedia/README.md +4 -4
  437. package/squads/squad-paidmedia/agents/campaign-analyst.md +6 -6
  438. package/squads/squad-paidmedia/agents/creative-strategist.md +2 -2
  439. package/squads/squad-paidmedia/agents/cro-specialist.md +5 -5
  440. package/squads/squad-paidmedia/agents/google-ads-specialist.md +2 -2
  441. package/squads/squad-paidmedia/agents/meta-ads-specialist.md +6 -6
  442. package/squads/squad-paidmedia/agents/paidmedia-orqx.md +6 -6
  443. package/squads/squad-paidmedia/agents/performance-engineer.md +2 -2
  444. package/squads/squad-paidmedia/agents/pm-creative-performance-analyst.md +2 -2
  445. package/squads/squad-paidmedia/knowledge-base/routing-catalog.md +21 -21
  446. package/squads/squad-paidmedia/squad.yaml +4 -4
  447. package/squads/squad-paidmedia/tasks/allocate-cross-channel-budget.md +1 -1
  448. package/squads/squad-paidmedia/tasks/allocate-meta-budget.md +2 -2
  449. package/squads/squad-paidmedia/tasks/analyze-audience-performance.md +1 -1
  450. package/squads/squad-paidmedia/tasks/analyze-content-performance.md +1 -1
  451. package/squads/squad-paidmedia/tasks/analyze-conversion-funnel.md +2 -2
  452. package/squads/squad-paidmedia/tasks/analyze-creative-effectiveness.md +1 -1
  453. package/squads/squad-paidmedia/tasks/analyze-keyword-rankings.md +1 -1
  454. package/squads/squad-paidmedia/tasks/analyze-landing-page.md +1 -1
  455. package/squads/squad-paidmedia/tasks/analyze-local-keywords.md +1 -1
  456. package/squads/squad-paidmedia/tasks/analyze-local-market.md +1 -1
  457. package/squads/squad-paidmedia/tasks/analyze-reviews-strategy.md +1 -1
  458. package/squads/squad-paidmedia/tasks/analyze-top-pages.md +1 -1
  459. package/squads/squad-paidmedia/tasks/analyze-traffic-sources.md +1 -1
  460. package/squads/squad-paidmedia/tasks/analyze-user-behavior.md +1 -1
  461. package/squads/squad-paidmedia/tasks/audit-conversion-tracking.md +1 -1
  462. package/squads/squad-paidmedia/tasks/audit-gmb-location.md +1 -1
  463. package/squads/squad-paidmedia/tasks/audit-meta-ads-account.md +1 -1
  464. package/squads/squad-paidmedia/tasks/audit-sitemap-health.md +1 -1
  465. package/squads/squad-paidmedia/tasks/build-audience-architecture.md +2 -2
  466. package/squads/squad-paidmedia/tasks/build-creative-scorecard.md +1 -1
  467. package/squads/squad-paidmedia/tasks/calculate-sample-size.md +1 -1
  468. package/squads/squad-paidmedia/tasks/check-indexing-status.md +1 -1
  469. package/squads/squad-paidmedia/tasks/create-scaling-roadmap.md +1 -1
  470. package/squads/squad-paidmedia/tasks/design-campaign-structure.md +2 -2
  471. package/squads/squad-paidmedia/tasks/design-progressive-profiling.md +1 -1
  472. package/squads/squad-paidmedia/tasks/detect-creative-fatigue.md +1 -1
  473. package/squads/squad-paidmedia/tasks/execute-launch-checklist.md +1 -1
  474. package/squads/squad-paidmedia/tasks/generate-monthly-report.md +1 -1
  475. package/squads/squad-paidmedia/tasks/generate-search-performance-overview.md +1 -1
  476. package/squads/squad-paidmedia/tasks/generate-weekly-summary.md +1 -1
  477. package/squads/squad-paidmedia/tasks/manage-pixel-capi-health.md +1 -1
  478. package/squads/squad-paidmedia/tasks/manage-scaling-roadmap.md +1 -1
  479. package/squads/squad-paidmedia/tasks/measure-activation-rate.md +1 -1
  480. package/squads/squad-paidmedia/tasks/optimize-ad-set-targeting.md +2 -2
  481. package/squads/squad-paidmedia/tasks/optimize-form-conversion.md +1 -1
  482. package/squads/squad-paidmedia/tasks/optimize-onboarding-activation.md +1 -1
  483. package/squads/squad-paidmedia/tasks/optimize-page-conversion.md +1 -1
  484. package/squads/squad-paidmedia/tasks/optimize-signup-flow.md +1 -1
  485. package/squads/squad-paidmedia/tasks/plan-customer-engagement.md +1 -1
  486. package/squads/squad-paidmedia/tasks/run-ab-test.md +1 -1
  487. package/squads/squad-paidmedia/tasks/run-creative-test.md +1 -1
  488. package/squads/squad-paidmedia/tasks/track-gmb-performance-trends.md +1 -1
  489. package/squads/squad-paidmedia/tasks/triage-campaign-issues.md +1 -1
  490. package/squads/squad-product/README.md +2 -2
  491. package/squads/squad-product/agents/product-orqx.md +4 -4
  492. package/squads/squad-product/agents/ps-delivery-manager.md +2 -2
  493. package/squads/squad-product/agents/ps-product-ops-specialist.md +2 -2
  494. package/squads/squad-product/squad.yaml +2 -2
  495. package/squads/squad-product/tasks/audit-product-tool-stack.md +1 -1
  496. package/squads/squad-product/tasks/build-product-knowledge-base.md +1 -1
  497. package/squads/squad-product/tasks/calculate-sprint-velocity.md +1 -1
  498. package/squads/squad-product/tasks/configure-feature-flag-rollout.md +1 -1
  499. package/squads/squad-product/tasks/create-product-artifact-template.md +1 -1
  500. package/squads/squad-product/tasks/create-product-onboarding-runbook.md +3 -3
  501. package/squads/squad-product/tasks/create-product-playbook.md +2 -2
  502. package/squads/squad-product/tasks/document-product-process.md +1 -1
  503. package/squads/squad-product/tasks/execute-feature-launch-checklist.md +1 -1
  504. package/squads/squad-product/tasks/facilitate-sprint-retrospective.md +1 -1
  505. package/squads/squad-product/tasks/generate-product-health-report.md +2 -2
  506. package/squads/squad-product/tasks/maintain-decision-log-system.md +1 -1
  507. package/squads/squad-product/tasks/manage-sprint-capacity-planning.md +1 -1
  508. package/squads/squad-product/tasks/map-cross-functional-dependencies.md +1 -1
  509. package/squads/squad-product/tasks/prepare-product-handoff-package.md +4 -4
  510. package/squads/squad-product/tasks/run-product-operations-audit.md +1 -1
  511. package/squads/squad-product/tasks/run-shape-up-betting-table.md +1 -1
  512. package/squads/squad-product/tasks/run-sprint-planning-session.md +1 -1
  513. package/squads/squad-product/tasks/scope-agency-mvp.md +1 -1
  514. package/squads/squad-product/tasks/setup-new-client-product-operations.md +1 -1
  515. package/squads/squad-product/tasks/standardize-cross-client-metrics.md +1 -1
  516. package/squads/squad-product/tasks/triage-technical-debt-backlog.md +1 -1
  517. package/squads/squad-product/tasks/write-release-notes.md +1 -1
  518. package/squads/squad-research/README.md +3 -3
  519. package/squads/squad-research/agents/audience-intelligence.md +9 -9
  520. package/squads/squad-research/agents/competitive-intelligence.md +1 -1
  521. package/squads/squad-research/agents/data-synthesizer.md +11 -11
  522. package/squads/squad-research/agents/deep-researcher.md +2 -2
  523. package/squads/squad-research/agents/market-analyst.md +9 -9
  524. package/squads/squad-research/agents/research-orqx.md +4 -4
  525. package/squads/squad-research/agents/trend-forecaster.md +2 -2
  526. package/squads/squad-research/knowledge-base/agentic-second-brain-reference.md +1 -1
  527. package/squads/squad-research/knowledge-base/community-platforms-reference.md +1 -1
  528. package/squads/squad-research/knowledge-base/cross-squad-integration-protocol.md +1 -1
  529. package/squads/squad-research/knowledge-base/multi-agent-research-methodology.md +3 -3
  530. package/squads/squad-research/squad.yaml +3 -3
  531. package/squads/squad-research/tasks/analyze-audience-behavior.md +2 -2
  532. package/squads/squad-research/tasks/analyze-audience-psychographics.md +2 -2
  533. package/squads/squad-research/tasks/analyze-competitor-pricing.md +1 -1
  534. package/squads/squad-research/tasks/analyze-industry-trends.md +2 -2
  535. package/squads/squad-research/tasks/analyze-macro-forces.md +1 -1
  536. package/squads/squad-research/tasks/analyze-pricing-landscape.md +2 -2
  537. package/squads/squad-research/tasks/analyze-social-listening.md +2 -2
  538. package/squads/squad-research/tasks/analyze-value-chain.md +2 -2
  539. package/squads/squad-research/tasks/answer-strategic-question.md +1 -1
  540. package/squads/squad-research/tasks/assess-market-maturity.md +2 -2
  541. package/squads/squad-research/tasks/build-audience-persona.md +2 -2
  542. package/squads/squad-research/tasks/build-data-narrative.md +2 -2
  543. package/squads/squad-research/tasks/compile-competitive-dossier.md +2 -2
  544. package/squads/squad-research/tasks/conduct-deep-research.md +1 -1
  545. package/squads/squad-research/tasks/conduct-jobs-to-be-done.md +2 -2
  546. package/squads/squad-research/tasks/create-empathy-map.md +2 -2
  547. package/squads/squad-research/tasks/create-executive-briefing.md +2 -2
  548. package/squads/squad-research/tasks/create-insight-deck.md +2 -2
  549. package/squads/squad-research/tasks/create-research-dossier.md +1 -1
  550. package/squads/squad-research/tasks/create-research-repository.md +2 -2
  551. package/squads/squad-research/tasks/create-swot-analysis.md +4 -4
  552. package/squads/squad-research/tasks/design-survey.md +2 -2
  553. package/squads/squad-research/tasks/evaluate-market-entry.md +2 -2
  554. package/squads/squad-research/tasks/evaluate-regulatory-landscape.md +2 -2
  555. package/squads/squad-research/tasks/forecast-industry-trends.md +2 -2
  556. package/squads/squad-research/tasks/forecast-market-growth.md +2 -2
  557. package/squads/squad-research/tasks/generate-actionable-recommendations.md +2 -2
  558. package/squads/squad-research/tasks/identify-market-segments.md +3 -3
  559. package/squads/squad-research/tasks/map-audience-ecosystem.md +2 -2
  560. package/squads/squad-research/tasks/map-audience-journey.md +2 -2
  561. package/squads/squad-research/tasks/map-industry-ecosystem.md +2 -2
  562. package/squads/squad-research/tasks/map-market-opportunity.md +2 -2
  563. package/squads/squad-research/tasks/map-pain-gain-matrix.md +2 -2
  564. package/squads/squad-research/tasks/map-strategic-implications.md +2 -2
  565. package/squads/squad-research/tasks/orchestrate-research-pipeline.md +4 -4
  566. package/squads/squad-research/tasks/predict-market-shifts.md +1 -1
  567. package/squads/squad-research/tasks/profile-ideal-customer.md +2 -2
  568. package/squads/squad-research/tasks/run-porter-five-forces.md +1 -1
  569. package/squads/squad-research/tasks/run-scenario-planning.md +1 -1
  570. package/squads/squad-research/tasks/segment-audience.md +2 -2
  571. package/squads/squad-research/tasks/size-market-tam-sam-som.md +2 -2
  572. package/squads/squad-research/tasks/synthesize-multi-source.md +1 -1
  573. package/squads/squad-research/tasks/synthesize-research-report.md +2 -2
  574. package/squads/squad-research/tasks/validate-persona-with-data.md +2 -2
  575. package/squads/squad-research/tasks/visualize-research-data.md +2 -2
  576. package/squads/squad-research/templates/audience-persona-template.md +1 -1
  577. package/squads/squad-research/templates/competitive-dossier-template.md +1 -1
  578. package/squads/squad-research/templates/market-analysis-template.md +1 -1
  579. package/squads/squad-research/workflows/audience-intelligence-cycle.yaml +12 -12
  580. package/squads/squad-research/workflows/competitive-intelligence-cycle.yaml +2 -2
  581. package/squads/squad-research/workflows/deep-research-cycle.yaml +2 -2
  582. package/squads/squad-research/workflows/full-research-sprint.yaml +8 -8
  583. package/squads/squad-research/workflows/market-analysis-cycle.yaml +12 -12
  584. package/squads/squad-research/workflows/trend-forecasting-cycle.yaml +2 -2
  585. package/.sinapse-ai/core/execution/context-injector.js +0 -537
  586. package/.sinapse-ai/core/execution/parallel-executor.js +0 -299
  587. package/.sinapse-ai/core/execution/parallel-monitor.js +0 -430
  588. package/.sinapse-ai/core/execution/semantic-merge-engine.js +0 -1748
  589. package/.sinapse-ai/core/execution/wave-executor.js +0 -401
  590. package/.sinapse-ai/development/tasks/waves.md +0 -205
  591. package/.sinapse-ai/lib/build.json +0 -1
  592. package/.sinapse-ai/workflow-intelligence/engine/wave-analyzer.js +0 -684
package/.claude/CLAUDE.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  ## Constitution
4
4
 
5
- Full doc: `.sinapse-ai/constitution.md`. Gates auto-block violations.
5
+ Full doc: `.sinapse-ai/constitution.md`. Gates block on the autonomous path; interactive delegation is prompt-level (hook list: Art. VIII).
6
6
 
7
7
  | Art. | Principle | Severity |
8
8
  |------|-----------|----------|
@@ -86,7 +86,7 @@ Use Grep (not grep), Read (not cat), Edit (not sed), Glob (not find). Prefer nat
86
86
  ## Context Management
87
87
 
88
88
  - Rules with `paths:` frontmatter only load when working on matching files
89
- - Agent handoff compacts to ~379 tokens on switch
89
+ - Agent handoff passes a compact artifact on switch
90
90
  - Agent memory in `.sinapse-ai/development/agents/{id}/MEMORY.md`
91
91
  - **Memory as hints:** Memory entries are hints, NOT ground truth. Always verify against actual codebase before acting on remembered facts.
92
92
 
@@ -13,21 +13,24 @@
13
13
  *
14
14
  * Fail-open: if the active agent is unknown, allow (Hook Design Principle #1).
15
15
  *
16
- * Active-agent signal (first match wins):
17
- * 1. process.env.SINAPSE_ACTIVE_AGENT explicit signal set by the
18
- * orchestration layer when it activates/spawns an agent. This is the
19
- * reliable channel; the session-state file is a secondary fallback.
20
- * 2. .sinapse/session-state.json { lastAgent } written by the session
21
- * lifecycle when available.
22
- * Neither present → unknown agent → fail-open (allow).
16
+ * Active-agent signal: process.env.SINAPSE_ACTIVE_AGENT, set by the
17
+ * orchestration layer (SubagentDispatcher) in the env of every agent it
18
+ * spawns. This is the ONLY signal this hook reads today — see the note on
19
+ * getActiveAgent() below for why the old session-state.json fallback is gone.
20
+ * No signal present unknown agent fail-open (allow).
23
21
  *
24
- * NOTE (audit 2026-06-11, Article VIII): the AUTONOMOUS path now populates the
25
- * signal the SubagentDispatcher sets SINAPSE_ACTIVE_AGENT in the env of every
26
- * agent it spawns, so this hook enforces correctly when the engine spawns an
27
- * orchestrator. The INTERACTIVE path (a human typing `@some-orqx` in chat) is
28
- * intentionally NOT wired here: enforcing it would block a solo operator's own
29
- * edits, so it stays opt-in (set SINAPSE_ACTIVE_AGENT yourself, or add a
30
- * prompt-parsing writer) rather than changing chat behavior by default.
22
+ * Scope, stated honestly (audit AF-20260702 item 2.5 supersedes and
23
+ * replaces the 2026-06-11 note this used to carry): the AUTONOMOUS path
24
+ * (pipeline/motor `sinapse orchestrate`) is genuinely closed the
25
+ * SubagentDispatcher sets SINAPSE_ACTIVE_AGENT for every agent it spawns, so
26
+ * this hook blocks a spawned orchestrator for real. The INTERACTIVE path (a
27
+ * human typing `@some-orqx` in the same chat session) has no process
28
+ * boundary to attach an env var to, so nothing sets SINAPSE_ACTIVE_AGENT
29
+ * there — delegation in that path is enforced as a prompt instruction
30
+ * (Constitution Art. VIII text + rules injection), not a deterministic gate.
31
+ * Inferring the active agent from the last Task/slash-command in interactive
32
+ * chat is a real option but is new engineering, not a bug fix — tracked as
33
+ * an Onda 3 candidate, intentionally not built as part of this fix.
31
34
  *
32
35
  * Exception: sinapse-orqx is allowed Write/Edit in .sinapse-ai/ paths
33
36
  * (framework governance — operates above the story layer).
@@ -36,7 +39,6 @@
36
39
  */
37
40
 
38
41
  const fs = require('fs');
39
- const path = require('path');
40
42
 
41
43
  // ---------------------------------------------------------------------------
42
44
  // Configuration
@@ -72,29 +74,23 @@ function relativize(filePath, root) {
72
74
  }
73
75
 
74
76
  /**
75
- * Resolve the active agent id. Explicit env signal wins; session-state file is
76
- * the fallback. Returns the agent ID string or null if unknown (fail-open).
77
- * @param {string} root - Project root
77
+ * Resolve the active agent id from the explicit orchestration-layer signal.
78
+ * Returns the agent ID string, or null if unknown (fail-open).
79
+ *
80
+ * History (audit AF-20260702, item 2.5): this used to also fall back to
81
+ * reading `.sinapse/session-state.json` → { lastAgent }. That fallback was
82
+ * removed as verified dead code: its only writer — `onCommandComplete()` in
83
+ * `.sinapse-ai/development/scripts/agent-exit-hooks.js` — is gated behind
84
+ * `registerHook(agentFramework)`, which has zero call sites anywhere in the
85
+ * codebase (grep-verified). A reader with no writer is theater, not a real
86
+ * fallback. If a real writer is ever wired up, add the fallback back
87
+ * alongside it — don't resurrect a reader that nothing feeds.
88
+ *
78
89
  * @returns {string|null}
79
90
  */
80
- function getActiveAgent(root) {
81
- // 1. Explicit, reliable signal from the orchestration layer.
91
+ function getActiveAgent() {
82
92
  const envAgent = (process.env.SINAPSE_ACTIVE_AGENT || '').trim();
83
- if (envAgent) return envAgent;
84
-
85
- // 2. Session-state file fallback. Validate the resolved path stays within the
86
- // project (defense-in-depth against a manipulated root — P2-003).
87
- const sessionStatePath = path.join(root, '.sinapse', 'session-state.json');
88
- const resolvedRoot = path.resolve(root);
89
- if (!path.resolve(sessionStatePath).startsWith(resolvedRoot)) {
90
- return null;
91
- }
92
- try {
93
- const state = JSON.parse(fs.readFileSync(sessionStatePath, 'utf8'));
94
- return state.lastAgent || null;
95
- } catch {
96
- return null; // fail-open
97
- }
93
+ return envAgent || null;
98
94
  }
99
95
 
100
96
  function isOrchestrator(agentId) {
@@ -125,7 +121,7 @@ function main() {
125
121
  }
126
122
 
127
123
  const root = projectRoot();
128
- const agentId = getActiveAgent(root);
124
+ const agentId = getActiveAgent();
129
125
 
130
126
  // If no agent tracked or not an orchestrator, allow
131
127
  if (!agentId || !isOrchestrator(agentId)) {
@@ -7,7 +7,7 @@ paths:
7
7
 
8
8
  ## Purpose
9
9
 
10
- Prevent context window accumulation when switching between SINAPSE agents (`@agent` commands). Each agent switch compacts the previous agent's full persona into a structured handoff artifact (~379 tokens) instead of retaining the full definition (~3-5K tokens).
10
+ Preserve working continuity when switching between SINAPSE agents (`@agent` commands). Each agent switch passes forward a structured handoff artifact — active story, key decisions, files touched, blockers, next action — instead of the previous agent's full persona. (Context-window accounting was retired: with 1M-class windows and native auto-compact, the old token arithmetic no longer applies — see DEC-05.)
11
11
 
12
12
  ## When This Applies
13
13
 
@@ -61,15 +61,10 @@ The incoming agent receives:
61
61
  2. Include the scratchpad path in the handoff artifact `scratchpad_path` field
62
62
  3. Keep each file under 2KB (focused insights, not logs)
63
63
 
64
- ### Compaction Limits
64
+ ### Artifact discipline
65
65
 
66
- | Limit | Value |
67
- |-------|-------|
68
- | Max handoff artifact size | 500 tokens |
69
- | Max retained agent summaries | 3 (oldest discarded on 4th switch) |
70
- | Max decisions in artifact | 5 |
71
- | Max files_modified entries | 10 |
72
- | Max blockers | 3 |
66
+ Keep the artifact SHORT and factual (a screenful): up to 5 decisions, 10 files,
67
+ 3 blockers. It is a signal for the incoming agent, not a log.
73
68
 
74
69
  ### What to Preserve (ALWAYS include)
75
70
 
@@ -91,7 +86,9 @@ The incoming agent receives:
91
86
 
92
87
  ## Storage
93
88
 
94
- Handoff artifacts are stored at `.sinapse/handoffs/` (runtime, gitignored). Format: `handoff-{from}-to-{to}-{timestamp}.yaml`.
89
+ Persisting the artifact to disk is OPTIONAL (`.sinapse/handoffs/`, runtime,
90
+ gitignored) — measured 2026-07-02: zero artifacts ever written; the artifact's value
91
+ is in the conversation, not the file.
95
92
 
96
93
  ## Template Reference
97
94
 
@@ -101,14 +98,6 @@ Full template: `.sinapse-ai/development/templates/agent-handoff-tmpl.yaml`
101
98
 
102
99
  Session flow: `@sm` creates story → `@dev` implements → `@qa` reviews
103
100
 
104
- After `@sm` → `@dev` switch:
105
- - `@sm` full persona (~3K tokens) is **discarded**
106
- - Handoff artifact (~379 tokens) is **retained**: story ID, decisions, files, next action
107
- - `@dev` full persona (~5K tokens) is **loaded**
108
- - **Total context: ~5.4K** instead of ~8K (33% reduction per switch)
109
-
110
- After `@dev` → `@qa` switch:
111
- - `@dev` full persona is **discarded**
112
- - `@dev` handoff artifact is **retained** alongside `@sm` handoff
113
- - `@qa` full persona is **loaded**
114
- - **Total context: ~5.2K** instead of ~12K (57% reduction after 2 switches)
101
+ After `@sm` → `@dev` switch: `@dev` starts from the handoff artifact (story ID,
102
+ decisions, files, next action) — it does not re-derive `@sm`'s reasoning, and it
103
+ does not need `@sm`'s persona.
@@ -62,7 +62,7 @@ The orchestrator MUST still delegate. The correct response pattern is:
62
62
  | Midia paga, ads | @paidmedia-orqx (Apex) |
63
63
  | Produto, roadmap | @product-orqx (Vector) |
64
64
  | Pesquisa, inteligencia | @research-orqx (Prism) |
65
- | Claude Code mastery | @swarm-orqx (Nexus) |
65
+ | Claude Code mastery | @swarm-orqx (Relay) |
66
66
  | Conselho estrategico | @council-orqx (Zenith) |
67
67
  | Storytelling, pitch | @storytelling-orqx (Arc) |
68
68
  | Cybersecurity | @cyber-orqx (Fortress) |
@@ -14,7 +14,9 @@
14
14
  | Manual `/compact` | Troca de agente; pós-leitura de arquivo grande |
15
15
  | Pre-agent-switch | Handoff artifact (~379 tok) via `agent-handoff.md` |
16
16
 
17
- 60%: acima disso perde coerência sobre instruções iniciais ("context amnesia").
17
+ 60%: acima disso perde coerência sobre instruções iniciais ("context amnesia"). Medido/calibrado pra janela **200K**; pra janela **1M** (`models.registry`) o gatilho equivalente está **pendente de medição** — não fixar número novo sem medir primeiro (compactar cedo demais destrói contexto útil).
18
+
19
+ **Nota (onda2-p4):** o trigger executável em código (`context-tracker.js: shouldCompact`) já é dual — dispara no MENOR entre 60% da janela e um teto absoluto de ~165K tokens de histórico vivo (interino, ponto médio da faixa 150-180K do item 2.12). Em janela 200K o resultado é idêntico ao de sempre (120K < 165K, zero regressão); o valor absoluto segue sujeito a recalibração quando a medição da janela 1M citada acima acontecer.
18
20
 
19
21
  ---
20
22
 
@@ -22,7 +24,7 @@
22
24
 
23
25
  **Regra zero:** Execute direto sempre que der. Sub-agente custa ~20K mínimo.
24
26
 
25
- **Opus 4.7:** Effort default `xhigh`. `thinking_budget` fixo NÃO suportado — adaptive.
27
+ **Modelo frontier atual (família Opus/Fable):** Effort default `xhigh`.
26
28
 
27
29
  | Task | Modelo | Effort |
28
30
  |---|---|---|
@@ -38,7 +40,7 @@
38
40
 
39
41
  ---
40
42
 
41
- ## 3. Subagent Threshold (Opus 4.7)
43
+ ## 3. Subagent Threshold (frontier atual)
42
44
 
43
45
  Spawn APENAS se: `>= 8 tool calls` previstos OU fan-out paralelo real. Abaixo → inline.
44
46
 
@@ -55,7 +57,6 @@ Spawn APENAS se: `>= 8 tool calls` previstos OU fan-out paralelo real. Abaixo
55
57
  | Sub-agente pra task <8 tool calls | Inline |
56
58
  | Sequential reads independentes | Paralelo (uma mensagem, N calls) |
57
59
  | Cole payload bruto no raciocínio | Extrai só relevante |
58
- | `thinking_budget` fixo em 4.7 | Adaptive — não suportado |
59
60
  | Preamble ("Claro!", "Vou te ajudar...") | Ação direta |
60
61
  | Trailing summary ("Em resumo...") | Só próximo passo, 1 linha |
61
62
  | Narração de plano | Executa em paralelo |
@@ -121,7 +122,9 @@ Default: tabela ou bullet.
121
122
 
122
123
  ---
123
124
 
124
- ## 8. Budget de Contexto (200K)
125
+ ## 8. Budget de Contexto — por janela
126
+
127
+ ### Janela 200K (medido)
125
128
 
126
129
  | Alocação | Target | % |
127
130
  |---|---:|---:|
@@ -133,6 +136,10 @@ Default: tabela ou bullet.
133
136
 
134
137
  Working memory >80K = sinal pra compactar.
135
138
 
139
+ ### Janela 1M
140
+
141
+ A mesma distribuição percentual escalaria proporcionalmente (ex.: working memory ~≤400K), mas o gatilho de compactação em si para a janela 1M está **pendente de medição** (ver §1) — não tratar os valores escalados como threshold validado antes de medir.
142
+
136
143
  ---
137
144
 
138
145
  ## 9. Memory Anti-Patterns
@@ -212,6 +212,8 @@ Orquestradores (sinapse-orqx e todos os *-orqx) NUNCA executam trabalho de domí
212
212
 
213
213
  **Gate:** Qualquer resposta de orquestrador que contenha trabalho de domínio direto sem delegação é uma violação constitucional.
214
214
 
215
+ > **Enforcement (honesto):** o bloqueio determinístico deste artigo vale hoje no **caminho autônomo** (pipeline/motor `sinapse orchestrate`) — o `SubagentDispatcher` grava `SINAPSE_ACTIVE_AGENT` no ambiente de cada agente que ele spawna, e `enforce-delegation.cjs` bloqueia Write/Edit/Bash de um `*-orqx` fora da exceção de governança. No **chat interativo** (humano digitando `@algum-orqx` na mesma sessão) não existe esse sinal de agente ativo — a delegação é **instrução de prompt** (reforçada por injeção de contexto), não bloqueio de hook; o hook fica fail-open por design (ver comentário em `enforce-delegation.cjs`). O que É bloqueio determinístico em QUALQUER modo, porque não depende de identidade de agente: `enforce-story-gate.cjs`/`doc-first-gate.cjs` (Art. III), `secret-scanning.cjs` (Art. X), `enforce-git-push-authority.sh` (Art. IX), `enforce-framework-boundary.cjs` (quando `frameworkProtection: true`), `verify-packages.cjs`, `sql-governance.py`, `mind-clone-governance.py`.
216
+
215
217
  **Rule file:** `.claude/rules/mandatory-delegation.md`
216
218
 
217
219
  ---
@@ -10,6 +10,12 @@
10
10
  * Drift guard: a test asserts every id in FRAMEWORK_FLOWS has an entry here, so
11
11
  * adding a flow without translating it fails CI.
12
12
  *
13
+ * Sync note (AF-20260702 item 2.10, CONFIRMED): the 'model-routing' entry's
14
+ * tiers/efforts must stay consistent with `.claude/rules/token-economy.md` §2
15
+ * and flows.js/render-markdown.js — verified in sync as of that audit, hand-kept
16
+ * (no automated cross-check). Recommendation (deferred, Article XI sign-off):
17
+ * single `.sinapse-ai/data/*.yaml` source for all 3 renderers.
18
+ *
13
19
  * @module core/atlas/flows-pt
14
20
  */
15
21
 
@@ -11,6 +11,13 @@
11
11
  * is easy to extend. Mermaid is hand-written and kept simple (plain node labels,
12
12
  * no reserved chars) so it renders everywhere.
13
13
  *
14
+ * Sync note (AF-20260702 item 2.10, CONFIRMED): the 'model-routing' flow's
15
+ * tiers/efforts must stay consistent with `.claude/rules/token-economy.md` §2
16
+ * and render-markdown.js's modelRouting() table — verified in sync as of that
17
+ * audit, but hand-kept (no automated cross-check). Recommendation (deferred,
18
+ * Article XI sign-off): single `.sinapse-ai/data/*.yaml` source for all 3
19
+ * renderers (this file, flows-pt.js, render-markdown.js).
20
+ *
14
21
  * @module core/atlas/flows
15
22
  */
16
23
 
@@ -162,17 +162,19 @@ renderDiagrams('s-model'); // initial visible tab
162
162
 
163
163
  function tbl(cols,rows){return '<table><thead><tr>'+cols.map(c=>'<th>'+c+'</th>').join('')+'</tr></thead><tbody>'+
164
164
  rows.map(r=>'<tr>'+r.map(c=>'<td>'+c+'</td>').join('')+'</tr>').join('')+'</tbody></table>';}
165
- const code=s=>'<code>'+(s||'')+'</code>';
166
- const sev=s=>'<span class="tag'+(/NON-NEGOTIABLE/.test(s)?' nn':'')+'">'+s+'</span>';
165
+ // Data cells come from atlas-data.json (framework registry, mutable via PR) — escape before innerHTML.
166
+ const esc=s=>String(s).replace(/[&<>"']/g,c=>({'&':'&amp;','<':'&lt;','>':'&gt;','"':'&quot;',"'":'&#39;'}[c]));
167
+ const code=s=>'<code>'+esc(s||'')+'</code>';
168
+ const sev=s=>'<span class="tag'+(/NON-NEGOTIABLE/.test(s)?' nn':'')+'">'+esc(s)+'</span>';
167
169
 
168
170
  document.getElementById('t-constitution').innerHTML=tbl(['Art.','Principle','Severity'],
169
- D.articles.map(a=>[a.number,a.title,sev(a.severity)]));
171
+ D.articles.map(a=>[esc(a.number),esc(a.title),sev(a.severity)]));
170
172
 
171
173
  document.getElementById('t-squads').innerHTML=tbl(['Squad','Name','Agents','Workflows','Orchestrators'],
172
- D.squads.map(s=>[code(s.id),s.name,s.agents,s.workflows,(s.orqx||[]).map(code).join(' ')||'—']));
174
+ D.squads.map(s=>[code(s.id),esc(s.name),esc(s.agents),esc(s.workflows),(s.orqx||[]).map(code).join(' ')||'—']));
173
175
 
174
176
  document.getElementById('t-rules').innerHTML=tbl(['Rule','Governs'],
175
- D.rules.map(r=>[code(r.id),r.title]));
177
+ D.rules.map(r=>[code(r.id),esc(r.title)]));
176
178
 
177
179
  // Workflows (search + source filter)
178
180
  function renderWorkflows(){
@@ -185,14 +187,14 @@ function renderWorkflows(){
185
187
  });
186
188
  document.getElementById('c-workflows').textContent=rows.length+' of '+D.workflows.length;
187
189
  document.getElementById('t-workflows').innerHTML=tbl(['Workflow','Source','Type','Description'],
188
- rows.map(w=>[code(w.id),w.squad?code(w.squad):'<span class="tag">framework</span>',w.type||'—',w.description||'—']));
190
+ rows.map(w=>[code(w.id),w.squad?code(w.squad):'<span class="tag">framework</span>',esc(w.type||'—'),esc(w.description||'—')]));
189
191
  }
190
192
  ['q-workflows','f-workflows-src'].forEach(id=>document.getElementById(id).addEventListener('input',renderWorkflows));
191
193
 
192
194
  // Agents (search + squad filter + orqx toggle)
193
195
  const squads=[...new Set(D.agents.map(a=>a.squad))].sort();
194
196
  const sel=document.getElementById('f-agents-squad');
195
- sel.innerHTML='<option value="">all squads</option>'+squads.map(s=>'<option>'+s+'</option>').join('');
197
+ sel.innerHTML='<option value="">all squads</option>'+squads.map(s=>'<option>'+esc(s)+'</option>').join('');
196
198
  function renderAgents(){
197
199
  const q=(document.getElementById('q-agents').value||'').toLowerCase();
198
200
  const sq=sel.value; const onlyOrqx=document.getElementById('f-agents-orqx').checked;
@@ -202,7 +204,7 @@ function renderAgents(){
202
204
  });
203
205
  document.getElementById('c-agents').textContent=rows.length+' of '+D.agents.length;
204
206
  document.getElementById('t-agents').innerHTML=tbl(['Agent','Persona','Squad','Role',''],
205
- rows.map(a=>[code(a.id),a.persona||'—',code(a.squad),a.role||a.title||'—',a.isOrqx?'<span class="tag nn">orqx</span>':'']));
207
+ rows.map(a=>[code(a.id),esc(a.persona||'—'),code(a.squad),esc(a.role||a.title||'—'),a.isOrqx?'<span class="tag nn">orqx</span>':'']));
206
208
  }
207
209
  ['q-agents','f-agents-orqx'].forEach(id=>document.getElementById(id).addEventListener('input',renderAgents));
208
210
  sel.addEventListener('change',renderAgents);
@@ -73,6 +73,14 @@ This atlas is itself generated by \`sinapse atlas\`; its counts are read from di
73
73
  so they are always exact.`;
74
74
  }
75
75
 
76
+ // Sync note (AF-20260702 item 2.10, CONFIRMED): this table is hand-kept in
77
+ // sync with `.claude/rules/token-economy.md` §2 — verified consistent (no
78
+ // version pin drift) at the time of that audit. It is duplicated 3x (here,
79
+ // flows.js, flows-pt.js) plus the generated OPERATING-ATLAS.md, and no
80
+ // automated check compares them against the rule, so future drift would pass
81
+ // unnoticed. Recommendation (deferred — L1 change requires Article XI
82
+ // architecture sign-off): extract tiers/efforts into a single
83
+ // `.sinapse-ai/data/*.yaml` consumed by all 3 renderers.
76
84
  function modelRouting() {
77
85
  return `## 4. Model routing (cheapest model that solves it)
78
86
 
@@ -35,11 +35,18 @@ const KEY_ARTICLES = [
35
35
 
36
36
  /**
37
37
  * Files that should reference Constitution articles
38
+ *
39
+ * Includes the install template (AF-20260702 item 1.7): the generated
40
+ * .claude/CLAUDE.md is a MERGE of this template into the user's file, so a
41
+ * stale/incomplete article table here regresses every fresh install even
42
+ * when the repo's own .claude/CLAUDE.md is correct. Without this entry the
43
+ * check was blind to drift in the template itself.
38
44
  */
39
45
  const CONSUMER_FILES = [
40
46
  '.claude/CLAUDE.md',
41
47
  'AGENTS.md',
42
48
  '.synapse/constitution',
49
+ '.sinapse-ai/product/templates/ide-rules/claude-rules.md',
43
50
  ];
44
51
 
45
52
  /**
@@ -535,8 +535,11 @@ class AutonomousBuildLoop extends EventEmitter {
535
535
  });
536
536
  }
537
537
 
538
- // Default: simulate execution (for testing)
539
- this.log(`Executing subtask ${subtask.id} (iteration ${iteration})`, 'info');
538
+ // Honesty invariant (epic: orchestration-consolidation, audit AF-20260702
539
+ // item 1.12) no executor wired means no real work happened. Do NOT
540
+ // fabricate success; report a stub so callers never mistake "nothing ran"
541
+ // for real work (mirrors the same fix already applied to agent-invoker.js).
542
+ this.log(`No executor wired for subtask ${subtask.id} (iteration ${iteration}) — returning stub`, 'warn');
540
543
 
541
544
  // Check for verification command
542
545
  if (subtask.verification && this.config.verificationEnabled) {
@@ -550,8 +553,11 @@ class AutonomousBuildLoop extends EventEmitter {
550
553
  }
551
554
 
552
555
  return {
553
- success: true,
554
- filesModified: subtask.files || [],
556
+ success: false,
557
+ status: 'stub',
558
+ stub: true,
559
+ error: 'No executor wired into AutonomousBuildLoop — subtask not actually executed.',
560
+ filesModified: [],
555
561
  };
556
562
  }
557
563
 
@@ -77,6 +77,10 @@ const DEFAULT_CONFIG = {
77
77
  runQA: true,
78
78
  autoMerge: true,
79
79
  cleanupOnSuccess: true,
80
+ // Story onda2-p3: stop right after the REAL plan is generated (no build loop,
81
+ // no QA, no merge). Powers `sinapse plan` — the hybrid's measured value
82
+ // (spec + plan for ONE story) as its own product surface.
83
+ planOnly: false,
80
84
 
81
85
  // Execution
82
86
  maxIterations: 10,
@@ -183,14 +187,48 @@ class BuildOrchestrator extends EventEmitter {
183
187
  // Phase 1: Initialize
184
188
  await this.runPhase(ctx, Phase.INIT, () => this.phaseInit(ctx));
185
189
 
186
- // Phase 2: Create worktree (optional)
187
- if (config.useWorktree && WorktreeManager) {
190
+ // Phase 2: Create worktree (optional — never for plan-only runs, which
191
+ // read the story and write the plan but touch no code)
192
+ if (config.useWorktree && !config.planOnly && WorktreeManager) {
188
193
  await this.runPhase(ctx, Phase.WORKTREE, () => this.phaseWorktree(ctx));
189
194
  }
190
195
 
191
196
  // Phase 3: Load/Generate plan
192
197
  await this.runPhase(ctx, Phase.PLAN, () => this.phasePlan(ctx));
193
198
 
199
+ // Story onda2-p3 — plan-only phase limit (`sinapse plan`): stop right
200
+ // after the REAL plan. No build loop, no QA, no merge. The plan is
201
+ // persisted STORY-SCOPED (docs/stories/<id>/plan/implementation.yaml) —
202
+ // deliberately not the shared <root>/plan/ path, which is the measured
203
+ // cross-story contamination vector (see KNOWN-LIMITATIONS.md).
204
+ if (config.planOnly) {
205
+ const planPath = this.persistPlan(ctx);
206
+ await this.runPhase(ctx, Phase.REPORT, () => this.phaseReport(ctx));
207
+
208
+ const duration = Date.now() - startTime;
209
+ this.emit(OrchestratorEvent.BUILD_COMPLETED, {
210
+ storyId,
211
+ duration,
212
+ success: true,
213
+ report: ctx.reportPath,
214
+ planOnly: true,
215
+ });
216
+
217
+ return {
218
+ success: true,
219
+ planOnly: true,
220
+ storyId,
221
+ duration,
222
+ phases: ctx.phases,
223
+ reportPath: ctx.reportPath,
224
+ plan: ctx.plan,
225
+ planPath,
226
+ // Honest by construction: a plan-only run writes no implementation
227
+ // files — downstream gates must never read this as a real build.
228
+ filesModified: [],
229
+ };
230
+ }
231
+
194
232
  // Phase 4: Execute (the actual build) - THIS IS THE KEY PART
195
233
  await this.runPhase(ctx, Phase.EXECUTE, () => this.phaseExecute(ctx));
196
234
 
@@ -419,6 +457,39 @@ class BuildOrchestrator extends EventEmitter {
419
457
  return { source: 'generated', subtasks: ctx.plan.phases?.length || 0 };
420
458
  }
421
459
 
460
+ /**
461
+ * Persist the generated plan as YAML, STORY-SCOPED
462
+ * (docs/stories/<storyId>/plan/implementation.yaml).
463
+ *
464
+ * Story onda2-p3: this is the durable artifact `sinapse plan` delivers. The
465
+ * story-scoped location is the canonical path Epic 4 already searches first
466
+ * (`_findOrCreatePlan`) — and deliberately NOT the shared `<root>/plan/`
467
+ * directory, whose non-scoped state is the measured cross-story contamination
468
+ * vector (KNOWN-LIMITATIONS.md, bug 1).
469
+ *
470
+ * @param {Object} ctx - Build context ({ storyId, config, plan })
471
+ * @returns {string} Absolute path of the persisted plan
472
+ */
473
+ persistPlan(ctx) {
474
+ const yaml = require('js-yaml');
475
+ const planPath = path.join(
476
+ this.rootPath,
477
+ ctx.config.storiesDir || DEFAULT_CONFIG.storiesDir,
478
+ ctx.storyId,
479
+ 'plan',
480
+ 'implementation.yaml',
481
+ );
482
+ fs.mkdirSync(path.dirname(planPath), { recursive: true });
483
+ const header = `# Implementation Plan: ${ctx.storyId}\n# Generated: ${new Date().toISOString()}\n\n`;
484
+ fs.writeFileSync(
485
+ planPath,
486
+ header + yaml.dump(ctx.plan || {}, { lineWidth: -1, noRefs: true }),
487
+ 'utf-8',
488
+ );
489
+ ctx.planPath = planPath;
490
+ return planPath;
491
+ }
492
+
422
493
  /**
423
494
  * Phase 4: Execute - THE MAIN BUILD LOOP
424
495
  */
@@ -2,6 +2,8 @@
2
2
  * Rate Limit Manager
3
3
  * Story 11.3 - Enhanced Capabilities
4
4
  *
5
+ * @abandoned-path — ver docs/epics/epic-ultra-optimization/decisions/DEC-03 (2026-07-02)
6
+ *
5
7
  * Handles API rate limits gracefully with exponential backoff,
6
8
  * preemptive throttling, and comprehensive metrics.
7
9
  */
@@ -2,6 +2,8 @@
2
2
  * Result Aggregator
3
3
  * Story 10.5 - Parallel Agent Execution
4
4
  *
5
+ * @abandoned-path — ver docs/epics/epic-ultra-optimization/decisions/DEC-03 (2026-07-02)
6
+ *
5
7
  * Aggregates results from parallel task executions,
6
8
  * detects conflicts, and generates consolidated reports.
7
9
  */
@@ -34,11 +34,18 @@ const EXPECTED_ARTICLES = [
34
34
 
35
35
  /**
36
36
  * Files that MUST reference the Constitution articles
37
+ *
38
+ * Includes the install template (AF-20260702 item 1.7): the generated
39
+ * .claude/CLAUDE.md is a MERGE of this template into the user's file, so a
40
+ * stale/incomplete article table here regresses every fresh install even
41
+ * when the repo's own .claude/CLAUDE.md is correct. Without this entry the
42
+ * check was blind to drift in the template itself.
37
43
  */
38
44
  const CONSTITUTION_CONSUMERS = [
39
45
  { path: '.claude/CLAUDE.md', label: 'Project CLAUDE.md' },
40
46
  { path: 'AGENTS.md', label: 'AGENTS.md' },
41
47
  { path: '.synapse/constitution', label: 'Generated Constitution Domain' },
48
+ { path: '.sinapse-ai/product/templates/ide-rules/claude-rules.md', label: 'Install Template (claude-rules.md)' },
42
49
  ];
43
50
 
44
51
  /**
@@ -141,7 +148,11 @@ class ConstitutionConsistencyCheck extends BaseCheck {
141
148
  }
142
149
 
143
150
  if (issues.length <= 2) {
144
- return this.warn(`${issues.length} minor consistency issue(s) found`, {
151
+ // BaseCheck exposes warning(), not warn() this call previously threw
152
+ // "this.warn is not a function" any time exactly 1-2 issues were found
153
+ // (uncaught until AF-20260702 item 1.7 added a test that exercises
154
+ // this branch).
155
+ return this.warning(`${issues.length} minor consistency issue(s) found`, {
145
156
  details,
146
157
  recommendation: issues.join('; '),
147
158
  });