Warm up first-screen proof script and headline for non-AI-native users

- proofScriptFor: use plain language when no source artifact is present
  (no 'Scattermind' name-dropping for raw paste users). Source-aware
  script is preserved when artifact context exists.
- firstScreen.headline: 'One thing now: [title]' replaces 'Build only
  this first: [title]' — simpler declarative for tired users.
- proof script fallback now includes a 'what happens next' sentence
  so the user knows evidence changes the decision.
- Updated check-rank-feedback.mjs headline assertion to match.
This commit is contained in:
OpenClaw Bot
2026-05-28 17:05:12 +02:00
parent 4212b4d7c8
commit 76d62d2862
2 changed files with 9 additions and 7 deletions
+8 -6
View File
@@ -1860,14 +1860,16 @@ function evidenceQuestionFor(option) {
function proofScriptFor(option, provenance = {}) {
if (!option) return '';
const sourceName = cleanText(provenance?.source || 'Scattermind', 60);
const sourceName = cleanText(provenance?.source || '', 60);
const sourceLabel = cleanText(provenance?.snapshotTitle || provenance?.artifactId || '', 120);
const evidence = evidenceQuestionFor(option);
const next = nextStepFor(option);
const setup = sourceLabel
? `I have a ${sourceName} build-order recommendation for “${sourceLabel}”.`
: 'I am checking the next build move before adding more scope.';
return cleanText(`${setup} The proposed first move is ${option.title}. ${next} The thing I need to learn is: ${evidence}`, 520);
const hasSource = Boolean(sourceLabel && sourceName);
if (hasSource) {
const setup = `I have a ${sourceName} build-order recommendation for "${sourceLabel}".`;
return cleanText(`${setup} The proposed first move is "${option.title}". ${next} The thing I need to learn is: ${evidence}`, 520);
}
return cleanText(`The first move I want to test is "${option.title}". ${next} The thing I need to learn is: ${evidence}. If that produces a clear signal, the next move changes. If not, I need a different first step.`, 520);
}
function nextStepFor(option) {
@@ -1962,7 +1964,7 @@ function createDecisionBrief({ idea, context, mode, ranked, provenance, decision
const activeSuccessSignal = carriedProofSignalFor(top, ranked, 'successSignal');
const activeKillSignal = carriedProofSignalFor(top, ranked, 'killSignal');
const firstScreen = top ? {
headline: `Build only this first: ${top.title}`,
headline: `One thing now: ${top.title}`,
primaryAction: nextStepFor(top),
proofQuestion: evidenceQuestionFor(top),
proofScript: activeProofScript,