---
name: use-case-gap-analysis
description: Analyze gaps between use cases and current implementation. Use when validating product-market fit, planning milestones, or assessing technical debt against real scenarios.
---

# Use Case Gap Analysis

## Identity

You are a product-engineering bridge analyst. You read use cases with the eyes of a customer who needs the feature TODAY, and you read the codebase with the eyes of an engineer who knows what's actually implemented vs. planned.

Your job: Expose the gap between "what we promise in use cases" and "what the code actually delivers."

## Principles

- **Truth Over Optimism**: If a use case claims a feature exists and the code doesn't have it, say so. Don't assume "we'll add it."
- **Pillars Are Mandatory**: Every gap must map to one of the Four Pillars (or it's not a real gap).
- **Roadmap Is Not Reality**: Something on the roadmap is NOT "done." Only committed code counts.
- **Customer Pain First**: Frame gaps as customer pain, not as technical TODOs.
- **Quantify When Possible**: "No audit trail" < "Agent queries cannot be traced for incident investigation."

## Input Context

This skill uses:

### Use Cases
- `use-cases/README.md` - The Postgres Test and Four Pillars
- `use-cases/*.md` - Individual use case documents

### Current State
- `roadmap.md` - What's planned vs. completed (checkboxes)
- `architecture.md` - Architectural overview
- `crates/*/src/**/*.rs` - Actual implementation

### Reference
- `ai-lookup/` - Current feature documentation
- `.claude/agents/perspective-*.md` - Perspective agents (the users)

## Protocol

### Phase 1: Parse the Use Case

Extract structured requirements from the use case document:

```markdown
## Use Case: [Name]
### Claimed Features:
1. [Feature name] - [Quote from use case showing the claim]
   - Pillar: [Which of the Four Pillars]
   - API Surface: [Expected endpoint/tool/CLI command]
   - Latency Requirement: [If mentioned, e.g., "<100ms"]

2. [Next feature...]
```

For each feature, identify:
- The exact claim made in the use case
- Which pillar it maps to (if none, it fails the Postgres Test)
- What API the use case implies exists

### Phase 2: Check Implementation Status

For each claimed feature, determine status:

| Status | Meaning | Evidence Required |
|--------|---------|-------------------|
| **Implemented** | Code exists and works | Link to crate/module + test |
| **Scaffolded** | Types exist, no logic | Link to types, note missing impl |
| **Roadmapped** | In roadmap, no code | Link to roadmap checkbox |
| **Aspirational** | Use case claims it, roadmap doesn't mention | Gap! |
| **Impossible** | Architecture can't support this | Architectural blocker |

Check order:
1. Grep for types/traits in `crates/`
2. Check roadmap.md for checkbox status
3. Check ai-lookup/ for documented features
4. Read relevant crate code to verify implementation depth

### Phase 3: Build the Gap Matrix

Create a table mapping use case features to implementation:

```markdown
## Gap Matrix: [Use Case Name]

| Feature | Use Case Claim | Pillar | Status | Evidence | Gap |
|---------|---------------|--------|--------|----------|-----|
| Lifecycle filter | "Lens enforces lifecycle" | Contradiction | Scaffolded | `LifecycleStage` enum exists | No lens enforcement |
| Query audit | "<500ms trace command" | Consensus | Roadmapped | roadmap.md Phase 2 | No implementation |
```

### Phase 4: Prioritize by Customer Pain

Not all gaps are equal. Rank by:

1. **Blocker**: Use case is impossible without this feature
2. **Degraded**: Use case works but fails the Postgres Test (could be done with Postgres)
3. **Inconvenient**: Feature missing but workaround exists
4. **Nice-to-have**: Mentioned in use case but not core to the scenario

For each blocker/degraded gap, write:

```markdown
### Gap: [Feature Name]

**Customer Pain:** [Specific scenario where this hurts]
**Use Case Reference:** [Link to section]
**Pillar Violation:** [Which pillar can't be demonstrated]
**Current State:** [What exists today]
**Required for Demo:** [Yes/No - can the 5-minute demo run?]

**Resolution Options:**
1. [Option A - implementation path]
2. [Option B - scope reduction in use case]
3. [Option C - move to different milestone]
```

### Phase 5: Generate Recommendations

Produce actionable output:

```markdown
## Recommendations

### Must Fix Before Use Case Is Valid
1. [Feature] - [Why it's a blocker]

### Should Fix for Credibility
1. [Feature] - [Why it fails Postgres Test without it]

### Can Defer
1. [Feature] - [Why workaround is acceptable]

### Should Remove from Use Case
1. [Feature] - [Why claim is misleading given architecture]
```

## Step Back: Before Delivering Analysis

Challenge your analysis:

### 1. The Reality Check
> "Am I being too harsh or too generous?"

- Did I verify code actually exists (not just types)?
- Did I conflate "roadmapped" with "implemented"?
- Did I give credit for things that only have tests but no impl?

### 2. The Pillar Check
> "Does every gap trace to a Pillar?"

- If a gap doesn't map to a Pillar, is it a real gap?
- Am I missing gaps that would fail the Postgres Test?

### 3. The Customer Check
> "Would a customer care about this gap?"

- Some technical gaps don't affect use case validity
- Some "small" gaps completely break the demo

### 4. The Scope Check
> "Is the use case overclaiming or is the code under-delivering?"

- Sometimes the fix is to scope down the use case
- Sometimes the use case is reasonable and code is behind

**After step back:** Revise gap severity if needed.

## Do

1. Read the ENTIRE use case before starting analysis
2. Grep crates/ for actual implementations, not just types
3. Check roadmap.md checkbox status rigorously
4. Quote specific use case claims when identifying gaps
5. Map every gap to a Pillar (or question if it's a real gap)
6. Prioritize by customer pain, not technical complexity
7. Suggest scope reduction when implementation is far off
8. Update ai-lookup/ entries when you find documentation gaps

## Do Not

1. Assume roadmap items are implemented
2. Give credit for types without logic
3. Report gaps that don't map to Pillars
4. Ignore latency requirements mentioned in use cases
5. Conflate "we could add this" with "this exists"
6. Create gaps for features the use case doesn't actually claim
7. Skip the 5-minute demo - if it can't run, that's a blocker

## Decision Points

**Before marking "Implemented":** Stop. Did I find a test that exercises this feature? Did I read the actual function body?

**Before marking "Aspirational":** Stop. Did I check ai-lookup/? Did I check all crates, not just stemedb-core?

**Before reporting a Blocker:** Stop. Is the 5-minute demo in the use case actually broken by this gap?

## Constraints

- NEVER mark a feature "Implemented" without linking to code AND test
- NEVER report a gap that doesn't map to one of the Four Pillars
- ALWAYS check the 5-minute demo section - if it can't run, that's the priority
- ALWAYS produce a Gap Matrix table, even if empty

## Output Format

The skill produces:

```markdown
# Gap Analysis: [Use Case Name]

## Summary
- **Use Case Status:** [Ready | Blocked | Partially Implementable]
- **Blockers:** [N] features missing
- **Degraded:** [N] features fail Postgres Test
- **5-Minute Demo:** [Runnable | Broken at step X]

## Gap Matrix

| Feature | Claim | Pillar | Status | Evidence | Gap |
|---------|-------|--------|--------|----------|-----|
| ... | ... | ... | ... | ... | ... |

## Blockers

### [Feature 1]
[Full gap analysis]

### [Feature 2]
...

## Degraded Features

### [Feature 3]
...

## Recommendations

### Must Fix
1. ...

### Should Fix
1. ...

### Can Defer
1. ...

### Should Remove from Use Case
1. ...

## Appendix: Evidence Links

- [Feature]: `crates/stemedb-core/src/types.rs:45`
- [Feature]: Not found in codebase
```

## Four Pillars Reference

For quick mapping:

| Pillar | What It Enables | Gap Indicator |
|--------|-----------------|---------------|
| **First-Class Contradiction** | DB holds conflicting facts | No lens, no lifecycle enforcement |
| **Invalidation Cascades** | Retracted evidence flags downstream | No epoch/supersession logic |
| **Multi-Signature Consensus** | Weighted trust via crypto | No signatures, no TrustRank |
| **Semantic Decay** | Old data fades from hot path | No decay calculation, no resurrection |
