@geraldmaron/construct 1.2.3 → 1.3.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 (505) hide show
  1. package/README.md +7 -10
  2. package/bin/construct +235 -209
  3. package/bin/construct-postinstall.mjs +0 -21
  4. package/commands/work/optimize-prompts.md +1 -1
  5. package/examples/distribution/sources/adr.md +2 -2
  6. package/examples/seed-observations/decisions.md +1 -1
  7. package/lib/artifact-loop-core.mjs +412 -0
  8. package/lib/artifact-manifest.mjs +6 -0
  9. package/lib/artifact-release-gate.mjs +115 -49
  10. package/lib/audit-rules.mjs +2 -4
  11. package/lib/audit-skills.mjs +32 -20
  12. package/lib/audit-specialists.mjs +44 -26
  13. package/lib/auto-docs.mjs +6 -5
  14. package/lib/brand-prose.mjs +3 -3
  15. package/lib/brand-tokens.mjs +2 -2
  16. package/lib/certification/artifact-fixtures.mjs +4 -1
  17. package/lib/certification/demo-parity.mjs +6 -32
  18. package/lib/certification/real-llm-scenarios.mjs +58 -13
  19. package/lib/certification/role-cards.mjs +7 -6
  20. package/lib/certification/role-overlays.mjs +4 -4
  21. package/lib/certification/runner.mjs +9 -2
  22. package/lib/certification/skill-inventory.mjs +34 -22
  23. package/lib/certification/skill-scenarios.mjs +21 -8
  24. package/lib/certification/specialist-contracts.mjs +4 -3
  25. package/lib/certification/specialist-scenarios.mjs +7 -6
  26. package/lib/certification/status.mjs +5 -4
  27. package/lib/cli-commands.mjs +55 -54
  28. package/lib/comment-lint.mjs +1 -5
  29. package/lib/completions.mjs +20 -2
  30. package/lib/config/legacy-config-migration.mjs +90 -24
  31. package/lib/config/schema.mjs +5 -5
  32. package/lib/config/source-targets.mjs +80 -0
  33. package/lib/contracts/validate.mjs +119 -51
  34. package/lib/decisions/golden.mjs +3 -2
  35. package/lib/decisions/registry.mjs +11 -6
  36. package/lib/demo-project.mjs +188 -0
  37. package/lib/demo-recording.mjs +9 -34
  38. package/lib/demo-script.mjs +2 -2
  39. package/lib/demo-surface.mjs +13 -131
  40. package/lib/demo-tour-renderer.mjs +92 -0
  41. package/lib/demo.mjs +69 -54
  42. package/lib/diagram-export.mjs +63 -14
  43. package/lib/doctor/cli.mjs +12 -2
  44. package/lib/doctor/source-checkout.mjs +3 -4
  45. package/lib/doctor/watchers/consistency.mjs +148 -43
  46. package/lib/doctor/watchers/credential-parity.mjs +97 -0
  47. package/lib/doctor/watchers/mcp-protocol.mjs +1 -1
  48. package/lib/doctor/watchers/service-health.mjs +4 -32
  49. package/lib/document-export.mjs +73 -9
  50. package/lib/document-extract.mjs +10 -198
  51. package/lib/embed/artifact.mjs +2 -3
  52. package/lib/embed/cli.mjs +1 -1
  53. package/lib/embed/config.mjs +1 -2
  54. package/lib/embed/customer-profiles.mjs +1 -1
  55. package/lib/embed/daemon.mjs +5 -6
  56. package/lib/embed/demand-fetch.mjs +114 -2
  57. package/lib/embed/docs-lifecycle.mjs +9 -5
  58. package/lib/embed/intake-metrics.mjs +2 -2
  59. package/lib/embed/notifications.mjs +2 -3
  60. package/lib/embed/recommendation-store.mjs +25 -22
  61. package/lib/embed/role-framing.mjs +4 -9
  62. package/lib/embedded-contract/capability.mjs +4 -2
  63. package/lib/embedded-contract/contract-version.mjs +1 -1
  64. package/lib/env-config.mjs +2 -2
  65. package/lib/flavors/loader.mjs +21 -19
  66. package/lib/graph/build-from-registry.mjs +31 -7
  67. package/lib/graph/staleness.mjs +1 -1
  68. package/lib/headhunt.mjs +82 -35
  69. package/lib/hooks/agent-tracker.mjs +2 -2
  70. package/lib/hooks/config-protection.mjs +1 -1
  71. package/lib/hooks/registry-sync.mjs +3 -3
  72. package/lib/host-capabilities.mjs +5 -5
  73. package/lib/improvement/controller.mjs +2 -2
  74. package/lib/init-unified.mjs +19 -21
  75. package/lib/intake/classify.mjs +26 -0
  76. package/lib/intake/daemon.mjs +2 -3
  77. package/lib/intake/prepare.mjs +10 -3
  78. package/lib/intake/session-prelude.mjs +1 -1
  79. package/lib/intake/tables/creative.mjs +9 -9
  80. package/lib/intake/tables/operations.mjs +4 -4
  81. package/lib/intake/tables/research.mjs +2 -2
  82. package/lib/integrations/intake-integrations.mjs +9 -10
  83. package/lib/knowledge/research-store.mjs +2 -2
  84. package/lib/mcp/server.mjs +104 -61
  85. package/lib/mcp/tool-budget.mjs +1 -46
  86. package/lib/mcp/tool-recovery.mjs +44 -0
  87. package/lib/mcp/tools/artifact-author.mjs +36 -0
  88. package/lib/mcp/tools/find-tool.mjs +86 -0
  89. package/lib/mcp/tools/orchestration-run.mjs +107 -69
  90. package/lib/mcp/tools/project.mjs +4 -3
  91. package/lib/mcp/tools/{profile.mjs → scope.mjs} +54 -52
  92. package/lib/mcp/tools/skills.mjs +39 -22
  93. package/lib/mcp/tools/telemetry.mjs +2 -1
  94. package/lib/mcp/tools/workflow.mjs +1 -1
  95. package/lib/mcp-platform-config.mjs +7 -5
  96. package/lib/migrations/index.mjs +4 -2
  97. package/lib/migrations/v2-unified-registry.mjs +35 -0
  98. package/lib/model-router.mjs +203 -36
  99. package/lib/models/catalog.mjs +25 -9
  100. package/lib/models/execution-capability-profile.mjs +3 -3
  101. package/lib/models/execution-policy.mjs +7 -6
  102. package/lib/models/provider-poll.mjs +18 -4
  103. package/lib/opencode-config.mjs +56 -1
  104. package/lib/opencode-runtime-plugin.mjs +13 -10
  105. package/lib/oracle/artifact-gate.mjs +14 -4
  106. package/lib/oracle/cli.mjs +2 -0
  107. package/lib/oracle/dispatch.mjs +18 -1
  108. package/lib/oracle/execute.mjs +39 -7
  109. package/lib/oracle/index.mjs +1 -1
  110. package/lib/oracle/org-graph.mjs +10 -5
  111. package/lib/oracle/policy.mjs +6 -0
  112. package/lib/oracle/read-model.mjs +103 -6
  113. package/lib/oracle/reconcile.mjs +31 -4
  114. package/lib/oracle/remediation-dispatch.mjs +53 -0
  115. package/lib/oracle/routing.mjs +5 -0
  116. package/lib/oracle/synthesize.mjs +80 -3
  117. package/lib/orchestration/routing-tables.mjs +44 -10
  118. package/lib/orchestration/runtime.mjs +2 -0
  119. package/lib/orchestration/worker.mjs +1 -1
  120. package/lib/orchestration-policy.mjs +351 -62
  121. package/lib/overrides/resolver.mjs +1 -12
  122. package/lib/parity.mjs +37 -11
  123. package/lib/policy/engine.mjs +80 -15
  124. package/lib/prompt-composer.js +51 -15
  125. package/lib/prompt-metadata.mjs +3 -2
  126. package/lib/providers/connection-probe.mjs +58 -0
  127. package/lib/providers/copilot-auth.mjs +1 -1
  128. package/lib/providers/credential-bootstrap.mjs +1 -1
  129. package/lib/providers/op-run.mjs +3 -4
  130. package/lib/providers/secret-resolver.mjs +31 -0
  131. package/lib/publish-tooling.mjs +3 -11
  132. package/lib/publish.mjs +12 -29
  133. package/lib/reconcile/mcp-entry-reconcile.mjs +14 -9
  134. package/lib/reflect.mjs +2 -2
  135. package/lib/registry/agent-manifest.mjs +190 -0
  136. package/lib/registry/assemble.mjs +133 -0
  137. package/lib/registry/catalog.mjs +171 -0
  138. package/lib/registry/cli.mjs +590 -6
  139. package/lib/registry/consolidation.mjs +5 -4
  140. package/lib/registry/docs-sync.mjs +67 -0
  141. package/lib/registry/loader.mjs +147 -0
  142. package/lib/registry/org-io.mjs +76 -0
  143. package/lib/registry/retired-paths.mjs +71 -0
  144. package/lib/registry/surface-map.mjs +5 -7
  145. package/lib/registry/validator.mjs +438 -0
  146. package/lib/research-execution-policy.mjs +173 -0
  147. package/lib/roles/catalog.mjs +4 -9
  148. package/lib/roles/fence.mjs +107 -1
  149. package/lib/roles/flavor-bindings.mjs +68 -0
  150. package/lib/roles/gateway.mjs +140 -29
  151. package/lib/roles/manifest.mjs +22 -13
  152. package/lib/roles/router.mjs +1 -1
  153. package/lib/scopes/enrich.mjs +67 -0
  154. package/lib/scopes/hooks.mjs +12 -0
  155. package/lib/{profiles → scopes}/lifecycle.mjs +70 -70
  156. package/lib/scopes/loader.mjs +104 -0
  157. package/lib/scopes/rebrand.mjs +32 -0
  158. package/lib/scopes/research-profile.mjs +16 -0
  159. package/lib/scopes/teams.mjs +98 -0
  160. package/lib/service-manager.mjs +1 -117
  161. package/lib/setup-prompts.mjs +1 -1
  162. package/lib/setup.mjs +6 -26
  163. package/lib/skills/composition-graph.mjs +98 -0
  164. package/lib/skills/router.mjs +80 -0
  165. package/lib/specialist-contracts.mjs +17 -18
  166. package/lib/specialists/postconditions.mjs +2 -2
  167. package/lib/specialists/prompt-schema.mjs +6 -5
  168. package/lib/specialists/roster.mjs +7 -12
  169. package/lib/specialists/schema.mjs +9 -6
  170. package/lib/status.mjs +25 -90
  171. package/lib/storage/file-lock.mjs +6 -3
  172. package/lib/telemetry/skill-calls.mjs +1 -1
  173. package/lib/templates/doc-presentation.mjs +63 -0
  174. package/lib/templates/visual-requirements.mjs +35 -2
  175. package/lib/term-format.mjs +107 -2
  176. package/lib/test-env-setup.mjs +21 -0
  177. package/lib/ui/components.mjs +42 -0
  178. package/lib/ui/glyphs.mjs +58 -0
  179. package/lib/ui/links.mjs +115 -0
  180. package/lib/ui/theme.mjs +108 -0
  181. package/lib/uninstall/uninstall.mjs +2 -1
  182. package/lib/validator.mjs +45 -8
  183. package/lib/validators/skill-effectiveness.mjs +174 -0
  184. package/lib/validators/skills.mjs +1 -1
  185. package/package.json +12 -8
  186. package/personas/construct.md +12 -3
  187. package/platforms/claude/CLAUDE.md +1 -1
  188. package/rules/common/beads-hygiene.md +52 -0
  189. package/rules/common/neurodivergent-output.md +4 -7
  190. package/rules/common/research.md +2 -0
  191. package/scripts/sync-specialists.mjs +269 -51
  192. package/skills/ai/prompt-optimizer.md +3 -3
  193. package/skills/brand/output-vibe.md +48 -0
  194. package/skills/docs/adr-workflow.md +3 -0
  195. package/skills/docs/backlog-proposal-workflow.md +3 -0
  196. package/skills/docs/codebase-research-workflow.md +5 -2
  197. package/skills/docs/customer-profile-workflow.md +3 -0
  198. package/skills/docs/document-ingest-workflow.md +3 -0
  199. package/skills/docs/evidence-ingest-workflow.md +4 -1
  200. package/skills/docs/init-project.md +1 -1
  201. package/skills/docs/prd-workflow.md +1 -1
  202. package/skills/docs/prfaq-workflow.md +3 -0
  203. package/skills/docs/product-intelligence-workflow.md +4 -1
  204. package/skills/docs/product-signal-workflow.md +3 -0
  205. package/skills/docs/research-workflow.md +13 -6
  206. package/skills/docs/runbook-workflow.md +3 -0
  207. package/skills/docs/strategy-workflow.md +3 -0
  208. package/skills/docs/user-research-workflow.md +6 -3
  209. package/skills/operating/orchestration-reference.md +1 -1
  210. package/skills/roles/{engineer.ai.md → ai-engineer.md} +2 -2
  211. package/skills/roles/architect.ai-systems.md +1 -1
  212. package/skills/roles/architect.data.md +1 -1
  213. package/skills/roles/architect.enterprise.md +1 -1
  214. package/skills/roles/architect.integration.md +1 -1
  215. package/skills/roles/architect.md +1 -1
  216. package/skills/roles/architect.platform.md +1 -1
  217. package/skills/roles/{product-manager.business-strategy.md → business-strategist.md} +3 -3
  218. package/skills/roles/data-analyst.experiment.md +1 -1
  219. package/skills/roles/data-analyst.md +1 -1
  220. package/skills/roles/data-analyst.product-intelligence.md +1 -1
  221. package/skills/roles/data-analyst.product.md +1 -1
  222. package/skills/roles/data-analyst.telemetry.md +1 -1
  223. package/skills/roles/{engineer.data.md → data-engineer.md} +2 -2
  224. package/skills/roles/data-engineer.pipeline.md +2 -2
  225. package/skills/roles/data-engineer.vector-retrieval.md +2 -2
  226. package/skills/roles/data-engineer.warehouse.md +2 -2
  227. package/skills/roles/debugger.md +1 -1
  228. package/skills/roles/designer.accessibility.md +1 -1
  229. package/skills/roles/designer.md +1 -1
  230. package/skills/roles/{reviewer.devil-advocate.md → devil-advocate.md} +2 -2
  231. package/skills/roles/{operator.docs.md → docs-keeper.md} +3 -3
  232. package/skills/roles/engineer.md +3 -7
  233. package/skills/roles/{reviewer.evaluator.md → evaluator.md} +2 -2
  234. package/skills/roles/{researcher.explorer.md → explorer.md} +2 -2
  235. package/skills/roles/{operator.md → operations.md} +2 -5
  236. package/skills/roles/orchestrator.md +1 -1
  237. package/skills/roles/{engineer.platform.md → platform-engineer.md} +2 -2
  238. package/skills/roles/product-manager.ai-product.md +1 -1
  239. package/skills/roles/product-manager.enterprise.md +1 -1
  240. package/skills/roles/product-manager.growth.md +1 -2
  241. package/skills/roles/product-manager.md +1 -2
  242. package/skills/roles/product-manager.platform.md +1 -1
  243. package/skills/roles/product-manager.product.md +1 -1
  244. package/skills/roles/qa.ai-eval.md +1 -1
  245. package/skills/roles/qa.api-contract.md +1 -1
  246. package/skills/roles/qa.data-pipeline.md +1 -1
  247. package/skills/roles/qa.md +1 -1
  248. package/skills/roles/qa.web-ui.md +1 -1
  249. package/skills/roles/{operator.release.md → release-manager.md} +3 -3
  250. package/skills/roles/researcher.md +1 -1
  251. package/skills/roles/reviewer.md +1 -1
  252. package/skills/roles/security.ai.md +1 -1
  253. package/skills/roles/security.appsec.md +1 -1
  254. package/skills/roles/security.cloud.md +1 -1
  255. package/skills/roles/security.legal-compliance.md +1 -1
  256. package/skills/roles/security.md +1 -1
  257. package/skills/roles/security.privacy.md +1 -1
  258. package/skills/roles/security.supply-chain.md +1 -1
  259. package/skills/roles/{operator.sre.md → sre.md} +3 -3
  260. package/skills/roles/{qa.test-automation.md → test-automation.md} +2 -2
  261. package/skills/roles/{reviewer.trace.md → trace-reviewer.md} +2 -2
  262. package/skills/roles/{researcher.ux.md → ux-researcher.md} +2 -2
  263. package/skills/routing.json +18 -0
  264. package/skills/routing.md +1 -1
  265. package/specialists/artifact-manifest.json +2 -1
  266. package/specialists/audit-enrichments.json +14 -14
  267. package/specialists/org/contracts/accessibility-to-qa.json +37 -0
  268. package/specialists/org/contracts/any-to-business-strategist.json +57 -0
  269. package/specialists/org/contracts/any-to-debugger.json +38 -0
  270. package/specialists/org/contracts/any-to-designer.json +33 -0
  271. package/specialists/org/contracts/any-to-docs-keeper.json +34 -0
  272. package/specialists/org/contracts/any-to-explorer.json +39 -0
  273. package/specialists/org/contracts/any-to-sre-incident.json +33 -0
  274. package/specialists/org/contracts/any-to-trace-reviewer.json +32 -0
  275. package/specialists/org/contracts/architect-to-ai-engineer.json +32 -0
  276. package/specialists/org/contracts/architect-to-data-engineer.json +52 -0
  277. package/specialists/org/contracts/architect-to-devil-advocate.json +38 -0
  278. package/specialists/org/contracts/architect-to-engineer.json +34 -0
  279. package/specialists/org/contracts/architect-to-evaluator.json +59 -0
  280. package/specialists/org/contracts/architect-to-legal-compliance.json +55 -0
  281. package/specialists/org/contracts/architect-to-operations.json +45 -0
  282. package/specialists/org/contracts/architect-to-platform-engineer.json +42 -0
  283. package/specialists/org/contracts/business-strategist-to-product-manager.json +39 -0
  284. package/specialists/org/contracts/construct-to-orchestrator.json +36 -0
  285. package/specialists/org/contracts/construct-to-rd-lead.json +53 -0
  286. package/specialists/org/contracts/data-analyst-to-product-manager.json +43 -0
  287. package/specialists/org/contracts/data-engineer-to-platform-engineer.json +36 -0
  288. package/specialists/org/contracts/designer-to-accessibility.json +36 -0
  289. package/specialists/org/contracts/engineer-to-qa.json +34 -0
  290. package/specialists/org/contracts/engineer-to-reviewer.json +52 -0
  291. package/specialists/org/contracts/explorer-to-engineer.json +38 -0
  292. package/specialists/org/contracts/legal-compliance-to-release-manager.json +43 -0
  293. package/specialists/org/contracts/platform-engineer-to-engineer.json +31 -0
  294. package/specialists/org/contracts/product-manager-to-architect.json +71 -0
  295. package/specialists/org/contracts/product-manager-to-data-analyst.json +49 -0
  296. package/specialists/org/contracts/product-manager-to-ux-researcher.json +51 -0
  297. package/specialists/org/contracts/qa-to-release-manager.json +42 -0
  298. package/specialists/org/contracts/qa-to-test-automation.json +42 -0
  299. package/specialists/org/contracts/rd-lead-to-architect.json +38 -0
  300. package/specialists/org/contracts/researcher-to-architect.json +40 -0
  301. package/specialists/org/contracts/researcher-to-product-manager.json +57 -0
  302. package/specialists/org/contracts/reviewer-to-security.json +41 -0
  303. package/specialists/org/contracts/sre-to-release-manager.json +36 -0
  304. package/specialists/org/contracts/test-automation-to-engineer.json +34 -0
  305. package/specialists/org/contracts/trace-reviewer-to-sre.json +41 -0
  306. package/specialists/org/contracts/user-to-construct.json +30 -0
  307. package/specialists/org/groups/engineering-group.json +43 -0
  308. package/specialists/org/groups/governance-group.json +38 -0
  309. package/specialists/org/groups/operations-group.json +41 -0
  310. package/specialists/org/groups/product-group.json +46 -0
  311. package/specialists/org/groups/quality-group.json +42 -0
  312. package/specialists/org/groups/strategy-group.json +41 -0
  313. package/specialists/org/policies/action-approval.json +13 -0
  314. package/specialists/org/policies/agents-routing.json +13 -0
  315. package/specialists/org/policies/architecture.json +20 -0
  316. package/specialists/org/policies/bash-safety.json +13 -0
  317. package/specialists/org/policies/beads-hygiene.json +13 -0
  318. package/specialists/org/policies/bootstrap-state.json +13 -0
  319. package/specialists/org/policies/code-review.json +13 -0
  320. package/specialists/org/policies/coding-style.json +13 -0
  321. package/specialists/org/policies/comments.json +13 -0
  322. package/specialists/org/policies/commit-approval.json +13 -0
  323. package/specialists/org/policies/contract-preconditions.json +13 -0
  324. package/specialists/org/policies/deployment.json +20 -0
  325. package/specialists/org/policies/description.json +14 -0
  326. package/specialists/org/policies/design-approval.json +19 -0
  327. package/specialists/org/policies/doc-ownership.json +13 -0
  328. package/specialists/org/policies/file-path-fence.json +13 -0
  329. package/specialists/org/policies/framing.json +13 -0
  330. package/specialists/org/policies/git-workflow.json +13 -0
  331. package/specialists/org/policies/incident-response.json +15 -0
  332. package/specialists/org/policies/intake-triage.json +15 -0
  333. package/specialists/org/policies/neurodivergent-output.json +13 -0
  334. package/specialists/org/policies/no-fabrication.json +13 -0
  335. package/specialists/org/policies/patterns.json +13 -0
  336. package/specialists/org/policies/quality-gate-approval.json +17 -0
  337. package/specialists/org/policies/release-gates.json +13 -0
  338. package/specialists/org/policies/research-evidence.json +13 -0
  339. package/specialists/org/policies/review-before-change.json +13 -0
  340. package/specialists/org/policies/rollback.json +15 -0
  341. package/specialists/org/policies/scope-change.json +20 -0
  342. package/specialists/org/policies/secret-scan.json +13 -0
  343. package/specialists/org/policies/security-approval.json +17 -0
  344. package/specialists/org/policies/security.json +13 -0
  345. package/specialists/org/policies/session-efficiency.json +13 -0
  346. package/specialists/org/policies/skill-routing.json +13 -0
  347. package/specialists/org/policies/strategic-prioritization.json +17 -0
  348. package/specialists/org/policies/testing.json +13 -0
  349. package/specialists/org/policies/tool-invisibility.json +14 -0
  350. package/specialists/org/scopes/creative.json +54 -0
  351. package/specialists/org/scopes/operations.json +51 -0
  352. package/specialists/org/scopes/research.json +60 -0
  353. package/specialists/org/scopes/rnd.json +81 -0
  354. package/specialists/org/specialists/cx-accessibility.json +69 -0
  355. package/specialists/org/specialists/cx-ai-engineer.json +75 -0
  356. package/specialists/org/specialists/cx-architect.json +89 -0
  357. package/specialists/org/specialists/cx-business-strategist.json +72 -0
  358. package/specialists/org/specialists/cx-data-analyst.json +68 -0
  359. package/specialists/org/specialists/cx-data-engineer.json +71 -0
  360. package/specialists/org/specialists/cx-debugger.json +75 -0
  361. package/specialists/org/specialists/cx-designer.json +85 -0
  362. package/specialists/org/specialists/cx-devil-advocate.json +71 -0
  363. package/specialists/org/specialists/cx-docs-keeper.json +82 -0
  364. package/specialists/org/specialists/cx-engineer.json +106 -0
  365. package/specialists/org/specialists/cx-evaluator.json +69 -0
  366. package/specialists/org/specialists/cx-explorer.json +69 -0
  367. package/specialists/org/specialists/cx-legal-compliance.json +74 -0
  368. package/specialists/org/specialists/cx-operations.json +72 -0
  369. package/specialists/org/specialists/cx-oracle.json +46 -0
  370. package/specialists/org/specialists/cx-orchestrator.json +81 -0
  371. package/specialists/org/specialists/cx-platform-engineer.json +80 -0
  372. package/specialists/org/specialists/cx-product-manager.json +102 -0
  373. package/specialists/org/specialists/cx-qa.json +79 -0
  374. package/specialists/org/specialists/cx-rd-lead.json +73 -0
  375. package/specialists/org/specialists/cx-release-manager.json +77 -0
  376. package/specialists/org/specialists/cx-researcher.json +82 -0
  377. package/specialists/org/specialists/cx-reviewer.json +71 -0
  378. package/specialists/org/specialists/cx-security.json +91 -0
  379. package/specialists/org/specialists/cx-sre.json +94 -0
  380. package/specialists/org/specialists/cx-test-automation.json +69 -0
  381. package/specialists/org/specialists/cx-trace-reviewer.json +69 -0
  382. package/specialists/org/specialists/cx-ux-researcher.json +68 -0
  383. package/specialists/org/teams/accessibility-team.json +39 -0
  384. package/specialists/org/teams/design-team.json +40 -0
  385. package/specialists/org/teams/engineering-team.json +50 -0
  386. package/specialists/org/teams/governance-team.json +41 -0
  387. package/specialists/org/teams/operations-team.json +46 -0
  388. package/specialists/org/teams/product-management-team.json +45 -0
  389. package/specialists/org/teams/quality-team.json +49 -0
  390. package/specialists/org/teams/research-team.json +39 -0
  391. package/specialists/org/teams/strategy-team.json +48 -0
  392. package/specialists/org/teams/ux-research-team.json +39 -0
  393. package/specialists/prompts/_shared/validation-contract.md +1 -1
  394. package/specialists/prompts/_team-template.md +10 -0
  395. package/specialists/prompts/cx-accessibility.md +1 -0
  396. package/specialists/prompts/cx-ai-engineer.md +1 -1
  397. package/specialists/prompts/cx-business-strategist.md +1 -1
  398. package/specialists/prompts/cx-data-engineer.md +1 -1
  399. package/specialists/prompts/cx-designer.md +1 -0
  400. package/specialists/prompts/cx-devil-advocate.md +1 -1
  401. package/specialists/prompts/cx-docs-keeper.md +1 -1
  402. package/specialists/prompts/cx-evaluator.md +1 -1
  403. package/specialists/prompts/cx-explorer.md +1 -1
  404. package/specialists/prompts/cx-operations.md +1 -1
  405. package/specialists/prompts/cx-oracle.md +7 -3
  406. package/specialists/prompts/cx-orchestrator.md +17 -1
  407. package/specialists/prompts/cx-platform-engineer.md +1 -1
  408. package/specialists/prompts/cx-product-manager.md +2 -0
  409. package/specialists/prompts/cx-release-manager.md +1 -1
  410. package/specialists/prompts/cx-researcher.md +7 -4
  411. package/specialists/prompts/cx-sre.md +1 -1
  412. package/specialists/prompts/cx-test-automation.md +2 -2
  413. package/specialists/prompts/cx-trace-reviewer.md +3 -3
  414. package/specialists/prompts/cx-ux-researcher.md +2 -1
  415. package/templates/demos/scripts/architecture-review-adr.json +30 -0
  416. package/templates/demos/scripts/capability-contract.json +25 -0
  417. package/templates/demos/scripts/intake-triage.json +25 -0
  418. package/templates/demos/scripts/profile-doctor-health.json +25 -0
  419. package/templates/demos/tapes/agentic-platforms-prd.tape +2 -2
  420. package/templates/demos/tapes/architecture-review-adr.tape +44 -0
  421. package/templates/demos/tapes/capability-contract.tape +39 -0
  422. package/templates/demos/tapes/intake-triage.tape +39 -0
  423. package/templates/demos/tapes/profile-doctor-health.tape +39 -0
  424. package/templates/distribution/construct-brand.typ +23 -18
  425. package/templates/distribution/construct-decision.typ +1 -1
  426. package/templates/distribution/construct-pdf.typ +1 -1
  427. package/templates/distribution/construct-prd.typ +1 -1
  428. package/templates/distribution/construct-research.typ +1 -1
  429. package/templates/distribution/mermaid-puppeteer.json +8 -0
  430. package/templates/docs/persona-artifact.md +1 -1
  431. package/templates/docs/prd.md +6 -0
  432. package/apps/chat/engine/ai-sdk-agent.mjs +0 -183
  433. package/apps/chat/engine/loop-driver.mjs +0 -211
  434. package/apps/chat/engine/models.mjs +0 -122
  435. package/apps/chat/engine/provider-adapters.mjs +0 -171
  436. package/apps/chat/engine/tools/permission.mjs +0 -54
  437. package/apps/chat/engine/tools/primitives.mjs +0 -180
  438. package/apps/chat/engine/tools/registry.mjs +0 -122
  439. package/apps/chat/engine/turn-controls.mjs +0 -70
  440. package/lib/boundary.mjs +0 -127
  441. package/lib/certification/dashboard-api.mjs +0 -71
  442. package/lib/chat/cli.mjs +0 -333
  443. package/lib/chat/command-suggest.mjs +0 -161
  444. package/lib/chat/commands.mjs +0 -215
  445. package/lib/chat/config.mjs +0 -142
  446. package/lib/chat/context-compactor.mjs +0 -250
  447. package/lib/chat/context-continuation.mjs +0 -253
  448. package/lib/chat/continuation-source.mjs +0 -58
  449. package/lib/chat/demo-guide.mjs +0 -61
  450. package/lib/chat/design-tokens.mjs +0 -91
  451. package/lib/chat/desktop-binary.mjs +0 -81
  452. package/lib/chat/desktop-build.mjs +0 -130
  453. package/lib/chat/desktop-launcher.mjs +0 -133
  454. package/lib/chat/evidence.mjs +0 -145
  455. package/lib/chat/export.mjs +0 -74
  456. package/lib/chat/harness/driver.mjs +0 -91
  457. package/lib/chat/list-picker.mjs +0 -112
  458. package/lib/chat/model-picker.mjs +0 -356
  459. package/lib/chat/openrouter-fallback.mjs +0 -151
  460. package/lib/chat/permission-prompt.mjs +0 -33
  461. package/lib/chat/picker-catalog.mjs +0 -45
  462. package/lib/chat/policy-telemetry.mjs +0 -34
  463. package/lib/chat/present.mjs +0 -246
  464. package/lib/chat/session-context.mjs +0 -39
  465. package/lib/chat/session-persist.mjs +0 -73
  466. package/lib/chat/session-restore.mjs +0 -71
  467. package/lib/chat/session-settings.mjs +0 -53
  468. package/lib/chat/system-prompt.mjs +0 -52
  469. package/lib/chat/transparency.mjs +0 -93
  470. package/lib/chat/tui/color-scheme.mjs +0 -42
  471. package/lib/chat/tui/markdown.mjs +0 -123
  472. package/lib/chat/tui/presentation.mjs +0 -100
  473. package/lib/chat/tui/render.mjs +0 -500
  474. package/lib/chat/tui/turn-block.mjs +0 -284
  475. package/lib/chat/tui/turn-present.mjs +0 -18
  476. package/lib/chat/tui/turn-state.mjs +0 -88
  477. package/lib/chat/tui/usage.mjs +0 -122
  478. package/lib/chat/web-commands.mjs +0 -146
  479. package/lib/chat/web-launcher.mjs +0 -63
  480. package/lib/chat/web-picker-keys.mjs +0 -46
  481. package/lib/chat/web-session.mjs +0 -159
  482. package/lib/config/alias.mjs +0 -57
  483. package/lib/dashboard-demo.mjs +0 -71
  484. package/lib/dashboard-static.mjs +0 -175
  485. package/lib/install/desktop-binary-download.mjs +0 -88
  486. package/lib/profiles/loader.mjs +0 -123
  487. package/lib/profiles/rebrand.mjs +0 -46
  488. package/lib/server/auth.mjs +0 -169
  489. package/lib/server/chat-loop.mjs +0 -622
  490. package/lib/server/chat.mjs +0 -336
  491. package/lib/server/cors.mjs +0 -77
  492. package/lib/server/csrf.mjs +0 -103
  493. package/lib/server/demo-preview.mjs +0 -63
  494. package/lib/server/index.mjs +0 -2641
  495. package/lib/server/insights.mjs +0 -780
  496. package/lib/server/langfuse-login.mjs +0 -58
  497. package/lib/server/rate-limit.mjs +0 -93
  498. package/lib/server/telemetry-login.mjs +0 -100
  499. package/lib/server/webhook.mjs +0 -512
  500. package/specialists/contracts.json +0 -1032
  501. package/specialists/contracts.schema.json +0 -83
  502. package/specialists/policy-inventory.json +0 -188
  503. package/specialists/registry.json +0 -1412
  504. package/specialists/role-manifests.json +0 -217
  505. package/specialists/teams.json +0 -94
