@geraldmaron/construct 1.0.3 → 1.0.4

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 (75) hide show
  1. package/README.md +4 -4
  2. package/agents/prompts/cx-ai-engineer.md +6 -26
  3. package/agents/prompts/cx-architect.md +1 -0
  4. package/agents/prompts/cx-business-strategist.md +2 -0
  5. package/agents/prompts/cx-data-analyst.md +6 -26
  6. package/agents/prompts/cx-docs-keeper.md +1 -31
  7. package/agents/prompts/cx-explorer.md +1 -0
  8. package/agents/prompts/cx-orchestrator.md +40 -112
  9. package/agents/prompts/cx-platform-engineer.md +2 -22
  10. package/agents/prompts/cx-product-manager.md +2 -1
  11. package/agents/prompts/cx-qa.md +0 -20
  12. package/agents/prompts/cx-rd-lead.md +2 -0
  13. package/agents/prompts/cx-researcher.md +77 -31
  14. package/agents/prompts/cx-security.md +11 -49
  15. package/agents/prompts/cx-sre.md +9 -43
  16. package/agents/prompts/cx-ux-researcher.md +1 -0
  17. package/agents/role-manifests.json +4 -4
  18. package/bin/construct +23 -0
  19. package/db/schema/004_recommendations.sql +46 -0
  20. package/db/schema/005_strategy.sql +21 -0
  21. package/lib/auto-docs.mjs +1 -2
  22. package/lib/beads-automation.mjs +16 -7
  23. package/lib/cli-commands.mjs +8 -2
  24. package/lib/embed/conflict-detection.mjs +26 -9
  25. package/lib/embed/customer-profiles.mjs +37 -17
  26. package/lib/embed/daemon.mjs +10 -8
  27. package/lib/embed/recommendation-store.mjs +213 -14
  28. package/lib/embed/workspaces.mjs +53 -18
  29. package/lib/gates-audit.mjs +3 -3
  30. package/lib/health-check.mjs +1 -1
  31. package/lib/hooks/pre-compact.mjs +3 -0
  32. package/lib/hooks/read-tracker.mjs +10 -101
  33. package/lib/host-capabilities.mjs +90 -1
  34. package/lib/init-update.mjs +246 -131
  35. package/lib/intent-classifier.mjs +1 -0
  36. package/lib/knowledge/layout.mjs +10 -0
  37. package/lib/mcp/tools/telemetry.mjs +30 -78
  38. package/lib/model-router.mjs +61 -1
  39. package/lib/ollama-manager.mjs +1 -1
  40. package/lib/opencode-telemetry.mjs +4 -5
  41. package/lib/orchestration-policy.mjs +9 -0
  42. package/lib/parity.mjs +124 -21
  43. package/lib/prompt-composer.js +106 -29
  44. package/lib/read-tracker-store.mjs +149 -0
  45. package/lib/server/index.mjs +76 -0
  46. package/lib/server/telemetry-login.mjs +17 -25
  47. package/lib/service-manager.mjs +30 -22
  48. package/lib/services/local-postgres.mjs +15 -0
  49. package/lib/services/telemetry-backend.mjs +1 -2
  50. package/lib/setup.mjs +8 -43
  51. package/lib/status.mjs +51 -5
  52. package/lib/storage/backend.mjs +12 -2
  53. package/lib/strategy-store.mjs +371 -0
  54. package/lib/telemetry/backends/local.mjs +6 -4
  55. package/lib/telemetry/client.mjs +185 -0
  56. package/lib/telemetry/ingest.mjs +13 -5
  57. package/lib/telemetry/team-rollup.mjs +9 -2
  58. package/lib/worker/trace.mjs +17 -27
  59. package/package.json +5 -2
  60. package/rules/common/research.md +44 -12
  61. package/skills/docs/backlog-proposal-workflow.md +2 -2
  62. package/skills/docs/customer-profile-workflow.md +1 -1
  63. package/skills/docs/evidence-ingest-workflow.md +5 -5
  64. package/skills/docs/prfaq-workflow.md +1 -1
  65. package/skills/docs/product-intelligence-review.md +1 -1
  66. package/skills/docs/product-intelligence-workflow.md +3 -3
  67. package/skills/docs/product-signal-workflow.md +48 -18
  68. package/skills/docs/research-workflow.md +26 -14
  69. package/skills/docs/strategy-workflow.md +36 -0
  70. package/skills/roles/data-analyst.product-intelligence.md +1 -1
  71. package/skills/roles/researcher.md +28 -15
  72. package/skills/routing.md +8 -1
  73. package/templates/docs/research-brief.md +63 -9
  74. package/templates/docs/strategy.md +36 -0
  75. package/templates/homebrew/construct.rb +6 -6
