← Files MightShapeARCHIVED FILE

references/method-registry.json

38.1 KB · Sep 30, 2026 · 23:14 UTC

↓ Download file

{
  "schema_version": "1.0.0",
  "source_families": [
    "public_design_practice",
    "supplemental_design_practice",
    "mightshape_original"
  ],
  "methods": [
    {
      "id": "beginners-mindset",
      "name": "Beginner's Mindset",
      "modes": ["INTAKE", "EMPATHIZE"],
      "purpose": "Expose expert assumptions before inquiry.",
      "use_when": ["solution fixation", "unfamiliar context", "expert overconfidence"],
      "avoid_when": ["used to discard established safety knowledge"],
      "requires": ["challenge"],
      "outputs": ["assumption memo"],
      "council": "optional",
      "effort": "low",
      "source_family": "public_design_practice",
      "reference": "methods-empathize.md",
      "participation_modes": ["OBSERVE", "COLLABORATE", "FACILITATED_TURN_BY_TURN"]
    },
    {
      "id": "what-how-why",
      "name": "What? How? Why?",
      "modes": ["EMPATHIZE"],
      "purpose": "Separate observation, process, and inferred meaning.",
      "use_when": ["observation", "artifact analysis", "workflow review"],
      "avoid_when": ["no inspectable material"],
      "requires": ["observation or artifact"],
      "outputs": ["layered observation"],
      "council": "none",
      "effort": "low",
      "source_family": "public_design_practice",
      "reference": "methods-empathize.md",
      "participation_modes": ["OBSERVE", "COLLABORATE", "FACILITATED_TURN_BY_TURN"]
    },
    {
      "id": "interview-preparation",
      "name": "Interview Preparation",
      "modes": ["EMPATHIZE", "TEST"],
      "purpose": "Create a flexible, neutral, story-first guide.",
      "use_when": ["human interview planned", "fieldwork kit"],
      "avoid_when": ["decision and learning goal undefined"],
      "requires": ["research goal", "consent plan"],
      "outputs": ["interview guide"],
      "council": "optional",
      "effort": "medium",
      "source_family": "public_design_practice",
      "reference": "methods-empathize.md"
    },
    {
      "id": "interview-for-empathy",
      "name": "Interview for Empathy",
      "modes": ["EMPATHIZE"],
      "purpose": "Reconstruct actual stories, choices, and workarounds.",
      "use_when": ["behavior and meaning matter", "direct participant access"],
      "avoid_when": ["only prevalence is needed", "unsafe or non-consensual context"],
      "requires": ["participant", "consent", "guide"],
      "outputs": ["transcript", "story records"],
      "council": "none",
      "effort": "medium",
      "source_family": "public_design_practice",
      "reference": "methods-empathize.md"
    },
    {
      "id": "contextual-inquiry",
      "name": "Contextual Inquiry",
      "modes": ["EMPATHIZE"],
      "purpose": "Understand real work in its environment with participant explanation.",
      "use_when": ["tools and sequence matter", "workarounds likely", "local workflow"],
      "avoid_when": ["observation would disrupt safety", "context access unavailable"],
      "requires": ["context access", "participant consent"],
      "outputs": ["workflow map", "breakdown records"],
      "council": "none",
      "effort": "high",
      "source_family": "supplemental_design_practice",
      "reference": "methods-empathize.md"
    },
    {
      "id": "observation",
      "name": "Observation",
      "modes": ["EMPATHIZE", "TEST"],
      "purpose": "Capture situated behavior separately from interpretation.",
      "use_when": ["say-do gap possible", "environment matters", "prototype use"],
      "avoid_when": ["privacy or safety cannot be protected"],
      "requires": ["scope", "consent or appropriate notice"],
      "outputs": ["observation records"],
      "council": "none",
      "effort": "medium",
      "source_family": "public_design_practice",
      "reference": "methods-empathize.md"
    },
    {
      "id": "immersion",
      "name": "Immersion",
      "modes": ["EMPATHIZE"],
      "purpose": "Generate questions through safe first-person exposure to constraints.",
      "use_when": ["experience can be sampled safely", "team lacks contextual feel"],
      "avoid_when": ["would impersonate lived experience", "unsafe simulation"],
      "requires": ["reflexive plan"],
      "outputs": ["hypotheses", "research questions"],
      "council": "none",
      "effort": "medium",
      "source_family": "public_design_practice",
      "reference": "methods-empathize.md"
    },
    {
      "id": "extreme-users",
      "name": "Extreme Users",
      "modes": ["EMPATHIZE", "IDEATE"],
      "purpose": "Reveal amplified needs and adaptations.",
      "use_when": ["meaningful behavioral extremes exist", "mainstream needs are hard to see"],
      "avoid_when": ["extremes would be stereotyped", "population generalization is the goal"],
      "requires": ["behavioral extreme definition"],
      "outputs": ["amplified needs", "idea prompts"],
      "council": "optional",
      "effort": "medium",
      "source_family": "public_design_practice",
      "reference": "methods-empathize.md"
    },
    {
      "id": "journey-mapping",
      "name": "Journey Mapping",
      "modes": ["EMPATHIZE", "DEFINE"],
      "purpose": "Map evidence-backed sequence, actors, channels, emotion, and breakdowns.",
      "use_when": ["experience unfolds over time", "handoffs or channels matter"],
      "avoid_when": ["team would invent an unsupported happy path"],
      "requires": ["traceable stories or observations"],
      "outputs": ["journey map", "PROCESS_MAP visual artifact and Markdown fallback when spatial sequence helps"],
      "council": "optional",
      "effort": "medium",
      "source_family": "public_design_practice",
      "reference": "methods-empathize.md",
      "participation_modes": ["OBSERVE", "COLLABORATE", "FACILITATED_TURN_BY_TURN"]
    },
    {
      "id": "stakeholder-mapping",
      "name": "Stakeholder Mapping",
      "modes": ["INTAKE", "EMPATHIZE", "DEFINE"],
      "purpose": "Reveal relationships, power, incentives, benefit, burden, and absence.",
      "use_when": ["service or system challenge", "payer and user differ", "burden may shift"],
      "avoid_when": ["used as an equal-power contact list"],
      "requires": ["initial stakeholder set"],
      "outputs": ["stakeholder map", "missing perspectives"],
      "council": "recommended",
      "effort": "medium",
      "source_family": "supplemental_design_practice",
      "reference": "methods-empathize.md"
    },
    {
      "id": "story-share-capture",
      "name": "Story Share and Capture",
      "modes": ["EMPATHIZE", "DEFINE"],
      "purpose": "Make field stories inspectable before synthesis.",
      "use_when": ["multiple researchers", "several participant stories"],
      "avoid_when": ["source traceability cannot be preserved"],
      "requires": ["story records"],
      "outputs": ["evidence wall", "surprises", "questions"],
      "council": "optional",
      "effort": "medium",
      "source_family": "public_design_practice",
      "reference": "methods-empathize.md"
    },
    {
      "id": "analogous-experiences",
      "name": "Analogous Experiences",
      "modes": ["EMPATHIZE", "IDEATE"],
      "purpose": "Transfer hypotheses from researched settings sharing a mechanism.",
      "use_when": ["direct context access is limited", "mechanism is clearer elsewhere"],
      "avoid_when": ["surface analogy without shared mechanism"],
      "requires": ["target mechanism", "analogous research"],
      "outputs": ["mechanism hypotheses", "inspiration"],
      "council": "recommended",
      "effort": "medium",
      "source_family": "public_design_practice",
      "reference": "methods-empathize.md"
    },
    {
      "id": "assumption-mapping",
      "name": "Assumption Mapping",
      "modes": ["INTAKE", "EMPATHIZE", "PROTOTYPE"],
      "purpose": "Prioritize important weakly evidenced beliefs.",
      "use_when": ["many assumptions", "research time is limited", "prototype focus unclear"],
      "avoid_when": ["confidence would be substituted for evidence"],
      "requires": ["assumption list"],
      "outputs": ["prioritized assumption map"],
      "council": "recommended",
      "effort": "low",
      "source_family": "supplemental_design_practice",
      "reference": "methods-empathize.md",
      "participation_modes": ["OBSERVE", "COLLABORATE", "FACILITATED_TURN_BY_TURN"]
    },
    {
      "id": "inquiry-lab",
      "name": "Inquiry Lab",
      "modes": ["EMPATHIZE", "TEST"],
      "purpose": "Coordinate research-grounded synthetic and real human inquiry.",
      "use_when": ["unfamiliar domain", "interview preparation", "synthetic-to-human comparison"],
      "avoid_when": ["synthetic work would be presented as human evidence"],
      "requires": ["learning goal", "evidence policy"],
      "outputs": ["Reality Packet", "study", "findings", "Reality Check"],
      "council": "optional",
      "effort": "high",
      "source_family": "mightshape_original",
      "reference": "inquiry-lab.md"
    },
    {
      "id": "research-planning",
      "name": "Research Planning",
      "modes": ["INTAKE", "EMPATHIZE", "TEST"],
      "purpose": "Connect a decision to learning questions, methods, participants, capture, and limits.",
      "use_when": ["multiple inquiry options", "consequential decision"],
      "avoid_when": ["no decision or learning goal"],
      "requires": ["decision to inform"],
      "outputs": ["research plan"],
      "council": "optional",
      "effort": "medium",
      "source_family": "mightshape_original",
      "reference": "methods-empathize.md"
    },
    {
      "id": "affinity-clustering",
      "name": "Affinity Clustering",
      "modes": ["DEFINE"],
      "purpose": "Group evidence by emergent similarity while preserving outliers.",
      "use_when": ["many evidence records", "themes are not yet clear"],
      "avoid_when": ["clusters are preselected to support a concept"],
      "requires": ["source-linked evidence records"],
      "outputs": ["clusters", "outliers", "AFFINITY_MAP visual artifact and Markdown fallback when spatial grouping helps"],
      "council": "optional",
      "effort": "medium",
      "source_family": "supplemental_design_practice",
      "reference": "methods-define.md",
      "participation_modes": ["OBSERVE", "COLLABORATE", "FACILITATED_TURN_BY_TURN"]
    },
    {
      "id": "pattern-finding",
      "name": "Pattern Finding",
      "modes": ["DEFINE"],
      "purpose": "Identify recurring mechanisms and contextual exceptions.",
      "use_when": ["several stories or observations"],
      "avoid_when": ["sample scope will be hidden"],
      "requires": ["evidence set"],
      "outputs": ["patterns", "negative cases"],
      "council": "optional",
      "effort": "medium",
      "source_family": "public_design_practice",
      "reference": "methods-define.md"
    },
    {
      "id": "need-finding",
      "name": "Need Finding",
      "modes": ["DEFINE"],
      "purpose": "Express evidence-backed human needs without solution nouns.",
      "use_when": ["frame contains features", "observations need interpretation"],
      "avoid_when": ["evidence is absent"],
      "requires": ["observations", "patterns"],
      "outputs": ["need candidates"],
      "council": "recommended",
      "effort": "medium",
      "source_family": "public_design_practice",
      "reference": "methods-define.md"
    },
    {
      "id": "tension-finding",
      "name": "Tension Finding",
      "modes": ["DEFINE"],
      "purpose": "Surface goals, values, roles, or constraints that pull against each other.",
      "use_when": ["tradeoffs recur", "several stakeholders", "contradictory behavior"],
      "avoid_when": ["tension would be prematurely resolved"],
      "requires": ["evidence or patterns"],
      "outputs": ["tensions"],
      "council": "recommended",
      "effort": "medium",
      "source_family": "mightshape_original",
      "reference": "methods-define.md"
    },
    {
      "id": "contradiction-mining",
      "name": "Contradiction Mining",
      "modes": ["DEFINE", "TEST"],
      "purpose": "Use say-do gaps, source conflict, and exceptions as learning.",
      "use_when": ["evidence conflicts", "negative cases matter", "frame feels too tidy"],
      "avoid_when": ["used to accuse participants"],
      "requires": ["contradictory records"],
      "outputs": ["alternate explanations", "research questions"],
      "council": "recommended",
      "effort": "medium",
      "source_family": "mightshape_original",
      "reference": "methods-define.md"
    },
    {
      "id": "insight-generation",
      "name": "Insight Generation",
      "modes": ["DEFINE"],
      "purpose": "Turn patterns and tensions into generative supported interpretations.",
      "use_when": ["patterns exist but opportunity is unclear"],
      "avoid_when": ["observation will be relabeled as insight"],
      "requires": ["evidence", "pattern or tension"],
      "outputs": ["insights"],
      "council": "recommended",
      "effort": "high",
      "source_family": "public_design_practice",
      "reference": "methods-define.md"
    },
    {
      "id": "two-by-two",
      "name": "2×2 Matrix",
      "modes": ["DEFINE", "IDEATE"],
      "purpose": "Explore relationships and gaps across two meaningful dimensions.",
      "use_when": ["dimensions can reveal a landscape"],
      "avoid_when": ["axes are correlated or chosen to prove a segment"],
      "requires": ["items", "two dimensions"],
      "outputs": ["matrix", "gaps", "questions"],
      "council": "optional",
      "effort": "low",
      "source_family": "public_design_practice",
      "reference": "methods-define.md"
    },
    {
      "id": "why-how-laddering",
      "name": "Why-How Laddering",
      "modes": ["DEFINE"],
      "purpose": "Find a frame altitude between empty universals and solution details.",
      "use_when": ["frame too broad", "frame too narrow", "meaning and action are disconnected"],
      "avoid_when": ["why claims would be treated as evidence"],
      "requires": ["need or problem statement"],
      "outputs": ["ladder", "candidate frame"],
      "council": "optional",
      "effort": "low",
      "source_family": "public_design_practice",
      "reference": "methods-define.md"
    },
    {
      "id": "powers-of-ten",
      "name": "Powers of Ten",
      "modes": ["DEFINE", "IDEATE"],
      "purpose": "Reveal scale-dependent frames, mechanisms, and assumptions.",
      "use_when": ["scale is taken for granted", "frame feels fixed"],
      "avoid_when": ["scale changes have no relevance"],
      "requires": ["current frame or concept"],
      "outputs": ["alternate scales", "assumptions"],
      "council": "recommended",
      "effort": "low",
      "source_family": "public_design_practice",
      "reference": "methods-define.md"
    },
    {
      "id": "alternative-frames",
      "name": "Alternative Frames",
      "modes": ["DEFINE"],
      "purpose": "Generate obvious, behavioral, systems, and counterintuitive interpretations.",
      "use_when": ["several mechanisms fit", "solution fixation", "consequential framing"],
      "avoid_when": ["alternatives are unsupported wordplay"],
      "requires": ["evidence set"],
      "outputs": ["competing frames"],
      "council": "recommended",
      "effort": "high",
      "source_family": "mightshape_original",
      "reference": "methods-define.md"
    },
    {
      "id": "point-of-view",
      "name": "Point of View",
      "modes": ["DEFINE"],
      "purpose": "Combine user, solution-independent need, and insight into a generative frame.",
      "use_when": ["evidence and needs exist", "ideation needs direction"],
      "avoid_when": ["need contains a solution", "insight lacks evidence"],
      "requires": ["user context", "need", "insight"],
      "outputs": ["POV"],
      "council": "recommended",
      "effort": "medium",
      "source_family": "public_design_practice",
      "reference": "methods-define.md",
      "participation_modes": ["OBSERVE", "COLLABORATE", "FACILITATED_TURN_BY_TURN"]
    },
    {
      "id": "how-might-we",
      "name": "How Might We",
      "modes": ["DEFINE", "IDEATE"],
      "purpose": "Transform a POV into several bounded generative questions.",
      "use_when": ["POV is ready", "idea space needs alternate openings"],
      "avoid_when": ["question embeds the chosen artifact"],
      "requires": ["POV"],
      "outputs": ["HMW questions"],
      "council": "recommended",
      "effort": "low",
      "source_family": "public_design_practice",
      "reference": "methods-define.md",
      "participation_modes": ["OBSERVE", "COLLABORATE", "FACILITATED_TURN_BY_TURN"]
    },
    {
      "id": "classic-brainstorm",
      "name": "Classic Brainstorm",
      "modes": ["IDEATE"],
      "purpose": "Generate quantity and combinations around one HMW.",
      "use_when": ["group energy helps", "status effects are manageable"],
      "avoid_when": ["hierarchy or anchoring dominates"],
      "requires": ["HMW", "protected divergence"],
      "outputs": ["ideas"],
      "council": "recommended",
      "effort": "medium",
      "source_family": "public_design_practice",
      "reference": "methods-ideate.md",
      "participation_modes": ["OBSERVE", "COLLABORATE", "FACILITATED_TURN_BY_TURN"]
    },
    {
      "id": "brainwriting",
      "name": "Brainwriting",
      "modes": ["IDEATE"],
      "purpose": "Generate independently before social influence.",
      "use_when": ["anchoring risk", "uneven airtime", "sealed round"],
      "avoid_when": ["used as premature voting"],
      "requires": ["common prompt"],
      "outputs": ["independent ideas"],
      "council": "recommended",
      "effort": "medium",
      "source_family": "supplemental_design_practice",
      "reference": "methods-ideate.md",
      "participation_modes": ["OBSERVE", "COLLABORATE", "FACILITATED_TURN_BY_TURN"]
    },
    {
      "id": "yes-and",
      "name": "Yes-And",
      "modes": ["IDEATE"],
      "purpose": "Extend a useful kernel with a new mechanism or context.",
      "use_when": ["kernels exist", "cross-pollination is frozen and anonymous"],
      "avoid_when": ["first-round independence is not complete"],
      "requires": ["idea kernel"],
      "outputs": ["mutations"],
      "council": "recommended",
      "effort": "low",
      "source_family": "public_design_practice",
      "reference": "methods-ideate.md"
    },
    {
      "id": "crazy-eights",
      "name": "Crazy Eights",
      "modes": ["IDEATE"],
      "purpose": "Force rapid visual or interaction variety.",
      "use_when": ["interface or experience forms need breadth"],
      "avoid_when": ["only cosmetic layout changes result"],
      "requires": ["HMW", "sketch surface"],
      "outputs": ["eight sketches"],
      "council": "optional",
      "effort": "low",
      "source_family": "supplemental_design_practice",
      "reference": "methods-ideate.md"
    },
    {
      "id": "worst-possible-idea",
      "name": "Worst Possible Idea",
      "modes": ["IDEATE"],
      "purpose": "Reveal violated values and inverted mechanisms through safe absurdity.",
      "use_when": ["group is inhibited", "space is conventional"],
      "avoid_when": ["harmful ideas would be normalized or target people"],
      "requires": ["safe boundaries"],
      "outputs": ["violated values", "inversions"],
      "council": "recommended",
      "effort": "low",
      "source_family": "supplemental_design_practice",
      "reference": "methods-ideate.md"
    },
    {
      "id": "opposite-world",
      "name": "Opposite World",
      "modes": ["IDEATE"],
      "purpose": "Invert roles, defaults, incentives, or desired behavior.",
      "use_when": ["boundaries feel inevitable", "radical territory is thin"],
      "avoid_when": ["inversion has no learning purpose"],
      "requires": ["current convention"],
      "outputs": ["inverted concepts"],
      "council": "recommended",
      "effort": "low",
      "source_family": "mightshape_original",
      "reference": "methods-ideate.md"
    },
    {
      "id": "constraint-storm",
      "name": "Constraint Storm",
      "modes": ["IDEATE"],
      "purpose": "Use a purposeful constraint to reveal simpler mechanisms.",
      "use_when": ["ideas are bloated", "real constraint is important"],
      "avoid_when": ["arbitrary constraint only creates novelty"],
      "requires": ["HMW", "constraint"],
      "outputs": ["constraint-led ideas"],
      "council": "recommended",
      "effort": "low",
      "source_family": "mightshape_original",
      "reference": "methods-ideate.md"
    },
    {
      "id": "constraint-removal",
      "name": "Constraint Removal",
      "modes": ["IDEATE"],
      "purpose": "Temporarily remove a constraint to expose underlying value.",
      "use_when": ["inherited constraint dominates", "systemic territory is thin"],
      "avoid_when": ["reality is never restored during convergence"],
      "requires": ["named constraint"],
      "outputs": ["unbounded mechanisms", "constraint insight"],
      "council": "recommended",
      "effort": "low",
      "source_family": "mightshape_original",
      "reference": "methods-ideate.md"
    },
    {
      "id": "analogy-storm",
      "name": "Analogy Storm",
      "modes": ["IDEATE"],
      "purpose": "Transfer researched mechanisms from distant settings.",
      "use_when": ["conceptual distance needed", "analogous research exists"],
      "avoid_when": ["analogy is an unresearched slogan"],
      "requires": ["target mechanism", "analogous examples"],
      "outputs": ["transferred mechanisms"],
      "council": "recommended",
      "effort": "medium",
      "source_family": "supplemental_design_practice",
      "reference": "methods-ideate.md"
    },
    {
      "id": "mash-up",
      "name": "Mash-Up",
      "modes": ["IDEATE"],
      "purpose": "Combine distant elements into a new mechanism.",
      "use_when": ["two useful idea or context sets exist"],
      "avoid_when": ["combination is cosmetic"],
      "requires": ["two element sets"],
      "outputs": ["hybrid concepts"],
      "council": "recommended",
      "effort": "low",
      "source_family": "supplemental_design_practice",
      "reference": "methods-ideate.md"
    },
    {
      "id": "assumption-busting",
      "name": "Assumption Busting",
      "modes": ["IDEATE", "PROTOTYPE"],
      "purpose": "Negate a pivotal assumption and create optional alternatives.",
      "use_when": ["concept depends on one belief", "solution lock-in"],
      "avoid_when": ["assumption is a true safety constraint"],
      "requires": ["assumption"],
      "outputs": ["assumption-independent concepts"],
      "council": "recommended",
      "effort": "low",
      "source_family": "mightshape_original",
      "reference": "methods-ideate.md"
    },
    {
      "id": "first-principles",
      "name": "First Principles",
      "modes": ["IDEATE"],
      "purpose": "Separate outcomes and immutable constraints from inherited conventions.",
      "use_when": ["legacy workflow dominates", "conventions look inevitable"],
      "avoid_when": ["untested beliefs are labeled fundamental"],
      "requires": ["desired outcome", "constraint list"],
      "outputs": ["recomposed mechanisms"],
      "council": "recommended",
      "effort": "medium",
      "source_family": "supplemental_design_practice",
      "reference": "methods-ideate.md"
    },
    {
      "id": "role-storming",
      "name": "Role Storming",
      "modes": ["IDEATE"],
      "purpose": "Explore an actor's logic as an idea prompt.",
      "use_when": ["stakeholder logics differ"],
      "avoid_when": ["roleplay would be treated as evidence or a deep persona"],
      "requires": ["actor or role"],
      "outputs": ["role-prompted ideas"],
      "council": "optional",
      "effort": "low",
      "source_family": "supplemental_design_practice",
      "reference": "methods-ideate.md"
    },
    {
      "id": "human-only",
      "name": "Human-Only",
      "modes": ["IDEATE"],
      "purpose": "Reveal value created by judgment, trust, care, and coordination without automation.",
      "use_when": ["AI or automation is assumed", "human value is unclear"],
      "avoid_when": ["human burden is ignored"],
      "requires": ["desired outcome"],
      "outputs": ["human service concepts"],
      "council": "recommended",
      "effort": "low",
      "source_family": "mightshape_original",
      "reference": "methods-ideate.md"
    },
    {
      "id": "technology-only",
      "name": "Technology-Only",
      "modes": ["IDEATE"],
      "purpose": "Probe the full-automation boundary and expose data, override, and recovery assumptions.",
      "use_when": ["automation boundary is unclear"],
      "avoid_when": ["treated as an endorsement"],
      "requires": ["desired outcome"],
      "outputs": ["automation extreme", "failure assumptions"],
      "council": "recommended",
      "effort": "low",
      "source_family": "mightshape_original",
      "reference": "methods-ideate.md"
    },
    {
      "id": "ten-x",
      "name": "10×",
      "modes": ["IDEATE"],
      "purpose": "Force system-level mechanisms at an order-of-magnitude scale change.",
      "use_when": ["scale assumptions are hidden", "incremental ideas dominate"],
      "avoid_when": ["scale has no connection to the frame"],
      "requires": ["current scale"],
      "outputs": ["scaled concepts"],
      "council": "recommended",
      "effort": "low",
      "source_family": "mightshape_original",
      "reference": "methods-ideate.md"
    },
    {
      "id": "one-tenth-cost",
      "name": "1/10 Cost",
      "modes": ["IDEATE"],
      "purpose": "Generate elimination, reuse, narrower scope, or changed-responsibility concepts.",
      "use_when": ["cost or attention burden is pivotal"],
      "avoid_when": ["safety or dignity is silently cut"],
      "requires": ["cost dimension"],
      "outputs": ["low-cost concepts"],
      "council": "recommended",
      "effort": "low",
      "source_family": "mightshape_original",
      "reference": "methods-ideate.md"
    },
    {
      "id": "zero-interface",
      "name": "Zero Interface",
      "modes": ["IDEATE"],
      "purpose": "Achieve the outcome through defaults, protocols, environment, integration, or people without an app.",
      "use_when": ["feature lists dominate", "interaction burden matters"],
      "avoid_when": ["invisible automation would remove agency"],
      "requires": ["desired outcome"],
      "outputs": ["non-interface concepts"],
      "council": "recommended",
      "effort": "low",
      "source_family": "mightshape_original",
      "reference": "methods-ideate.md"
    },
    {
      "id": "concept-selection",
      "name": "Concept Selection",
      "modes": ["IDEATE", "PROTOTYPE"],
      "purpose": "Preserve a diverse learning portfolio after divergence.",
      "use_when": ["response set is frozen", "territories and outliers exist"],
      "avoid_when": ["used as immediate top-vote collapse"],
      "requires": ["concept set", "selection criteria"],
      "outputs": ["concept portfolio", "minority report"],
      "council": "recommended",
      "effort": "medium",
      "source_family": "mightshape_original",
      "reference": "methods-ideate.md"
    },
    {
      "id": "prototype-to-learn",
      "name": "Prototype to Learn",
      "modes": ["PROTOTYPE"],
      "purpose": "Build minimum fidelity around one critical uncertainty.",
      "use_when": ["making is cheapest learning", "critical assumption is named"],
      "avoid_when": ["production artifact is mistaken for evidence"],
      "requires": ["hypothesis", "critical assumption", "signals"],
      "outputs": ["Prototype Card", "learning artifact"],
      "council": "optional",
      "effort": "medium",
      "source_family": "public_design_practice",
      "reference": "methods-prototype-test.md",
      "participation_modes": ["OBSERVE", "COLLABORATE", "FACILITATED_TURN_BY_TURN"]
    },
    {
      "id": "paper-prototype",
      "name": "Paper Prototype",
      "modes": ["PROTOTYPE", "TEST"],
      "purpose": "Test flow, comprehension, and information hierarchy cheaply.",
      "use_when": ["interaction logic uncertain", "backend is irrelevant"],
      "avoid_when": ["technical feasibility is the question"],
      "requires": ["task flow"],
      "outputs": ["paper states", "behavior observations"],
      "council": "none",
      "effort": "low",
      "source_family": "supplemental_design_practice",
      "reference": "methods-prototype-test.md"
    },
    {
      "id": "storyboard",
      "name": "Storyboard",
      "modes": ["PROTOTYPE", "TEST"],
      "purpose": "Test scenario, sequence, meaning, and context before interface detail.",
      "use_when": ["experience unfolds over time", "trigger and aftermath matter"],
      "avoid_when": ["story is staged to remove real friction"],
      "requires": ["scenario"],
      "outputs": ["storyboard", "scenario feedback"],
      "council": "optional",
      "effort": "low",
      "source_family": "public_design_practice",
      "reference": "methods-prototype-test.md"
    },
    {
      "id": "roleplay",
      "name": "Roleplay / Service Rehearsal",
      "modes": ["PROTOTYPE", "TEST"],
      "purpose": "Expose scripts, handoffs, waits, and recovery in a service.",
      "use_when": ["social interaction or backstage work matters"],
      "avoid_when": ["unsafe or humiliating enactment"],
      "requires": ["roles", "scenario"],
      "outputs": ["rehearsal", "handoff findings"],
      "council": "optional",
      "effort": "medium",
      "source_family": "public_design_practice",
      "reference": "methods-prototype-test.md"
    },
    {
      "id": "clickable-mock",
      "name": "Clickable Mock",
      "modes": ["PROTOTYPE", "TEST"],
      "purpose": "Test interaction, navigation, and language without production systems.",
      "use_when": ["screen interaction affects learning"],
      "avoid_when": ["paper or storyboard is sufficient", "technical feasibility is inferred"],
      "requires": ["task", "screen states"],
      "outputs": ["interactive mock", "usability findings"],
      "council": "none",
      "effort": "medium",
      "source_family": "supplemental_design_practice",
      "reference": "methods-prototype-test.md"
    },
    {
      "id": "fake-door",
      "name": "Fake Door / Landing Page",
      "modes": ["PROTOTYPE", "TEST"],
      "purpose": "Observe attention or meaningful commitment before capability exists.",
      "use_when": ["demand signal is uncertain", "ethical disclosure is possible"],
      "avoid_when": ["deception or unnecessary data collection", "clicks will be called sustained value"],
      "requires": ["action signal", "disclosure plan"],
      "outputs": ["commitment signal", "questions"],
      "council": "optional",
      "effort": "medium",
      "source_family": "supplemental_design_practice",
      "reference": "methods-prototype-test.md"
    },
    {
      "id": "concierge",
      "name": "Concierge Prototype",
      "modes": ["PROTOTYPE", "TEST"],
      "purpose": "Deliver value manually to learn demand and service logic.",
      "use_when": ["automation is expensive", "outcome value is uncertain"],
      "avoid_when": ["hidden labor will be ignored"],
      "requires": ["service script", "participants"],
      "outputs": ["manual service", "workflow learning"],
      "council": "optional",
      "effort": "medium",
      "source_family": "supplemental_design_practice",
      "reference": "methods-prototype-test.md"
    },
    {
      "id": "wizard-of-oz",
      "name": "Wizard of Oz",
      "modes": ["PROTOTYPE", "TEST"],
      "purpose": "Test an apparent automation experience before building automation.",
      "use_when": ["perceived automation affects behavior", "manual simulation is safe"],
      "avoid_when": ["consequential decisions", "no disclosure or debriefing plan"],
      "requires": ["behind-curtain workflow", "ethics plan"],
      "outputs": ["simulated experience", "behavior findings"],
      "council": "optional",
      "effort": "medium",
      "source_family": "supplemental_design_practice",
      "reference": "methods-prototype-test.md"
    },
    {
      "id": "manual-workflow",
      "name": "Manual Workflow",
      "modes": ["PROTOTYPE", "TEST"],
      "purpose": "Learn process, exceptions, and information needs before automation.",
      "use_when": ["workflow is uncertain", "automation is proposed"],
      "avoid_when": ["manual burden creates unacceptable risk"],
      "requires": ["checklist", "existing tools"],
      "outputs": ["manual run", "exception log"],
      "council": "optional",
      "effort": "low",
      "source_family": "mightshape_original",
      "reference": "methods-prototype-test.md"
    },
    {
      "id": "spreadsheet-simulation",
      "name": "Spreadsheet / Email / SMS Simulation",
      "modes": ["PROTOTYPE", "TEST"],
      "purpose": "Simulate information capture, routing, and reminders with existing media.",
      "use_when": ["behavioral workflow is the question", "product infrastructure is unnecessary"],
      "avoid_when": ["channel changes invalidate the learning"],
      "requires": ["workflow", "test channel"],
      "outputs": ["simulation", "behavior log"],
      "council": "none",
      "effort": "low",
      "source_family": "mightshape_original",
      "reference": "methods-prototype-test.md"
    },
    {
      "id": "coded-spike",
      "name": "Coded Spike",
      "modes": ["PROTOTYPE", "TEST"],
      "purpose": "Test a technical or interaction uncertainty with disposable code.",
      "use_when": ["code is the cheapest faithful test", "technical feasibility is pivotal"],
      "avoid_when": ["production architecture would not change learning"],
      "requires": ["question", "time box", "throwaway boundary"],
      "outputs": ["spike", "technical finding"],
      "council": "optional",
      "effort": "medium",
      "source_family": "mightshape_original",
      "reference": "methods-prototype-test.md"
    },
    {
      "id": "physical-mock",
      "name": "Physical Mock",
      "modes": ["PROTOTYPE", "TEST"],
      "purpose": "Test scale, reach, placement, handling, fit, or environment.",
      "use_when": ["physical properties affect use"],
      "avoid_when": ["irrelevant material fidelity"],
      "requires": ["critical physical properties"],
      "outputs": ["mock", "physical-use findings"],
      "council": "optional",
      "effort": "medium",
      "source_family": "supplemental_design_practice",
      "reference": "methods-prototype-test.md"
    },
    {
      "id": "experience-prototype",
      "name": "Experience Prototype",
      "modes": ["PROTOTYPE", "TEST"],
      "purpose": "Let participants experience enough context and sequence to generate learning.",
      "use_when": ["meaning or sensory/social experience matters"],
      "avoid_when": ["staging removes real constraints"],
      "requires": ["experience question", "context cues"],
      "outputs": ["experience", "contextual findings"],
      "council": "optional",
      "effort": "high",
      "source_family": "public_design_practice",
      "reference": "methods-prototype-test.md"
    },
    {
      "id": "technical-proof",
      "name": "Technical Proof",
      "modes": ["PROTOTYPE", "TEST"],
      "purpose": "Establish a bounded capability, integration, performance limit, or failure mode.",
      "use_when": ["technical uncertainty blocks a decision"],
      "avoid_when": ["desirability or adoption will be inferred"],
      "requires": ["technical success and failure criteria"],
      "outputs": ["technical result"],
      "council": "none",
      "effort": "medium",
      "source_family": "supplemental_design_practice",
      "reference": "methods-prototype-test.md"
    },
    {
      "id": "assumption-test",
      "name": "Assumption Test",
      "modes": ["PROTOTYPE", "TEST"],
      "purpose": "Fairly test one high-risk assumption with disconfirming signals.",
      "use_when": ["assumption burn-down has an open high-risk item"],
      "avoid_when": ["metric only confirms approval"],
      "requires": ["assumption", "signals"],
      "outputs": ["experiment result", "assumption status"],
      "council": "recommended",
      "effort": "medium",
      "source_family": "mightshape_original",
      "reference": "methods-prototype-test.md",
      "participation_modes": ["OBSERVE", "COLLABORATE", "FACILITATED_TURN_BY_TURN"]
    },
    {
      "id": "usability-test",
      "name": "Usability Test",
      "modes": ["TEST"],
      "purpose": "Observe task attempts, expectations, errors, and recovery with minimal coaching.",
      "use_when": ["interaction artifact exists", "task behavior matters"],
      "avoid_when": ["preference is the only question"],
      "requires": ["prototype", "realistic tasks", "participants"],
      "outputs": ["behavior observations", "usability findings"],
      "council": "none",
      "effort": "medium",
      "source_family": "supplemental_design_practice",
      "reference": "methods-prototype-test.md",
      "participation_modes": ["OBSERVE", "COLLABORATE", "FACILITATED_TURN_BY_TURN"]
    },
    {
      "id": "feedback-matrix",
      "name": "Feedback Matrix",
      "modes": ["TEST", "DEFINE"],
      "purpose": "Organize working elements, questions, change ideas, and surprises.",
      "use_when": ["prototype feedback is varied"],
      "avoid_when": ["requested features will be accepted as requirements"],
      "requires": ["feedback records"],
      "outputs": ["feedback matrix"],
      "council": "optional",
      "effort": "low",
      "source_family": "public_design_practice",
      "reference": "methods-prototype-test.md"
    },
    {
      "id": "comparative-prototype-test",
      "name": "Comparative Prototype Test",
      "modes": ["TEST"],
      "purpose": "Expose behavioral tradeoffs between distinct mechanisms.",
      "use_when": ["two mechanisms embody a meaningful tradeoff"],
      "avoid_when": ["session becomes a preference vote"],
      "requires": ["distinct prototypes", "counterbalanced tasks"],
      "outputs": ["comparative behavior findings"],
      "council": "optional",
      "effort": "medium",
      "source_family": "mightshape_original",
      "reference": "methods-prototype-test.md"
    },
    {
      "id": "reality-check",
      "name": "Reality Check",
      "modes": ["EMPATHIZE", "DEFINE", "TEST"],
      "purpose": "Compare a synthetic expectation with real human evidence and update the frame.",
      "use_when": ["synthetic hypothesis shaped a decision", "human evidence is now available"],
      "avoid_when": ["synthetic and human records would be blended"],
      "requires": ["synthetic hypothesis", "human evidence"],
      "outputs": ["Reality Check", "frame update"],
      "council": "recommended",
      "effort": "medium",
      "source_family": "mightshape_original",
      "reference": "inquiry-lab.md"
    }
  ]
}

SHA-256: aa61595e8ac009a73ab0e637cbe58ffacddb7c8cbe0fd8cade71b2d1b5649374