docs: photo pipeline Archify workflow map (7-node spine) + JSON source

This commit is contained in:
2026-09-06 18:22:12 +10:00
parent af433d7f7f
commit 8527bf6434
2 changed files with 13927 additions and 0 deletions

View File

@@ -0,0 +1,244 @@
{
"schema_version": 1,
"diagram_type": "workflow",
"meta": {
"title": "Photo Pipeline \u2014 Google Takeout \u2192 Master Archive \u2192 Immich \u2192 S3",
"animation": "trace",
"visual_preset": "signal-flow",
"quality_profile": "showcase",
"views": [
{
"id": "main",
"label": "Photo journey",
"focus": [
"takeout",
"watch",
"ingest",
"quality",
"review",
"bydate",
"immich"
],
"note": "Follow a photo from Google to Immich."
},
{
"id": "review",
"label": "Review",
"focus": [
"review",
"bydate"
],
"note": "Human gate and cleanup."
},
{
"id": "durable",
"label": "Durability",
"focus": [
"bydate",
"immich"
],
"note": "Backup layers."
}
],
"output": "docs/photo-pipeline-map.html",
"viewBox": [
1400,
800
]
},
"lanes": [
{
"id": "source",
"label": "Source (cloud)"
},
{
"id": "pipeline",
"label": "Pipeline (.13 Prefect)"
},
{
"id": "reviewer",
"label": "Human Review"
},
{
"id": "archive",
"label": "Master Archive"
},
{
"id": "serve",
"label": "Serve & Durability"
}
],
"phases": [
{
"id": "fetch",
"label": "Acquire",
"fromCol": 0,
"toCol": 0
},
{
"id": "process",
"label": "Fingerprint + verdicts",
"fromCol": 1,
"toCol": 3,
"variant": "emphasis"
},
{
"id": "gate",
"label": "Human gate",
"fromCol": 4,
"toCol": 4,
"variant": "dashed"
},
{
"id": "land",
"label": "Land + protect",
"fromCol": 5,
"toCol": 5,
"variant": "dashed"
}
],
"groups": [],
"mainPath": [
"takeout",
"watch",
"ingest",
"quality",
"review",
"bydate",
"immich"
],
"nodes": [
{
"id": "takeout",
"lane": "source",
"col": 0,
"type": "cloud",
"label": "Google Takeout",
"sublabel": "134GB export"
},
{
"id": "watch",
"lane": "pipeline",
"col": 1,
"type": "frontend",
"label": "photo-watch",
"sublabel": "extract + stage"
},
{
"id": "ingest",
"lane": "pipeline",
"col": 3,
"type": "backend",
"label": "photo-ingest",
"sublabel": "sha256 + dhash dedup"
},
{
"id": "quality",
"lane": "pipeline",
"col": 5,
"type": "backend",
"label": "quality-scan",
"sublabel": "PIL blurry/dark"
},
{
"id": "review",
"lane": "reviewer",
"col": 5,
"type": "frontend",
"label": "Review",
"sublabel": "approve / reject"
},
{
"id": "bydate",
"lane": "archive",
"col": 5,
"type": "database",
"label": "by_date master",
"sublabel": "35K files"
},
{
"id": "immich",
"lane": "serve",
"col": 5,
"type": "cloud",
"label": "Immich",
"sublabel": ".35 library"
}
],
"edges": [
{
"id": "takeout-watch",
"from": "takeout",
"to": "watch",
"variant": "default"
},
{
"id": "watch-ingest",
"from": "watch",
"to": "ingest",
"variant": "default"
},
{
"id": "ingest-quality",
"from": "ingest",
"to": "quality",
"variant": "emphasis"
},
{
"id": "quality-review",
"from": "quality",
"to": "review",
"variant": "default",
"label": "verdicts"
},
{
"id": "review-bydate",
"from": "review",
"to": "bydate",
"variant": "emphasis",
"label": "approve \u2192 merge"
},
{
"id": "bydate-immich",
"from": "bydate",
"to": "immich",
"variant": "default",
"label": "import"
}
],
"cards": [
{
"dot": "cyan",
"title": "Ingest result",
"items": [
"12.3K new photos",
"225 dups skipped",
"272 HEIC deferred"
]
},
{
"dot": "amber",
"title": "Rejected cleanup",
"items": [
"986 photos in trash (1.5GB)",
"recoverable until purge"
]
},
{
"dot": "emerald",
"title": "Approved \u2192 master",
"items": [
"1,664 merged to by_date",
"imported to Immich"
]
},
{
"dot": "rose",
"title": "Known gap",
"items": [
"Phone-only photos unbacked",
"decision deferred"
]
}
]
}

13683
docs/photo-pipeline-map.html Normal file

File diff suppressed because it is too large Load Diff