convoke-agents 2.4.0 → 3.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.
- package/CHANGELOG.md +16 -0
- package/INSTALLATION.md +109 -86
- package/README.md +220 -163
- package/UPDATE-GUIDE.md +63 -23
- package/_bmad/bme/_gyre/README.md +100 -0
- package/_bmad/bme/_gyre/agents/.gitkeep +0 -0
- package/_bmad/bme/_gyre/agents/model-curator.md +128 -0
- package/_bmad/bme/_gyre/agents/readiness-analyst.md +127 -0
- package/_bmad/bme/_gyre/agents/review-coach.md +130 -0
- package/_bmad/bme/_gyre/agents/stack-detective.md +125 -0
- package/_bmad/bme/_gyre/compass-routing-reference.md +168 -0
- package/_bmad/bme/_gyre/config.yaml +22 -0
- package/_bmad/bme/_gyre/contracts/.gitkeep +0 -0
- package/_bmad/bme/_gyre/contracts/gc1-stack-profile.md +152 -0
- package/_bmad/bme/_gyre/contracts/gc2-capabilities-manifest.md +189 -0
- package/_bmad/bme/_gyre/contracts/gc3-findings-report.md +197 -0
- package/_bmad/bme/_gyre/contracts/gc4-feedback-loop.md +209 -0
- package/_bmad/bme/_gyre/guides/ATLAS-USER-GUIDE.md +177 -0
- package/_bmad/bme/_gyre/guides/COACH-USER-GUIDE.md +172 -0
- package/_bmad/bme/_gyre/guides/LENS-USER-GUIDE.md +181 -0
- package/_bmad/bme/_gyre/guides/SCOUT-USER-GUIDE.md +158 -0
- package/_bmad/bme/_gyre/workflows/.gitkeep +0 -0
- package/_bmad/bme/_gyre/workflows/accuracy-validation/steps/step-01-select-repos.md +55 -0
- package/_bmad/bme/_gyre/workflows/accuracy-validation/steps/step-02-run-validation.md +78 -0
- package/_bmad/bme/_gyre/workflows/accuracy-validation/steps/step-03-score-results.md +143 -0
- package/_bmad/bme/_gyre/workflows/accuracy-validation/workflow.md +41 -0
- package/_bmad/bme/_gyre/workflows/delta-report/steps/step-01-load-history.md +63 -0
- package/_bmad/bme/_gyre/workflows/delta-report/steps/step-02-compute-delta.md +72 -0
- package/_bmad/bme/_gyre/workflows/delta-report/steps/step-03-present-delta.md +143 -0
- package/_bmad/bme/_gyre/workflows/delta-report/workflow.md +34 -0
- package/_bmad/bme/_gyre/workflows/full-analysis/steps/step-01-initialize.md +68 -0
- package/_bmad/bme/_gyre/workflows/full-analysis/steps/step-02-detect-stack.md +49 -0
- package/_bmad/bme/_gyre/workflows/full-analysis/steps/step-03-generate-model.md +52 -0
- package/_bmad/bme/_gyre/workflows/full-analysis/steps/step-04-analyze-gaps.md +42 -0
- package/_bmad/bme/_gyre/workflows/full-analysis/steps/step-05-review-findings.md +128 -0
- package/_bmad/bme/_gyre/workflows/full-analysis/workflow.md +39 -0
- package/_bmad/bme/_gyre/workflows/gap-analysis/steps/step-01-load-manifest.md +70 -0
- package/_bmad/bme/_gyre/workflows/gap-analysis/steps/step-02-observability-analysis.md +110 -0
- package/_bmad/bme/_gyre/workflows/gap-analysis/steps/step-03-deployment-analysis.md +87 -0
- package/_bmad/bme/_gyre/workflows/gap-analysis/steps/step-04-cross-domain-correlation.md +105 -0
- package/_bmad/bme/_gyre/workflows/gap-analysis/steps/step-05-present-findings.md +172 -0
- package/_bmad/bme/_gyre/workflows/gap-analysis/workflow.md +38 -0
- package/_bmad/bme/_gyre/workflows/model-generation/steps/step-01-load-profile.md +74 -0
- package/_bmad/bme/_gyre/workflows/model-generation/steps/step-02-generate-capabilities.md +116 -0
- package/_bmad/bme/_gyre/workflows/model-generation/steps/step-03-web-enrichment.md +89 -0
- package/_bmad/bme/_gyre/workflows/model-generation/steps/step-04-write-manifest.md +122 -0
- package/_bmad/bme/_gyre/workflows/model-generation/workflow.md +40 -0
- package/_bmad/bme/_gyre/workflows/model-review/steps/step-01-load-context.md +86 -0
- package/_bmad/bme/_gyre/workflows/model-review/steps/step-02-walkthrough.md +116 -0
- package/_bmad/bme/_gyre/workflows/model-review/steps/step-03-apply-amendments.md +92 -0
- package/_bmad/bme/_gyre/workflows/model-review/steps/step-04-capture-feedback.md +107 -0
- package/_bmad/bme/_gyre/workflows/model-review/steps/step-05-summary.md +60 -0
- package/_bmad/bme/_gyre/workflows/model-review/workflow.md +41 -0
- package/_bmad/bme/_gyre/workflows/stack-detection/steps/step-01-scan-filesystem.md +176 -0
- package/_bmad/bme/_gyre/workflows/stack-detection/steps/step-02-classify-stack.md +111 -0
- package/_bmad/bme/_gyre/workflows/stack-detection/steps/step-03-guard-questions.md +117 -0
- package/_bmad/bme/_gyre/workflows/stack-detection/workflow.md +42 -0
- package/_bmad/bme/_vortex/config.yaml +1 -1
- package/package.json +6 -2
- package/scripts/archive.js +304 -0
- package/scripts/convoke-doctor.js +146 -132
- package/scripts/docs-audit.js +21 -5
- package/scripts/install-gyre-agents.js +140 -0
- package/scripts/install-vortex-agents.js +0 -0
- package/scripts/update/lib/agent-registry.js +70 -0
- package/scripts/update/lib/refresh-installation.js +152 -30
- 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
|
+
```
|