This page defines the integration flow for McKinsey Week in Charts customizer reports: source intake, visual profiling, builder contract, customizer validation, publishing, card capture, chart-category placement, and accumulated integration notes.
1. Source Intake
Purpose: Start from the AUROS McKinsey report row, not from an ad hoc builder.
Inputs
- Source URL
- Slug
- Title
- Visible publish date
- Teaser/description
- Tags
- Related article/report title, date, and URL
- Saved McKinsey HTML path
- Saved visual asset path
- Existing real chart classification
Output
tmp/mckinsey_weekly_auros_intake_rows.json- Per-report intake manifest
Gate
- No AUROS row means no build.
- No saved HTML or visual asset means no build.
2. Source Verification
This is the concrete source-file checklist before visual decisions or builder work.
Verify
- Saved HTML exists.
- Saved visual asset exists.
- Saved HTML title/date/source text match the expected report.
- Visual asset can be opened/read.
- Asset type is recorded: gif, svg, svgz, png, or other.
Source Notes
- SVGZ may be plain XML and must be inspected before assuming gzip.
- Saved McKinsey meta descriptions can be stale; visible page/body/source visual wins.
- Saved source image or GIF frame is the tie-breaker for layout, values, labels, and separators.
3. Visual Profile
Purpose: Describe what is actually in the source visual before writing or changing builder code.
Profile Records
- Chart type classification
- Asset type
- Panel count
- Mark shape: circle, square, diamond, silhouette, polygon, bubble, line, bar, etc.
- Unit count
- Series/colors
- Values and display labels
- Fill order: bottom-up, column-fill, center-out, spiral, source-mask, state-based, or not applicable
- Separators/dividers
- Callouts/annotations
- Icons
- Value label position
- Animation behavior
- Final capture state
- Geometry rule: generated, source-derived, or source-mask
Output
tmp/mckinsey_weekly_visual_profiles/<slug>.json
Gate
- No visual profile means no builder work.
4. Accumulated Integration Notes
Purpose: Every integration starts by reading prior notes for the report’s real chart type and ends by adding any new lesson learned.
Note Groups
- Source intake
- Visual profile
- Customizer
- Capture
- Website placement
How Notes Are Used
- Before a new report is built, the pipeline loads notes for its chart type from
AUROS.CHARTS.ChartCustomizationIntegrationNote. - The notes-used evidence file is written to
tmp/mckinsey_weekly_notes_used/<slug>.json. - After the report is finished, new warnings/rules are accumulated so the next report starts smarter.
Reusable Lessons
- Preserve the customizer separator.
- Fixed source rows do not get add/remove/sort controls.
- Capture only the final chart-ready state.
- Do not drop dividers, callouts, icons, percent signs, or source-specific labels.
- Chart-category customization pages must receive the report card after weekly parent refresh.
5. Builder Contract
This is what a report builder must produce before publish is allowed.
Required Outputs
- Default spec
- Source-derived data
- Runtime JS
- Widget block HTML
- Local preview
- WordPress payload
- Build manifest
- Capture/card manifest entry
Build Manifest Records
- Source files used
- Generated artifact paths
- Customizer section order actually rendered
- Expected values/counts/labels
- Capture selector
- Ready selector
- Report-card/category placement expectation
Gate
- Missing manifest or required artifact blocks publish.
6. Customizer Validation
This is a checklist, not a vague audit dashboard.
Validate
- Customizer separator exists.
- Customizer sections match the report manifest.
- Standard customizer shell/card formatting exists.
- Fixed data tables do not expose add/remove/sort controls.
- No duplicate controls edit the same data field.
- Chart-ready marker exists.
- Source values/counts/labels are present.
- Source-specific required features exist: dividers, callouts, icons, sprites, range colors, state transitions, value suffixes, or final-state capture behavior.
Gate
- Failed local validation blocks publish.
7. Publish And Live Verification
Publish only after local validation passes.
Verify
- Child page returns 200.
- Purple back button exists.
- Title/date/tags/intro/related link are correct.
- Pre-chart Chart family and To read blocks exist.
- Widget renders.
- Customizer renders.
- Chart-ready marker appears.
Output
CustomizerWordPressUrlon the AUROS report row.- Latest status/timestamp only.
8. Card Capture And Distribution
This connects the rebuilt report to the website.
Capture
- Wait for
.dz-ltw__svg[data-chart-ready="true"]. - Capture the final settled state, not an empty or mid-animation frame.
Generate
- Raw capture image
- Display-module card image
- Weekly parent card manifest entry
Place Card
- McKinsey weekly reports parent grid
- Real chart-type customization page under core-chart-types
Gate
- No card image means not complete.
- No weekly parent placement means not complete.
- No chart-category customization placement means not complete.
9. What Not To Do
Do not invent fake chart templates or public taxonomy.
Do not expose WordPress IDs, raw DB IDs, sync timestamps, or routing junk on public pages.
Do not publish a child page without the parent card link.
Do not create process pages that are just static prose with no relation to the real pipeline.
Do not treat generated evidence as the source of truth; AUROS owns report and CHARTS owns chart-page placement/notes.