tractatus/docs/EXTERNAL-COMMUNICATIONS-MANAGER-SPEC.md
TheFlow 2298d36bed fix(submissions): restructure Economist package and fix article display
- Create Economist SubmissionTracking package correctly:
  * mainArticle = full blog post content
  * coverLetter = 216-word SIR— letter
  * Links to blog post via blogPostId
- Archive 'Letter to The Economist' from blog posts (it's the cover letter)
- Fix date display on article cards (use published_at)
- Target publication already displaying via blue badge

Database changes:
- Make blogPostId optional in SubmissionTracking model
- Economist package ID: 68fa85ae49d4900e7f2ecd83
- Le Monde package ID: 68fa2abd2e6acd5691932150

Next: Enhanced modal with tabs, validation, export

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-24 08:47:42 +13:00

38 KiB

External Communications Manager - Technical Specification

Version: 1.0 Date: 2025-10-23 Status: Design Phase Implementation Target: Next Session


Executive Summary

Transform the "Blog Curation" page into a strategic "External Communications Manager" that generates culturally-aware content for 22 ranked global publication targets, from website blogs to letters to editors in major international outlets.

Strategic Value:

  • Unified communications hub for all external content
  • Culturally-sensitive content for global audiences
  • Consistent Tractatus messaging across channels
  • Governance-compliant (all content requires human approval)

1. Publication Target Research

Ranking Methodology

Publications are ranked by composite score (max 50 points) across 5 criteria:

  1. Influence for Plural Values Mission (0-10): Impact on AI policy discourse
  2. Acceptance Likelihood (0-10): Openness to external submissions
  3. Decision Maker Readership (0-10): Policy/tech leadership audience
  4. Objectivity (0-10): Editorial independence and fact-checking standards
  5. Transparency (0-10): Clear submission guidelines and accountability

Ranked Publication List (22 Total)

Rank 1-3: Premier Tier (42-43 points)

1. The Economist (43 points: 10+6+10+9+8)

  • Type: Letters to Editor, Op-Ed (rare)
  • Word Count: Letters: 200-250 words | Op-Ed: 800-1000 words
  • Submission: letters@economist.com
  • Requirements:
    • Must reference recent article (within 2 weeks)
    • Concise, data-driven, policy-focused
    • Include author credentials
    • Exclusive submission
  • Response Time: 2-7 days for letters
  • Audience Alignment: Leader, Research
  • Cultural Context: European, North American
  • Scoring: Influence 10, Acceptance 6, Decision Makers 10, Objectivity 9, Transparency 8
  • Verification Status: ✓ Verified (public submission guidelines)

2. Financial Times (42 points: 9+6+10+9+8)

  • Type: Letters to Editor, Op-Ed
  • Word Count: Letters: 250 words | Op-Ed: 750 words
  • Submission: letters.editor@ft.com
  • Requirements:
    • Business/tech/policy focus
    • Data-driven arguments
    • Professional credentials emphasized
  • Response Time: 2-5 days
  • Audience Alignment: Leader, Implementer
  • Cultural Context: European, Global
  • Scoring: Influence 9, Acceptance 6, Decision Makers 10, Objectivity 9, Transparency 8
  • Verification Status: ✓ Verified

3. MIT Technology Review (42 points: 9+7+9+9+8)

  • Type: Opinion, Guest Essays
  • Word Count: 800-1500 words
  • Submission: editors@technologyreview.com (pitch first)
  • Requirements:
    • Technical depth + accessibility
    • Must pitch with credentials
    • Research-backed arguments
  • Response Time: 3-6 weeks
  • Audience Alignment: Research, Implementer
  • Cultural Context: Universal
  • Scoring: Influence 9, Acceptance 7, Decision Makers 9, Objectivity 9, Transparency 8
  • Verification Status: ✓ Verified

Rank 4-7: Top Tier (38-39 points)

4. The Guardian (39 points: 8+7+8+8+8)

  • Type: Letters to Editor, Comment is Free (op-ed)
  • Word Count: Letters: 200 words | Comment: 800-1000 words
  • Submission: letters@theguardian.com | commentisfree@theguardian.com
  • Requirements:
    • Letters: Name, address, phone
    • Comment: Pitch first via online form
    • Progressive, social justice angle welcomed
  • Response Time: 24-48 hours for letters
  • Audience Alignment: Research, General
  • Cultural Context: European
  • Scoring: Influence 8, Acceptance 7, Decision Makers 8, Objectivity 8, Transparency 8
  • Verification Status: ✓ Verified

5. IEEE Spectrum (38 points: 7+7+7+9+8)

  • Type: Opinion
  • Word Count: 800-1200 words
  • Submission: Via online form
  • Requirements:
    • Technical/engineering focus
    • IEEE membership helpful but not required
    • Citations expected
  • Response Time: 4-8 weeks
  • Audience Alignment: Research, Implementer
  • Cultural Context: Universal
  • Scoring: Influence 7, Acceptance 7, Decision Makers 7, Objectivity 9, Transparency 8
  • Verification Status: ✓ Verified

6. New York Times (38 points: 9+5+9+8+7)

  • Type: Letters to Editor, Op-Ed
  • Word Count: Letters: 150-175 words | Op-Ed: 750 words
  • Submission: letters@nytimes.com | oped@nytimes.com
  • Requirements:
    • Letters: Reference specific article
    • Op-Ed: Exclusive, narrative hook, timely
    • Include full contact information
    • Must not have been published elsewhere
  • Response Time: Letters: 1-3 days | Op-Ed: 2-4 weeks
  • Audience Alignment: All audiences
  • Cultural Context: North American
  • Scoring: Influence 9, Acceptance 5, Decision Makers 9, Objectivity 8, Transparency 7
  • Verification Status: ✓ Verified

7. Washington Post (38 points: 8+6+9+8+7)

  • Type: Letters to Editor, Op-Ed
  • Word Count: Letters: 200 words max | Op-Ed: 750-800 words
  • Submission: letters@washpost.com | oped@washpost.com
  • Requirements:
    • Include name, address, daytime phone
    • Exclusive submission
    • Clear connection to current events
  • Response Time: 3-7 days
  • Audience Alignment: Leader, General
  • Cultural Context: North American
  • Scoring: Influence 8, Acceptance 6, Decision Makers 9, Objectivity 8, Transparency 7
  • Verification Status: ✓ Verified

Rank 8-12: High Value Tier (37 points)

8. Caixin Global (China) (37 points: 8+6+8+9+6)

  • Type: Opinion, Commentary
  • Word Count: 800-1200 words
  • Submission: Contact editorial team (english@caixin.com)
  • Requirements:
    • China/Asia policy focus
    • Economic/tech angle
    • English language
    • Pitch first recommended
  • Response Time: 1-2 weeks
  • Audience Alignment: Leader, Research
  • Cultural Context: Asia-Pacific, Global
  • Scoring: Influence 8, Acceptance 6, Decision Makers 8, Objectivity 9, Transparency 6
  • Verification Status: ✓ Verified (independent investigative journalism, English edition)

9. The Hindu (India) (37 points: 7+7+8+8+7)

  • Type: Open Page (guest articles), Letters to Editor
  • Word Count: Open Page: 800 words max | Letters: shorter
  • Submission: openpage@thehindu.co.in | letters@thehindu.co.in
  • Requirements:
    • Electronic submissions only
    • Complete mailing address required
    • Indian policy/tech context appreciated
  • Response Time: 1-2 weeks
  • Audience Alignment: Leader, Research, General
  • Cultural Context: Asia-Pacific, Global South
  • Scoring: Influence 7, Acceptance 7, Decision Makers 8, Objectivity 8, Transparency 7
  • Verification Status: ✓ Verified (public submission guidelines)

10. Le Monde (France) (37 points: 7+6+8+9+7)

  • Type: Lettres, Tribune (op-ed)
  • Word Count: Lettres: 200 mots | Tribune: 700-900 mots
  • Submission: courrier-des-lecteurs@lemonde.fr | tribunes@lemonde.fr
  • Requirements:
    • French language
    • European policy context
    • Intellectual depth expected
  • Response Time: 3-7 jours
  • Audience Alignment: Research, Leader
  • Cultural Context: European
  • Language: French
  • Scoring: Influence 7, Acceptance 6, Decision Makers 8, Objectivity 9, Transparency 7
  • Verification Status: ✓ Verified

11. Wall Street Journal (37 points: 8+5+9+8+7)

  • Type: Letters to Editor, Op-Ed
  • Word Count: Letters: 200 words | Op-Ed: 800-1000 words
  • Submission: wsj.ltrs@wsj.com | opedsubmissions@wsj.com
  • Requirements:
    • Business angle preferred
    • Conservative editorial stance consideration
    • Exclusive submission
  • Response Time: 5-10 days
  • Audience Alignment: Leader
  • Cultural Context: North American
  • Scoring: Influence 8, Acceptance 5, Decision Makers 9, Objectivity 8, Transparency 7
  • Verification Status: ✓ Verified

12. Wired (37 points: 8+6+8+8+7)

  • Type: Opinion, Analysis
  • Word Count: 800-1200 words
  • Submission: Via pitch form on website
  • Requirements:
    • Tech/innovation focus essential
    • Must pitch first (no unsolicited submissions)
    • Cutting-edge angle
  • Response Time: 2-4 weeks
  • Audience Alignment: Implementer, Research
  • Cultural Context: North American
  • Scoring: Influence 8, Acceptance 6, Decision Makers 8, Objectivity 8, Transparency 7
  • Verification Status: ✓ Verified

Rank 13-15: Strong Regional Tier (35-36 points)

13. Mail & Guardian (South Africa) (36 points: 6+8+7+8+7)

  • Type: Opinion, Guest articles
  • Word Count: 600-1000 words
  • Submission: Contact via website (mg.co.za)
  • Requirements:
    • African context/perspective valued
    • Progressive political stance
    • Investigative/analytical depth
  • Response Time: 1-2 weeks
  • Audience Alignment: Leader, Research, General
  • Cultural Context: Africa, Global South
  • Scoring: Influence 6, Acceptance 8, Decision Makers 7, Objectivity 8, Transparency 7
  • Verification Status: ✓ Verified (pan-African reach, investigative tradition)

14. LinkedIn Articles (35 points: 7+10+8+N/A+10)

  • Type: Professional long-form posts
  • Word Count: 1000-2000 words
  • Submission: N/A (self-published)
  • Requirements:
    • Professional tone
    • Business/leadership angle
    • Visual headers recommended
    • Hashtag strategy
  • Response Time: Immediate
  • Audience Alignment: Leader, Implementer
  • Cultural Context: All
  • Scoring: Influence 7, Acceptance 10, Decision Makers 8, Objectivity N/A, Transparency 10
  • Verification Status: ✓ Platform

15. The Daily Blog (New Zealand) (35 points: 6+8+6+7+8)

  • Type: Guest posts
  • Word Count: 500-1000 words
  • Submission: thedailyblog@gmail.com or via contact form
  • Requirements:
    • Progressive political stance
    • NZ/Pacific focus appreciated
    • Conversational tone acceptable
    • Contact: Martyn Bradbury (editor)
  • Response Time: 1-3 days (fast-moving blog)
  • Audience Alignment: General, Leader
  • Cultural Context: Asia-Pacific, Indigenous
  • Scoring: Influence 6, Acceptance 8, Decision Makers 6, Objectivity 7, Transparency 8
  • Verification Status: ✓ Verified (user's preferred NZ blog, active)

16. Der Spiegel (Germany) (34 points: 7+5+7+9+6)

  • Type: Leserbriefe (letters), Opinion pieces
  • Word Count: Leserbriefe: 200-300 Wörter | Opinion: 800-1200 Wörter
  • Submission: leserbriefe@spiegel.de
  • Requirements:
    • German language
    • Investigative/analytical depth
    • European perspective
  • Response Time: 5-10 Tage
  • Audience Alignment: Research, Leader
  • Cultural Context: European
  • Language: German
  • Scoring: Influence 7, Acceptance 5, Decision Makers 7, Objectivity 9, Transparency 6
  • Verification Status: ⚠️ Partial (general guidelines available)

16. Folha de S.Paulo (Brazil) (34 points: 6+7+7+8+6)

  • Type: Opinion, Commentary
  • Word Count: 600-900 words
  • Submission: Contact via website, has English edition (Folha International)
  • Requirements:
    • Latin American/Brazilian context valued
    • Portuguese or English (English via Folha International)
    • Economic/policy/tech focus
  • Response Time: 1-2 weeks
  • Audience Alignment: Leader, Research, General
  • Cultural Context: South America, Global South
  • Language: Portuguese/English
  • Scoring: Influence 6, Acceptance 7, Decision Makers 7, Objectivity 8, Transparency 6
  • Verification Status: ✓ Verified (largest Brazilian circulation, has English edition)

17. LA Times (34 points: 6+7+7+7+7)

  • Type: Letters to Editor, Op-Ed
  • Word Count: Letters: 150 words | Op-Ed: 500-700 words
  • Submission: letters@latimes.com | opinion-la@latimes.com
  • Requirements:
    • Name, city, phone required
    • California/West Coast angle helpful
    • Exclusive submission
  • Response Time: 2-5 days
  • Audience Alignment: General, Leader
  • Cultural Context: North American
  • Scoring: Influence 6, Acceptance 7, Decision Makers 7, Objectivity 7, Transparency 7
  • Verification Status: ✓ Verified

Rank 16-22: Accessible Platforms & Specialized (31-34 points)

18. Substack (34 points: 7+10+7+N/A+10)

  • Type: Newsletter essays
  • Word Count: 1500-2500 words
  • Submission: N/A (self-published)
  • Requirements:
    • Personal voice encouraged
    • Email-optimized formatting
    • Visual elements recommended
    • Consistent publishing schedule
  • Response Time: Immediate
  • Audience Alignment: All
  • Cultural Context: All
  • Scoring: Influence 7, Acceptance 10, Decision Makers 7, Objectivity N/A, Transparency 10
  • Verification Status: ✓ Platform

19. VentureBeat (34 points: 6+7+6+7+8)

  • Type: Guest posts, Opinion
  • Word Count: 800-1500 words
  • Submission: Via online contribution form
  • Requirements:
    • Tech business/startup angle
    • Executive perspective valued
    • Must disclose affiliations
  • Response Time: 1-2 weeks
  • Audience Alignment: Leader, Implementer
  • Cultural Context: North American
  • Scoring: Influence 6, Acceptance 7, Decision Makers 6, Objectivity 7, Transparency 8
  • Verification Status: ✓ Verified

20. Medium (32 points: 6+10+6+N/A+10)

  • Type: Essays, thought leadership
  • Word Count: 1200-2500 words
  • Submission: N/A (self-published) or pitch to publications on Medium
  • Requirements:
    • Narrative storytelling
    • High-quality visuals
    • Can pitch to Medium publications (e.g., Towards Data Science)
  • Response Time: Immediate (self) or 1-2 weeks (publications)
  • Audience Alignment: All
  • Cultural Context: Universal
  • Scoring: Influence 6, Acceptance 10, Decision Makers 6, Objectivity N/A, Transparency 10
  • Verification Status: ✓ Platform

21. Die Presse (Austria) (31 points: 5+6+6+8+6)

  • Type: Leserbriefe, Gastkommentare
  • Word Count: Leserbriefe: 150-200 Wörter | Gastkommentare: 600-800 Wörter
  • Submission: leserbriefe@diepresse.com
  • Requirements:
    • German language
    • Austrian/Central European context
    • Name, address required
  • Response Time: 3-7 Tage
  • Audience Alignment: Leader, General
  • Cultural Context: European
  • Language: German
  • Scoring: Influence 5, Acceptance 6, Decision Makers 6, Objectivity 8, Transparency 6
  • Verification Status: ⚠️ Partial

2. Content Type Taxonomy

Primary Content Types

1. Website Blog Post
   └─ agenticgovernance.digital only

2. Letter to Editor
   ├─ Premium Tier (The Economist, NYT, etc.)
   ├─ Tech Publications (Wired, MIT Tech Review)
   └─ Regional (The Daily Blog, etc.)

3. Op-Ed / Opinion Article
   ├─ Premium Tier (800-1000 words)
   ├─ Tech Publications (800-1200 words)
   └─ Academic (The Conversation)

4. Social Media Post
   ├─ Long-form (Substack, LinkedIn, Medium)
   ├─ Thread (Twitter/X)
   ├─ Professional (LinkedIn post)
   └─ Community (Facebook)

5. Press Release
   └─ Standard PR format (400-600 words)

6. Newsletter Segment
   └─ Email-optimized (300-800 words)

Content-Specific Requirements

Letter to Editor

  • Always requires: Reference to specific article (title, date, author)
  • Word limits: Strict (150-300 words typical)
  • Tone: Concise, direct, one main point
  • Submission: Exclusive (cannot submit to multiple simultaneously)

Op-Ed / Opinion

  • Word limits: Flexible (750-1200 words)
  • Tone: Authoritative but accessible
  • Structure: Hook → Argument → Evidence → Conclusion
  • Submission: Usually exclusive, sometimes pitch-first

Social Media Long-Form

  • Self-published: Immediate publication control
  • Formatting: Platform-specific (Substack email, Medium visual)
  • No exclusivity: Can cross-post

3. UI Architecture

Proposed Workflow

Step 1: Content Type Selection
┌─────────────────────────────────────┐
│ What type of content?               │
│ ○ Website Blog Post                 │
│ ○ Letter to Editor                  │
│ ○ Opinion Article / Op-Ed           │
│ ○ Social Media (Long-form)          │
│ ○ Press Release                     │
│ ○ Newsletter Segment                │
└─────────────────────────────────────┘
            ↓
Step 2: Publication Target (conditional)
┌─────────────────────────────────────┐
│ Choose publication:                 │
│ [Filtered list based on Step 1]    │
│                                     │
│ If Letter: Premium + Tech outlets  │
│ If Op-Ed: All outlets               │
│ If Social: Platforms only           │
│ If Blog: agenticgovernance.digital  │
└─────────────────────────────────────┘
            ↓
Step 3: Audience & Context (existing)
┌─────────────────────────────────────┐
│ Primary Audience:                   │
│ [Research/Implementer/Leader/Gen]   │
│                                     │
│ Tone & Approach:                    │
│ [Standard/Academic/Practical/etc]   │
│                                     │
│ Cultural Context:                   │
│ [Universal/Indigenous/etc]          │
│                                     │
│ Language:                           │
│ [Auto-set based on publication OR   │
│  user override]                     │
└─────────────────────────────────────┘
            ↓
Step 4: Content Details
┌─────────────────────────────────────┐
│ [If Letter]: Article Reference      │
│ ├─ Article Title: [input]           │
│ ├─ Article Date: [date picker]      │
│ └─ Main Point: [textarea]           │
│                                     │
│ [If Op-Ed/Blog]: Theme/Topic        │
│ └─ Topic: [textarea]                │
│                                     │
│ [If Social]: Platform Details       │
│ └─ Platform: [Substack/LinkedIn/etc]│
└─────────────────────────────────────┘
            ↓
Step 5: Generate
┌─────────────────────────────────────┐
│ [Generate Draft] button             │
│                                     │
│ Displays:                           │
│ - Target: [publication]             │
│ - Word count: [auto from rules]     │
│ - Submission: [email/form]          │
│ - Requirements: [checklist]         │
└─────────────────────────────────────┘

UI Components

1. Content Type Selector

<div class="content-type-selector">
  <label>Content Type</label>
  <div class="radio-grid">
    <label class="radio-card">
      <input type="radio" name="contentType" value="blog">
      <div class="card-content">
        <h4>Website Blog Post</h4>
        <p>Long-form content for agenticgovernance.digital</p>
      </div>
    </label>
    <!-- ... more cards -->
  </div>
</div>

2. Publication Target Selector (Dynamic)

const publicationsByType = {
  'letter': [
    { id: 'economist', name: 'The Economist', tier: 'premium', words: '200-250' },
    { id: 'nyt', name: 'New York Times', tier: 'premium', words: '150-175' },
    // ...
  ],
  'oped': [
    { id: 'economist', name: 'The Economist', tier: 'premium', words: '800-1000' },
    // ...
  ],
  'social': [
    { id: 'substack', name: 'Substack', tier: 'platform', words: '1500-2500' },
    // ...
  ]
};

3. Publication Metadata Display

<div class="publication-info" data-publication="economist">
  <h4>The Economist - Letter to Editor</h4>
  <dl>
    <dt>Word Count:</dt>
    <dd>200-250 words</dd>

    <dt>Submission:</dt>
    <dd>letters@economist.com</dd>

    <dt>Requirements:</dt>
    <dd>
      <ul>
        <li>Reference recent article (within 2 weeks)</li>
        <li>Concise, data-driven</li>
        <li>Exclusive submission</li>
      </ul>
    </dd>

    <dt>Response Time:</dt>
    <dd>2-7 days</dd>
  </dl>
</div>

4. Data Model

Publication Target Schema

{
  id: 'economist-letter',
  name: 'The Economist',
  type: 'letter',
  tier: 'premium',

  requirements: {
    wordCount: { min: 200, max: 250, strict: true },
    language: 'en',
    exclusivity: true,
    articleReference: true,
    credentials: true
  },

  submission: {
    method: 'email',
    email: 'letters@economist.com',
    form: null,
    responseTime: { min: 2, max: 7, unit: 'days' }
  },

  editorial: {
    tone: ['professional', 'concise', 'data-driven'],
    focus: ['policy', 'economics', 'global-affairs'],
    avoid: ['partisan', 'emotional', 'anecdotal']
  },

  audience: ['leader', 'research'],
  culture: ['european', 'north-american', 'universal'],

  guidelines: [
    'Must reference specific article published within 2 weeks',
    'One main point only',
    'Include author credentials',
    'Do not submit to multiple publications'
  ],

  verificationStatus: 'verified',
  lastUpdated: '2025-10-23'
}

Generated Content Schema

{
  contentType: 'letter',
  publicationTarget: 'economist-letter',

  context: {
    audience: 'leader',
    tone: 'strategic',
    culture: 'european',
    language: 'en'
  },

  metadata: {
    articleReference: {
      title: 'AI Regulation in Brussels',
      date: '2025-10-15',
      author: 'John Smith'
    },
    mainPoint: 'EU AI Act needs enforcement teeth',
    wordCount: 237,
    generatedAt: '2025-10-23T10:30:00Z'
  },

  content: {
    draft: '[Generated text]',
    submissionReady: false,
    humanReviewed: false
  },

  governance: {
    boundaryCheck: { /* ... */ },
    requiresApproval: true,
    approvedBy: null
  }
}

5. Backend Implementation

New ClaudeAPI Methods

/**
 * Generate letter to editor
 */
async generateLetterToEditor(context, publication, articleReference) {
  const prompt = `Write a letter to the editor for ${publication.name}
  responding to the article "${articleReference.title}"
  (${articleReference.date}).

  Main point: ${context.mainPoint}
  Audience: ${context.audience}
  Tone: ${context.tone}
  Word limit: ${publication.requirements.wordCount.max} words (STRICT)

  Requirements:
  ${publication.guidelines.map(g => `- ${g}`).join('\n')}

  ${this.getCulturalGuidance(context.culture)}

  The letter must:
  1. Reference the article specifically
  2. Make ONE clear point
  3. Support with evidence
  4. Match ${publication.name} editorial style
  5. Include a call to action or conclusion

  Return JSON: { text, wordCount, submissionChecklist }`;

  // ... implementation
}

/**
 * Generate op-ed / opinion article
 */
async generateOpEd(context, publication) {
  // ... similar structure with longer word count, narrative arc
}

/**
 * Generate social media content
 */
async generateSocialContent(context, platform) {
  // Platform-specific: Substack (email format), LinkedIn (professional), etc.
}

Controller Updates

/**
 * POST /api/content/generate
 * Unified endpoint for all content types
 */
async function generateContent(req, res) {
  const {
    contentType,      // 'letter', 'oped', 'social', 'blog'
    publicationId,    // 'economist-letter', 'nyt-oped', etc.
    context,          // { audience, tone, culture, language }
    details           // Content-specific (articleReference, theme, etc.)
  } = req.body;

  // 1. Validate content type and publication
  const publication = getPublicationById(publicationId);

  // 2. Boundary enforcement
  const boundaryCheck = BoundaryEnforcer.enforce({
    description: `Generate ${contentType} for ${publication.name}`,
    classification: { quadrant: 'OPERATIONAL' },
    type: 'external_communication'
  });

  // 3. Generate content via Claude API
  let generated;
  switch(contentType) {
    case 'letter':
      generated = await claudeAPI.generateLetterToEditor(
        context, publication, details.articleReference
      );
      break;
    case 'oped':
      generated = await claudeAPI.generateOpEd(context, publication);
      break;
    // ... other types
  }

  // 4. Create moderation queue entry
  const queueEntry = await ModerationQueue.create({
    type: 'EXTERNAL_CONTENT',
    reference_collection: 'content_drafts',
    data: {
      contentType,
      publication: publicationId,
      context,
      generated,
      submissionReady: false
    },
    status: 'PENDING_APPROVAL',
    requires_human_approval: true,
    metadata: { boundaryCheck, publication: publication.name }
  });

  // 5. Return draft for human review
  res.json({
    success: true,
    queueId: queueEntry._id,
    draft: generated,
    publication: {
      name: publication.name,
      submission: publication.submission,
      requirements: publication.requirements,
      guidelines: publication.guidelines
    },
    governance: {
      requiresApproval: true,
      note: 'Human must review, edit, and approve before submission'
    }
  });
}

6. Implementation Phases

Phase 1: Core Infrastructure (Session 1)

  • Create publication target database (JSON config)
  • Update UI with content type selector
  • Add conditional publication target dropdown
  • Basic letter-to-editor generation
  • Test with The Economist and NYT

Phase 2: Full Publication Set (Session 2)

  • Implement all 20 publication targets
  • Add language-specific handling (Le Monde, Der Spiegel)
  • Article reference UI for letters
  • Publication metadata display

Phase 3: Social Media & Platforms (Session 3)

  • Substack, LinkedIn, Medium integration
  • Platform-specific formatting
  • Visual/image suggestions
  • Cross-posting strategy

Phase 4: Advanced Features (Session 4)

  • Publication submission tracking
  • Response tracking (accepted/rejected)
  • A/B testing for different angles
  • Analytics dashboard (acceptance rates by publication)

7. Technical Considerations

Language Handling

const languageMap = {
  'le-monde': 'fr',
  'der-spiegel': 'de',
  'die-presse': 'de',
  'economist': 'en',
  'nyt': 'en',
  'daily-blog': 'en'
};

// Auto-set language based on publication
function getPublicationLanguage(publicationId) {
  return languageMap[publicationId] || 'en';
}

Word Count Enforcement

// Strict vs. flexible word counts
const strictPublications = ['economist', 'nyt', 'wsj'];

function validateWordCount(text, publication) {
  const count = text.split(/\s+/).length;
  const { min, max, strict } = publication.requirements.wordCount;

  if (strict && (count < min || count > max)) {
    throw new Error(`Word count must be ${min}-${max} for ${publication.name}`);
  }

  return { valid: count >= min && count <= max, count };
}

Submission Method Abstraction

class SubmissionMethod {
  static create(publication) {
    switch(publication.submission.method) {
      case 'email':
        return new EmailSubmission(publication.submission.email);
      case 'form':
        return new FormSubmission(publication.submission.form);
      case 'self-publish':
        return new SelfPublishSubmission(publication);
    }
  }
}

8. UI Mockup (ASCII)

┌─────────────────────────────────────────────────────────────────┐
│ External Communications Manager                    [User] [Logout]│
├─────────────────────────────────────────────────────────────────┤
│                                                                   │
│  📝 Generate External Content                                    │
│                                                                   │
│  Step 1: Content Type                                            │
│  ┌───────┐ ┌───────┐ ┌───────┐ ┌───────┐ ┌───────┐            │
│  │Website│ │Letter │ │Op-Ed  │ │Social │ │ Press │            │
│  │ Blog  │ │to Ed. │ │Article│ │Media  │ │Release│            │
│  └───────┘ └───●───┘ └───────┘ └───────┘ └───────┘            │
│                                                                   │
│  Step 2: Publication Target                                      │
│  ┌─────────────────────────────────────────────────────────────┐│
│  │ Premium Tier (Letters to Editor)                            ││
│  │ ● The Economist (200-250 words) - letters@economist.com    ││
│  │ ○ New York Times (150-175 words) - letters@nytimes.com     ││
│  │ ○ Washington Post (200 words max) - letters@washpost.com   ││
│  │ ○ The Guardian (200 words) - letters@theguardian.com       ││
│  │ ○ Financial Times (250 words) - letters.editor@ft.com      ││
│  │                                                             ││
│  │ Tech Publications                                           ││
│  │ ○ MIT Tech Review - editors@technologyreview.com           ││
│  │ ○ Wired - Via online form                                  ││
│  └─────────────────────────────────────────────────────────────┘│
│                                                                   │
│  Selected: The Economist - Letter to Editor                      │
│  ┌─────────────────────────────────────────────────────────────┐│
│  │ 📋 Requirements:                                            ││
│  │ • Word count: 200-250 words (strict)                        ││
│  │ • Must reference article published within 2 weeks           ││
│  │ • Exclusive submission                                      ││
│  │ • Include credentials                                       ││
│  │ • Response time: 2-7 days                                   ││
│  └─────────────────────────────────────────────────────────────┘│
│                                                                   │
│  Step 3: Article Reference (Required for Letters)                │
│  Article Title:   [AI Regulation in Brussels              ]      │
│  Publication Date: [2025-10-15] (📅)                             │
│  Main Point:      [EU AI Act needs stronger enforcement   ]      │
│                   [mechanisms to be effective             ]      │
│                                                                   │
│  Step 4: Audience & Context                                      │
│  Audience:     [Leader ▼]     Tone: [Strategic ▼]               │
│  Culture:      [European ▼]   Lang: [English (auto)] 🔒         │
│                                                                   │
│  [Generate Draft]                                                │
│                                                                   │
└─────────────────────────────────────────────────────────────────┘

9. Success Metrics

User Adoption

  • Number of content pieces generated per month
  • Diversity of publication targets used
  • Time saved vs. manual drafting

Acceptance Rates

  • Track which publications accept content
  • Which audience/tone combinations work best
  • Cultural context effectiveness

Strategic Impact

  • Media mentions increase
  • Thought leadership positioning
  • Geographic reach expansion

10. Risk Mitigation

Content Quality

  • Risk: AI-generated content fails editorial standards
  • Mitigation: Always requires human review and editing
  • Governance: TRA-OPS-0002 (human approval for all external content)

Publication Relationships

  • Risk: Spam multiple outlets with similar content
  • Mitigation: Track exclusivity requirements in system
  • Warning: Flag if attempting simultaneous exclusive submissions

Cultural Sensitivity

  • Risk: Inappropriate cultural framing
  • Mitigation: Explicit cultural guidance in prompts
  • Review: Extra human scrutiny for indigenous/cultural contexts
  • Risk: Copyright issues with article references
  • Mitigation: Generate original analysis, not republishing
  • Disclosure: Auto-include Tractatus affiliation where required

11. Next Session Implementation Checklist

Prerequisites

  • Review and approve this specification
  • Verify publication details that need checking (marked ⚠️)
  • Decide on The Daily Blog inclusion (verified above ✓)
  • Choose Phase 1 target publications (recommend: 5-7 for MVP)

Session Tasks

  1. Create src/config/publication-targets.config.js
  2. Update blog-curation page title/nav to "External Communications"
  3. Implement content type radio selector UI
  4. Add conditional publication dropdown (filtered by type)
  5. Create article reference form section
  6. Update ClaudeAPI with generateLetterToEditor()
  7. Update blog controller to handle all content types
  8. Add publication metadata display component
  9. Test with 3 publication targets
  10. Update service worker cache version
  11. Document for user

Appendix A: Verification Status Summary (Ranked Order)

Rank Publication Score Status Notes
1 The Economist 43 ✓ Verified Premium global outlet, strict word limits
2 Financial Times 42 ✓ Verified Business/policy elite readership
3 MIT Technology Review 42 ✓ Verified Tech/AI elite, pitch-first model
4 The Guardian 39 ✓ Verified Progressive voice, global reach
5 IEEE Spectrum 38 ✓ Verified Technical community, peer-reviewed
6 New York Times 38 ✓ Verified US policy elite, very selective
7 Washington Post 38 ✓ Verified US government readership
8 Caixin Global (China) 37 ✓ Verified Independent Chinese journalism, English edition
9 The Hindu (India) 37 ✓ Verified Indian policy elite, Open Page 800 words
10 Le Monde (France) 37 ✓ Verified French/European elite, French language
11 Wall Street Journal 37 ✓ Verified Business leaders, conservative reach
12 Wired 37 ✓ Verified Tech culture, pitch-first model
13 Mail & Guardian (Africa) 36 ✓ Verified Pan-African, investigative tradition
14 LinkedIn Articles 35 ✓ Platform Self-publish, professional network
15 The Daily Blog (NZ) 35 ✓ Verified User-preferred NZ blog, Pacific focus
16 Der Spiegel (Germany) 34 ⚠️ Partial German language, verify submission details
17 Folha de S.Paulo (Brazil) 34 ✓ Verified Largest Brazilian, has English edition
18 LA Times 34 ✓ Verified West Coast, California angle helpful
19 Substack 34 ✓ Platform Self-publish, newsletter format
20 VentureBeat 34 ✓ Verified Tech startup community
21 Medium 32 ✓ Platform Self-publish, narrative storytelling
22 Die Presse (Austria) 31 ⚠️ Partial German language, verify submission details

Verification Note:

  • ✓ Verified: Publicly available submission guidelines confirmed
  • ⚠️ Partial: General guidelines exist, specific details should be confirmed before implementation
  • ✓ Platform: Active self-publishing platform verified

Appendix B: Cultural Context Mapping

Recommended publication-culture pairings:

Cultural Context Best-Fit Publications (by rank)
Universal MIT Tech Review (#3), IEEE Spectrum (#5), Medium (#21)
Indigenous The Daily Blog (#15), The Guardian (#4)
Global South Mail & Guardian (#13), The Hindu (#9), Folha de S.Paulo (#17), The Guardian (#4)
Asia-Pacific Caixin Global (#8), The Hindu (#9), The Daily Blog (#15), LinkedIn (#14)
European Le Monde (#10), Der Spiegel (#16), Die Presse (#22), The Guardian (#4), FT (#2)
North American The Economist (#1), NYT (#6), Washington Post (#7), WSJ (#11), Wired (#12), LA Times (#18)
Africa Mail & Guardian (#13)
South America Folha de S.Paulo (#17)
China/Asia Caixin Global (#8)
India/South Asia The Hindu (#9)

End of Specification

Prepared by: Claude (Tractatus AI PM) Review Status: Awaiting Human Approval Implementation Target: Next Development Session Estimated Development Time: 2-3 sessions (6-9 hours)