This repository has no description
0

Configure Feed

Select the types of activity you want to include in your feed.

Limit island:analyze synthesis to a single paragraph

Persona and tool description both specify 3-5 sentences max.

👾 Generated with [Letta Code](https://letta.com)

Co-Authored-By: Letta Code <noreply@letta.com>

author
nandi
co-author
Letta Code
date (May 15, 2026, 6:58 AM UTC) commit 954d7a06 parent ddcf359c
+7 -7
+7 -7
src/island-analyze.ts
··· 35 35 36 36 interface AnalysisResult { 37 37 islandId: string; 38 - lexmin: string; 38 + centroid: string; 39 39 title: string; 40 40 themes: string[]; 41 41 highlights: string[]; ··· 98 98 if (!row) return null; 99 99 return { 100 100 islandId: row.island_id, 101 - lexmin: '', 101 + centroid: '', 102 102 title: row.title ?? '', 103 103 themes: JSON.parse(row.themes ?? '[]'), 104 104 highlights: JSON.parse(row.highlights ?? '[]'), ··· 199 199 highlights: { type: 'string', description: 'Comma-separated semantically significant vertices or edges' }, 200 200 tensions: { type: 'string', description: 'Comma-separated contradictions or unresolved tensions' }, 201 201 openQuestions: { type: 'string', description: 'Comma-separated questions raised by this island' }, 202 - synthesis: { type: 'string', description: 'Prose synthesis of the island' }, 202 + synthesis: { type: 'string', description: 'A single paragraph (3-5 sentences) synthesizing the island' }, 203 203 newConnections: { type: 'string', description: 'Semicolon-separated new edges as: source|target|type|note' }, 204 204 }, 205 205 required: ['title', 'themes', 'synthesis'], ··· 216 216 }; 217 217 pendingResult = { 218 218 islandId: '', 219 - lexmin: '', 219 + centroid: '', 220 220 title: a.title ?? '', 221 221 themes: parseList(a.themes), 222 222 highlights: parseList(a.highlights), ··· 307 307 - highlights: semantically significant vertices or edges 308 308 - tensions: contradictions or unresolved tensions 309 309 - openQuestions: questions raised by this island 310 - - synthesis: prose narrative connecting the vertices and edges 310 + - synthesis: a single paragraph (3-5 sentences) connecting the vertices and edges into a coherent narrative. Do NOT write more than one paragraph. 311 311 - newConnections: suggested new edges between vertices 312 312 313 313 CRITICAL: You MUST call island_save. Do not just describe your analysis in text. Call the tool.`, ··· 338 338 console.error(`${comp.islandId}: already analyzed at ${existing.analyzed_at} (use --force to re-analyze)`); 339 339 const cached = loadAnalysis(db, comp.islandId); 340 340 if (cached) { 341 - cached.lexmin = comp.lexmin; 341 + cached.centroid = comp.centroid; 342 342 results.push(cached); 343 343 } 344 344 continue; ··· 374 374 375 375 // Fill in island metadata 376 376 pendingResult.islandId = comp.islandId; 377 - pendingResult.lexmin = comp.lexmin; 377 + pendingResult.centroid = comp.centroid; 378 378 379 379 saveAnalysis(db, pendingResult); 380 380 results.push(pendingResult);