convoke-agents 2.4.0 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/INSTALLATION.md +109 -86
  3. package/README.md +220 -163
  4. package/UPDATE-GUIDE.md +63 -23
  5. package/_bmad/bme/_gyre/README.md +100 -0
  6. package/_bmad/bme/_gyre/agents/.gitkeep +0 -0
  7. package/_bmad/bme/_gyre/agents/model-curator.md +128 -0
  8. package/_bmad/bme/_gyre/agents/readiness-analyst.md +127 -0
  9. package/_bmad/bme/_gyre/agents/review-coach.md +130 -0
  10. package/_bmad/bme/_gyre/agents/stack-detective.md +125 -0
  11. package/_bmad/bme/_gyre/compass-routing-reference.md +168 -0
  12. package/_bmad/bme/_gyre/config.yaml +22 -0
  13. package/_bmad/bme/_gyre/contracts/.gitkeep +0 -0
  14. package/_bmad/bme/_gyre/contracts/gc1-stack-profile.md +152 -0
  15. package/_bmad/bme/_gyre/contracts/gc2-capabilities-manifest.md +189 -0
  16. package/_bmad/bme/_gyre/contracts/gc3-findings-report.md +197 -0
  17. package/_bmad/bme/_gyre/contracts/gc4-feedback-loop.md +209 -0
  18. package/_bmad/bme/_gyre/guides/ATLAS-USER-GUIDE.md +177 -0
  19. package/_bmad/bme/_gyre/guides/COACH-USER-GUIDE.md +172 -0
  20. package/_bmad/bme/_gyre/guides/LENS-USER-GUIDE.md +181 -0
  21. package/_bmad/bme/_gyre/guides/SCOUT-USER-GUIDE.md +158 -0
  22. package/_bmad/bme/_gyre/workflows/.gitkeep +0 -0
  23. package/_bmad/bme/_gyre/workflows/accuracy-validation/steps/step-01-select-repos.md +55 -0
  24. package/_bmad/bme/_gyre/workflows/accuracy-validation/steps/step-02-run-validation.md +78 -0
  25. package/_bmad/bme/_gyre/workflows/accuracy-validation/steps/step-03-score-results.md +143 -0
  26. package/_bmad/bme/_gyre/workflows/accuracy-validation/workflow.md +41 -0
  27. package/_bmad/bme/_gyre/workflows/delta-report/steps/step-01-load-history.md +63 -0
  28. package/_bmad/bme/_gyre/workflows/delta-report/steps/step-02-compute-delta.md +72 -0
  29. package/_bmad/bme/_gyre/workflows/delta-report/steps/step-03-present-delta.md +143 -0
  30. package/_bmad/bme/_gyre/workflows/delta-report/workflow.md +34 -0
  31. package/_bmad/bme/_gyre/workflows/full-analysis/steps/step-01-initialize.md +68 -0
  32. package/_bmad/bme/_gyre/workflows/full-analysis/steps/step-02-detect-stack.md +49 -0
  33. package/_bmad/bme/_gyre/workflows/full-analysis/steps/step-03-generate-model.md +52 -0
  34. package/_bmad/bme/_gyre/workflows/full-analysis/steps/step-04-analyze-gaps.md +42 -0
  35. package/_bmad/bme/_gyre/workflows/full-analysis/steps/step-05-review-findings.md +128 -0
  36. package/_bmad/bme/_gyre/workflows/full-analysis/workflow.md +39 -0
  37. package/_bmad/bme/_gyre/workflows/gap-analysis/steps/step-01-load-manifest.md +70 -0
  38. package/_bmad/bme/_gyre/workflows/gap-analysis/steps/step-02-observability-analysis.md +110 -0
  39. package/_bmad/bme/_gyre/workflows/gap-analysis/steps/step-03-deployment-analysis.md +87 -0
  40. package/_bmad/bme/_gyre/workflows/gap-analysis/steps/step-04-cross-domain-correlation.md +105 -0
  41. package/_bmad/bme/_gyre/workflows/gap-analysis/steps/step-05-present-findings.md +172 -0
  42. package/_bmad/bme/_gyre/workflows/gap-analysis/workflow.md +38 -0
  43. package/_bmad/bme/_gyre/workflows/model-generation/steps/step-01-load-profile.md +74 -0
  44. package/_bmad/bme/_gyre/workflows/model-generation/steps/step-02-generate-capabilities.md +116 -0
  45. package/_bmad/bme/_gyre/workflows/model-generation/steps/step-03-web-enrichment.md +89 -0
  46. package/_bmad/bme/_gyre/workflows/model-generation/steps/step-04-write-manifest.md +122 -0
  47. package/_bmad/bme/_gyre/workflows/model-generation/workflow.md +40 -0
  48. package/_bmad/bme/_gyre/workflows/model-review/steps/step-01-load-context.md +86 -0
  49. package/_bmad/bme/_gyre/workflows/model-review/steps/step-02-walkthrough.md +116 -0
  50. package/_bmad/bme/_gyre/workflows/model-review/steps/step-03-apply-amendments.md +92 -0
  51. package/_bmad/bme/_gyre/workflows/model-review/steps/step-04-capture-feedback.md +107 -0
  52. package/_bmad/bme/_gyre/workflows/model-review/steps/step-05-summary.md +60 -0
  53. package/_bmad/bme/_gyre/workflows/model-review/workflow.md +41 -0
  54. package/_bmad/bme/_gyre/workflows/stack-detection/steps/step-01-scan-filesystem.md +176 -0
  55. package/_bmad/bme/_gyre/workflows/stack-detection/steps/step-02-classify-stack.md +111 -0
  56. package/_bmad/bme/_gyre/workflows/stack-detection/steps/step-03-guard-questions.md +117 -0
  57. package/_bmad/bme/_gyre/workflows/stack-detection/workflow.md +42 -0
  58. package/_bmad/bme/_vortex/config.yaml +1 -1
  59. package/package.json +5 -2
  60. package/scripts/archive.js +304 -0
  61. package/scripts/convoke-doctor.js +146 -132
  62. package/scripts/docs-audit.js +21 -5
  63. package/scripts/install-gyre-agents.js +140 -0
  64. package/scripts/install-vortex-agents.js +0 -0
  65. package/scripts/update/lib/agent-registry.js +70 -0
  66. package/scripts/update/lib/refresh-installation.js +152 -30
  67. package/scripts/update/lib/validator.js +160 -1
