{
 "problem": "A brainstorming tool produces ideas but never a decision. What would change that?",
 "slug": "demo",
 "created": "2026-08-17",
 "mode": "light",
 "criteria_set": "TECH",
 "criteria_labels": {
  "E": "impact",
  "R": "risk",
  "F": "feasibility",
  "S": "speed",
  "P": "maintainability",
  "K": "cost"
 },
 "weights": {
  "E": 0.25,
  "R": 0.2,
  "F": 0.15,
  "S": 0.15,
  "P": 0.15,
  "K": 0.1
 },
 "weights_profile": "default",
 "categories": [
  "ENF enforcement",
  "CRE creativity",
  "MEA measurement",
  "GRD grounding",
  "CUT removal"
 ],
 "commit_slot": "same session — picked immediately after the run",
 "anchors": [
  "id=2 scored 9 on impact: it addresses the 0-of-604 number directly",
  "id=4 scored 3 on impact: removal is hygiene, not outcome",
  "id=10 scored 5 on impact: helps consistency, changes no decision"
 ],
 "ideas": [
  {
   "id": 1,
   "cat": "ENF",
   "name": "Watermark every ranking until the audit runs",
   "mech": "The ranking output itself is degraded, so skipping the audit is visible in the artefact rather than only in the log.",
   "wild": "wild",
   "exec": "me",
   "axes": {
    "E": 9,
    "R": 8,
    "F": 8,
    "S": 8,
    "P": 7,
    "K": 9
   },
   "sigma": null,
   "desc": null
  },
  {
   "id": 2,
   "cat": "ENF",
   "name": "Force a same-session pick at end of run",
   "mech": "Run ends with a request for 3-5 ids, or an explicit date. Deferral stays allowed but stops being silent.",
   "wild": "wild",
   "exec": "me",
   "axes": {
    "E": 9,
    "R": 8,
    "F": 9,
    "S": 9,
    "P": 6,
    "K": 9
   },
   "sigma": null,
   "desc": null
  },
  {
   "id": 3,
   "cat": "MEA",
   "name": "Write one metrics line per run",
   "mech": "Date, count, whether the audit ran, what became of it. Without it the tool cannot be tuned.",
   "wild": "safe",
   "exec": "me",
   "axes": {
    "E": 6,
    "R": 9,
    "F": 9,
    "S": 9,
    "P": 8,
    "K": 9
   },
   "sigma": null,
   "desc": null
  },
  {
   "id": 4,
   "cat": "CUT",
   "name": "Delete the unused export branch",
   "mech": "Zero uses in nine runs. Carrying it costs a maintenance surface for nothing.",
   "wild": "safe",
   "exec": "me",
   "axes": {
    "E": 3,
    "R": 9,
    "F": 9,
    "S": 9,
    "P": 8,
    "K": 9
   },
   "sigma": null,
   "desc": null
  },
  {
   "id": 5,
   "cat": "GRD",
   "name": "Require an executor field on every idea",
   "mech": "One of: me / named person / external / nobody. Nobody is valid and marks a proposal without an owner.",
   "wild": "stretch",
   "exec": "me",
   "axes": {
    "E": 7,
    "R": 8,
    "F": 9,
    "S": 8,
    "P": 8,
    "K": 9
   },
   "sigma": null,
   "desc": null
  },
  {
   "id": 6,
   "cat": "CRE",
   "name": "Mandatory inversion pass, minimum five",
   "mech": "At least five What should we stop doing items per run. Via negativa is systematically under-generated.",
   "wild": "stretch",
   "exec": "me",
   "axes": {
    "E": 6,
    "R": 8,
    "F": 9,
    "S": 8,
    "P": 6,
    "K": 9
   },
   "sigma": null,
   "desc": null
  },
  {
   "id": 7,
   "cat": "CRE",
   "name": "Horizon bands: one week, one year, five years",
   "mech": "Forces the field off the quick-win attractor that free generation drifts toward.",
   "wild": "stretch",
   "exec": "me",
   "axes": {
    "E": 6,
    "R": 8,
    "F": 8,
    "S": 7,
    "P": 6,
    "K": 9
   },
   "sigma": null,
   "desc": null
  },
  {
   "id": 8,
   "cat": "MEA",
   "name": "Measure the wild share instead of declaring it",
   "mech": "Script computes the ratio and warns below fifteen percent. The quota stops being a sentence.",
   "wild": "wild",
   "exec": "me",
   "axes": {
    "E": 5,
    "R": 9,
    "F": 9,
    "S": 9,
    "P": 7,
    "K": 9
   },
   "sigma": null,
   "desc": null
  },
  {
   "id": 9,
   "cat": "GRD",
   "name": "Prior-art check before opening a new run",
   "mech": "Grep previous runs. Roughly eighty percent overlap means finish the old one instead.",
   "wild": "safe",
   "exec": "me",
   "axes": {
    "E": 7,
    "R": 9,
    "F": 8,
    "S": 9,
    "P": 7,
    "K": 9
   },
   "sigma": null,
   "desc": null
  },
  {
   "id": 10,
   "cat": "GRD",
   "name": "Store three calibration anchors per run",
   "mech": "Three ideas scored with written reasoning, so later scores do not drift against earlier ones.",
   "wild": "safe",
   "exec": "nobody",
   "axes": {
    "E": 5,
    "R": 8,
    "F": 7,
    "S": 7,
    "P": 7,
    "K": 8
   },
   "sigma": null,
   "desc": null
  }
 ],
 "promoted": [],
 "initiatives": [],
 "bias_audit": {
  "done": false,
  "date": null,
  "findings": null
 },
 "phase_done": [
  "F0",
  "F1",
  "F2"
 ]
}