Update Change V04.1.0: Proposal
@@ -1,197 +1,198 @@
|
|||||||
> **Type:** Change Proposal
|
> **Type:** Change Proposal
|
||||||
> **Version:** V03.2.0
|
> **Version:** V04.1.0
|
||||||
> **Plugin:** projman
|
> **Plugin:** projman
|
||||||
> **Status:** Pending
|
> **Status:** Pending
|
||||||
> **Date:** 2026-01-25
|
> **Date:** 2026-01-25
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# Wiki-Based Planning Workflow Enhancement
|
# Wiki-Based Planning Workflow Enhancement
|
||||||
|
|
||||||
## Problem Statement
|
## Problem Statement
|
||||||
|
|
||||||
Currently, projman's sprint planning workflow has these limitations:
|
Currently, projman's sprint planning workflow has these limitations:
|
||||||
|
|
||||||
1. **Confusion between planning docs and documentation** - Planning documents in `docs/changes/` can be confused with regular project documentation
|
1. **Confusion between planning docs and documentation** - Planning documents in `docs/changes/` can be confused with regular project documentation
|
||||||
2. **Lost planning context** - Once issues are created, the original planning rationale may be lost or disconnected
|
2. **Lost planning context** - Once issues are created, the original planning rationale may be lost or disconnected
|
||||||
3. **No iteration tracking** - When a feature requires multiple attempts, there's no structured way to track each implementation
|
3. **No iteration tracking** - When a feature requires multiple attempts, there's no structured way to track each implementation
|
||||||
4. **Fragmented audit trail** - The path from idea → planning → implementation → lessons is not clearly linked
|
4. **Fragmented audit trail** - The path from idea → planning → implementation → lessons is not clearly linked
|
||||||
|
|
||||||
## Proposed Solution
|
## Proposed Solution
|
||||||
|
|
||||||
Integrate wiki-based change proposals into the projman workflow, creating a structured system for tracking planning documents separately from regular documentation.
|
Integrate wiki-based change proposals into the projman workflow, creating a structured system for tracking planning documents separately from regular documentation.
|
||||||
|
|
||||||
### Wiki Structure
|
### Wiki Structure
|
||||||
|
|
||||||
```
|
```
|
||||||
wiki/
|
wiki/
|
||||||
├── lessons-learned/
|
├── lessons-learned/
|
||||||
│ └── sprints/ # Existing
|
│ └── sprints/ # Existing
|
||||||
│ ├── sprint-17.md
|
│ ├── sprint-17.md
|
||||||
│ └── sprint-18.md
|
│ └── sprint-18.md
|
||||||
└── changes/ # NEW
|
└── changes/ # NEW
|
||||||
├── v03.2.0/
|
└── v04.0.0/
|
||||||
│ ├── proposal.md
|
├── proposal.md
|
||||||
│ └── implementation-1.md
|
└── implementation-1.md
|
||||||
└── v04.0.0/
|
└── v04.1.0/
|
||||||
├── proposal.md
|
├── proposal.md
|
||||||
└── implementation-1.md
|
└── implementation-1.md
|
||||||
```
|
|
||||||
|
```
|
||||||
### Page Naming Convention
|
|
||||||
|
### Page Naming Convention
|
||||||
| Type | Pattern | Example |
|
|
||||||
|------|---------|---------|
|
| Type | Pattern | Example |
|
||||||
| Proposal | `Change VXX.X.X: Proposal` | Change V03.2.0: Proposal |
|
|------|---------|---------|
|
||||||
| Implementation | `Change VXX.X.X: Proposal (Implementation N)` | Change V03.2.0: Proposal (Implementation 1) |
|
| Proposal | `Change VXX.X.X: Proposal` | Change V04.0.0: Proposal |
|
||||||
|
| Implementation | `Change VXX.X.X: Proposal (Implementation N)` | Change V04.1.0: Proposal (Implementation 1) |
|
||||||
### Tagging System
|
|
||||||
|
### Tagging System
|
||||||
**For Proposals:**
|
|
||||||
```markdown
|
**For Proposals:**
|
||||||
> **Type:** Change Proposal
|
```markdown
|
||||||
> **Version:** VXX.X.X
|
> **Type:** Change Proposal
|
||||||
> **Plugin:** plugin-name (optional)
|
> **Version:** VXX.X.X
|
||||||
> **Status:** Pending | In Progress | Implemented | Abandoned
|
> **Plugin:** plugin-name (optional)
|
||||||
> **Date:** YYYY-MM-DD
|
> **Status:** Pending | In Progress | Implemented | Abandoned
|
||||||
|
> **Date:** YYYY-MM-DD
|
||||||
## Implementations
|
|
||||||
- [Implementation 1](link) - description
|
## Implementations
|
||||||
```
|
- [Implementation 1](link) - description
|
||||||
|
```
|
||||||
**For Implementations:**
|
|
||||||
```markdown
|
**For Implementations:**
|
||||||
> **Type:** Change Proposal Implementation
|
```markdown
|
||||||
> **Version:** VXX.X.X
|
> **Type:** Change Proposal Implementation
|
||||||
> **Status:** In Progress | Implemented | Failed
|
> **Version:** VXX.X.X
|
||||||
> **Date:** YYYY-MM-DD
|
> **Status:** In Progress | Implemented | Failed
|
||||||
> **Origin:** [Proposal Link](link)
|
> **Date:** YYYY-MM-DD
|
||||||
> **Sprint:** Sprint XX (optional)
|
> **Origin:** [Proposal Link](link)
|
||||||
```
|
> **Sprint:** Sprint XX (optional)
|
||||||
|
```
|
||||||
## Enhanced Workflow
|
|
||||||
|
## Enhanced Workflow
|
||||||
### /sprint-plan (Enhanced)
|
|
||||||
|
### /sprint-plan (Enhanced)
|
||||||
```
|
|
||||||
┌─────────────────────────────────────────────────────────────────┐
|
```
|
||||||
│ PREPARATION PHASE │
|
┌─────────────────────────────────────────────────────────────────┐
|
||||||
│ User creates: docs/changes/v3.2.0-feature-description.md │
|
│ PREPARATION PHASE │
|
||||||
└─────────────────────────────────────────────────────────────────┘
|
│ User creates: docs/changes/v4.1.0-feature-description.md │
|
||||||
↓
|
└─────────────────────────────────────────────────────────────────┘
|
||||||
┌─────────────────────────────────────────────────────────────────┐
|
↓
|
||||||
│ /sprint-plan Execution │
|
┌─────────────────────────────────────────────────────────────────┐
|
||||||
│ │
|
│ /sprint-plan Execution │
|
||||||
│ 1. Validate branch, repo, labels (existing) │
|
│ │
|
||||||
│ 2. Read input document from docs/changes/ │
|
│ 1. Validate branch, repo, labels (existing) │
|
||||||
│ 3. Search lessons learned (existing) │
|
│ 2. Read input document from docs/changes/ │
|
||||||
│ 4. Create/Update wiki: "Change VXX.X.X: Proposal" │
|
│ 3. Search lessons learned (existing) │
|
||||||
│ - If new version: create proposal page │
|
│ 4. Create/Update wiki: "Change VXX.X.X: Proposal" │
|
||||||
│ - If exists: add new implementation link │
|
│ - If new version: create proposal page │
|
||||||
│ 5. Create wiki: "Change VXX.X.X: Proposal (Implementation N)" │
|
│ - If exists: add new implementation link │
|
||||||
│ - Tags: Type, Version, Status=In Progress, Date, Origin │
|
│ 5. Create wiki: "Change VXX.X.X: Proposal (Implementation N)" │
|
||||||
│ - Content: migrated from input document │
|
│ - Tags: Type, Version, Status=In Progress, Date, Origin │
|
||||||
│ 6. Architecture analysis + clarifying questions (existing) │
|
│ - Content: migrated from input document │
|
||||||
│ 7. Create Gitea Issues with wiki implementation reference │
|
│ 6. Architecture analysis + clarifying questions (existing) │
|
||||||
│ 8. Delete local input file (single source of truth in wiki) │
|
│ 7. Create Gitea Issues with wiki implementation reference │
|
||||||
└─────────────────────────────────────────────────────────────────┘
|
│ 8. Delete local input file (single source of truth in wiki) │
|
||||||
```
|
└─────────────────────────────────────────────────────────────────┘
|
||||||
|
```
|
||||||
### /sprint-close (Enhanced)
|
|
||||||
|
### /sprint-close (Enhanced)
|
||||||
```
|
|
||||||
┌─────────────────────────────────────────────────────────────────┐
|
```
|
||||||
│ /sprint-close Execution │
|
┌─────────────────────────────────────────────────────────────────┐
|
||||||
│ │
|
│ /sprint-close Execution │
|
||||||
│ 1. Verify all issues closed (existing) │
|
│ │
|
||||||
│ 2. Capture lessons learned (existing) │
|
│ 1. Verify all issues closed (existing) │
|
||||||
│ 3. Update wiki implementation page: │
|
│ 2. Capture lessons learned (existing) │
|
||||||
│ - Status: Implemented │
|
│ 3. Update wiki implementation page: │
|
||||||
│ - Link to lessons learned │
|
│ - Status: Implemented │
|
||||||
│ 4. Update wiki proposal page: │
|
│ - Link to lessons learned │
|
||||||
│ - Update implementation status │
|
│ 4. Update wiki proposal page: │
|
||||||
│ - Update overall status if all implementations complete │
|
│ - Update implementation status │
|
||||||
└─────────────────────────────────────────────────────────────────┘
|
│ - Update overall status if all implementations complete │
|
||||||
```
|
└─────────────────────────────────────────────────────────────────┘
|
||||||
|
```
|
||||||
## Traceability Chain
|
|
||||||
|
## Traceability Chain
|
||||||
```
|
|
||||||
Input Document (local, temporary)
|
```
|
||||||
↓ [migrated by sprint-plan]
|
Input Document (local, temporary)
|
||||||
Wiki Proposal (persistent)
|
↓ [migrated by sprint-plan]
|
||||||
↓ [created by sprint-plan]
|
Wiki Proposal (persistent)
|
||||||
Wiki Implementation (versioned)
|
↓ [created by sprint-plan]
|
||||||
↓ [created by sprint-plan]
|
Wiki Implementation (versioned)
|
||||||
Gitea Issues (with wiki reference)
|
↓ [created by sprint-plan]
|
||||||
↓ [execution]
|
Gitea Issues (with wiki reference)
|
||||||
Git Commits (with issue reference)
|
↓ [execution]
|
||||||
↓ [captured by sprint-close]
|
Git Commits (with issue reference)
|
||||||
Lessons Learned (linked to implementation)
|
↓ [captured by sprint-close]
|
||||||
```
|
Lessons Learned (linked to implementation)
|
||||||
|
```
|
||||||
## Benefits
|
|
||||||
|
## Benefits
|
||||||
| Benefit | Description |
|
|
||||||
|---------|-------------|
|
| Benefit | Description |
|
||||||
| **Separation of Concerns** | Planning docs clearly distinct from project documentation |
|
|---------|-------------|
|
||||||
| **Full Traceability** | Clear path from idea to lessons learned |
|
| **Separation of Concerns** | Planning docs clearly distinct from project documentation |
|
||||||
| **Iteration Support** | Multiple implementations per proposal |
|
| **Full Traceability** | Clear path from idea to lessons learned |
|
||||||
| **Single Source of Truth** | Wiki is authoritative, local files are temporary |
|
| **Iteration Support** | Multiple implementations per proposal |
|
||||||
| **Historical Record** | Easy to review what was planned vs implemented |
|
| **Single Source of Truth** | Wiki is authoritative, local files are temporary |
|
||||||
| **Cross-Version Learning** | Lessons linked to specific implementations |
|
| **Historical Record** | Easy to review what was planned vs implemented |
|
||||||
|
| **Cross-Version Learning** | Lessons linked to specific implementations |
|
||||||
## Implementation Phases
|
|
||||||
|
## Implementation Phases
|
||||||
| Phase | Scope | Effort |
|
|
||||||
|-------|-------|--------|
|
| Phase | Scope | Effort |
|
||||||
| **Phase 1** | Add wiki proposal/implementation creation to `/sprint-plan` | M |
|
|-------|-------|--------|
|
||||||
| **Phase 2** | Add wiki status updates to `/sprint-close` | S |
|
| **Phase 1** | Add wiki proposal/implementation creation to `/sprint-plan` | M |
|
||||||
| **Phase 3** | Add cross-linking (issues ↔ wiki, lessons ↔ implementation) | M |
|
| **Phase 2** | Add wiki status updates to `/sprint-close` | S |
|
||||||
| **Phase 4** | Add `/proposal-status` command for viewing proposal tree | S |
|
| **Phase 3** | Add cross-linking (issues ↔ wiki, lessons ↔ implementation) | M |
|
||||||
|
| **Phase 4** | Add `/proposal-status` command for viewing proposal tree | S |
|
||||||
## MCP Tools Required
|
|
||||||
|
## MCP Tools Required
|
||||||
All tools already exist in the Gitea MCP server:
|
|
||||||
- `list_wiki_pages` - Check existing proposals
|
All tools already exist in the Gitea MCP server:
|
||||||
- `get_wiki_page` - Read proposal/implementation content
|
- `list_wiki_pages` - Check existing proposals
|
||||||
- `create_wiki_page` - Create new proposal/implementation
|
- `get_wiki_page` - Read proposal/implementation content
|
||||||
- `update_wiki_page` - Update status, add links
|
- `create_wiki_page` - Create new proposal/implementation
|
||||||
|
- `update_wiki_page` - Update status, add links
|
||||||
## Affected Files
|
|
||||||
|
## Affected Files
|
||||||
| File | Changes |
|
|
||||||
|------|---------|
|
| File | Changes |
|
||||||
| `plugins/projman/commands/sprint-plan.md` | Add wiki workflow steps |
|
|------|---------|
|
||||||
| `plugins/projman/commands/sprint-close.md` | Add wiki status updates |
|
| `plugins/projman/commands/sprint-plan.md` | Add wiki workflow steps |
|
||||||
| `plugins/projman/agents/planner.md` | Include wiki workflow in planning |
|
| `plugins/projman/commands/sprint-close.md` | Add wiki status updates |
|
||||||
| `plugins/projman/agents/orchestrator.md` | Include wiki updates in close |
|
| `plugins/projman/agents/planner.md` | Include wiki workflow in planning |
|
||||||
| `plugins/projman/README.md` | Document wiki workflow |
|
| `plugins/projman/agents/orchestrator.md` | Include wiki updates in close |
|
||||||
|
| `plugins/projman/README.md` | Document wiki workflow |
|
||||||
## Open Questions
|
|
||||||
|
## Open Questions
|
||||||
1. **Version vs Sprint numbering** - What if a sprint doesn't have a version change?
|
|
||||||
- Option A: Use sprint number (Change Sprint-17: Proposal)
|
1. **Version vs Sprint numbering** - What if a sprint doesn't have a version change?
|
||||||
- Option B: Always require version (even patch versions)
|
- Option A: Use sprint number (Change Sprint-17: Proposal)
|
||||||
|
- Option B: Always require version (even patch versions)
|
||||||
2. **Multi-feature sprints** - How to handle sprints with multiple unrelated features?
|
|
||||||
- Option A: One proposal per feature
|
2. **Multi-feature sprints** - How to handle sprints with multiple unrelated features?
|
||||||
- Option B: Group under sprint proposal
|
- Option A: One proposal per feature
|
||||||
|
- Option B: Group under sprint proposal
|
||||||
3. **Input document format** - Should we standardize the input document structure?
|
|
||||||
- Suggested: Frontmatter with version, title, description
|
3. **Input document format** - Should we standardize the input document structure?
|
||||||
|
- Suggested: Frontmatter with version, title, description
|
||||||
## Success Criteria
|
|
||||||
|
## Success Criteria
|
||||||
- [ ] Sprint planning creates wiki proposal and implementation pages
|
|
||||||
- [ ] Sprint close updates wiki statuses
|
- [ ] Sprint planning creates wiki proposal and implementation pages
|
||||||
- [ ] Issues reference wiki implementation in description
|
- [ ] Sprint close updates wiki statuses
|
||||||
- [ ] Lessons learned link back to implementation
|
- [ ] Issues reference wiki implementation in description
|
||||||
- [ ] Local input files are deleted after wiki migration
|
- [ ] Lessons learned link back to implementation
|
||||||
- [ ] `/proposal-status` shows proposal/implementation tree
|
- [ ] Local input files are deleted after wiki migration
|
||||||
|
- [ ] `/proposal-status` shows proposal/implementation tree
|
||||||
---
|
|
||||||
|
---
|
||||||
## Implementations
|
|
||||||
|
## Implementations
|
||||||
*No implementations yet.*
|
|
||||||
|
*No implementations yet.*
|
||||||
Reference in New Issue
Block a user