Accept messy idea dumps for feedback ranking

This commit is contained in:
OpenClaw Bot
2026-05-27 00:12:09 +02:00
parent 802657b638
commit 602937d9b2
4 changed files with 69 additions and 15 deletions
+19
View File
@@ -97,6 +97,25 @@ try {
assert.ok(data.brief.whatWouldChangeRanking.some(item => /evidence fails|re-run the order/i.test(item)));
assert.ok(Array.isArray(data.brief.assumptions));
const messyIdeaOnlyResponse = await fetch(`${base}/api/rank-feedback`, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
idea: 'Im building a tool that helps freelancers package their services and decide what to sell first. Maybe offer critique, pricing calculator, proposal generator, landing page copywriter, client persona mapper, and some kind of dashboard later? I only have a week and want the fastest useful proof.',
context: 'Solo builder. Manual proof first. Avoid dashboards, accounts, and saved workspaces before evidence.',
mode: 'validation',
}),
});
assert.equal(messyIdeaOnlyResponse.status, 200);
const messyIdeaOnly = await messyIdeaOnlyResponse.json();
assert.equal(messyIdeaOnly.input.optionCount, 6, 'idea-only messy dumps should be split into rank-ready candidates');
assert.ok(messyIdeaOnly.ranked.some(item => /Offer critique/i.test(item.title)));
assert.ok(messyIdeaOnly.ranked.some(item => /Pricing calculator/i.test(item.title)));
assert.equal(messyIdeaOnly.ranked.find(item => /dashboard/i.test(item.title)).lane.source, 'source-non-goal');
assert.ok(!/dashboard/i.test(messyIdeaOnly.ranked[0].title), 'dashboard-flavored candidate must not win tired-user first pass');
assert.ok(!messyIdeaOnly.handoff.warnings.some(item => /missing source section|missing original prompt/.test(item)));
assert.ok(messyIdeaOnly.handoff.warnings.includes('missing source artifact id'));
const hintedResponse = await fetch(`${base}/api/rank-feedback`, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },