@geraldmaron/construct 1.0.4 → 1.0.6

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 (293) hide show
  1. package/README.md +57 -44
  2. package/agents/prompts/cx-accessibility.md +3 -3
  3. package/agents/prompts/cx-ai-engineer.md +7 -7
  4. package/agents/prompts/cx-architect.md +6 -6
  5. package/agents/prompts/cx-business-strategist.md +6 -6
  6. package/agents/prompts/cx-data-analyst.md +7 -7
  7. package/agents/prompts/cx-data-engineer.md +3 -3
  8. package/agents/prompts/cx-debugger.md +6 -6
  9. package/agents/prompts/cx-designer.md +5 -5
  10. package/agents/prompts/cx-devil-advocate.md +4 -4
  11. package/agents/prompts/cx-docs-keeper.md +5 -5
  12. package/agents/prompts/cx-engineer.md +5 -5
  13. package/agents/prompts/cx-evaluator.md +2 -2
  14. package/agents/prompts/cx-explorer.md +8 -8
  15. package/agents/prompts/cx-legal-compliance.md +2 -2
  16. package/agents/prompts/cx-operations.md +5 -5
  17. package/agents/prompts/cx-orchestrator.md +10 -10
  18. package/agents/prompts/cx-platform-engineer.md +5 -5
  19. package/agents/prompts/cx-product-manager.md +4 -4
  20. package/agents/prompts/cx-qa.md +8 -8
  21. package/agents/prompts/cx-rd-lead.md +9 -9
  22. package/agents/prompts/cx-release-manager.md +5 -5
  23. package/agents/prompts/cx-researcher.md +22 -22
  24. package/agents/prompts/cx-reviewer.md +7 -7
  25. package/agents/prompts/cx-security.md +10 -10
  26. package/agents/prompts/cx-sre.md +7 -7
  27. package/agents/prompts/cx-test-automation.md +3 -3
  28. package/agents/prompts/cx-trace-reviewer.md +8 -8
  29. package/agents/prompts/cx-ux-researcher.md +3 -3
  30. package/bin/construct +470 -4
  31. package/commands/build/feature.md +4 -4
  32. package/commands/build/fix.md +8 -8
  33. package/commands/design/access.md +3 -3
  34. package/commands/design/flow.md +3 -3
  35. package/commands/design/ui.md +4 -4
  36. package/commands/measure/experiment.md +5 -5
  37. package/commands/measure/metrics.md +3 -3
  38. package/commands/measure/results.md +4 -4
  39. package/commands/plan/api.md +3 -3
  40. package/commands/plan/challenge.md +3 -3
  41. package/commands/plan/decide.md +3 -3
  42. package/commands/plan/feature.md +7 -7
  43. package/commands/plan/requirements.md +3 -3
  44. package/commands/remember/context.md +5 -5
  45. package/commands/remember/handoff.md +3 -3
  46. package/commands/remember/runbook.md +3 -3
  47. package/commands/review/code.md +8 -8
  48. package/commands/review/quality.md +4 -4
  49. package/commands/review/security.md +3 -3
  50. package/commands/ship/ready.md +3 -3
  51. package/commands/ship/release.md +3 -3
  52. package/commands/ship/status.md +4 -4
  53. package/commands/understand/docs.md +3 -3
  54. package/commands/understand/research.md +5 -3
  55. package/commands/understand/this.md +4 -4
  56. package/commands/understand/why.md +8 -8
  57. package/commands/work/clean.md +14 -14
  58. package/commands/work/drive.md +10 -10
  59. package/commands/work/optimize-prompts.md +9 -9
  60. package/commands/work/parallel-review.md +8 -8
  61. package/db/schema/006_graph.sql +24 -0
  62. package/examples/provider-plugin/README.md +7 -7
  63. package/examples/seed-observations/README.md +6 -6
  64. package/examples/seed-observations/anti-patterns.md +14 -14
  65. package/examples/seed-observations/decisions.md +4 -4
  66. package/examples/seed-observations/patterns.md +14 -14
  67. package/lib/auto-docs.mjs +10 -5
  68. package/lib/cli-commands.mjs +45 -1
  69. package/lib/comment-lint.mjs +7 -1
  70. package/lib/config/schema.mjs +3 -0
  71. package/lib/flavors/loader.mjs +136 -0
  72. package/lib/hooks/agent-tracker.mjs +22 -3
  73. package/lib/hooks/pre-push-gate.mjs +14 -1
  74. package/lib/hooks/session-optimize.mjs +3 -2
  75. package/lib/hooks/session-reflect.mjs +68 -0
  76. package/lib/init-unified.mjs +25 -2
  77. package/lib/intake/classify.mjs +61 -183
  78. package/lib/intake/prepare.mjs +7 -0
  79. package/lib/intake/tables/creative.mjs +94 -0
  80. package/lib/intake/tables/operations.mjs +85 -0
  81. package/lib/intake/tables/research.mjs +85 -0
  82. package/lib/intake/tables/rnd.mjs +175 -0
  83. package/lib/knowledge/graph.mjs +213 -0
  84. package/lib/knowledge/research-store.mjs +109 -0
  85. package/lib/mcp/server.mjs +187 -1
  86. package/lib/mcp/tools/profile.mjs +270 -0
  87. package/lib/observation-store.mjs +19 -0
  88. package/lib/outcomes/aggregate.mjs +104 -0
  89. package/lib/outcomes/record.mjs +115 -0
  90. package/lib/parity.mjs +6 -9
  91. package/lib/profiles/lifecycle.mjs +388 -0
  92. package/lib/profiles/loader.mjs +123 -0
  93. package/lib/profiles/validate-custom.mjs +114 -0
  94. package/lib/reflect/extractor.mjs +193 -0
  95. package/lib/reflect.mjs +89 -2
  96. package/lib/sandbox.mjs +102 -0
  97. package/package.json +6 -1
  98. package/personas/construct.md +20 -20
  99. package/platforms/claude/CLAUDE.md +6 -6
  100. package/platforms/claude/settings.template.json +13 -0
  101. package/rules/common/agents.md +2 -2
  102. package/rules/common/beads-hygiene.md +11 -11
  103. package/rules/common/code-review.md +1 -1
  104. package/rules/common/coding-style.md +1 -1
  105. package/rules/common/comments.md +8 -8
  106. package/rules/common/commit-approval.md +4 -4
  107. package/rules/common/cx-agent-routing.md +2 -2
  108. package/rules/common/cx-skill-routing.md +2 -2
  109. package/rules/common/development-workflow.md +1 -1
  110. package/rules/common/doc-ownership.md +2 -2
  111. package/rules/common/efficiency.md +3 -3
  112. package/rules/common/framing.md +1 -1
  113. package/rules/common/git-workflow.md +1 -1
  114. package/rules/common/patterns.md +1 -1
  115. package/rules/common/performance.md +1 -1
  116. package/rules/common/release-gates.md +7 -7
  117. package/rules/common/research.md +4 -4
  118. package/rules/common/security.md +1 -1
  119. package/rules/common/skill-composition.md +8 -8
  120. package/rules/common/testing.md +1 -1
  121. package/rules/golang/coding-style.md +2 -2
  122. package/rules/golang/hooks.md +1 -1
  123. package/rules/golang/patterns.md +1 -1
  124. package/rules/golang/security.md +1 -1
  125. package/rules/golang/testing.md +1 -1
  126. package/rules/python/coding-style.md +1 -1
  127. package/rules/python/hooks.md +1 -1
  128. package/rules/python/patterns.md +1 -1
  129. package/rules/python/security.md +1 -1
  130. package/rules/python/testing.md +1 -1
  131. package/rules/swift/coding-style.md +3 -3
  132. package/rules/swift/hooks.md +2 -2
  133. package/rules/swift/patterns.md +2 -2
  134. package/rules/swift/security.md +4 -4
  135. package/rules/swift/testing.md +2 -2
  136. package/rules/typescript/coding-style.md +1 -1
  137. package/rules/typescript/hooks.md +1 -1
  138. package/rules/typescript/patterns.md +1 -1
  139. package/rules/typescript/security.md +1 -1
  140. package/rules/typescript/testing.md +1 -1
  141. package/rules/web/coding-style.md +1 -1
  142. package/rules/web/design-quality.md +1 -1
  143. package/rules/web/hooks.md +1 -1
  144. package/rules/web/patterns.md +1 -1
  145. package/rules/web/performance.md +1 -1
  146. package/rules/web/security.md +1 -1
  147. package/rules/web/testing.md +1 -1
  148. package/scripts/sync-agents.mjs +11 -0
  149. package/skills/ai/agent-dev.md +1 -1
  150. package/skills/ai/llm-security.md +1 -1
  151. package/skills/ai/ml-ops.md +6 -6
  152. package/skills/ai/orchestration-workflow.md +1 -1
  153. package/skills/ai/prompt-and-eval.md +1 -1
  154. package/skills/ai/prompt-optimizer.md +13 -13
  155. package/skills/ai/rag-system.md +1 -1
  156. package/skills/architecture/api-design.md +1 -1
  157. package/skills/architecture/caching.md +1 -1
  158. package/skills/architecture/cloud-native.md +1 -1
  159. package/skills/architecture/message-queue.md +1 -1
  160. package/skills/architecture/security-arch.md +1 -1
  161. package/skills/compliance/ai-disclosure.md +1 -1
  162. package/skills/compliance/data-privacy.md +1 -1
  163. package/skills/compliance/license-audit.md +2 -2
  164. package/skills/compliance/regulatory-review.md +1 -1
  165. package/skills/development/cpp.md +1 -1
  166. package/skills/development/go.md +1 -1
  167. package/skills/development/java.md +1 -1
  168. package/skills/development/kotlin.md +9 -9
  169. package/skills/development/mobile-crossplatform.md +13 -13
  170. package/skills/development/python.md +1 -1
  171. package/skills/development/rust.md +1 -1
  172. package/skills/development/shell.md +1 -1
  173. package/skills/development/swift.md +6 -6
  174. package/skills/development/typescript.md +1 -1
  175. package/skills/devops/ci-cd.md +5 -5
  176. package/skills/devops/containerization.md +9 -9
  177. package/skills/devops/cost-optimization.md +1 -1
  178. package/skills/devops/data-engineering.md +2 -2
  179. package/skills/devops/database.md +1 -1
  180. package/skills/devops/dependency-management.md +3 -3
  181. package/skills/devops/devsecops.md +1 -1
  182. package/skills/devops/git-workflow.md +1 -1
  183. package/skills/devops/incident-response.md +18 -18
  184. package/skills/devops/monorepo.md +5 -5
  185. package/skills/devops/observability.md +1 -1
  186. package/skills/devops/performance.md +1 -1
  187. package/skills/devops/testing.md +1 -1
  188. package/skills/docs/adr-workflow.md +2 -2
  189. package/skills/docs/backlog-proposal-workflow.md +1 -1
  190. package/skills/docs/customer-profile-workflow.md +1 -1
  191. package/skills/docs/document-ingest-workflow.md +1 -1
  192. package/skills/docs/evidence-ingest-workflow.md +1 -1
  193. package/skills/docs/init-docs.md +15 -15
  194. package/skills/docs/init-project.md +1 -1
  195. package/skills/docs/prd-workflow.md +3 -3
  196. package/skills/docs/prfaq-workflow.md +1 -1
  197. package/skills/docs/product-intelligence-review.md +1 -1
  198. package/skills/docs/product-intelligence-workflow.md +1 -1
  199. package/skills/docs/product-signal-workflow.md +9 -9
  200. package/skills/docs/research-workflow.md +10 -10
  201. package/skills/docs/runbook-workflow.md +2 -2
  202. package/skills/docs/strategy-workflow.md +3 -3
  203. package/skills/exploration/repo-map.md +11 -11
  204. package/skills/frameworks/django.md +15 -15
  205. package/skills/frameworks/nextjs.md +16 -16
  206. package/skills/frameworks/react.md +12 -12
  207. package/skills/frameworks/spring-boot.md +12 -12
  208. package/skills/frontend-design/accessibility.md +6 -6
  209. package/skills/frontend-design/component-patterns.md +1 -1
  210. package/skills/frontend-design/engineering.md +1 -1
  211. package/skills/frontend-design/state-management.md +1 -1
  212. package/skills/frontend-design/ui-aesthetics.md +1 -1
  213. package/skills/frontend-design/ux-principles.md +1 -1
  214. package/skills/operating/orchestration-reference.md +27 -27
  215. package/skills/quality-gates/review-work.md +3 -3
  216. package/skills/quality-gates/verify-change.md +1 -1
  217. package/skills/quality-gates/verify-module.md +1 -1
  218. package/skills/quality-gates/verify-quality.md +1 -1
  219. package/skills/quality-gates/verify-security.md +1 -1
  220. package/skills/roles/architect.ai-systems.md +4 -2
  221. package/skills/roles/architect.data.md +4 -2
  222. package/skills/roles/architect.enterprise.md +4 -2
  223. package/skills/roles/architect.integration.md +4 -2
  224. package/skills/roles/architect.md +7 -5
  225. package/skills/roles/architect.platform.md +4 -2
  226. package/skills/roles/data-analyst.experiment.md +4 -2
  227. package/skills/roles/data-analyst.md +9 -7
  228. package/skills/roles/data-analyst.product-intelligence.md +4 -2
  229. package/skills/roles/data-analyst.product.md +4 -2
  230. package/skills/roles/data-analyst.telemetry.md +4 -2
  231. package/skills/roles/data-engineer.pipeline.md +4 -2
  232. package/skills/roles/data-engineer.vector-retrieval.md +4 -2
  233. package/skills/roles/data-engineer.warehouse.md +4 -2
  234. package/skills/roles/debugger.md +7 -5
  235. package/skills/roles/designer.accessibility.md +4 -2
  236. package/skills/roles/designer.md +10 -8
  237. package/skills/roles/engineer.ai.md +4 -2
  238. package/skills/roles/engineer.data.md +5 -3
  239. package/skills/roles/engineer.md +14 -12
  240. package/skills/roles/engineer.platform.md +5 -3
  241. package/skills/roles/operator.docs.md +6 -4
  242. package/skills/roles/operator.md +6 -4
  243. package/skills/roles/operator.release.md +4 -2
  244. package/skills/roles/operator.sre.md +5 -3
  245. package/skills/roles/orchestrator.md +5 -3
  246. package/skills/roles/product-manager.ai-product.md +4 -2
  247. package/skills/roles/product-manager.business-strategy.md +4 -2
  248. package/skills/roles/product-manager.enterprise.md +4 -2
  249. package/skills/roles/product-manager.growth.md +4 -2
  250. package/skills/roles/product-manager.md +6 -4
  251. package/skills/roles/product-manager.platform.md +4 -2
  252. package/skills/roles/product-manager.product.md +4 -2
  253. package/skills/roles/qa.ai-eval.md +4 -2
  254. package/skills/roles/qa.api-contract.md +4 -2
  255. package/skills/roles/qa.data-pipeline.md +4 -2
  256. package/skills/roles/qa.md +7 -5
  257. package/skills/roles/qa.test-automation.md +5 -3
  258. package/skills/roles/qa.web-ui.md +4 -2
  259. package/skills/roles/researcher.explorer.md +4 -2
  260. package/skills/roles/researcher.md +11 -9
  261. package/skills/roles/researcher.ux.md +4 -2
  262. package/skills/roles/reviewer.devil-advocate.md +4 -2
  263. package/skills/roles/reviewer.evaluator.md +4 -2
  264. package/skills/roles/reviewer.md +14 -12
  265. package/skills/roles/reviewer.trace.md +4 -2
  266. package/skills/roles/security.ai.md +4 -2
  267. package/skills/roles/security.appsec.md +4 -2
  268. package/skills/roles/security.cloud.md +4 -2
  269. package/skills/roles/security.legal-compliance.md +4 -2
  270. package/skills/roles/security.md +7 -5
  271. package/skills/roles/security.privacy.md +4 -2
  272. package/skills/roles/security.supply-chain.md +4 -2
  273. package/skills/routing.md +14 -14
  274. package/skills/security/blue-team.md +1 -1
  275. package/skills/security/code-audit.md +1 -1
  276. package/skills/security/pentest.md +1 -1
  277. package/skills/security/red-team.md +1 -1
  278. package/skills/security/threat-intel.md +1 -1
  279. package/skills/security/vuln-research.md +1 -1
  280. package/skills/utility/clean-code.md +2 -2
  281. package/templates/docs/changelog-entry.md +1 -1
  282. package/templates/docs/construct_guide.md +13 -13
  283. package/templates/docs/meta-prd.md +16 -16
  284. package/templates/docs/one-pager.md +1 -1
  285. package/templates/docs/persona-artifact.md +36 -0
  286. package/templates/docs/prd-business.md +1 -1
  287. package/templates/docs/prd-platform.md +1 -1
  288. package/templates/docs/prd.md +17 -17
  289. package/templates/docs/research-brief.md +8 -8
  290. package/templates/docs/research-finding.md +26 -0
  291. package/templates/docs/rfc.md +1 -1
  292. package/templates/docs/skill-artifact.md +27 -0
  293. package/templates/docs/strategy.md +1 -1
