Documentation Updates Summary
Based on Enterprise Customer Feedback Analysis
Date: February 12, 2026
Source: Enterprise customer conversations (Financial Services, Insurance, Consulting)
Executive Summary
Analyzed enterprise customer feedback and identified 7 high-impact documentation gaps that need addressing. Most critical customer issues were backend bugs (now fixed), but documentation needs updates to prevent future confusion.
🔴 HIGH PRIORITY Updates (Do First)
1. external_user_id vs user_id Clarification
What: Memory server now resolves user_id internally - developers should only use external_user_id
Files to Update:
guides/authentication.md- Add comprehensive sectionquickstart/*- Update all examplessdks/python.md- Update examplessdks/typescript.md- Update examples
Key Points:
external_user_id= Your application's user identifier- Memory server handles internal
user_idresolution automatically - Developers never need to manage
user_id
2. Schema Prerequisites for Document Upload
What: Clarify that hierarchical chunking is AUTOMATIC, schemas are only for domain entities
Files to Update:
guides/document-processing.md- Add prerequisites sectionguides/custom-schemas.md- Add "when to use schemas" section
Key Points:
- Hierarchical document structure = automatic (no schema needed)
- Chunk-to-chunk connections = automatic
- Schemas = for domain-specific entities only (Customer, Product, etc.)
- Use natural identifiers (name, email) not IDs for unstructured data
3. Memory Policies for Graph Control
What: Comprehensive guide on using memory policies, node constraints, edge constraints
Files to Create:
guides/graph-control.md- Memory policies overview (NEW)guides/node-constraints.md- Node constraints reference (NEW)
Key Points:
mode: auto= LLM extracts entitiesmode: manual= You provide exact structure (for database imports)- Node constraints = business rules on top of LLM extraction
- Use unstructured identifiers for matching
4. Postgres/SQL to Papr Integration ⭐ NEW USE CASE
What: Major use case - connecting structured database data with unstructured context
Files to Create:
tutorials/postgres-to-papr.md- Comprehensive tutorial (NEW)
Files to Update:
overview/index.md- Add to "Three Input Paths"overview/use-cases.md- Add prominent row at topoverview/structured-data.md- Enhance with connection use case
Key Points:
- Import Postgres/SQL records as graph nodes
- Automatically link with documents, conversations, support tickets
- Real-world patterns: CRM + support, products + reviews, tickets + code
- Sync strategies: bulk import, incremental, real-time CDC
Example Use Cases:
- CRM data + support conversations
- Product catalog + customer feedback
- Transaction history + chat logs
- Jira tickets + GitHub commits + Slack discussions
🟡 MEDIUM PRIORITY Updates
5. Search Response Serialization
What: How to convert SearchResponse Pydantic models to dict/JSON
Files to Update:
sdks/python.md- Add serialization sectionsdks/typescript.md- Add serialization section
Key Points:
- Use
.model_dump()(Pydantic v2) - Document full SearchResponse structure
- Common patterns for accessing nested data
6. Feedback Endpoints for Evaluation
What: How to use feedback to improve retrieval quality over time
Files to Create:
guides/feedback-and-evaluation.md- Comprehensive guide (NEW)
Key Points:
- Feedback improves retrieval ranking, answer quality, graph search
- Integration patterns: thumbs up/down, engagement signals, automated evals
- Evaluation workflow examples
🟢 LOW PRIORITY Updates
7. rank_results Accuracy vs Speed
What: Clarify that rank_results=True is for best accuracy but adds latency
Files to Update:
guides/search-tuning.md- Add rank_results section
Key Points:
rank_results=True= best accuracy, more latency (200-500ms)rank_results=False= faster speed, good accuracy- Default is False (optimized for speed)
Files to Create (7 New Files)
- ✅
guides/graph-control.md- Memory policies overview - ✅
guides/node-constraints.md- Node constraints reference - ✅
guides/feedback-and-evaluation.md- Feedback system guide - ✅
tutorials/postgres-to-papr.md- Postgres integration tutorial
Files to Update (11 Existing Files)
- ✅
guides/authentication.md- external_user_id section - ✅
guides/document-processing.md- Prerequisites + hierarchy clarification - ✅
guides/custom-schemas.md- When to use schemas, unique identifiers - ✅
sdks/python.md- Serialization + external_user_id examples - ✅
sdks/typescript.md- Serialization + external_user_id examples - ✅
guides/search-tuning.md- rank_results section - ✅
quickstart/*- Update all examples to use external_user_id - ✅
overview/index.md- Add structured data to input paths - ✅
overview/use-cases.md- Add Postgres integration row - ✅
overview/structured-data.md- Enhance with connection use case
Effort Estimate
| Priority | Tasks | Estimated Time |
|---|---|---|
| 🔴 HIGH | 4 major updates | 8-10 hours |
| 🟡 MEDIUM | 2 updates | 3-4 hours |
| 🟢 LOW | 1 update | 1 hour |
| TOTAL | 7 updates | 12-15 hours |
Implementation Order
Week 1: High Priority
- Day 1-2: external_user_id clarification (authentication.md + all quickstarts)
- Day 2-3: Postgres/SQL integration tutorial (NEW)
- Day 3-4: Memory policies guide (graph-control.md + node-constraints.md)
- Day 4-5: Schema prerequisites (document-processing.md + custom-schemas.md)
Week 2: Medium Priority
- Day 1: Search response serialization (sdks/python.md + typescript.md)
- Day 2: Feedback endpoints guide (feedback-and-evaluation.md)
Week 3: Low Priority
- Day 1: rank_results documentation (search-tuning.md)
Success Metrics
After implementing these updates, we should see:
- ✅ Fewer support questions about user_id vs external_user_id
- ✅ Better schema adoption - developers understand when/how to use them
- ✅ More structured data integrations - Postgres use case is discoverable
- ✅ Higher feedback usage - developers know how to improve retrieval
- ✅ Faster onboarding - clear examples for common patterns
Key Takeaways
What We Fixed (No Docs Needed)
- ✅ Namespace filtering bug
- ✅ Search performance issues
- ✅ Cold start latency
- ✅ ACL auto-population bug
- ✅ Groq fallback issue
What We Need to Document
- 🔴 external_user_id is the primary developer-facing parameter
- 🔴 Hierarchical chunking is automatic, schemas are for domain entities
- 🔴 Memory policies control graph generation with fine-grained rules
- 🔴 Postgres → Papr is a major use case that needs prominence
- 🟡 Feedback endpoints improve retrieval quality
- 🟡 Search response serialization patterns
What Makes Papr Unique
- Connects structured + unstructured data - This is the killer feature
- Automatic hierarchy - Developers don't manage document structure
- Flexible policies - From auto extraction to exact control
- Continuous improvement - Feedback loop for better retrieval
Next Steps
- Review this summary with team
- Prioritize which updates to tackle first
- Assign documentation writing tasks
- Track progress against 12-15 hour estimate
- Measure impact on support ticket volume
Questions? See full analysis: ENTERPRISE-FEEDBACK-ANALYSIS.md