Update Change V04.1.0: Proposal

2026-01-26 14:24:28 +00:00
parent 6e2febc093
commit 0b538aebbd

@@ -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.*