@@ -2,28 +2,82 @@
2
2
 
3
3
  - **Date**: {YYYY-MM-DD}
4
4
  - **Author**: {name}
5
+ - **Domain**: {ai-tools | developer-tools | security | market | cloud-api | regulatory | academic | other}
5
6
  - **Status**: in-progress | complete
7
+ - **Recency baseline**: Sources from {YYYY} and later preferred; oldest source used: {YYYY-MM-DD}
6
8
 
7
9
  ## Question
8
- <!-- The specific, falsifiable question this research is trying to answer. One sentence. -->
10
+
11
+ <!-- One specific, falsifiable question this research must answer. Not a topic — a question with a determinate answer. -->
9
12
 
10
13
  ## Method
11
- <!-- How the question was investigated. Start order, queries run, internal paths checked, experiments performed, and systems consulted. Enough detail that another person could reproduce it. -->
14
+
15
+ <!-- How the question was investigated:
16
+ - Domain starting point used (arXiv, NVD, Stack Overflow Survey, vendor docs, etc.)
17
+ - Date filter applied (search from YYYY-first)
18
+ - Internal paths checked (.cx/research/, .cx/knowledge/, ADRs, etc.)
19
+ - Search terms and queries run
20
+ - Systems and indexes consulted
21
+ - Inclusion/exclusion decisions
22
+ Enough detail that another person could reproduce it. -->
12
23
 
13
24
  ## Sources
14
- <!-- For each source record: title/path, source class (internal/primary/secondary/tertiary), version or revision if relevant, and publication/access date. Separate primary from secondary. Note where sources disagree. -->
25
+
26
+ | Title / Path | Class | Date | URL | Verified | Relevance |
27
+ |---|---|---|---|---|---|
28
+ | {source title or file path} | primary / secondary / tertiary | {YYYY-MM-DD} | {URL or path} | yes / no / n/a | {one-line} |
29
+
30
+ <!-- Class definitions:
31
+ - primary: peer-reviewed papers, official docs at exact version, raw source code, standards, company announcements, SEC filings
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
34
+ Mark Verified = yes only after fetching the URL and confirming content matches. -->
15
35
 
16
36
  ## Findings
17
- <!-- What the evidence says. Separate observation from inference. Label each finding with its confidence level and cite the supporting source(s). -->
18
37
 
19
- ## Confidence
20
- <!-- Per finding: high / medium / low, and why. Name the biggest unknowns. -->
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
41
+ - Confidence: high / medium / low, with a one-line reason
42
+ - Sources: reference the Source table row(s) -->
43
+
44
+ ### Finding 1 — {short label}
45
+
46
+ **Observation**: <!-- what the sources say -->
47
+ **Inference**: <!-- what is concluded — labeled as inference -->
48
+ **Confidence**: high / medium / low — {reason}
49
+ **Sources**: {source title(s) from table}
50
+
51
+ ### Finding N — {short label}
52
+
53
+ <!-- repeat as needed -->
54
+
55
+ ## Counter-evidence
56
+
57
+ <!-- The strongest finding that contradicts or complicates the conclusion. How it was addressed. If no counter-evidence was found, state that and note whether it was actively searched for. -->
58
+
59
+ ## Confidence summary
60
+
61
+ <!-- Overall confidence across all findings. Key uncertainties. What would most change the conclusion. -->
62
+
63
+ ## Gaps
64
+
65
+ <!-- What this research did not resolve. For each gap: what evidence is missing and what would be needed to fill it. -->
21
66
 
