Upgrade Ranker visual direction
This commit is contained in:
+3
-3
@@ -4,9 +4,9 @@
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<meta name="theme-color" content="#101626" />
|
||||
<meta name="rank-version" content="2.0.0-feedback-map-mvp" />
|
||||
<meta name="rank-version" content="2.1.0-editorial-decision-room" />
|
||||
<title>Ranker — ranked feedback maps for messy decisions</title>
|
||||
<link rel="stylesheet" href="/styles.css?v=2.0.0-feedback-map-mvp" />
|
||||
<link rel="stylesheet" href="/styles.css?v=2.1.0-editorial-decision-room" />
|
||||
</head>
|
||||
<body>
|
||||
<main class="page-shell">
|
||||
@@ -123,6 +123,6 @@
|
||||
</main>
|
||||
|
||||
<div class="toast" id="toast" hidden></div>
|
||||
<script src="/app.js?v=2.0.0-feedback-map-mvp" type="module"></script>
|
||||
<script src="/app.js?v=2.1.0-editorial-decision-room" type="module"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+25
-19
File diff suppressed because one or more lines are too long
@@ -513,11 +513,11 @@ function reasonFor(option) {
|
||||
const m = option.metrics;
|
||||
if (option.lane?.id === 'do' && /snapshot|concept map|feature set|build order|rank/i.test(`${option.title} ${option.description}`)) return 'it strengthens the Scattermind → Ranker bridge instead of inventing a generic workspace';
|
||||
if (option.factors?.evidenceNeeded && m.confidence >= 6.4) return 'it names the evidence needed, so the next move can be tested instead of guessed';
|
||||
if (m.feasibility >= 7.2 && m.value >= 6.2) return 'high enough value with low enough delivery drag to create fast signal';
|
||||
if (m.revenue >= 6.4) return 'clearer buyer or money signal than the rest of the list';
|
||||
if (m.risk >= 6.5) return 'interesting, but it carries assumption risk that should be tested before build';
|
||||
if (m.novelty >= 6.7) return 'more differentiated than the safe options, but still needs proof';
|
||||
return 'balanced tradeoff across value, effort, confidence, and timing';
|
||||
if (m.feasibility >= 7.2 && m.value >= 6.2) return 'it has high enough value with low enough delivery drag to create fast signal';
|
||||
if (m.revenue >= 6.4) return 'it has a clearer buyer or money signal than the rest of the list';
|
||||
if (m.risk >= 6.5) return 'it is interesting, but carries assumption risk that should be tested before build';
|
||||
if (m.novelty >= 6.7) return 'it is more differentiated than the safe options, but still needs proof';
|
||||
return 'it has the best balanced tradeoff across value, effort, confidence, and timing';
|
||||
}
|
||||
|
||||
function concernFor(option) {
|
||||
@@ -536,7 +536,7 @@ function createDecisionBrief({ idea, context, mode, ranked, provenance }) {
|
||||
const risky = ranked.slice().sort((a, b) => b.metrics.risk - a.metrics.risk)[0];
|
||||
const deferred = ranked.filter(item => ['defer', 'park'].includes(item.lane.id)).slice(0, 3);
|
||||
const sourceLabel = [provenance?.snapshotTitle, provenance?.artifactId].filter(Boolean).join(' · ');
|
||||
const theme = top ? `The strongest signal is “${top.title}” because it has ${reasonFor(top)}.` : 'The list needs at least two options before ranking becomes useful.';
|
||||
const theme = top ? `The strongest signal is “${top.title}” because ${reasonFor(top)}.` : 'The list needs at least two options before ranking becomes useful.';
|
||||
return {
|
||||
headline: top ? `Start with ${top.title}` : 'Add options to get a ranked feedback map',
|
||||
summary: `${theme}${second ? ` “${second.title}” is the nearest follow-up, not a parallel first step.` : ''}${sourceLabel ? ` Source: ${sourceLabel}.` : ''}`,
|
||||
|
||||
Reference in New Issue
Block a user