@productbrain/mcp 0.0.1-beta.12125 → 0.0.1-beta.12136
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -230,12 +230,14 @@ var CHECKLIST_LINES = {
|
|
|
230
230
|
specificity: "Say what will be different, in words only this product could use",
|
|
231
231
|
beneficiary: "Name who it is for: people, a community or part of the world, specific enough to say who it is not for",
|
|
232
232
|
falsifiability: "Choose a direction a reasonable rival would reject",
|
|
233
|
-
stranger_test: "Explain it so a stranger knows what will be different, and for whom"
|
|
233
|
+
stranger_test: "Explain it so a stranger knows what will be different, and for whom",
|
|
234
|
+
serves_rung_above: "Say what will be different when the purpose above it is fulfilled"
|
|
234
235
|
},
|
|
235
236
|
strategy: {
|
|
236
237
|
coherent_narrative: "Connect the diagnosis, the policy and the first actions",
|
|
237
238
|
decisiveness: "Say what you will not do",
|
|
238
|
-
time_bounded: "Name a horizon: a date, a duration or a milestone"
|
|
239
|
+
time_bounded: "Name a horizon: a date, a duration or a milestone",
|
|
240
|
+
serves_rung_above: "Say how these choices move toward the vision above it"
|
|
239
241
|
},
|
|
240
242
|
objective: {
|
|
241
243
|
outcome_not_activity: "State what will be true once it is met, not the work to do",
|
|
@@ -250,11 +252,23 @@ var CHECKLIST_LINES = {
|
|
|
250
252
|
/** One line per spine rung, keyed by the rung it reaches: rungLine, in SPINE_RUNG_SEQUENCE order (TASK-1026). */
|
|
251
253
|
strategy_link: Object.fromEntries(SPINE_RUNG_SEQUENCE.map((spec) => [spec.targetKey, rungLine(spec.targetKey)]))
|
|
252
254
|
};
|
|
255
|
+
var BLOCKING_CRITERIA = {
|
|
256
|
+
purpose: [],
|
|
257
|
+
vision: ["beneficiary"],
|
|
258
|
+
strategy: ["coherent_narrative", "serves_rung_above"],
|
|
259
|
+
objective: [],
|
|
260
|
+
key_result: []
|
|
261
|
+
};
|
|
262
|
+
function isRequiredCriterion(kind, c) {
|
|
263
|
+
const blocking = BLOCKING_CRITERIA[kind];
|
|
264
|
+
return !blocking || blocking.includes(c.id) || !c.passed && c.failedBy !== "judge";
|
|
265
|
+
}
|
|
253
266
|
var MARK = { met: "[x]", not_yet: "[ ]", judging: "[~]" };
|
|
254
267
|
function renderChecklist(canonicalKey, criteria, judging) {
|
|
255
268
|
const lines = CHECKLIST_LINES[canonicalKey];
|
|
256
269
|
if (!lines) return null;
|
|
257
270
|
return criteria.filter((c) => (c.line ?? lines[c.id]) !== void 0).map((c) => {
|
|
271
|
+
if (!c.passed && !isRequiredCriterion(canonicalKey, c)) return `? ${c.questionTemplate ?? c.line ?? lines[c.id]}`;
|
|
258
272
|
const state = !c.passed ? "not_yet" : judging ? "judging" : "met";
|
|
259
273
|
const still = state === "judging" ? " (still judging)" : "";
|
|
260
274
|
const missing = state === "not_yet" && c.missing ? ` \u2014 missing: ${c.missing}` : "";
|
|
@@ -11896,4 +11910,4 @@ export {
|
|
|
11896
11910
|
SERVER_VERSION,
|
|
11897
11911
|
createProductBrainServer
|
|
11898
11912
|
};
|
|
11899
|
-
//# sourceMappingURL=chunk-
|
|
11913
|
+
//# sourceMappingURL=chunk-VTHPNYNE.js.map
|