@@ -1,5 +1,5 @@
1
1
  <!--
2
- skills/security/pentest.md Penetration Testing Use this skill when testing web applications or APIs for security vulnerabilitie
2
+ skills/security/pentest.md (Penetration Testing) Use this skill when testing web applications or APIs for security vulnerabilitie
3
3
 
4
4
  Use this skill when testing web applications or APIs for security vulnerabilities. ## OWASP Top 10 Checklist
5
5
  -->
@@ -1,5 +1,5 @@
1
1
  <!--
2
- skills/security/red-team.md Red Team Use this skill when planning or executing offensive security assessments, advers
2
+ skills/security/red-team.md (Red Team) Use this skill when planning or executing offensive security assessments, advers
3
3
 
4
4
  Use this skill when planning or executing offensive security assessments, adversary emulation, or attack simulations. ## Reconnaissance
5
5
  -->
@@ -1,5 +1,5 @@
1
1
  <!--
2
- skills/security/threat-intel.md Threat Intelligence Use this skill when performing OSINT, threat modeling, or building threat intell
2
+ skills/security/threat-intel.md (Threat Intelligence) Use this skill when performing OSINT, threat modeling, or building threat intell
3
3
 
4
4
  Use this skill when performing OSINT, threat modeling, or building threat intelligence programs. ## OSINT Collection
