@geraldmaron/construct 1.4.2 → 1.5.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 (519) hide show
  1. package/.env.example +36 -0
  2. package/README.md +41 -7
  3. package/bin/construct +1027 -64
  4. package/examples/distribution/sources/deck-one-pager.md +1 -1
  5. package/lib/acp/server.mjs +21 -7
  6. package/lib/adapters-sync.mjs +2 -1
  7. package/lib/audit-trail.mjs +185 -2
  8. package/lib/beads/auto-close.mjs +2 -1
  9. package/lib/beads/drift.mjs +2 -1
  10. package/lib/bridges/copilot-proxy.mjs +20 -5
  11. package/lib/certification/skill-inventory.mjs +10 -1
  12. package/lib/cli/approvals.mjs +147 -0
  13. package/lib/cli-commands.mjs +105 -14
  14. package/lib/comment-lint.mjs +127 -8
  15. package/lib/config/schema.mjs +6 -29
  16. package/lib/config/source-target-registry.mjs +70 -0
  17. package/lib/config/source-targets.mjs +179 -205
  18. package/lib/contracts/coverage.mjs +77 -0
  19. package/lib/contracts/validate.mjs +102 -13
  20. package/lib/contracts/violation-log.mjs +50 -4
  21. package/lib/db/migrate.mjs +69 -0
  22. package/lib/db/migrations/001_orchestration_runs.sql +9 -0
  23. package/lib/db/migrations/002_queue_provider.sql +50 -0
  24. package/lib/db/migrations/003_worker_registry.sql +17 -0
  25. package/lib/db/migrations/004_trace_events.sql +16 -0
  26. package/lib/db/migrations/005_shared_memory.sql +15 -0
  27. package/lib/db/migrations/006_orchestration_runs_tenant.sql +5 -0
  28. package/lib/decisions/enforced-baseline.json +0 -2
  29. package/lib/decisions/registry.mjs +3 -2
  30. package/lib/deployment/parity-contract.mjs +1 -1
  31. package/lib/deployment-mode.mjs +78 -2
  32. package/lib/diagram-export.mjs +10 -1
  33. package/lib/distill.mjs +5 -2
  34. package/lib/docs-verify.mjs +2 -1
  35. package/lib/doctor/cli.mjs +1 -0
  36. package/lib/doctor/command-on-path.mjs +24 -0
  37. package/lib/doctor/diagnosis.mjs +89 -0
  38. package/lib/doctor/embedding-health.mjs +50 -0
  39. package/lib/doctor/engine-health.mjs +93 -0
  40. package/lib/doctor/graph-validate.mjs +47 -0
  41. package/lib/doctor/index.mjs +18 -4
  42. package/lib/doctor/sidecar-providers.mjs +56 -0
  43. package/lib/doctor/watchers/consistency.mjs +93 -1
  44. package/lib/doctor/watchers/cx-budget.mjs +1 -1
  45. package/lib/doctor/watchers/graph-staleness.mjs +1 -1
  46. package/lib/doctor/watchers/mcp-protocol.mjs +17 -0
  47. package/lib/doctor/watchers/oracle-liveness.mjs +92 -0
  48. package/lib/doctor/watchers/orchestration-runs.mjs +108 -0
  49. package/lib/doctor/watchers/provider-breaker.mjs +78 -0
  50. package/lib/document-export.mjs +52 -27
  51. package/lib/document-extract/docling-client.mjs +9 -5
  52. package/lib/document-extract/docling-sidecar.py +30 -0
  53. package/lib/document-extract.mjs +1 -1
  54. package/lib/document-ingest.mjs +9 -0
  55. package/lib/embed/approval-queue.mjs +184 -88
  56. package/lib/embed/authority-guard.mjs +65 -2
  57. package/lib/embed/capability-jobs.mjs +365 -0
  58. package/lib/embed/capability-lifecycle.mjs +219 -0
  59. package/lib/embed/capability-loader.mjs +303 -0
  60. package/lib/embed/capability-runtime.mjs +58 -0
  61. package/lib/embed/cli.mjs +185 -8
  62. package/lib/embed/config.mjs +4 -0
  63. package/lib/embed/daemon.mjs +125 -6
  64. package/lib/embed/demand-fetch.mjs +190 -54
  65. package/lib/embed/inbox.mjs +12 -10
  66. package/lib/embed/presets/ops-triage.mjs +236 -0
  67. package/lib/embed/presets/pm-feedback.mjs +341 -0
  68. package/lib/embed/presets/tpm.mjs +401 -0
  69. package/lib/embed/providers/jira.mjs +72 -1
  70. package/lib/embed/providers/registry.mjs +140 -33
  71. package/lib/embedded-contract/capability.mjs +4 -0
  72. package/lib/embedded-contract/execution.mjs +1 -1
  73. package/lib/embedded-contract/model-resolve.mjs +53 -3
  74. package/lib/embedded-contract/workflow-defs.mjs +48 -73
  75. package/lib/embedded-contract/workflow-invoke.mjs +144 -4
  76. package/lib/embedded-contract/workflows/architecture-review.manifest.json +15 -0
  77. package/lib/embedded-contract/workflows/data-structure.manifest.json +14 -0
  78. package/lib/embedded-contract/workflows/evidence-ingest.manifest.json +14 -0
  79. package/lib/embedded-contract/workflows/memo-draft.manifest.json +14 -0
  80. package/lib/embedded-contract/workflows/operations-triage.manifest.json +18 -0
  81. package/lib/embedded-contract/workflows/operations.manifest.json +18 -0
  82. package/lib/embedded-contract/workflows/pm-feedback.manifest.json +18 -0
  83. package/lib/embedded-contract/workflows/prd-draft.manifest.json +15 -0
  84. package/lib/embedded-contract/workflows/proposal-review.manifest.json +15 -0
  85. package/lib/embedded-contract/workflows/research-synthesis.manifest.json +14 -0
  86. package/lib/embedded-contract/workflows/risk-review.manifest.json +15 -0
  87. package/lib/embedded-contract/workflows/structure-notes.manifest.json +14 -0
  88. package/lib/embedded-contract/workflows/transcript-process.manifest.json +14 -0
  89. package/lib/embedded-contract/workflows/triage.manifest.json +14 -0
  90. package/lib/env-config.mjs +50 -9
  91. package/lib/extensions/index.mjs +27 -0
  92. package/lib/extensions/loader.mjs +120 -0
  93. package/lib/extensions/manifest-schema.mjs +141 -0
  94. package/lib/extensions/manifests/anthropic.manifest.json +12 -0
  95. package/lib/extensions/manifests/atlassian-confluence.manifest.json +12 -0
  96. package/lib/extensions/manifests/atlassian-jira.manifest.json +53 -0
  97. package/lib/extensions/manifests/directory.manifest.json +12 -0
  98. package/lib/extensions/manifests/docling.manifest.json +37 -0
  99. package/lib/extensions/manifests/echo.manifest.json +8 -0
  100. package/lib/extensions/manifests/feedback.manifest.json +12 -0
  101. package/lib/extensions/manifests/github-copilot.manifest.json +12 -0
  102. package/lib/extensions/manifests/github.manifest.json +52 -0
  103. package/lib/extensions/manifests/linear.manifest.json +50 -0
  104. package/lib/extensions/manifests/local.manifest.json +12 -0
  105. package/lib/extensions/manifests/ollama.manifest.json +12 -0
  106. package/lib/extensions/manifests/openai.manifest.json +12 -0
  107. package/lib/extensions/manifests/openrouter-anthropic.manifest.json +12 -0
  108. package/lib/extensions/manifests/openrouter-deepseek.manifest.json +12 -0
  109. package/lib/extensions/manifests/openrouter-google.manifest.json +12 -0
  110. package/lib/extensions/manifests/openrouter-llama.manifest.json +12 -0
  111. package/lib/extensions/manifests/openrouter-qwen.manifest.json +12 -0
  112. package/lib/extensions/manifests/openrouter.manifest.json +12 -0
  113. package/lib/extensions/manifests/postgres.manifest.json +12 -0
  114. package/lib/extensions/manifests/salesforce.manifest.json +12 -0
  115. package/lib/extensions/manifests/slack.manifest.json +58 -0
  116. package/lib/extensions/manifests/whisper.manifest.json +36 -0
  117. package/lib/extensions/validate.mjs +175 -0
  118. package/lib/features.mjs +13 -9
  119. package/lib/flows/checkpoint.mjs +184 -0
  120. package/lib/flows/constants.mjs +27 -0
  121. package/lib/flows/define.mjs +146 -0
  122. package/lib/flows/engine.mjs +249 -0
  123. package/lib/flows/errors.mjs +19 -0
  124. package/lib/flows/index.mjs +27 -0
  125. package/lib/flows/joins.mjs +18 -0
  126. package/lib/flows/schema.mjs +90 -0
  127. package/lib/flows/state.mjs +31 -0
  128. package/lib/frameworks/loader.mjs +99 -0
  129. package/lib/frameworks/schema.mjs +157 -0
  130. package/lib/graph/build-from-corpus.mjs +67 -0
  131. package/lib/graph/build-from-embed.mjs +82 -0
  132. package/lib/graph/build-from-registry.mjs +164 -3
  133. package/lib/graph/cli.mjs +456 -12
  134. package/lib/graph/gap-queries.mjs +156 -0
  135. package/lib/graph/gaps.mjs +41 -0
  136. package/lib/graph/impacted.mjs +129 -0
  137. package/lib/graph/runtime-evidence.mjs +177 -0
  138. package/lib/graph/security-coverage.mjs +113 -0
  139. package/lib/graph/staleness.mjs +241 -10
  140. package/lib/graph/store.mjs +24 -7
  141. package/lib/graph/validate.mjs +161 -0
  142. package/lib/headhunt.mjs +9 -8
  143. package/lib/health-check.mjs +15 -7
  144. package/lib/hook-health.mjs +1 -1
  145. package/lib/hooks/agent-tracker.mjs +10 -4
  146. package/lib/hooks/edit-guard.mjs +3 -3
  147. package/lib/hooks/graph-impact-advisory.mjs +2 -2
  148. package/lib/hooks/guard-bash.mjs +41 -15
  149. package/lib/hooks/mcp-health-check.mjs +11 -4
  150. package/lib/hooks/model-fallback.mjs +50 -6
  151. package/lib/hooks/orchestration-dispatch-guard.mjs +14 -3
  152. package/lib/hooks/pre-compact.mjs +181 -173
  153. package/lib/hooks/rule-verifier.mjs +2 -1
  154. package/lib/hooks/session-reflect.mjs +2 -1
  155. package/lib/hooks/session-start.mjs +3 -3
  156. package/lib/host-capabilities.mjs +13 -2
  157. package/lib/host-disposition.mjs +19 -7
  158. package/lib/identity.mjs +92 -0
  159. package/lib/ingest/degraded-extract.mjs +96 -0
  160. package/lib/ingest/docling-remote.mjs +2 -1
  161. package/lib/ingest/provider-extract.mjs +7 -19
  162. package/lib/ingest/sidecar-providers.mjs +196 -0
  163. package/lib/ingest-tooling.mjs +11 -5
  164. package/lib/init-unified.mjs +57 -45
  165. package/lib/init-update.mjs +2 -1
  166. package/lib/install/legacy-global-cleanup.mjs +25 -0
  167. package/lib/intake/daemon.mjs +99 -8
  168. package/lib/intake/git-queue.mjs +110 -38
  169. package/lib/intake/queue-registry.mjs +50 -0
  170. package/lib/intake/queue.mjs +133 -17
  171. package/lib/intake/session-prelude.mjs +57 -8
  172. package/lib/integrations/intake-integrations.mjs +61 -111
  173. package/lib/intent-classifier.mjs +43 -5
  174. package/lib/libreoffice-export.mjs +8 -8
  175. package/lib/logging/rotate.mjs +5 -4
  176. package/lib/mcp/broker.mjs +332 -17
  177. package/lib/mcp/denied-store.mjs +95 -0
  178. package/lib/mcp/destructive-gate.mjs +30 -0
  179. package/lib/mcp/dispatch-envelope.mjs +199 -0
  180. package/lib/mcp/memory-bridge.mjs +2 -1
  181. package/lib/mcp/server.mjs +154 -1411
  182. package/lib/mcp/tool-definitions-memory.mjs +376 -0
  183. package/lib/mcp/tool-definitions-project.mjs +271 -0
  184. package/lib/mcp/tool-definitions-skills.mjs +311 -0
  185. package/lib/mcp/tool-definitions-workflow.mjs +398 -0
  186. package/lib/mcp/tool-definitions.mjs +25 -0
  187. package/lib/mcp/tool-registry.mjs +107 -0
  188. package/lib/mcp/tool-safety.mjs +1 -0
  189. package/lib/mcp/tools/orchestration-delegation-next.tool.mjs +68 -0
  190. package/lib/mcp/tools/orchestration-run.mjs +165 -25
  191. package/lib/mcp/tools/orchestration-task-result.tool.mjs +77 -0
  192. package/lib/mcp/tools/provider-write.mjs +187 -0
  193. package/lib/mcp/tools/scope.mjs +0 -3
  194. package/lib/mcp/tools/skills.mjs +1 -1
  195. package/lib/mcp/tools/storage.mjs +0 -8
  196. package/lib/mcp/transport/auth.mjs +238 -0
  197. package/lib/mcp/transport/http.mjs +136 -0
  198. package/lib/mcp/transport/mode.mjs +31 -0
  199. package/lib/mcp/transport/stdio.mjs +22 -0
  200. package/lib/mcp-catalog.json +4 -4
  201. package/lib/mcp-manager.mjs +34 -23
  202. package/lib/mcp-platform-config.mjs +31 -7
  203. package/lib/mode-capabilities.mjs +109 -0
  204. package/lib/model-router.mjs +42 -9
  205. package/lib/models/catalog.mjs +40 -1
  206. package/lib/net-guard.mjs +247 -0
  207. package/lib/observation-store.mjs +6 -2
  208. package/lib/ollama/provision-context.mjs +2 -1
  209. package/lib/opencode-config.mjs +22 -3
  210. package/lib/opencode-runtime-plugin.mjs +120 -2
  211. package/lib/oracle/actions.mjs +204 -10
  212. package/lib/oracle/cli.mjs +24 -3
  213. package/lib/oracle/dispatch.mjs +2 -1
  214. package/lib/oracle/execute.mjs +2 -2
  215. package/lib/oracle/gaps.mjs +3 -3
  216. package/lib/oracle/heartbeat.mjs +53 -0
  217. package/lib/oracle/read-model.mjs +69 -13
  218. package/lib/oracle/reconcile.mjs +3 -46
  219. package/lib/oracle/routing.mjs +37 -31
  220. package/lib/oracle/synthesize.mjs +1 -1
  221. package/lib/orchestration/classification.mjs +434 -0
  222. package/lib/orchestration/delegation-flow.mjs +132 -0
  223. package/lib/orchestration/flow-selection.mjs +418 -0
  224. package/lib/orchestration/gates.mjs +244 -0
  225. package/lib/orchestration/host-sampling.mjs +121 -0
  226. package/lib/orchestration/policy-constants.mjs +48 -0
  227. package/lib/orchestration/provider-outcome.mjs +197 -0
  228. package/lib/orchestration/readiness.mjs +114 -13
  229. package/lib/orchestration/run-store-postgres.mjs +32 -26
  230. package/lib/orchestration/run-store-sqlite.mjs +8 -14
  231. package/lib/orchestration/run-store.mjs +25 -12
  232. package/lib/orchestration/runtime.mjs +446 -39
  233. package/lib/orchestration/store.mjs +87 -12
  234. package/lib/orchestration/trace-store.mjs +125 -0
  235. package/lib/orchestration/web-capability.mjs +3 -2
  236. package/lib/orchestration/worker-runtime.mjs +162 -0
  237. package/lib/orchestration/worker.mjs +528 -89
  238. package/lib/orchestration-policy.mjs +67 -1111
  239. package/lib/packs/cli.mjs +144 -0
  240. package/lib/packs/core-pack.mjs +112 -0
  241. package/lib/packs/enablement.mjs +187 -0
  242. package/lib/packs/index.mjs +23 -0
  243. package/lib/packs/loader.mjs +176 -0
  244. package/lib/packs/manifest-schema.mjs +58 -0
  245. package/lib/packs/prompts.mjs +120 -0
  246. package/lib/packs/validate.mjs +208 -0
  247. package/lib/plugin-registry.mjs +4 -5
  248. package/lib/policy/audit-gate.mjs +42 -0
  249. package/lib/policy/consumption-budget.mjs +149 -0
  250. package/lib/policy/engine.mjs +81 -6
  251. package/lib/policy/role-authority.mjs +89 -0
  252. package/lib/prompt-composer.js +19 -3
  253. package/lib/providers/contract/adapters/confluence/governed-write.mjs +215 -0
  254. package/lib/providers/contract/adapters/confluence/manifest.json +17 -0
  255. package/lib/providers/contract/adapters/confluence/transport.mjs +135 -0
  256. package/lib/providers/contract/adapters/github/governed-write.mjs +121 -0
  257. package/lib/providers/contract/adapters/github/index.mjs +38 -3
  258. package/lib/providers/contract/adapters/jira/adf.mjs +151 -0
  259. package/lib/providers/contract/adapters/jira/createmeta.mjs +143 -0
  260. package/lib/providers/contract/adapters/jira/governed-write.mjs +182 -0
  261. package/lib/providers/contract/adapters/jira/manifest.json +17 -0
  262. package/lib/providers/contract/adapters/jira/transport.mjs +119 -0
  263. package/lib/providers/contract.mjs +207 -0
  264. package/lib/providers/credential-bootstrap.mjs +7 -4
  265. package/lib/providers/credential-sources.mjs +14 -2
  266. package/lib/providers/directory/index.mjs +273 -0
  267. package/lib/providers/feedback/index.mjs +392 -0
  268. package/lib/providers/filter-audit.mjs +68 -0
  269. package/lib/providers/filter-schema.mjs +54 -0
  270. package/lib/providers/github/index.mjs +31 -0
  271. package/lib/providers/instance-config.mjs +215 -0
  272. package/lib/providers/op-locate.mjs +96 -0
  273. package/lib/providers/op-run.mjs +64 -9
  274. package/lib/providers/registry.mjs +26 -3
  275. package/lib/providers/secret-audit-wiring.mjs +6 -0
  276. package/lib/providers/secret-resolver.mjs +240 -23
  277. package/lib/publish-template.mjs +6 -3
  278. package/lib/publish-tooling.mjs +4 -0
  279. package/lib/publish.mjs +32 -4
  280. package/lib/queue/pg-queue.mjs +395 -0
  281. package/lib/reflect.mjs +2 -1
  282. package/lib/registry/assemble.mjs +28 -2
  283. package/lib/registry/consolidation.mjs +8 -1
  284. package/lib/registry/custom-scaffold.mjs +200 -0
  285. package/lib/registry/custom-schema.mjs +137 -0
  286. package/lib/registry/loader.mjs +8 -3
  287. package/lib/registry/manifests/format-engines.default.json +15 -0
  288. package/lib/registry/manifests/surface-map.default.json +46 -0
  289. package/lib/registry/retired-paths.mjs +1 -0
  290. package/lib/registry/surface-map.mjs +100 -50
  291. package/lib/render-visual-check.mjs +240 -0
  292. package/lib/resources/budget.mjs +40 -17
  293. package/lib/roles/flavor-bindings.mjs +36 -14
  294. package/lib/roles/gateway.mjs +15 -8
  295. package/lib/roots.mjs +107 -0
  296. package/lib/runtime/uv-bootstrap.mjs +32 -6
  297. package/lib/runtime/whisper-bootstrap.mjs +11 -3
  298. package/lib/runtime-env.mjs +5 -2
  299. package/lib/scheduler/index.mjs +8 -20
  300. package/lib/schema-infer.mjs +31 -2
  301. package/lib/scopes/lifecycle.mjs +29 -25
  302. package/lib/scopes/loader.mjs +49 -12
  303. package/lib/scopes/teams.mjs +1 -1
  304. package/lib/security/ingest-boundary.mjs +80 -0
  305. package/lib/security/recall-wrapper.mjs +99 -0
  306. package/lib/security/trust.mjs +132 -0
  307. package/lib/service-manager.mjs +38 -19
  308. package/lib/setup.mjs +41 -23
  309. package/lib/skills-apply.mjs +4 -2
  310. package/lib/specialists/postconditions.mjs +2 -2
  311. package/lib/state-root.mjs +147 -0
  312. package/lib/status.mjs +597 -6
  313. package/lib/storage/admin.mjs +77 -5
  314. package/lib/storage/backend-registry.mjs +73 -0
  315. package/lib/storage/backend.mjs +63 -9
  316. package/lib/storage/embeddings-openai.mjs +12 -2
  317. package/lib/storage/hybrid-query.mjs +11 -3
  318. package/lib/storage/retrieval-hardening.mjs +384 -0
  319. package/lib/storage/shared-memory.mjs +158 -0
  320. package/lib/storage/vector-client.mjs +69 -2
  321. package/lib/team/health.mjs +72 -0
  322. package/lib/telemetry/backends/local.mjs +9 -3
  323. package/lib/telemetry/client.mjs +3 -7
  324. package/lib/template-registry.mjs +10 -12
  325. package/lib/tenant/context.mjs +82 -0
  326. package/lib/tenant/isolation.mjs +129 -0
  327. package/lib/test-corpus-inventory.mjs +104 -2
  328. package/lib/uninstall/uninstall.mjs +78 -12
  329. package/lib/validator.mjs +4 -6
  330. package/lib/worker/entrypoint.mjs +2 -1
  331. package/lib/worker/run.mjs +2 -2
  332. package/lib/worker/trace.mjs +5 -11
  333. package/lib/workflow-state.mjs +52 -8
  334. package/lib/workflows/liveness.mjs +203 -0
  335. package/lib/workflows/loader.mjs +177 -0
  336. package/lib/workflows/manifest-schema.mjs +71 -0
  337. package/lib/workflows/surface-parity.mjs +118 -0
  338. package/lib/workflows/validate.mjs +127 -0
  339. package/lib/writes/control-plane.mjs +140 -0
  340. package/lib/writes/envelope.mjs +206 -0
  341. package/lib/writes/sent-log.mjs +86 -0
  342. package/lib/writes/write-intent.mjs +109 -0
  343. package/package.json +16 -8
  344. package/personas/construct.md +12 -3
  345. package/registry/capabilities.json +143 -36
  346. package/rules/common/comments.md +1 -0
  347. package/schemas/project-config.schema.json +0 -12
  348. package/schemas/unified-registry.schema.json +2 -4
  349. package/scripts/sync-specialists.mjs +284 -81
  350. package/skills/docs/adr-workflow.md +1 -1
  351. package/skills/docs/codebase-research-workflow.md +3 -3
  352. package/skills/docs/prd-workflow.md +5 -6
  353. package/skills/docs/runbook-workflow.md +2 -2
  354. package/skills/docs/user-research-workflow.md +3 -3
  355. package/skills/operating/fleet-health-routing.md +77 -0
  356. package/skills/roles/ai-engineer.md +1 -1
  357. package/skills/roles/architect.md +0 -1
  358. package/skills/roles/business-strategist.md +1 -1
  359. package/skills/roles/data-analyst.telemetry.md +1 -1
  360. package/skills/roles/data-engineer.md +1 -1
  361. package/skills/roles/data-engineer.pipeline.md +1 -1
  362. package/skills/roles/data-engineer.vector-retrieval.md +1 -2
  363. package/skills/roles/data-engineer.warehouse.md +1 -1
  364. package/skills/roles/designer.accessibility.md +1 -1
  365. package/skills/roles/designer.md +0 -1
  366. package/skills/roles/devil-advocate.md +1 -1
  367. package/skills/roles/docs-keeper.md +1 -1
  368. package/skills/roles/evaluator.md +1 -1
  369. package/skills/roles/explorer.md +1 -1
  370. package/skills/roles/platform-engineer.md +1 -1
  371. package/skills/roles/qa.ai-eval.md +1 -2
  372. package/skills/roles/qa.api-contract.md +0 -1
  373. package/skills/roles/qa.data-pipeline.md +0 -1
  374. package/skills/roles/qa.md +0 -1
  375. package/skills/roles/qa.web-ui.md +0 -1
  376. package/skills/roles/release-manager.md +1 -1
  377. package/skills/roles/researcher.md +0 -2
  378. package/skills/roles/reviewer.md +0 -3
  379. package/skills/roles/security.ai.md +1 -1
  380. package/skills/roles/security.legal-compliance.md +1 -1
  381. package/skills/roles/security.md +0 -1
  382. package/skills/roles/security.privacy.md +0 -1
  383. package/skills/roles/security.supply-chain.md +1 -1
  384. package/skills/roles/sre.md +1 -1
  385. package/skills/roles/test-automation.md +1 -1
  386. package/skills/roles/trace-reviewer.md +1 -1
  387. package/skills/roles/ux-researcher.md +1 -1
  388. package/specialists/artifact-manifest.json +36 -36
  389. package/specialists/org/contracts/accessibility-to-qa.json +11 -3
  390. package/specialists/org/contracts/any-to-business-strategist.json +19 -7
  391. package/specialists/org/contracts/any-to-debugger.json +7 -1
  392. package/specialists/org/contracts/any-to-designer.json +7 -1
  393. package/specialists/org/contracts/any-to-docs-keeper.json +18 -4
  394. package/specialists/org/contracts/any-to-explorer.json +13 -4
  395. package/specialists/org/contracts/any-to-sre-incident.json +6 -2
  396. package/specialists/org/contracts/any-to-trace-reviewer.json +16 -4
  397. package/specialists/org/contracts/architect-to-ai-engineer.json +6 -2
  398. package/specialists/org/contracts/architect-to-data-engineer.json +17 -5
  399. package/specialists/org/contracts/architect-to-devil-advocate.json +11 -3
  400. package/specialists/org/contracts/architect-to-engineer.json +20 -4
  401. package/specialists/org/contracts/architect-to-evaluator.json +15 -5
  402. package/specialists/org/contracts/architect-to-legal-compliance.json +15 -5
  403. package/specialists/org/contracts/architect-to-operations.json +17 -4
  404. package/specialists/org/contracts/architect-to-platform-engineer.json +20 -4
  405. package/specialists/org/contracts/construct-to-orchestrator.json +10 -2
  406. package/specialists/org/contracts/data-analyst-to-product-manager.json +11 -2
  407. package/specialists/org/contracts/engineer-to-qa.json +20 -4
  408. package/specialists/org/contracts/engineer-to-reviewer.json +29 -5
  409. package/specialists/org/contracts/explorer-to-engineer.json +11 -3
  410. package/specialists/org/contracts/legal-compliance-to-release-manager.json +12 -4
  411. package/specialists/org/contracts/operations-to-user.json +53 -0
  412. package/specialists/org/contracts/operations-triage-output.json +53 -0
  413. package/specialists/org/contracts/pm-requirements-candidates.json +53 -0
  414. package/specialists/org/contracts/product-manager-to-architect.json +30 -10
  415. package/specialists/org/contracts/product-manager-to-data-analyst.json +13 -3
  416. package/specialists/org/contracts/product-manager-to-ux-researcher.json +15 -5
  417. package/specialists/org/contracts/qa-to-release-manager.json +11 -3
  418. package/specialists/org/contracts/researcher-to-architect.json +10 -2
  419. package/specialists/org/contracts/researcher-to-product-manager.json +16 -5
  420. package/specialists/org/contracts/reviewer-to-security.json +17 -3
  421. package/specialists/org/contracts/test-automation-to-engineer.json +11 -3
  422. package/specialists/org/contracts/trace-reviewer-to-sre.json +12 -4
  423. package/specialists/org/contracts/user-to-construct.json +11 -4
  424. package/specialists/org/frameworks/cx-architect-constraint-option-failure.md +66 -0
  425. package/specialists/org/frameworks/cx-engineer-feasibility-blast-radius.md +66 -0
  426. package/specialists/org/frameworks/cx-ops-dependency-sequencing.md +74 -0
  427. package/specialists/org/frameworks/cx-pm-value-tradeoff.md +66 -0
  428. package/specialists/org/frameworks/cx-qa-risk-based-coverage.md +69 -0
  429. package/specialists/org/groups/engineering-group.json +2 -6
  430. package/specialists/org/groups/governance-group.json +2 -3
  431. package/specialists/org/groups/operations-group.json +5 -8
  432. package/specialists/org/groups/product-group.json +4 -8
  433. package/specialists/org/groups/quality-group.json +3 -7
  434. package/specialists/org/groups/strategy-group.json +6 -9
  435. package/specialists/org/models.json.example +8 -0
  436. package/specialists/org/scopes/creative.json +6 -1
  437. package/specialists/org/scopes/operations.json +7 -1
  438. package/specialists/org/scopes/research.json +6 -1
  439. package/specialists/org/scopes/rnd.json +7 -1
  440. package/specialists/org/specialists/cx-architect.json +27 -8
  441. package/specialists/org/specialists/cx-designer.json +22 -8
  442. package/specialists/org/specialists/cx-engineer.json +71 -7
  443. package/specialists/org/specialists/cx-operations.json +89 -15
  444. package/specialists/org/specialists/cx-orchestrator.json +16 -4
  445. package/specialists/org/specialists/cx-product-manager.json +28 -9
  446. package/specialists/org/specialists/cx-qa.json +16 -6
  447. package/specialists/org/specialists/cx-researcher.json +40 -7
  448. package/specialists/org/specialists/cx-reviewer.json +61 -11
  449. package/specialists/org/specialists/cx-security.json +30 -10
  450. package/specialists/org/teams/design-team.json +3 -4
  451. package/specialists/org/teams/engineering-team.json +3 -10
  452. package/specialists/org/teams/governance-team.json +3 -5
  453. package/specialists/org/teams/operations-team.json +6 -12
  454. package/specialists/org/teams/product-management-team.json +2 -3
  455. package/specialists/org/teams/quality-team.json +4 -12
  456. package/specialists/org/teams/research-team.json +3 -3
  457. package/specialists/org/teams/strategy-team.json +7 -14
  458. package/specialists/prompts/cx-architect.md +20 -1
  459. package/specialists/prompts/cx-data-analyst.md +1 -1
  460. package/specialists/prompts/cx-designer.md +12 -4
  461. package/specialists/prompts/cx-engineer.md +15 -1
  462. package/specialists/prompts/cx-operations.md +14 -2
  463. package/specialists/prompts/cx-orchestrator.md +9 -5
  464. package/specialists/prompts/cx-product-manager.md +5 -1
  465. package/specialists/prompts/cx-qa.md +6 -2
  466. package/specialists/prompts/cx-researcher.md +25 -30
  467. package/specialists/prompts/cx-reviewer.md +19 -1
  468. package/specialists/prompts/cx-security.md +5 -1
  469. package/templates/distribution/construct-brand.typ +123 -59
  470. package/templates/distribution/construct-decision.typ +6 -3
  471. package/templates/distribution/construct-pdf.typ +11 -4
  472. package/templates/distribution/construct-prd.typ +6 -3
  473. package/templates/distribution/construct-research.typ +7 -4
  474. package/lib/providers/contract/adapters/git/index.mjs +0 -115
  475. package/lib/providers/contract/adapters/slack/index.mjs +0 -175
  476. package/specialists/org/contracts/business-strategist-to-product-manager.json +0 -39
  477. package/specialists/org/contracts/construct-to-rd-lead.json +0 -53
  478. package/specialists/org/contracts/data-engineer-to-platform-engineer.json +0 -36
  479. package/specialists/org/contracts/designer-to-accessibility.json +0 -36
  480. package/specialists/org/contracts/platform-engineer-to-engineer.json +0 -31
  481. package/specialists/org/contracts/qa-to-test-automation.json +0 -42
  482. package/specialists/org/contracts/rd-lead-to-architect.json +0 -38
  483. package/specialists/org/contracts/sre-to-release-manager.json +0 -36
  484. package/specialists/org/specialists/cx-accessibility.json +0 -69
  485. package/specialists/org/specialists/cx-ai-engineer.json +0 -75
  486. package/specialists/org/specialists/cx-business-strategist.json +0 -72
  487. package/specialists/org/specialists/cx-data-engineer.json +0 -71
  488. package/specialists/org/specialists/cx-devil-advocate.json +0 -71
  489. package/specialists/org/specialists/cx-docs-keeper.json +0 -82
  490. package/specialists/org/specialists/cx-evaluator.json +0 -69
  491. package/specialists/org/specialists/cx-explorer.json +0 -69
  492. package/specialists/org/specialists/cx-legal-compliance.json +0 -74
  493. package/specialists/org/specialists/cx-oracle.json +0 -46
  494. package/specialists/org/specialists/cx-platform-engineer.json +0 -80
  495. package/specialists/org/specialists/cx-rd-lead.json +0 -73
  496. package/specialists/org/specialists/cx-release-manager.json +0 -77
  497. package/specialists/org/specialists/cx-sre.json +0 -94
  498. package/specialists/org/specialists/cx-test-automation.json +0 -69
  499. package/specialists/org/specialists/cx-trace-reviewer.json +0 -69
  500. package/specialists/org/specialists/cx-ux-researcher.json +0 -68
  501. package/specialists/org/teams/accessibility-team.json +0 -39
  502. package/specialists/org/teams/ux-research-team.json +0 -39
  503. package/specialists/prompts/cx-accessibility.md +0 -55
  504. package/specialists/prompts/cx-ai-engineer.md +0 -124
  505. package/specialists/prompts/cx-business-strategist.md +0 -58
  506. package/specialists/prompts/cx-data-engineer.md +0 -55
  507. package/specialists/prompts/cx-devil-advocate.md +0 -59
  508. package/specialists/prompts/cx-docs-keeper.md +0 -164
  509. package/specialists/prompts/cx-evaluator.md +0 -49
  510. package/specialists/prompts/cx-explorer.md +0 -71
  511. package/specialists/prompts/cx-legal-compliance.md +0 -58
  512. package/specialists/prompts/cx-oracle.md +0 -98
  513. package/specialists/prompts/cx-platform-engineer.md +0 -97
  514. package/specialists/prompts/cx-rd-lead.md +0 -59
  515. package/specialists/prompts/cx-release-manager.md +0 -54
  516. package/specialists/prompts/cx-sre.md +0 -111
  517. package/specialists/prompts/cx-test-automation.md +0 -55
  518. package/specialists/prompts/cx-trace-reviewer.md +0 -101
  519. package/specialists/prompts/cx-ux-researcher.md +0 -53
