docs(10.1): create phase plan
Phase 10.1: Aggressive Workflow Modularization - 5 plan(s) in 3 wave(s) - Wave 1: Foundation (rename files, analyze boundaries, user approval) - Wave 2: 3 parallel extractions (batch-ui, status, confirmation) - Wave 3: Integration verification and UAT - Ready for execution Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,173 @@
|
||||
---
|
||||
phase: 10.1-aggressive-workflow-modularization
|
||||
plan: 01
|
||||
type: execute
|
||||
wave: 1
|
||||
depends_on: []
|
||||
files_modified:
|
||||
- n8n-container-update.json
|
||||
- n8n-container-actions.json
|
||||
- n8n-container-logs.json
|
||||
- n8n-update.json
|
||||
- n8n-actions.json
|
||||
- n8n-logs.json
|
||||
autonomous: false
|
||||
|
||||
must_haves:
|
||||
truths:
|
||||
- "Existing sub-workflows renamed to shorter pattern"
|
||||
- "Domain boundaries analyzed and documented"
|
||||
- "User has approved extraction boundaries before work begins"
|
||||
artifacts:
|
||||
- path: "n8n-update.json"
|
||||
provides: "Renamed container update sub-workflow"
|
||||
contains: "Container Update"
|
||||
- path: "n8n-actions.json"
|
||||
provides: "Renamed container actions sub-workflow"
|
||||
contains: "Container Actions"
|
||||
- path: "n8n-logs.json"
|
||||
provides: "Renamed container logs sub-workflow"
|
||||
contains: "Container Logs"
|
||||
key_links:
|
||||
- from: "n8n-workflow.json"
|
||||
to: "sub-workflows"
|
||||
via: "Execute Workflow nodes unchanged (IDs stable)"
|
||||
pattern: "executeWorkflow"
|
||||
---
|
||||
|
||||
<objective>
|
||||
Rename existing sub-workflows to shorter naming pattern and analyze main workflow for optimal domain boundaries.
|
||||
|
||||
Purpose: Establish consistent naming convention and get user approval on extraction plan before modifying main workflow.
|
||||
Output: Renamed sub-workflow files, documented domain analysis, user-approved extraction boundaries.
|
||||
</objective>
|
||||
|
||||
<execution_context>
|
||||
@/home/luc/.claude/get-shit-done/workflows/execute-plan.md
|
||||
@/home/luc/.claude/get-shit-done/templates/summary.md
|
||||
</execution_context>
|
||||
|
||||
<context>
|
||||
@.planning/PROJECT.md
|
||||
@.planning/ROADMAP.md
|
||||
@.planning/STATE.md
|
||||
@.planning/phases/10.1-aggressive-workflow-modularization/10.1-CONTEXT.md
|
||||
@.planning/phases/10.1-aggressive-workflow-modularization/10.1-RESEARCH.md
|
||||
@n8n-workflow.json
|
||||
@n8n-container-update.json
|
||||
@n8n-container-actions.json
|
||||
@n8n-container-logs.json
|
||||
</context>
|
||||
|
||||
<tasks>
|
||||
|
||||
<task type="auto">
|
||||
<name>Task 1: Rename existing sub-workflows to shorter pattern</name>
|
||||
<files>
|
||||
n8n-container-update.json -> n8n-update.json
|
||||
n8n-container-actions.json -> n8n-actions.json
|
||||
n8n-container-logs.json -> n8n-logs.json
|
||||
</files>
|
||||
<action>
|
||||
Rename the three existing sub-workflow files to match the locked decision for shorter naming:
|
||||
- `git mv n8n-container-update.json n8n-update.json`
|
||||
- `git mv n8n-container-actions.json n8n-actions.json`
|
||||
- `git mv n8n-container-logs.json n8n-logs.json`
|
||||
|
||||
NOTE: The workflow IDs in n8n remain the same (assigned by n8n on import). Only the file names change.
|
||||
The main workflow's Execute Workflow nodes reference by ID, not filename, so no main workflow changes needed.
|
||||
</action>
|
||||
<verify>
|
||||
- `ls n8n-*.json` shows: n8n-workflow.json, n8n-update.json, n8n-actions.json, n8n-logs.json
|
||||
- `git status` shows renamed files
|
||||
- Old filenames no longer exist
|
||||
</verify>
|
||||
<done>Three sub-workflow files renamed to shorter pattern. Git tracks the renames.</done>
|
||||
</task>
|
||||
|
||||
<task type="auto">
|
||||
<name>Task 2: Analyze main workflow and document domain boundaries</name>
|
||||
<files>n8n-workflow.json (read only)</files>
|
||||
<action>
|
||||
Analyze the main workflow (192 nodes) to identify optimal extraction boundaries. For each candidate domain:
|
||||
|
||||
1. Count nodes in the domain
|
||||
2. Identify entry/exit points (which nodes connect to main workflow)
|
||||
3. Check for internal dependencies (does domain reference nodes outside itself?)
|
||||
4. Assess cohesion (does domain represent single user-facing outcome?)
|
||||
|
||||
Expected domains to analyze:
|
||||
- **Batch UI**: ~50 nodes (batch selection keyboard, navigation, toggle, execution dispatch)
|
||||
- **Container Status**: ~10-15 nodes (container list, pagination, status display)
|
||||
- **Confirmation**: ~15-20 nodes (stop confirmation, update confirmation, expiry handling)
|
||||
- **Telegram responses**: ~21 nodes (evaluate: does centralization add value?)
|
||||
|
||||
For each domain, document:
|
||||
- Node count
|
||||
- Entry nodes (where main workflow calls into domain)
|
||||
- Exit nodes (where domain returns to main workflow)
|
||||
- External dependencies (what data/nodes does domain need from outside?)
|
||||
- Extraction feasibility (yes/no with reasoning)
|
||||
|
||||
Create analysis output showing:
|
||||
1. Proposed extractions with node counts
|
||||
2. Expected main workflow node count after extraction
|
||||
3. Domains NOT recommended for extraction (with reasoning)
|
||||
4. Potential issues or complications
|
||||
</action>
|
||||
<verify>
|
||||
Analysis output includes:
|
||||
- At least 3 candidate domains evaluated
|
||||
- Node counts for each domain
|
||||
- Clear recommendation (extract vs keep)
|
||||
- Expected final main workflow size (target: 50-80 nodes)
|
||||
</verify>
|
||||
<done>Domain boundary analysis complete with extraction recommendations documented.</done>
|
||||
</task>
|
||||
|
||||
<task type="checkpoint:decision" gate="blocking">
|
||||
<decision>Approve domain boundaries for extraction</decision>
|
||||
<context>
|
||||
Before extracting domains to sub-workflows, user approval is needed on which domains to extract and how they should be structured. This is per CONTEXT.md: "Claude analyzes workflow and proposes optimal domain boundaries (user approves)".
|
||||
|
||||
The analysis from Task 2 will be presented with recommendations.
|
||||
</context>
|
||||
<options>
|
||||
<option id="approve">
|
||||
<name>Approve proposed boundaries</name>
|
||||
<pros>Proceed with extraction as analyzed</pros>
|
||||
<cons>None</cons>
|
||||
</option>
|
||||
<option id="modify">
|
||||
<name>Modify boundaries</name>
|
||||
<pros>User can adjust domain boundaries before extraction work</pros>
|
||||
<cons>May require re-analysis</cons>
|
||||
</option>
|
||||
<option id="skip-domain">
|
||||
<name>Skip specific domain(s)</name>
|
||||
<pros>Focus on highest-value extractions first</pros>
|
||||
<cons>Main workflow may not reach target node count</cons>
|
||||
</option>
|
||||
</options>
|
||||
<resume-signal>Review the domain analysis and respond: "approved", "modify: [changes]", or "skip: [domains]"</resume-signal>
|
||||
</task>
|
||||
|
||||
</tasks>
|
||||
|
||||
<verification>
|
||||
- [ ] Old filenames (n8n-container-*.json) no longer exist
|
||||
- [ ] New filenames (n8n-update.json, n8n-actions.json, n8n-logs.json) exist
|
||||
- [ ] Domain analysis documented with clear recommendations
|
||||
- [ ] User has approved extraction boundaries
|
||||
</verification>
|
||||
|
||||
<success_criteria>
|
||||
1. Sub-workflow files renamed to shorter pattern
|
||||
2. Domain boundary analysis complete
|
||||
3. User approval received for extraction plan
|
||||
4. Ready to proceed with domain extractions in Wave 2
|
||||
</success_criteria>
|
||||
|
||||
<output>
|
||||
After completion, create `.planning/phases/10.1-aggressive-workflow-modularization/10.1-01-SUMMARY.md`
|
||||
</output>
|
||||
Reference in New Issue
Block a user