5
5
  -->
@@ -1,5 +1,5 @@
1
1
  <!--
2
- skills/security/vuln-research.md Vulnerability Research Use this skill when analyzing binaries, fuzzing software, or developing exploits
2
+ skills/security/vuln-research.md (Vulnerability Research) Use this skill when analyzing binaries, fuzzing software, or developing exploits
3
3
 
4
4
  Use this skill when analyzing binaries, fuzzing software, or developing exploits for security research. ## Binary Analysis
5
5
  -->
@@ -1,5 +1,5 @@
1
1
  <!--
2
- skills/utility/clean-code.md AI Slop Removal Patterns and heuristics for identifying and removing AI-generated code smells. U
2
+ skills/utility/clean-code.md (AI Slop Removal) Patterns and heuristics for identifying and removing AI-generated code smells. U
3
3
 
4
4
  Patterns and heuristics for identifying and removing AI-generated code smells. Use when cleaning up output from AI coding tools. ## Decision Tree
5
5
  -->
@@ -160,6 +160,6 @@ async function getUserById(id: string): Promise<User> { ... }
160
160
  ## Rules
161
161
 
162
162
  - Remove smell, nothing else. Do not refactor, reorganize, or add new abstractions.
163
- - Keep diffs minimal one smell per change where possible.
163
+ - Keep diffs minimal: one smell per change where possible.
164
164
  - Never change behavior. If a removal would change behavior, flag it instead.