@@ -14,11 +14,16 @@
14
14
  "docs/prfaq-workflow",
15
15
  "docs/backlog-proposal-workflow",
16
16
  "docs/product-intelligence-review",
17
- "docs/strategy-workflow"
17
+ "docs/strategy-workflow",
18
+ "strategy/competitive-landscape",
19
+ "strategy/market-research-methods",
20
+ "strategy/pricing-positioning",
21
+ "strategy/narrative-arc"
18
22
  ],
19
23
  "events": [
20
24
  "backlog.stale",
21
- "prd.requested"
25
+ "prd.requested",
26
+ "strategy.required"
22
27
  ],
23
28
  "fence": {
24
29
  "allowedPaths": [
@@ -27,13 +32,17 @@
27
32
  "docs/meta-prd/**",
28
33
  "docs/prfaq/**",
29
34
  "docs/one-pager/**",
30
- ".cx/knowledge/**"
35
+ ".cx/knowledge/**",
36
+ "docs/strategy/**",
37
+ ".cx/knowledge/decisions/strategy/**"
31
38
  ],
32
39
  "allowedBdLabels": [
33
40
  "product",
34
41
  "prd",
35
42
  "backlog",
36
- "feature"
43
+ "feature",
44
+ "strategy",
45
+ "business"
37
46
  ],
38
47
  "allowedCommands": [
39
48
  "bd create",
@@ -57,7 +66,8 @@
57
66
  "backlog-proposal",
58
67
  "prd-platform",
59
68
  "prd-business",
60
- "customer-profile"
69
+ "customer-profile",
70
+ "strategy"
61
71
  ],
62
72
  "watchConditions": [
63
73
  {
@@ -72,22 +82,31 @@
72
82
  "requirements coverage",
73
83
  "delivery risk",
74
84
  "user-facing gaps",
75
- "scope clarity"
85
+ "scope clarity",
86
+ "market positioning",
87
+ "competitive shifts",
88
+ "timing relevance",
89
+ "strategic coherence"
76
90
  ],
77
91
  "riskSignals": [
78
92
  "untraced requirements",
79
93
  "scope creep",
80
94
  "blocked dependencies",
81
- "missing acceptance criteria"
95
+ "missing acceptance criteria",
96
+ "tactics dressed as strategy",
97
+ "ignored competitive moves",
98
+ "undifferentiated positioning",
99
+ "missing market timing"
82
100
  ],
83
101
  "artifactBias": [
84
102
  "prds",
85
103
  "intake",
86
- "memos"
104
+ "memos",
105
+ "notes"
87
106
  ]
88
107
  },
89
108
  "canEdit": false,
90
- "claudeTools": "Read,Grep,Glob,LS,list_skills,get_skill,search_skills,get_template,list_templates,memory_search,memory_add_observations",
109
+ "claudeTools": "Read,Grep,Glob,LS,WebSearch,WebFetch,list_skills,get_skill,search_skills,get_template,list_templates,memory_search,memory_add_observations",
91
110
  "internal": true,
92
111
  "killSwitchEnv": "CONSTRUCT_ROLE_PRODUCT_MANAGER",
93
112
  "handoffCandidates": [
@@ -18,13 +18,18 @@
18
18
  "fence": {
19
19
  "allowedPaths": [
20
20
  "docs/qa/**",
21
- "docs/test-plans/**"
21
+ "docs/test-plans/**",
22
+ "tests/**",
23
+ "docs/test-automation/**"
22
24
  ],
23
25
  "allowedBdLabels": [
24
26
  "bug",
25
27
  "qa",
26
28
  "test",
27
- "flake"
29
+ "flake",
30
+ "test-automation",
31
+ "ci",
32
+ "test-infra"
28
33
  ],
29
34
  "allowedCommands": [
30
35
  "bd create",
@@ -52,13 +57,19 @@
52
57
  "test effectiveness",
53
58
  "behavioral coverage",
54
59
  "regression risk",
55
- "acceptance criteria traceability"
60
+ "acceptance criteria traceability",
61
+ "test determinism",
62
+ "flakiness trends",
63
+ "automation ROI"
56
64
  ],
57
65
  "riskSignals": [
58
66
  "tests that never fail",
59
67
  "coverage without behavioral assertions",
60
68
  "untested acceptance criteria",
61
- "flaky tests ignored"
69
+ "flaky tests ignored",
70
+ "arbitrary sleeps",
71
+ "tests that never caught a bug",
72
+ "intermittent failures dismissed"
62
73
  ],
63
74
  "artifactBias": [
64
75
  "notes"
@@ -70,8 +81,7 @@
70
81
  "killSwitchEnv": "CONSTRUCT_ROLE_QA",
71
82
  "handoffCandidates": [
72
83
  "engineer",
73
- "debugger",
74
- "test-automation"
84
+ "debugger"
75
85
  ],
76
86
  "team": "quality-team",
77
87
  "teamId": "quality-team",
@@ -8,7 +8,15 @@
8
8
  "skills": [
9
9
  "docs/research-workflow",
10
10
  "devops/dependency-management",
11
- "docs/transcript-synthesis"
11
+ "docs/transcript-synthesis",
12
+ "docs/codebase-research-workflow",
13
+ "exploration/repo-map",
14
+ "exploration/unknown-codebase-onboarding",
15
+ "exploration/tracer-bullet-method",
16
+ "exploration/dependency-graph-reading",
17
+ "docs/user-research-workflow",
18
+ "docs/evidence-ingest-workflow",
19
+ "strategy/jobs-to-be-done"
12
20
  ],
13
21
  "events": [
14
22
  "research.requested",
@@ -20,12 +28,20 @@
20
28
  "docs/research/**",
21
29
  ".cx/research/**",
22
30
  "docs/evidence-briefs/**",
23
- "docs/signal-briefs/**"
31
+ "docs/signal-briefs/**",
32
+ "docs/explorations/**",
33
+ ".cx/explorations/**",
34
+ "docs/ux-research/**",
35
+ ".cx/ux-research/**"
24
36
  ],
25
37
  "allowedBdLabels": [
26
38
  "research",
27
39
  "evidence",
28
- "investigation"
40
+ "investigation",
41
+ "exploration",
42
+ "spike",
43
+ "ux-research",
44
+ "user-research"
29
45
  ],
30
46
  "allowedCommands": [
31
47
  "bd create",
@@ -54,13 +70,29 @@
54
70
  "source freshness",
55
71
  "citation coverage",
56
72
  "dependency versions",
57
- "conflicting evidence"
73
+ "conflicting evidence",
74
+ "codebase understanding",
75
+ "pattern discovery",
76
+ "dependency mapping",
77
+ "drift detection",
78
+ "user evidence freshness",
79
+ "friction points",
80
+ "persona coverage",
81
+ "research gaps"
58
82
  ],
59
83
  "riskSignals": [
60
84
  "undated sources",
61
85
  "unverified claims",
62
86
  "outdated dependencies",
63
- "single-source conclusions"
87
+ "single-source conclusions",
88
+ "assumptions without verification",
89
+ "incomplete investigation",
90
+ "outdated mental models",
91
+ "undiscovered code paths",
92
+ "stale user data",
93
+ "untested assumptions about users",
94
+ "missing friction analysis",
95
+ "internal-only validation"
64
96
  ],
65
97
  "artifactBias": [
66
98
  "notes",
@@ -68,14 +100,15 @@
68
100
  ]
69
101
  },
70
102
  "canEdit": false,
71
- "claudeTools": "Read,Grep,Glob,LS,WebSearch,WebFetch,list_skills,get_skill,search_skills,get_template,list_templates,memory_search,memory_add_observations",
103
+ "claudeTools": "Read,Grep,Glob,LS,Bash,WebSearch,WebFetch,list_skills,get_skill,search_skills,get_template,list_templates,memory_search,memory_add_observations",
72
104
  "liveWebAccess": true,
73
105
  "internal": true,
74
106
  "killSwitchEnv": "CONSTRUCT_ROLE_RESEARCHER",
75
107
  "handoffCandidates": [
76
108
  "product-manager",
77
109
  "architect",
78
- "engineer"
110
+ "engineer",
111
+ "designer"
79
112
  ],
80
113
  "team": "research-team",
81
114
  "teamId": "research-team",
@@ -8,20 +8,38 @@
8
8
  "skills": [
9
9
  "quality-gates/verify-quality",
10
10
  "quality-gates/review-work",
11
- "quality-gates/verify-module"
11
+ "quality-gates/verify-module",
12
+ "quality-gates/premortem",
13
+ "ai/prompt-and-eval",
14
+ "ai/prompt-optimizer",
15
+ "ai/trace-triage"
12
16
  ],
13
17
  "events": [
14
18
  "pr.opened",
15
- "pr.ready-for-review"
19
+ "pr.ready-for-review",
20
+ "eval.regression",
21
+ "trace.anomaly"
16
22
  ],
17
23
  "fence": {
18
24
  "allowedPaths": [
19
- "docs/reviews/**"
25
+ "docs/reviews/**",
26
+ "docs/critiques/**",
27
+ "docs/evals/**",
28
+ ".cx/evals/**",
29
+ "tests/evals/**",
30
+ "docs/traces/**",
31
+ ".cx/traces/**"
20
32
  ],
21
33
  "allowedBdLabels": [
22
34
  "review",
23
35
  "code-review",
24
- "second-look"
36
+ "second-look",
37
+ "critique",
38
+ "devil-advocate",
39
+ "eval",
40
+ "regression-eval",
41
+ "trace",
42
+ "observability"
25
43
  ],
26
44
  "allowedCommands": [
27
45
  "bd create",
@@ -36,7 +54,12 @@
36
54
  ]
37
55
  },
38
56
  "docArtifacts": [],
39
- "watchConditions": [],
57
+ "watchConditions": [
58
+ {
59
+ "watcher": "architecture-without-metric",
60
+ "reason": "architecture change without stated success metric"
61
+ }
62
+ ],
40
63
  "permissions": {},
41
64
  "promptFile": "specialists/prompts/cx-reviewer.md",
42
65
  "embedOrientation": {
@@ -44,26 +67,53 @@
44
67
  "edge case coverage",
45
68
  "error handling completeness",
46
69
  "test fidelity",
47
- "code quality trends"
70
+ "code quality trends",
71
+ "plan survivability",
72
+ "hidden failure modes",
73
+ "scope stability",
74
+ "assumption stress-testing",
75
+ "eval coverage",
76
+ "regression detection",
77
+ "baseline drift",
78
+ "failure case representation",
79
+ "agent performance trends",
80
+ "variance detection",
81
+ "degradation signals",
82
+ "fleet health"
48
83
  ],
49
84
  "riskSignals": [
50
85
  "happy-path-only reviews",
51
86
  "excessive mocking",
52
87
  "missing error handlers",
53
- "review without reproduction"
88
+ "review without reproduction",
89
+ "plans too elegant to survive contact",
90
+ "unlikely failures unaddressed",
91
+ "scope drift",
92
+ "unanimous agreement without challenge",
93
+ "eval sets matching known outputs",
94
+ "cherry-picked baselines",
95
+ "missing failure cases",
96
+ "promotion on too few traces",
97
+ "stable median hiding variance",
98
+ "silent degradation",
99
+ "unreviewed failure clusters"
54
100
  ],
55
101
  "artifactBias": [
56
- "notes"
102
+ "notes",
103
+ "memos",
104
+ "adrs"
57
105
  ]
58
106
  },
59
- "canEdit": true,
60
- "claudeTools": "Read,Grep,Glob,LS,Bash,list_skills,get_skill,search_skills,memory_search,memory_add_observations,cx_trace,cx_score,get_template,list_templates",
107
+ "canEdit": false,
108
+ "claudeTools": "Read,Grep,Glob,LS,Bash,Write,list_skills,get_skill,search_skills,memory_search,memory_add_observations,cx_trace,cx_score,get_template,list_templates",
61
109
  "internal": true,
62
110
  "killSwitchEnv": "CONSTRUCT_ROLE_REVIEWER",
63
111
  "handoffCandidates": [
64
112
  "engineer",
65
113
  "architect",
66
- "security"
114
+ "security",
115
+ "product-manager",
116
+ "operations"
67
117
  ],
68
118
  "team": "quality-team",
69
119
  "teamId": "quality-team",
@@ -13,22 +13,34 @@
13
13
  "security/vuln-research",
14
14
  "security/threat-intel",
15
15
  "quality-gates/verify-security",
16
- "architecture/security-arch"
16
+ "architecture/security-arch",
17
+ "compliance/license-audit",
18
+ "compliance/data-privacy",
19
+ "compliance/ai-disclosure",
20
+ "compliance/regulatory-review"
17
21
  ],
18
22
  "events": [
19
23
  "dep.cve",
20
24
  "secrets.detected",
21
- "config.protection.violation"
25
+ "config.protection.violation",
26
+ "dep.license",
27
+ "privacy-policy.review"
22
28
  ],
23
29
  "fence": {
24
30
  "allowedPaths": [
25
31
  "docs/security/**",
26
- "docs/threat-models/**"
32
+ "docs/threat-models/**",
33
+ "docs/legal/**",
34
+ "docs/compliance/**",
35
+ ".cx/knowledge/**"
27
36
  ],
28
37
  "allowedBdLabels": [
29
38
  "security",
30
39
  "vulnerability",
31
- "audit"
40
+ "audit",
41
+ "legal",
42
+ "compliance",
43
+ "privacy"
32
44
  ],
33
45
  "allowedCommands": [
34
46
  "bd create",
@@ -59,21 +71,29 @@
59
71
  "attack surface changes",
60
72
  "dependency vulnerabilities",
61
73
  "auth boundary integrity",
62
- "secret exposure"
74
+ "secret exposure",
75
+ "license compliance",
76
+ "data privacy posture",
77
+ "AI disclosure obligations",
78
+ "regulatory changes"
63
79
  ],
64
80
  "riskSignals": [
65
81
  "new unauthed endpoints",
66
82
  "unaudited dependencies",
67
83
  "implicit trust boundaries",
68
- "hardcoded credentials"
84
+ "hardcoded credentials",
85
+ "unreviewed dependency licenses",
86
+ "undisclosed AI processing",
87
+ "missing data basis documentation",
88
+ "new jurisdiction exposure"
69
89
  ],
70
90
  "artifactBias": [
71
91
  "adrs",
72
92
  "notes"
73
93
  ]
74
94
  },
75
- "canEdit": true,
76
- "claudeTools": "Read,Grep,Glob,LS,Bash,list_skills,get_skill,search_skills,memory_search,memory_add_observations,cx_trace,cx_score,get_template,list_templates",
95
+ "canEdit": false,
96
+ "claudeTools": "Read,Grep,Glob,LS,Bash,WebSearch,WebFetch,list_skills,get_skill,search_skills,memory_search,memory_add_observations,cx_trace,cx_score,get_template,list_templates",
77
97
  "internal": true,
78
98
  "severityImmediate": [
79
99
  "dep.cve",
@@ -82,8 +102,8 @@
82
102
  "killSwitchEnv": "CONSTRUCT_ROLE_SECURITY",
83
103
  "handoffCandidates": [
84
104
  "engineer",
85
- "platform-engineer",
86
- "reviewer"
105
+ "reviewer",
106
+ "product-manager"
87
107
  ],
88
108
  "team": "governance-team",
89
109
  "teamId": "governance-team",
@@ -9,8 +9,7 @@
9
9
  ],
10
10
  "collaborators": [
11
11
  "product-management-team",
12
- "ux-research-team",
13
- "accessibility-team"
12
+ "research-team"
14
13
  ],
15
14
  "specialists": [
16
15
  "cx-designer"
@@ -28,10 +27,10 @@
28
27
  ],
29
28
  "escalationPath": [
30
29
  "product-manager",
31
- "rd-lead",
30
+ "architect",
32
31
  "orchestrator"
33
32
  ],
34
- "charter": "Own interaction and visual design decisions within product scope. Partners with Accessibility on inclusive patterns and with Product Management on acceptance criteria.",
33
+ "charter": "Own interaction, visual, and accessibility design decisions within product scope (accessibility-team merged in: cx-accessibility folds into cx-designer, construct-rf26.11). Partners with Product Management on acceptance criteria.",
35
34
  "contact": {
36
35
  "slack": "#product",
37
36
  "email": "product@example.com",
@@ -7,18 +7,12 @@
7
7
  "roles": [
8
8
  "architect",
9
9
  "engineer",
10
- "debugger",
11
- "ai-engineer",
12
- "data-engineer",
13
- "platform-engineer"
10
+ "debugger"
14
11
  ],
15
12
  "specialists": [
16
- "cx-ai-engineer",
17
13
  "cx-architect",
18
14
  "cx-engineer",
19
- "cx-debugger",
20
- "cx-platform-engineer",
21
- "cx-data-engineer"
15
+ "cx-debugger"
22
16
  ],
23
17
  "collaborators": [],
24
18
  "decisionRights": [
@@ -34,10 +28,9 @@
34
28
  ],
35
29
  "escalationPath": [
36
30
  "architect",
37
- "rd-lead",
38
31
  "orchestrator"
39
32
  ],
40
- "charter": "Design, build, and harden the system. Owns architecture decisions, technology choices, code quality, debugging, AI integration, and the platform underneath. Does not own product framing, user research direction, or release timing. Escalates tech-debt conflicts to R&D leadership.",
33
+ "charter": "Design, build, and harden the system. Owns architecture decisions, technology choices, code quality, and debugging. AI integration, data pipelines, and platform/infra tooling are now cx-engineer skill bundles rather than separate specialists (ai-engineer, data-engineer, platform-engineer folded in; construct-rf26.11), and cx-architect absorbs the pre-architecture framing-gate function rd-lead previously owned. Does not own product framing, user research direction, or release timing.",
41
34
  "contact": {
42
35
  "slack": "#engineering",
43
36
  "email": "engineering@example.com",
@@ -5,12 +5,10 @@
5
5
  "name": "Governance",
6
6
  "owner": "security",
7
7
  "roles": [
8
- "security",
9
- "legal-compliance"
8
+ "security"
10
9
  ],
11
10
  "specialists": [
12
- "cx-security",
13
- "cx-legal-compliance"
11
+ "cx-security"
14
12
  ],
15
13
  "collaborators": [],
16
14
  "decisionRights": [
@@ -29,7 +27,7 @@
29
27
  "architect",
30
28
  "orchestrator"
31
29
  ],
32
- "charter": "Keep the system safe to operate and inside its legal envelope. Owns security review, compliance verification, risk assessment, and the audit trail. Does not own implementation or product decisions but can block deployments that violate policy. Escalates policy conflicts to orchestrator.",
30
+ "charter": "Keep the system safe to operate and inside its legal envelope. Owns security review, compliance verification (legal-compliance folded in; construct-rf26.11), risk assessment, and the audit trail. Does not own implementation or product decisions but can block deployments that violate policy. Escalates policy conflicts to orchestrator.",
33
31
  "contact": {
34
32
  "slack": "#governance",
35
33
  "email": "governance@example.com",
@@ -3,18 +3,12 @@
3
3
  "kind": "squad",
4
4
  "groupId": "operations-group",
5
5
  "name": "Operations",
6
- "owner": "sre",
6
+ "owner": "operations",
7
7
  "roles": [
8
- "release-manager",
9
- "sre",
10
- "operations",
11
- "docs-keeper"
8
+ "operations"
12
9
  ],
13
10
  "specialists": [
14
- "cx-operations",
15
- "cx-sre",
16
- "cx-release-manager",
17
- "cx-docs-keeper"
11
+ "cx-operations"
18
12
  ],
19
13
  "collaborators": [],
20
14
  "decisionRights": [
@@ -30,15 +24,15 @@
30
24
  "security-policy"
31
25
  ],
32
26
  "escalationPath": [
33
- "sre",
27
+ "operations",
34
28
  "architect",
35
29
  "orchestrator"
36
30
  ],
37
- "charter": "Keep the system running and shipping. Owns release management, SRE response, ops runbooks, documentation upkeep, and deployment execution. Does not own architecture or product decisions. Escalates reliability vs. change-rate conflicts to architecture/leadership.",
31
+ "charter": "Keep the system running and shipping. Owns release management, SRE response, ops runbooks, documentation upkeep, and deployment execution (release-manager, sre, docs-keeper folded in; construct-rf26.11). Does not own architecture or product decisions. Escalates reliability vs. change-rate conflicts to architecture/leadership.",
38
32
  "contact": {
39
33
  "slack": "#operations",
40
34
  "email": "operations@example.com",
41
- "owner": "sre"
35
+ "owner": "operations"
42
36
  },
43
37
  "evidence": [
44
38
  "AGENTS.md (rnd profile departments section)"
@@ -13,7 +13,6 @@
13
13
  "product-manager.growth"
14
14
  ],
15
15
  "collaborators": [
16
- "ux-research-team",
17
16
  "design-team",
18
17
  "research-team"
19
18
  ],
@@ -33,10 +32,10 @@
33
32
  ],
34
33
  "escalationPath": [
35
34
  "product-manager",
36
- "rd-lead",
35
+ "architect",
37
36
  "orchestrator"
38
37
  ],
39
- "charter": "Own requirements, evidence-backed prioritization, and PRD-family artifacts. PM flavors (platform, growth, enterprise, AI product) are overlays — pick one per task. Escalates scope conflicts to Product Group leadership.",
38
+ "charter": "Own requirements, evidence-backed prioritization, and PRD-family artifacts, including strategic/market framing (business-strategist folded in; construct-rf26.11). PM flavors (platform, growth, enterprise, AI product) are overlays — pick one per task. Escalates scope conflicts to Product Group leadership.",
40
39
  "contact": {
41
40
  "slack": "#product",
42
41
  "email": "product@example.com",
@@ -6,19 +6,11 @@
6
6
  "owner": "reviewer",
7
7
  "roles": [
8
8
  "reviewer",
9
- "qa",
10
- "test-automation",
11
- "evaluator",
12
- "trace-reviewer",
13
- "devil-advocate"
9
+ "qa"
14
10
  ],
15
11
  "specialists": [
16
- "cx-evaluator",
17
- "cx-devil-advocate",
18
12
  "cx-reviewer",
19
- "cx-qa",
20
- "cx-trace-reviewer",
21
- "cx-test-automation"
13
+ "cx-qa"
22
14
  ],
23
15
  "collaborators": [],
24
16
  "decisionRights": [
@@ -35,9 +27,9 @@
35
27
  "escalationPath": [
36
28
  "reviewer",
37
29
  "architect",
38
- "rd-lead"
30
+ "orchestrator"
39
31
  ],
40
- "charter": "Verify the system does what it claims and surface what is broken. Owns review, testing, evaluation, trace analysis, and devil's-advocate framing. Does not own implementation or product decisions. Escalates quality vs. schedule conflicts to architecture/R&D.",
32
+ "charter": "Verify the system does what it claims and surface what is broken. Owns code review, plan-challenge framing, AI/eval rigor, and fleet-level trace analysis (devil-advocate, evaluator, trace-reviewer folded into cx-reviewer; test-automation folded into cx-qa; construct-rf26.11), plus test strategy and automation. Does not own implementation or product decisions. Escalates quality vs. schedule conflicts to architecture.",
41
33
  "contact": {
42
34
  "slack": "#quality",
43
35
  "email": "quality@example.com",
@@ -9,7 +9,7 @@
9
9
  ],
10
10
  "collaborators": [
11
11
  "product-management-team",
12
- "ux-research-team"
12
+ "design-team"
13
13
  ],
14
14
  "specialists": [
15
15
  "cx-researcher"
@@ -27,10 +27,10 @@
27
27
  ],
28
28
  "escalationPath": [
29
29
  "product-manager",
30
- "rd-lead",
30
+ "architect",
31
31
  "orchestrator"
32
32
  ],
33
- "charter": "Own exploratory research, codebase discovery, and knowledge synthesis that informs product framing. Does not own implementation or release timing.",
33
+ "charter": "Own exploratory research, codebase discovery, and user/UX research that inform product framing (explorer and ux-researcher folded in; construct-rf26.11; ux-research-team merged into this team). Does not own implementation or release timing.",
34
34
  "contact": {
35
35
  "slack": "#product",
36
36
  "email": "product@example.com",
@@ -3,21 +3,14 @@
3
3
  "kind": "squad",
4
4
  "groupId": "strategy-group",
5
5
  "name": "Strategy",
6
- "owner": "rd-lead",
6
+ "owner": "orchestrator",
7
7
  "roles": [
8
- "rd-lead",
9
- "business-strategist",
10
- "data-analyst",
11
- "explorer",
12
- "orchestrator"
8
+ "orchestrator",
9
+ "data-analyst"
13
10
  ],
14
11
  "specialists": [
15
12
  "cx-orchestrator",
16
- "cx-oracle",
17
- "cx-rd-lead",
18
- "cx-business-strategist",
19
- "cx-data-analyst",
20
- "cx-explorer"
13
+ "cx-data-analyst"
21
14
  ],
22
15
  "collaborators": [],
23
16
  "decisionRights": [
@@ -33,14 +26,14 @@
33
26
  "ops-procedures"
34
27
  ],
35
28
  "escalationPath": [
36
- "rd-lead",
29
+ "architect",
37
30
  "orchestrator"
38
31
  ],
39
- "charter": "Hold the long view: what to build next, what to measure, what to retire. Owns R&D direction, strategic prioritization, measurement design, cross-team orchestration, and exploration. Does not own implementation or day-to-day operations. Arbitrates escalations from other groups.",
32
+ "charter": "Hold the long view on measurement and cross-team dispatch. Owns metrics/measurement design (cx-data-analyst) and cross-team orchestration (cx-orchestrator). R&D framing-gate duties folded into cx-architect and exploration folded into cx-researcher (rd-lead and explorer retired/folded; construct-rf26.11) — this team no longer owns R&D direction or exploration directly. Does not own implementation or day-to-day operations.",
40
33
  "contact": {
41
34
  "slack": "#strategy",
42
35
  "email": "strategy@example.com",
43
- "owner": "rd-lead"
36
+ "owner": "orchestrator"
44
37
  },
45
38
  "evidence": [
46
39
  "AGENTS.md (rnd profile departments section)"