ace-retro 0.16.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 (49) hide show
  1. checksums.yaml +7 -0
  2. data/.ace-defaults/nav/protocols/wfi-sources/ace-retro.yml +19 -0
  3. data/.ace-defaults/retro/config.yml +16 -0
  4. data/CHANGELOG.md +252 -0
  5. data/LICENSE +21 -0
  6. data/README.md +40 -0
  7. data/Rakefile +13 -0
  8. data/docs/demo/ace-retro-getting-started.gif +0 -0
  9. data/docs/demo/ace-retro-getting-started.tape.yml +33 -0
  10. data/docs/demo/fixtures/README.md +3 -0
  11. data/docs/demo/fixtures/sample.txt +1 -0
  12. data/docs/getting-started.md +77 -0
  13. data/docs/handbook.md +60 -0
  14. data/docs/usage.md +141 -0
  15. data/exe/ace-retro +22 -0
  16. data/handbook/skills/as-handbook-selfimprove/SKILL.md +31 -0
  17. data/handbook/skills/as-retro-create/SKILL.md +26 -0
  18. data/handbook/skills/as-retro-synthesize/SKILL.md +26 -0
  19. data/handbook/templates/retro/retro.template.md +194 -0
  20. data/handbook/workflow-instructions/retro/create.wf.md +141 -0
  21. data/handbook/workflow-instructions/retro/selfimprove.wf.md +197 -0
  22. data/handbook/workflow-instructions/retro/synthesize.wf.md +94 -0
  23. data/lib/ace/retro/atoms/retro_file_pattern.rb +40 -0
  24. data/lib/ace/retro/atoms/retro_frontmatter_defaults.rb +42 -0
  25. data/lib/ace/retro/atoms/retro_id_formatter.rb +37 -0
  26. data/lib/ace/retro/atoms/retro_validation_rules.rb +82 -0
  27. data/lib/ace/retro/cli/commands/create.rb +87 -0
  28. data/lib/ace/retro/cli/commands/doctor.rb +204 -0
  29. data/lib/ace/retro/cli/commands/list.rb +63 -0
  30. data/lib/ace/retro/cli/commands/show.rb +55 -0
  31. data/lib/ace/retro/cli/commands/update.rb +117 -0
  32. data/lib/ace/retro/cli.rb +70 -0
  33. data/lib/ace/retro/models/retro.rb +40 -0
  34. data/lib/ace/retro/molecules/retro_config_loader.rb +93 -0
  35. data/lib/ace/retro/molecules/retro_creator.rb +165 -0
  36. data/lib/ace/retro/molecules/retro_display_formatter.rb +95 -0
  37. data/lib/ace/retro/molecules/retro_doctor_fixer.rb +404 -0
  38. data/lib/ace/retro/molecules/retro_doctor_reporter.rb +257 -0
  39. data/lib/ace/retro/molecules/retro_frontmatter_validator.rb +120 -0
  40. data/lib/ace/retro/molecules/retro_loader.rb +119 -0
  41. data/lib/ace/retro/molecules/retro_mover.rb +80 -0
  42. data/lib/ace/retro/molecules/retro_resolver.rb +57 -0
  43. data/lib/ace/retro/molecules/retro_scanner.rb +56 -0
  44. data/lib/ace/retro/molecules/retro_structure_validator.rb +193 -0
  45. data/lib/ace/retro/organisms/retro_doctor.rb +199 -0
  46. data/lib/ace/retro/organisms/retro_manager.rb +210 -0
  47. data/lib/ace/retro/version.rb +7 -0
  48. data/lib/ace/retro.rb +41 -0
  49. metadata +165 -0
