Accept stored Scattermind snapshot rows

This commit is contained in:
OpenClaw Bot
2026-05-27 17:04:52 +02:00
parent 85c8067185
commit 759c1b2fe4
4 changed files with 63 additions and 12 deletions
+35
View File
@@ -360,6 +360,41 @@ try {
assert.equal(snapshotOnly.handoff.source.requiresSourceTrace, true);
assert.deepEqual(snapshotOnly.handoff.warnings, []);
const storedSnapshotRowResponse = await fetch(`${base}/api/rank-feedback`, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
referenceCode: 'SM-SNAPSHOT-ROW',
ideaText: 'I have a tiny paid workshop idea and only the free Snapshot exists so far.',
context: 'Solo operator. Manual proof first. Avoid saved workspaces before demand is visible.',
status: 'glimpse_ready',
glimpseJson: JSON.stringify({
working_name: 'Workshop Seed',
restated_idea: 'A tiny workshop offer needs one concrete promise before becoming a platform.',
lenses: {
shape: {
title: 'Product Shape',
content: 'Start as a manually sold workshop promise, not a course dashboard. The useful first shape is a short offer and one live test. Avoid saved workspaces until people ask for repeats.',
},
},
questions_to_sit_with: ['Will three real prospects understand the workshop promise without extra explanation?'],
reference_code: 'SM-SNAPSHOT-ROW',
}),
mode: 'mvp',
}),
});
assert.equal(storedSnapshotRowResponse.status, 200);
const storedSnapshotRow = await storedSnapshotRowResponse.json();
assert.equal(storedSnapshotRow.input.provenance.artifactId, 'SM-SNAPSHOT-ROW');
assert.equal(storedSnapshotRow.input.provenance.snapshotTitle, 'Workshop Seed');
assert.equal(storedSnapshotRow.input.optionCount, 2, 'stored Snapshot rows should become a manual proof plus evidence question');
assert.equal(storedSnapshotRow.ranked[0].id, 'snapshot-manual-proof');
assert.equal(storedSnapshotRow.ranked[0].provenance.sourceSection, 'snapshot.lenses.shape');
assert.equal(storedSnapshotRow.ranked.find(item => item.id === 'question-1').lane.id, 'test');
assert.match(storedSnapshotRow.handoff.copyableText, /Workshop Seed/);
assert.equal(storedSnapshotRow.handoff.readiness.status, 'ready');
assert.deepEqual(storedSnapshotRow.handoff.warnings, []);
const sectionedConceptResponse = await fetch(`${base}/api/rank-feedback`, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },