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,55 @@
1
+ ---
2
+ step: 1
3
+ workflow: accuracy-validation
4
+ title: Select Ground Truth Repos
5
+ ---
6
+
7
+ # Step 1: Select Ground Truth Repos
8
+
9
+ Choose ≥3 synthetic ground truth repositories representing diverse stack archetypes.
10
+
11
+ ## MANDATORY EXECUTION RULES
12
+
13
+ - Select repos that are well-known, publicly available, and representative of their archetype
14
+ - Each repo must have a DIFFERENT primary language AND deployment pattern
15
+ - Do NOT use toy projects — repos must have real production-grade structure
16
+
17
+ ## RECOMMENDED ARCHETYPES
18
+
19
+ Select at least 3 from:
20
+
21
+ | # | Archetype | Example Repo | Stack Signature |
22
+ |---|-----------|-------------|-----------------|
23
+ | 1 | Go microservice on K8s | CNCF project (e.g., CoreDNS, Prometheus) | Go + gRPC/REST + Kubernetes + Prometheus |
24
+ | 2 | Node.js web service | Express/Fastify API with Docker | Node.js + REST + Docker + GitHub Actions |
25
+ | 3 | Python data pipeline | Airflow DAG or FastAPI service | Python + Celery/Airflow + Docker Compose |
26
+ | 4 | JVM enterprise service | Spring Boot with Gradle | Java + REST + Maven/Gradle + Jenkins |
27
+ | 5 | Rust system service | Actix/Axum with monitoring | Rust + REST + Docker + CI/CD |
28
+
29
+ ## SELECTION PROCESS
30
+
31
+ 1. Present the archetype options to the user
32
+ 2. User selects ≥3 (or accepts the recommended set)
33
+ 3. For each selected archetype, confirm the specific repo or let Atlas use a synthetic profile
34
+
35
+ **Synthetic profile option:** If specific repos are unavailable, Atlas can generate capabilities based on the archetype description alone (the Stack Profile simulates what Scout would produce). Note this in the results as "synthetic profile" vs "live repo".
36
+
37
+ ## OUTPUT
38
+
39
+ Record selections as a table:
40
+
41
+ ```
42
+ ## Selected Archetypes
43
+
44
+ | # | Archetype | Repo/Profile | Method |
45
+ |---|-----------|-------------|--------|
46
+ | 1 | [archetype] | [repo URL or "synthetic"] | [live scan / synthetic profile] |
47
+ | 2 | [archetype] | [repo URL or "synthetic"] | [live scan / synthetic profile] |
48
+ | 3 | [archetype] | [repo URL or "synthetic"] | [live scan / synthetic profile] |
49
+ ```
50
+
51
+ ---
52
+
53
+ ## NEXT STEP
54
+
55
+ Load step: {project-root}/_bmad/bme/_gyre/workflows/accuracy-validation/steps/step-02-run-validation.md
@@ -0,0 +1,78 @@
1
+ ---
2
+ step: 2
3
+ workflow: accuracy-validation
4
+ title: Run Validation
5
+ ---
6
+
7
+ # Step 2: Run Validation
8
+
9
+ For each selected archetype, run stack detection + model generation and collect the capabilities manifest.
10
+
11
+ ## MANDATORY EXECUTION RULES
12
+
13
+ - Process each archetype independently — do not carry context between runs
14
+ - Record the exact Stack Profile (GC1) used for each archetype
15
+ - Record the complete capabilities manifest (GC2) generated for each
16
+ - If using live repos, run Scout's scan sequence from step-01-scan-filesystem.md
17
+ - If using synthetic profiles, construct a GC1-compliant Stack Profile from the archetype description
18
+
19
+ ## EXECUTION SEQUENCE
20
+
21
+ For each archetype:
22
+
23
+ ### 1. Produce Stack Profile
24
+
25
+ **Live repo method:**
26
+ - Run Scout's filesystem scan (step-01-scan-filesystem.md) against the repo
27
+ - Classify the stack (step-02-classify-stack.md)
28
+ - Skip guard questions (assume high confidence for validation purposes)
29
+ - Record the resulting GC1 Stack Profile
30
+
31
+ **Synthetic profile method:**
32
+ - Construct a GC1-compliant stack profile from the archetype description:
33
+ ```yaml
34
+ stack_profile:
35
+ primary_language: "[from archetype]"
36
+ primary_framework: "[from archetype]"
37
+ secondary_stacks: []
38
+ container_orchestration: "[from archetype]"
39
+ ci_cd_platform: "[from archetype]"
40
+ observability_tooling: ["[from archetype]"]
41
+ cloud_provider: "[from archetype]"
42
+ communication_protocol: "[from archetype]"
43
+ detection_confidence: "high"
44
+ detection_summary: "[archetype description]"
45
+ ```
46
+
47
+ ### 2. Generate Capabilities Manifest
48
+
49
+ - Run Atlas's model generation workflow against the Stack Profile
50
+ - Record the complete capabilities list
51
+ - Note: web search enrichment should be performed if available, skipped if not (record which)
52
+
53
+ ### 3. Record Results
54
+
55
+ For each archetype, record:
56
+
57
+ ```
58
+ ## Archetype [N]: [Name]
59
+
60
+ **Stack Profile:** [summary]
61
+ **Method:** [live scan / synthetic profile]
62
+ **Web search:** [performed / skipped]
63
+ **Capabilities generated:** [count]
64
+ **Limited coverage:** [yes/no]
65
+
66
+ ### Capabilities List
67
+
68
+ | # | ID | Category | Name | Description |
69
+ |---|-----|----------|------|-------------|
70
+ | 1 | [id] | [category] | [name] | [description] |
71
+ | ... | | | | |
72
+ ```
73
+
74
+ ---
75
+
76
+ ## NEXT STEP
77
+
78
+ Load step: {project-root}/_bmad/bme/_gyre/workflows/accuracy-validation/steps/step-03-score-results.md
@@ -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