{ "generated_at": "2026-02-21T18:05:48.200896", "version": "1.0.0", "entities": { "councils": { "D": { "name": "Deterministic", "bias": [ "clarity", "feasibility", "low_drift" ] }, "P": { "name": "Probabilistic", "bias": [ "novelty", "exploration", "reframing" ] } }, "roles": [ "arbiter", "free_thinker", "grounder", "writer" ], "meta_roles": [ "meta_arbiter", "meta_writer" ] }, "schemas": { "input_package": { "required": [ "problem_statement", "success_definition", "constraints", "context", "timebox" ], "optional": [ "stakeholders", "non_goals", "risk_tolerance", "glossary" ] }, "idea_card": { "id": "string", "title": "string", "one_liner": "string", "mechanism": [ "string" ], "assumptions": [ "string" ], "constraints": [ "string" ], "mve": { "steps": [ "string" ], "success_metric": "string", "time_cost": "string", "resources": [ "string" ] }, "risks": [ "string" ], "upside": "string", "tags": [ "string" ] }, "bridge_packet": { "top_ideas": [ "idea_card" ], "fragile_assumptions": [ "string" ], "key_questions": [ "string" ], "themes": [ "string" ], "do_not_do": [ "string" ] }, "score": { "novelty": "0-5", "feasibility": "0-5", "leverage": "0-5", "clarity": "0-5", "evidence_alignment": "0-5", "decision": [ "advance", "hold", "drop" ] }, "brief": { "version": "string", "summary": [ "string" ], "shortlist": [ { "idea_id": "string", "score": "score", "notes": "string" } ], "graph_delta": { "nodes_added": [ "object" ], "edges_added": [ "object" ], "nodes_updated": [ "object" ], "edges_updated": [ "object" ] }, "open_questions": [ "string" ], "next_actions": [ "string" ] }, "final_pack": { "primary_bets": [ "idea_card" ], "secondary_bets": [ "idea_card" ], "experiments": [ "object" ], "assumptions_to_validate": [ "string" ], "decision_log": [ "string" ], "kill_criteria": [ "string" ], "next_data": [ "string" ] } }, "workflow": [ { "phase": 0, "name": "setup", "artifacts_out": [ "context_snapshot_v0" ] }, { "phase": 1, "name": "independent_ideation", "artifacts_out": [ "D_brief_v1", "P_brief_v1" ] }, { "phase": 2, "name": "bridge", "routes": [ "D.arbiter<->P.arbiter" ], "artifacts_out": [ "bridge_D_to_P", "bridge_P_to_D" ] }, { "phase": 3, "name": "second_pass", "artifacts_out": [ "D_brief_v2", "P_brief_v2" ] }, { "phase": 4, "name": "meta_merge", "artifacts_out": [ "final_idea_brief_pack" ] } ], "prompts": { "D": { "arbiter": "You are the Arbiter for the Deterministic Council. Manage phases, request Idea Cards, score with rubric, select and stop on convergence. Minimal speculation. Do not generate more than 2 original ideas yourself.", "free_thinker": "Generate 10–15 feasible Idea Cards bounded by constraints. Include mechanisms. Keep each card short.", "grounder": "Expand selected Idea Cards with Preconditions (X/Y/Z), dependencies, and MVEs with success metrics. Do not veto; propose cheap proxy tests if needed.", "writer": "Maintain ideation graph and versioned briefs. No new ideas. Track deltas and tensions." }, "P": { "arbiter": "You are the Arbiter for the Probabilistic Council. Protect divergence early, enforce Idea Cards, require uncertainty labels, then request grounding and testability. Avoid premature convergence.", "free_thinker": "Generate 15–25 novel Idea Cards with plausible mechanisms. Mark [SPECULATIVE] vs [GROUNDED]. Expand top 5.", "grounder": "Preserve weirdness; extract kernel; define cheap MVEs with clear success metrics. Do not kill ideas.", "writer": "Maintain ideation graph and versioned briefs. No new ideas. Track deltas and tensions." }, "meta_arbiter": "Ingest D Brief v2 and P Brief v2. Apply rubric consistently. Select 1–3 primary bets and 2–4 secondary bets with MVEs and kill criteria. Produce rationale and decision log." }, "graph_model": { "node_types": [ "idea", "assumption", "constraint", "experiment", "evidence" ], "edge_types": [ "supports", "depends_on", "risks", "tests", "contradicts" ] }, "protocol": { "allowed_routes": [ "D.arbiter<->D.free_thinker", "D.arbiter<->D.grounder", "D.arbiter<->D.writer", "P.arbiter<->P.free_thinker", "P.arbiter<->P.grounder", "P.arbiter<->P.writer", "D.arbiter<->P.arbiter (bridge only)", "meta_arbiter reads D_brief_v2 and P_brief_v2" ], "hard_rules": [ "No cross-council messages except Bridge Packets.", "Writers do not invent new ideas.", "Grounders do not veto; they concretize.", "Arbiters stop on convergence or diminishing novelty." ] } }