Accept messy idea dumps for feedback ranking
This commit is contained in:
@@ -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: 'I’m 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' },
|
||||
|
||||
Reference in New Issue
Block a user