- Stage 8: replace 3x3 complexity x EAN grid with single syndicationType
dropdown -- Salsify Prep Only (4d), Syndication PDP (5d), Syndication
Non-PDP (3d). Advisor maps contentType to PDP/Non-PDP only; Salsify
Prep Only is not surfaced in the Advisor (team decision).
- Stage 6 (Advisor): derive complexity from staticWorkType / videoWorkType
/ needsHTML toggles via deriveProductionComplexity helper. Precedence
bespoke > creation > complex > simple, max across enabled toggles.
HTML-only falls back to complex (placeholder, may revisit).
- Bump config.json cache-bust to 2026050801.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Simple row reduced across all brackets (4/5/7/7/7 → 2/4/6/6/6). Creation reshaped (5/10/11/13/13 → 7/9/11/11/11). Simple default revision rounds 1 → 2. Complex, bespoke and Opera Upload unchanged. Cache-bust bumped to 2026050601 on both scripts so browsers refetch the new config.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The deadline marker was positioned relative to the outer container but
calculated relative to the timeline column only, placing it LABEL_W px
too far left. Adds LABEL_W offset so EST. COMPLETION (Advisor) and
SUGGESTED LIVE (Calculator) lines land on the correct dates.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Rename 'live by' label to 'When do you need Oliver tasks completed by?'
- Remove 2-week syndication buffer from calculation and all caveat text
- Add 'Brief Accepted By' + 'Submit Brief By' (2 days earlier) dual lozenges
- Update caveat to include 'assume suitable working files have been provided'
- Add rounds of amends inputs per content type (Static, Video, HTML, Translation)
- Remove handover days from all stage calculations
- Port Gantt sub-phase view to Brief Advisor (WIP/Feedback/Revision, Download PNG)
- Add hidden SLA one-pager link placeholder (#slaPagerLink)
- Restore 200–300 and 300–400 asset volume brackets in Brief Advisor dropdown
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Simplifies asset volume from 6 brackets to 3 (0–50, 50–100, 100–200) per team sign-off.
Updates Production cross-reference table and Opera Upload day map to match new brackets.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- HTML/Rich media default brief type → Creation (was Adaptation)
- Video dropdown now shows all brief types (same as static)
- Static + Video combined: new asset wins over adapting → Creation
- Urgent Brief: hide deadline banner, timeline, and summary cards
- Urgent Brief: add Show/Hide timeline details toggle
- Urgent Brief (eventing, 0-30, static resizing): 6 hrs production + confirmation time
- Video tab: removed (new KV & Visual ID) label, restricted to Adaptation/Creation with video-specific descriptions
- Static feedback days label updated with urgent brief note
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Track page views, results clicks, copy-to-email on market page.
Track login events with auth method (SSO/email) and L'Oréal domain detection.
New analytics.html dashboard with charts (Chart.js), period/page filters.
Localhost auth bypass for local dev testing.
Post-deploy: run npm run migrate to create usage_events table.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Form: When Static imagery is toggled ON, shows 3 radio options:
- New Asset (creation) — default
- Adapting existing (adaptation)
- Resizing / Cropping (simple)
This feeds into determineBriefType() for smarter auto-suggestions.
Results: Replace static brief type text with a dropdown populated
from all 9 brief types in config.json (consistent with full calculator).
Changing the dropdown recalculates the entire timeline instantly.
Description shown in blue info box with bullet points.
Notes when brief type was manually changed from suggestion.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The base stage matrix for brief types like country_pull_adaptation
includes Translation stages by default. In the Brief Advisor, the
user's toggles should be authoritative — if Translation is OFF, those
stages must be removed regardless of the base matrix.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add step="0.1" to all 4 feedback day inputs (static, video, HTML, translation)
- Change parseInt → parseFloat so fractional values like 0.5 or 2.5 are preserved
- Business day arithmetic naturally rounds up fractions to next whole business day
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add Copy for Email button with rich HTML table (Outlook-compatible)
- Show start → end dates on each timeline stage row
- Syndication toggled ON by default
- Fix translation feedback default to 5 days (matches config.json)
- Restore form validation (disabled button until all fields filled)
- Fix verdict logic in full calculator to include syndication buffer
in deadline comparison (suggestedGoLive vs goLive)
- Differentiate verdict message: production-over vs syndication-short
- Update README with client estimator docs
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Rename client.html → market.html and client-script.js → market-script.js
- Update top disclaimer to match bold amber results banner
- Add collapsible "Days needed for feedback" field on each toggle
(Static, Video, HTML, Translation); feeds into stage calculations
- Add "Earliest Go-Live" card in results showing the soonest possible
date if the brief were submitted today
- Update deploy.sh with new filenames
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>