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:
DJP 2025-11-14 14:22:05 -05:00
parent 594c93c905
commit e9acff76c5

View file

@ -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)