Schema Reference
The current output contract is schema v4.
Canonical Schemas
- v4 (current): https://schemas.shruggie.tech/data/shruggie-indexer-v4.schema.json
- Local v4 copy: shruggie-indexer-v4.schema.json
- v2 (legacy reference): shruggie-indexer-v2.schema.json
Top-Level Model
Each IndexEntry represents exactly one indexed filesystem item.
Required identity and structure fields include:
schema_version(const4)id,id_algorithm,typename,extension,size,hashesfile_system,timestamps,attributes
Optional fields include:
itemsmetadatarelationshipsduplicatesencoding,mime_type,session_id,indexed_at
Relationship Annotations
relationships[] is present only when a rule match exists.
RelationshipAnnotation fields:
target_id: referenced related entry IDtype: relationship classification (for examplejson_metadata,subtitles)rule: matched rule namerule_source:builtin,user, orpack:<name>confidence: integer enum1|2|3predicates: array ofPredicateResult
PredicateResult fields:
name(required)satisfied(required)pattern(optional)patterns(optional)
Confidence semantics:
3: all predicates satisfied, or no predicates declared2: partial predicate satisfaction1: no predicates satisfied
MetadataEntry in v4
MetadataEntry remains available for generated metadata (for example ExifTool output), while sidecar relationships are represented in relationships[] instead of sidecar-ingested metadata records.
Removed/Restructured v2/v3-Era Concepts
In the v4 model, active output no longer relies on:
- legacy
_meta2.json/_meta3.jsonnaming for new outputs - sidecar ingest/merge as primary representation
- pre-v4 merge/delete operation modes
Legacy artifacts remain relevant only for compatibility workflows.
Output File Naming
- File entries:
<name>_idx.json - Directory entries:
<dirname>_idxd.json