wogiflow 2.3.0 → 2.3.2
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.
|
@@ -148,6 +148,22 @@ This means after creating an epic with stories, you don't need to manually start
|
|
|
148
148
|
|
|
149
149
|
**To disable**: Set `config.bulkOrchestrator.enabled: false`
|
|
150
150
|
|
|
151
|
+
## Anti-Deferral Rule (MANDATORY)
|
|
152
|
+
|
|
153
|
+
**When creating an epic from user input, EVERY item the user provided MUST become a tracked story.**
|
|
154
|
+
|
|
155
|
+
You must NEVER:
|
|
156
|
+
- Create stories for items 1-5 and silently skip items 6-9 because you judged them as "enhancements"
|
|
157
|
+
- Label items as "deferred" or "long-term" and exclude them from the epic
|
|
158
|
+
- Apply your own priority filter to decide which items deserve tasks
|
|
159
|
+
|
|
160
|
+
You MAY:
|
|
161
|
+
- Assign different priorities (P0/P1/P2/P3) to stories — but ALL items get stories
|
|
162
|
+
- Suggest an execution order — but ALL items are tracked in the epic
|
|
163
|
+
- Ask the user "Should I defer items 6-9?" — explicit user consent is the ONLY valid reason to exclude items
|
|
164
|
+
|
|
165
|
+
**If the user provides 9 items, the epic MUST contain 9 stories (or items grouped into stories where every item appears as an acceptance criterion). Verify this with a reconciliation count before proceeding.**
|
|
166
|
+
|
|
151
167
|
## Tips
|
|
152
168
|
|
|
153
169
|
- **Start with epics for major features** - Break down into stories before implementation
|
|
@@ -67,9 +67,11 @@ When invoked with a **quoted request** instead of a task ID, assess intent and r
|
|
|
67
67
|
|
|
68
68
|
### Request Categories
|
|
69
69
|
|
|
70
|
-
**Conversational follow-ups** ("yes", "go ahead", "option 2", "no", "skip that"):
|
|
70
|
+
**Conversational follow-ups** ("yes", "go ahead", "continue", "option 2", "no", "skip that"):
|
|
71
71
|
Look back at conversation for the pending question/proposal. Execute the implied action (affirmative) or acknowledge and ask what to do instead (negative).
|
|
72
72
|
|
|
73
|
+
**"Continue" after task completion**: When the user says "continue" after a task finishes and there are more tasks in `ready.json` → **start the next task immediately**. Do NOT invoke `/wogi-pre-compact`, do NOT output a compaction summary, do NOT ask about context. Just start the next task. Compaction is the system's job — it happens automatically when needed.
|
|
74
|
+
|
|
73
75
|
**Failed local `/wogi-*` command** (error output containing a `/wogi-*` command name):
|
|
74
76
|
When a local `/wogi-*` CLI command fails (error in output, "Unknown skill", command not found), the AI MUST:
|
|
75
77
|
1. **Stop current work** — user actions always take priority over in-progress AI work
|
|
@@ -192,6 +194,8 @@ Item Reconciliation:
|
|
|
192
194
|
|
|
193
195
|
**Skip when**: Input has only 1-2 items, or is a task ID reference.
|
|
194
196
|
|
|
197
|
+
**ANTI-DEFERRAL ENFORCEMENT**: After reconciliation, verify ALL items became tasks/criteria. If you find yourself writing "deferred", "skipped", or "not created" for ANY item — STOP. You are violating the anti-deferral rule. The user provided these items for a reason. Create tasks for ALL of them. You may suggest priority ordering (P0-P3), but you must NEVER autonomously filter items out. A large ready queue is correct behavior. A filtered queue is data loss that breaks the user's trust.
|
|
198
|
+
|
|
195
199
|
### Step 1.3: Explore Phase (MANDATORY Multi-Agent Research)
|
|
196
200
|
|
|
197
201
|
**For L2+ tasks. Research is MANDATORY** — do NOT skip even if you think you know the answer.
|
|
@@ -497,7 +501,7 @@ Reflection: "Have I introduced any bugs or regressions?"
|
|
|
497
501
|
|
|
498
502
|
**Quality gate keeps failing**: Report, attempt fix, after 3 failures suggest `/wogi-debug-hypothesis`.
|
|
499
503
|
|
|
500
|
-
**Context too large**: When `config.autoCompact.betweenTasks` is true (default), compact AUTOMATICALLY between tasks — do NOT ask the user
|
|
504
|
+
**Context too large**: When `config.autoCompact.betweenTasks` is true (default), compact AUTOMATICALLY between tasks — do NOT ask the user, do NOT show a summary, do NOT invoke `/wogi-pre-compact`. Just compact silently and continue with the next task. The PostCompact hook restores all state automatically. Mid-task: commit progress, compact silently, resume from checkpoint. The user should never see compaction happen — it's invisible infrastructure.
|
|
501
505
|
|
|
502
506
|
## Progress Tracking (MANDATORY for L1+ tasks)
|
|
503
507
|
|
|
@@ -191,6 +191,31 @@ cat .workflow/state/decisions.md # Project rules
|
|
|
191
191
|
|
|
192
192
|
**These apply to ALL implementation work:**
|
|
193
193
|
|
|
194
|
+
### Anti-Deferral Rule (MANDATORY — ZERO TOLERANCE)
|
|
195
|
+
|
|
196
|
+
**You MUST NEVER autonomously defer, skip, deprioritize, or drop items from the user's input.**
|
|
197
|
+
|
|
198
|
+
If the user provides N items, ALL N must become tracked work items. No exceptions. No judgment calls about what's "important" vs. "enhancement" vs. "long-term."
|
|
199
|
+
|
|
200
|
+
**Anti-Deferral Checklist** — If ANY of these thoughts cross your mind, you are about to drop items:
|
|
201
|
+
- "Items 6-9 are enhancements, I'll focus on the fixes first" → WRONG. Create tasks for ALL items.
|
|
202
|
+
- "This one was labeled 'long-term' by the team" → WRONG. Track it. The user decides when to execute, not you.
|
|
203
|
+
- "I'll defer these as lower priority" → WRONG. You may SUGGEST a priority order, but every item must be a tracked task.
|
|
204
|
+
- "The ready queue would be too large" → WRONG. A large queue is correct. A filtered queue is data loss.
|
|
205
|
+
- "I already created the important ones" → WRONG. Important is not your call. Create ALL of them.
|
|
206
|
+
|
|
207
|
+
**What you MAY do:**
|
|
208
|
+
- Suggest a priority order (P0/P1/P2/P3) — but ALL items get tasks regardless of priority
|
|
209
|
+
- Group related items into stories — but every item must appear as a criterion in at least one story
|
|
210
|
+
- Ask the user to confirm scope — but do NOT preemptively filter
|
|
211
|
+
|
|
212
|
+
**What you must NEVER do:**
|
|
213
|
+
- Silently drop items because you judged them as "enhancements" or "nice-to-haves"
|
|
214
|
+
- Create tasks for only a subset of items without explicit user approval to defer the rest
|
|
215
|
+
- Use words like "deferred", "skipped", or "not created" for items the user provided
|
|
216
|
+
|
|
217
|
+
**This rule applies everywhere**: `/wogi-start`, `/wogi-story`, `/wogi-epics`, `/wogi-extract-review`, and any other command that converts user input into tracked work.
|
|
218
|
+
|
|
194
219
|
### Task ID Format (MANDATORY)
|
|
195
220
|
|
|
196
221
|
All task IDs MUST be generated by `generateTaskId()` from `wogiflow/scripts/flow-utils.js`. **Never manually type a task ID.**
|
|
@@ -282,7 +307,11 @@ Before closing any task, ensure all required gates pass (per `config.json → qu
|
|
|
282
307
|
|
|
283
308
|
## Context Management
|
|
284
309
|
|
|
285
|
-
Context compaction happens automatically
|
|
310
|
+
Context compaction happens **automatically and silently**. The user must NEVER be bothered with compaction. WogiFlow persists all critical state to disk continuously, and the PostCompact hook restores it after compaction.
|
|
311
|
+
|
|
312
|
+
**NEVER invoke `/wogi-pre-compact` proactively.** Only run it when the user explicitly asks to compact or save context. When the user says "continue", "go ahead", or "keep going" — that means **start the next task**, not compact. Compaction is the SYSTEM's job, not yours.
|
|
313
|
+
|
|
314
|
+
**Anti-pattern you MUST avoid**: User says "continue" → you decide context is getting large → you invoke `/wogi-pre-compact` → you output a long summary → you ask the user to `/compact`. This is WRONG. The user said "continue" — start the next task immediately.
|
|
286
315
|
|
|
287
316
|
**What survives compaction automatically** (via PostCompact hook + state files):
|
|
288
317
|
- Active task ID, title, type, and acceptance criteria
|
|
@@ -292,9 +321,13 @@ Context compaction happens automatically — WogiFlow persists all critical stat
|
|
|
292
321
|
- Last request-log entry number
|
|
293
322
|
- Routing enforcement (re-armed automatically)
|
|
294
323
|
|
|
295
|
-
|
|
324
|
+
**When auto-compaction triggers mid-session**: The system handles it. The PostCompact hook reloads state. You resume working on the next task from `ready.json`. No user interaction needed.
|
|
325
|
+
|
|
326
|
+
**The ONLY times to invoke `/wogi-pre-compact`**:
|
|
327
|
+
- User explicitly says "compact", "save context", or "running low on context"
|
|
328
|
+
- `config.autoCompact.betweenTasks` is true AND you're between tasks AND context is above threshold — but even then, just compact silently and continue, don't ask
|
|
296
329
|
|
|
297
|
-
**For L1+ tasks**: The pre-task context estimator (Step 0.25) checks if the task fits in remaining context. If it doesn't → compact
|
|
330
|
+
**For L1+ tasks**: The pre-task context estimator (Step 0.25) checks if the task fits in remaining context. If it doesn't → compact silently and continue, do NOT ask the user.
|
|
298
331
|
|
|
299
332
|
## Compact Instructions
|
|
300
333
|
|