data/docs/usage.md ADDED
@@ -0,0 +1,141 @@
1
+ ---
2
+ doc-type: user
3
+ purpose: CLI reference for ace-retro commands and options.
4
+ ace-docs:
5
+ last-updated: '2026-03-22'
6
+ ---
7
+
8
+ # ace-retro CLI Reference
9
+
10
+ Complete command reference for `ace-retro`.
11
+
12
+ ## Installation
13
+
14
+ ```bash
15
+ gem install ace-retro
16
+ ```
17
+
18
+ ## Global Options
19
+
20
+ All commands support:
21
+
22
+ | Flag | Description |
23
+ |------|-------------|
24
+ | `-q`, `--quiet` | Suppress non-essential output |
25
+ | `-v`, `--verbose` | Show verbose output |
26
+ | `-d`, `--debug` | Show debug output |
27
+ | `-h`, `--help` | Show command help |
28
+
29
+ ## Commands
30
+
31
+ ### ace-retro create TITLE
32
+
33
+ Create a new retrospective.
34
+
35
+ | Option | Alias | Description |
36
+ |--------|-------|-------------|
37
+ | `--type` | `-t` | Retro type: `standard`, `conversation-analysis`, `self-review` |
38
+ | `--tags` | `-T` | Comma-separated tags |
39
+ | `--move-to` | `-m` | Create directly in a target folder (for example `archive`) |
40
+ | `--dry-run` | `-n` | Preview without writing |
41
+ | `--gc`, `--git-commit` | | Auto-commit changes |
42
+
43
+ ```bash
44
+ ace-retro create "Sprint Review" --type standard --tags sprint,team
45
+ ace-retro create "Session Review" --type conversation-analysis
46
+ ace-retro create "Release Retro" --move-to archive
47
+ ```
48
+
49
+ ### ace-retro show REF
50
+
51
+ Show one retro by full 6-char ID or 3-char shortcut.
52
+
53
+ | Option | Description |
54
+ |--------|-------------|
55
+ | `--path` | Print file path only |
56
+ | `--content` | Print raw markdown content |
57
+
58
+ ```bash
59
+ ace-retro show q7w
60
+ ace-retro show 8ppq7w --path
61
+ ace-retro show q7w --content
62
+ ```
63
+
64
+ ### ace-retro list
65
+
66
+ List retros with optional filtering.
67
+
68
+ | Option | Alias | Description |
69
+ |--------|-------|-------------|
70
+ | `--status` | `-s` | Filter by status (`active`, `done`) |
71
+ | `--type` | `-t` | Filter by type |
72
+ | `--tags` | `-T` | Filter by tags (comma-separated, any match) |
73
+ | `--in` | `-i` | Folder scope: `next` (root only), `all`, `archive` |
74
+ | `--root` | `-r` | Override retros root path |
75
+
76
+ ```bash
77
+ ace-retro list
78
+ ace-retro list --in all
79
+ ace-retro list --in archive --type standard
80
+ ace-retro list --status active --tags sprint,team
81
+ ```
82
+
83
+ ### ace-retro update REF
84
+
85
+ Update frontmatter fields and/or move a retro between folders.
86
+
87
+ | Option | Description |
88
+ |--------|-------------|
89
+ | `--set` | Set scalar metadata: `key=value` (repeatable) |
90
+ | `--add` | Add to array field: `key=value` (repeatable) |
91
+ | `--remove` | Remove from array field: `key=value` (repeatable) |
92
+ | `--move-to`, `-m` | Move retro to folder (`archive`, `next`) |
93
+ | `--gc`, `--git-commit` | Auto-commit changes |
94
+
95
+ ```bash
96
+ ace-retro update q7w --set status=done
97
+ ace-retro update q7w --set status=done --set title="Refined title"
98
+ ace-retro update q7w --add tags=reviewed --remove tags=in-progress
99
+ ace-retro update q7w --set status=done --move-to archive
100
+ ```
101
+
102
+ ### ace-retro doctor
103
+
104
+ Run health checks across retros.
105
+
106
+ | Option | Alias | Description |
107
+ |--------|-------|-------------|
108
+ | `--auto-fix` | `-f` | Auto-fix safe issues |
109
+ | `--auto-fix-with-agent` | | Auto-fix then launch agent for unresolved items |
110
+ | `--model` | | Provider:model for agent session |
111
+ | `--errors-only` | | Show only errors |
112
+ | `--no-color` | | Disable colored output |
113
+ | `--json` | | Emit JSON output |
114
+ | `--dry-run` | `-n` | Preview fixes without applying |
115
+ | `--check` | | Limit to check: `frontmatter` (YAML metadata block at file top), `structure`, `scope` |
116
+
117
+ ```bash
118
+ ace-retro doctor
119
+ ace-retro doctor --auto-fix
120
+ ace-retro doctor --auto-fix --dry-run
121
+ ace-retro doctor --check frontmatter
122
+ ace-retro doctor --json
123
+ ```
124
+
125
+ ## Common Commands
126
+
127
+ | Command | What it does |
128
+ |---------|-------------|
129
+ | `ace-retro create "..." --type standard` | Create a retrospective |
130
+ | `ace-retro show <ref>` | Display one retro |
131
+ | `ace-retro list --in all` | List active and archived retros |
132
+ | `ace-retro update <ref> --set status=done` | Update metadata |
133
+ | `ace-retro update <ref> --move-to archive` | Archive a retro |
134
+ | `ace-retro doctor` | Validate retro health |
135
+
136
+ ## Runtime Help
137
+
138
+ ```bash
139
+ ace-retro help
140
+ ace-retro <command> --help
141
+ ```
data/exe/ace-retro ADDED
@@ -0,0 +1,22 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ require_relative "../lib/ace/retro"
5
+ require_relative "../lib/ace/retro/cli"
6
+
7
+ # No args → show help
8
+ args = ARGV.empty? ? ["--help"] : ARGV
9
+
10
+ # Handle SIGINT with exit code 130
11
+ trap("INT") { exit 130 }
12
+
13
+ # Start ace-support-cli with exception-based exit code handling (per ADR-023)
14
+ begin
15
+ Ace::Retro::RetroCLI.start(args)
16
+ rescue Ace::Support::Cli::Error => e
17
+ warn e.message
18
+ exit(e.exit_code)
19
+ rescue ArgumentError => e
20
+ warn "Error: #{e.message}"
21
+ exit(1)
22
+ end
@@ -0,0 +1,31 @@
1
+ ---
2
+ name: as-handbook-selfimprove
3
+ description: Analyze mistakes to improve processes, then fix the immediate issue
4
+ # bundle: wfi://retro/selfimprove
5
+ # agent: general-purpose
6
+ user-invocable: true
7
+ allowed-tools:
8
+ - Bash(ace-bundle:*)
9
+ - Read
10
+ - Write
11
+ - Edit
12
+ - Grep
13
+ - Glob
14
+ argument-hint: [description of what went wrong]
15
+ last_modified: 2026-03-10
16
+ source: ace-retro
17
+ integration:
18
+ targets:
19
+ - claude
20
+ - codex
21
+ - gemini
22
+ - opencode
23
+ - pi
24
+ providers: {}
25
+ skill:
26
+ kind: workflow
27
+ execution:
28
+ workflow: wfi://retro/selfimprove
29
+ ---
30
+
31
+ Load and run `ace-bundle wfi://retro/selfimprove` in the current project, then follow the loaded workflow as the source of truth and execute it end-to-end instead of only summarizing it.
@@ -0,0 +1,26 @@
1
+ ---
2
+ name: as-retro-create
3
+ description: Create task retrospective documenting learnings and improvements
4
+ # bundle: wfi://retro/create
5
+ # context: no-fork
6
+ # agent: general-purpose
7
+ user-invocable: true
8
+ allowed-tools:
9
+ - Bash(ace-task:*)
10
+ - Bash(ace-bundle:*)
11
+ - Bash(ace-git-commit:*)
12
+ - Read
13
+ - Write
14
+ - TodoWrite
15
+ argument-hint: [retro-title]
16
+ last_modified: 2026-01-10
17
+ source: ace-task
18
+ skill:
19
+ kind: workflow
20
+ execution:
21
+ workflow: wfi://retro/create
22
+
23
+ ---
24
+
25
+ Load and run `ace-bundle wfi://retro/create` in the current project, then follow the loaded workflow as the source of truth and execute it end-to-end instead of only summarizing it.
26
+
@@ -0,0 +1,26 @@
1
+ ---
2
+ name: as-retro-synthesize
3
+ description: Synthesize retrospectives into patterns and improvement recommendations
4
+ # bundle: wfi://retro/synthesize
5
+ # context: no-fork
6
+ # agent: general-purpose
7
+ user-invocable: true
8
+ allowed-tools:
9
+ - Bash(ace-task:*)
10
+ - Bash(ace-bundle:*)
11
+ - Bash(ace-git-commit:*)
12
+ - Read
13
+ - Write
14
+ - Grep
15
+ - TodoWrite
16
+ last_modified: 2026-01-10
17
+ source: ace-task
18
+ skill:
19
+ kind: workflow
20
+ execution:
21
+ workflow: wfi://retro/synthesize
22
+
23
+ ---
24
+
25
+ Load and run `ace-bundle wfi://retro/synthesize` in the current project, then follow the loaded workflow as the source of truth and execute it end-to-end instead of only summarizing it.
26
+
@@ -0,0 +1,194 @@
1
+ ---
2
+ doc-type: template
3
+ title: "Reflection: [Topic/Date]"
4
+ purpose: Documentation for ace-retro/handbook/templates/retro/retro.template.md
5
+ ace-docs:
6
+ last-updated: 2026-03-01
7
+ last-checked: 2026-03-21
8
+ ---
9
+
10
+ # Reflection: [Topic/Date]
11
+
12
+ **Date**: YYYY-MM-DD
13
+ **Context**: [Brief description of what this reflection covers]
14
+ **Author**: [Name or identifier]
15
+ **Type**: [Standard | Conversation Analysis | Self-Review]
16
+
17
+ ## What Went Well
18
+
19
+ - [Positive outcome or successful approach]
20
+ - [Effective pattern discovered]
21
+ - [Good decision that paid off]
22
+
23
+ ## What Could Be Improved
24
+
25
+ - [Challenge encountered]
26
+ - [Inefficiency identified]
27
+ - [Area needing attention]
28
+
29
+ ## Key Learnings
30
+
31
+ - [Important insight gained]
32
+ - [New understanding developed]
33
+ - [Valuable lesson learned]
34
+
35
+ ## Conversation Analysis (For conversation-based reflections)
36
+
37
+ ### Challenge Patterns Identified
38
+
39
+ #### High Impact Issues
40
+
41
+ - **[Challenge Type]**: [Description]
42
+ - Occurrences: [Number of times this pattern appeared]
43
+ - Impact: [Description of delays/rework caused]
44
+ - Root Cause: [Analysis of underlying issue]
45
+
46
+ #### Medium Impact Issues
47
+
48
+ - **[Challenge Type]**: [Description]
49
+ - Occurrences: [Number of times this pattern appeared]
50
+ - Impact: [Description of inefficiencies caused]
51
+
52
+ #### Low Impact Issues
53
+
54
+ - **[Challenge Type]**: [Description]
55
+ - Occurrences: [Number of times this pattern appeared]
56
+ - Impact: [Minor inconveniences]
57
+
58
+ ### Improvement Proposals
59
+
60
+ #### Process Improvements
61
+
62
+ - [Specific workflow enhancement]
63
+ - [Documentation improvement]
64
+ - [Better validation step]
65
+
66
+ #### Tool Enhancements
67
+
68
+ - [Command improvement suggestion]
69
+ - [Tool capability request]
70
+ - [Automation opportunity]
71
+
72
+ #### Communication Protocols
73
+
74
+ - [Clearer requirement gathering]
75
+ - [Better confirmation process]
76
+ - [Enhanced feedback loop]
77
+
78
+ ### Token Limit & Truncation Issues
79
+
80
+ - **Large Output Instances**: [Count and description]
81
+ - **Truncation Impact**: [Information lost, workflow disruption]
82
+ - **Mitigation Applied**: [How issues were resolved]
83
+ - **Prevention Strategy**: [Future avoidance approach]
84
+
85
+ ## Action Items
86
+
87
+ ### Stop Doing
88
+
89
+ - [Practice or approach to discontinue]
90
+ - [Ineffective pattern to avoid]
91
+
92
+ ### Continue Doing
93
+
94
+ - [Successful practice to maintain]
95
+ - [Effective approach to keep using]
96
+
97
+ ### Start Doing
98
+
99
+ - [New practice to adopt]
100
+ - [Improvement to implement]
101
+
102
+ ## Technical Details
103
+
104
+ (Optional: Specific technical insights, code patterns, or implementation notes)
105
+
106
+ ## Automation Insights
107
+
108
+ ### Identified Opportunities
109
+
110
+ - **[Process/Task Name]**: [What could be automated]
111
+ - Current approach: [How it's done manually now]
112
+ - Automation proposal: [How it could be automated]
113
+ - Expected time savings: [Estimated reduction in effort]
114
+ - Implementation complexity: [Low/Medium/High]
115
+
116
+ ### Priority Automations
117
+
118
+ 1. **[High Priority Item]**: [Brief description and impact]
119
+ 2. **[Medium Priority Item]**: [Brief description and impact]
120
+ 3. **[Low Priority Item]**: [Brief description and impact]
121
+
122
+ ## Tool Proposals
123
+
124
+ ### Missing Dev-Tools
125
+
126
+ - **Tool Name**: `[proposed-command-name]`
127
+ - Purpose: [What problem it solves]
128
+ - Expected usage: `[example command usage]`
129
+ - Key features: [Main capabilities needed]
130
+ - Similar to: [Existing tools it relates to, if any]
131
+
132
+ ### Enhancement Requests
133
+
134
+ - **Existing Tool**: `[tool-name]`
135
+ - Enhancement: [What capability to add]
136
+ - Use case: [Why this enhancement is needed]
137
+ - Workaround: [Current alternative approach]
138
+
139
+ ## Workflow Proposals
140
+
141
+ ### New Workflows Needed
142
+
143
+ - **Workflow Name**: `[workflow-name].wf.md`
144
+ - Purpose: [What process it would streamline]
145
+ - Trigger: [When/how it would be invoked]
146
+ - Key steps: [High-level process outline]
147
+ - Expected frequency: [How often it would be used]
148
+
149
+ ### Workflow Enhancements
150
+
151
+ - **Existing Workflow**: `[workflow-name].wf.md`
152
+ - Enhancement: [What to improve]
153
+ - Rationale: [Why this change would help]
154
+ - Impact: [Benefits of the enhancement]
155
+
156
+ ## Cookbook Opportunities
157
+
158
+ ### Patterns Worth Documenting
159
+
160
+ - **Pattern Name**: [Descriptive name for the pattern]
161
+ - Context: [When this pattern applies]
162
+ - Solution approach: [Core technique or method]
163
+ - Example scenario: [Concrete use case]
164
+ - Reusability: [How often this comes up]
165
+
166
+ ### Proposed Cookbooks
167
+
168
+ - **Cookbook Title**: `[cookbook-name].cookbook.md`
169
+ - Problem it solves: [Clear problem statement]
170
+ - Target audience: [Who would benefit]
171
+ - Prerequisites: [Required knowledge/tools]
172
+ - Key sections: [Main topics to cover]
173
+
174
+ ## Pattern Identification
175
+
176
+ ### Reusable Code Snippets
177
+
178
+ - **Snippet Purpose**: [What it accomplishes]
179
+ ```[language]
180
+ # Code snippet or pattern
181
+ ```
182
+ - Use cases: [Where this could be reused]
183
+ - Variations: [How it might be adapted]
184
+
185
+ ### Template Opportunities
186
+
187
+ - **Template Type**: [What kind of template]
188
+ - Common structure: [Repeated pattern identified]
189
+ - Variables needed: [What would be parameterized]
190
+ - Expected usage: [How often it would be used]
191
+
192
+ ## Additional Context
193
+
194
+ (Optional: Links to relevant PRs, tasks, or documentation)
@@ -0,0 +1,141 @@
1
+ ---
2
+ doc-type: workflow
3
+ title: Create Retro Workflow Instruction
4
+ purpose: Documentation for ace-retro/handbook/workflow-instructions/retro/create.wf.md
5
+ ace-docs:
6
+ last-updated: 2026-03-01
7
+ last-checked: 2026-03-21
8
+ ---
9
+
10
+ # Create Retro Workflow Instruction
11
+
12
+ ## Goal
13
+
14
+ Capture observations, learnings, and improvement ideas from development work. Retros document insights that help improve future processes and outcomes.
15
+
16
+ ## Prerequisites
17
+
18
+ - Understanding of what to capture (learnings, challenges, improvements)
19
+ - Current working session or specific context to reflect upon
20
+
21
+ ## Process Steps
22
+
23
+ ### 1. Determine Retro Context
24
+
25
+ Identify the scope and subject of the retro:
26
+
27
+ - **User-provided topic**: Use the specific topic, task, or time period given
28
+ - **Current session**: Self-review the working session for patterns and learnings
29
+ - **Task completion**: Reflect on a completed task or feature
30
+
31
+ ### 2. Generate a Slug
32
+
33
+ Create a concise, descriptive slug from the topic:
34
+
35
+ - Use lowercase with hyphens: `oauth-integration-challenges`
36
+ - Keep it short but descriptive: `sprint-23-learnings`
37
+ - Include relevant context: `ace-test-runner-fixes`
38
+
39
+ ### 3. Create the Retro File
40
+
41
+ ```bash
42
+ # Basic creation
43
+ ace-retro create "topic-slug"
44
+
45
+ # With type and tags
46
+ ace-retro create "topic-slug" --type standard --tags sprint,team
47
+ ```
48
+
49
+ Read the created file path from the command output.
50
+
51
+ ### 4. Populate the Retro
52
+
53
+ Use the template format from `tmpl://retro/retro` to structure content. Fill each section with meaningful insights from the retro context.
54
+
55
+ **Core sections to populate:**
56
+
57
+ - **What Went Well** — successful approaches, effective patterns, good decisions
58
+ - **What Could Be Improved** — challenges, inefficiencies, areas needing attention
59
+ - **Key Learnings** — insights gained, new understanding, valuable lessons
60
+ - **Action Items** — stop/continue/start doing items
61
+
62
+ **Optional enhancement sections** (use when relevant):
63
+
64
+ - Automation Insights
65
+ - Tool Proposals
66
+ - Workflow Proposals
67
+
68
+ ### 5. Gather Content via Reflection
69
+
70
+ **Reflection Prompts:**
71
+
72
+ - What was the main goal of this work?
73
+ - What obstacles were encountered?
74
+ - How were problems solved?
75
+ - What would you do differently?
76
+ - What patterns emerged?
77
+ - What knowledge was gained?
78
+
79
+ **For session-based retros**, review:
80
+
81
+ - Recent git commits and changes
82
+ - Challenges faced and how they were resolved
83
+ - Successful approaches worth repeating
84
+
85
+ **When review session data is available** (e.g., after review cycles in an assignment), analyze:
86
+
87
+ - Review sessions in `.ace-local/review/sessions/` for the current branch/PR
88
+ - Load each session's `feedback-synthesis/feedback-synthesis.cleaned.json` for structured findings
89
+ - Load each session's `metadata.yml` for model performance data (duration, success rate)
90
+
91
+ Cross-cycle review analysis prompts:
92
+
93
+ - Which feedback items recurred across cycles? (indicates systematic issues vs. one-off nits)
94
+ - What was the false-positive rate per reviewer model? (findings marked invalid without code changes)
95
+ - How did severity calibration differ across models? (e.g., one model flags high-priority items that others miss)
96
+ - Did later review cycles (code-fit, code-shine) catch qualitatively different issues than early ones (code-valid)?
97
+ - What percentage of feedback items led to actual code changes vs. being dismissed?
98
+
99
+ Capture these observations in the retro under a **Review Cycle Analysis** subsection within "Key Learnings".
100
+
101
+ ### 6. Finalize
102
+
103
+ - Ensure populated sections have meaningful content
104
+ - Remove empty optional sections
105
+ - Verify with `ace-retro list` to confirm the retro appears
106
+
107
+ ### 7. Commit the Retro
108
+
109
+ Commit the retro file so the artifact is preserved in the branch history:
110
+
111
+ ```bash
112
+ ace-git-commit .ace-retros/ -i "retro for <context>"
113
+ ```
114
+
115
+ This is especially important when running inside a fork subtree, where uncommitted files would be lost when the fork process exits.
116
+
117
+ ## Best Practices
118
+
119
+ **DO:**
120
+
121
+ - Be honest about challenges and failures
122
+ - Focus on actionable improvements
123
+ - Include specific examples
124
+ - Keep entries concise but complete
125
+ - Date and contextualize retros
126
+
127
+ **DON'T:**
128
+
129
+ - Make it a blame session
130
+ - Be vague or generic
131
+ - Skip the action items
132
+ - Leave sections empty without removing them
133
+ - Write novels — keep it focused
134
+
135
+ ## Success Criteria
136
+
137
+ - Retro created via `ace-retro create` with appropriate slug
138
+ - Key sections populated with meaningful content
139
+ - Action items clearly defined
140
+ - Insights captured for future reference
141
+ - Retro file committed to the branch