165
165
  - Show before/after for every change.
@@ -1,4 +1,4 @@
1
- # Changelog: {version} {YYYY-MM-DD}
1
+ # Changelog: {version}: {YYYY-MM-DD}
2
2
 
3
3
  - **Version**: {semver or date-based tag}
4
4
  - **Type**: major | minor | patch | hotfix
@@ -1,6 +1,6 @@
1
1
  # Welcome to Construct
2
2
 
3
- This file was generated by `construct init` to help you get oriented. It's safe to edit Construct only writes it once, then leaves it alone.
3
+ This file was generated by `construct init` to help you get oriented. It's safe to edit: Construct only writes it once, then leaves it alone.
4
4
 
5
5
  **Full docs:** [https://geraldmaron.github.io/construct/v2/](https://geraldmaron.github.io/construct/v2/)
6
6
 
@@ -12,7 +12,7 @@ You added Construct as a dev dependency. That gave you:
12
12
  - **Hard gates.** Every code change runs through commit-time policy: no secrets, tests green, docs current, comments lint-clean. Bypass exists for every gate but leaves an audit trail.
13
13
  - **Persistent state.** Your active work, decisions, and history survive across sessions and editor restarts.
14
14
 
15
- You don't need to manage any of that it all runs locally.
15
+ You don't need to manage any of that: it all runs locally.
16
16
 
17
17
  ## Files Construct created in your project
18
18
 
@@ -26,18 +26,18 @@ You'll see these in `git status`:
26
26
  | `.claude/settings.json` | Hooks + MCP server config. Construct keys are managed; your additions are preserved. | Carefully |
27
27
  | `.cx/` | Per-project session state (active work, recent decisions). Construct writes here. | Read-mostly |
28
28
  | `.beads/` | Issue tracker data. Use `bd <cmd>` to interact. | Via CLI |
29
- | `AGENTS.md` | Operating rules the agent reads at session start. | Yes your house rules go here |
30
- | `plan.md` | Active work plan. Local-only (gitignored). | Yes your current focus |
31
- | `docs/` | Documentation lanes (ADRs, PRDs, memos, …). | Yes this is your team's docs |
32
- | `construct_guide.md` | This file. Friendly orientation. | Yes adapt to your team |
29
+ | `AGENTS.md` | Operating rules the agent reads at session start. | Yes: your house rules go here |
30
+ | `plan.md` | Active work plan. Local-only (gitignored). | Yes: your current focus |
31
+ | `docs/` | Documentation lanes (ADRs, PRDs, memos, …). | Yes: this is your team's docs |
32
+ | `construct_guide.md` | This file. Friendly orientation. | Yes: adapt to your team |
33
33
 
34
34
  ## Where to drop information you want Construct to use
35
35
 
36
36
  Three intake paths, ordered by formality:
37
37
 
38
- 1. **`.cx/inbox/`** drop a file here (URL, screenshot, paste, anything). The embed daemon watches the directory; when a file lands, it ingests it into the local knowledge base within a second or two and writes a triage packet to `.cx/intake/pending/` describing the new content, its R&D classification (intake type, stage, owner persona, recommended chain), its suggested docs lane, and existing docs that overlap. The agent surfaces pending intake at the next session start and you can ask it to process them propose updates to existing PRDs/RFCs/ADRs or scaffold new ones based on the prepared context.
39
- 2. **`docs/intake/`** for proper intake batches (research notes, evidence from a meeting, raw source material). Has a template. Survives in git history.
40
- 3. **`AGENTS.md`** for rules and conventions you want the agent to follow every time. "We prefer functional components. Don't introduce new dependencies without flagging." Read at session start.
38
+ 1. **`.cx/inbox/`** (drop a file here (URL, screenshot, paste, anything). The embed daemon watches the directory; when a file lands, it ingests it into the local knowledge base within a second or two and writes a triage packet to `.cx/intake/pending/` describing the new content, its R&D classification (intake type, stage, owner persona, recommended chain), its suggested docs lane, and existing docs that overlap. The agent surfaces pending intake at the next session start and you can ask it to process them) propose updates to existing PRDs/RFCs/ADRs or scaffold new ones: based on the prepared context.
39
+ 2. **`docs/intake/`**: for proper intake batches (research notes, evidence from a meeting, raw source material). Has a template. Survives in git history.
40
+ 3. **`AGENTS.md`**: for rules and conventions you want the agent to follow every time. "We prefer functional components. Don't introduce new dependencies without flagging." Read at session start.
41
41
 
42
42
  For URLs or quick notes, the easiest path is to drop a file into `~/Downloads` and run:
43
43
 
@@ -82,7 +82,7 @@ construct doctor # verify everything's healthy
82
82
 
83
83
  If you ran `construct init` and have Docker, you have three things running locally on Construct's reserved port block (`54329-54339`, chosen to avoid colliding with Next.js, Postgres, Redis, etc.):
84
84
 
85
- **Telemetry backend** (LLM observability see your traces, costs, and quality scores)
85
+ **Telemetry backend** (LLM observability: see your traces, costs, and quality scores)
86
86
 
87
87
  - URL: <http://localhost:54330>
88
88
 
@@ -97,7 +97,7 @@ If you ran `construct init` and have Docker, you have three things running local
97
97
  - Model auto-downloaded to `~/.construct/cache/embeddings/` on first use (~22 MB, one time)
98
98
  - Run `construct search "your query"` to see it work
99
99
 
100
- If you skipped Docker, Construct falls back to a local JSON vector index at `~/.construct/vector/index.json` and stops emitting traces semantic search still works, just slower at scale, and the telemetry backend isn't available.
100
+ If you skipped Docker, Construct falls back to a local JSON vector index at `~/.construct/vector/index.json` and stops emitting traces: semantic search still works, just slower at scale, and the telemetry backend isn't available.
101
101
 
102
102
  All ports bind to `127.0.0.1` only; nothing is reachable from other machines on your network.
103
103
 
@@ -115,7 +115,7 @@ All ports bind to `127.0.0.1` only; nothing is reachable from other machines on
115
115
  | `construct graph from-intake <id>` | Generate a task graph from a triaged intake packet |
116
116
  | `construct drop` | Ingest the most recent downloaded file |
117
117
  | `construct search "..."` | Hybrid file + SQL + semantic search over project state |
118
- | `construct uninstall` | Interactive teardown never touches Docker or your code |
118
+ | `construct uninstall` | Interactive teardown: never touches Docker or your code |
119
119
 
120
120
  Full reference: <https://geraldmaron.github.io/construct/v2/docs/reference/cli>
121
121
 
@@ -140,7 +140,7 @@ Troubleshooting guide: <https://geraldmaron.github.io/construct/v2/docs/operatio
140
140
 
141
141
  - [Connect your editor](https://geraldmaron.github.io/construct/v2/docs/start/connect-your-editor) if you haven't already.
142
142
  - [Run your first task](https://geraldmaron.github.io/construct/v2/docs/start/first-task) to feel the flow.
143
- - Skim [the architecture](https://geraldmaron.github.io/construct/v2/docs/concepts/architecture) when you have 10 minutes it'll save you hours later.
143
+ - Skim [the architecture](https://geraldmaron.github.io/construct/v2/docs/concepts/architecture) when you have 10 minutes: it'll save you hours later.
144
144
 
145
145
  If you'd rather have a teammate walk you through it, the persona itself can:
146
146
 
@@ -27,8 +27,8 @@ the org decides, documents, or evaluates work once this ships.
27
27
  <!--
28
28
  The current state of the operating system: which workflow, template, eval
29
29
  loop, or governance process is in play today, and what's actually happening
30
- when teams or agents use it. Cite real examples recent PRDs, prior decisions,
31
- trace evidence, support tickets not hypotheticals.
30
+ when teams or agents use it. Cite real examples: recent PRDs, prior decisions,
31
+ trace evidence, support tickets: not hypotheticals.
32
32
  -->
33
33
 
34
34
  ## Problem
@@ -40,7 +40,7 @@ Examples of the right shape:
40
40
  - "PRDs ship without rejected alternatives, so reviewers re-litigate decisions
41
41
  three weeks in. Happens on ~40% of PRDs in the last quarter."
42
42
  - "Postmortems are written by the on-call who shipped the bug, so the action
43
- items reflect their proposals not independent review."
43
+ items reflect their proposals: not independent review."
44
44
  -->
45
45
 
46
46
  ## Goals
@@ -63,7 +63,7 @@ the doc enters review."
63
63
  | | Description |
64
64
  |---|---|
65
65
  | **In scope** | <which templates, workflows, agents, gates, or evals are touched> |
66
- | **Out of scope** | <related operating systems explicitly deferred name the reason> |
66
+ | **Out of scope** | <related operating systems explicitly deferred: name the reason> |
67
67
  | **Adjacent (deferred)** | <natural follow-up changes not in this Meta PRD> |
68
68
 
69
69
  ## Principles
@@ -74,7 +74,7 @@ principle should be testable enough to guide tradeoffs when phases conflict.
74
74
 
75
75
  ## Inputs and evidence
76
76
  <!--
77
- What evidence the system consumes customer notes, interviews, traces, Jira
77
+ What evidence the system consumes: customer notes, interviews, traces, Jira
78
78
  issues, PRDs, research, analytics, support tickets, prior decisions. State
79
79
  minimum evidence thresholds where useful (e.g. "two independent customer
80
80
  interviews before a PRD enters review").
@@ -98,53 +98,53 @@ constraints, anti-patterns, rubric dimensions, pass/fail checks.
98
98
  Status values: not started | in progress | shipped | deferred.
99
99
  -->
100
100
 
101
- ### Phase 1 <name>
101
+ ### Phase 1: <name>
102
102
 
103
103
  - **Goal**: <what this phase delivers>
104
104
  - **Status**: not started
105
105
 
106
106
  **Workflow**
107
107
 
108
- - **MR-1.1** <imperative statement of how the workflow must behave>
108
+ - **MR-1.1**: <imperative statement of how the workflow must behave>
109
109
  - *Acceptance*: <how a reviewer or trace verifies this without asking the author>
110
- - **MR-1.2** <...>
110
+ - **MR-1.2**: <...>
111
111
  - *Acceptance*: <...>
112
112
 
113
113
  **Document + evaluation**
114
114
 
115
- - **DR-1.1** <required section, evidence rule, citation rule, formatting constraint, or anti-pattern>
115
+ - **DR-1.1**: <required section, evidence rule, citation rule, formatting constraint, or anti-pattern>
116
116
  - *Acceptance*: <rubric dimension, pass/fail check, or trace signal that proves it>
117
117
 
118
- ### Phase 2 <name>
118
+ ### Phase 2: <name>
119
119
 
120
120
  - **Goal**: <what this phase delivers>
121
121
  - **Status**: not started
122
122
 
123
123
  **Workflow**
124
124
 
125
- - **MR-2.1** <...>
125
+ - **MR-2.1**: <...>
126
126
  - *Acceptance*: <...>
127
- - **MR-2.2** <...>
127
+ - **MR-2.2**: <...>
128
128
  - *Acceptance*: <...>
129
129
 
130
130
  **Document + evaluation**
131
131
 
132
- - **DR-2.1** <...>
132
+ - **DR-2.1**: <...>
133
133
  - *Acceptance*: <...>
134
134
 
135
- ### Phase 3 <name>
135
+ ### Phase 3: <name>
136
136
 
137
137
  - **Goal**: <what this phase delivers>
138
138
  - **Status**: not started
139
139
 
140
140
  **Workflow**
141
141
 
142
- - **MR-3.1** <...>
142
+ - **MR-3.1**: <...>
143
143
  - *Acceptance*: <...>
144
144
 
145
145
  **Document + evaluation**
146
146
 
147
- - **DR-3.1** <...>
147
+ - **DR-3.1**: <...>
148
148
  - *Acceptance*: <...>
149
149
 
150
150
  ## Human approval gates
@@ -12,7 +12,7 @@
12
12
  <!-- One paragraph. What we will do, at a level a non-specialist can understand. -->
13
13
 
14
14
  ## Why now
15
- <!-- One paragraph. What makes this the right moment a trigger, a constraint, a window. -->
15
+ <!-- One paragraph. What makes this the right moment: a trigger, a constraint, a window. -->
16
16
 
17
17
  ## Success measure
18
18
  <!-- The single metric that tells us this worked. Numeric, time-bound. -->
@@ -0,0 +1,36 @@
1
+ # <Role display name>
2
+
3
+ > Anchor doc for the <role-id> persona. Methodology: `docs/concepts/persona-research.md`. This file is generated by `construct profile create` and is part of the discover + frame phases. The persona is not promotable until every section below is filled from evidence, not opinion.
4
+
5
+ ## Goals
6
+
7
+ - <What does success look like for this role? Not the org's goals; theirs.>
8
+ - <Goal 2>
9
+
10
+ ## Frustrations
11
+
12
+ - <What slows them down, what they get blamed for.>
13
+
14
+ ## Decision rights
15
+
16
+ - Decides: <list>
17
+ - Escalates: <list>
18
+
19
+ ## Handoffs
20
+
21
+ - Hands off to: <role> when <condition>
22
+ - Receives from: <role> when <condition>
23
+
24
+ ## Output contract
25
+
26
+ - Format: <markdown structure, code diff, JSON, etc.>
27
+ - Depth: <short bullet list, two-page doc, one-screen summary, etc.>
28
+ - Citations: <required | encouraged | none>
29
+
30
+ ## Failure modes
31
+
32
+ - <Common ways this persona goes wrong; what to watch for.>
33
+
34
+ ## Evidence
35
+
36
+ - <Interview, doc, postmortem, public job spec. At least two primary sources.>
@@ -22,7 +22,7 @@ Use prd-platform.md for internal platform and developer-facing capabilities.
22
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
23
 
24
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. -->
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
26
 
27
27
  ## Strategic goals
28
28
  <!-- What this decision achieves at the business level: position, revenue, defensibility, optionality. Tie to company objectives. -->
@@ -6,7 +6,7 @@
6
6
 
7
7
  <!--
8
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,
9
+ services: not directly by end users. Covers APIs, SDKs, admin surfaces, data contracts,
10
10
  shared infrastructure, and operational tooling.
11
11
 
12
12
  Use prd.md instead for customer-facing product capabilities.
@@ -12,7 +12,7 @@ process, template, evaluation loop, or operating model.
12
12
  Before drafting, read rules/common/framing.md.
13
13
 
14
14
  Owning specialist: cx-product-manager (see rules/common/doc-ownership.md).
15
- Construct must route PRD authoring to cx-product-manager rather than drafting directly
15
+ Construct must route PRD authoring to cx-product-manager rather than drafting directly.
16
16
  doing so is how requirements traceability, user grounding, and external research fire.
17
17
 
18
18
  Write with a balance of short paragraphs, tables, and bullets. Bullets are for scans,
@@ -67,7 +67,7 @@ Examples:
67
67
  ## Outcome
68
68
  <!--
69
69
  What is concretely different for users, the business, or the system once this
70
- ships and is adopted. This is the observable end state written from the
70
+ ships and is adopted. This is the observable end state: written from the
71
71
  user's perspective when possible. The acceptance criteria below should be the
72
72
  falsifiable evidence that this outcome was achieved.
73
73
 
@@ -80,13 +80,13 @@ section and see the delta in plain language.
80
80
  | | Description |
81
81
  |---|---|
82
82
  | **In scope** | <what this PRD covers and commits to ship> |
83
- | **Out of scope** | <related work explicitly deferred name the reason> |
83
+ | **Out of scope** | <related work explicitly deferred: name the reason> |
84
84
  | **Adjacent (deferred)** | <work that's a natural follow-up but not in this PRD> |
85
85
 
86
86
  <!--
87
87
  Be specific. "Authentication" is too vague; "OAuth login for the web dashboard,
88
88
  not for the CLI" is right. The Out of scope list is a tool for protecting
89
- schedule and reviewer attention use it.
89
+ schedule and reviewer attention: use it.
90
90
  -->
91
91
 
92
92
  ## Phases
@@ -94,7 +94,7 @@ schedule and reviewer attention — use it.
94
94
  <!--
95
95
  Phases are how this work ships, not how it's organized internally. Each phase
96
96
  is independently shippable and provides observable user value (or a clearly
97
- defined platform capability). Avoid "phase 1: backend, phase 2: frontend"
97
+ defined platform capability). Avoid "phase 1: backend, phase 2: frontend".
98
98
  that's a task list, not a phasing.
99
99
 
100
100
  Each phase below holds its own goal, status, functional requirements (FR),
@@ -108,53 +108,53 @@ NFR categories to consider: performance, reliability, security, privacy,
108
108
  accessibility, observability, compliance, cost. Numeric targets where possible.
109
109
  -->
110
110
 
111
- ### Phase 1 <name>
111
+ ### Phase 1: <name>
112
112
 
113
113
  - **Goal**: <what this phase delivers>
114
114
  - **Status**: not started
115
115
 
116
116
  **Functional**
117
117
 
118
- - **FR-1.1** <imperative statement of what the system must do>
118
+ - **FR-1.1**: <imperative statement of what the system must do>
119
119
  - *Acceptance*: <observable, falsifiable condition a reviewer can check without asking the author>
120
- - **FR-1.2** <...>
120
+ - **FR-1.2**: <...>
121
121
  - *Acceptance*: <...>
122
122
 
123
123
  **Non-functional**
124
124
 
125
- - **NFR-1.1** <category>: <target with number>
125
+ - **NFR-1.1**: <category>: <target with number>
126
126
  - *Acceptance*: <how this is measured and what counts as pass>
127
127
 
128
- ### Phase 2 <name>
128
+ ### Phase 2: <name>
129
129
 
130
130
  - **Goal**: <what this phase delivers>
131
131
  - **Status**: not started
132
132
 
133
133
  **Functional**
134
134
 
135
- - **FR-2.1** <...>
135
+ - **FR-2.1**: <...>
136
136
  - *Acceptance*: <...>
137
- - **FR-2.2** <...>
137
+ - **FR-2.2**: <...>
138
138
  - *Acceptance*: <...>
139
139
 
140
140
  **Non-functional**
141
141
 
142
- - **NFR-2.1** <category>: <target>
142
+ - **NFR-2.1**: <category>: <target>
143
143
  - *Acceptance*: <...>
144
144
 
145
- ### Phase 3 <name>
145
+ ### Phase 3: <name>
146
146
 
147
147
  - **Goal**: <what this phase delivers>
148
148
  - **Status**: not started
149
149
 
150
150
  **Functional**
151
151
 
152
- - **FR-3.1** <...>
152
+ - **FR-3.1**: <...>
153
153
  - *Acceptance*: <...>
154
154
 
155
155
  **Non-functional**
156
156
 
157
- - **NFR-3.1** <category>: <target>
157
+ - **NFR-3.1**: <category>: <target>
158
158
  - *Acceptance*: <...>
159
159
 
160
160
  ## Success metrics
@@ -165,7 +165,7 @@ acceptance criteria. Leading vs. lagging. Avoid vanity metrics.
165
165
 
166
166
  ## Constraints
167
167
  <!--
168
- Budget, timeline, platform, team, legal, technical debt anything that shapes
168
+ Budget, timeline, platform, team, legal, technical debt: anything that shapes
169
169
  the solution and isn't a requirement.
170
170
  -->
171
171
 
@@ -8,7 +8,7 @@
8
8
 
9
9
  ## Question
10
10
 
11
- <!-- One specific, falsifiable question this research must answer. Not a topic a question with a determinate answer. -->
11
+ <!-- One specific, falsifiable question this research must answer. Not a topic: a question with a determinate answer. -->
12
12
 
13
13
  ## Method
14
14
 
@@ -30,25 +30,25 @@
30
30
  <!-- Class definitions:
31
31
  - primary: peer-reviewed papers, official docs at exact version, raw source code, standards, company announcements, SEC filings
32
32
  - secondary: changelogs, migration guides, tracked issues, maintainer posts, conference talks by authors
33
- - tertiary: blog posts, forums, Q&A, analyst summaries for discovery only, never as evidence
33
+ - tertiary: blog posts, forums, Q&A, analyst summaries: for discovery only, never as evidence
34
34
  Mark Verified = yes only after fetching the URL and confirming content matches. -->
35
35
 
36
36
  ## Findings
37
37
 
38
38
  <!-- For each finding, state separately:
39
- - Observation: what the source(s) actually say direct, traceable
40
- - Inference: what is concluded from the observation labeled as inference
39
+ - Observation: what the source(s) actually say: direct, traceable
40
+ - Inference: what is concluded from the observation: labeled as inference
41
41
  - Confidence: high / medium / low, with a one-line reason
42
42
  - Sources: reference the Source table row(s) -->
43
43
 
44
- ### Finding 1 {short label}
44
+ ### Finding 1: {short label}
45
45
 
46
46
  **Observation**: <!-- what the sources say -->
47
- **Inference**: <!-- what is concluded labeled as inference -->
48
- **Confidence**: high / medium / low {reason}
47
+ **Inference**: <!-- what is concluded: labeled as inference -->
48
+ **Confidence**: high / medium / low: {reason}
49
49
  **Sources**: {source title(s) from table}
50
50
 
51
- ### Finding N {short label}
51
+ ### Finding N: {short label}
52
52
 
53
53
  <!-- repeat as needed -->
54
54
 
@@ -0,0 +1,26 @@
1
+ ---
2
+ kind: research-finding
3
+ topic: "<short topic line>"
4
+ confidence: inferred
5
+ sources: []
6
+ created: <ISO timestamp set by construct knowledge add>
7
+ expiresAt: <ISO timestamp, default created + 90d>
8
+ profile: <active profile id>
9
+ ---
10
+
11
+ ## FINDINGS
12
+
13
+ - <Finding 1 with citation>
14
+ - <Finding 2 with citation>
15
+
16
+ ## INFERENCES
17
+
18
+ - <Inference labeled as such>
19
+
20
+ ## GAPS
21
+
22
+ - <What we could not confirm>
23
+
24
+ ## RECOMMENDATION
25
+
26
+ - <Next action based on the evidence available>
@@ -9,7 +9,7 @@
9
9
  <!--
10
10
  Use this for significant technical or architectural proposals that need structured
11
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.
12
+ already made): it is the proposal that leads to one.
13
13
 
14
14
  Use rfc-platform.md instead when the proposal introduces breaking changes to a
15
15
  contract, API, schema, or protocol consumed by other systems.
@@ -0,0 +1,27 @@
1
+ ---
2
+ name: <verb-led-id>
3
+ scope: <one paragraph: what it covers, what it does not>
4
+ observable_outcome: <how someone outside the role tells this skill happened>
5
+ provenance:
6
+ - <citation: post-mortem, public framework, competency model>
7
+ roles:
8
+ - <role-id that uses this skill>
9
+ ---
10
+
11
+ # <Skill display name>
12
+
13
+ ## What this skill produces
14
+
15
+ <Concrete output. Bloom-style: not "knows X" but "produces Y".>
16
+
17
+ ## When to invoke it
18
+
19
+ <Triggers. What the operator or the upstream persona is doing when this skill is the right call.>
20
+
21
+ ## How it composes
22
+
23
+ <Other skills typically chained before or after.>
24
+
25
+ ## Anti-patterns
26
+
27
+ <Ways this skill gets misapplied; what looks similar but is not this.>
@@ -5,7 +5,7 @@ horizon: "6–12 months"
5
5
  ---
6
6
 
7
7
  <!--
8
- templates/docs/strategy.md Template for product strategy documents.
8
+ templates/docs/strategy.md: Template for product strategy documents.
9
9
  Use for both user-product strategy and Construct's own strategy (.cx/strategy.md).
10
10
  Canonical store: ~/.cx/strategy.md (user-global) or .cx/strategy.md (project-local, committed).
11
11
  Owning workflow: skills/docs/strategy-workflow.md.