Scaffold status: 100% (verified by the integrity sweep). Sources parse · cross-refs resolve · 4 gates pass · content voice-clean · production orchestrator runs · office builds. The plan is locked and accurate at the granular level. What remains for real-life live is external activation, not scaffold defects.
cta-direction.yaml (offer ladder + SIE), email-direction.yaml (per-block render), social-direction.yaml (9-channel adaptation), asset_specs.yaml (templates).blog-reconciliation.yaml (11 new / 34 existing-link), insights-catalog.yaml (77 live posts).engine/stages/publish_run.py (staging dry-run works; production gated).duda.py, blotato.py, blogger.py, reddit.py; UTM spine engine/lib/utm.py.| Channel | Status | Action |
|---|---|---|
| Blog → Duda | API key read-only (POST 405) | Use the Duda MCP create_blog_post (wire the MCP), or enable a write-scoped API key |
| Email → Resend | key valid, no verified domain | Add temerarii.com in the Resend dashboard → paste DNS at Namecheap → verify |
| SMS → Twilio | no integration/creds | Provide Twilio creds; build twilio.py (mirror duda.py) |
| Social → Blotato | 401 last checked | Re-auth Blotato; confirm the 9 channels |
| Booking → Cal.com | no key (the keys sent were Resend re_) | Provide a cal_live_… key |
| CRM → Airtable | key present, base not built | Build lead table + 6 pipeline stages + scoring (unblocked) |
| Duda hygiene | 50 off-theme private-markets drafts | Decide keep / archive / delete before launch |
Against the locked plan: 11 net-new 2,500w articles (8 drafted, 3 to write: W29/W30/W33) · email/social/video assets per the directed treatments · per-cell CTA copy per cta-direction.yaml. Output → on-device + Cloudinary (media) → publish via the channels above.
publish_run.py --mode staging (dry-run plan + Duda drafts) + the office calendar as the reviewable plan.--mode production (gated: refuses unless gates pass AND the channel is live).Bottom line: the scaffold is 100%. Go-live = the 6 account actions above + the generation run. No further planning review is needed — passes have converged (pass 5 found 0 defects).