(text: string, max = 160)
| 76 | const isMultiline = (t: string): boolean => t.split('\n').filter(l => l.trim()).length >= 3; |
| 77 | |
| 78 | function head(text: string, max = 160): string { |
| 79 | return text.replace(/\s+/g, ' ').trim().slice(0, max); |
| 80 | } |
| 81 | |
| 82 | function tag(m: ApproachMatch): string { |
| 83 | const base = m.kind === 'episode' ? '🎯 task' : m.kind === 'fact' ? '🧠 fact' : m.kind === 'receipt' ? '🧾 receipt' : `📝 ${m.detail ?? 'worklog'}`; |
no outgoing calls
no test coverage detected