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

1029 lines
38 KiB
Markdown

# 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
```html
<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)
```javascript
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
```html
<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
```javascript
{
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
```javascript
{
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
```javascript
/**
* 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
```javascript
/**
* 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
```javascript
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
```javascript
// 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
```javascript
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
### Legal/Compliance
- **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)