/** * Publication Targets Configuration * * Ranked list of 22 global publications for External Communications Manager * Each publication includes submission requirements, editorial guidelines, and scoring * * Scoring Methodology (max 50 points): * 1. Influence (0-10): Impact on AI policy discourse * 2. Acceptance (0-10): Openness to external submissions * 3. Decision Makers (0-10): Policy/tech leadership readership * 4. Objectivity (0-10): Editorial independence * 5. Transparency (0-10): Clear submission guidelines */ const PUBLICATION_TARGETS = { // RANK 1-3: PREMIER TIER (42-43 points) 'economist-letter': { id: 'economist-letter', name: 'The Economist', rank: 1, score: 43, tier: 'premier', type: 'letter', requirements: { wordCount: { min: 200, max: 250, strict: true }, language: 'en', exclusivity: true, articleReference: true, credentials: true, articleRecency: { max: 14, unit: 'days' } }, submission: { method: 'email', email: 'letters@economist.com', responseTime: { min: 2, max: 7, unit: 'days' } }, editorial: { tone: ['professional', 'concise', 'data-driven', 'policy-focused'], focus: ['policy', 'economics', 'global-affairs', 'technology'], avoid: ['partisan', 'emotional', 'anecdotal', 'verbose'] }, audience: ['leader', 'research'], culture: ['european', 'north-american', 'universal'], // Readership profile for publication-specific topic generation readership: { primary: 'leader', // Primary audience (maps to dropdown) secondary: 'research', demographics: { profession: ['policy', 'business', 'finance', 'technology', 'academia'], education: 'postgraduate', interests: ['economics', 'policy', 'geopolitics', 'technology', 'business-strategy'] }, contentPreferences: { tone: 'strategic', // Default tone for this publication culture: 'universal', // Default culture setting topicThemes: [ 'economic-implications', 'policy-mechanisms', 'market-dynamics', 'technological-disruption', 'governance-systems' ] } }, // Market metadata for similarity and conflict detection market: { regions: ['global', 'uk', 'us', 'europe', 'asia', 'africa', 'oceania'], primaryRegion: 'uk', language: 'en', reach: 'global', // local, national, regional, international, global culturalContext: 'universal', // western, eastern, universal, regional readershipOverlap: ['ft-letter', 'wsj-letter', 'guardian-letter'] // High overlap publications }, guidelines: [ 'Must reference specific article published within 2 weeks', 'Make one main point only', 'Include author credentials', 'Exclusive submission - do not submit to other publications' ], scoring: { influence: 10, acceptance: 6, decisionMakers: 10, objectivity: 9, transparency: 8 }, verified: true }, 'ft-letter': { id: 'ft-letter', name: 'Financial Times', rank: 2, score: 42, tier: 'premier', type: 'letter', requirements: { wordCount: { min: 200, max: 250, strict: true }, language: 'en', exclusivity: true, articleReference: false, credentials: true }, submission: { method: 'email', email: 'letters.editor@ft.com', responseTime: { min: 2, max: 5, unit: 'days' } }, editorial: { tone: ['professional', 'analytical', 'data-driven'], focus: ['business', 'technology', 'policy', 'economics'], avoid: ['casual', 'overly-technical', 'partisan'] }, audience: ['leader', 'implementer'], culture: ['european', 'universal'], guidelines: [ 'Business/tech/policy focus essential', 'Data-driven arguments preferred', 'Professional credentials emphasized', 'Global perspective valued' ], scoring: { influence: 9, acceptance: 6, decisionMakers: 10, objectivity: 9, transparency: 8 }, verified: true }, 'mit-tech-review-oped': { id: 'mit-tech-review-oped', name: 'MIT Technology Review', rank: 3, score: 42, tier: 'premier', type: 'oped', requirements: { wordCount: { min: 800, max: 1500, strict: false }, language: 'en', exclusivity: true, articleReference: false, credentials: true, pitchFirst: true }, submission: { method: 'email', email: 'editors@technologyreview.com', pitchRequired: true, responseTime: { min: 21, max: 42, unit: 'days' } }, editorial: { tone: ['technical', 'accessible', 'rigorous', 'evidence-based'], focus: ['technology', 'ai-safety', 'innovation', 'research'], avoid: ['hype', 'speculation', 'non-technical'] }, audience: ['research', 'implementer'], culture: ['universal'], guidelines: [ 'Technical depth + accessibility required', 'Must pitch first with credentials', 'Research-backed arguments essential', 'Citations and evidence expected' ], scoring: { influence: 9, acceptance: 7, decisionMakers: 9, objectivity: 9, transparency: 8 }, verified: true }, // RANK 4-7: TOP TIER (38-39 points) 'guardian-letter': { id: 'guardian-letter', name: 'The Guardian', rank: 4, score: 39, tier: 'top', type: 'letter', requirements: { wordCount: { min: 150, max: 200, strict: true }, language: 'en', exclusivity: false, articleReference: false, credentials: false }, submission: { method: 'email', email: 'letters@theguardian.com', responseTime: { min: 1, max: 2, unit: 'days' } }, editorial: { tone: ['progressive', 'accessible', 'social-justice'], focus: ['technology', 'society', 'ethics', 'policy'], avoid: ['conservative', 'corporate-focused', 'dense-technical'] }, audience: ['research', 'general'], culture: ['european', 'universal'], guidelines: [ 'Name, address, phone required', 'Progressive/social justice angle welcomed', 'Accessible language preferred', 'Fast response time' ], scoring: { influence: 8, acceptance: 7, decisionMakers: 8, objectivity: 8, transparency: 8 }, verified: true }, 'ieee-spectrum-oped': { id: 'ieee-spectrum-oped', name: 'IEEE Spectrum', rank: 5, score: 38, tier: 'top', type: 'oped', requirements: { wordCount: { min: 800, max: 1200, strict: false }, language: 'en', exclusivity: true, articleReference: false, credentials: true, citations: true }, submission: { method: 'form', url: 'https://spectrum.ieee.org/contact-us', responseTime: { min: 28, max: 56, unit: 'days' } }, editorial: { tone: ['technical', 'professional', 'rigorous'], focus: ['engineering', 'technology', 'ai-systems', 'standards'], avoid: ['non-technical', 'speculative', 'marketing'] }, audience: ['research', 'implementer'], culture: ['universal'], guidelines: [ 'Technical/engineering focus required', 'IEEE membership helpful but not required', 'Citations and references expected', 'Peer-review quality standards' ], scoring: { influence: 7, acceptance: 7, decisionMakers: 7, objectivity: 9, transparency: 8 }, verified: true }, 'nyt-letter': { id: 'nyt-letter', name: 'New York Times', rank: 6, score: 38, tier: 'top', type: 'letter', requirements: { wordCount: { min: 150, max: 175, strict: true }, language: 'en', exclusivity: true, articleReference: true, credentials: false }, submission: { method: 'email', email: 'letters@nytimes.com', responseTime: { min: 1, max: 3, unit: 'days' } }, editorial: { tone: ['professional', 'narrative', 'timely'], focus: ['current-events', 'policy', 'society', 'technology'], avoid: ['partisan', 'overly-academic', 'verbose'] }, audience: ['leader', 'general', 'research'], culture: ['north-american'], // Market metadata for similarity and conflict detection market: { regions: ['us', 'north-america'], primaryRegion: 'us', language: 'en', reach: 'national', culturalContext: 'western', readershipOverlap: ['washpost-letter', 'wsj-letter'] }, guidelines: [ 'Must reference specific NYT article', 'Include full contact information', 'Must not have been published elsewhere', 'Very selective - high standards' ], scoring: { influence: 9, acceptance: 5, decisionMakers: 9, objectivity: 8, transparency: 7 }, verified: true }, 'nyt-oped': { id: 'nyt-oped', name: 'New York Times', rank: 6, score: 39, tier: 'top', type: 'oped', requirements: { wordCount: { min: 750, max: 950, strict: false }, language: 'en', exclusivity: true, articleReference: false, credentials: true }, submission: { method: 'form', url: 'https://www.nytimes.com/content/help/contact/text-submissions.html', email: 'oped@nytimes.com', responseTime: { min: 7, max: 21, unit: 'days' } }, editorial: { tone: ['persuasive', 'accessible', 'narrative', 'timely'], focus: ['current-events', 'policy', 'society', 'technology', 'culture'], avoid: ['academic', 'partisan', 'dense', 'self-promotional'] }, audience: ['general', 'leader'], culture: ['north-american'], // Market metadata for similarity and conflict detection market: { regions: ['us', 'north-america'], primaryRegion: 'us', language: 'en', reach: 'national', culturalContext: 'western', readershipOverlap: ['washpost-letter', 'wsj-letter', 'nyt-letter'] }, guidelines: [ 'Submit via online form or email', 'Include brief bio and credentials', 'Exclusive submission - do not submit elsewhere', 'First North American Serial Rights', 'Very selective - exceptionally high standards', 'Respond to current events when possible' ], scoring: { influence: 10, acceptance: 4, decisionMakers: 9, objectivity: 8, transparency: 8 }, verified: true }, 'washpost-letter': { id: 'washpost-letter', name: 'Washington Post', rank: 7, score: 38, tier: 'top', type: 'letter', requirements: { wordCount: { min: 150, max: 200, strict: true }, language: 'en', exclusivity: true, articleReference: false, credentials: false }, submission: { method: 'email', email: 'letters@washpost.com', responseTime: { min: 3, max: 7, unit: 'days' } }, editorial: { tone: ['professional', 'timely', 'policy-focused'], focus: ['government', 'policy', 'technology', 'current-events'], avoid: ['partisan', 'speculative', 'overly-technical'] }, audience: ['leader', 'general'], culture: ['north-american'], guidelines: [ 'Name, address, daytime phone required', 'Exclusive submission', 'Clear connection to current events', 'US government readership focus' ], scoring: { influence: 8, acceptance: 6, decisionMakers: 9, objectivity: 8, transparency: 7 }, verified: true }, // RANK 8-12: HIGH VALUE TIER (37 points) 'caixin-global-oped': { id: 'caixin-global-oped', name: 'Caixin Global', country: 'China', rank: 8, score: 37, tier: 'high-value', type: 'oped', requirements: { wordCount: { min: 800, max: 1200, strict: false }, language: 'en', exclusivity: false, articleReference: false, credentials: true, pitchFirst: true }, submission: { method: 'email', email: 'english@caixin.com', pitchRequired: true, responseTime: { min: 7, max: 14, unit: 'days' } }, editorial: { tone: ['analytical', 'investigative', 'balanced'], focus: ['china', 'asia', 'economics', 'technology', 'policy'], avoid: ['partisan', 'censorship-sensitive', 'superficial'] }, audience: ['leader', 'research'], culture: ['asia-pacific', 'universal'], guidelines: [ 'China/Asia policy focus preferred', 'Economic/tech angle valued', 'English language (from Chinese independent journalism)', 'Pitch first recommended' ], scoring: { influence: 8, acceptance: 6, decisionMakers: 8, objectivity: 9, transparency: 6 }, verified: true }, 'hindu-open-page': { id: 'hindu-open-page', name: 'The Hindu', country: 'India', rank: 9, score: 37, tier: 'high-value', type: 'oped', requirements: { wordCount: { min: 600, max: 800, strict: true }, language: 'en', exclusivity: false, articleReference: false, credentials: false }, submission: { method: 'email', email: 'openpage@thehindu.co.in', responseTime: { min: 7, max: 14, unit: 'days' } }, editorial: { tone: ['professional', 'analytical', 'balanced'], focus: ['india', 'south-asia', 'policy', 'technology', 'society'], avoid: ['partisan', 'superficial', 'western-centric'] }, audience: ['leader', 'research', 'general'], culture: ['asia-pacific', 'global-south'], guidelines: [ 'Electronic submissions only', 'Complete mailing address required', 'Indian policy/tech context appreciated', 'Max 800 words for Open Page' ], scoring: { influence: 7, acceptance: 7, decisionMakers: 8, objectivity: 8, transparency: 7 }, verified: true }, 'le-monde-lettre': { id: 'le-monde-lettre', name: 'Le Monde', country: 'France', rank: 10, score: 37, tier: 'high-value', type: 'letter', requirements: { wordCount: { min: 150, max: 200, strict: true }, language: 'fr', exclusivity: true, articleReference: false, credentials: false }, submission: { method: 'email', email: 'courrier-des-lecteurs@lemonde.fr', responseTime: { min: 3, max: 7, unit: 'days' } }, editorial: { tone: ['intellectual', 'analytical', 'rigorous'], focus: ['europe', 'policy', 'culture', 'technology'], avoid: ['casual', 'anglo-centric', 'superficial'] }, audience: ['research', 'leader'], culture: ['european'], guidelines: [ 'French language required', 'European policy context', 'Intellectual depth expected', 'French/European elite readership' ], scoring: { influence: 7, acceptance: 6, decisionMakers: 8, objectivity: 9, transparency: 7 }, verified: true }, 'wsj-letter': { id: 'wsj-letter', name: 'Wall Street Journal', rank: 11, score: 37, tier: 'high-value', type: 'letter', requirements: { wordCount: { min: 150, max: 200, strict: true }, language: 'en', exclusivity: true, articleReference: false, credentials: false }, submission: { method: 'email', email: 'wsj.ltrs@wsj.com', responseTime: { min: 5, max: 10, unit: 'days' } }, editorial: { tone: ['business-focused', 'conservative', 'analytical'], focus: ['business', 'economics', 'markets', 'technology'], avoid: ['progressive', 'anti-business', 'overly-academic'] }, audience: ['leader'], culture: ['north-american'], guidelines: [ 'Business angle preferred', 'Conservative editorial stance consideration', 'Exclusive submission', 'Business leader readership' ], scoring: { influence: 8, acceptance: 5, decisionMakers: 9, objectivity: 8, transparency: 7 }, verified: true }, 'wired-oped': { id: 'wired-oped', name: 'Wired', rank: 12, score: 37, tier: 'high-value', type: 'oped', requirements: { wordCount: { min: 800, max: 1200, strict: false }, language: 'en', exclusivity: true, articleReference: false, credentials: true, pitchFirst: true }, submission: { method: 'form', url: 'https://www.wired.com/about/contact/', pitchRequired: true, responseTime: { min: 14, max: 28, unit: 'days' } }, editorial: { tone: ['cutting-edge', 'accessible', 'tech-culture'], focus: ['technology', 'innovation', 'culture', 'ai'], avoid: ['dated', 'overly-academic', 'corporate-speak'] }, audience: ['implementer', 'research'], culture: ['north-american'], guidelines: [ 'Tech/innovation focus essential', 'Must pitch first (no unsolicited submissions)', 'Cutting-edge angle required', 'Tech culture influence' ], scoring: { influence: 8, acceptance: 6, decisionMakers: 8, objectivity: 8, transparency: 7 }, verified: true }, // RANK 13-15: STRONG REGIONAL TIER (35-36 points) 'mail-guardian-oped': { id: 'mail-guardian-oped', name: 'Mail & Guardian', country: 'South Africa', rank: 13, score: 36, tier: 'regional', type: 'oped', requirements: { wordCount: { min: 600, max: 1000, strict: false }, language: 'en', exclusivity: false, articleReference: false, credentials: true }, submission: { method: 'form', url: 'https://mg.co.za', responseTime: { min: 7, max: 14, unit: 'days' } }, editorial: { tone: ['investigative', 'progressive', 'analytical'], focus: ['africa', 'policy', 'technology', 'society'], avoid: ['neo-colonial', 'western-centric', 'superficial'] }, audience: ['leader', 'research', 'general'], culture: ['africa', 'global-south'], guidelines: [ 'African context/perspective valued', 'Progressive political stance', 'Investigative/analytical depth', 'Pan-African reach' ], scoring: { influence: 6, acceptance: 8, decisionMakers: 7, objectivity: 8, transparency: 7 }, verified: true }, 'linkedin': { id: 'linkedin', name: 'LinkedIn Articles', rank: 14, score: 35, tier: 'platform', type: 'social', requirements: { wordCount: { min: 1000, max: 2000, strict: false }, language: 'en', exclusivity: false, articleReference: false, credentials: false }, submission: { method: 'self-publish', platform: 'LinkedIn', responseTime: { min: 0, max: 0, unit: 'immediate' } }, editorial: { tone: ['professional', 'business-focused', 'thought-leadership'], focus: ['business', 'technology', 'leadership', 'innovation'], avoid: ['casual', 'overly-personal', 'non-professional'] }, audience: ['leader', 'implementer'], culture: ['universal'], guidelines: [ 'Professional tone required', 'Business/leadership angle', 'Visual headers recommended', 'Hashtag strategy important' ], scoring: { influence: 7, acceptance: 10, decisionMakers: 8, objectivity: null, transparency: 10 }, verified: true }, 'daily-blog-nz': { id: 'daily-blog-nz', name: 'The Daily Blog', country: 'New Zealand', rank: 15, score: 35, tier: 'regional', type: 'oped', requirements: { wordCount: { min: 500, max: 1000, strict: false }, language: 'en', exclusivity: false, articleReference: false, credentials: false }, submission: { method: 'email', email: 'thedailyblog@gmail.com', contact: 'Martyn Bradbury (editor)', responseTime: { min: 1, max: 3, unit: 'days' } }, editorial: { tone: ['progressive', 'conversational', 'political'], focus: ['nz-politics', 'pacific', 'indigenous', 'social-justice'], avoid: ['conservative', 'corporate', 'formal-academic'] }, audience: ['general', 'leader'], culture: ['asia-pacific', 'indigenous'], guidelines: [ 'Progressive political stance', 'NZ/Pacific focus appreciated', 'Conversational tone acceptable', 'Fast-moving blog (quick response)' ], scoring: { influence: 6, acceptance: 8, decisionMakers: 6, objectivity: 7, transparency: 8 }, verified: true }, // Rank 16 (tied) - VentureBeat 'venturebeat-oped': { id: 'venturebeat-oped', name: 'VentureBeat', rank: 16, score: 34, tier: 'specialist', type: 'oped', requirements: { wordCount: { min: 800, max: 1500, strict: false }, language: 'en', exclusivity: true, articleReference: false, credentials: true, disclosure: true }, submission: { method: 'form', url: 'https://venturebeat.com/contribution-form/', responseTime: { min: 1, max: 2, unit: 'weeks' } }, editorial: { tone: ['business-focused', 'tech-forward', 'executive-perspective'], focus: ['tech-business', 'startups', 'innovation', 'enterprise-tech'], avoid: ['academic', 'overly-technical', 'non-business-angle'] }, audience: ['leader', 'implementer'], culture: ['north-american', 'universal'], guidelines: [ 'Tech business/startup angle required', 'Executive perspective valued', 'Must disclose affiliations', 'Submit via online contribution form' ], scoring: { influence: 6, acceptance: 7, decisionMakers: 6, objectivity: 7, transparency: 8 }, verified: true }, // Rank 16 (tied) - Der Spiegel 'der-spiegel-letter': { id: 'der-spiegel-letter', name: 'Der Spiegel', rank: 16, score: 34, tier: 'premier', type: 'letter', requirements: { wordCount: { min: 200, max: 300, strict: true }, language: 'de', exclusivity: false, articleReference: true, credentials: true, articleRecency: { max: 14, unit: 'days' } }, submission: { method: 'email', email: 'leserbriefe@spiegel.de', responseTime: { min: 5, max: 10, unit: 'days' } }, editorial: { tone: ['investigative', 'analytical', 'german-style'], focus: ['politics', 'technology', 'economics', 'society'], avoid: ['casual', 'anglo-american-style', 'superficial'] }, audience: ['research', 'leader'], culture: ['european'], guidelines: [ 'Must reference specific article within 2 weeks', 'German language required', 'Investigative/analytical depth expected', 'European perspective valued' ], scoring: { influence: 7, acceptance: 5, decisionMakers: 7, objectivity: 9, transparency: 6 }, verified: false, note: 'Partial verification - general guidelines available' }, // Rank 16 (tied) - Folha de S.Paulo 'folha-oped': { id: 'folha-oped', name: 'Folha de S.Paulo', rank: 16, score: 34, tier: 'regional', type: 'oped', requirements: { wordCount: { min: 600, max: 900, strict: false }, language: 'pt', // Portuguese, but has English edition exclusivity: true, articleReference: false, credentials: true }, submission: { method: 'form', url: 'https://www1.folha.uol.com.br/internacional/en/', note: 'Has English edition (Folha International)', responseTime: { min: 1, max: 2, unit: 'weeks' } }, editorial: { tone: ['analytical', 'policy-focused', 'latin-american-context'], focus: ['economics', 'policy', 'technology', 'society'], avoid: ['anglo-centric', 'ignoring-local-context'] }, audience: ['leader', 'research', 'general'], culture: ['global-south'], guidelines: [ 'Latin American/Brazilian context valued', 'Portuguese or English (via Folha International)', 'Economic/policy/tech focus', 'Largest Brazilian circulation' ], scoring: { influence: 6, acceptance: 7, decisionMakers: 7, objectivity: 8, transparency: 6 }, verified: true }, // Rank 17 - LA Times 'latimes-letter': { id: 'latimes-letter', name: 'Los Angeles Times', rank: 17, score: 34, tier: 'regional', type: 'letter', requirements: { wordCount: { min: 100, max: 150, strict: true }, language: 'en', exclusivity: true, articleReference: false, credentials: true, contactInfo: true }, submission: { method: 'email', email: 'letters@latimes.com', responseTime: { min: 2, max: 5, unit: 'days' } }, editorial: { tone: ['concise', 'direct', 'regional-aware'], focus: ['general-interest', 'california-issues', 'national-policy'], avoid: ['verbose', 'off-topic'] }, audience: ['general', 'leader'], culture: ['north-american'], guidelines: [ 'Name, city, phone required', 'California/West Coast angle helpful', 'Exclusive submission', 'Very strict 150-word limit' ], scoring: { influence: 6, acceptance: 7, decisionMakers: 7, objectivity: 7, transparency: 7 }, verified: true }, // Rank 18 - Substack 'substack-essay': { id: 'substack-essay', name: 'Substack', rank: 18, score: 34, tier: 'self-publish', type: 'social', requirements: { wordCount: { min: 1500, max: 2500, strict: false }, language: 'en', exclusivity: false, articleReference: false }, submission: { method: 'self-publish', platform: 'Substack', responseTime: { min: 0, max: 0, unit: 'immediate' } }, editorial: { tone: ['personal', 'narrative', 'email-friendly'], focus: ['thought-leadership', 'deep-dives', 'storytelling'], avoid: ['overly-formal', 'academic-without-accessibility'] }, audience: ['leader', 'research', 'implementer', 'general'], culture: ['universal'], guidelines: [ 'Personal voice encouraged', 'Email-optimized formatting', 'Visual elements recommended', 'Consistent publishing schedule important' ], scoring: { influence: 7, acceptance: 10, decisionMakers: 7, objectivity: 0, // Self-published, no editorial review transparency: 10 }, verified: true }, // Rank 19 - Medium 'medium-essay': { id: 'medium-essay', name: 'Medium', rank: 19, score: 32, tier: 'self-publish', type: 'social', requirements: { wordCount: { min: 1200, max: 2500, strict: false }, language: 'en', exclusivity: false, articleReference: false }, submission: { method: 'self-publish', platform: 'Medium', note: 'Can also pitch to Medium publications', responseTime: { min: 0, max: 0, unit: 'immediate' } }, editorial: { tone: ['narrative', 'visual', 'accessible'], focus: ['storytelling', 'thought-leadership', 'personal-experience'], avoid: ['walls-of-text', 'no-visuals', 'overly-academic'] }, audience: ['leader', 'research', 'implementer', 'general'], culture: ['universal'], guidelines: [ 'Narrative storytelling valued', 'High-quality visuals essential', 'Can pitch to Medium publications (e.g., Towards Data Science)', 'Self-publish or publication-pitch hybrid model' ], scoring: { influence: 6, acceptance: 10, decisionMakers: 6, objectivity: 0, // Self-published transparency: 10 }, verified: true }, // Rank 20 - Die Presse 'die-presse-letter': { id: 'die-presse-letter', name: 'Die Presse', rank: 20, score: 31, tier: 'regional', type: 'letter', requirements: { wordCount: { min: 150, max: 200, strict: true }, language: 'de', exclusivity: false, articleReference: false, credentials: true, contactInfo: true }, submission: { method: 'email', email: 'leserbriefe@diepresse.com', responseTime: { min: 3, max: 7, unit: 'days' } }, editorial: { tone: ['austrian-style', 'central-european-context', 'formal'], focus: ['politics', 'economics', 'culture', 'european-affairs'], avoid: ['informal', 'non-european-context'] }, audience: ['leader', 'general'], culture: ['european'], guidelines: [ 'German language required', 'Austrian/Central European context valued', 'Name and address required', 'Formal Austrian newspaper style' ], scoring: { influence: 5, acceptance: 6, decisionMakers: 6, objectivity: 8, transparency: 6 }, verified: false, note: 'Partial verification - general guidelines available' } }; /** * Helper functions for filtering and querying publications */ function getPublicationById(id) { return PUBLICATION_TARGETS[id] || null; } function getPublicationsByType(type) { return Object.values(PUBLICATION_TARGETS).filter(pub => pub.type === type); } function getPublicationsByTier(tier) { return Object.values(PUBLICATION_TARGETS).filter(pub => pub.tier === tier); } function getPublicationsByRank(minRank, maxRank) { return Object.values(PUBLICATION_TARGETS) .filter(pub => pub.rank >= minRank && pub.rank <= maxRank) .sort((a, b) => a.rank - b.rank); } function getPublicationsByCulture(culture) { return Object.values(PUBLICATION_TARGETS) .filter(pub => pub.culture && pub.culture.includes(culture)); } function getAllPublications() { return Object.values(PUBLICATION_TARGETS).sort((a, b) => a.rank - b.rank); } module.exports = { PUBLICATION_TARGETS, getPublicationById, getPublicationsByType, getPublicationsByTier, getPublicationsByRank, getPublicationsByCulture, getAllPublications };