Files
firefrost-operations-manual/docs/standards/task-documentation-standard.md
mkrause612 d0b84e3a80 Fix task standard references to match reality
Per fresh Claude review feedback:
"Standard references examples that don't exist:
- docs/tasks/whitelist-manager/ (NOW EXISTS)
- docs/tasks/frostwall-protocol/ (doesn't exist)
- docs/tasks/mailcow-email/ (doesn't exist)
- docs/standards/git-workflow.md (doesn't exist)
- docs/standards/naming-conventions.md (doesn't exist)
- docs/standards/code-style.md (doesn't exist)"

FIXES:
1. Related Standards section - clarify only this standard exists,
   others are future possibilities
2. Example Task Directories - mark whitelist-manager as  IMPLEMENTED,
   others as examples for future tasks
3. Added "Note" sections to prevent confusion

Standard now accurately reflects current state while providing
guidance for future work.

Phase 6 of complete restructure.

Date: February 16, 2026
Implemented by: The Chronicler
2026-02-16 06:23:07 -06:00

813 lines
20 KiB
Markdown

# Task Documentation Standard
## Firefrost Gaming Operations Manual
**Document Status:** ACTIVE STANDARD
**Created:** February 16, 2026
**Created By:** The Chronicler (current session)
**Authority:** Michael "Frostystyle" Krause + The Chronicler
**Version:** 1.0
**Applies To:** All tasks in `docs/core/tasks.md`
---
## 🎯 PURPOSE
### The Problem This Solves
**Before this standard:**
- Tasks.md became a 1000+ line mixed-detail document
- Implementation details buried in master task list
- Hard to find related documentation
- Duplication across multiple files
- Updates in one place didn't propagate
- "Which version is authoritative?" confusion
- Context muddying (high-level mixed with low-level)
**After this standard:**
- Tasks.md stays high-level (executive summary)
- Each task gets its own directory for all related docs
- Clear separation: planning vs implementation vs operations
- Single source of truth per topic
- Easy to find everything related to a task
- Scalable (task can have 1 or 20 documents)
---
## 📁 DIRECTORY STRUCTURE
### Standard Layout
```
docs/
├── core/
│ └── tasks.md # Master task list (high-level only)
├── tasks/ # One directory per major task
│ ├── [task-name]/
│ │ ├── README.md # Task overview (required)
│ │ ├── deployment-plan.md # How to deploy/build (if applicable)
│ │ ├── usage-guide.md # How to use after deployed
│ │ ├── troubleshooting.md # Common issues and solutions
│ │ ├── maintenance.md # Ongoing operations
│ │ ├── prerequisites.md # What's needed before starting
│ │ ├── testing-checklist.md # Validation steps
│ │ ├── config-examples/ # Sample configurations
│ │ ├── scripts/ # Any automation scripts
│ │ └── archive/ # Historical versions
│ │
│ ├── whitelist-manager/
│ │ ├── README.md
│ │ ├── deployment-plan.md
│ │ ├── usage-guide.md
│ │ └── troubleshooting.md
│ │
│ ├── frostwall-protocol/
│ │ ├── README.md
│ │ ├── deployment-plan.md
│ │ ├── gre-tunnel-config.md
│ │ ├── ufw-rules.md
│ │ └── recovery-procedures.md
│ │
│ └── mailcow-email/
│ ├── README.md
│ ├── deployment-plan.md
│ ├── dns-configuration.md
│ └── ssl-setup.md
```
---
## 📝 TASK DIRECTORY REQUIREMENTS
### Required Files (Every Task)
**1. README.md**
- Task overview and purpose
- Quick reference links to other docs in directory
- Status (planning, in-progress, deployed, deprecated)
- Owner/responsibility
- Last updated date
**Example:**
```markdown
# Whitelist Manager Web Dashboard
**Status:** Planning
**Owner:** Michael "Frostystyle" Krause
**Priority:** Tier 0 - Immediate Win
**Last Updated:** 2026-02-16
## Quick Links
- [Deployment Plan](deployment-plan.md) - Full build guide
- [Usage Guide](usage-guide.md) - How to use
- [Troubleshooting](troubleshooting.md) - Common issues
## Overview
Web dashboard for managing Minecraft server whitelists...
## Documentation in This Directory
- `deployment-plan.md` - Complete 6-phase deployment
- `usage-guide.md` - Staff usage instructions
- `troubleshooting.md` - Error recovery
```
### Optional Files (As Needed)
**deployment-plan.md** - For infrastructure/build tasks
- Complete step-by-step deployment
- Prerequisites checklist
- Phase breakdown with time estimates
- Code examples
- Testing procedures
- Rollback procedures
**usage-guide.md** - For tools/services after deployment
- How staff use the tool
- Common workflows
- Screenshots/examples
- Access control
**troubleshooting.md** - For operational tasks
- Common issues
- Error messages and solutions
- Recovery procedures
- Emergency contacts
**maintenance.md** - For ongoing operations
- Daily/weekly/monthly tasks
- Update procedures
- Backup procedures
- Health checks
**prerequisites.md** - For complex deployments
- Required access/credentials
- Dependencies
- System requirements
- Pre-flight checklist
**testing-checklist.md** - For quality assurance
- Test scenarios
- Validation steps
- Success criteria
- Regression tests
---
## 📋 TASKS.MD FORMAT
### High-Level Entry Only
**What belongs in tasks.md:**
- ✅ Task number and name
- ✅ Time estimate
- ✅ Priority/tier
- ✅ Status (ready/blocked/in-progress/complete)
-**Reference to task directory**
- ✅ 2-3 sentence overview
- ✅ Key deliverables (bullet points)
- ✅ Dependencies (what blocks this)
- ✅ Quick summary of value/outcome
**What does NOT belong in tasks.md:**
- ❌ Step-by-step instructions
- ❌ Code examples
- ❌ Configuration details
- ❌ Troubleshooting guides
- ❌ Full deployment procedures
- ❌ Anything longer than 1 screen
### Template
```markdown
### [#]. [Task Name]
**Time:** [X hours]
**Status:** [READY/BLOCKED/IN-PROGRESS/COMPLETE]
**Priority:** [Tier X - Description]
**Documentation:** `docs/tasks/[task-name]/`
**Overview:**
[2-3 sentence description of what this task accomplishes]
**Key Deliverables:**
- [Deliverable 1]
- [Deliverable 2]
- [Deliverable 3]
**Dependencies:**
- Blocks: [Tasks that need this done first]
- Blocked by: [Tasks that must complete before this]
**Value:**
[One sentence on why this matters]
**Quick Reference:**
- `README.md` - Task overview
- `deployment-plan.md` - Build guide
- `usage-guide.md` - How to use
**See task directory for complete documentation.**
```
---
## 🔄 WORKFLOW
### Creating a New Task
**Step 1: Add to tasks.md**
```bash
# Add high-level entry in tasks.md following template above
```
**Step 2: Create task directory**
```bash
mkdir -p docs/tasks/[task-name]
cd docs/tasks/[task-name]
```
**Step 3: Create README.md**
```bash
# Use README template (see above)
# Include quick links, overview, doc list
```
**Step 4: Create supporting docs as needed**
```bash
# deployment-plan.md (if building something)
# usage-guide.md (if creating a tool)
# troubleshooting.md (if operational complexity)
# etc.
```
**Step 5: Commit to Git**
```bash
git add docs/tasks/[task-name]/
git commit -m "Add [task-name] documentation"
git push
```
### Updating an Existing Task
**Update in task directory:**
```bash
cd docs/tasks/[task-name]
# Edit relevant .md files
git commit -m "Update [task-name]: [what changed]"
```
**Update tasks.md only if:**
- Status changes (ready → in-progress → complete)
- Time estimate significantly changes
- Priority/tier changes
- High-level scope changes
**DO NOT update tasks.md for:**
- Implementation detail changes
- New troubleshooting steps
- Updated configurations
- Minor clarifications
### Completing a Task
**Step 1: Mark complete in task directory**
```bash
# Update README.md status to "DEPLOYED" or "COMPLETE"
# Add completion date
# Add "completed by" attribution
```
**Step 2: Update tasks.md**
```markdown
### [#]. [Task Name] — ✅ COMPLETE
**Completed:** [Date]
**Completed By:** [Person/Chronicler]
**Documentation:** `docs/tasks/[task-name]/`
[Brief summary of outcome]
**See task directory for complete documentation.**
```
**Step 3: Move to completed section**
```markdown
## ✅ COMPLETED TASKS
### [Task Name]
[Keep the completed entry for reference]
```
---
## 📚 NAMING CONVENTIONS
### Directory Names
- **Format:** `[descriptive-name]` (lowercase, hyphens)
- **Examples:**
- `whitelist-manager`
- `frostwall-protocol`
- `mailcow-email`
- `ai-stack-deployment`
- `terraria-branding-training`
### File Names
- **Format:** `[purpose].md` (lowercase, hyphens)
- **Standard names:**
- `README.md` (always capitalized)
- `deployment-plan.md`
- `usage-guide.md`
- `troubleshooting.md`
- `maintenance.md`
- `prerequisites.md`
- `testing-checklist.md`
### Avoid
- ❌ Spaces in names
- ❌ Special characters
- ❌ ALL_CAPS (except README.md)
- ❌ Version numbers in filenames (use Git history)
- ❌ Dates in filenames (use Git history)
---
## 🎨 DOCUMENT FORMATTING
### Standard Header (All Task Docs)
```markdown
# [Document Title]
**Task:** [Task Name]
**Document Type:** [deployment-plan/usage-guide/troubleshooting/etc]
**Status:** [DRAFT/ACTIVE/DEPRECATED]
**Last Updated:** [YYYY-MM-DD]
**Owner:** [Person responsible]
---
[Document content...]
```
### Section Hierarchy
```markdown
# Top-level heading (document title)
## Major sections
### Sub-sections
#### Details (use sparingly)
```
### Code Blocks
```markdown
# Always specify language
```bash
# Good
command --flag value
```
# Not this
```
command --flag value
```
```
### File Paths
```markdown
# Use backticks for paths
Configuration file: `docs/tasks/example/config.json`
# Use code blocks for file contents
**File:** `config.json`
```json
{
"key": "value"
}
```
```
---
## ✅ MIGRATION STRATEGY
### For Existing Tasks
**Phase 1: New Standard (Now)**
- ✅ Document created
- ✅ Standard established
- ✅ All new tasks follow this pattern
**Phase 2: Gradual Migration (Ongoing)**
- When touching an existing task, migrate its docs
- No rush, no breaking changes
- Natural evolution over time
**Phase 3: Complete Migration (Future)**
- All tasks have dedicated directories
- Tasks.md is purely high-level
- Complete consistency
### Migration Checklist (Per Task)
When migrating an existing task:
- [ ] Create `docs/tasks/[task-name]/` directory
- [ ] Create `README.md` in task directory
- [ ] Move/create relevant docs:
- [ ] deployment-plan.md (if exists)
- [ ] usage-guide.md (if needed)
- [ ] troubleshooting.md (if needed)
- [ ] Update tasks.md to reference new directory
- [ ] Update any links in other docs
- [ ] Test all links work
- [ ] Commit changes
- [ ] Delete old scattered docs (after confirming migration complete)
---
## 🔍 EXAMPLES
### Example 1: Simple Task (Command Center Cleanup)
**Directory:**
```
docs/tasks/command-center-cleanup/
├── README.md # Overview
└── procedure.md # Step-by-step cleanup
```
**tasks.md entry:**
```markdown
### 2. Command Center Root Cleanup
**Time:** 15 minutes
**Status:** READY
**Documentation:** `docs/tasks/command-center-cleanup/`
**Overview:** Housekeeping - move Gitea backups, archive logs, delete cruft.
**See task directory for cleanup procedure.**
```
---
### Example 2: Complex Infrastructure Task (Frostwall)
**Directory:**
```
docs/tasks/frostwall-protocol/
├── README.md # Overview
├── deployment-plan.md # Full deployment
├── gre-tunnel-configuration.md # GRE setup
├── nat-dmz-configuration.md # NAT/DMZ setup
├── ufw-rules.md # Firewall rules
├── ip-hierarchy.md # IP allocation
├── testing-checklist.md # Validation
├── troubleshooting.md # Recovery
├── maintenance.md # Ongoing ops
└── config-examples/
├── gre-tunnel-tx1.conf
├── gre-tunnel-nc1.conf
└── ufw-rules-example.sh
```
**tasks.md entry:**
```markdown
### 5. The Frostwall Protocol — GRE Tunnel Security
**Time:** 3-4 hours
**Status:** READY
**Priority:** CRITICAL
**Documentation:** `docs/tasks/frostwall-protocol/`
**Overview:** DDoS protection using GRE tunnels from Command Center to remote nodes. Hides real server IPs, protects all game traffic.
**Key Deliverables:**
- GRE tunnels: Command Center ↔ TX1, NC1
- 1-to-1 NAT/DMZ with /29 IP block
- Iron Wall UFW rules
- Self-healing persistence
**Dependencies:**
- Blocks: Mailcow, AI Stack, all Tier 2+ work
- Blocked by: None (foundational)
**Quick Reference:**
- `deployment-plan.md` - Complete build guide
- `gre-tunnel-configuration.md` - Tunnel setup
- `troubleshooting.md` - Recovery procedures
**See task directory for complete documentation.**
```
---
### Example 3: Service Deployment (Whitelist Manager)
**Directory:**
```
docs/tasks/whitelist-manager/
├── README.md # Overview
├── deployment-plan.md # 6-phase deployment
├── prerequisites.md # What's needed
├── usage-guide.md # How staff use it
├── troubleshooting.md # Common issues
├── maintenance.md # Ongoing ops
└── config-examples/
├── config.json.example
└── nginx-example.conf
```
**tasks.md entry:**
```markdown
### 1. Centralized Whitelist Manager Web Dashboard
**Time:** 2-2.5 hours
**Status:** READY TO BUILD
**Documentation:** `docs/tasks/whitelist-manager/`
**Overview:** Build web dashboard at whitelist.firefrostgaming.com to manage player whitelists across 11 Minecraft servers.
**Key Deliverables:**
- Web interface with server list
- Toggle whitelist ON/OFF per server
- Add/remove players (individual or bulk)
- Staff authentication
**Value:** 15-minute manual task → 30 seconds
**Quick Reference:**
- `deployment-plan.md` - Complete 6-phase guide
- `prerequisites.md` - API keys, credentials needed
- `usage-guide.md` - How to use after deployed
**See task directory for complete documentation.**
```
---
## 🚀 BENEFITS
### For Task Execution
- ✅ All related docs in one place
- ✅ Clear what exists vs what's missing
- ✅ Easy to find "how do I...?"
- ✅ Self-contained (task directory is portable)
### For Maintenance
- ✅ Update one place, not scattered files
- ✅ Version control per task directory
- ✅ Easy to deprecate old approaches
- ✅ Clear documentation audit trail
### For Collaboration
- ✅ New Chroniclers know where to look
- ✅ Staff can find usage guides
- ✅ Meg can reference without digging
- ✅ Future children see complete context
### For Scaling
- ✅ Task can grow from 1 to 20 docs without cluttering
- ✅ Tasks.md stays readable as we hit 50+ tasks
- ✅ Easy to archive completed task directories
- ✅ Pattern proven, repeatable
---
## 📏 QUALITY STANDARDS
### Documentation Must Be:
**1. Discoverable**
- Task directory name is obvious
- README.md provides clear navigation
- Links work and are maintained
**2. Complete**
- All promised docs exist
- No "TODO" placeholders older than 1 week
- Every procedure has success criteria
**3. Tested**
- Procedures verified before documenting
- Code examples actually work
- Links confirmed valid
**4. Maintained**
- Last updated date is accurate
- Deprecated docs marked clearly
- Changes propagate to dependent docs
**5. Accessible**
- Written for The Chronicler AND staff
- Technical jargon explained
- Assumes reader hasn't seen other docs
### Review Checklist
Before marking task docs complete:
- [ ] README.md exists and is current
- [ ] All referenced docs exist
- [ ] All links work
- [ ] Code examples tested
- [ ] Procedures include success criteria
- [ ] Screenshots/diagrams added if helpful
- [ ] Last updated date is current
- [ ] Committed to Git
- [ ] Referenced correctly in tasks.md
---
## 🔄 DOCUMENT LIFECYCLE
### States
**DRAFT** - Being written, not yet ready for use
**ACTIVE** - Current, tested, use this version
**DEPRECATED** - Old approach, kept for reference
**ARCHIVED** - Historical, moved to archive/ subdirectory
### Transitions
```
DRAFT → ACTIVE
When: Tested and verified
Action: Update status header
ACTIVE → DEPRECATED
When: Better approach exists
Action: Add deprecation notice, link to new doc
DEPRECATED → ARCHIVED
When: No longer referenced
Action: Move to archive/ subdirectory
```
### Deprecation Notice Template
```markdown
# [Document Title]
> ⚠️ **DEPRECATED:** This document describes an old approach.
>
> **New approach:** See [new-approach.md](new-approach.md)
> **Deprecated on:** 2026-03-15
> **Reason:** [Why this was replaced]
>
> This document is kept for historical reference only.
---
[Original content preserved below...]
```
---
## 💡 TIPS & BEST PRACTICES
### Writing Task Documentation
**Start with README.md**
- Gives you structure
- Identifies what docs you need
- Prevents scope creep
**One purpose per document**
- deployment-plan.md ≠ usage-guide.md
- Keep concerns separated
- Easier to maintain
**Code examples over prose**
```bash
# Good: Show the actual command
curl -X POST https://api.example.com/endpoint
# Not this: "Use curl to POST to the API endpoint"
```
**Test everything you document**
- Run every command
- Follow every procedure
- Verify every link
- Screenshot actual results
**Write for your future self**
- You'll forget details
- Document why, not just what
- Include context for decisions
- Link to related discussions
### Organizing Complex Tasks
**Use subdirectories for categories:**
```
docs/tasks/frostwall-protocol/
├── README.md
├── planning/
│ ├── architecture-decisions.md
│ └── ip-allocation-plan.md
├── deployment/
│ ├── phase-1-gre-tunnels.md
│ ├── phase-2-nat-config.md
│ └── phase-3-ufw-rules.md
└── operations/
├── monitoring.md
└── incident-response.md
```
**Break long procedures into phases:**
- Phase 1: Prerequisites
- Phase 2: Core deployment
- Phase 3: Testing
- Phase 4: Monitoring
**Link between related docs:**
```markdown
See also:
- [GRE Tunnel Config](gre-tunnel-configuration.md)
- [UFW Rules](ufw-rules.md)
- [Troubleshooting](troubleshooting.md)
```
---
## 🎯 ENFORCEMENT
### This Standard Applies To:
**All new tasks** added to tasks.md
**All major updates** to existing tasks
**All infrastructure deployments**
**All service configurations**
**All operational procedures**
### Exceptions:
**Quick wins (<30 min)** can be inline in tasks.md if:
- Single document would be complete reference
- No ongoing maintenance needed
- Unlikely to expand in scope
**Example:** Command Center Cleanup might stay inline, or get minimal directory.
### Responsible Parties:
**The Chronicler:**
- Maintains this standard
- Creates task directories for new work
- Migrates existing tasks when touched
- Reviews documentation quality
**Michael:**
- Approves deviations from standard
- Provides feedback on clarity
- Tests procedures before deployment
**Meg:**
- Reviews usage guides for staff tools
- Confirms documentation is accessible
---
## 📋 CHANGELOG
### Version 1.0 (2026-02-16)
- Initial standard created
- Established directory structure
- Defined file requirements
- Created templates and examples
- Set quality standards
- Documented migration strategy
**Created by:** The Chronicler (current session)
**Approved by:** Michael "Frostystyle" Krause (implicit via Option B selection)
---
## 🔗 REFERENCES
### Related Standards
- This is currently the only standard in `docs/standards/`
- Future standards may include:
- naming-conventions.md (extract from DOCUMENT-INDEX)
- git-workflow.md (document commit conventions)
- code-style.md (if needed for development work)
**Note:** Examples below reference standards that don't exist yet. Treat as illustrative.
### Example Task Directories
- `docs/tasks/whitelist-manager/` - ✅ IMPLEMENTED - First task using this standard (Feb 16, 2026)
- `docs/tasks/frostwall-protocol/` - Example (when created) - Complex infrastructure task
- `docs/tasks/mailcow-email/` - Example (when created) - Service deployment task
**Note:** Only whitelist-manager currently exists. Other examples are illustrative of future tasks.
### Core Documents
- `docs/core/tasks.md` - Master task list
- `DOCUMENT-INDEX.md` - Repository file map
- `README.md` - Repository overview
---
**Fire + Frost + Foundation = Where Love Builds Legacy** 💙🔥❄️
**Standard Status:** ACTIVE
**Applies From:** February 16, 2026
**Review Cycle:** Quarterly or as needed
**Maintained By:** The Chronicler lineage