@@ -5,13 +5,13 @@ inputs: [repository-path]
5
5
  artifactType: research-brief
6
6
  toneDefault: pedagogical
7
7
  toneAllowed: [pedagogical, direct]
8
- verificationBar: "Every claim cites file:line or command output; no assumed architecture."
8
+ verificationBar: "Every load-bearing claim cites a verifiable primary source; label inference confidence; satisfy template structure requirements."
9
9
  ---
10
10
  # Codebase Research Workflow
11
11
 
12
12
  Use when: cx-explorer investigates **this repository** — structure, dependencies, behavior. Not for external vendor research or user interviews.
13
13
 
14
- Call `get_skill("roles/researcher.explorer")` and `get_skill("exploration/repo-map")` before deep dives.
14
+ Call `get_skill("roles/researcher")` and `get_skill("exploration/repo-map")` before deep dives.
15
15
 
16
16
  ## Steps
17
17
 
@@ -38,3 +38,6 @@ Call `get_skill("roles/researcher.explorer")` and `get_skill("exploration/repo-m
38
38
  - Every architectural claim traceable to file:line.
39
39
  - Unknown paths marked `[unverified]` until read.
40
40
  - cx-explorer must **not** answer product prioritization or user preference questions.
41
+ ## Release gate
42
+
43
+ Run `construct artifact validate <path> --type=<type>` before marking the artifact approved.
@@ -24,3 +24,6 @@ Profiles are product memory, not CRM records. Keep only information needed for p
24
24
  ## Retrieval
25
25
 
26
26
  Customer profiles are indexed by hybrid retrieval. Future PRDs, PRFAQs, evidence briefs, and backlog proposals should search them before drafting.
27
+ ## Release gate
28
+
29
+ Run `construct artifact validate <path> --type=<type>` before marking the artifact approved.
@@ -54,3 +54,6 @@ construct ingest ./data/export.xlsx --out=./notes/export.md
54
54
  ## Rules
55
55
 
56
56
  Do not overwrite an existing markdown artifact unless the user explicitly asks for replacement. Prefer creating a suffixed filename instead. Keep original source files untouched.
57
+ ## Release gate
58
+
59
+ Run `construct artifact validate <path> --type=<type>` before marking the artifact approved.
@@ -3,7 +3,7 @@ name: docs-evidence-ingest-workflow
3
3
  description: "Use when: the user pastes customer notes, Slack threads, support tickets, sales notes, research snippets, RFCs, analytics summaries, or competitor signals."
4
4
  inputs: [signal, document]
5
5
  artifactType: evidence-brief
6
- verificationBar: "Every load-bearing claim cites a verifiable source; label inference confidence; satisfy template structure requirements."
6
+ verificationBar: "Observed behavior weighted over self-report; sample size stated; no invented quotes; every load-bearing claim cites a verifiable source."
7
7
  ---
8
8
  # Evidence Ingest Workflow
9
9
 
@@ -34,3 +34,6 @@ Always preserve:
34
34
  ## Storage
35
35
 
36
36
  Files in `.cx/knowledge/` are indexed by Construct's hybrid retrieval path. The vector layer makes them semantically retrievable for future PRDs and Meta PRDs.
37
+ ## Release gate
38
+
39
+ Run `construct artifact validate <path> --type=<type>` before marking the artifact approved.
@@ -37,7 +37,7 @@ docs/ ← human-readable project documentation
37
37
  1. Treat `.cx/context.md`, `.cx/context.json`, `.cx/workflow.json`, `docs/README.md`, and `docs/architecture.md` as required project state.
38
38
  2. Read them at the start of every meaningful session.
39
39
  3. Update them whenever work changes active reality: decisions, workflow phase, architecture assumptions, or documentation contract.
40
- 4. Run `construct dashboard` to see the project in the dashboard.
40
+ 4. Run `construct status` to review the project's current state (workflow phase, core docs, uncommitted changes).
41
41
 
42
42
  ## For cx-docs-keeper
43
43
  At session start, check the core docs set. If missing, suggest running `construct init --docs-preset=lean` (or `construct init --docs-preset=full` for the full lane set).
@@ -39,7 +39,7 @@ Style constraint: do not produce a wall of bullets. Use paragraphs for reasoning
39
39
  | `meta-prd` | `docs/meta-prd/{YYYY-MM-DD}-{slug}.md` |
40
40
  | `rfc` | `docs/decisions/rfc/{YYYY-MM-DD}-{slug}.md` |
41
41
  | `rfc-platform` | `docs/decisions/rfc/{YYYY-MM-DD}-{slug}.md` |
42
- 5. **cx-devil-advocate** runs the FMEA challenge pass (`roles/reviewer.devil-advocate`) on the draft; highest-RPN failure modes need a mitigation or explicit accept-with-rationale before ship. Their specialist id must appear in `.cx/agent-log.jsonl` (manifest `releaseGate.requiredReviewers` for PRD-family types).
42
+ 5. **cx-devil-advocate** runs the FMEA challenge pass (`roles/devil-advocate`) on the draft; highest-RPN failure modes need a mitigation or explicit accept-with-rationale before ship. Their specialist id must appear in `.cx/agent-log.jsonl` (manifest `releaseGate.requiredReviewers` for PRD-family types).
43
43
  6. **cx-docs-keeper** updates `.cx/context.md` with a link to the PRD
44
44
 
45
45
  Run `construct artifact validate <path> --type=<type>` before marking the artifact approved.
@@ -27,3 +27,6 @@ Use when: the user asks for a PRFAQ, working-backwards doc, launch narrative, or
27
27
  ## Approval
28
28
 
29
29
  Stop before marking a PRFAQ approved or publishing it as a document of record.
30
+ ## Release gate
31
+
32
+ Run `construct artifact validate <path> --type=<type>` before marking the artifact approved.
@@ -2,7 +2,7 @@
2
2
  name: docs-product-intelligence-workflow
3
3
  description: "Use when: the request involves customer evidence, PM synthesis, product requirements, PRDs, PRFAQs, customer profiles, product signals, or backlog proposals."
4
4
  inputs: [signal, evidence-brief]
5
- artifactType: prd
5
+ artifactType: product-intelligence
6
6
  verificationBar: "Every load-bearing claim cites a verifiable source; label inference confidence; satisfy template structure requirements."
7
7
  ---
8
8
  # Product Intelligence Workflow
@@ -73,3 +73,6 @@ Stop and ask the primary persona before:
73
73
  Product Intelligence output must cite evidence, distinguish observation from inference, name confidence, and avoid a wall of bullets. Keep em dashes rare. Use paragraphs for reasoning, tables for comparisons, and bullets for scanability.
74
74
 
75
75
  For time-sensitive or externally sourced claims, include the date basis. For load-bearing claims, prefer two independent sources unless one authoritative primary source is enough.
76
+ ## Release gate
77
+
78
+ Run `construct artifact validate <path> --type=<type>` before marking the artifact approved.
@@ -61,3 +61,6 @@ After grouping evidence, check `.cx/knowledge/decisions/strategy/` for any decla
61
61
  | PRFAQ | `docs/prfaq/` |
62
62
  | Meta PRD | `docs/meta-prd/` |
63
63
  | Backlog proposal | pending approval gate: do not file until explicit user approval |
64
+ ## Release gate
65
+
66
+ Run `construct artifact validate <path> --type=<type>` before marking the artifact approved.
@@ -18,7 +18,14 @@ Follow [rules/common/research.md](../../rules/common/research.md) as the default
18
18
  1. **Clarify the question**: one specific, falsifiable question the research must answer.
19
19
  2. **Apply recency discipline**: search from the most recent year backward. For fast-moving domains, treat sources older than 12 months as presumptively stale unless confirmed.
20
20
  3. **Check internal evidence first**: `.cx/research/`, `.cx/knowledge/`, PRDs, ADRs, runbooks before going external.
21
- 4. **Choose authoritative starting points** (external primary only):
21
+ 4. **Choose the tool path by intent, not habit**:
22
+
23
+ - Construct itself → `knowledge_search`
24
+ - Current repo / attached files / ingested artifacts → local evidence first
25
+ - Library / framework / API / cloud docs → Context7 when available, otherwise web-search and fetch official docs directly
26
+ - Everything else → domain-primary sources first, web search only as the locator
27
+
28
+ 5. **Choose authoritative starting points** (external primary only):
22
29
 
23
30
  | Domain | Starting points |
24
31
  |---|---|
@@ -28,11 +35,11 @@ Follow [rules/common/research.md](../../rules/common/research.md) as the default
28
35
  | Cloud / API / SDK | Official vendor docs for exact version, changelog, migration guide |
29
36
  | Regulatory | Primary regulation text, official agency guidance |
30
37
 
31
- 5. **Source hierarchy**: primary → secondary → tertiary (tertiary never alone for load-bearing claims).
32
- 6. **Verify every URL** before citing. Mark unconfirmed as `[unverified]`.
33
- 7. **Tone**: resolve from artifact manifest (`direct`). See `specialists/tone-profiles.json`.
34
- 8. **Structure** with `get_template("research-brief")`; write to `.cx/research/{topic-slug}.md`.
35
- 9. **Reference** the research doc in the requesting agent's output.
38
+ 6. **Source hierarchy**: primary → secondary → tertiary (tertiary never alone for load-bearing claims).
39
+ 7. **Verify every URL** before citing. Mark unconfirmed as `[unverified]`.
40
+ 8. **Tone**: resolve from artifact manifest (`direct`). See `specialists/tone-profiles.json`.
41
+ 9. **Structure** with `get_template("research-brief")`; write to `.cx/research/{topic-slug}.md`.
42
+ 10. **Reference** the research doc in the requesting agent's output.
36
43
 
37
44
  ## Distribution (publish pipeline)
38
45
 
@@ -24,3 +24,6 @@ Use when: creating operational procedures for services, alerts, or recurring ope
24
24
  ## Review cadence
25
25
  - Runbooks should be tested (table-top or live) at least quarterly
26
26
  - Update `Last updated` field after each use or review
27
+ ## Release gate
28
+
29
+ Run `construct artifact validate <path> --type=<type>` before marking the artifact approved.
@@ -36,3 +36,6 @@ Given a product signal or PRD, check:
36
36
  |---|---|---|
37
37
  | User-global | `~/.cx/strategy.md` | No: local only |
38
38
  | Project-local | `.cx/strategy.md` | Yes: source of truth for this repo |
39
+ ## Release gate
40
+
41
+ Run `construct artifact validate <path> --type=<type>` before marking the artifact approved.
@@ -5,13 +5,13 @@ inputs: [user-research, interview-data]
5
5
  artifactType: evidence-brief
6
6
  toneDefault: pedagogical
7
7
  toneAllowed: [pedagogical, direct, friendly]
8
- verificationBar: "Observed behavior weighted over self-report; sample size stated; no invented quotes."
8
+ verificationBar: "Observed behavior weighted over self-report; sample size stated; no invented quotes; every load-bearing claim cites a verifiable source."
9
9
  ---
10
10
  # User Research Workflow
11
11
 
12
12
  Use when: cx-ux-researcher gathers or synthesizes **user** evidence. Do not use for CVE lookups, API version facts, or repo structure — use `docs/research-workflow` (cx-researcher) or `docs/codebase-research-workflow` (cx-explorer) instead.
13
13
 
14
- Follow [rules/common/research.md](../../rules/common/research.md) and call `get_skill("roles/researcher.ux")` before drafting.
14
+ Follow [rules/common/research.md](../../rules/common/research.md) and call `get_skill("roles/ux-researcher")` before drafting.
15
15
 
16
16
  ## Steps
17
17
 
@@ -28,7 +28,7 @@ Follow [rules/common/research.md](../../rules/common/research.md) and call `get_
28
28
  | Sales / CS summary | secondary | Trace to underlying tickets when possible |
