Metadata Schema: Scanned Manuals¶
What it is¶
A YAML-based metadata schema that defines the structure for indexing, tagging, and retrieving scanned household manuals. It ensures that technical documentation is stored with enough context to be useful for both human reference and automated AI retrieval.
As of June 2026, this schema enables agents like Claude 4.8 and GPT-5.5 to navigate complex physical documents by providing a semantic "table of contents."
What problem it solves¶
Scanned manuals are often large, unsearchable PDFs. Without a schema, finding specific information (like the "Troubleshooting" section for a specific dishwasher model) is difficult. This schema enables "Section-Aware" indexing, making it possible for an AI agent to pinpoint exactly where the relevant information is located, reducing hallucinations and retrieval latency.
Where it fits in the stack¶
The schema sits at the Data Management Layer. It is used by Document Management Systems (like Paperless-ngx) to organize files and by Vector Databases (like Chroma or Pinecone) to structure metadata for Retrieval-Augmented Generation (RAG).
Typical use cases¶
- Automated Troubleshooting: An agent reads the "Error Codes" section of a manual to explain a blinking light on an appliance.
- Maintenance Reminders: Extracting service intervals from a car manual to create calendar events.
- Home Inventory: Building a digital twin of a home's appliances with direct links to their manuals.
- Auto-Discovery: MCP servers can expose tools to list all available manuals and their associated metadata (manufacturer, model) to autonomous agents.
Strengths¶
- Granularity: Section-aware page ranges allow for precise retrieval of technical instructions.
- Consistency: Standardizes how model numbers and manufacturers are recorded across the entire library.
- LLM-Friendly: Structured metadata makes it easier for LLMs to filter results before reading content.
- MCP Native: Integrates with Model Context Protocol 3.0 for querying via agentic tools.
Limitations¶
- Manual Effort: Initially requires identifying page ranges for key sections (unless automated via VLM/OCR post-processing).
- Schema Evolution: May need updates as new types of appliances or specialized technical documents are added.
- OCR Quality: Reliability is strictly dependent on the quality of the underlying OCR (e.g., Tesseract vs. Omni Tools VLM).
When to use it¶
- When building a "Household Manual RAG" system for local troubleshooting.
- For high-stakes appliances where troubleshooting speed is critical (HVAC, solar inverters, security systems).
- When digitizing a large physical library of paper manuals to ensure they remain actionable.
When not to use it¶
- For simple, one-page quick start guides that don't have multiple sections.
- If the manufacturer provides a robust, searchable online portal that the agent can already access via a specialized MCP tool.
- For ephemeral or disposable product documentation.
Getting started¶
1. Tagging in Paperless-ngx¶
Ensure the following custom fields and tags are configured:
- Custom Fields: Manufacturer, Model Number, Product Name.
- Tags: Apply the Admin/Manual tag to trigger the ingestion pipeline.
2. Ingestion Pipeline¶
Use the process_manuals.py script to extract text and sections. The script uses "Section-Aware" chunking where each section (e.g., "Troubleshooting") is treated as a coherent unit.
CLI examples¶
Use the following commands to process and query manuals.
# Process a PDF manual and store in ChromaDB
python3 scripts/process_manuals.py /path/to/manual.pdf --output processed_manual.json --chroma-dir ./chroma_db
# Query the manuals database for a specific problem
python3 scripts/process_manuals.py --query "How do I clean the filter on my Bosch dishwasher?"
# Export metadata for a specific model
grep "SMS6ZCI42E" processed_manual.json -A 10
API examples¶
The schema is typically defined in YAML and consumed by Python-based processors.
Schema Definition (YAML)¶
manual_metadata:
document_type: "Manual"
product_name: "String (e.g., 'Dishwasher Series 6')"
manufacturer: "String (e.g., 'Bosch')"
model_number: "String (e.g., 'SMS6ZCI42E')"
year_of_manufacture: "Integer (optional)"
language: "ISO 639-1 Code (e.g., 'en', 'de')"
sections:
- title: "String (e.g., 'Installation')"
page_range: [start_page, end_page]
tags:
- "Admin/Manual"
- "Appliance/Kitchen" # Example category
Metadata Integration¶
Include manufacturer and model_number in every vector's metadata in the Vector DB to allow for high-precision filtered retrieval during agentic loops.
Related tools / concepts¶
- Paperless-ngx: The primary storage engine for these documents.
- RAG Pattern: How this metadata is used to improve AI responses.
- Tag Taxonomy: The broader tagging system including
Admin/Manual. - Warranty Extraction: A complementary schema for receipts and coverage.
- Home Admin Agent Architecture: The system that consumes this data.
- n8n: Orchestrating the flow from scan to RAG database.
- Agentic Workflows: Multi-step processes for handling document intake.
- Manual Processor Script: The reference implementation for PDF processing and vector storage.
- Model Context Protocol (MCP): For querying manuals via agentic tools.
Sources / References¶
Contribution Metadata¶
- Last reviewed: 2026-06-26
- Confidence: high