# DSS Documentation Guide

**Version 1.0.0** | Last Updated: 2025-12-08 | Status: Production

This guide helps you find the right documentation for your task. Start here, find your scenario, and jump to the right doc.

---

## I'm New to DSS

**Goal**: Understand what DSS is and get started

**Read In This Order:**
1. **PRINCIPLES.md** (5 min) - What DSS believes
2. **README.md** (5 min) - Project overview
3. **QUICK_REFERENCE.md** (5 min) - Key links and commands
4. This guide (you're reading it!)

**Then Choose Your Path:**
- Integrating DSS into your project? → INTEGRATION_GUIDE.md
- Contributing to DSS? → CONTRIBUTION_GUIDE.md
- Setting up for development? → DEVELOPMENT_SETUP.md

---

## I Need to Do Something Specific

### I'm Making a Structural Decision

**Question**: Will this affect how components, tokens, or APIs work?

**Read:**
- **PRINCIPLES.md** (understand the 5 core principles)
- **BEST_PRACTICES.md** (how to apply principles)
- **.knowledge/adrs/** (how similar decisions were made)

**Then:**
- Create an ADR documenting your decision
- Open PR referencing the ADR

---

### I'm Writing Code

**Question**: What's the contract I need to follow?

**Read:**
- **ARCHITECTURE.md** (system structure and design)
- **API_CONTRACTS.md** (endpoint specifications)
- **BEST_PRACTICES.md** (implementation patterns for your principle)

**Then:**
- Follow the patterns in ARCHITECTURE.md
- Respect the contracts in API_CONTRACTS.md
- Link to BEST_PRACTICES.md in your PR if needed

---

### I'm Adding an API Endpoint or MCP Tool

**Read:**
- **API_CONTRACTS.md** (existing endpoints)
- **BEST_PRACTICES.md** § Principle 5 (tool-first architecture)
- **docs/03_reference/MCP_TOOLS_SPEC.md** (how to design tools)

**Then:**
1. Design MCP tool (primary)
2. Implement tool
3. REST endpoint wraps tool
4. Document in API_CONTRACTS.md with new version
5. Create ADR for architectural decision

---

### I'm Integrating DSS into My Project

**Read:**
- **QUICK_REFERENCE.md** (overview)
- **INTEGRATION_GUIDE.md** (step-by-step integration)
- **API_CONTRACTS.md** (endpoints you'll use)
- **docs/03_reference/MCP_TOOLS_SPEC.md** (available tools)

**Questions?**
- "How do I do X?" → Search INTEGRATION_GUIDE.md
- "What endpoints are available?" → See API_CONTRACTS.md
- "How do tokens work?" → See docs/03_reference/TOKEN_SYSTEM.md

---

### I'm Deploying DSS

**Read:**
- **PROJECT_STATUS.md** (current deployment status)
- **DEPLOYMENT_GUIDE.md** (step-by-step deployment)
- **PRODUCTION_READINESS.md** (checklist before deploy)
- **TROUBLESHOOTING.md** (when things go wrong)

**Then:**
- Check PRODUCTION_READINESS.md checklist
- Follow DEPLOYMENT_GUIDE.md steps
- Update PROJECT_STATUS.md after successful deploy

---

### I'm Debugging Something

**Read:**
- **PROJECT_STATUS.md** (known issues section)
- **TROUBLESHOOTING.md** (common problems)
- **ARCHITECTURE.md** (understand component interactions)
- Log files in **logs/** directory

**Still stuck?**
- Check .knowledge/adrs/ for related decisions
- Review ANTI_PATTERNS_AND_LEARNINGS.md for common mistakes
- Ask team in Slack with reference to docs you read

---

### I'm Reviewing a PR

**Checklist:**
- [ ] Does this violate any principles? → See PRINCIPLES.md
- [ ] Did they follow best practices? → See BEST_PRACTICES.md
- [ ] Should this be documented? → Where should it go?
- [ ] Is this an architectural change? → ADR needed?
- [ ] Version numbers updated? → See BEST_PRACTICES.md § Principle 2

**Look for anti-patterns:**
See ANTI_PATTERNS_AND_LEARNINGS.md for common mistakes

---

## Documentation by Tier

### Tier 1: Constitutional Documents (Immutable, Versioned)

These change only through semantic versioning. They define the system.

| Document | Purpose | Read When |
|----------|---------|-----------|
| **PRINCIPLES.md** | Core values (5 principles) | Onboarding, making decisions |
| **API_CONTRACTS.md** | API endpoint specifications | Building integrations, implementing endpoints |
| **ARCHITECTURE.md** | System design, structure | Understanding system, making changes |

**Update Process:**
1. Change file
2. Bump version (MAJOR.MINOR.PATCH)
3. Add changelog entry
4. Open PR
5. Merge and tag (git tag v1.2.0)

---

### Tier 2: Current State Documents (Living, Weekly Updates)

These reflect production reality. Updated at least weekly.

| Document | Purpose | Read When |
|----------|---------|-----------|
| **PROJECT_STATUS.md** | Current deployment, bugs, roadmap | Weekly reviews, planning, status checks |
| **IMPLEMENTATION_SUMMARY.md** | Feature inventory by phase | Understanding what's shipped |
| **README.md** | Project overview, quick links | First time visiting repo |

**Update Process:**
1. Every Friday: Review and update
2. Mark "Last Updated" with current date
3. Update bugs, roadmap, deployment status
4. Commit to main branch

---

### Tier 3: How-To Guides (Reference Documents)

Detailed guidance on specific tasks. Updated as needed.

| Document | Purpose | Read When |
|----------|---------|-----------|
| **QUICK_REFERENCE.md** | Cheat sheet, commands, quick links | Need to find something fast |
| **INTEGRATION_GUIDE.md** | How to integrate DSS into your project | Using DSS in your own project |
| **DEPLOYMENT_GUIDE.md** | Step-by-step deployment process | Deploying to production |
| **MIGRATION_GUIDE.md** | How to upgrade between versions | Upgrading DSS version |
| **MCP_TOOLS_SPEC.md** | Available MCP tools and how to use them | Using MCP tools in automation |
| **CONTRIBUTION_GUIDE.md** | How to contribute to DSS | Contributing code changes |
| **DEVELOPMENT_SETUP.md** | Local development environment | Setting up to develop DSS |
| **PRODUCTION_READINESS.md** | Pre-deployment checklist | Before deploying to production |
| **TROUBLESHOOTING.md** | Common problems and solutions | Debugging issues |

**Update Process:**
1. Update when procedures change
2. Mark "Last Updated" date
3. Review monthly for staleness
4. Archive if superseded by new guide

---

### Tier 4: Knowledge Archive

Historical records, old versions, archived docs.

| Document Type | Purpose | Read When |
|---------|---------|-----------|
| **.knowledge/adrs/** | Architecture Decision Records | Understanding why decisions were made |
| **docs/archive/versions/** | Old API/Architecture versions | Integrating with old systems |
| **docs/archive/** | Historical documents | Research, understanding evolution |

---

## Documentation Structure

```
docs/
├── 01_core/
│   ├── PRINCIPLES.md                    # Tier 1: What we believe
│   ├── BEST_PRACTICES.md               # How to apply principles
│   ├── API_CONTRACTS.md                # Tier 1: API spec
│   ├── ARCHITECTURE.md                 # Tier 1: System design
│   ├── ANTI_PATTERNS_AND_LEARNINGS.md  # What not to do
│   └── DOCUMENTATION_GUIDE.md          # This file
│
├── 02_status/
│   ├── PROJECT_STATUS.md               # Tier 2: Current state
│   ├── IMPLEMENTATION_SUMMARY.md       # Tier 2: Feature inventory
│   └── CHANGELOG.md                    # Version history
│
├── 03_reference/
│   ├── QUICK_REFERENCE.md              # Tier 3: Cheat sheet
│   ├── INTEGRATION_GUIDE.md            # Tier 3: How to integrate
│   ├── DEPLOYMENT_GUIDE.md             # Tier 3: How to deploy
│   ├── MIGRATION_GUIDE.md              # Tier 3: Version upgrades
│   ├── MCP_TOOLS_SPEC.md               # Tier 3: Tool reference
│   ├── TOKEN_SYSTEM.md                 # Tier 3: Token guide
│   ├── PRODUCTION_READINESS.md         # Tier 3: Deploy checklist
│   ├── TROUBLESHOOTING.md              # Tier 3: Common problems
│   ├── CONTRIBUTION_GUIDE.md           # Tier 3: How to contribute
│   └── DEVELOPMENT_SETUP.md            # Tier 3: Dev environment
│
├── archive/
│   ├── versions/
│   │   ├── v1.0.0/
│   │   │   ├── API_CONTRACTS.md
│   │   │   └── ARCHITECTURE.md
│   │   └── v1.1.0/
│   │       └── ...
│   ├── phases/
│   └── 2024/
│
└── README.md                           # Repo overview
```

---

## How to Find Information

### By Task

| I Want To... | Start Here |
|-------------|-----------|
| Understand DSS | PRINCIPLES.md |
| Integrate DSS | INTEGRATION_GUIDE.md |
| Deploy DSS | DEPLOYMENT_GUIDE.md |
| Contribute code | CONTRIBUTION_GUIDE.md |
| Write an endpoint | API_CONTRACTS.md + BEST_PRACTICES.md |
| Use MCP tools | MCP_TOOLS_SPEC.md |
| Debug something | TROUBLESHOOTING.md |
| Check status | PROJECT_STATUS.md |
| Upgrade version | MIGRATION_GUIDE.md |
| Understand a decision | .knowledge/adrs/ |

### By Role

| I'm A... | Read These |
|---------|-----------|
| **New Developer** | PRINCIPLES.md → README.md → QUICK_REFERENCE.md |
| **Product Manager** | PROJECT_STATUS.md → IMPLEMENTATION_SUMMARY.md |
| **DevOps Engineer** | DEPLOYMENT_GUIDE.md → PRODUCTION_READINESS.md |
| **API Consumer** | API_CONTRACTS.md + INTEGRATION_GUIDE.md |
| **System Architect** | ARCHITECTURE.md + ANTI_PATTERNS_AND_LEARNINGS.md |
| **PR Reviewer** | PRINCIPLES.md + BEST_PRACTICES.md |

### By Principle

| Principle | Learn More In |
|-----------|--------------|
| Design is Architectural | PRINCIPLES.md § 1, ARCHITECTURE.md |
| Contracts are Immutable | BEST_PRACTICES.md § Principle 2, API_CONTRACTS.md |
| Single Source of Truth | BEST_PRACTICES.md § Principle 3, ANTI_PATTERNS_AND_LEARNINGS.md |
| Decisions Traceable | BEST_PRACTICES.md § Principle 4, .knowledge/adrs/ |
| Operations as Tools | BEST_PRACTICES.md § Principle 5, MCP_TOOLS_SPEC.md |

---

## Reading Paths

### Path 1: Onboarding (30 minutes)
```
1. PRINCIPLES.md (5 min)
   ↓
2. README.md (5 min)
   ↓
3. QUICK_REFERENCE.md (5 min)
   ↓
4. Start with relevant Tier 3 guide for your task (15 min)
```

### Path 2: Making a Decision (45 minutes)
```
1. PRINCIPLES.md (5 min)
   ↓
2. BEST_PRACTICES.md for relevant principle (15 min)
   ↓
3. .knowledge/adrs/ - similar decisions (15 min)
   ↓
4. ANTI_PATTERNS_AND_LEARNINGS.md (10 min)
   ↓
5. Create ADR for your decision
```

### Path 3: Architectural Change (1 hour)
```
1. ARCHITECTURE.md (20 min)
   ↓
2. BEST_PRACTICES.md (15 min)
   ↓
3. ANTI_PATTERNS_AND_LEARNINGS.md (10 min)
   ↓
4. .knowledge/adrs/ for similar decisions (15 min)
   ↓
5. Design change, create ADR, open PR
```

### Path 4: Integration (2 hours)
```
1. INTEGRATION_GUIDE.md (30 min)
   ↓
2. API_CONTRACTS.md (30 min)
   ↓
3. QUICK_REFERENCE.md (10 min)
   ↓
4. Implement integration, reference docs
   ↓
5. TROUBLESHOOTING.md if issues (20 min)
```

---

## Docs That Reference Each Other

**Single Source of Truth Flow:**
```
PRINCIPLES.md (what we believe)
    ↓
BEST_PRACTICES.md (how to implement)
    ↓
API_CONTRACTS.md, ARCHITECTURE.md (actual specs)
    ↓
IMPLEMENTATION_GUIDE.md, DEPLOYMENT_GUIDE.md (how-to guides)
    ↓
Actual code implementation
```

**Decision Flow:**
```
BEST_PRACTICES.md (decision criteria)
    ↓
.knowledge/adrs/ (record decision)
    ↓
PR links to ADR (traceability)
    ↓
Code implements decision
    ↓
ARCHITECTURE.md or API_CONTRACTS.md (documents result)
```

---

## Keeping Docs Current

### Weekly (Every Friday)
- [ ] Update PROJECT_STATUS.md
  - Mark "Last Updated"
  - Update bugs list
  - Update roadmap
  - Update deployment status

### Monthly (First Friday)
- [ ] Audit all Tier 3 docs for staleness
  - Any docs older than 30 days?
  - Still accurate?
  - Update or archive?

### Per Release
- [ ] Update API_CONTRACTS.md version
- [ ] Add CHANGELOG entry
- [ ] Update MIGRATION_GUIDE.md if breaking changes
- [ ] Update IMPLEMENTATION_SUMMARY.md with new features
- [ ] Create tag (git tag vX.Y.Z)

### When Making Major Changes
- [ ] Create or update ADR
- [ ] Update relevant Tier 1 docs
- [ ] Link PR to ADR
- [ ] Update related Tier 3 guides

---

## FAQ: Finding Documentation

**Q: Where are API endpoints documented?**
A: API_CONTRACTS.md (Tier 1, immutable)

**Q: Why did we choose this architecture?**
A: Check ARCHITECTURE.md or .knowledge/adrs/ (decision records)

**Q: What's currently deployed?**
A: PROJECT_STATUS.md (Tier 2, updated weekly)

**Q: How do I integrate DSS?**
A: INTEGRATION_GUIDE.md (Tier 3, reference guide)

**Q: How do I deploy changes?**
A: DEPLOYMENT_GUIDE.md (Tier 3, step-by-step)

**Q: What's the status of feature X?**
A: IMPLEMENTATION_SUMMARY.md or PROJECT_STATUS.md

**Q: What changed between versions?**
A: CHANGELOG.md or MIGRATION_GUIDE.md

**Q: Is this documented?**
A: Yes! (probably) → Use this guide to find it

---

**Last Updated**: 2025-12-08
**Version**: 1.0.0 (new navigation guide)
**Status**: PRODUCTION
