@geraldmaron/construct 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (352) hide show
  1. package/.env.example +69 -0
  2. package/LICENSE +21 -0
  3. package/README.md +344 -0
  4. package/agents/prompts/cx-accessibility.md +29 -0
  5. package/agents/prompts/cx-ai-engineer.md +31 -0
  6. package/agents/prompts/cx-architect.md +40 -0
  7. package/agents/prompts/cx-business-strategist.md +25 -0
  8. package/agents/prompts/cx-data-analyst.md +30 -0
  9. package/agents/prompts/cx-data-engineer.md +32 -0
  10. package/agents/prompts/cx-debugger.md +27 -0
  11. package/agents/prompts/cx-designer.md +33 -0
  12. package/agents/prompts/cx-devil-advocate.md +36 -0
  13. package/agents/prompts/cx-docs-keeper.md +50 -0
  14. package/agents/prompts/cx-engineer.md +36 -0
  15. package/agents/prompts/cx-evaluator.md +26 -0
  16. package/agents/prompts/cx-explorer.md +38 -0
  17. package/agents/prompts/cx-legal-compliance.md +25 -0
  18. package/agents/prompts/cx-operations.md +28 -0
  19. package/agents/prompts/cx-orchestrator.md +30 -0
  20. package/agents/prompts/cx-platform-engineer.md +25 -0
  21. package/agents/prompts/cx-product-manager.md +30 -0
  22. package/agents/prompts/cx-qa.md +42 -0
  23. package/agents/prompts/cx-rd-lead.md +25 -0
  24. package/agents/prompts/cx-release-manager.md +31 -0
  25. package/agents/prompts/cx-researcher.md +31 -0
  26. package/agents/prompts/cx-reviewer.md +36 -0
  27. package/agents/prompts/cx-security.md +37 -0
  28. package/agents/prompts/cx-sre.md +26 -0
  29. package/agents/prompts/cx-test-automation.md +35 -0
  30. package/agents/prompts/cx-trace-reviewer.md +76 -0
  31. package/agents/prompts/cx-ux-researcher.md +30 -0
  32. package/agents/registry.json +879 -0
  33. package/agents/teams.json +94 -0
  34. package/bin/construct +613 -0
  35. package/commands/build/feature.md +21 -0
  36. package/commands/build/fix.md +20 -0
  37. package/commands/design/access.md +19 -0
  38. package/commands/design/flow.md +16 -0
  39. package/commands/design/ui.md +18 -0
  40. package/commands/measure/experiment.md +18 -0
  41. package/commands/measure/metrics.md +18 -0
  42. package/commands/measure/results.md +18 -0
  43. package/commands/plan/api.md +19 -0
  44. package/commands/plan/challenge.md +18 -0
  45. package/commands/plan/decide.md +20 -0
  46. package/commands/plan/feature.md +49 -0
  47. package/commands/plan/requirements.md +24 -0
  48. package/commands/remember/context.md +26 -0
  49. package/commands/remember/handoff.md +19 -0
  50. package/commands/remember/runbook.md +20 -0
  51. package/commands/review/code.md +21 -0
  52. package/commands/review/quality.md +19 -0
  53. package/commands/review/security.md +16 -0
  54. package/commands/ship/ready.md +19 -0
  55. package/commands/ship/release.md +19 -0
  56. package/commands/ship/status.md +18 -0
  57. package/commands/understand/docs.md +22 -0
  58. package/commands/understand/research.md +22 -0
  59. package/commands/understand/this.md +23 -0
  60. package/commands/understand/why.md +18 -0
  61. package/commands/work/clean.md +32 -0
  62. package/commands/work/drive.md +69 -0
  63. package/commands/work/optimize-prompts.md +46 -0
  64. package/commands/work/parallel-review.md +40 -0
  65. package/db/migrations/001_init.sql +38 -0
  66. package/langfuse/docker-compose.yml +82 -0
  67. package/lib/audit-skills.mjs +118 -0
  68. package/lib/auto-docs.mjs +293 -0
  69. package/lib/cli-commands.mjs +409 -0
  70. package/lib/codex-config.mjs +114 -0
  71. package/lib/comment-lint.mjs +191 -0
  72. package/lib/completions.mjs +170 -0
  73. package/lib/context-state.mjs +99 -0
  74. package/lib/cost.mjs +213 -0
  75. package/lib/distill.mjs +403 -0
  76. package/lib/efficiency.mjs +139 -0
  77. package/lib/env-config.mjs +53 -0
  78. package/lib/eval-harness.mjs +59 -0
  79. package/lib/features.mjs +209 -0
  80. package/lib/headhunt.mjs +597 -0
  81. package/lib/hooks/adaptive-lint.mjs +112 -0
  82. package/lib/hooks/agent-tracker.mjs +50 -0
  83. package/lib/hooks/bootstrap-guard.mjs +90 -0
  84. package/lib/hooks/comment-lint.mjs +26 -0
  85. package/lib/hooks/config-protection.mjs +52 -0
  86. package/lib/hooks/console-warn.mjs +43 -0
  87. package/lib/hooks/context-window-recovery.mjs +90 -0
  88. package/lib/hooks/continuation-enforcer.mjs +72 -0
  89. package/lib/hooks/dep-audit.mjs +155 -0
  90. package/lib/hooks/drive-guard.mjs +89 -0
  91. package/lib/hooks/edit-accumulator.mjs +36 -0
  92. package/lib/hooks/edit-error-recovery.mjs +46 -0
  93. package/lib/hooks/edit-guard.mjs +109 -0
  94. package/lib/hooks/env-check.mjs +80 -0
  95. package/lib/hooks/guard-bash.mjs +83 -0
  96. package/lib/hooks/mcp-audit.mjs +57 -0
  97. package/lib/hooks/mcp-health-check.mjs +51 -0
  98. package/lib/hooks/mcp-task-scope.mjs +47 -0
  99. package/lib/hooks/model-fallback.mjs +105 -0
  100. package/lib/hooks/pre-compact.mjs +212 -0
  101. package/lib/hooks/pre-push-gate.mjs +129 -0
  102. package/lib/hooks/read-tracker.mjs +129 -0
  103. package/lib/hooks/registry-sync.mjs +23 -0
  104. package/lib/hooks/scan-secrets.mjs +76 -0
  105. package/lib/hooks/session-start.mjs +95 -0
  106. package/lib/hooks/stop-notify.mjs +191 -0
  107. package/lib/hooks/stop-typecheck.mjs +83 -0
  108. package/lib/hooks/task-completed-guard.mjs +43 -0
  109. package/lib/hooks/teammate-idle-guard.mjs +54 -0
  110. package/lib/hooks/workflow-guard.mjs +62 -0
  111. package/lib/host-capabilities.mjs +123 -0
  112. package/lib/init-docs.mjs +382 -0
  113. package/lib/mcp/server.mjs +1123 -0
  114. package/lib/mcp-catalog.json +243 -0
  115. package/lib/mcp-manager.mjs +433 -0
  116. package/lib/mcp-platform-config.mjs +104 -0
  117. package/lib/model-router.mjs +810 -0
  118. package/lib/opencode-config.mjs +44 -0
  119. package/lib/opencode-runtime-plugin.mjs +909 -0
  120. package/lib/opencode-telemetry.mjs +433 -0
  121. package/lib/orchestration-policy.mjs +258 -0
  122. package/lib/prompt-composer.mjs +196 -0
  123. package/lib/prompt-metadata.mjs +68 -0
  124. package/lib/review.mjs +429 -0
  125. package/lib/role-preload.mjs +52 -0
  126. package/lib/schemas/decision.json +50 -0
  127. package/lib/schemas/implementation.json +51 -0
  128. package/lib/schemas/review-report.json +32 -0
  129. package/lib/schemas/test-report.json +43 -0
  130. package/lib/server/index.mjs +334 -0
  131. package/lib/server/static/app.js +841 -0
  132. package/lib/server/static/index.html +820 -0
  133. package/lib/service-manager.mjs +225 -0
  134. package/lib/setup.mjs +319 -0
  135. package/lib/status.mjs +707 -0
  136. package/lib/storage/backend.mjs +44 -0
  137. package/lib/storage/embeddings.mjs +70 -0
  138. package/lib/storage/hybrid-query.mjs +184 -0
  139. package/lib/storage/sql-store.mjs +55 -0
  140. package/lib/storage/state-source.mjs +101 -0
  141. package/lib/storage/sync.mjs +164 -0
  142. package/lib/storage/vector-store.mjs +59 -0
  143. package/lib/telemetry/backends/langfuse.mjs +58 -0
  144. package/lib/telemetry/backends/noop.mjs +16 -0
  145. package/lib/telemetry/langfuse-ingest.mjs +108 -0
  146. package/lib/telemetry/langfuse-model-sync.mjs +270 -0
  147. package/lib/telemetry/team-rollup.mjs +143 -0
  148. package/lib/toolkit-env.mjs +30 -0
  149. package/lib/validator.mjs +181 -0
  150. package/lib/workflow-state.mjs +794 -0
  151. package/package.json +53 -0
  152. package/personas/construct.md +94 -0
  153. package/platforms/claude/CLAUDE.md +30 -0
  154. package/platforms/claude/settings.template.json +472 -0
  155. package/platforms/opencode/config.template.json +65 -0
  156. package/platforms/opencode/plugins/construct-fallback.js +5 -0
  157. package/platforms/opencode/sync-config.mjs +69 -0
  158. package/rules/common/agents.md +55 -0
  159. package/rules/common/code-review.md +129 -0
  160. package/rules/common/coding-style.md +95 -0
  161. package/rules/common/comments.md +139 -0
  162. package/rules/common/cx-agent-routing.md +61 -0
  163. package/rules/common/cx-skill-routing.md +11 -0
  164. package/rules/common/development-workflow.md +49 -0
  165. package/rules/common/git-workflow.md +29 -0
  166. package/rules/common/hooks.md +35 -0
  167. package/rules/common/patterns.md +36 -0
  168. package/rules/common/performance.md +71 -0
  169. package/rules/common/security.md +34 -0
  170. package/rules/common/testing.md +62 -0
  171. package/rules/golang/coding-style.md +37 -0
  172. package/rules/golang/hooks.md +22 -0
  173. package/rules/golang/patterns.md +50 -0
  174. package/rules/golang/security.md +39 -0
  175. package/rules/golang/testing.md +36 -0
  176. package/rules/python/coding-style.md +47 -0
  177. package/rules/python/hooks.md +24 -0
  178. package/rules/python/patterns.md +44 -0
  179. package/rules/python/security.md +35 -0
  180. package/rules/python/testing.md +43 -0
  181. package/rules/swift/coding-style.md +52 -0
  182. package/rules/swift/hooks.md +25 -0
  183. package/rules/swift/patterns.md +71 -0
  184. package/rules/swift/security.md +38 -0
  185. package/rules/swift/testing.md +50 -0
  186. package/rules/typescript/coding-style.md +204 -0
  187. package/rules/typescript/hooks.md +27 -0
  188. package/rules/typescript/patterns.md +57 -0
  189. package/rules/typescript/security.md +33 -0
  190. package/rules/typescript/testing.md +23 -0
  191. package/rules/web/coding-style.md +101 -0
  192. package/rules/web/design-quality.md +68 -0
  193. package/rules/web/hooks.md +125 -0
  194. package/rules/web/patterns.md +84 -0
  195. package/rules/web/performance.md +69 -0
  196. package/rules/web/security.md +62 -0
  197. package/rules/web/testing.md +60 -0
  198. package/rules/zh/README.md +113 -0
  199. package/rules/zh/agents.md +55 -0
  200. package/rules/zh/code-review.md +129 -0
  201. package/rules/zh/coding-style.md +53 -0
  202. package/rules/zh/development-workflow.md +49 -0
  203. package/rules/zh/git-workflow.md +29 -0
  204. package/rules/zh/hooks.md +35 -0
  205. package/rules/zh/patterns.md +36 -0
  206. package/rules/zh/performance.md +60 -0
  207. package/rules/zh/security.md +34 -0
  208. package/rules/zh/testing.md +34 -0
  209. package/skills/ai/agent-dev.md +102 -0
  210. package/skills/ai/llm-security.md +105 -0
  211. package/skills/ai/ml-ops.md +169 -0
  212. package/skills/ai/orchestration-workflow.md +87 -0
  213. package/skills/ai/prompt-and-eval.md +114 -0
  214. package/skills/ai/prompt-optimizer.md +114 -0
  215. package/skills/ai/rag-system.md +104 -0
  216. package/skills/architecture/api-design.md +100 -0
  217. package/skills/architecture/caching.md +101 -0
  218. package/skills/architecture/cloud-native.md +97 -0
  219. package/skills/architecture/message-queue.md +100 -0
  220. package/skills/architecture/security-arch.md +105 -0
  221. package/skills/development/cpp.md +127 -0
  222. package/skills/development/go.md +129 -0
  223. package/skills/development/java.md +134 -0
  224. package/skills/development/kotlin.md +140 -0
  225. package/skills/development/mobile-crossplatform.md +144 -0
  226. package/skills/development/python.md +109 -0
  227. package/skills/development/rust.md +127 -0
  228. package/skills/development/shell.md +127 -0
  229. package/skills/development/swift.md +129 -0
  230. package/skills/development/typescript.md +129 -0
  231. package/skills/devops/ci-cd.md +108 -0
  232. package/skills/devops/containerization.md +106 -0
  233. package/skills/devops/cost-optimization.md +105 -0
  234. package/skills/devops/data-engineering.md +181 -0
  235. package/skills/devops/database.md +95 -0
  236. package/skills/devops/dependency-management.md +91 -0
  237. package/skills/devops/devsecops.md +96 -0
  238. package/skills/devops/git-workflow.md +100 -0
  239. package/skills/devops/incident-response.md +167 -0
  240. package/skills/devops/monorepo.md +87 -0
  241. package/skills/devops/observability.md +103 -0
  242. package/skills/devops/performance.md +104 -0
  243. package/skills/devops/testing.md +104 -0
  244. package/skills/docs/adr-workflow.md +32 -0
  245. package/skills/docs/backlog-proposal-workflow.md +19 -0
  246. package/skills/docs/customer-profile-workflow.md +22 -0
  247. package/skills/docs/evidence-ingest-workflow.md +23 -0
  248. package/skills/docs/init-docs.md +160 -0
  249. package/skills/docs/init-project.md +50 -0
  250. package/skills/docs/prd-workflow.md +57 -0
  251. package/skills/docs/prfaq-workflow.md +25 -0
  252. package/skills/docs/product-intelligence-review.md +22 -0
  253. package/skills/docs/product-intelligence-workflow.md +62 -0
  254. package/skills/docs/product-signal-workflow.md +27 -0
  255. package/skills/docs/research-workflow.md +28 -0
  256. package/skills/docs/runbook-workflow.md +24 -0
  257. package/skills/exploration/repo-map.md +297 -0
  258. package/skills/frameworks/django.md +159 -0
  259. package/skills/frameworks/nextjs.md +148 -0
  260. package/skills/frameworks/react.md +132 -0
  261. package/skills/frameworks/spring-boot.md +165 -0
  262. package/skills/frontend-design/accessibility.md +153 -0
  263. package/skills/frontend-design/component-patterns.md +111 -0
  264. package/skills/frontend-design/engineering.md +122 -0
  265. package/skills/frontend-design/state-management.md +118 -0
  266. package/skills/frontend-design/ui-aesthetics.md +102 -0
  267. package/skills/frontend-design/ux-principles.md +126 -0
  268. package/skills/quality-gates/review-work.md +90 -0
  269. package/skills/quality-gates/verify-change.md +94 -0
  270. package/skills/quality-gates/verify-module.md +96 -0
  271. package/skills/quality-gates/verify-quality.md +93 -0
  272. package/skills/quality-gates/verify-security.md +95 -0
  273. package/skills/roles/architect.ai-systems.md +37 -0
  274. package/skills/roles/architect.data.md +37 -0
  275. package/skills/roles/architect.enterprise.md +37 -0
  276. package/skills/roles/architect.integration.md +37 -0
  277. package/skills/roles/architect.md +68 -0
  278. package/skills/roles/architect.platform.md +37 -0
  279. package/skills/roles/data-analyst.experiment.md +37 -0
  280. package/skills/roles/data-analyst.md +68 -0
  281. package/skills/roles/data-analyst.product-intelligence.md +37 -0
  282. package/skills/roles/data-analyst.product.md +37 -0
  283. package/skills/roles/data-analyst.telemetry.md +37 -0
  284. package/skills/roles/data-engineer.pipeline.md +37 -0
  285. package/skills/roles/data-engineer.vector-retrieval.md +37 -0
  286. package/skills/roles/data-engineer.warehouse.md +37 -0
  287. package/skills/roles/debugger.md +68 -0
  288. package/skills/roles/designer.accessibility.md +43 -0
  289. package/skills/roles/designer.md +68 -0
  290. package/skills/roles/engineer.ai.md +49 -0
  291. package/skills/roles/engineer.data.md +49 -0
  292. package/skills/roles/engineer.md +85 -0
  293. package/skills/roles/engineer.platform.md +49 -0
  294. package/skills/roles/operator.docs.md +43 -0
  295. package/skills/roles/operator.md +68 -0
  296. package/skills/roles/operator.release.md +43 -0
  297. package/skills/roles/operator.sre.md +43 -0
  298. package/skills/roles/orchestrator.md +66 -0
  299. package/skills/roles/product-manager.ai-product.md +37 -0
  300. package/skills/roles/product-manager.business-strategy.md +43 -0
  301. package/skills/roles/product-manager.enterprise.md +37 -0
  302. package/skills/roles/product-manager.growth.md +37 -0
  303. package/skills/roles/product-manager.md +67 -0
  304. package/skills/roles/product-manager.platform.md +37 -0
  305. package/skills/roles/product-manager.product.md +37 -0
  306. package/skills/roles/qa.ai-eval.md +37 -0
  307. package/skills/roles/qa.api-contract.md +37 -0
  308. package/skills/roles/qa.data-pipeline.md +37 -0
  309. package/skills/roles/qa.md +68 -0
  310. package/skills/roles/qa.test-automation.md +49 -0
  311. package/skills/roles/qa.web-ui.md +37 -0
  312. package/skills/roles/researcher.explorer.md +43 -0
  313. package/skills/roles/researcher.md +68 -0
  314. package/skills/roles/researcher.ux.md +43 -0
  315. package/skills/roles/reviewer.devil-advocate.md +43 -0
  316. package/skills/roles/reviewer.evaluator.md +43 -0
  317. package/skills/roles/reviewer.md +68 -0
  318. package/skills/roles/reviewer.trace.md +43 -0
  319. package/skills/roles/security.ai.md +37 -0
  320. package/skills/roles/security.appsec.md +37 -0
  321. package/skills/roles/security.cloud.md +37 -0
  322. package/skills/roles/security.legal-compliance.md +49 -0
  323. package/skills/roles/security.md +68 -0
  324. package/skills/roles/security.privacy.md +37 -0
  325. package/skills/roles/security.supply-chain.md +37 -0
  326. package/skills/routing.md +139 -0
  327. package/skills/security/blue-team.md +83 -0
  328. package/skills/security/code-audit.md +94 -0
  329. package/skills/security/pentest.md +84 -0
  330. package/skills/security/red-team.md +81 -0
  331. package/skills/security/threat-intel.md +89 -0
  332. package/skills/security/vuln-research.md +87 -0
  333. package/skills/utility/clean-code.md +165 -0
  334. package/sync-agents.mjs +899 -0
  335. package/templates/docs/adr.md +27 -0
  336. package/templates/docs/backlog-proposal.md +26 -0
  337. package/templates/docs/customer-profile.md +34 -0
  338. package/templates/docs/evidence-brief.md +37 -0
  339. package/templates/docs/incident-report.md +46 -0
  340. package/templates/docs/memo.md +27 -0
  341. package/templates/docs/meta-prd.md +56 -0
  342. package/templates/docs/one-pager.md +24 -0
  343. package/templates/docs/prd-business.md +61 -0
  344. package/templates/docs/prd-platform.md +62 -0
  345. package/templates/docs/prd.md +47 -0
  346. package/templates/docs/prfaq.md +31 -0
  347. package/templates/docs/product-intelligence-report.md +31 -0
  348. package/templates/docs/research-brief.md +29 -0
  349. package/templates/docs/rfc-platform.md +60 -0
  350. package/templates/docs/rfc.md +46 -0
  351. package/templates/docs/runbook.md +33 -0
  352. package/templates/docs/signal-brief.md +25 -0
