Source of truth
This view renders the seed data baked into this HTML. Once the Airtable HARMONY_CALENDAR table is populated (run airtable-seed-harmony-calendar.py), this view fetches from Airtable on each load and the seed becomes a fallback. Airtable is canonical; this HTML is a cache. See the Setup & Sync tab for integration steps.
Nucleus integration — how motions become production
The Harmony Calendar is the strategic register. Each motion entered here is received by CON-002 Editorial Calendar in the Nucleus, which routes production tasks via the Fulfillment Engine (INFRA-011). From there: CON-003 Core Visuals (Yohance owns, 50% human touch, multi-platform optimisation automated), CON-004 Video Shorts, CON-005 Lead Magnet, and CON-006 Social Scheduling (20% human touch — automated daily/weekly distribution across LinkedIn, Instagram, X, Facebook, YouTube). The day-to-day social cadence is mostly automated by CON-006 once CON-002 metadata and CON-003 visuals are in place; the marketing layer (Anyah, Yohance, Kevyn under Gem) provides strategic and creative input rather than daily manual posting. WG-21.6 (closes April 30 2026) produces the 83-template library that feeds CON-003 and CON-006. See Cascade Execution Guide DT-24 for full detail.
Sub-GTM filtering — how service-line GTMs read this calendar (DT-26)
This is the only calendar in the Master GTM system. Service-line sub-GTMs (Commerce, Development, Engagement, Products, Growth, Content, Identity, Intelligence, DX, Support, Website Release) do NOT have their own calendars. Each sub-GTM HTML embeds a filtered view of this calendar — Airtable view filtered by service: <service-line> tag on each motion. When the Commerce sub-GTM HTML loads, it shows only motions tagged service: commerce; Identity shows only service: identity; etc. This keeps the strategic register single-source while giving each sub-GTM the operational view it needs. The service tag is a required field on every motion record. See Cascade Execution Guide Appendix D for the full sub-GTM Framework.
Critical scope boundary · DT-28
This Harmony Calendar holds Webgold Designs Ltd marketing motions only. Buzz Media and Buzz Experiences events, campaigns, and content do NOT appear here. Buzz Media (BC-22) and Buzz Experiences (BX-23) will have their own future GTMs and their own calendars in 2027. Where Megan Gill (organism-wide Events & Activations Lead) contributes to a motion in this calendar, it is because the motion is a Webgold Designs authority event (workshops, executive roundtables, Caribbean Digital Awards, Caribbean Digital Transformation Conference, CommUnity 2026 sponsorship). Other-entity events fall outside Master GTM scope.
| ID | Motion | Sprint · Drop date | Channels | Category | Voice / Author | Tempo |
|---|
Content Portfolio Ratio Validator
Counts the next-fortnight motions for each channel by category and compares to the §6 target ratio for that channel and phase. Surfaces drift before it ships. Run this weekly as part of the Tempo Gate review.
Phase 4 setup steps
To move from local seed data to live Airtable sync, complete these steps in order. Until step 5 is complete, this HTML reads from the embedded seed below.
Setup checklist
- ✓ DONE. HARMONY_CALENDAR table created in Airtable base
appaRLtvQEiOHwdWzon 2026-05-07 viaairtable-create-gtm-tables.py. Table ID:tbloA7vdWTtPStYm8. - ✓ DONE. 45 motions seeded into the table on 2026-05-07 via
airtable-seed-harmony-calendar.py. Pre-MVP through Full Launch covered. - ✓ DONE. Verified — 45 records present in Airtable HARMONY_CALENDAR.
- Wire this HTML to live Airtable fetch. The
HARMONY_CALENDAR_TABLE_IDconstant at top of the JS section is set totbloA7vdWTtPStYm8. To switch fromSEED_MOTIONS(current rendering source) to live Airtable fetch: add a Cloudflare Worker endpoint (similar to PCC's/api/boot) that proxies an Airtable read with a server-side PAT, then call it on page load and replaceSEED_MOTIONSwith the response. Tracked as T-MGTM-140 in the Cascade Master Task Register. - Confirm three-copy sync. Per Cascade Methodology v1.0, this HTML exists in three locations: project folder canonical,
pcc-prototype/, and ops.webgold.co live. After every change, all three are byte-identical. - Schedule the nightly refresh. Cloudflare Worker or scheduled task that re-fetches Airtable data and updates the cached embedded seed (so the page renders instantly even if Airtable is slow).
Operational rhythm
- All channel and content owners add motions to Airtable as they're scheduled.
- The Filter (Phase 6) is run on each motion before
filter_statusmoves to Pass. - The Tempo Gate (Phase 5) sets
tempo_stateweekly: Lean-in / Hold / Pull-back. - The Ratio Validator (this HTML) is run weekly as part of the Tempo Gate review.
- Drop dates are auto-aligned to the WG-25 sprint calendar where applicable.