feat(confluence): add15-symbol universe seed + 3 system rack presets (M22 slice 10)

Confluence startup seed: pins the15-symbol research universe + SPY benchmark
into the permanent demand set, and creates three system rack presets (Full
Confluence, Technical Momentum, Macro+Flows+Sentiment) if absent. Called once
from index.ts; idempotent on every restart.
This commit is contained in:
Investor Flow Build
2026-08-10 21:59:45 -04:00
parent b04193e615
commit 44243618d5
3 changed files with 246 additions and 0 deletions
+11
View File
@@ -21,6 +21,7 @@ import cryptoMod from './lib/crypto.ts';
import { AdapterQueue } from './queue/AdapterQueue.ts';
import { seedCuratedCusips } from './services/cusipRegistry.ts';
import { seedAdminDefaultAlertSubscriptions } from './db/alertSubscriptionRepository.ts';
import { seedConfluence } from './confluence/confluenceSeed.ts';
import { makeCreateContext } from './trpc/context.ts';
import { appRouter } from './trpc/router.ts';
import type { Alert } from './alerts/AlertEngine.ts';
@@ -100,6 +101,16 @@ try {
console.error('[investor-flow] admin alert seed failed', e);
}
// Confluence starter seed: pin15-symbol universe + 3 system rack presets
try {
const { symbolsPinned, racksCreated } = await seedConfluence(database, cache);
if (symbolsPinned > 0 || racksCreated > 0) {
console.log(`[investor-flow] confluence seed: ${symbolsPinned} symbols pinned, ${racksCreated} system racks created`);
}
} catch (e) {
console.error('[investor-flow] confluence seed failed', e);
}
// Demand hygiene: junk test symbols + inflated refcounts from page-view subscribe spam
try {
const hygiene = queue.cleanupDemandHygiene();