Handle numbered Scattermind build order labels

This commit is contained in:
OpenClaw Bot
2026-05-27 20:57:35 +02:00
parent 2fa061120c
commit 74b6ad2d85
2 changed files with 47 additions and 1 deletions
+9 -1
View File
@@ -1199,11 +1199,19 @@ const buildOrderLabelSeparator = '\\s*(?::|,|[-–—])\\s*';
const buildOrderLabelPattern = '(build first|build this first|start here|start with|start by|ship first|ship this first|first week|week one|first-week build order|continue first|make tangible first|make tangible|try next|test first|prove first|evidence next|learn next|test manually|validate manually|manual proof|validate next|hold for later|leave out|skip for now|not yet|defer|set aside|out of scope|probably noise|park|do not build yet|don\'t build yet)';
const buildOrderLabelRegex = new RegExp(`^${buildOrderLabelPattern}${buildOrderLabelSeparator}`, 'i');
function normalizeBuildOrderFragment(fragment = '') {
return cleanMultiline(fragment, 600)
.replace(/^\s*(?:[-*•]|\d+[.)])\s*/, '')
.replace(/^\s*\*\*([^*:]{2,80})\s*:?\*\*\s*(?::|[-–—])?\s*/i, '$1: ')
.replace(/^\s*__([^_:]{2,80})\s*:?__\s*(?::|[-–—])?\s*/i, '$1: ')
.trim();
}
function sentenceFragments(text = '') {
return cleanMultiline(text, 4000)
.replace(new RegExp(`\\s+${buildOrderLabelPattern}${buildOrderLabelSeparator}`, 'gi'), '\n$1: ')
.split(/\n|;|\s+[•-]\s+/)
.map(part => part.trim())
.map(part => normalizeBuildOrderFragment(part))
.filter(Boolean);
}