29
29
 
30
30
  4. **Sampling**: state segment, N, recruitment method. Behavioral claims need ≥5 per segment unless exploratory (flag as low confidence).
31
- 5. **Validity**: name the weakest validity threat (internal/external/construct/conclusion) per `roles/researcher.ux` — that threat is where the finding is most likely wrong.
31
+ 5. **Validity**: name the weakest validity threat (internal/external/construct/conclusion) per `roles/ux-researcher` — that threat is where the finding is most likely wrong.
32
32
  6. **Inter-rater reliability**: when themes are coded from qualitative data, two coders code a sample independently; report agreement (or Cohen's κ when N permits). Persistent disagreement means the codebook is unfinished — fix the codebook before shipping themes.
33
33
  7. **Tone**: default `pedagogical`; override via `.cx/brand-voice.json` if present.
34
34
  8. **Output**: `get_template("evidence-brief")` or `signal-brief` when threshold not met; store under `.cx/knowledge/internal/evidence-briefs/`.
@@ -38,3 +38,6 @@ Follow [rules/common/research.md](../../rules/common/research.md) and call `get_
38
38
  - No invented customer names, quotes, or ticket ids.
39
39
  - Findings describe problems, not prescribed UI solutions.
40
40
  - cx-ux-researcher must **not** cite blog posts for API version or security claims.
41
+ ## Release gate
42
+
43
+ Run `construct artifact validate <path> --type=<type>` before marking the artifact approved.
@@ -118,7 +118,7 @@ If you reason about the same decision across two consecutive turns without a new
118
118
 
119
119
  ## Speculation rule
120
120
 
121
- When choosing between named options (SDK vs SDK, library vs library, pattern vs pattern), the answer comes from `context7_query-docs`, `WebFetch`, the user, or an explicit default: never from internal reasoning rounds alone.
121
+ When choosing between named options (SDK vs SDK, library vs library, pattern vs pattern), the answer comes from the appropriate evidence path: Context7 for library/framework/API docs when available, direct fetch/search of official docs otherwise, local repo evidence when the question is project-local, the user, or an explicit default. Never from internal reasoning rounds alone.
122
122
 
123
123
  ## Dispatch-first test
124
124
 
@@ -3,12 +3,12 @@ name: roles-engineer-ai
3
3
  description: Surfaces anti-patterns, failure modes, and counter-moves specific to the Engineer — AI role. Use when reviewing or generating work by cx-ai-engineer, or when an agent is acting in the Engineer — AI role.
4
4
  inputs: [code-diff, prompt]
5
5
  artifactType: role-guidance
6
- role: engineer.ai
6
+ role: ai-engineer
7
7
  applies_to:
8
8
  - cx-ai-engineer
9
9
  inherits: engineer
10
10
  version: 2
11
- profiles:
11
+ scopes:
12
12
  - rnd
13
13
  cap: 1
14
14
  ---
@@ -8,7 +8,7 @@ applies_to:
8
8
  - cx-architect
9
9
  inherits: architect
10
10
  version: 2
11
- profiles:
11
+ scopes:
12
12
  - rnd
13
13
  cap: 1
14
14
  ---
@@ -8,7 +8,7 @@ applies_to:
8
8
  - cx-architect
9
9
  inherits: architect
10
10
  version: 2
11
- profiles:
11
+ scopes:
12
12
  - rnd
13
13
  cap: 1
14
14
  ---
@@ -8,7 +8,7 @@ applies_to:
8
8
  - cx-architect
9
9
  inherits: architect
10
10
  version: 2
11
- profiles:
11
+ scopes:
12
12
  - rnd
13
13
  cap: 1
14
14
  ---
@@ -8,7 +8,7 @@ applies_to:
8
8
  - cx-architect
9
9
  inherits: architect
10
10
  version: 2
11
- profiles:
11
+ scopes:
12
12
  - rnd
13
13
  cap: 1
14
14
  ---
@@ -9,7 +9,7 @@ applies_to:
9
9
  - cx-rd-lead
10
10
  inherits: null
11
11
  version: 2
12
- profiles:
12
+ scopes:
13
13
  - rnd
14
14
  cap: 1
15
15
  ---
@@ -8,7 +8,7 @@ applies_to:
8
8
  - cx-architect
9
9
  inherits: architect
10
10
  version: 2
11
- profiles:
11
+ scopes:
12
12
  - rnd
13
13
  cap: 1
14
14
  ---
@@ -3,12 +3,12 @@ name: roles-product-manager-business-strategy
3
3
  description: Surfaces anti-patterns, failure modes, and counter-moves specific to the Product Manager — Business Strategy role. Use when reviewing or generating work by cx-business-strategist, or when an agent is acting in the Product Manager — Business Strategy role.
4
4
  inputs: [strategy-doc, competitive-analysis]
5
5
  artifactType: guidance
6
- role: product-manager.business-strategy
6
+ role: business-strategist
7
7
  applies_to:
8
8
  - cx-business-strategist
9
- inherits: product-manager
9
+ inherits: null
10
10
  version: 2
11
- profiles:
11
+ scopes:
12
12
  - rnd
13
13
  cap: 1
14
14
  ---
@@ -8,7 +8,7 @@ applies_to:
8
8
  - cx-data-analyst
9
9
  inherits: data-analyst
10
10
  version: 2
11
- profiles:
11
+ scopes:
12
12
  - rnd
13
13
  cap: 1
14
14
  ---
@@ -8,7 +8,7 @@ applies_to:
8
8
  - cx-data-analyst
9
9
  inherits: null
10
10
  version: 2
11
- profiles:
11
+ scopes:
12
12
  - rnd
13
13
  cap: 1
14
14
  ---
@@ -9,7 +9,7 @@ applies_to:
9
9
  - cx-product-manager
10
10
  inherits: data-analyst
11
11
  version: 2
12
- profiles:
12
+ scopes:
13
13
  - rnd
14
14
  cap: 1
15
15
  ---
@@ -8,7 +8,7 @@ applies_to:
8
8
  - cx-data-analyst
9
9
  inherits: data-analyst
10
10
  version: 2
11
- profiles:
11
+ scopes:
12
12
  - rnd
13
13
  cap: 1
14
14
  ---
@@ -9,7 +9,7 @@ applies_to:
9
9
  - cx-sre
10
10
  inherits: data-analyst
11
11
  version: 2
12
- profiles:
12
+ scopes:
13
13
  - rnd
14
14
  cap: 1
15
15
  ---
@@ -3,12 +3,12 @@ name: roles-engineer-data
3
3
  description: Surfaces anti-patterns, failure modes, and counter-moves specific to the Engineer — Data role. Use when reviewing or generating work by cx-data-engineer, or when an agent is acting in the Engineer — Data role.
4
4
  inputs: [code-diff, data-pipeline]
5
5
  artifactType: role-guidance
6
- role: engineer.data
6
+ role: data-engineer
7
7
  applies_to:
8
8
  - cx-data-engineer
9
9
  inherits: engineer
10
10
  version: 2
11
- profiles:
11
+ scopes:
12
12
  - rnd
13
13
  cap: 1
14
14
  ---
@@ -6,9 +6,9 @@ artifactType: role-guidance
6
6
  role: data-engineer.pipeline
7
7
  applies_to:
8
8
  - cx-data-engineer
9
- inherits: engineer.data
9
+ inherits: data-engineer
10
10
  version: 2
11
- profiles:
11
+ scopes:
12
12
  - rnd
13
13
  cap: 1
14
14
  ---
@@ -7,9 +7,9 @@ role: data-engineer.vector-retrieval
7
7
  applies_to:
8
8
  - cx-data-engineer
9
9
  - cx-ai-engineer
10
- inherits: engineer.data
10
+ inherits: data-engineer
11
11
  version: 2
12
- profiles:
12
+ scopes:
13
13
  - rnd
14
14
  cap: 1
15
15
  ---
@@ -6,9 +6,9 @@ artifactType: role-guidance
6
6
  role: data-engineer.warehouse
7
7
  applies_to:
8
8
  - cx-data-engineer
9
- inherits: engineer.data
9
+ inherits: data-engineer
10
10
  version: 2
11
- profiles:
11
+ scopes:
12
12
  - rnd
13
13
  cap: 1
14
14
  ---
@@ -8,7 +8,7 @@ applies_to:
8
8
  - cx-debugger
9
9
  inherits: null
10
10
  version: 2
11
- profiles:
11
+ scopes:
12
12
  - rnd
13
13
  cap: 1
14
14
  ---
@@ -8,7 +8,7 @@ applies_to:
8
8
  - cx-accessibility
9
9
  inherits: designer
10
10
  version: 2
11
- profiles:
11
+ scopes:
12
12
  - rnd
13
13
  cap: 1
14
14
  ---
@@ -9,7 +9,7 @@ applies_to:
9
9
  - cx-accessibility
10
10
  inherits: null
11
11
  version: 2
12
- profiles:
12
+ scopes:
13
13
  - rnd
14
14
  cap: 1
15
15
  ---
@@ -3,12 +3,12 @@ name: roles-reviewer-devil-advocate
3
3
  description: Surfaces anti-patterns, failure modes, and counter-moves specific to the Reviewer — Devil Advocate role. Use when reviewing or generating work by cx-devil-advocate, or when an agent is acting in the Reviewer — Devil Advocate role.
4
4
  inputs: [plan, proposal]
5
5
  artifactType: guidance
6
- role: reviewer.devil-advocate
6
+ role: devil-advocate
7
7
  applies_to:
8
8
  - cx-devil-advocate
9
9
  inherits: reviewer
10
10
  version: 2
11
- profiles:
11
+ scopes:
12
12
  - rnd
13
13
  cap: 1
14
14
  ---
@@ -3,12 +3,12 @@ name: roles-operator-docs
3
3
  description: Surfaces anti-patterns, failure modes, and counter-moves specific to the Operator — Docs role. Use when reviewing or generating work by cx-docs-keeper, or when an agent is acting in the Operator — Docs role.
4
4
  inputs: [docs, runbook]
5
5
  artifactType: role-guidance
6
- role: operator.docs
6
+ role: docs-keeper
7
7
  applies_to:
8
8
  - cx-docs-keeper
9
- inherits: operator
9
+ inherits: operations
10
10
  version: 2
11
- profiles:
11
+ scopes:
12
12
  - rnd
13
13
  cap: 1
14
14
  ---
@@ -1,17 +1,14 @@
1
1
  ---
2
2
  name: roles-engineer
3
- description: Surfaces anti-patterns, failure modes, and counter-moves specific to the Engineer role. Use when reviewing or generating work by cx-engineer, cx-ai-engineer, cx-data-engineer, cx-platform-engineer, or when an agent is acting in the Engineer role.
3
+ description: Surfaces anti-patterns, failure modes, and counter-moves specific to the Engineer role. Use when reviewing or generating work by cx-engineer, or when an agent is acting in the Engineer role.
4
4
  inputs: [code-diff, task-context]
5
5
  artifactType: role-guidance
6
6
  role: engineer
7
7
  applies_to:
8
8
  - cx-engineer
9
- - cx-ai-engineer
10
- - cx-data-engineer
11
- - cx-platform-engineer
12
9
  inherits: null
13
10
  version: 2
14
- profiles:
11
+ scopes:
15
12
  - rnd
16
13
  cap: 1
17
14
  ---
@@ -68,7 +65,7 @@ Load this before drafting. These are the failure modes that separate strong role
68
65
  ### 10. Speculating across thinking turns
69
66
  **Symptom**: reasoning about which library, pattern, or abstraction to use across multiple thinking turns without reading code, calling docs, or asking.
70
67
  **Why it fails**: guesses compound; the eventual choice is made from context the model built about itself, not from the codebase or the library.
71
- **Counter-move**: two unproductive passes is the cap. Next step is a targeted read, a docs lookup (`context7_query-docs`/`WebFetch`), a NEEDS_MAIN_INPUT packet, or a default with a noted assumption.
68
+ **Counter-move**: two unproductive passes is the cap. Next step is a targeted read, the appropriate docs/evidence lookup path (Context7 for library docs when available, direct official-doc fetch otherwise), a NEEDS_MAIN_INPUT packet, or a default with a noted assumption.
72
69
 
73
70
  ### 11. Unbounded file reads
74
71
  **Symptom**: reading files with large `limit` values without checking size first, or offset reads that fail with "out of range".
@@ -118,4 +115,3 @@ Shortcut: `npm run release:check`.
118
115
  **Effective Action**: Before modifying a function, read the full file and grep for callers with `grep -r 'functionName' src/`...
119
116
  **Evidence**: Score 0.89, used 8 times, 2 projects
120
117
  *Last reinforced: 2026-05-04*
121
-
@@ -3,12 +3,12 @@ name: roles-reviewer-evaluator
3
3
  description: Surfaces anti-patterns, failure modes, and counter-moves specific to the Reviewer — Evaluator role. Use when reviewing or generating work by cx-evaluator, or when an agent is acting in the Reviewer — Evaluator role.
4
4
  inputs: [model-output, eval-set]
5
5
  artifactType: guidance
6
- role: reviewer.evaluator
6
+ role: evaluator
7
7
  applies_to:
8
8
  - cx-evaluator
9
9
  inherits: reviewer
10
10
  version: 2
11
- profiles:
11
+ scopes:
12
12
  - rnd
13
13
  cap: 1
14
14
  ---
@@ -3,12 +3,12 @@ name: roles-researcher-explorer
3
3
  description: Surfaces anti-patterns, failure modes, and counter-moves specific to the Researcher — Explorer role. Use when reviewing or generating work by cx-explorer, or when an agent is acting in the Researcher — Explorer role.
4
4
  inputs: [repo, task-context]
5
5
  artifactType: guidance
6
- role: researcher.explorer
6
+ role: explorer
7
7
  applies_to:
8
8
  - cx-explorer
9
9
  inherits: researcher
10
10
  version: 2
11
- profiles:
11
+ scopes:
12
12
  - rnd
13
13
  cap: 1
14
14
  ---
@@ -3,15 +3,12 @@ name: roles-operator
3
3
  description: Surfaces anti-patterns, failure modes, and counter-moves specific to the Operator role. Use when reviewing or generating work by cx-sre, cx-operations, cx-release-manager, cx-docs-keeper, or when an agent is acting in the Operator role.
4
4
  inputs: [runbook, deployment-plan]
5
5
  artifactType: role-guidance
6
- role: operator
6
+ role: operations
7
7
  applies_to:
8
- - cx-sre
9
8
  - cx-operations
10
- - cx-release-manager
11
- - cx-docs-keeper
12
9
  inherits: null
13
10
  version: 2
14
- profiles:
11
+ scopes:
15
12
  - rnd
16
13
  cap: 1
17
14
  ---
@@ -8,7 +8,7 @@ applies_to:
8
8
  - cx-orchestrator
9
9
  inherits: null
10
10
  version: 2
11
- profiles:
11
+ scopes:
12
12
  - rnd
13
13
  cap: 1
14
14
  ---
@@ -3,12 +3,12 @@ name: roles-engineer-platform
3
3
  description: Surfaces anti-patterns, failure modes, and counter-moves specific to the Engineer — Platform role. Use when reviewing or generating work by cx-platform-engineer, or when an agent is acting in the Engineer — Platform role.
4
4
  inputs: [code-diff, internal-tooling]
5
5
  artifactType: role-guidance
6
- role: engineer.platform
6
+ role: platform-engineer
7
7
  applies_to:
8
8
  - cx-platform-engineer
9
9
  inherits: engineer
10
10
  version: 2
11
- profiles:
11
+ scopes:
12
12
  - rnd
13
13
  cap: 1
14
14
  ---
@@ -8,7 +8,7 @@ applies_to:
8
8
  - cx-product-manager
9
9
  inherits: product-manager
10
10
  version: 2
11
- profiles:
11
+ scopes:
12
12
  - rnd
13
13
  cap: 1
14
14
  ---
@@ -8,7 +8,7 @@ applies_to:
8
8
  - cx-product-manager
9
9
  inherits: product-manager
10
10
  version: 2
11
- profiles:
11
+ scopes:
12
12
  - rnd
13
13
  cap: 1
14
14
  ---
@@ -6,10 +6,9 @@ artifactType: guidance
6
6
  role: product-manager.growth
7
7
  applies_to:
8
8
  - cx-product-manager
9
- - cx-business-strategist
10
9
  inherits: product-manager
11
10
  version: 2
12
- profiles:
11
+ scopes:
13
12
  - rnd
14
13
  cap: 1
15
14
  ---
@@ -6,10 +6,9 @@ artifactType: guidance
6
6
  role: product-manager
7
7
  applies_to:
8
8
  - cx-product-manager
9
- - cx-business-strategist
10
9
  inherits: null
11
10
  version: 2
12
- profiles:
11
+ scopes:
13
12
  - rnd
14
13
  cap: 1
15
14
  ---
@@ -8,7 +8,7 @@ applies_to:
8
8
  - cx-product-manager
9
9
  inherits: product-manager
10
10
  version: 2
11
- profiles:
11
+ scopes:
12
12
  - rnd
13
13
  cap: 1
14
14
  ---