Handle single Scattermind action thread handoffs

This commit is contained in:
OpenClaw Bot
2026-05-27 20:08:55 +02:00
parent 46846cada7
commit 9f712a3b93
2 changed files with 45 additions and 8 deletions
+31
View File
@@ -343,6 +343,37 @@ try {
assert.equal(closingNoteFallback.buildOrderDetails.validateNext[0].sourceSection, 'concept-map.questionsToSitWith');
assert.equal(closingNoteFallback.handoff.readiness.status, 'ready');
const singleThreadQuestionResponse = await fetch(`${base}/api/rank-feedback`, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
sourceName: 'Scattermind',
artifactId: 'concept_map_single_thread_questions',
originalPrompt: 'Clarify a local class idea and carry one action thread plus proof questions into Ranker.',
conceptMap: {
working_name: 'Local class first proof',
opening_reflection: 'The idea should become one manual proof before any scheduling platform.',
action_threads: [
'Start by running one manual class invite test with five local parents and record who replies.',
],
questions_to_sit_with: [
'Will five local parents reply to a plain invite without a polished booking page?',
'What objection appears before price, timing, or trust?',
],
reference_code: 'SM-ONE-THREAD',
},
}),
});
assert.equal(singleThreadQuestionResponse.status, 200);
const singleThreadQuestion = await singleThreadQuestionResponse.json();
assert.equal(singleThreadQuestion.input.optionCount, 3, 'one action thread plus questions should still become a rankable continuation set');
assert.equal(singleThreadQuestion.buildOrder.doFirst[0], 'action-thread-1');
assert.equal(singleThreadQuestion.buildOrderDetails.doFirst[0].sourceSection, 'concept-map.threadsToHold');
assert.equal(singleThreadQuestion.buildOrderDetails.validateNext.length, 2);
assert.equal(singleThreadQuestion.buildOrderDetails.validateNext[0].sourceSection, 'concept-map.questionsToSitWith');
assert.match(singleThreadQuestion.brief.decisionReceipt.firstProofStep, /manual proof/i);
assert.equal(singleThreadQuestion.handoff.readiness.status, 'ready');
const softDashLabelResponse = await fetch(`${base}/api/rank-feedback`, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },