convoke-agents 2.3.1 → 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.
Files changed (89) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/INSTALLATION.md +109 -86
  3. package/README.md +236 -104
  4. package/UPDATE-GUIDE.md +63 -23
  5. package/_bmad/bme/_enhance/config.yaml +8 -0
  6. package/_bmad/bme/_enhance/extensions/bmm-pm.yaml +9 -0
  7. package/_bmad/bme/_enhance/guides/.gitkeep +0 -0
  8. package/_bmad/bme/_enhance/guides/ENHANCE-GUIDE.md +252 -0
  9. package/_bmad/bme/_enhance/workflows/initiatives-backlog/SKILL.md +6 -0
  10. package/_bmad/bme/_enhance/workflows/initiatives-backlog/steps-c/.gitkeep +0 -0
  11. package/_bmad/bme/_enhance/workflows/initiatives-backlog/steps-c/step-c-01-init.md +106 -0
  12. package/_bmad/bme/_enhance/workflows/initiatives-backlog/steps-c/step-c-02-gather.md +136 -0
  13. package/_bmad/bme/_enhance/workflows/initiatives-backlog/steps-c/step-c-03-score.md +146 -0
  14. package/_bmad/bme/_enhance/workflows/initiatives-backlog/steps-c/step-c-04-prioritize.md +181 -0
  15. package/_bmad/bme/_enhance/workflows/initiatives-backlog/steps-r/.gitkeep +0 -0
  16. package/_bmad/bme/_enhance/workflows/initiatives-backlog/steps-r/step-r-01-load.md +120 -0
  17. package/_bmad/bme/_enhance/workflows/initiatives-backlog/steps-r/step-r-02-rescore.md +141 -0
  18. package/_bmad/bme/_enhance/workflows/initiatives-backlog/steps-r/step-r-03-update.md +154 -0
  19. package/_bmad/bme/_enhance/workflows/initiatives-backlog/steps-t/.gitkeep +0 -0
  20. package/_bmad/bme/_enhance/workflows/initiatives-backlog/steps-t/step-t-01-ingest.md +86 -0
  21. package/_bmad/bme/_enhance/workflows/initiatives-backlog/steps-t/step-t-02-extract.md +169 -0
  22. package/_bmad/bme/_enhance/workflows/initiatives-backlog/steps-t/step-t-03-score.md +147 -0
  23. package/_bmad/bme/_enhance/workflows/initiatives-backlog/steps-t/step-t-04-update.md +155 -0
  24. package/_bmad/bme/_enhance/workflows/initiatives-backlog/templates/backlog-format-spec.md +219 -0
  25. package/_bmad/bme/_enhance/workflows/initiatives-backlog/templates/rice-scoring-guide.md +154 -0
  26. package/_bmad/bme/_enhance/workflows/initiatives-backlog/workflow.md +88 -0
  27. package/_bmad/bme/_gyre/README.md +100 -0
  28. package/_bmad/bme/_gyre/agents/.gitkeep +0 -0
  29. package/_bmad/bme/_gyre/agents/model-curator.md +128 -0
  30. package/_bmad/bme/_gyre/agents/readiness-analyst.md +127 -0
  31. package/_bmad/bme/_gyre/agents/review-coach.md +130 -0
  32. package/_bmad/bme/_gyre/agents/stack-detective.md +125 -0
  33. package/_bmad/bme/_gyre/compass-routing-reference.md +168 -0
  34. package/_bmad/bme/_gyre/config.yaml +22 -0
  35. package/_bmad/bme/_gyre/contracts/.gitkeep +0 -0
  36. package/_bmad/bme/_gyre/contracts/gc1-stack-profile.md +152 -0
  37. package/_bmad/bme/_gyre/contracts/gc2-capabilities-manifest.md +189 -0
  38. package/_bmad/bme/_gyre/contracts/gc3-findings-report.md +197 -0
  39. package/_bmad/bme/_gyre/contracts/gc4-feedback-loop.md +209 -0
  40. package/_bmad/bme/_gyre/guides/ATLAS-USER-GUIDE.md +177 -0
  41. package/_bmad/bme/_gyre/guides/COACH-USER-GUIDE.md +172 -0
  42. package/_bmad/bme/_gyre/guides/LENS-USER-GUIDE.md +181 -0
  43. package/_bmad/bme/_gyre/guides/SCOUT-USER-GUIDE.md +158 -0
  44. package/_bmad/bme/_gyre/workflows/.gitkeep +0 -0
  45. package/_bmad/bme/_gyre/workflows/accuracy-validation/steps/step-01-select-repos.md +55 -0
  46. package/_bmad/bme/_gyre/workflows/accuracy-validation/steps/step-02-run-validation.md +78 -0
  47. package/_bmad/bme/_gyre/workflows/accuracy-validation/steps/step-03-score-results.md +143 -0
  48. package/_bmad/bme/_gyre/workflows/accuracy-validation/workflow.md +41 -0
  49. package/_bmad/bme/_gyre/workflows/delta-report/steps/step-01-load-history.md +63 -0
  50. package/_bmad/bme/_gyre/workflows/delta-report/steps/step-02-compute-delta.md +72 -0
  51. package/_bmad/bme/_gyre/workflows/delta-report/steps/step-03-present-delta.md +143 -0
  52. package/_bmad/bme/_gyre/workflows/delta-report/workflow.md +34 -0
  53. package/_bmad/bme/_gyre/workflows/full-analysis/steps/step-01-initialize.md +68 -0
  54. package/_bmad/bme/_gyre/workflows/full-analysis/steps/step-02-detect-stack.md +49 -0
  55. package/_bmad/bme/_gyre/workflows/full-analysis/steps/step-03-generate-model.md +52 -0
  56. package/_bmad/bme/_gyre/workflows/full-analysis/steps/step-04-analyze-gaps.md +42 -0
  57. package/_bmad/bme/_gyre/workflows/full-analysis/steps/step-05-review-findings.md +128 -0
  58. package/_bmad/bme/_gyre/workflows/full-analysis/workflow.md +39 -0
  59. package/_bmad/bme/_gyre/workflows/gap-analysis/steps/step-01-load-manifest.md +70 -0
  60. package/_bmad/bme/_gyre/workflows/gap-analysis/steps/step-02-observability-analysis.md +110 -0
  61. package/_bmad/bme/_gyre/workflows/gap-analysis/steps/step-03-deployment-analysis.md +87 -0
  62. package/_bmad/bme/_gyre/workflows/gap-analysis/steps/step-04-cross-domain-correlation.md +105 -0
  63. package/_bmad/bme/_gyre/workflows/gap-analysis/steps/step-05-present-findings.md +172 -0
  64. package/_bmad/bme/_gyre/workflows/gap-analysis/workflow.md +38 -0
  65. package/_bmad/bme/_gyre/workflows/model-generation/steps/step-01-load-profile.md +74 -0
  66. package/_bmad/bme/_gyre/workflows/model-generation/steps/step-02-generate-capabilities.md +116 -0
  67. package/_bmad/bme/_gyre/workflows/model-generation/steps/step-03-web-enrichment.md +89 -0
  68. package/_bmad/bme/_gyre/workflows/model-generation/steps/step-04-write-manifest.md +122 -0
  69. package/_bmad/bme/_gyre/workflows/model-generation/workflow.md +40 -0
  70. package/_bmad/bme/_gyre/workflows/model-review/steps/step-01-load-context.md +86 -0
  71. package/_bmad/bme/_gyre/workflows/model-review/steps/step-02-walkthrough.md +116 -0
  72. package/_bmad/bme/_gyre/workflows/model-review/steps/step-03-apply-amendments.md +92 -0
  73. package/_bmad/bme/_gyre/workflows/model-review/steps/step-04-capture-feedback.md +107 -0
  74. package/_bmad/bme/_gyre/workflows/model-review/steps/step-05-summary.md +60 -0
  75. package/_bmad/bme/_gyre/workflows/model-review/workflow.md +41 -0
  76. package/_bmad/bme/_gyre/workflows/stack-detection/steps/step-01-scan-filesystem.md +176 -0
  77. package/_bmad/bme/_gyre/workflows/stack-detection/steps/step-02-classify-stack.md +111 -0
  78. package/_bmad/bme/_gyre/workflows/stack-detection/steps/step-03-guard-questions.md +117 -0
  79. package/_bmad/bme/_gyre/workflows/stack-detection/workflow.md +42 -0
  80. package/_bmad/bme/_vortex/config.yaml +1 -1
  81. package/package.json +7 -2
  82. package/scripts/archive.js +304 -0
  83. package/scripts/convoke-doctor.js +146 -132
  84. package/scripts/docs-audit.js +21 -5
  85. package/scripts/install-gyre-agents.js +140 -0
  86. package/scripts/install-vortex-agents.js +0 -0
  87. package/scripts/update/lib/agent-registry.js +70 -0
  88. package/scripts/update/lib/refresh-installation.js +290 -29
  89. package/scripts/update/lib/validator.js +281 -1
@@ -0,0 +1,143 @@
1
+ ---
2
+ step: 3
3
+ workflow: accuracy-validation
4
+ title: Score Results
5
+ ---
6
+
7
+ # Step 3: Score Results
8
+
9
+ Score each capability for relevance and compute accuracy per archetype.
10
+
11
+ ## MANDATORY EXECUTION RULES
12
+
13
+ - Score EVERY capability — do not skip any
14
+ - Apply scoring criteria consistently across archetypes
15
+ - Be honest about borderline cases — use 0.5, not 1.0, when uncertain
16
+ - Document reasoning for any capability scored 0.0 (irrelevant)
17
+ - The user makes the final call on disputed scores
18
+
19
+ ## SCORING CRITERIA
20
+
21
+ For each capability, assign a relevance score:
22
+
23
+ | Score | Label | Criteria |
24
+ |-------|-------|----------|
25
+ | **1.0** | Relevant | Would appear in a production readiness checklist for this stack, written by a domain expert. Clear, specific, and actionable. |
26
+ | **0.5** | Partially relevant | Related to the stack's concerns but either: (a) too generic to be actionable, (b) specific to a different deployment model, or (c) relevant but poorly described |
27
+ | **0.0** | Irrelevant | No meaningful relationship to this stack. Wrong technology, wrong domain, or nonsensical for the architecture. |
28
+
29
+ ### Scoring Guidelines
30
+
31
+ **Score 1.0 when:**
32
+ - The capability references technology actually in the stack (e.g., "Kubernetes liveness probes" for a K8s-deployed service)
33
+ - The practice is industry-standard for this stack type (e.g., "structured logging" for any production service)
34
+ - The description explains WHY it matters for THIS stack (not a generic definition)
35
+
36
+ **Score 0.5 when:**
37
+ - The capability is correct but the description is too generic (e.g., "monitoring" without specifying what to monitor)
38
+ - The capability applies to a related but different deployment model (e.g., "ECS task health" for a K8s service)
39
+ - The capability is relevant but at a different maturity level than the stack suggests
40
+
41
+ **Score 0.0 when:**
42
+ - The capability references technology not in the stack at all
43
+ - The capability is a duplicate of another capability (higher-quality version gets the score)
44
+ - The capability is meaningless or contradictory (e.g., "serverless cold start optimization" for a bare-metal service)
45
+
46
+ ## SCORING PROCESS
47
+
48
+ Present each archetype's capabilities for scoring:
49
+
50
+ ```
51
+ ## Scoring: Archetype [N] — [Name]
52
+
53
+ | # | Capability | Score | Reasoning |
54
+ |---|-----------|:-----:|-----------|
55
+ | 1 | [name]: [description summary] | [1.0/0.5/0.0] | [brief reasoning] |
56
+ | 2 | ... | | |
57
+
58
+ **Total capabilities:** [N]
59
+ **Sum of scores:** [X]
60
+ **Accuracy:** [X/N = Y%]
61
+ ```
62
+
63
+ After scoring all archetypes, present the summary:
64
+
65
+ ```
66
+ ## Accuracy Validation Results
67
+
68
+ | Archetype | Capabilities | Sum | Accuracy | Pass? |
69
+ |-----------|:-----------:|:---:|:--------:|:-----:|
70
+ | [Archetype 1] | [N] | [X] | [Y%] | ✓/✗ |
71
+ | [Archetype 2] | [N] | [X] | [Y%] | ✓/✗ |
72
+ | [Archetype 3] | [N] | [X] | [Y%] | ✓/✗ |
73
+
74
+ **Overall:** [PASS / FAIL] — [lowest accuracy]% (gate: ≥70%)
75
+ ```
76
+
77
+ ## GATE DECISION
78
+
79
+ ### If PASS (all archetypes ≥70%):
80
+
81
+ ```
82
+ ✅ Model accuracy validated. Atlas is ready for production use.
83
+
84
+ **Findings:**
85
+ - Strongest archetype: [name] at [X%]
86
+ - Weakest archetype: [name] at [X%]
87
+ - Common issues: [brief summary of 0.0 and 0.5 patterns]
88
+
89
+ **Recommendation:** Proceed to Epic 3 (Absence Detection).
90
+ ```
91
+
92
+ ### If FAIL (any archetype <70%):
93
+
94
+ ```
95
+ ❌ Model accuracy below threshold. Iteration required.
96
+
97
+ **Failing archetypes:**
98
+ - [name]: [X%] — [primary issue pattern]
99
+
100
+ **Iteration guidance:**
101
+ 1. Review 0.0-scored capabilities — are they prompt issues or knowledge gaps?
102
+ 2. Review 0.5-scored capabilities — can descriptions be improved?
103
+ 3. Adjust Atlas's generation prompts (step-02-generate-capabilities.md)
104
+ 4. Re-run this validation workflow
105
+
106
+ **BLOCKER:** Do not proceed to Epic 3 until ≥70% accuracy achieved across all archetypes.
107
+ ```
108
+
109
+ ## OUTPUT ARTIFACT
110
+
111
+ Write the validation results to `_bmad-output/gyre-artifacts/accuracy-validation-[date].md` for team reference:
112
+
113
+ ```markdown
114
+ # Gyre Model Accuracy Validation — [date]
115
+
116
+ ## Summary
117
+ - **Result:** [PASS/FAIL]
118
+ - **Archetypes tested:** [N]
119
+ - **Accuracy range:** [lowest%] — [highest%]
120
+ - **Gate threshold:** ≥70%
121
+
122
+ ## Detailed Scores
123
+ [Full scoring tables from above]
124
+
125
+ ## Methodology Notes
126
+ - [Live scan vs synthetic profiles used]
127
+ - [Web search performed vs skipped]
128
+ - [Any scoring disputes and resolutions]
129
+ ```
130
+
131
+ ---
132
+
133
+ ## Gyre Compass
134
+
135
+ Based on what you just completed, here are your options:
136
+
137
+ | If you want to... | Consider next... | Agent | Why |
138
+ |---|---|---|---|
139
+ | Iterate model prompts | model-generation | Atlas 📐 | Improve accuracy for failing archetypes |
140
+ | Run full analysis pipeline | full-analysis | Scout 🔎 | Complete end-to-end with validated model |
141
+ | Re-detect a different stack | stack-detection | Scout 🔎 | Test against a new archetype |
142
+
143
+ > **Note:** These are recommendations. You can run any Gyre workflow at any time.
@@ -0,0 +1,41 @@
1
+ ---
2
+ name: accuracy-validation
3
+ agent: model-curator
4
+ title: Model Accuracy Validation
5
+ description: Pre-pilot validation of model accuracy against synthetic ground truth repos — NFR19 ≥70% gate
6
+ steps: 3
7
+ ---
8
+
9
+ # Accuracy Validation Workflow
10
+
11
+ Validates that Atlas can generate capabilities manifests that are ≥70% relevant across diverse stack archetypes. This is the **go/no-go gate** for the entire Gyre product (NFR19).
12
+
13
+ ## Purpose
14
+
15
+ Model generation is the critical path for Gyre. If Atlas produces irrelevant capabilities, Lens will flag false positives and Coach will waste the user's time reviewing noise. This workflow provides a repeatable methodology to measure and iterate model quality.
16
+
17
+ ## Scoring Methodology
18
+
19
+ Each generated capability is scored:
20
+
21
+ | Score | Meaning | Criteria |
22
+ |-------|---------|----------|
23
+ | 1.0 | **Relevant** | Capability is appropriate for this stack archetype and would appear in a production readiness checklist written by an expert |
24
+ | 0.5 | **Partially relevant** | Capability is tangentially related but not specific to this stack, OR is relevant but poorly described |
25
+ | 0.0 | **Irrelevant** | Capability has no meaningful relationship to this stack archetype |
26
+
27
+ **Accuracy formula:** `accuracy = sum_of_scores / total_capabilities`
28
+
29
+ ## Gate Criteria
30
+
31
+ - Run against ≥3 stack archetypes (different language/framework/deployment combos)
32
+ - ≥70% accuracy across ALL archetypes (not averaged)
33
+ - If any archetype scores <70%, iterate Atlas prompts before proceeding to Epic 3
34
+
35
+ ## Instructions
36
+
37
+ Load the first step to begin:
38
+
39
+ ```
40
+ Load step: {project-root}/_bmad/bme/_gyre/workflows/accuracy-validation/steps/step-01-select-repos.md
41
+ ```
@@ -0,0 +1,63 @@
1
+ ---
2
+ step: 1
3
+ workflow: delta-report
4
+ title: Load History
5
+ implements: Story 4.6 (FR39)
6
+ ---
7
+
8
+ # Step 1: Load History
9
+
10
+ Load current findings and previous findings for comparison.
11
+
12
+ ## MANDATORY EXECUTION RULES
13
+
14
+ - Current findings (`.gyre/findings.yaml`) MUST exist — if missing, STOP
15
+ - Previous findings (`.gyre/history.yaml`) are optional — first run has no history
16
+
17
+ ## EXECUTION
18
+
19
+ ### 1. Load Current Findings
20
+
21
+ Read `.gyre/findings.yaml`. If missing:
22
+
23
+ ```
24
+ ❌ No current findings found at .gyre/findings.yaml
25
+
26
+ Delta report requires a current analysis to compare against.
27
+ Run gap-analysis first to generate findings, then run delta-report.
28
+ ```
29
+
30
+ Then STOP — do not proceed.
31
+
32
+ Parse the findings array and compound_findings array from GC3.
33
+
34
+ ### 2. Load Previous Findings
35
+
36
+ Read `.gyre/history.yaml`. If missing:
37
+
38
+ ```
39
+ 💡 No previous findings found — this is your first delta-capable run.
40
+
41
+ All current findings will be tagged [NEW]. After this report,
42
+ your current findings will be saved as history for future comparison.
43
+ ```
44
+
45
+ Set `first_run = true` and proceed with empty previous findings.
46
+
47
+ If present, parse the findings array and compound_findings array.
48
+
49
+ ### 3. Validate Compatibility
50
+
51
+ Check that both files have the same schema version. If versions differ:
52
+
53
+ ```
54
+ ⚠️ Schema version mismatch: current is v[X], history is v[Y].
55
+
56
+ Proceeding with best-effort comparison — some findings may not correlate perfectly.
57
+ ```
58
+
59
+ ---
60
+
61
+ ## NEXT STEP
62
+
63
+ Load step: {project-root}/_bmad/bme/_gyre/workflows/delta-report/steps/step-02-compute-delta.md
@@ -0,0 +1,72 @@
1
+ ---
2
+ step: 2
3
+ workflow: delta-report
4
+ title: Compute Delta
5
+ implements: Story 4.6 (FR40)
6
+ ---
7
+
8
+ # Step 2: Compute Delta
9
+
10
+ Compare current findings against previous findings to classify each as new, carried-forward, or resolved.
11
+
12
+ ## MANDATORY EXECUTION RULES
13
+
14
+ - Match findings by `capability_ref` (primary key) and `domain` (secondary key)
15
+ - New = in current but not in previous
16
+ - Carried-forward = in both current and previous (same capability_ref)
17
+ - Resolved = in previous but not in current
18
+ - Also compute compound finding delta using `related_findings` arrays
19
+
20
+ ## EXECUTION
21
+
22
+ ### 1. Build Finding Maps
23
+
24
+ Create lookup maps from both finding sets:
25
+ - **Current map:** `{ capability_ref → finding }` for all current findings
26
+ - **Previous map:** `{ capability_ref → finding }` for all previous findings
27
+
28
+ ### 2. Classify Findings
29
+
30
+ For each current finding:
31
+ - If `capability_ref` exists in previous map → **CARRIED** (carried-forward)
32
+ - Note any severity changes: "was [old severity], now [new severity]"
33
+ - Note any confidence changes
34
+ - If `capability_ref` NOT in previous map → **NEW**
35
+
36
+ For each previous finding:
37
+ - If `capability_ref` NOT in current map → **RESOLVED**
38
+
39
+ ### 3. Classify Compound Findings
40
+
41
+ For each current compound:
42
+ - If both `related_findings` IDs have carried-forward counterparts → **CARRIED**
43
+ - Otherwise → **NEW**
44
+
45
+ For each previous compound:
46
+ - If either `related_findings` ID is resolved → **RESOLVED**
47
+
48
+ ### 4. Compute Summary Statistics
49
+
50
+ ```
51
+ delta_summary:
52
+ new_findings: [count]
53
+ carried_forward: [count]
54
+ resolved: [count]
55
+ severity_changes: [count]
56
+ new_compounds: [count]
57
+ resolved_compounds: [count]
58
+ net_change: [current total - previous total] (positive = more findings)
59
+ ```
60
+
61
+ ### 5. First Run Handling
62
+
63
+ If `first_run = true`:
64
+ - All current findings are **NEW**
65
+ - No carried-forward or resolved findings
66
+ - No previous compounds
67
+
68
+ ---
69
+
70
+ ## NEXT STEP
71
+
72
+ Load step: {project-root}/_bmad/bme/_gyre/workflows/delta-report/steps/step-03-present-delta.md
@@ -0,0 +1,143 @@
1
+ ---
2
+ step: 3
3
+ workflow: delta-report
4
+ title: Present Delta
5
+ implements: Story 4.6 (FR41)
6
+ ---
7
+
8
+ # Step 3: Present Delta
9
+
10
+ Present the delta report and save current findings as history for next run.
11
+
12
+ ## MANDATORY EXECUTION RULES
13
+
14
+ - Present delta with [NEW], [CARRIED] tags (FR41)
15
+ - List resolved findings briefly
16
+ - Note severity changes on carried-forward findings
17
+ - Save current findings as history after presentation
18
+ - Output must be copy-pasteable into Slack/Jira/docs (FR49)
19
+
20
+ ## CONVERSATIONAL PRESENTATION
21
+
22
+ ### 1. Delta Header
23
+
24
+ ```
25
+ ## Delta Report — [Crisis Mode / Anticipation Mode]
26
+
27
+ **Comparing:** [current analyzed_at] vs [previous analyzed_at]
28
+ ```
29
+
30
+ If first run:
31
+ ```
32
+ ## Delta Report — First Run (Baseline)
33
+
34
+ **Baseline established:** [current analyzed_at]
35
+ All findings are new — this report establishes your baseline for future comparison.
36
+ ```
37
+
38
+ ### 2. Delta Summary
39
+
40
+ ```
41
+ | Status | Count |
42
+ |--------|:-----:|
43
+ | 🆕 New findings | [N] |
44
+ | ➡️ Carried forward | [N] |
45
+ | ✅ Resolved | [N] |
46
+ | **Net change** | **[+/-N]** |
47
+ ```
48
+
49
+ ### 3. New Findings [NEW]
50
+
51
+ ```
52
+ ### 🆕 New Findings
53
+
54
+ | # | [NEW] Finding | Severity | Confidence |
55
+ |---|--------------|----------|:----------:|
56
+ | [ID] | [description] | [severity] | [confidence] |
57
+ ```
58
+
59
+ If no new findings:
60
+ ```
61
+ ### 🆕 New Findings
62
+
63
+ No new findings since last analysis. ✅
64
+ ```
65
+
66
+ ### 4. Carried Forward [CARRIED]
67
+
68
+ ```
69
+ ### ➡️ Carried Forward
70
+
71
+ | # | [CARRIED] Finding | Severity | Change |
72
+ |---|-------------------|----------|--------|
73
+ | [ID] | [description] | [severity] | [unchanged / was: old severity] |
74
+ ```
75
+
76
+ If no carried-forward:
77
+ ```
78
+ ### ➡️ Carried Forward
79
+
80
+ No carried-forward findings — all previous findings are resolved! 🎉
81
+ ```
82
+
83
+ ### 5. Resolved Findings
84
+
85
+ ```
86
+ ### ✅ Resolved
87
+
88
+ These findings from your previous analysis were not found this time:
89
+
90
+ | # | Finding | Was Severity |
91
+ |---|---------|-------------|
92
+ | [ID] | [description] | [severity] |
93
+ ```
94
+
95
+ If no resolved:
96
+ ```
97
+ ### ✅ Resolved
98
+
99
+ No findings were resolved since last analysis.
100
+ ```
101
+
102
+ ### 6. Compound Finding Changes
103
+
104
+ If there are new or resolved compounds:
105
+ ```
106
+ ### ⚡ Compound Finding Changes
107
+
108
+ **New compounds:**
109
+ - [COMPOUND-NNN]: [description] (combines [ID] + [ID])
110
+
111
+ **Resolved compounds:**
112
+ - [COMPOUND-NNN]: [description] — no longer applies
113
+ ```
114
+
115
+ ### 7. Save History
116
+
117
+ After presenting, save current findings as history:
118
+
119
+ 1. Copy `.gyre/findings.yaml` content to `.gyre/history.yaml`
120
+ 2. Confirm:
121
+
122
+ ```
123
+ ---
124
+
125
+ Current findings saved as history for next delta comparison.
126
+ Written to `.gyre/history.yaml`
127
+ ```
128
+
129
+ ### 8. Gyre Compass
130
+
131
+ ```
132
+ ## What's Next?
133
+
134
+ | If you want to... | Consider next... | Agent | Why |
135
+ |---|---|---|---|
136
+ | Review and customize findings | model-review | Coach 🏋️ | Walk through findings, amend capabilities |
137
+ | Re-run analysis to check progress | gap-analysis | Lens 🔬 | See if fixes resolved findings |
138
+ | Regenerate the model | model-generation | Atlas 📐 | Model may need adjustment |
139
+ | Run the full pipeline | full-analysis | Scout 🔎 | Complete end-to-end analysis |
140
+ | Share progress with your team | — | — | Commit .gyre/ directory to your repository |
141
+
142
+ > **Note:** These are recommendations. You can run any Gyre workflow at any time.
143
+ ```
@@ -0,0 +1,34 @@
1
+ ---
2
+ name: delta-report
3
+ agent: readiness-analyst
4
+ title: Delta Report
5
+ description: Compare current findings against previous run — track progress over time
6
+ steps: 3
7
+ implements: Epic 4 (Story 4.6)
8
+ ---
9
+
10
+ # Delta Report Workflow
11
+
12
+ Compares current `.gyre/findings.yaml` against `.gyre/history.yaml` to show what changed: new findings, carried-forward findings, and resolved gaps.
13
+
14
+ ## Prerequisites
15
+
16
+ - GC3 (Findings Report) at `.gyre/findings.yaml` — current analysis results
17
+ - `.gyre/history.yaml` — previous findings (saved automatically after each delta report)
18
+
19
+ ## Pipeline
20
+
21
+ | Step | File | Action |
22
+ |------|------|--------|
23
+ | 1 | step-01-load-history.md | Load current and previous findings |
24
+ | 2 | step-02-compute-delta.md | Compute: new findings, carried-forward, resolved |
25
+ | 3 | step-03-present-delta.md | Present delta with [NEW], [CARRIED], resolved list |
26
+
27
+ ## First Run Behavior
28
+
29
+ If no `.gyre/history.yaml` exists, this is the first delta-capable run. All current findings are tagged [NEW], and the current findings are saved as history for future comparison.
30
+
31
+ ## Error Recovery
32
+
33
+ - If `.gyre/findings.yaml` missing: inform user to run gap-analysis first
34
+ - If `.gyre/history.yaml` missing: treat as first run — all findings are [NEW]
@@ -0,0 +1,68 @@
1
+ ---
2
+ step: 1
3
+ workflow: full-analysis
4
+ title: Initialize Analysis
5
+ ---
6
+
7
+ # Step 1: Initialize Analysis
8
+
9
+ Set up the `.gyre/` directory and detect the analysis mode.
10
+
11
+ ## MANDATORY EXECUTION RULES
12
+
13
+ - Use Claude Code tools (Glob, Read) — do NOT ask the user for filesystem information
14
+ - Create `.gyre/` at the project root (or service root in monorepo) if it doesn't exist
15
+ - Detect mode automatically — only ask the user if regeneration intent is ambiguous
16
+
17
+ ## INITIALIZATION SEQUENCE
18
+
19
+ ### 1. Check for Existing `.gyre/` Directory
20
+
21
+ **Glob** for `.gyre/` at the project root:
22
+ - `.gyre/stack-profile.yaml` → GC1 exists (previous detection)
23
+ - `.gyre/capabilities.yaml` → GC2 exists (previous model generation)
24
+ - `.gyre/findings.yaml` → GC3 exists (previous analysis)
25
+ - `.gyre/.lock` → Concurrent analysis guard (NFR13)
26
+
27
+ ### 2. Detect Analysis Mode
28
+
29
+ Based on what exists in `.gyre/`:
30
+
31
+ | Condition | Mode | Behavior |
32
+ |-----------|------|----------|
33
+ | `.gyre/` does not exist | **Crisis** | First run — create directory, run full pipeline |
34
+ | `.gyre/capabilities.yaml` exists | **Anticipation** | Re-run — skip model generation (step 3), use cached model |
35
+ | User explicitly says "regenerate" or "fresh" | **Regeneration** | Fresh model — ignore cache, run full pipeline |
36
+
37
+ ### 3. Lock File Check (NFR13)
38
+
39
+ If `.gyre/.lock` exists:
40
+ - Read the lock file for timestamp and process info
41
+ - If older than 5 minutes: warn the user, suggest removing it
42
+ - If recent: inform the user another analysis may be in progress, ask to proceed or wait
43
+
44
+ ### 4. Create `.gyre/` Directory
45
+
46
+ If `.gyre/` doesn't exist, create it.
47
+
48
+ ### 5. Report Initialization
49
+
50
+ Present the initialization status conversationally:
51
+
52
+ ```
53
+ ## Analysis Initialized
54
+
55
+ **Mode:** [Crisis / Anticipation / Regeneration]
56
+ **Directory:** .gyre/ [created / already exists]
57
+ **Existing artifacts:** [list any found, or "none — first run"]
58
+
59
+ Starting stack detection...
60
+ ```
61
+
62
+ ---
63
+
64
+ ## NEXT STEP
65
+
66
+ Proceed to stack detection:
67
+
68
+ Load step: {project-root}/_bmad/bme/_gyre/workflows/full-analysis/steps/step-02-detect-stack.md
@@ -0,0 +1,49 @@
1
+ ---
2
+ step: 2
3
+ workflow: full-analysis
4
+ title: Detect Stack
5
+ ---
6
+
7
+ # Step 2: Detect Stack
8
+
9
+ Run the stack-detection workflow inline. This step delegates to the stack-detection workflow steps for the actual scanning, classification, and guard questions.
10
+
11
+ ## MANDATORY EXECUTION RULES
12
+
13
+ - Execute the stack-detection workflow steps sequentially (scan → classify → guard questions)
14
+ - Write GC1 (Stack Profile) to `.gyre/stack-profile.yaml` on completion
15
+ - If GC1 already exists and mode is **Anticipation**, ask the user: "Your stack was detected previously. Re-detect or keep existing? (re-detect / keep)"
16
+
17
+ ## EXECUTION
18
+
19
+ ### If Crisis or Regeneration Mode
20
+
21
+ Execute the stack-detection workflow steps in sequence:
22
+
23
+ 1. Load and execute: `{project-root}/_bmad/bme/_gyre/workflows/stack-detection/steps/step-01-scan-filesystem.md`
24
+ 2. Load and execute: `{project-root}/_bmad/bme/_gyre/workflows/stack-detection/steps/step-02-classify-stack.md`
25
+ 3. Load and execute: `{project-root}/_bmad/bme/_gyre/workflows/stack-detection/steps/step-03-guard-questions.md`
26
+
27
+ After user confirms the classification, write GC1 to `.gyre/stack-profile.yaml`.
28
+
29
+ ### If Anticipation Mode (GC1 exists)
30
+
31
+ Present the existing stack profile summary and ask:
32
+
33
+ ```
34
+ Your stack was previously detected as: [archetype summary from GC1]
35
+
36
+ Would you like to:
37
+ a) Keep this detection and continue to model generation
38
+ b) Re-detect (your project may have changed)
39
+ ```
40
+
41
+ If user chooses (b), run the detection steps above.
42
+
43
+ ---
44
+
45
+ ## NEXT STEP
46
+
47
+ With GC1 written, proceed to model generation:
48
+
49
+ Load step: {project-root}/_bmad/bme/_gyre/workflows/full-analysis/steps/step-03-generate-model.md
@@ -0,0 +1,52 @@
1
+ ---
2
+ step: 3
3
+ workflow: full-analysis
4
+ title: Generate Model
5
+ ---
6
+
7
+ # Step 3: Generate Model
8
+
9
+ Run the model-generation workflow inline. Atlas generates a capabilities manifest contextual to the detected stack.
10
+
11
+ ## MANDATORY EXECUTION RULES
12
+
13
+ - GC1 (Stack Profile) must have been written in step 2 — if missing, STOP
14
+ - If cached model exists and mode is **Anticipation**, load cached and skip generation
15
+ - If mode is **Regeneration** or **Crisis**, run full model generation
16
+ - Execute the model-generation workflow steps sequentially
17
+
18
+ ## EXECUTION
19
+
20
+ ### If Anticipation Mode (capabilities.yaml exists)
21
+
22
+ Present the existing model summary:
23
+
24
+ ```
25
+ Your capabilities model was previously generated: [N] capabilities for [stack summary].
26
+
27
+ Would you like to:
28
+ a) Keep this model and continue to gap analysis
29
+ b) Regenerate (fresh model even with existing amendments)
30
+ ```
31
+
32
+ If user chooses (a), skip to next step.
33
+ If user chooses (b), proceed with generation below.
34
+
35
+ ### If Crisis or Regeneration Mode
36
+
37
+ Execute the model-generation workflow steps in sequence:
38
+
39
+ 1. Load and execute: `{project-root}/_bmad/bme/_gyre/workflows/model-generation/steps/step-01-load-profile.md`
40
+ 2. Load and execute: `{project-root}/_bmad/bme/_gyre/workflows/model-generation/steps/step-02-generate-capabilities.md`
41
+ 3. Load and execute: `{project-root}/_bmad/bme/_gyre/workflows/model-generation/steps/step-03-web-enrichment.md`
42
+ 4. Load and execute: `{project-root}/_bmad/bme/_gyre/workflows/model-generation/steps/step-04-write-manifest.md`
43
+
44
+ After completion, GC2 is written to `.gyre/capabilities.yaml`.
45
+
46
+ ---
47
+
48
+ ## NEXT STEP
49
+
50
+ With GC2 written, proceed to gap analysis:
51
+
52
+ Load step: {project-root}/_bmad/bme/_gyre/workflows/full-analysis/steps/step-04-analyze-gaps.md