@@ -0,0 +1,27 @@
1
+ # ADR-{NNN}: {title}
2
+
3
+ - **Date**: {YYYY-MM-DD}
4
+ - **Status**: proposed | accepted | superseded | deprecated
5
+ - **Deciders**: {names}
6
+ - **Supersedes**: {ADR-NNN or none}
7
+
8
+ ## Context
9
+ <!-- The forces at play. What is true today that makes a decision necessary? What constraints bound the space? -->
10
+
11
+ ## Decision
12
+ <!-- The position taken, in one or two sentences. State it as a commitment, not a proposal. -->
13
+
14
+ ## Rationale
15
+ <!-- Why this decision over the alternatives. The load-bearing reasons. -->
16
+
17
+ ## Consequences
18
+ <!-- What becomes easier and what becomes harder once this is in effect. Include second-order effects. -->
19
+
20
+ ## Alternatives considered
21
+ <!-- Other options and the specific reason each was rejected. One paragraph per alternative. -->
22
+
23
+ ## Reversibility
24
+ <!-- Is this a one-way or two-way door? What would it take to reverse? When would we revisit? -->
25
+
26
+ ## References
27
+ <!-- Prior ADRs, PRDs, research, tickets, discussions. -->
@@ -0,0 +1,26 @@
1
+ # Backlog Proposal: {title}
2
+
3
+ - **Date**: {YYYY-MM-DD}
4
+ - **Owner**: {name}
5
+ - **Target system**: Jira | Linear | GitHub Issues | other
6
+ - **Status**: proposed | approved | applied | rejected
7
+
8
+ <!--
9
+ Use before writing to external issue trackers. The proposal is safe to generate
10
+ autonomously; applying it requires explicit approval.
11
+ -->
12
+
13
+ ## Source evidence
14
+ <!-- Evidence brief, PRD, customer notes, tickets, or research supporting the proposal. -->
15
+
16
+ ## Proposed changes
17
+ <!-- Table: create/update, target issue if any, title, rationale, evidence, acceptance criteria. -->
18
+
19
+ ## Duplicate and conflict check
20
+ <!-- Existing issues or docs that may already cover this work. -->
21
+
22
+ ## Approval request
23
+ <!-- The exact external writes requested. Include safe default if approval is not granted. -->
24
+
25
+ ## Application log
26
+ <!-- Filled only after approval and execution. Include issue links and timestamps. -->
@@ -0,0 +1,34 @@
1
+ # Customer Profile: {customer}
2
+
3
+ - **Updated**: {YYYY-MM-DD}
4
+ - **Owner**: {name}
5
+ - **Status**: active | inactive | archived
6
+
7
+ <!--
8
+ Profiles are additive memory. Do not delete history unless the user explicitly
9
+ asks for cleanup. Keep facts tied to source evidence.
10
+ -->
11
+
12
+ ## Snapshot
13
+ <!-- One paragraph. Who this customer is, what they use the product for, and why they matter to the current work. -->
14
+
15
+ ## Environment
16
+ <!-- Stack, tools, integrations, scale, constraints, and relevant operating model. -->
17
+
18
+ ## Active pain points
19
+ <!-- Current friction, with source links or dates. Distinguish severe blockers from preferences. -->
20
+
21
+ ## Open asks
22
+ <!-- Table: ask, first raised, times mentioned, source, linked issue, status. -->
23
+
24
+ ## Key contacts
25
+ <!-- Roles and responsibilities. Avoid unnecessary personal data. -->
26
+
27
+ ## Product areas
28
+ <!-- Areas of the product this customer touches or influences. -->
29
+
30
+ ## Evidence links
31
+ <!-- Notes, tickets, calls, Slack threads, PRDs, or research tied to this customer. -->
32
+
33
+ ## Change log
34
+ <!-- Dated additions. Preserve history so future synthesis can see how the account evolved. -->
@@ -0,0 +1,37 @@
1
+ # Evidence Brief: {title}
2
+
3
+ - **Date**: {YYYY-MM-DD}
4
+ - **Owner**: {name}
5
+ - **Status**: draft | reviewed
6
+
7
+ <!--
8
+ Use before writing a PRD, Meta PRD, PRFAQ, or backlog proposal. This artifact
9
+ keeps source evidence separate from product decisions.
10
+
11
+ Write in short paragraphs with compact tables where useful. Use bullets only for
12
+ source lists or grouped findings. Keep em dashes rare.
13
+ -->
14
+
15
+ ## Decision this evidence informs
16
+ <!-- One paragraph. What decision, document, or workflow this evidence will support. -->
17
+
18
+ ## Evidence threshold
19
+ <!-- State the minimum signal needed to proceed. Example: two independent customers, three repeated mentions, or one severe enterprise blocker. -->
20
+
21
+ ## Sources
22
+ <!-- Table: source, date, customer or actor, link/path, confidence. -->
23
+
24
+ ## What we observed
25
+ <!-- Factual observations only. Separate direct evidence from interpretation. -->
26
+
27
+ ## Patterns
28
+ <!-- Synthesized themes across sources. Include strength of signal and counter-evidence. -->
29
+
30
+ ## Open asks
31
+ <!-- Customer or stakeholder asks that are not yet committed requirements. -->
32
+
33
+ ## Confidence
34
+ <!-- High, medium, or low. Explain what would raise or lower confidence. -->
35
+
36
+ ## Recommendation
37
+ <!-- Proceed to PRD, write signal brief, gather more evidence, or close as not actionable. -->
@@ -0,0 +1,46 @@
1
+ # Incident Report: {title}
2
+
3
+ - **Incident ID**: {INC-NNNN}
4
+ - **Date**: {YYYY-MM-DD}
5
+ - **Severity**: SEV-1 | SEV-2 | SEV-3
6
+ - **Duration**: {start} → {end} ({total})
7
+ - **Authors**: {names}
8
+ - **Status**: draft | final
9
+
10
+ ## Summary
11
+ <!-- Two to four sentences. What happened, who was affected, how it was resolved. Blameless tone. -->
12
+
13
+ ## Impact
14
+ <!-- Users affected, requests failed, revenue lost, data integrity consequences. Quantify. -->
15
+
16
+ ## Timeline
17
+ <!-- Times in UTC. Key events: detection, diagnosis, mitigation, resolution, all-clear. One line per event. -->
18
+
19
+ | Time (UTC) | Event |
20
+ |------------|-------|
21
+ | {HH:MM} | {what happened or what was done} |
22
+
23
+ ## Root cause
24
+ <!-- The underlying cause, not just the proximate trigger. The five-whys, condensed. -->
25
+
26
+ ## Contributing factors
27
+ <!-- Conditions that made the incident possible, worse, or harder to resolve. Include process gaps, not just code. -->
28
+
29
+ ## What went well
30
+ <!-- Detection, response, communication, tooling. Keep this honest. -->
31
+
32
+ ## What went poorly
33
+ <!-- Be specific. Blameless, not blameless-to-the-point-of-vague. -->
34
+
35
+ ## Corrective actions
36
+ <!-- Each action: owner, deadline, ticket link. Prefer systemic fixes over "be more careful". -->
37
+
38
+ | Action | Owner | Deadline | Ticket |
39
+ |--------|-------|----------|--------|
40
+ | {what} | {who} | {date} | {link} |
41
+
42
+ ## Lessons learned
43
+ <!-- What this incident revealed about the system or the organization. -->
44
+
45
+ ## References
46
+ <!-- Logs, dashboards, traces, related incidents, PRs that caused or fixed the issue. -->
@@ -0,0 +1,27 @@
1
+ # Memo: {title}
2
+
3
+ - **Date**: {YYYY-MM-DD}
4
+ - **Author**: {name}
5
+ - **Audience**: {who this is for}
6
+ - **Decision requested**: yes | no
7
+
8
+ ## TL;DR
9
+ <!-- Three to five sentences. If the reader reads nothing else, what do they need to know? Lead with the recommendation. -->
10
+
11
+ ## Context
12
+ <!-- Why now? What changed? What does the reader need to understand before the argument makes sense? -->
13
+
14
+ ## Argument
15
+ <!-- The case. Walk through the reasoning in the order that makes the conclusion inevitable. Cite evidence. -->
16
+
17
+ ## Recommendation
18
+ <!-- What you are asking the reader to agree to or decide. Concrete. Actionable. -->
19
+
20
+ ## Risks and tradeoffs
21
+ <!-- What could go wrong with the recommendation. What you are giving up. What a reasonable dissenter would say. -->
22
+
23
+ ## Decision requested
24
+ <!-- Exactly what you need from the reader: approval, input on a specific question, or FYI only. Name the deadline. -->
25
+
26
+ ## Appendix
27
+ <!-- Supporting data, alternatives considered, references. Optional. -->
@@ -0,0 +1,56 @@
1
+ # Meta PRD: {title}
2
+
3
+ - **Date**: {YYYY-MM-DD}
4
+ - **Owner**: {name}
5
+ - **Status**: draft | in-review | approved | shipped | deprecated
6
+
7
+ <!--
8
+ Use this when the subject is the product operating system itself: an agent workflow,
9
+ document standard, evidence pipeline, evaluation loop, template family, governance
10
+ process, or internal product intelligence capability.
11
+
12
+ A normal PRD defines what a product capability must do for users. A Meta PRD defines
13
+ how the organization decides, documents, validates, and improves the product work.
14
+
15
+ Write with a balance of structured paragraphs, compact tables, and selective bullets.
16
+ Avoid a wall of bullets. Keep em dashes rare; prefer commas, periods, or parentheses.
17
+ -->
18
+
19
+ ## Purpose
20
+ <!-- One or two paragraphs. What product practice or system this Meta PRD improves, and why that matters now. -->
21
+
22
+ ## Operating problem
23
+ <!-- Describe the failure mode in the current process. Name who feels it, how often, and what breaks downstream. -->
24
+
25
+ ## Scope
26
+ <!-- What part of the product operating system changes. Include the teams, agents, templates, workflows, tools, or decision points affected. -->
27
+
28
+ ## Principles
29
+ <!-- A short list of durable rules this system must preserve. Keep each principle testable enough to guide tradeoffs. -->
30
+
31
+ ## Inputs and evidence
32
+ <!-- What evidence the system consumes: customer notes, interviews, traces, Jira issues, PRDs, research, analytics, support tickets, or prior decisions. State minimum evidence thresholds where useful. -->
33
+
34
+ ## Workflow requirements
35
+ <!-- Numbered requirements for the process or agent workflow. Use MR-1, MR-2, etc. Each requirement should be observable in generated artifacts, workflow state, or tool behavior. -->
36
+
37
+ ## Document standards
38
+ <!-- Required sections, tone, evidence rules, citation rules, formatting constraints, and anti-patterns. State how this differs from a normal PRD. -->
39
+
40
+ ## Human approval gates
41
+ <!-- Where a person must review, approve, reject, or supply missing context before the system writes externally or treats a document as approved. -->
42
+
43
+ ## Evaluation
44
+ <!-- How quality will be measured. Include rubric dimensions, pass/fail checks, trace evidence, and examples of unacceptable output. -->
45
+
46
+ ## Failure modes
47
+ <!-- What could go wrong if the system is followed too literally, over-automated, or used with weak evidence. Include mitigations. -->
48
+
49
+ ## Rollout
50
+ <!-- How this operating model becomes the default. Include migration steps, owners, training, and when older templates or workflows are retired. -->
51
+
52
+ ## Open questions
53
+ <!-- Questions that could change the operating model. Each should have an owner and decision date. -->
54
+
55
+ ## References
56
+ <!-- Linked examples, prior PRDs, Meta PRDs, research, tickets, traces, or decisions. -->
@@ -0,0 +1,24 @@
1
+ # One-pager: {title}
2
+
3
+ - **Date**: {YYYY-MM-DD}
4
+ - **Author**: {name}
5
+
6
+ <!-- Strict one-page constraint. If it does not fit, it is not a one-pager. Cut until it fits. -->
7
+
8
+ ## Problem
9
+ <!-- One paragraph. What pain, for whom, at what scale. -->
10
+
11
+ ## Proposal
12
+ <!-- One paragraph. What we will do, at a level a non-specialist can understand. -->
13
+
14
+ ## Why now
15
+ <!-- One paragraph. What makes this the right moment — a trigger, a constraint, a window. -->
16
+
17
+ ## Success measure
18
+ <!-- The single metric that tells us this worked. Numeric, time-bound. -->
19
+
20
+ ## Cost
21
+ <!-- People, time, money. Rough order of magnitude. -->
22
+
23
+ ## Asks
24
+ <!-- What you need from the reader to unblock this. Headcount, approval, a decision by a specific date. -->
@@ -0,0 +1,61 @@
1
+ # Business PRD: {title}
2
+
3
+ - **Date**: {YYYY-MM-DD}
4
+ - **Owner**: {name}
5
+ - **Status**: draft | in-review | approved | shipped | deprecated
6
+
7
+ <!--
8
+ Use this for strategic bets, market positioning decisions, business model changes,
9
+ partnership structures, pricing strategy, and make-vs-buy decisions.
10
+
11
+ This is not a feature spec. It defines the bet, the market thesis, the alternatives
12
+ rejected, and what would have to be true for this to work.
13
+
14
+ Use prd.md for customer-facing product capabilities.
15
+ Use prd-platform.md for internal platform and developer-facing capabilities.
16
+ -->
17
+
18
+ ## The bet
19
+ <!-- One or two sentences: what we are committing to and why now. This should be falsifiable. -->
20
+
21
+ ## Market thesis
22
+ <!-- The one-paragraph view of market shape, buyer behavior, and where value accrues. Every decision in this document links back here or challenges it. -->
23
+
24
+ ## Problem and opportunity
25
+ <!-- What is broken in the market or business today? What does the opportunity look like at full scale? State the pain and the size of the prize — with evidence. -->
26
+
27
+ ## Strategic goals
28
+ <!-- What this decision achieves at the business level: position, revenue, defensibility, optionality. Tie to company objectives. -->
29
+
30
+ ## Alternatives rejected
31
+ <!-- The other credible paths that were considered. For each: what it is, why it was rejected, and what would have to change to reconsider it. No strawmen. -->
32
+
33
+ ## What must be true
34
+ <!-- The conditions that have to hold for this bet to pay off. Make them explicit so they can be monitored. -->
35
+
36
+ ## Competitive analysis
37
+ <!-- For each relevant competitor: business model (unit economics, distribution, defensibility), not just feature surface. Avoid feature parity tables that ignore economics. -->
38
+
39
+ ## Make vs. buy vs. partner
40
+ <!-- If applicable: the build/buy/partner tradeoffs with rationale. Include cost, control, speed, and strategic leverage. -->
41
+
42
+ ## Go-to-market implications
43
+ <!-- Pricing, packaging, channels, positioning changes. What motion this requires from sales, marketing, or customer success. -->
44
+
45
+ ## Financial frame
46
+ <!-- Revenue model, cost structure, expected unit economics. Include the range of outcomes, not just the upside case. -->
47
+
48
+ ## Kill criteria
49
+ <!-- The leading indicator and the threshold at which this strategy is revisited or abandoned. Without this, bad bets survive longer than they should. -->
50
+
51
+ ## Risks
52
+ <!-- Market, execution, regulatory, competitive, and technical risks. Rate each by likelihood and impact. State the mitigation or acceptance rationale. -->
53
+
54
+ ## Constraints
55
+ <!-- Budget, timeline, team, regulatory, or partner dependencies that shape the scope of this decision. -->
56
+
57
+ ## Open questions
58
+ <!-- Genuine unknowns. Each names an owner and a decision deadline. -->
59
+
60
+ ## References
61
+ <!-- Market research, customer interviews, financial models, prior decisions, analyst reports, competitor filings. -->
@@ -0,0 +1,62 @@
1
+ # Platform PRD: {title}
2
+
3
+ - **Date**: {YYYY-MM-DD}
4
+ - **Owner**: {name}
5
+ - **Status**: draft | in-review | approved | shipped | deprecated
6
+
7
+ <!--
8
+ Use this for capabilities consumed by internal systems, developers, operators, or other
9
+ services — not directly by end users. Covers APIs, SDKs, admin surfaces, data contracts,
10
+ shared infrastructure, and operational tooling.
11
+
12
+ Use prd.md instead for customer-facing product capabilities.
13
+ Use meta-prd.md for requirements about the product operating system itself.
14
+
15
+ Name the platform actor precisely: platform builder, application developer, security admin,
16
+ operator. "Developer" is too broad.
17
+ -->
18
+
19
+ ## Problem
20
+ <!-- What is broken, missing, or blocking a platform actor or downstream system? One paragraph. State the operational or integration pain, not the solution. -->
21
+
22
+ ## Platform actors
23
+ <!-- Who consumes this capability? Name roles precisely (app developer, ops engineer, data analyst, etc.). Include scale and current workaround. Cite evidence: tickets, incidents, support load. -->
24
+
25
+ ## Goals and non-goals
26
+ <!-- Goals: what success looks like for the consumers. Non-goals: explicitly scoped out. -->
27
+
28
+ ## API and interface contract
29
+ <!-- The surface being defined: endpoints, schemas, SDK methods, event payloads, config shapes, permission models. Number each contract item (C-1, C-2, …). -->
30
+
31
+ ## Functional requirements
32
+ <!-- What the system must do. Number them (FR-1, FR-2, …). -->
33
+
34
+ ## Non-functional requirements
35
+ <!-- Performance SLOs, reliability targets, security, compliance, scalability limits. Include numeric targets. -->
36
+
37
+ ## Backwards compatibility and versioning
38
+ <!-- Is this a new contract or a change to an existing one? If a change: breaking vs. non-breaking, versioning strategy, and how existing consumers are supported. -->
39
+
40
+ ## Migration and rollout
41
+ <!-- How consumers move to the new contract. Include migration steps, tooling, timeline, and who is responsible. Flag any coordination with downstream teams. -->
42
+
43
+ ## Operational requirements
44
+ <!-- Observability (metrics, logs, traces), auditability, rate limits, failure modes, fallback behavior, support diagnostics, admin controls. These are product requirements, not afterthoughts. -->
45
+
46
+ ## Acceptance criteria
47
+ <!-- Observable, falsifiable conditions a reviewer can check. Include integration and contract tests where relevant. -->
48
+
49
+ ## Success metrics
50
+ <!-- How we know this worked: adoption, error rate, latency, support ticket reduction. Leading vs. lagging. -->
51
+
52
+ ## Consumer impact
53
+ <!-- What changes for existing consumers. What breaks, what degrades, what stays the same. Link to migration guide if needed. -->
54
+
55
+ ## Dependencies
56
+ <!-- Upstream services, data contracts, team availability, vendor timelines. -->
57
+
58
+ ## Open questions
59
+ <!-- Genuine unknowns. Each question names an owner and a decision deadline. -->
60
+
61
+ ## References
62
+ <!-- Linked designs, prior PRDs, ADRs, incidents, runbooks, tickets. -->
@@ -0,0 +1,47 @@
1
+ # PRD: {title}
2
+
3
+ - **Date**: {YYYY-MM-DD}
4
+ - **Owner**: {name}
5
+ - **Status**: draft | in-review | approved | shipped | deprecated
6
+
7
+ <!--
8
+ Use this for a product capability, user workflow, or customer-facing requirement set.
9
+ Use meta-prd.md instead when defining the requirements for a product system, agent,
10
+ process, template, evaluation loop, or operating model.
11
+
12
+ Write with a balance of short paragraphs, tables, and bullets. Bullets are for scans,
13
+ not the whole document. Keep em dashes rare; prefer commas, periods, or parentheses.
14
+ -->
15
+
16
+ ## Problem
17
+ <!-- What is broken, missing, or blocking a user or business outcome? One paragraph. State the pain, not the solution. -->
18
+
19
+ ## Users
20
+ <!-- Who experiences the problem? Segments, scale, current workaround. Cite evidence (tickets, interviews, data). -->
21
+
22
+ ## Goals and non-goals
23
+ <!-- Goals: what success looks like. Non-goals: explicitly scoped out to keep the work bounded. -->
24
+
25
+ ## Functional requirements
26
+ <!-- What the system must do. Number them (FR-1, FR-2, …) so they can be referenced in reviews and tests. -->
27
+
28
+ ## Non-functional requirements
29
+ <!-- Performance, reliability, security, accessibility, compliance. Include numeric targets where possible. -->
30
+
31
+ ## Acceptance criteria
32
+ <!-- Observable, falsifiable conditions a reviewer can check without asking the author. -->
33
+
34
+ ## Success metrics
35
+ <!-- How we will know this worked in production. Leading vs. lagging. Avoid vanity metrics. -->
36
+
37
+ ## Constraints
38
+ <!-- Budget, timeline, platform, team, legal, technical debt that shapes the solution. -->
39
+
40
+ ## Dependencies
41
+ <!-- Teams, services, contracts, data sources, vendor timelines. -->
42
+
43
+ ## Open questions
44
+ <!-- Genuine unknowns. Each question should name an owner and a decision deadline. -->
45
+
46
+ ## References
47
+ <!-- Linked research, prior PRDs, ADRs, tickets, designs. -->
@@ -0,0 +1,31 @@
1
+ # PRFAQ: {title}
2
+
3
+ - **Date**: {YYYY-MM-DD}
4
+ - **Owner**: {name}
5
+ - **Status**: draft | in-review | approved
6
+
7
+ <!--
8
+ Use for working-backwards product thinking. A PRFAQ can be generated from a PRD
9
+ or directly from evidence, but it must not invent customer demand.
10
+ -->
11
+
12
+ ## One-sentence summary
13
+ <!-- One sentence for an executive reader. Name the audience and outcome. -->
14
+
15
+ ## Problem statement
16
+ <!-- Two or three paragraphs grounded in evidence. Explain the customer problem, why now, and what is missing today. -->
17
+
18
+ ## Press release
19
+ <!-- Write as if the capability has shipped. Focus on customer outcome, not implementation. -->
20
+
21
+ ## External FAQ
22
+ <!-- Customer-facing questions and answers. Keep answers concrete and honest about limits. -->
23
+
24
+ ## Internal FAQ
25
+ <!-- Questions from engineering, sales, support, security, finance, and leadership. Include unknowns as TBD with what would resolve them. -->
26
+
27
+ ## Evidence appendix
28
+ <!-- Source links, customer quotes, related issues, research, and PRDs. -->
29
+
30
+ ## Review tracking
31
+ <!-- Reviewer, function, decision, date, and required follow-up. -->
@@ -0,0 +1,31 @@
1
+ # Product Intelligence Report: {title}
2
+
3
+ - **Date**: {YYYY-MM-DD}
4
+ - **Owner**: {name}
5
+ - **Scope**: {product-area | customer-segment | time-window}
6
+
7
+ <!--
8
+ Use for cross-source synthesis. This report should connect evidence to decisions
9
+ without becoming a backlog dump.
10
+ -->
11
+
12
+ ## Executive readout
13
+ <!-- Two or three paragraphs. What changed, what matters, and what decision should follow. -->
14
+
15
+ ## Evidence base
16
+ <!-- Summary of source types, coverage, recency, and known gaps. -->
17
+
18
+ ## Themes
19
+ <!-- Each theme should include evidence strength, affected personas, representative sources, and counter-signal. -->
20
+
21
+ ## Customer asks
22
+ <!-- Group asks by product area. Keep asks separate from committed requirements. -->
23
+
24
+ ## Product implications
25
+ <!-- What this means for roadmap, positioning, reliability, platform, design, or research. -->
26
+
27
+ ## Recommended actions
28
+ <!-- Action, owner, artifact to create or update, approval needed, target date. -->
29
+
30
+ ## Gaps and risks
31
+ <!-- Missing evidence, biased source pools, unresolved questions, and likely false positives. -->
@@ -0,0 +1,29 @@
1
+ # Research Brief: {title}
2
+
3
+ - **Date**: {YYYY-MM-DD}
4
+ - **Author**: {name}
5
+ - **Status**: in-progress | complete
6
+
7
+ ## Question
8
+ <!-- The specific, falsifiable question this research is trying to answer. One sentence. -->
9
+
10
+ ## Method
11
+ <!-- How the question was investigated. Sources consulted, queries run, experiments performed, people interviewed. Enough detail that another person could reproduce it. -->
12
+
13
+ ## Sources
14
+ <!-- Primary sources, with links and access dates. Separate primary from secondary. Note where sources disagree. -->
15
+
16
+ ## Findings
17
+ <!-- What the evidence says. Separate observation from inference. Label each finding with its confidence level. -->
18
+
19
+ ## Confidence
20
+ <!-- Per finding: high / medium / low, and why. Name the biggest unknowns. -->
21
+
22
+ ## Implications
23
+ <!-- What decisions this research enables or blocks. Who should act on it. -->
24
+
25
+ ## Open questions
26
+ <!-- What this research did not resolve. What would be needed to answer each. -->
27
+
28
+ ## References
29
+ <!-- Full citation list. -->
@@ -0,0 +1,60 @@
1
+ # Platform RFC: {title}
2
+
3
+ - **Date**: {YYYY-MM-DD}
4
+ - **Author**: {name}
5
+ - **Status**: draft | in-review | accepted | rejected | superseded
6
+ - **Change type**: breaking | non-breaking | additive
7
+ - **Affects**: {API | SDK | schema | event | config | permission model | protocol}
8
+ - **Supersedes**: {RFC title or N/A}
9
+
10
+ <!--
11
+ Use this when the proposal changes a contract consumed by other systems:
12
+ APIs, SDKs, schemas, event payloads, permission models, config shapes, or protocols.
13
+
14
+ Use rfc.md instead for proposals that do not touch external contracts.
15
+ -->
16
+
17
+ ## Summary
18
+ <!-- One paragraph. What contract is changing, in what direction, and why. -->
19
+
20
+ ## Motivation
21
+ <!-- What problem or limitation in the current contract drives this change? Cite evidence: consumer pain points, incidents, performance data, support load. Explain why the current interface cannot simply be extended. -->
22
+
23
+ ## Breaking change declaration
24
+ <!-- Be explicit: what is breaking, what is not. List every removed, renamed, or semantically changed interface element. Omitting a breaking change here is a contract violation. -->
25
+
26
+ ## Proposed contract
27
+ <!-- The new interface in full. Schemas, endpoint signatures, payload shapes, permission rules, config fields. Be precise enough that a consumer can write against this spec without asking questions. -->
28
+
29
+ ## Backwards compatibility strategy
30
+ <!-- How existing consumers are supported during transition. Options: versioning, dual-write, feature flags, shim layer, deprecation window. State which and why. -->
31
+
32
+ ## Migration guide
33
+ <!-- Step-by-step: what a consumer must change, in what order, with examples. If migration tooling is provided, describe it. If migration is manual, estimate effort. -->
34
+
35
+ ## Versioning and deprecation
36
+ <!-- Version scheme for this interface. Deprecation timeline for the old version: announcement date, sunset date, removal date. Include who owns communicating the deprecation to consumers. -->
37
+
38
+ ## Consumer impact analysis
39
+ <!-- List known consumers. For each: what breaks, what changes, what stays compatible, estimated migration effort. Flag consumers that require coordinated migration. -->
40
+
41
+ ## Rollout plan
42
+ <!-- How the new contract ships alongside the old one. Dual-version period, traffic migration, kill switch, removal gate. Include the observable signal that triggers each phase. -->
43
+
44
+ ## Operational requirements
45
+ <!-- Observability, rate limits, error handling, fallback behavior, and admin controls required for the new contract to be supportable. -->
46
+
47
+ ## Tradeoffs and alternatives
48
+ <!-- Other contract designs considered. For each: what it is, why it was not chosen. -->
49
+
50
+ ## Risks
51
+ <!-- Compatibility gaps, consumer adoption risk, timing risk, coordination failure. For each: likelihood, impact, mitigation. -->
52
+
53
+ ## Verification
54
+ <!-- How we confirm the migration succeeded and the old version can be safely removed. Metrics, tests, observable evidence. -->
55
+
56
+ ## Unresolved questions
57
+ <!-- Genuine unknowns. Each names an owner and a decision deadline. -->
58
+
59
+ ## References
60
+ <!-- Related ADRs, prior RFCs, API design guidelines, consumer runbooks, tickets. -->
@@ -0,0 +1,46 @@
1
+ # RFC: {title}
2
+
3
+ - **Date**: {YYYY-MM-DD}
4
+ - **Author**: {name}
5
+ - **Status**: draft | in-review | accepted | rejected | superseded
6
+ - **Supersedes**: {RFC title or N/A}
7
+ - **Superseded by**: {RFC title or N/A}
8
+
9
+ <!--
10
+ Use this for significant technical or architectural proposals that need structured
11
+ review before implementation begins. An RFC is not an ADR (which records a decision
12
+ already made) — it is the proposal that leads to one.
13
+
14
+ Use rfc-platform.md instead when the proposal introduces breaking changes to a
15
+ contract, API, schema, or protocol consumed by other systems.
16
+ -->
17
+
18
+ ## Summary
19
+ <!-- One paragraph. What is being proposed and why. Someone who reads only this should understand the intent. -->
20
+
21
+ ## Motivation
22
+ <!-- What problem or limitation drives this proposal? Include evidence: incidents, performance data, support tickets, developer friction. Explain why the status quo is not acceptable. -->
23
+
24
+ ## Proposed design
25
+ <!-- The concrete proposal. Enough detail for reviewers to evaluate feasibility and tradeoffs. Diagrams, code sketches, and data models are appropriate here. -->
26
+
27
+ ## Tradeoffs and alternatives
28
+ <!-- The other credible designs considered. For each: what it is, why it was not chosen, and under what conditions it would be preferred. No strawmen. -->
29
+
30
+ ## Drawbacks
31
+ <!-- What this proposal makes harder, slower, or more expensive. Include technical debt, operational complexity, and team burden. -->
32
+
33
+ ## Risks
34
+ <!-- What could go wrong during implementation or in production. For each: likelihood, impact, and mitigation. -->
35
+
36
+ ## Rollout
37
+ <!-- How this change ships. Phased rollout, feature flags, dark launch, migration path, deprecation timeline. -->
38
+
39
+ ## Verification
40
+ <!-- How we confirm the proposal achieved its goals. Tests, metrics, observable evidence. -->
41
+
42
+ ## Unresolved questions
43
+ <!-- Genuine unknowns that remain. Each names an owner and a decision deadline. These should be resolved before the RFC is accepted. -->
44
+
45
+ ## References
46
+ <!-- Related ADRs, prior RFCs, design docs, tickets, research, external standards. -->