wogiflow 1.4.5 → 1.4.7

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.
@@ -0,0 +1,193 @@
1
+ Interactive rule creation with clarifying questions. Invoke when user says "from now on...", "let's make it a rule", "always do X", "never do Y", or "standardize on...".
2
+
3
+ ## Usage
4
+
5
+ ```bash
6
+ /wogi-decide "from now on, always use error boundaries in React components"
7
+ /wogi-decide "the convention should be kebab-case for all config files"
8
+ /wogi-decide # Interactive mode — asks what rule to create
9
+ ```
10
+
11
+ ## Trigger Phrases
12
+
13
+ Auto-routed from `/wogi-start` when user says:
14
+ - "from now on..."
15
+ - "let's make it a rule..."
16
+ - "always do X" / "never do Y"
17
+ - "the convention should be..."
18
+ - "we should standardize on..."
19
+ - "update our rules to..."
20
+ - "add a rule for..."
21
+
22
+ ## How It Works
23
+
24
+ ### Step 1: Parse the Rule Intent
25
+
26
+ Extract from the user's input:
27
+ - **What**: The rule statement (what to do or not do)
28
+ - **Scope hint**: Any mentioned scope (all files? specific types? specific feature?)
29
+ - **Strength**: Mandatory ("always", "never", "must") vs advisory ("prefer", "try to", "when possible")
30
+
31
+ ### Step 2: Check for Duplicate Rules
32
+
33
+ **BEFORE asking clarifying questions**, check for existing similar rules:
34
+
35
+ 1. Read `.workflow/state/decisions.md`
36
+ 2. Search for keywords from the proposed rule
37
+ 3. If a similar rule exists (same topic, same intent):
38
+
39
+ ```
40
+ A similar rule already exists:
41
+
42
+ > [Existing rule statement from decisions.md]
43
+ (Added: [date], Section: [section])
44
+
45
+ Options:
46
+ 1. Update the existing rule (modify scope, wording, or exceptions)
47
+ 2. Create a new separate rule (if genuinely different)
48
+ 3. Cancel (rule already covered)
49
+ ```
50
+
51
+ Use `AskUserQuestion` to present these options.
52
+
53
+ ### Step 3: Assess Clarity
54
+
55
+ Evaluate if the rule needs clarification. **Skip questions if the rule is already clear and specific.**
56
+
57
+ A rule is clear when it has:
58
+ - Specific action (what to do)
59
+ - Obvious scope (when it applies)
60
+ - No ambiguity in interpretation
61
+
62
+ **Examples of clear rules (skip to Step 4):**
63
+ - "Catch blocks must use `err` not `e`" — Clear action, obvious scope
64
+ - "All file names must be kebab-case" — Clear action, universal scope
65
+ - "Never commit .env files" — Clear prohibition, obvious scope
66
+
67
+ **Examples of ambiguous rules (ask questions):**
68
+ - "Always use error boundaries" — Which components? All? Only pages?
69
+ - "We should validate inputs" — Which inputs? Client-side? Server-side? Both?
70
+ - "Use TypeScript strict mode" — New files only? Existing files too?
71
+
72
+ ### Step 4: Ask Clarifying Questions (if needed)
73
+
74
+ Only ask questions that are genuinely needed. Use `AskUserQuestion` with up to 4 questions:
75
+
76
+ **Possible questions (ask only what's ambiguous):**
77
+
78
+ 1. **Scope**: "When does this apply?"
79
+ - All files / specific file types / specific feature areas / new code only
80
+ 2. **Exceptions**: "Are there cases where this should NOT apply?"
81
+ - Yes (describe) / No exceptions / Not sure yet
82
+ 3. **Verification**: "How should we check compliance?"
83
+ - Code review / Lint rule / Manual check / Automated test
84
+ 4. **Rationale** (only if not obvious): "Why is this important?"
85
+ - Helps future developers understand the rule
86
+
87
+ **Do NOT ask all 4 questions every time.** For most rules, 0-2 questions suffice.
88
+
89
+ ### Step 5: Write the Rule to decisions.md
90
+
91
+ **Input sanitization**: Before writing, enforce these guards on user-supplied rule text:
92
+ - Maximum 500 characters for the rule statement
93
+ - Strip markdown structural characters (`---`, `##`, HTML comments `<!-- -->`) from user-supplied text
94
+ - Escape any markdown headings within the rule body (prefix with `\`)
95
+ - This prevents accidental or malicious structural alteration of decisions.md
96
+
97
+ Read `.workflow/state/decisions.md` and add the rule to the appropriate section.
98
+
99
+ **Section mapping:**
100
+ - Code style / naming → "Coding Standards"
101
+ - Component / UI patterns → "Component Architecture"
102
+ - Security practices → "Coding Standards > Security Patterns"
103
+ - Architecture / design → "Architecture Decisions"
104
+ - File / folder organization → "File/Folder Structure"
105
+ - Process / workflow → "Operational Procedures"
106
+ - Review / cleanup → "Review & Cleanup Procedures"
107
+
108
+ **Rule format:**
109
+
110
+ ```markdown
111
+ ### [Rule Title] (YYYY-MM-DD)
112
+ **Source**: user-decision
113
+ **Scope**: [when this applies]
114
+ > [Clear, actionable rule statement]
115
+
116
+ **Rationale**: [why this rule exists]
117
+ **Exceptions**: [when this does NOT apply, or "None"]
118
+ **Verification**: [how to check compliance]
119
+ ```
120
+
121
+ ### Step 6: Check for Existing Code Violations (Optional)
122
+
123
+ After writing the rule, optionally scan for existing violations:
124
+
125
+ 1. Use Grep to search for patterns that violate the new rule
126
+ 2. If violations found (N > 0):
127
+
128
+ ```
129
+ Found N existing violations of this new rule.
130
+
131
+ Options:
132
+ 1. Create a fix task for existing violations
133
+ 2. Apply rule to new code only (grandfather existing)
134
+ 3. Fix them right now (if small count)
135
+ ```
136
+
137
+ Use `AskUserQuestion` to present options.
138
+
139
+ If user chooses option 1:
140
+ - **Require explicit user confirmation** before writing to ready.json (display violation count and file list first)
141
+ - Cap display at 50 violations — if more exist, warn user about scope
142
+ - Create a task in `ready.json` backlog: "Fix N violations of [rule name]"
143
+
144
+ ### Step 7: Update Request Log
145
+
146
+ Add entry to `.workflow/state/request-log.md`:
147
+
148
+ ```markdown
149
+ ### R-[NNN] | [YYYY-MM-DD HH:MM]
150
+ **Type**: new
151
+ **Tags**: #rule #decisions
152
+ **Request**: "Create rule: [rule title]"
153
+ **Result**: Added rule to decisions.md ([section])
154
+ **Files**: `.workflow/state/decisions.md`[, `.workflow/state/ready.json` if fix task created]
155
+ ```
156
+
157
+ ### Step 8: Confirm
158
+
159
+ ```
160
+ Rule created: "[Rule Title]"
161
+ Section: [section in decisions.md]
162
+ Scope: [scope]
163
+
164
+ This rule will be enforced in future code reviews and task execution.
165
+ ```
166
+
167
+ ## Options
168
+
169
+ - `--quick` — Skip clarifying questions, write rule directly from input
170
+ - `--from-pattern` — Create rule from a pattern in feedback-patterns.md (used by /wogi-learn)
171
+
172
+ ## Configuration
173
+
174
+ In `config.json`:
175
+ ```json
176
+ {
177
+ "decide": {
178
+ "requireRationale": true,
179
+ "scanForViolations": true,
180
+ "maxClarifyingQuestions": 4
181
+ }
182
+ }
183
+ ```
184
+
185
+ ## Files
186
+
187
+ | Action | File |
188
+ |--------|------|
189
+ | Read (duplicate check) | `.workflow/state/decisions.md` |
190
+ | Write (new rule) | `.workflow/state/decisions.md` |
191
+ | Read (violation scan) | Codebase files via Grep |
192
+ | Write (log) | `.workflow/state/request-log.md` |
193
+ | Write (fix task) | `.workflow/state/ready.json` (if violations found) |
@@ -57,6 +57,13 @@ DEBUGGING
57
57
  /wogi-debug-hypothesis [desc] Parallel hypothesis investigation
58
58
  /wogi-trace [feature] Code flow trace for a feature
59
59
 
60
+ ═══════════════════════════════════════════════════════════════
61
+ LEARNING & RULES
62
+ ═══════════════════════════════════════════════════════════════
63
+ /wogi-decide [rule] Create project rule with clarifying questions
64
+ /wogi-learn Promote feedback patterns to decision rules
65
+ /wogi-retrospective Guided session reflection with lesson capture
66
+
60
67
  ═══════════════════════════════════════════════════════════════
61
68
  SEARCH & CONTEXT
62
69
  ═══════════════════════════════════════════════════════════════
@@ -0,0 +1,242 @@
1
+ Interactive pattern promotion from feedback to decisions. Invoke when user says "let's learn from this", "we keep making this mistake", "promote this pattern", or "what have we learned?".
2
+
3
+ ## Usage
4
+
5
+ ```bash
6
+ /wogi-learn # Show all patterns, select to promote
7
+ /wogi-learn --all # Bulk promote all qualifying patterns (count >= 3)
8
+ /wogi-learn "learn from what just happened" # Learn from recent incident
9
+ ```
10
+
11
+ ## Trigger Phrases
12
+
13
+ Auto-routed from `/wogi-start` when user says:
14
+ - "let's learn from this"
15
+ - "we keep making this mistake"
16
+ - "promote this pattern"
17
+ - "what have we learned?"
18
+ - "extract lessons"
19
+ - "capture this learning"
20
+
21
+ ## How It Works
22
+
23
+ ### Step 1: Load Pattern Data
24
+
25
+ Read these files:
26
+ 1. `.workflow/state/feedback-patterns.md` — Accumulated patterns with counts
27
+ 2. `.workflow/state/decisions.md` — Existing rules (to check for duplicates)
28
+ 3. `.workflow/corrections/*.md` — Recent correction reports with lessons (sorted by mtime; if directory doesn't exist or is empty, skip)
29
+
30
+ ### Step 2: Choose Mode
31
+
32
+ **Mode A: Browse patterns** (default — no argument)
33
+ **Mode B: Learn from incident** (argument provided, e.g., "learn from what just happened")
34
+ **Mode C: Bulk promotion** (`--all` flag)
35
+
36
+ ---
37
+
38
+ ### Mode A: Browse Patterns
39
+
40
+ 1. Parse `feedback-patterns.md` for all patterns in the "Pending Patterns" and "Patterns Log" sections
41
+ 2. Sort by occurrence count (highest first)
42
+ 3. Display:
43
+
44
+ ```
45
+ Accumulated Patterns (N total):
46
+
47
+ Ready to Promote (count >= 3):
48
+ 1. [try-catch-file-reads] (4 occurrences) — File reads need try-catch
49
+ 2. [review-similar-code] (4 occurrences) — Check similar code when fixing bugs
50
+
51
+ Approaching Threshold (count 2):
52
+ 3. [use-safeJsonParse] (2 occurrences) — Use safeJsonParse instead of JSON.parse
53
+ 4. [extract-duplicate-logic] (2 occurrences) — Extract shared logic
54
+
55
+ Monitoring (count 1):
56
+ 5. [validate-shell-params] (1 occurrence) — Validate shell parameters
57
+ ... (N more)
58
+
59
+ Which pattern would you like to promote? (Enter number, or "skip")
60
+ ```
61
+
62
+ Use `AskUserQuestion` to let user select.
63
+
64
+ 4. When user selects a pattern, go to **Step 3: Promote Pattern**.
65
+
66
+ ### Mode B: Learn from Incident
67
+
68
+ 1. Read `.workflow/state/request-log.md` — last 5 entries
69
+ 2. Read recent files in `.workflow/corrections/*.md` (last 3 by modification time; if directory doesn't exist or is empty, analyze request-log only and note: "No correction reports found — analyzing request-log entries.")
70
+ 3. Analyze what went wrong:
71
+ - What was the task?
72
+ - What failure occurred?
73
+ - What was the root cause?
74
+ - What should have been done differently?
75
+
76
+ 4. Propose a rule:
77
+
78
+ ```
79
+ Based on recent work, here's what I found:
80
+
81
+ Incident: [description from request-log/corrections]
82
+ Root Cause: [analysis]
83
+ Proposed Rule: "[rule statement]"
84
+
85
+ Should I create this as a project rule?
86
+ 1. Yes, create the rule (routes to /wogi-decide flow)
87
+ 2. Add to feedback-patterns for monitoring first
88
+ 3. Skip — not a recurring issue
89
+ ```
90
+
91
+ Use `AskUserQuestion` to present options.
92
+
93
+ If option 1: Invoke `/wogi-decide --from-pattern` with the proposed rule (uses streamlined path). If user cancels within the /wogi-decide sub-flow, return to wogi-learn and display "Rule creation cancelled. Pattern not promoted."
94
+ If option 2: Add to `feedback-patterns.md` Pending Patterns section with count 1.
95
+
96
+ ### Mode C: Bulk Promotion
97
+
98
+ 1. Parse `feedback-patterns.md` for patterns with count >= 3
99
+ 2. For each qualifying pattern, display:
100
+
101
+ ```
102
+ Bulk Promotion: N patterns qualify (count >= 3)
103
+
104
+ 1. [try-catch-file-reads] (4x) — Promote? [Y/n]
105
+ → Proposed rule: "Always wrap fs.readFileSync in try-catch"
106
+
107
+ 2. [review-similar-code] (4x) — Promote? [Y/n]
108
+ → Proposed rule: "When fixing a bug, search for similar patterns elsewhere"
109
+
110
+ Approve all? Or review individually?
111
+ ```
112
+
113
+ Use `AskUserQuestion`:
114
+ - "Approve all" — Promote all qualifying patterns
115
+ - "Review individually" — Go through each one
116
+
117
+ For each approved pattern, run **Step 3: Promote Pattern**.
118
+
119
+ ---
120
+
121
+ ### Step 3: Promote a Pattern
122
+
123
+ Given a pattern to promote:
124
+
125
+ 1. **Extract rule from pattern:**
126
+ - Pattern description → Rule statement
127
+ - Pattern count → Evidence for rationale
128
+ - Correction examples → Verification criteria
129
+
130
+ 2. **Delegate duplicate checking to `/wogi-decide --from-pattern`** which handles duplicate detection and the full rule-writing flow. This ensures a single source of truth for all rule-creation logic.
131
+
132
+ 3. **Ask user for any additions:**
133
+
134
+ ```
135
+ Promoting pattern: [pattern-name]
136
+
137
+ Proposed rule:
138
+ > [Rule statement derived from pattern]
139
+
140
+ Rationale: Occurred [N] times. [Brief description of why this matters]
141
+ Scope: [Inferred scope from pattern data]
142
+
143
+ Anything to add or change?
144
+ - Additional scope or exceptions?
145
+ - Specific verification steps?
146
+
147
+ (Press enter to accept as-is, or type modifications)
148
+ ```
149
+
150
+ 4. **Write to decisions.md:**
151
+ Use the same format as `/wogi-decide`:
152
+
153
+ ```markdown
154
+ ### [Rule Title] (YYYY-MM-DD)
155
+ **Source**: promoted-pattern ([N] occurrences in feedback-patterns.md)
156
+ **Scope**: [scope]
157
+ > [Rule statement]
158
+
159
+ **Rationale**: Pattern occurred [N] times. [description]
160
+ **Exceptions**: [exceptions or "None"]
161
+ **Verification**: [how to check]
162
+ ```
163
+
164
+ 5. **Mark as promoted in feedback-patterns.md:**
165
+ Update the pattern's row:
166
+ - Set "Promoted To" column to `decisions.md`
167
+ - Set "Status" column to `PROMOTED`
168
+ - Or move to "Promotion History" section
169
+
170
+ ### Step 4: Update Request Log
171
+
172
+ ```markdown
173
+ ### R-[NNN] | [YYYY-MM-DD HH:MM]
174
+ **Type**: change
175
+ **Tags**: #learning #decisions #pattern-promotion
176
+ **Request**: "Promote pattern: [pattern-name]"
177
+ **Result**: Pattern promoted to decisions.md ([section]). [N] patterns reviewed.
178
+ **Files**: `.workflow/state/decisions.md`, `.workflow/state/feedback-patterns.md`
179
+ ```
180
+
181
+ ### Step 5: Summary
182
+
183
+ ```
184
+ Learning Summary:
185
+ - Patterns reviewed: N
186
+ - Patterns promoted: M
187
+ - New rules added to decisions.md: M
188
+
189
+ These rules will be enforced in future code reviews and task execution.
190
+ ```
191
+
192
+ ## Edge Cases
193
+
194
+ ### No patterns to promote
195
+ ```
196
+ No patterns to promote.
197
+
198
+ Patterns are recorded during:
199
+ - Code reviews (/wogi-review)
200
+ - Corrections (/wogi-correction)
201
+ - Standards compliance checks
202
+
203
+ As patterns accumulate (count >= 3), they become eligible for promotion.
204
+ ```
205
+
206
+ ### All patterns already promoted
207
+ ```
208
+ All qualifying patterns have already been promoted to decisions.md.
209
+
210
+ Monitoring [N] patterns with count < 3. They'll become eligible as occurrences increase.
211
+ ```
212
+
213
+ ## Options
214
+
215
+ - `--all` — Bulk promote all patterns with count >= threshold
216
+ - `--threshold N` — Override promotion threshold (default: 3, minimum: 2). Values below 2 are rejected to prevent noise promotion.
217
+ - `--quick` — Skip individual confirmation prompts, but still display count and require final confirmation: "About to promote N patterns — confirm? [Y/n]"
218
+
219
+ ## Configuration
220
+
221
+ In `config.json`:
222
+ ```json
223
+ {
224
+ "learning": {
225
+ "promotionThreshold": 3,
226
+ "autoPromoteEnabled": false,
227
+ "requireUserConfirmation": true
228
+ }
229
+ }
230
+ ```
231
+
232
+ ## Files
233
+
234
+ | Action | File |
235
+ |--------|------|
236
+ | Read | `.workflow/state/feedback-patterns.md` |
237
+ | Read | `.workflow/state/decisions.md` |
238
+ | Read | `.workflow/corrections/*.md` |
239
+ | Read | `.workflow/state/request-log.md` (for incident mode) |
240
+ | Write | `.workflow/state/decisions.md` (new rules) |
241
+ | Write | `.workflow/state/feedback-patterns.md` (mark promoted) |
242
+ | Write | `.workflow/state/request-log.md` (log entry) |
@@ -0,0 +1,241 @@
1
+ Guided session retrospective that extracts lessons from recent work. Invoke when user says "let's do a retro", "what went well", "what can we improve", or "lessons learned".
2
+
3
+ ## Usage
4
+
5
+ ```bash
6
+ /wogi-retrospective # Full retrospective
7
+ /wogi-retrospective --quick # Quick summary + one question
8
+ ```
9
+
10
+ ## Trigger Phrases
11
+
12
+ Auto-routed from `/wogi-start` when user says:
13
+ - "let's do a retro"
14
+ - "what went well"
15
+ - "what can we improve"
16
+ - "session retrospective"
17
+ - "lessons learned"
18
+
19
+ ## How It Works
20
+
21
+ ### Step 0: Check for Session History
22
+
23
+ Read `.workflow/state/request-log.md` and check for recent entries (since last session end or last retro).
24
+
25
+ **If no recent work:**
26
+ ```
27
+ No recent work to reflect on.
28
+
29
+ Start working with `/wogi-start` first, then run a retro
30
+ after completing some tasks.
31
+ ```
32
+ Stop here.
33
+
34
+ ### Step 1: Gather Session Data
35
+
36
+ Read these files to build a session picture:
37
+
38
+ 1. **`.workflow/state/request-log.md`** — Recent entries (since last session end marker or last 10 entries)
39
+ - Extract: task IDs, types, results, files changed
40
+ 2. **`.workflow/state/last-review.json`** — Last review findings (if exists)
41
+ - Extract: finding count, severities, categories
42
+ 3. **`.workflow/corrections/`** — Recent correction reports
43
+ - Extract: patterns, root causes, lessons
44
+ 4. **`.workflow/state/feedback-patterns.md`** — Recurring patterns
45
+ - Extract: high-count patterns, recently added patterns
46
+ 5. **`.workflow/state/ready.json`** — Task completion data
47
+ - Extract: recently completed tasks, in-progress tasks
48
+
49
+ ### Step 2: Present Session Summary
50
+
51
+ ```
52
+ Session Retrospective
53
+ =====================
54
+
55
+ Completed Work:
56
+ - [N] tasks completed
57
+ - [List task titles from request-log/ready.json recentlyCompleted]
58
+
59
+ Issues Found:
60
+ - [N] review findings ([X] critical, [Y] high, [Z] medium)
61
+ - [N] corrections recorded
62
+ - [List significant issues]
63
+
64
+ Emerging Patterns:
65
+ - [Pattern name] ([N] occurrences) — [description]
66
+ - [Pattern name] ([N] occurrences) — [description]
67
+
68
+ Workflow Health:
69
+ - Bypass attempts: [N] (from session context)
70
+ - Tasks completed via workflow: [N]
71
+ ```
72
+
73
+ ### Step 3: Guided Reflection Questions
74
+
75
+ Use `AskUserQuestion` to ask reflection questions. Ask 2-3 questions max based on what's relevant:
76
+
77
+ **Always ask:**
78
+ 1. "What went well this session that we should keep doing?"
79
+ - Options: specific things user can select, plus "Other" for free text
80
+
81
+ **Ask if issues were found:**
82
+ 2. "What was frustrating or could be improved?"
83
+ - Options: based on actual issues found in the data
84
+
85
+ **Ask if patterns are emerging:**
86
+ 3. "Any conventions or rules that should be established from this session?"
87
+ - Options: based on patterns near promotion threshold
88
+
89
+ **Ask if rule violations occurred:**
90
+ 4. "Did any existing rules get violated that need strengthening?"
91
+ - Options: based on review findings matching decisions.md rules
92
+
93
+ **Maximum 3 questions per retro. Priority order when all conditions apply:**
94
+ 1. Q1 (always — "what went well")
95
+ 2. Q4 (violations — most actionable)
96
+ 3. Q3 (patterns — near promotion)
97
+ 4. Q2 (frustrations — least actionable)
98
+
99
+ **Pick top 3 by this priority order.**
100
+
101
+ ### Step 4: Process Responses and Capture Lessons
102
+
103
+ For each user response, classify and route:
104
+
105
+ | Response Type | Action |
106
+ |---------------|--------|
107
+ | New rule/convention | Route to `/wogi-decide` flow |
108
+ | Pattern to promote | Route to `/wogi-learn` flow |
109
+ | Process improvement | Add to `feedback-patterns.md` |
110
+ | Positive feedback | Acknowledge and note in retro summary |
111
+ | Specific fix needed | Create task in `ready.json` backlog |
112
+
113
+ ### Step 5: Save Retro Summary
114
+
115
+ Create `.workflow/reviews/retro-YYYY-MM-DD-HHMMSS.md` (include time to avoid same-day collisions):
116
+
117
+ ```markdown
118
+ # Session Retrospective — YYYY-MM-DD
119
+
120
+ ## Session Summary
121
+ - Tasks completed: N
122
+ - Issues found: N (X critical, Y high)
123
+ - Corrections: N
124
+ - Bypass attempts: N
125
+
126
+ ## Completed Work
127
+ - [task-id]: [title] — [result]
128
+ - [task-id]: [title] — [result]
129
+
130
+ ## Issues & Patterns
131
+ - [issue/pattern summary]
132
+
133
+ ## Reflection
134
+ ### What went well
135
+ [User's response]
136
+
137
+ ### What could improve
138
+ [User's response]
139
+
140
+ ### Actions Taken
141
+ - [Action 1]: [what was done — rule created / pattern promoted / task created]
142
+ - [Action 2]: [what was done]
143
+
144
+ ## Metrics
145
+ - Review findings resolved: N/M
146
+ - Patterns promoted: N
147
+ - New rules created: N
148
+ ```
149
+
150
+ ### Step 6: Update Request Log
151
+
152
+ ```markdown
153
+ ### R-[NNN] | [YYYY-MM-DD HH:MM]
154
+ **Type**: new
155
+ **Tags**: #retro #learning
156
+ **Request**: "Session retrospective"
157
+ **Result**: Retro completed. [N] lessons captured. [M] actions taken.
158
+ **Files**: `.workflow/reviews/retro-YYYY-MM-DD-HHMMSS.md`
159
+ ```
160
+
161
+ ### Step 7: Closing
162
+
163
+ ```
164
+ Retrospective Complete
165
+
166
+ Summary saved to: .workflow/reviews/retro-YYYY-MM-DD-HHMMSS.md
167
+
168
+ Actions taken:
169
+ - [N] new rules created (via /wogi-decide)
170
+ - [N] patterns promoted (via /wogi-learn)
171
+ - [N] improvement items captured
172
+ - [N] tasks created for fixes
173
+
174
+ Next session will benefit from these learnings.
175
+ ```
176
+
177
+ ---
178
+
179
+ ## Quick Retrospective (`--quick`)
180
+
181
+ When invoked with `--quick`:
182
+
183
+ 1. Read the same data sources (Step 1)
184
+ 2. Display abbreviated summary:
185
+
186
+ ```
187
+ Quick Retro
188
+ ===========
189
+ Completed: [N] tasks
190
+ Issues: [N] findings
191
+ Bypasses: [N]
192
+ ```
193
+
194
+ 3. Ask one question:
195
+
196
+ ```
197
+ Anything to capture before we move on?
198
+ 1. No, all good
199
+ 2. Yes, I want to add a rule
200
+ 3. Yes, I want to note a pattern
201
+ 4. Yes, I have feedback
202
+ ```
203
+
204
+ 4. Route response and save minimal retro file
205
+ 5. Done
206
+
207
+ ---
208
+
209
+ ## Options
210
+
211
+ - `--quick` — Abbreviated flow: summary + one question
212
+ - `--since YYYY-MM-DD` — Retro for work since specific date. **Validate**: must match `/^\d{4}-\d{2}-\d{2}$/`. Reject any other format.
213
+ - `--no-save` — Don't save retro file (just display)
214
+
215
+ ## Configuration
216
+
217
+ In `config.json`:
218
+ ```json
219
+ {
220
+ "retrospective": {
221
+ "maxQuestions": 3,
222
+ "autoSuggestRules": true,
223
+ "saveReviewFile": true,
224
+ "quickModeDefault": false
225
+ }
226
+ }
227
+ ```
228
+
229
+ ## Files
230
+
231
+ | Action | File |
232
+ |--------|------|
233
+ | Read | `.workflow/state/request-log.md` |
234
+ | Read | `.workflow/state/last-review.json` |
235
+ | Read | `.workflow/corrections/*.md` |
236
+ | Read | `.workflow/state/feedback-patterns.md` |
237
+ | Read | `.workflow/state/ready.json` |
238
+ | Write | `.workflow/reviews/retro-YYYY-MM-DD-HHMMSS.md` |
239
+ | Write | `.workflow/state/request-log.md` |
240
+ | May invoke | `/wogi-decide` (for new rules) |
241
+ | May invoke | `/wogi-learn` (for pattern promotions) |