@@ -0,0 +1,172 @@
1
+ ---
2
+ step: 5
3
+ workflow: gap-analysis
4
+ title: Present Findings
5
+ ---
6
+
7
+ # Step 5: Present Findings
8
+
9
+ Write findings to GC3 artifact and present a conversational severity-first summary.
10
+
11
+ ## MANDATORY EXECUTION RULES
12
+
13
+ - Write GC3 to `.gyre/findings.yaml` before presenting to the user
14
+ - Present severity-first: blockers, then recommended, then nice-to-have (FR33)
15
+ - Include novelty ratio: how many findings are contextual vs what a static linter would catch (FR34)
16
+ - Include compound findings with reasoning chains (FR35)
17
+ - Output must be copy-pasteable into Slack/Jira/docs (FR49)
18
+ - If analysis failed partway, report what was found and offer to retry (NFR11)
19
+
20
+ ## WRITE GC3 ARTIFACT
21
+
22
+ Write the following to `.gyre/findings.yaml`:
23
+
24
+ ```yaml
25
+ ---
26
+ contract: GC3
27
+ type: artifact
28
+ source_agent: lens
29
+ source_workflow: gap-analysis
30
+ target_agents: [coach]
31
+ input_artifacts: [GC2]
32
+ created: [today's date]
33
+ ---
34
+
35
+ gyre_findings:
36
+ version: "1.0"
37
+ analyzed_at: "[ISO-8601 timestamp]"
38
+ mode: "[crisis|anticipation]"
39
+ stack_summary: "[from GC2]"
40
+ summary:
41
+ blockers: [count]
42
+ recommended: [count]
43
+ nice_to_have: [count]
44
+ total: [count]
45
+ novelty_ratio: "[X of Y contextual]"
46
+ findings:
47
+ [all OBS-NNN and DEP-NNN findings]
48
+ compound_findings:
49
+ [all COMPOUND-NNN findings]
50
+ sanity_check:
51
+ passed: [boolean]
52
+ warnings: [list]
53
+ ```
54
+
55
+ ## CONVERSATIONAL PRESENTATION
56
+
57
+ Present findings in this order:
58
+
59
+ ### 1. Mode Indicator (FR37)
60
+
61
+ ```
62
+ ## Gap Analysis — [Crisis Mode / Anticipation Mode]
63
+ ```
64
+
65
+ ### 2. Severity-First Summary (FR33)
66
+
67
+ ```
68
+ **[stack_summary]**
69
+
70
+ | Severity | Count |
71
+ |----------|:-----:|
72
+ | 🔴 Blockers | [N] |
73
+ | 🟡 Recommended | [N] |
74
+ | 🟢 Nice-to-have | [N] |
75
+ | **Total findings** | **[N]** |
76
+
77
+ **Novelty ratio:** [X] of [Y] findings are contextual — gaps a generic linter would miss.
78
+ ```
79
+
80
+ ### 3. Blocker Findings (if any)
81
+
82
+ ```
83
+ ### 🔴 Blockers
84
+
85
+ **[OBS/DEP-NNN] [capability name]**
86
+ [description]
87
+ - **Evidence:** [evidence_summary]
88
+ - **Confidence:** [high/medium/low]
89
+ - **Why blocker:** [severity_rationale]
90
+ ```
91
+
92
+ ### 4. Compound Findings (if any, FR35)
93
+
94
+ ```
95
+ ### ⚡ Compound Findings
96
+
97
+ **[COMPOUND-NNN] [description headline]**
98
+ - Combines: [OBS-NNN] + [DEP-NNN]
99
+ - **Impact:** [combined_impact reasoning chain]
100
+ - **Confidence:** [compound confidence]
101
+ ```
102
+
103
+ ### 5. Recommended Findings
104
+
105
+ ```
106
+ ### 🟡 Recommended
107
+
108
+ | # | Finding | Capability | Confidence |
109
+ |---|---------|-----------|:----------:|
110
+ | [DEP-NNN] | [description] | [capability name] | [high/medium/low] |
111
+ ```
112
+
113
+ ### 6. Nice-to-Have Findings
114
+
115
+ ```
116
+ ### 🟢 Nice-to-have
117
+
118
+ | # | Finding | Capability | Confidence |
119
+ |---|---------|-----------|:----------:|
120
+ | [OBS-NNN] | [description] | [capability name] | [high/medium/low] |
121
+ ```
122
+
123
+ ### 7. Sanity Check Warnings (if any)
124
+
125
+ ```
126
+ ### ⚠️ Analysis Notes
127
+
128
+ [List any sanity_check.warnings]
129
+ ```
130
+
131
+ ### 8. Summary Footer
132
+
133
+ ```
134
+ Written to `.gyre/findings.yaml`
135
+
136
+ ---
137
+ ```
138
+
139
+ ## ERROR RECOVERY (NFR11, FR56)
140
+
141
+ If analysis failed after model generation:
142
+
143
+ ```
144
+ ## Analysis Partially Complete
145
+
146
+ [domain] analysis encountered an error: [brief description]
147
+
148
+ **What was completed:**
149
+ - ✅ [completed domain]: [N] findings
150
+ - ❌ [failed domain]: analysis did not complete
151
+
152
+ **Your capabilities manifest (.gyre/capabilities.yaml) is safe** — it was written before analysis started.
153
+
154
+ **Options:**
155
+ a) View findings from the completed domain
156
+ b) Retry the failed domain
157
+ c) Exit and investigate
158
+ ```
159
+
160
+ ---
161
+
162
+ ## Gyre Compass
163
+
164
+ Based on what you just completed, here are your options:
165
+
166
+ | If you want to... | Consider next... | Agent | Why |
167
+ |---|---|---|---|
168
+ | Review findings and customize the model | model-review | Coach 🏋️ | Walk through findings, amend capabilities |
169
+ | Compare with previous analysis | delta-report | Lens 🔬 | Track progress since last run |
170
+ | Regenerate the model with different parameters | model-generation | Atlas 📐 | Model may need adjustment based on findings |
171
+
172
+ > **Note:** These are recommendations. You can run any Gyre workflow at any time.
@@ -0,0 +1,38 @@
1
+ ---
2
+ name: gap-analysis
3
+ agent: readiness-analyst
4
+ title: Gap Analysis
5
+ description: Run absence detection across observability and deployment domains with cross-domain correlation
6
+ steps: 5
7
+ ---
8
+
9
+ # Gap Analysis Workflow
10
+
11
+ Lens compares each capability in the manifest against actual filesystem evidence. Identifies what's missing — not just what's misconfigured.
12
+
13
+ ## Prerequisites
14
+
15
+ - GC2 (Capabilities Manifest) must exist at `.gyre/capabilities.yaml`
16
+ - If GC2 doesn't exist, direct the user to run `model-generation` with Atlas first
17
+
18
+ ## Pipeline
19
+
20
+ | Step | File | Action |
21
+ |------|------|--------|
22
+ | 1 | step-01-load-manifest.md | Load GC2 (capabilities.yaml) |
23
+ | 2 | step-02-observability-analysis.md | For each observability capability: search filesystem for evidence |
24
+ | 3 | step-03-deployment-analysis.md | For each deployment capability: search filesystem for evidence |
25
+ | 4 | step-04-cross-domain-correlation.md | Identify compound patterns across domains |
26
+ | 5 | step-05-present-findings.md | Present severity-first summary, write GC3 |
27
+
28
+ ## Privacy Boundary
29
+
30
+ Findings reference capability IDs and evidence summaries — NOT file contents or secrets. Evidence is described categorically: "health check endpoint found" not the endpoint source code.
31
+
32
+ ## Instructions
33
+
34
+ Load the first step to begin:
35
+
36
+ ```
37
+ Load step: {project-root}/_bmad/bme/_gyre/workflows/gap-analysis/steps/step-01-load-manifest.md
38
+ ```
@@ -0,0 +1,74 @@
1
+ ---
2
+ step: 1
3
+ workflow: model-generation
4
+ title: Load Stack Profile
5
+ ---
6
+
7
+ # Step 1: Load Stack Profile
8
+
9
+ Load the GC1 Stack Profile and check for existing amendments from previous reviews.
10
+
11
+ ## MANDATORY EXECUTION RULES
12
+
13
+ - Use Claude Code Read tool to load `.gyre/stack-profile.yaml`
14
+ - If file doesn't exist, do NOT proceed — inform user to run stack-detection first
15
+ - Check for existing GC4 amendments to respect on regeneration
16
+
17
+ ## EXECUTION SEQUENCE
18
+
19
+ ### 1. Load GC1 (Stack Profile)
20
+
21
+ **Read** `.gyre/stack-profile.yaml`:
22
+
23
+ - Parse the YAML content
24
+ - Extract: primary_language, primary_framework, container_orchestration, ci_cd_platform, observability_tooling, cloud_provider, communication_protocol
25
+ - Extract guard_answers if present
26
+ - Note detection_confidence level
27
+
28
+ **If file not found:**
29
+ ```
30
+ I need a Stack Profile (GC1) before I can generate a capabilities model.
31
+
32
+ Please run Scout's stack detection first:
33
+ - Activate Scout: /bmad-agent-bme-stack-detective
34
+ - Select [DS] Detect Stack
35
+
36
+ Or run the full analysis pipeline which includes detection:
37
+ - Select [FA] Full Analysis
38
+ ```
39
+ Then STOP — do not proceed.
40
+
41
+ ### 2. Check for Existing Amendments (GC4)
42
+
43
+ **Read** `.gyre/capabilities.yaml` (if it exists):
44
+
45
+ - If the file exists, this is a **regeneration** — previous model exists
46
+ - Look for capabilities with `amended: true` — these are user-modified
47
+ - Look for capabilities with `removed: true` — these were explicitly removed
48
+ - Store amendments list for step 2 (generate will respect them)
49
+
50
+ **If capabilities.yaml doesn't exist:** This is a first-time generation — no amendments to respect.
51
+
52
+ ### 3. Present Profile Summary
53
+
54
+ ```
55
+ ## Stack Profile Loaded
56
+
57
+ **Stack:** [primary_language] / [primary_framework]
58
+ **Deployment:** [container_orchestration] on [cloud_provider]
59
+ **CI/CD:** [ci_cd_platform]
60
+ **Observability:** [observability_tooling list]
61
+ **Communication:** [communication_protocol]
62
+ **Confidence:** [detection_confidence]
63
+
64
+ [If regeneration]: **Previous model found** — [N] capabilities, [M] amendments will be preserved.
65
+ [If first-time]: **First generation** — no previous model.
66
+
67
+ Generating capabilities for your stack...
68
+ ```
69
+
70
+ ---
71
+
72
+ ## NEXT STEP
73
+
74
+ Load step: {project-root}/_bmad/bme/_gyre/workflows/model-generation/steps/step-02-generate-capabilities.md
@@ -0,0 +1,116 @@
1
+ ---
2
+ step: 2
3
+ workflow: model-generation
4
+ title: Generate Capabilities
5
+ ---
6
+
7
+ # Step 2: Generate Capabilities
8
+
9
+ Generate capabilities relevant to the detected stack using industry standards and stack-specific reasoning.
10
+
11
+ ## MANDATORY EXECUTION RULES
12
+
13
+ - Every capability MUST be relevant to THIS stack — do not generate generic checklists
14
+ - Each capability must explain WHY it matters for this specific stack/deployment/cloud combination
15
+ - Generate ≥20 capabilities for supported archetypes; fewer triggers limited_coverage warning
16
+ - Respect GC4 amendments: removed capabilities stay removed, amended capabilities persist unchanged
17
+ - Source every capability: "standard" (industry framework), "practice" (common pattern), or "reasoning" (derived from stack analysis)
18
+
19
+ ## CAPABILITY SCHEMA
20
+
21
+ Each capability must have:
22
+
23
+ ```yaml
24
+ - id: string # kebab-case, e.g., "health-check-liveness"
25
+ category: string # "observability" | "deployment" | "reliability" | "security"
26
+ name: string # human-readable, e.g., "Liveness Health Check"
27
+ description: string # 1-3 sentences: what it is + why it matters for THIS stack
28
+ source: string # "standard" | "practice" | "reasoning"
29
+ relevance: string # why this matters for THIS stack specifically
30
+ amended: false # set by Coach during review
31
+ removed: false # set by Coach during review
32
+ ```
33
+
34
+ ## GENERATION APPROACH
35
+
36
+ ### Domain Coverage
37
+
38
+ Generate capabilities across these domains, weighted by stack relevance:
39
+
40
+ **Observability** (typically 6-10 capabilities):
41
+ - Structured logging (format, correlation IDs, log levels)
42
+ - Distributed tracing (instrumentation, propagation, sampling)
43
+ - Metrics collection (application, runtime, business)
44
+ - Health checks (liveness, readiness, startup probes)
45
+ - Alerting and dashboards
46
+ - Error tracking and reporting
47
+
48
+ **Deployment** (typically 5-8 capabilities):
49
+ - Container configuration (multi-stage builds, security, resource limits)
50
+ - CI/CD pipeline (build, test, deploy stages)
51
+ - Rollback strategy
52
+ - Environment configuration management
53
+ - Infrastructure as code
54
+ - Deployment strategy (blue-green, canary, rolling)
55
+
56
+ **Reliability** (typically 4-6 capabilities):
57
+ - Graceful shutdown and connection draining
58
+ - Circuit breakers and retry policies
59
+ - Rate limiting
60
+ - Dependency health monitoring
61
+ - Chaos engineering / fault injection readiness
62
+
63
+ **Security** (typically 3-5 capabilities):
64
+ - Secrets management (not hardcoded)
65
+ - Dependency vulnerability scanning
66
+ - Network policies / service mesh
67
+ - Authentication and authorization patterns
68
+ - Container image scanning
69
+
70
+ ### Stack-Specific Adjustments
71
+
72
+ Adjust capabilities based on the Stack Profile:
73
+
74
+ | Stack Signal | Adjustment |
75
+ |-------------|------------|
76
+ | **Kubernetes** | Add: liveness/readiness/startup probes, pod disruption budgets, resource requests/limits, network policies |
77
+ | **Serverless** | Add: cold start optimization, function timeout config, concurrency limits. Remove: container-specific items |
78
+ | **gRPC** | Add: gRPC health checking protocol, reflection API, deadline propagation. Adjust: HTTP health → gRPC health |
79
+ | **Docker Compose only** | Reduce orchestration capabilities. Focus: service dependencies, volume persistence, compose health checks |
80
+ | **GitHub Actions** | Add: workflow caching, matrix builds, environment protection rules |
81
+ | **OpenTelemetry detected** | Adjust: tracing capabilities reference OTel SDK. Add: collector configuration, OTLP export |
82
+ | **No observability detected** | Weight observability capabilities higher — these are likely the biggest gaps |
83
+ | **AWS** | Add: CloudWatch integration, IAM roles, Security Groups. Adjust: IaC references to Terraform/CDK/CloudFormation |
84
+ | **GCP** | Add: Cloud Logging, Cloud Monitoring, Workload Identity. Adjust: IaC references |
85
+
86
+ ### Amendment Handling (GC4 Regeneration)
87
+
88
+ If previous amendments exist:
89
+
90
+ 1. **Removed capabilities** (`removed: true`): Do NOT regenerate these — the user explicitly removed them
91
+ 2. **Amended capabilities** (`amended: true`): Keep the user's version unchanged — do not overwrite with regenerated version
92
+ 3. **New capabilities**: Add alongside preserved amendments
93
+ 4. **Unchanged capabilities**: Regenerate fresh (may pick up updated descriptions or new web search results)
94
+
95
+ ## OUTPUT
96
+
97
+ Store the generated capabilities list in working memory for the next step (web enrichment).
98
+
99
+ Present a brief progress update:
100
+
101
+ ```
102
+ Generated [N] capabilities for your [language]/[framework] stack:
103
+ - Observability: [n] capabilities
104
+ - Deployment: [n] capabilities
105
+ - Reliability: [n] capabilities
106
+ - Security: [n] capabilities
107
+ [If amendments preserved]: Preserved [M] user amendments from previous review.
108
+
109
+ Enriching with current best practices...
110
+ ```
111
+
112
+ ---
113
+
114
+ ## NEXT STEP
115
+
116
+ Load step: {project-root}/_bmad/bme/_gyre/workflows/model-generation/steps/step-03-web-enrichment.md
@@ -0,0 +1,89 @@
1
+ ---
2
+ step: 3
3
+ workflow: model-generation
4
+ title: Web Enrichment
5
+ ---
6
+
7
+ # Step 3: Web Enrichment
8
+
9
+ Use web search to enrich capabilities with current best practices and validate relevance.
10
+
11
+ ## MANDATORY EXECUTION RULES
12
+
13
+ - Web search is OPTIONAL — if WebSearch tool is unavailable, skip this step gracefully
14
+ - Search for current-year best practices for the detected stack (FR11, NFR21)
15
+ - When conflicting advice is found, select the most authoritative source and note the conflict
16
+ - Mark web-enriched capabilities with source indication
17
+ - Do NOT replace user-amended capabilities with web search results
18
+
19
+ ## WEB SEARCH STRATEGY
20
+
21
+ ### Search Queries
22
+
23
+ Construct targeted queries based on the Stack Profile:
24
+
25
+ 1. **Stack-specific production readiness:**
26
+ `"[framework] production readiness checklist [current year]"`
27
+
28
+ 2. **Observability best practices:**
29
+ `"[framework] [observability tool] best practices [current year]"`
30
+
31
+ 3. **Deployment patterns:**
32
+ `"[container orchestration] deployment best practices [cloud provider]"`
33
+
34
+ 4. **Reliability patterns:**
35
+ `"[framework] reliability patterns production"`
36
+
37
+ ### Search Execution
38
+
39
+ For each query:
40
+ 1. Execute WebSearch
41
+ 2. Scan results for capabilities not already in the generated list
42
+ 3. For existing capabilities, check if web results suggest better descriptions or updated practices
43
+ 4. For new capabilities found, add them with `source: "practice"` and note web origin
44
+
45
+ ### Conflict Resolution
46
+
47
+ When web sources disagree:
48
+ - Prefer official documentation (e.g., Kubernetes docs, cloud provider docs) over blog posts
49
+ - Prefer recent sources (current year) over older ones
50
+ - When genuinely split, note both perspectives in the capability description
51
+ - Never silently pick one side — transparency builds trust
52
+
53
+ ## IF WEB SEARCH UNAVAILABLE
54
+
55
+ ```
56
+ Web search is not available in this session. Proceeding with capabilities
57
+ generated from industry standards and stack analysis.
58
+
59
+ Note: You can re-run model generation later with web search enabled for
60
+ enriched results. The model is valid without web enrichment.
61
+ ```
62
+
63
+ Set `web_search_performed: false` in provenance metadata and continue to step 4.
64
+
65
+ ## OUTPUT
66
+
67
+ Update the capabilities list with web enrichment results.
68
+
69
+ Present a brief summary:
70
+
71
+ ```
72
+ [If web search performed]:
73
+ Web enrichment complete:
74
+ - Searched [N] queries for current [year] practices
75
+ - Updated [M] capability descriptions with current guidance
76
+ - Added [K] new capabilities from web research
77
+ - Sources: [list key sources referenced]
78
+
79
+ [If no web search]:
80
+ Skipped web enrichment — capabilities based on standards and stack analysis.
81
+
82
+ Writing capabilities manifest...
83
+ ```
84
+
85
+ ---
86
+
87
+ ## NEXT STEP
88
+
89
+ Load step: {project-root}/_bmad/bme/_gyre/workflows/model-generation/steps/step-04-write-manifest.md
@@ -0,0 +1,122 @@
1
+ ---
2
+ step: 4
3
+ workflow: model-generation
4
+ title: Write Manifest
5
+ ---
6
+
7
+ # Step 4: Write Capabilities Manifest
8
+
9
+ Write the complete capabilities manifest to `.gyre/capabilities.yaml` (GC2 contract).
10
+
11
+ ## MANDATORY EXECUTION RULES
12
+
13
+ - Write to `.gyre/capabilities.yaml` using the GC2 schema
14
+ - Include GC2 contract frontmatter
15
+ - If <20 capabilities, set limited_coverage=true and warn the user (FR15)
16
+ - If limited_coverage, offer: continue (with emphasis on review-and-amend) or abort (FR52)
17
+ - Present model summary after writing (FR31)
18
+ - The manifest IS the cache — subsequent runs load it, no regeneration unless explicit (NFR10)
19
+
20
+ ## GC2 ARTIFACT STRUCTURE
21
+
22
+ Write the following YAML to `.gyre/capabilities.yaml`:
23
+
24
+ ```yaml
25
+ ---
26
+ contract: GC2
27
+ type: artifact
28
+ source_agent: atlas
29
+ source_workflow: model-generation
30
+ target_agents: [lens, coach]
31
+ input_artifacts: [GC1]
32
+ created: [today's date]
33
+ ---
34
+
35
+ gyre_manifest:
36
+ version: "1.0"
37
+ generated_at: "[ISO-8601 timestamp]"
38
+ stack_summary: "[one-line stack description from GC1]"
39
+ capability_count: [N]
40
+ limited_coverage: [true/false]
41
+ capabilities:
42
+ - id: "[capability-id]"
43
+ category: "[domain]"
44
+ name: "[human-readable name]"
45
+ description: "[1-3 sentences]"
46
+ source: "[standard|practice|reasoning]"
47
+ relevance: "[why it matters for THIS stack]"
48
+ amended: false
49
+ removed: false
50
+ # ... all capabilities
51
+ provenance:
52
+ standards_referenced: ["DORA", "OpenTelemetry", "Google PRR"]
53
+ web_search_performed: [true/false]
54
+ web_search_date: "[ISO-8601 or null]"
55
+ ```
56
+
57
+ ## WRITING PROCESS
58
+
59
+ 1. Construct the complete YAML document
60
+ 2. Write to `.gyre/capabilities.yaml` (overwrite if regenerating)
61
+ 3. Verify the file was written successfully by reading it back
62
+
63
+ ## LIMITED COVERAGE HANDLING (FR15, FR52)
64
+
65
+ If capability_count < 20:
66
+
67
+ ```
68
+ ⚠️ **Limited Coverage Warning**
69
+
70
+ Atlas generated [N] capabilities for your stack (threshold: 20).
71
+
72
+ This may happen when:
73
+ - The stack archetype is unusual or emerging
74
+ - Key detection signals were missing
75
+ - The combination of technologies has limited standard guidance
76
+
77
+ **Options:**
78
+ a) **Continue** — proceed to gap analysis with the current model. You can add
79
+ capabilities during Coach's review step.
80
+ b) **Abort** — stop here and investigate. Consider:
81
+ - Re-running stack detection with more context
82
+ - Providing guard question answers that clarify the architecture
83
+
84
+ Which would you like to do?
85
+ ```
86
+
87
+ ## MODEL SUMMARY (FR31)
88
+
89
+ After successful write, present:
90
+
91
+ ```
92
+ ## Model Generated ✓
93
+
94
+ **Generated [N] capabilities for your [language]/[framework] stack**
95
+
96
+ | Domain | Count | Key Capabilities |
97
+ |--------|:-----:|-----------------|
98
+ | Observability | [n] | [top 2-3 by name] |
99
+ | Deployment | [n] | [top 2-3 by name] |
100
+ | Reliability | [n] | [top 2-3 by name] |
101
+ | Security | [n] | [top 2-3 by name] |
102
+
103
+ **Sources:** [standards referenced]
104
+ **Web enriched:** [yes/no]
105
+ [If regeneration]: **Amendments preserved:** [M] from previous review
106
+
107
+ Written to `.gyre/capabilities.yaml`
108
+ ```
109
+
110
+ ---
111
+
112
+ ## Gyre Compass
113
+
114
+ Based on what you just completed, here are your options:
115
+
116
+ | If you want to... | Consider next... | Agent | Why |
117
+ |---|---|---|---|
118
+ | Analyze your stack for gaps | gap-analysis | Lens 🔬 | Capabilities Manifest (GC2) is ready for analysis |
119
+ | Review and customize the model | model-review | Coach 🏋️ | Customize before analysis |
120
+ | Validate model accuracy | accuracy-validation | Atlas 📐 | Pre-pilot quality gate |
121
+
122
+ > **Note:** These are recommendations. You can run any Gyre workflow at any time.
@@ -0,0 +1,40 @@
1
+ ---
2
+ name: model-generation
3
+ agent: model-curator
4
+ title: Capabilities Model Generation
5
+ description: Generate a contextual capabilities manifest from the Stack Profile using industry standards and web search
6
+ steps: 4
7
+ ---
8
+
9
+ # Model Generation Workflow
10
+
11
+ Atlas generates a capabilities manifest unique to the detected stack. Each capability includes why it matters for THIS specific stack, not generic descriptions.
12
+
13
+ ## Prerequisites
14
+
15
+ - GC1 (Stack Profile) must exist at `.gyre/stack-profile.yaml`
16
+ - If GC1 doesn't exist, direct the user to run `stack-detection` with Scout first
17
+
18
+ ## Pipeline
19
+
20
+ | Step | File | Action |
21
+ |------|------|--------|
22
+ | 1 | step-01-load-profile.md | Load GC1, check for existing amendments (GC4) |
23
+ | 2 | step-02-generate-capabilities.md | Generate capabilities using standards + stack context |
24
+ | 3 | step-03-web-enrichment.md | Enrich with web search for current best practices |
25
+ | 4 | step-04-write-manifest.md | Write capabilities.yaml (GC2), surface limited-coverage warning if <20 |
26
+
27
+ ## Model Ownership
28
+
29
+ The generated manifest is team-owned. On regeneration:
30
+ - Amendments from Coach (GC4) are respected — removed capabilities stay removed
31
+ - User-edited capabilities persist with `amended: true`
32
+ - New capabilities are added alongside existing amendments
33
+
34
+ ## Instructions
35
+
36
+ Load the first step to begin:
37
+
38
+ ```
39
+ Load step: {project-root}/_bmad/bme/_gyre/workflows/model-generation/steps/step-01-load-profile.md
40
+ ```