Add comprehensive A1→A4 workflow diagram with A5-A6 rejection cycle at top
Adds master flowchart at document start showing complete workflow from campaign creation through approval, including legal/compliance rejection and rework cycles. Master Workflow Diagram Features: 7 Phases Visualized: 1. Campaign Creation (A1 setup) 2. A1→A2 Master Download (automated every 5 min) 3. Agency Localization + CreativeX Scoring 4. A2→A3 Derivative Upload (automated) 5. Legal/Compliance/Brand Approval 6. A5→A6 Rejection Download (automated) 7. Agency Rework + Re-upload Rejection Cycle Details: - Legal reviewer adds compliance comments - IA&CC reviewer adds brand guideline feedback - General approver adds creative feedback - All comments sent to agency in single email - Agency fixes issues - Re-scores with CreativeX (mandatory) - Re-uploads with SAME tracking ID but NEW job number - Re-enters A2→A3 flow (can repeat multiple times) Color Coding: 🟣 Purple - CreativeX scoring (CRITICAL, highlighted twice) 🔵 Blue - Tracking IDs (critical links) 🔴 Red - Rejection path and comments 🟢 Green - Success/completion 🟠 Orange - Rework loop warnings Critical Requirements Called Out: 1. "🔴 CRITICAL: Submit EVERY derivative to CreativeX" - 200 derivatives = 200 analyses required - Emphasized in agency phase 2. "🔴 Re-submit to CreativeX" - MUST get new score for fixed version - Emphasized in rework phase 3. Legal/IA&CC/Approver comment flow - Shows 3 different reviewer types - All feedback consolidated in email 4. Tracking ID reuse - Blue highlighting shows where tracking IDs critical - Same ID used throughout rework cycles Example Shown: - Original: 6666_NUT_SUMMER_OLV_30S_16x9_DE_de_pOiJ9s.mp4 - Rework: 7777_NUT_SUMMER_OLV_30S_16x9_DE_de_pOiJ9s.mp4 ↑ New job number, SAME tracking ID ↑ Decision Points Visualized: - All assets successful? (A1→A2) - Score found in database? (A2→A3) - Approved? (A3 review) - Loops back if rejected Placement: - At very top of document (lines 11-136) - Before Table of Contents - First thing users see - Sets context for entire guide Impact: Users immediately see complete workflow including rejection paths and understand CreativeX is required at TWO points: initial upload AND rework. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
594c93c905
commit
e9acff76c5
1 changed files with 128 additions and 0 deletions
|
|
@ -8,6 +8,134 @@
|
|||
|
||||
---
|
||||
|
||||
## Complete Workflow Overview: A1 → A4 (with A5-A6 Rejection Cycle)
|
||||
|
||||
```mermaid
|
||||
flowchart TB
|
||||
subgraph Creation["PHASE 1: Campaign Creation"]
|
||||
A1_START[Campaign Manager creates campaign in DAM] --> A1_UPLOAD[Creative team uploads master assets]
|
||||
A1_UPLOAD --> A1_STATUS[Set campaign status to A1]
|
||||
end
|
||||
|
||||
subgraph A1toA2["PHASE 2: A1→A2 Master Download (AUTOMATED - Every 5 min)"]
|
||||
A1_STATUS -->|Script detects A1 campaign| A1_DETECT[a1_to_a2_download.py]
|
||||
A1_DETECT --> A1_DOWNLOAD[Download all master assets from DAM]
|
||||
A1_DOWNLOAD --> A1_TRACKING[Generate unique tracking IDs<br/>pOiJ9s, a7K9mP, bvSGyd]
|
||||
A1_TRACKING --> A1_BOX[Upload to Box with tracking IDs<br/>nutella_hero_pOiJ9s.mp4]
|
||||
A1_BOX --> A1_DB[Store in database with full metadata]
|
||||
A1_DB --> A1_CX{CreativeX in<br/>master metadata?}
|
||||
A1_CX -->|Yes| A1_CX_STORE[Store master score<br/>status='master-cx-score']
|
||||
A1_CX -->|No| A1_CX_SKIP[Log: No CreativeX normal]
|
||||
A1_CX_STORE --> A1_CHECK{All assets<br/>successful?}
|
||||
A1_CX_SKIP --> A1_CHECK
|
||||
A1_CHECK -->|Yes| A1_UPDATE[Update DAM status A1 → A2]
|
||||
A1_CHECK -->|No| A1_RETRY[Retry failed on next run]
|
||||
A1_UPDATE --> A1_EMAIL[Email: Masters ready for localization]
|
||||
A1_RETRY -.->|5 min later| A1_DETECT
|
||||
end
|
||||
|
||||
subgraph Agency["PHASE 3: Agency Localization + CreativeX Scoring"]
|
||||
A1_EMAIL --> AG_RECEIVE[Agency receives Box URLs + tracking IDs]
|
||||
AG_RECEIVE --> AG_DOWNLOAD[Download masters from Box]
|
||||
AG_DOWNLOAD --> AG_CREATE[Create localized versions<br/>DE, FR, IT versions + aspect ratios]
|
||||
AG_CREATE --> AG_CREATIVEX[🔴 CRITICAL: Submit EVERY derivative to CreativeX<br/>200 derivatives = 200 analyses required]
|
||||
AG_CREATIVEX --> AG_PDF[Receive PDF scorecard for EACH asset]
|
||||
AG_PDF --> AG_PDF_UP[Upload ALL PDFs to Box 350605024645]
|
||||
AG_PDF_UP --> AG_SCORE_RUN[Run creativex_scoring_storing.py]
|
||||
AG_SCORE_RUN --> AG_SCORE_DB[Scores stored in database<br/>status='active']
|
||||
AG_SCORE_DB --> AG_VERIFY[Verify: derivative count = score count ✅]
|
||||
AG_VERIFY --> AG_NAMING[Use Naming Tool for EACH derivative<br/>Copy exact filename]
|
||||
AG_NAMING --> AG_UPLOAD[Upload to Box A2→A3 folder<br/>With job number + tracking ID]
|
||||
end
|
||||
|
||||
subgraph A2toA3["PHASE 4: A2→A3 Derivative Upload (AUTOMATED - Every 5 min)"]
|
||||
AG_UPLOAD -->|Script detects files| A2_DETECT[a2_to_a3_upload_polling.py]
|
||||
A2_DETECT --> A2_PARSE[Parse filename: Extract tracking ID]
|
||||
A2_PARSE --> A2_LOOKUP[Load master metadata from database]
|
||||
A2_LOOKUP --> A2_CX_LOOKUP[Lookup CreativeX score by filename]
|
||||
A2_CX_LOOKUP --> A2_CX_CHECK{Score found?}
|
||||
A2_CX_CHECK -->|Yes| A2_CX_USE[Score: 71, URL: actual]
|
||||
A2_CX_CHECK -->|No| A2_CX_DEFAULT[⚠️ Score: 0, URL: placeholder<br/>Email warning sent]
|
||||
A2_CX_USE --> A2_BUILD[Build asset representation]
|
||||
A2_CX_DEFAULT --> A2_BUILD
|
||||
A2_BUILD --> A2_OVERRIDE[Override from filename:<br/>Language, Asset Type, Description]
|
||||
A2_OVERRIDE --> A2_MAP[Map asset type: EHI → heroimage]
|
||||
A2_MAP --> A2_STRIP[Strip to clean filename]
|
||||
A2_STRIP --> A2_UPLOAD[Upload to DAM Final Assets]
|
||||
A2_UPLOAD --> A2_DELETE[Delete from Box]
|
||||
A2_DELETE --> A2_EMAIL[Email: Upload successful]
|
||||
A2_EMAIL --> A2_STATUS[Campaign status: A3]
|
||||
end
|
||||
|
||||
subgraph Approval["PHASE 5: Approval Process"]
|
||||
A2_STATUS --> A3_REVIEW[Legal/Compliance/Brand review in DAM]
|
||||
A3_REVIEW --> A3_CHECK[Check quality, compliance, guidelines]
|
||||
A3_CHECK --> A3_DECISION{Approved?}
|
||||
end
|
||||
|
||||
subgraph Success["✅ APPROVED PATH"]
|
||||
A3_DECISION -->|✅ All checks passed| A4_STATUS[Status updated to A4]
|
||||
A4_STATUS --> A4_WEBHOOK[Webhook sent to Make.com]
|
||||
A4_WEBHOOK --> A4_LIVE[Assets go LIVE]
|
||||
A4_LIVE --> A4_DONE[🎉 Campaign Complete - Assets in market]
|
||||
end
|
||||
|
||||
subgraph Rejection["❌ REJECTED PATH - Rework Required"]
|
||||
A3_DECISION -->|❌ Issues found| A5_MARK[Approver marks specific assets:<br/>ECOMMERCE STATUS = NOT APPROVED]
|
||||
A5_MARK --> A5_LEGAL[Legal reviewer adds comments:<br/>Missing copyright, compliance issues]
|
||||
A5_LEGAL --> A5_IACC[IA&CC reviewer adds comments:<br/>Brand guideline violations]
|
||||
A5_IACC --> A5_APPROVER[General approver adds comments:<br/>Creative feedback]
|
||||
A5_APPROVER --> A5_STATUS[Campaign status → A5]
|
||||
end
|
||||
|
||||
subgraph A5toA6["PHASE 6: A5→A6 Rejection Download (AUTOMATED)"]
|
||||
A5_STATUS -->|Script detects A5| A5_DETECT[a5_to_a6_download.py]
|
||||
A5_DETECT --> A5_FILTER[🔍 Filter: Download ONLY<br/>NOT APPROVED assets]
|
||||
A5_FILTER --> A5_APPROVED[✅ APPROVED assets: Skipped<br/>Not re-downloaded]
|
||||
A5_FILTER --> A5_TRACKING[Lookup EXISTING tracking ID<br/>REUSE: pOiJ9s]
|
||||
A5_TRACKING --> A5_DOWNLOAD[Download rejected assets from DAM]
|
||||
A5_DOWNLOAD --> A5_BOX_UP[Upload to Box A5→A6 folder<br/>Separate folder from A1→A2]
|
||||
A5_BOX_UP --> A5_EMAIL_OUT[Email with ALL rejection comments:<br/>Legal + IA&CC + Approver feedback]
|
||||
A5_EMAIL_OUT --> A5_AGENCY[Agency receives detailed feedback]
|
||||
end
|
||||
|
||||
subgraph Rework["PHASE 7: Agency Fixes + Re-upload"]
|
||||
A5_AGENCY --> RW_DOWNLOAD[Download rejected assets from Box]
|
||||
RW_DOWNLOAD --> RW_REVIEW[Review ALL rejection comments]
|
||||
RW_REVIEW --> RW_FIX[Fix issues based on feedback]
|
||||
RW_FIX --> RW_CREATIVEX[🔴 Re-submit to CreativeX<br/>MUST get new score for fixed version]
|
||||
RW_CREATIVEX --> RW_PDF[Upload new PDF with updated score]
|
||||
RW_PDF --> RW_SCORE_RUN[Run creativex_scoring_storing.py]
|
||||
RW_SCORE_RUN --> RW_DB[Database updated with new score<br/>Old score marked 'superseded']
|
||||
RW_DB --> RW_NAMING[Use Naming Tool:<br/>NEW job number + SAME tracking ID]
|
||||
RW_NAMING --> RW_EXAMPLE[Example: 7777_NUT_SUMMER_OLV_30S_16x9_DE_de_pOiJ9s.mp4<br/>↑ New job | Same tracking ↑]
|
||||
RW_EXAMPLE --> RW_UPLOAD_A2[Upload to A2→A3 folder]
|
||||
RW_UPLOAD_A2 -.->|Re-enters A2→A3 automation| A2_DETECT
|
||||
end
|
||||
|
||||
subgraph ReworkLoop["🔄 Rework Can Repeat Multiple Times"]
|
||||
RW_NOTE1[Rejected again? → Back to A5] -.-> A5_STATUS
|
||||
RW_NOTE2[Assets can go through A5→A6<br/>cycle 2, 3, 4+ times until approved]
|
||||
end
|
||||
|
||||
style A4_DONE fill:#4CAF50,stroke:#2E7D32,stroke-width:4px,color:#FFF
|
||||
style A5_MARK fill:#EF5350,stroke:#C62828,stroke-width:3px
|
||||
style RW_CREATIVEX fill:#9C27B0,stroke:#6A1B9A,stroke-width:3px
|
||||
style AG_CREATIVEX fill:#9C27B0,stroke:#6A1B9A,stroke-width:3px
|
||||
style A1_TRACKING fill:#2196F3,stroke:#1565C0,stroke-width:2px
|
||||
style A5_TRACKING fill:#2196F3,stroke:#1565C0,stroke-width:2px
|
||||
style RW_NOTE1 fill:#FFE082,stroke:#F57C00
|
||||
style RW_NOTE2 fill:#FFE082,stroke:#F57C00
|
||||
```
|
||||
|
||||
**🔴 CRITICAL REQUIREMENTS HIGHLIGHTED:**
|
||||
1. **CreativeX Scoring (Purple):** Every derivative MUST be scored individually
|
||||
2. **Tracking IDs (Blue):** Critical link between master and derivatives, reused in rework
|
||||
3. **Rejection Comments (Red):** Legal, IA&CC, and approver feedback guide fixes
|
||||
4. **Rework Loop (Orange):** Can repeat until approved - same tracking ID maintained
|
||||
|
||||
---
|
||||
|
||||
## Table of Contents
|
||||
|
||||
1. [Executive Overview](#executive-overview)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue