@namastexlabs/speak
Version:
Open source voice dictation for everyone
179 lines (142 loc) • 5.37 kB
Markdown
**Last Updated:** !`date -u +"%Y-%m-%d %H:%M:%S UTC"`
---
name: qa/bug-90
description: Regression test for Bug #90 - full=true returns truncated checkpoints
parent: qa
---
# Bug #90 Regression Test • Full Transcript Retrieval
## Bug Description
**Fixed in:** RC9
**Issue:** https://github.com/namastexlabs/automagik-genie/issues/90
When calling `mcp__genie__view` with `full=true`, the MCP response returned truncated "Key Checkpoints" (~12 snippets) instead of the full session transcript.
**Root Cause:** View command returned checkpoints summary instead of complete log when `full=true` parameter was set.
**Fix:** Modified view logic to return complete transcript when `full=true`, checkpoints summary when `full=false`.
## Test Scenario
Verify that `mcp__genie__view` with `full=true` returns complete conversation transcript, not abbreviated checkpoints.
## Test Steps
### Step 1: Create Session with Substantial Content
**Command:**
```
mcp__genie__run with agent="genie" and prompt="
Please provide a detailed response covering the following topics:
1. Software testing methodologies (5 paragraphs)
2. Validation strategies (3 paragraphs)
3. Evidence capture techniques (3 paragraphs)
4. Quality assurance principles (4 paragraphs)
Make each paragraph substantial (50+ words) to create a long transcript.
"
```
**Capture:**
- Session ID
**Expected:**
- Agent responds with 15+ paragraphs
- Substantial first message content
### Step 2: Resume Session Multiple Times
**Command:**
```
# Resume #1
mcp__genie__resume with sessionId="<id>" and prompt="Continue with 3 more paragraphs about regression testing"
# Resume #2
mcp__genie__resume with sessionId="<id>" and prompt="Add 2 paragraphs about automation frameworks"
# Resume #3
mcp__genie__resume with sessionId="<id>" and prompt="Conclude with 2 paragraphs about continuous integration"
```
**Expected:**
- 4 total messages in conversation (1 original + 3 resumes)
- Each message has substantial content
- Total transcript length: 20+ paragraphs
### Step 3: View with full=false (Summary)
**Command:**
```
mcp__genie__view with sessionId="<id>" and full=false
```
**Expected Evidence:**
- Recent summary displayed
- Checkpoint format (abbreviated)
- NOT complete transcript
- Concise output
**Verification Checks:**
- [ ] Summary format returned
- [ ] Output abbreviated (not full conversation)
- [ ] Key points highlighted
### Step 4: View with full=true (Complete Transcript)
**Command:**
```
mcp__genie__view with sessionId="<id>" and full=true
```
**Expected Evidence:**
- **COMPLETE** conversation transcript
- All 4 messages present (original + 3 resumes)
- Full content from each message
- All 20+ paragraphs visible
- No truncation or abbreviation
**Verification Checks:**
- [ ] Full transcript returned (not checkpoints)
- [ ] All 4 messages present
- [ ] All paragraphs visible (20+ total)
- [ ] No content truncation
- [ ] Complete conversation history
### Step 5: Compare Output Lengths
**Command:**
```bash
# Capture full=false output
mcp__genie__view with sessionId="<id>" and full=false > /tmp/summary.txt
# Capture full=true output
mcp__genie__view with sessionId="<id>" and full=true > /tmp/full.txt
# Compare sizes
wc -l /tmp/summary.txt /tmp/full.txt
wc -w /tmp/summary.txt /tmp/full.txt
```
**Expected Evidence:**
- full.txt significantly larger than summary.txt
- full.txt contains all conversation content
- Line count difference substantial (10x+ ratio expected)
- Word count difference substantial
**Verification Checks:**
- [ ] full=true output > full=false output (by large margin)
- [ ] full=true contains all messages
- [ ] No truncation in full=true output
### Step 6: Verify Against Raw Log File
**Command:**
```bash
# Find log file for session
grep -l "<session-id>" .genie/state/agents/logs/*.log
# Compare log file to full=true output
cat <log-file> | wc -l
# vs
mcp__genie__view with sessionId="<id>" and full=true | wc -l
```
**Expected Evidence:**
- full=true output matches raw log file content
- Line counts similar (within reasonable margin)
- All interactions present in both
**Verification Checks:**
- [ ] full=true matches log file
- [ ] All log content reflected in full=true output
- [ ] No arbitrary truncation
## Pass Criteria
✅ full=true returns complete transcript (all messages)
✅ full=false returns abbreviated summary
✅ Clear difference in output length between full=true and full=false
✅ full=true matches raw log file content
✅ No truncation or checkpoint abbreviation with full=true
## Fail Criteria
❌ full=true returns checkpoints instead of full transcript
❌ full=true output similar length to full=false
❌ Missing messages or content in full=true output
❌ Arbitrary truncation in full=true output
## Evidence Capture
```bash
# Save both outputs
mcp__genie__view with sessionId="<id>" and full=false > .genie/qa/evidence/bug-90-summary-<timestamp>.txt
mcp__genie__view with sessionId="<id>" and full=true > .genie/qa/evidence/bug-90-full-<timestamp>.txt
# Document size comparison
echo "Summary: $(wc -l < .genie/qa/evidence/bug-90-summary-<timestamp>.txt) lines"
echo "Full: $(wc -l < .genie/qa/evidence/bug-90-full-<timestamp>.txt) lines"
```
## Related Tests
## Maintenance
**Test Frequency:** Every RC release
**Last Tested:** [Date]
**Result:** [✅ Pass | ❌ Fail]
**Notes:** [Any observations]