How to read the structured feedback Armbrain provides after ingesting transcripts and documents, and how to act on skipped or failed files.
Why This Matters
After ingesting a meeting transcript or batch of documents, the natural question is: "What actually landed?" Before receipts, the answer was a vague word count and a hope for the best. With receipts, you get a per-file breakdown of what was extracted, what was skipped, and exactly what to do about the gaps.
This is especially valuable when:
- Ingesting a folder of mixed file types from Google Drive (some will be skipped)
- Running auto-ingest from Granola and wanting to confirm coverage
- Onboarding a new client with a large document dump
What You Get After Ingestion
Every ingestion -- whether from auto-ingest, the CLI, or pasting a transcript in chat -- returns a structured receipt. The receipt appears in the conversation as formatted markdown.
Single Transcript Receipt
After ingesting a meeting transcript:
## Ingestion Receipt: Acme Corp
**Source:** Meeting transcript -- granola-meeting-123
**Sections processed:** 4
**Memories extracted:** 6 (5 new, 1 updated)
### Breakdown by Type
- **Decision:** 2
- **Commitment:** 1
- **Preference:** 1
- **Campaign Outcome:** 1
- **Fact:** 1
The receipt tells you at a glance:
- How many chunks the transcript was split into
- How many memories were extracted (and how many were new vs updates to existing memories)
- What types of knowledge were found
Batch Ingestion Receipt
When ingesting multiple files (from a folder or connected source), the receipt expands to cover each file:
## Ingestion Complete: Acme Corp
**Source:** Google Drive
**Files:** 12 processed, 2 skipped, 1 failed
### Processed (12 files, 47 memories extracted)
| File | Type | Memories | Key Entities |
|------|------|----------|-------------|
| Q1 Campaign Report.gdoc | Google Doc | 8 | Sarah Chen, Q1 budget, LinkedIn campaign |
| Brand Guidelines v3.pdf | PDF | 5 | Logo usage, Pantone 2935C, Montserrat |
| ... | ... | ... | ... |
For large batches (50+ files), the per-file table is truncated after 20 rows with a summary of the rest.
Reading the Receipt Fields
| Field | What It Means |
|---|---|
memories_new | Memories that did not match anything existing -- fresh knowledge |
memories_updated | Memories that were similar enough to an existing memory to trigger reconsolidation (update instead of duplicate) |
memories_skipped | Chunks that produced no extractable memories (small talk, logistics, content below the confidence threshold) |
by_type | Breakdown by memory type -- shows the distribution of what was found |
receipt | The formatted markdown summary for display |
Zero Memories Extracted
When a transcript produces zero memories, the receipt explains why and the meeting is NOT marked as ingested. This means it will be retried on the next auto-ingest cycle in case the issue was transient (embedding service down, etc.).
## Ingestion Receipt: Acme Corp
**Source:** Meeting transcript -- granola-meeting-456
**Sections processed:** 3
**Memories extracted:** 0
No extractable content found. This may happen with very short meetings,
scheduling-only calls, or transcripts with heavy crosstalk.
Skip Reports with Actionable Next Steps
When files are skipped or fail during ingestion, the receipt includes a "Next Steps for Skipped Items" section. Instead of a dead-end error message, you get specific actions grouped by remediation type.
Example Skip Report
### Next Steps for Skipped Items
**Download and share directly** (3 files):
These files are in formats that cannot be exported as text. Download them and share in chat:
- `Q4 Deck.pptx` (PowerPoint)
- `Brand Assets.pdf` (PDF)
- `Competitor Analysis.docx` (Word doc)
**No action needed** (2 files):
- `team-photo.jpg` -- Image (not text-based)
- `old-report.gdoc` -- Already ingested March 15
Skip Reason Reference
| Skip Reason | What to Do |
|---|---|
| Unsupported format (PDF, DOCX from Drive) | Download from Drive and share directly in chat, or drop into the client's watch folder |
| Spreadsheet (XLSX, PPTX) | Copy key data into a Google Doc first for best extraction results |
| Image file (JPG, PNG, SVG) | Images cannot be ingested as text. If it contains important info (screenshot of a strategy), describe it in chat |
| Video or audio file | Share the transcript instead. Use Granola, Otter.ai, or Fathom to generate one |
| File too large (>100K characters) | Split into sections or share the most important parts |
| Duplicate (already ingested) | No action needed. The original ingestion date is shown |
| API error (timeout, permission) | Check that the file is shared with your Google account, then retry |
| Empty file | No action needed |
Grouped Actions
Skip reports group files by remediation type to reduce noise. If 5 files need manual download, they appear together under one heading rather than 5 separate messages. This keeps the output scannable when you are dealing with large batches.
Practical Workflow
After Auto-Ingest (Granola)
Auto-ingest runs automatically and processes meetings that have confident client mind matches. Check the receipt to confirm:
- The transcript was chunked correctly (sections processed > 0)
- Memories were extracted (memories_new > 0)
- The type distribution makes sense for the meeting (a strategy session should produce decisions and commitments, not just facts)
If zero memories were extracted from a meeting you know was substantive, check that the transcript quality was good (clear audio, speaker labels present).
After Bulk Onboarding
When onboarding a new client with a folder of documents:
- Review the receipt for the total memory count across all files
- Check the skip report for files that need manual handling
- Download and share any skipped PDFs or DOCX files
- Ask "how healthy is this client's knowledge?" to see if the ingestion filled coverage gaps
Key Details
- Receipts are conversation-only. They're shown in chat, not saved automatically. If you want a record, ask Armbrain to save it as a meeting note.
- Receipts render in both Claude Code and Claude Desktop. The markdown formatting is designed for both interfaces.
- Updated memories are NOT duplicates. When the receipt shows memories updated, it means Armbrain found a similar existing memory and merged the new information in rather than creating a duplicate.
- Skipped chunks are normal. Not every part of a transcript contains extractable knowledge. Small talk, meeting logistics, and filler content are skipped by design.
- Auto-ingest retries on zero extraction. If a meeting transcript produces zero memories, it is not marked as ingested and will be retried on the next cycle.