Docs/Skills and code/Top-level code
config-geopolitics.js
Mentioned on: page 02
import path from "node:path";
const root = process.cwd();
export const config = {
projectName: "YouTube Ecosystem Intelligence",
dbPath: path.join(root, "data", "geopolitics-ecosystem.db"),
seedPath: path.join(root, "seeds", "topics.json"),
discoverySeedPath: path.join(root, "seeds", "discovery-v2.json"),
youtube: { resultsPerSearch: 30 },
viewer: { port: 3000 },
ecosystem: {
name: "geopolitics",
description:
"Global geopolitics and international relations: states, power, diplomacy, conflicts, security, alliances, sanctions, trade, energy, and the historical context behind current affairs.",
includeTerms: [
"geopolitics",
"international relations",
"world politics",
"foreign policy",
"geopolitical analysis",
"international security",
"diplomacy",
"military strategy",
"wars and conflicts",
"great power competition",
"international trade and sanctions",
"energy geopolitics",
"political geography",
"global affairs",
"geopolitical history"
],
excludeTerms: [
"celebrity gossip",
"sports commentary",
"gaming livestream",
"unrelated reaction videos"
],
adjacentTerms: [
"military history",
"defence analysis",
"political economy",
"economic history",
"intelligence history",
"regional studies",
"international law",
"political philosophy",
"maps and cartography",
"global energy markets"
],
referenceChannels: [],
discovery: {
topicSeeds: [
"how geopolitical power works",
"great power competition explained",
"how alliances shape world politics",
"foreign policy decisions and their consequences",
"wars explained through history and strategy",
"the geopolitics of energy and critical minerals",
"sanctions and economic statecraft explained",
"global trade routes and strategic chokepoints",
"the geopolitics of the Indo-Pacific",
"European security and NATO",
"Middle East regional power competition",
"Russia and European security",
"China's foreign policy and regional influence",
"United States global strategy",
"South Asia geopolitics",
"Africa's strategic importance in global politics",
"Latin America and great power competition",
"how borders and geography shape conflicts",
"international institutions and their limits",
"historical turning points in international relations",
"military technology and deterrence",
"nuclear strategy and escalation risks",
"how propaganda and information operations work",
"geopolitical risk and the global economy"
],
adjacentSeeds: [
{ label: "military history", query: "military history lessons for understanding modern geopolitics" },
{ label: "political economy", query: "political economy trade sanctions and international power" },
{ label: "energy security", query: "energy security oil gas critical minerals geopolitics" },
{ label: "international law", query: "international law treaties sovereignty and armed conflict" },
{ label: "intelligence history", query: "intelligence history espionage and international relations" },
{ label: "political geography", query: "political geography borders chokepoints and strategic regions" }
]
}
},
qualification: {
promptVersion: "geopolitics-ecosystem-qualification-v1.0",
minimumConfidenceToQualify: 0.58,
llm: {
batchSize: 8,
maxVideoTitles: 20,
descriptionChars: 1800,
retryMissingIndividually: true
},
classification: {
labels: ["core", "adjacent", "unknown", "irrelevant"],
core: {
definition:
"Geopolitics or international relations is the channel's primary recurring editorial subject.",
includeWhen: [
"Recurring videos analyze states, foreign policy, diplomacy, conflicts, alliances, security, sanctions, strategic resources, or international power.",
"The channel explains global events using political, geographic, historical, economic, or strategic context.",
"Multiple representative titles support a sustained international-affairs focus."
],
doNotInferFrom: [
"A single news story about another country",
"General domestic politics without a meaningful international dimension",
"A map or military topic appearing only incidentally",
"A channel's stated identity without corroborating video evidence"
]
},
adjacent: {
definition:
"The channel provides recurring, relevant context for geopolitics, but geopolitics is not clearly its primary subject.",
includeWhen: [
"The channel focuses on military history, defence, political economy, energy, international law, intelligence history, or regional studies with substantial geopolitical relevance.",
"A broader news, history, economics, or politics channel regularly covers international affairs."
],
doNotInferFrom: [
"General history or economics with no meaningful international-power dimension",
"A one-off international-affairs upload",
"A channel focused exclusively on domestic political personalities or commentary"
]
},
unknown: {
definition:
"The available evidence is sparse, ambiguous, contradictory, or insufficient to establish recurring relevance.",
includeWhen: [
"Descriptions are generic and representative titles do not establish the channel's focus.",
"Only a small or potentially biased sample is available."
]
},
irrelevant: {
definition:
"The channel's evidenced primary subject has no meaningful recurring connection to geopolitics or its adjacent fields.",
includeWhen: [
"Representative titles and channel information consistently indicate an unrelated subject.",
"Geopolitical terms appear incidentally or in unrelated contexts."
]
}
}
},
queueScoring: {
version: "channel-queues-v6-geopolitics",
minimumCoverageForSupported: 70,
breakout: {
minVideosForScore: 5,
fullSampleConfidenceVideos: 20,
smallChannelSubscriberPrior: 1000,
minimumAgeDaysForAgeAdjustedViews: 30
},
ranking: {
coreBeforeAdjacent: true,
minimumQualificationConfidence: 0.58,
minimumConfidenceForSupported: 0.75,
unknownChannelsRequireQualification: true,
missingEvidenceIsNull: true
}
},
discovery: {
resultsPerQuery: 25,
delayMs: 350,
maxHypothesesPerRoute: 4,
routes: {
A: { label: "channel-led", maxQueries: 6 },
B: { label: "video-led", maxQueries: 6 },
C: { label: "topic-led", maxQueries: 8 },
D: { label: "adjacent-ecosystem", maxQueries: 7 }
},
llm: { enabledByDefault: false, batchSize: 1 }
},
stage1_5: {
popularVideos: 20,
newestVideos: 20,
maxChannelPages: 5,
youtubeCachePath: path.join(root, "data", "youtube-cache"),
requestDelayMs: 250
}
};
Shown as it is in the repository at build time (2026-11-03); the home directory appears as <home>. If this page and the file differ, the file is right. Back to the catalogue.