22
67
  ## Implications
23
- <!-- What decisions this research enables or blocks. Who should act on it. -->
68
+
69
+ <!-- What decisions this research enables or blocks. Who should act on it and in what timeframe. -->
70
+
71
+ ## Recommendation
72
+
73
+ <!-- What the evidence supports. State the evidence threshold at which this recommendation would flip. -->
24
74
 
25
75
  ## Open questions
26
- <!-- What this research did not resolve. What would be needed to answer each. -->
76
+
77
+ <!-- Remaining questions scoped out of this brief. Suitable for a follow-up research task or a handoff. -->
27
78
 
28
79
  ## References
29
- <!-- Full citation list. Include URLs, document paths, versions, and dates. -->
80
+
81
+ <!-- Full citation list. Format: Author(s). (Year). Title. Venue/Source. Retrieved from URL.
82
+ Include: author(s) or org, year, title, publication venue, URL, access date for web sources.
83
+ Mark any URL that was not verified as [unverified]. -->
@@ -0,0 +1,36 @@
1
+ ---
2
+ title: Product Strategy
3
+ updated: YYYY-MM-DD
4
+ horizon: "6–12 months"
5
+ ---
6
+
7
+ <!--
8
+ templates/docs/strategy.md — Template for product strategy documents.
9
+ Use for both user-product strategy and Construct's own strategy (.cx/strategy.md).
10
+ Canonical store: ~/.cx/strategy.md (user-global) or .cx/strategy.md (project-local, committed).
11
+ Owning workflow: skills/docs/strategy-workflow.md.
12
+ -->
13
+
14
+ ## Vision
15
+ <!-- 1–3 sentences. Where are we going in 3–5 years? -->
16
+
17
+ ## Bets
18
+ <!-- Explicit choices. Each bet: what we're doing and why. -->
19
+ - **Bet 1**: …
20
+ - **Bet 2**: …
21
+
22
+ ## Non-bets
23
+ <!-- What we are explicitly NOT doing, and why. This section prevents strategy drift. -->
24
+ - **Not doing**: … **Because**: …
25
+
26
+ ## Time Horizon
27
+ <!-- Current cycle focus. What must be true 6–12 months from now? -->
28
+
29
+ ## North Star Metric
30
+ <!-- Single measurable outcome. Format: Metric / Baseline / Target / Owner -->
31
+
32
+ ## Competitive Positioning
33
+ <!-- How we differentiate. 2–4 sentences. -->
34
+
35
+ ## Open Bets
36
+ <!-- Decisions not yet made. Clarify and move to Bets or Non-bets. -->
@@ -2,13 +2,13 @@
2
2
  #
3
3
  # Authoritative copy lives in the construct repo at templates/homebrew/
4
4
  # construct.rb. The tap repo (geraldmaron/homebrew-construct) carries the
5
- # active formula at Formula/construct.rb and is updated by the release
6
- # workflow's Homebrew bump step on every tag push.
5
+ # active formula at Formula/construct.rb.
7
6
  #
8
- # When the release pipeline fires for `vX.Y.Z`, dawidd6/action-homebrew-bump-
9
- # formula rewrites the url + sha256 fields for each platform from the
10
- # matching GitHub Release asset. The placeholder SHAs below are only used
11
- # when seeding the tap by hand the first time.
7
+ # The release workflow's `homebrew` job regenerates Formula/construct.rb from
8
+ # scratch on every `v*` tag push it downloads sha256 sidecars from the
9
+ # GitHub Release, fills in the version and per-platform URLs/SHAs, and pushes
10
+ # directly to the tap. The placeholder SHAs below are only used when seeding
11
+ # the tap by hand the first time (see docs/maintenance/homebrew-tap.md).
12
12
  class Construct < Formula
13
13
  desc "Deployable AI R&D operating system for coding agents — runs locally or for teams"
14
14
  homepage "https://github.com/geraldmaron/construct"