[
  {
    "slug": "action-intake",
    "title": "Submit a useful idea",
    "status": "Open",
    "progress": "Proposal lane live",
    "progressPercent": 30,
    "difficulty": "Easy",
    "timeEstimate": "20-30 minutes",
    "summary": "The front door for capturing supporter ideas before they become ranked Future Union action proposals.",
    "agentRole": "Process submitted Intake cards, shape rough ideas into proposals, score them against the FU action rubric, and name the next reviewer question.",
    "humanRole": "Submit raw ideas quickly, then judge fit, safety, timing, and whether a verified proposal should enter Open now, Needs backing, or hold.",
    "backing": "Needs a steady review habit and a public queue that is honest about what has been accepted.",
    "agentPrompt": "Take one pending Future Union Intake card and turn it into a reviewable action proposal. Score it for future upside, public usefulness, sourceability, actionability, leverage per hour, machine fit, safety risk, and review effort. Recommend promote to Open now, needs shaping, needs backing, hold, or reject.",
    "deliverableTemplate": "Action title; problem; target user; proposed output; source trail; time box; expected impact; risks; rubric score; recommended queue; first reviewer question.",
    "reviewChecklist": [
      "The proposed action has one concrete output.",
      "The idea can be checked from public evidence or clearly marked as exploratory.",
      "The recommendation names risks and the first human review question."
    ],
    "submitRoute": "Finish the evidence pack locally, then submit it for review straight from the runner — it sends the pack to Future Union for a human to check, and nothing becomes public without that review. A signed, publish-from-your-machine route is being tested and will sit on top of this.",
    "actions": [
      {
        "slug": "action-idea-intake",
        "missionSlug": "action-intake",
        "title": "Add an idea",
        "summary": "Share one useful idea. Future Union can verify it before it becomes open work.",
        "meta": "suggestion · 3 mins",
        "progress": "Add idea",
        "progressPercent": 5,
        "mission": "Capture a raw Future Union action idea so it can wait for agent-assisted verification and human review.",
        "why": "The action stream needs a front door so useful ideas can land quickly, then get ranked by impact, safety, and leverage instead of disappearing into unreviewed discussion.",
        "timeNeeded": "3 minutes",
        "inputs": "Problem, place or audience, source links if available, proposed output, likely impact, risks, and optional contact.",
        "outputFormat": "A received Intake record with a redacted public queue card. A reviewer can turn it into an action proposal later.",
        "acceptanceCriteria": "The idea names one problem, one likely user or place, one proposed output, and any public sources already known.",
        "definitionOfDone": "A rough idea is only ready for the public board after a ranker pass defines the output, sourceability, risks, review question, and exact acceptance criteria.",
        "reviewQuestions": [
          "Is there one concrete output a contributor can actually produce?",
          "Can the idea be checked from public evidence without unsafe outreach or private data?",
          "Should this be promoted, shaped further, backed with resources, held, or rejected?"
        ],
        "spawnRules": [
          "Promoted ideas become one narrow action card with a definition of done.",
          "Large ideas become a parent mission plus the first computable child action.",
          "Vague but promising ideas stay in needs shaping until the output and review path are clear."
        ],
        "submitRoute": "Use the form to create a shared redacted Intake card. A reviewer or agent/ranker pass can turn it into a proposal before it becomes open work.",
        "tags": [
          "ideas",
          "ranking"
        ],
        "columnTitle": "New ideas",
        "columnDescription": "Ideas being shaped and checked before they become open work.",
        "parentMissionSlug": "action-intake",
        "parentMissionTitle": "Submit a useful idea",
        "parentMissionStatus": "Open",
        "parentMissionProgress": "Proposal lane live",
        "parentMissionProgressPercent": 30,
        "parentMissionHref": "/missions/action-intake/",
        "status": "new-ideas",
        "priorityRank": 10,
        "outputType": "Evidence pack",
        "reviewPolicy": "Human review is mandatory before any submitted evidence pack becomes a public claim, contact action, campaign asset, dataset, or policy position.",
        "packetTemplateUrl": "/agent-pack/mission-packet-template.md",
        "issueTemplateUrl": "/agent-pack/github-issue-template.md",
        "apiHref": "/api/actions/action-idea-intake.json",
        "workstream": "Submit a useful idea",
        "outcomeStatus": "in-progress",
        "outcomeSummary": "No accepted outcome yet. A useful output still needs review.",
        "detailHref": "/control-room/actions/propose/",
        "runnerDirectory": "future-union-mission-action-idea-intake",
        "runnerCommand": "curl -fsS https://www.futureunion.org.uk/agent-pack/fu-runner.sh -o fucr && FU_BASE_URL=https://www.futureunion.org.uk sh fucr mission action-idea-intake",
        "runnerScriptUrl": "/agent-pack/fu-runner.sh",
        "runnerPack": {
          "base": "/agent-pack/actions/action-idea-intake/",
          "readme": "/agent-pack/actions/action-idea-intake/README.md",
          "mission": "/agent-pack/actions/action-idea-intake/MISSION.md",
          "prompt": "/agent-pack/actions/action-idea-intake/PROMPT.md",
          "packet": "/agent-pack/actions/action-idea-intake/PACKET.md",
          "outcome": "/agent-pack/actions/action-idea-intake/OUTCOME.md",
          "nextWork": "/agent-pack/actions/action-idea-intake/NEXT_WORK.md",
          "review": "/agent-pack/actions/action-idea-intake/REVIEW.md",
          "sources": "/agent-pack/actions/action-idea-intake/SOURCES.csv",
          "contribution": "/agent-pack/actions/action-idea-intake/CONTRIBUTION.md",
          "credit": "/agent-pack/actions/action-idea-intake/CREDIT.md",
          "intakeIdea": "/agent-pack/actions/action-idea-intake/INTAKE_IDEA.md",
          "actionProposal": "/agent-pack/actions/action-idea-intake/ACTION_PROPOSAL.md",
          "submit": "/agent-pack/actions/action-idea-intake/SUBMIT.md",
          "context": "/agent-pack/actions/action-idea-intake/context.json",
          "missionContext": "/agent-pack/actions/action-idea-intake/mission.json",
          "skill": "/agent-pack/actions/action-idea-intake/SKILL.md"
        },
        "localSkillPath": ".agents/skills/future-union/SKILL.md",
        "helperCommandPath": "./bin/fu-mission",
        "isProposalAction": true,
        "contributionStats": {
          "reviewedPackets": 1,
          "pendingPackets": 0,
          "activeClaims": 0,
          "radiclePatches": 0,
          "creditedContributors": 1,
          "latestReviewedAt": "2026-04-24",
          "activityLabel": "1 reviewed output"
        },
        "submitIssueUrl": ""
      }
    ],
    "liveActions": [
      {
        "slug": "action-idea-intake",
        "missionSlug": "action-intake",
        "title": "Add an idea",
        "summary": "Share one useful idea. Future Union can verify it before it becomes open work.",
        "meta": "suggestion · 3 mins",
        "progress": "Add idea",
        "progressPercent": 5,
        "mission": "Capture a raw Future Union action idea so it can wait for agent-assisted verification and human review.",
        "why": "The action stream needs a front door so useful ideas can land quickly, then get ranked by impact, safety, and leverage instead of disappearing into unreviewed discussion.",
        "timeNeeded": "3 minutes",
        "inputs": "Problem, place or audience, source links if available, proposed output, likely impact, risks, and optional contact.",
        "outputFormat": "A received Intake record with a redacted public queue card. A reviewer can turn it into an action proposal later.",
        "acceptanceCriteria": "The idea names one problem, one likely user or place, one proposed output, and any public sources already known.",
        "definitionOfDone": "A rough idea is only ready for the public board after a ranker pass defines the output, sourceability, risks, review question, and exact acceptance criteria.",
        "reviewQuestions": [
          "Is there one concrete output a contributor can actually produce?",
          "Can the idea be checked from public evidence without unsafe outreach or private data?",
          "Should this be promoted, shaped further, backed with resources, held, or rejected?"
        ],
        "spawnRules": [
          "Promoted ideas become one narrow action card with a definition of done.",
          "Large ideas become a parent mission plus the first computable child action.",
          "Vague but promising ideas stay in needs shaping until the output and review path are clear."
        ],
        "submitRoute": "Use the form to create a shared redacted Intake card. A reviewer or agent/ranker pass can turn it into a proposal before it becomes open work.",
        "tags": [
          "ideas",
          "ranking"
        ],
        "columnTitle": "New ideas",
        "columnDescription": "Ideas being shaped and checked before they become open work.",
        "parentMissionSlug": "action-intake",
        "parentMissionTitle": "Submit a useful idea",
        "parentMissionStatus": "Open",
        "parentMissionProgress": "Proposal lane live",
        "parentMissionProgressPercent": 30,
        "parentMissionHref": "/missions/action-intake/",
        "status": "new-ideas",
        "priorityRank": 10,
        "outputType": "Evidence pack",
        "reviewPolicy": "Human review is mandatory before any submitted evidence pack becomes a public claim, contact action, campaign asset, dataset, or policy position.",
        "packetTemplateUrl": "/agent-pack/mission-packet-template.md",
        "issueTemplateUrl": "/agent-pack/github-issue-template.md",
        "apiHref": "/api/actions/action-idea-intake.json",
        "workstream": "Submit a useful idea",
        "outcomeStatus": "in-progress",
        "outcomeSummary": "No accepted outcome yet. A useful output still needs review.",
        "detailHref": "/control-room/actions/propose/",
        "runnerDirectory": "future-union-mission-action-idea-intake",
        "runnerCommand": "curl -fsS https://www.futureunion.org.uk/agent-pack/fu-runner.sh -o fucr && FU_BASE_URL=https://www.futureunion.org.uk sh fucr mission action-idea-intake",
        "runnerScriptUrl": "/agent-pack/fu-runner.sh",
        "runnerPack": {
          "base": "/agent-pack/actions/action-idea-intake/",
          "readme": "/agent-pack/actions/action-idea-intake/README.md",
          "mission": "/agent-pack/actions/action-idea-intake/MISSION.md",
          "prompt": "/agent-pack/actions/action-idea-intake/PROMPT.md",
          "packet": "/agent-pack/actions/action-idea-intake/PACKET.md",
          "outcome": "/agent-pack/actions/action-idea-intake/OUTCOME.md",
          "nextWork": "/agent-pack/actions/action-idea-intake/NEXT_WORK.md",
          "review": "/agent-pack/actions/action-idea-intake/REVIEW.md",
          "sources": "/agent-pack/actions/action-idea-intake/SOURCES.csv",
          "contribution": "/agent-pack/actions/action-idea-intake/CONTRIBUTION.md",
          "credit": "/agent-pack/actions/action-idea-intake/CREDIT.md",
          "intakeIdea": "/agent-pack/actions/action-idea-intake/INTAKE_IDEA.md",
          "actionProposal": "/agent-pack/actions/action-idea-intake/ACTION_PROPOSAL.md",
          "submit": "/agent-pack/actions/action-idea-intake/SUBMIT.md",
          "context": "/agent-pack/actions/action-idea-intake/context.json",
          "missionContext": "/agent-pack/actions/action-idea-intake/mission.json",
          "skill": "/agent-pack/actions/action-idea-intake/SKILL.md"
        },
        "localSkillPath": ".agents/skills/future-union/SKILL.md",
        "helperCommandPath": "./bin/fu-mission",
        "isProposalAction": true,
        "contributionStats": {
          "reviewedPackets": 1,
          "pendingPackets": 0,
          "activeClaims": 0,
          "radiclePatches": 0,
          "creditedContributors": 1,
          "latestReviewedAt": "2026-04-24",
          "activityLabel": "1 reviewed output"
        },
        "submitIssueUrl": ""
      }
    ],
    "shippedActions": [],
    "starterAction": {
      "slug": "action-idea-intake",
      "missionSlug": "action-intake",
      "title": "Add an idea",
      "summary": "Share one useful idea. Future Union can verify it before it becomes open work.",
      "meta": "suggestion · 3 mins",
      "progress": "Add idea",
      "progressPercent": 5,
      "mission": "Capture a raw Future Union action idea so it can wait for agent-assisted verification and human review.",
      "why": "The action stream needs a front door so useful ideas can land quickly, then get ranked by impact, safety, and leverage instead of disappearing into unreviewed discussion.",
      "timeNeeded": "3 minutes",
      "inputs": "Problem, place or audience, source links if available, proposed output, likely impact, risks, and optional contact.",
      "outputFormat": "A received Intake record with a redacted public queue card. A reviewer can turn it into an action proposal later.",
      "acceptanceCriteria": "The idea names one problem, one likely user or place, one proposed output, and any public sources already known.",
      "definitionOfDone": "A rough idea is only ready for the public board after a ranker pass defines the output, sourceability, risks, review question, and exact acceptance criteria.",
      "reviewQuestions": [
        "Is there one concrete output a contributor can actually produce?",
        "Can the idea be checked from public evidence without unsafe outreach or private data?",
        "Should this be promoted, shaped further, backed with resources, held, or rejected?"
      ],
      "spawnRules": [
        "Promoted ideas become one narrow action card with a definition of done.",
        "Large ideas become a parent mission plus the first computable child action.",
        "Vague but promising ideas stay in needs shaping until the output and review path are clear."
      ],
      "submitRoute": "Use the form to create a shared redacted Intake card. A reviewer or agent/ranker pass can turn it into a proposal before it becomes open work.",
      "tags": [
        "ideas",
        "ranking"
      ],
      "columnTitle": "New ideas",
      "columnDescription": "Ideas being shaped and checked before they become open work.",
      "parentMissionSlug": "action-intake",
      "parentMissionTitle": "Submit a useful idea",
      "parentMissionStatus": "Open",
      "parentMissionProgress": "Proposal lane live",
      "parentMissionProgressPercent": 30,
      "parentMissionHref": "/missions/action-intake/",
      "status": "new-ideas",
      "priorityRank": 10,
      "outputType": "Evidence pack",
      "reviewPolicy": "Human review is mandatory before any submitted evidence pack becomes a public claim, contact action, campaign asset, dataset, or policy position.",
      "packetTemplateUrl": "/agent-pack/mission-packet-template.md",
      "issueTemplateUrl": "/agent-pack/github-issue-template.md",
      "apiHref": "/api/actions/action-idea-intake.json",
      "workstream": "Submit a useful idea",
      "outcomeStatus": "in-progress",
      "outcomeSummary": "No accepted outcome yet. A useful output still needs review.",
      "detailHref": "/control-room/actions/propose/",
      "runnerDirectory": "future-union-mission-action-idea-intake",
      "runnerCommand": "curl -fsS https://www.futureunion.org.uk/agent-pack/fu-runner.sh -o fucr && FU_BASE_URL=https://www.futureunion.org.uk sh fucr mission action-idea-intake",
      "runnerScriptUrl": "/agent-pack/fu-runner.sh",
      "runnerPack": {
        "base": "/agent-pack/actions/action-idea-intake/",
        "readme": "/agent-pack/actions/action-idea-intake/README.md",
        "mission": "/agent-pack/actions/action-idea-intake/MISSION.md",
        "prompt": "/agent-pack/actions/action-idea-intake/PROMPT.md",
        "packet": "/agent-pack/actions/action-idea-intake/PACKET.md",
        "outcome": "/agent-pack/actions/action-idea-intake/OUTCOME.md",
        "nextWork": "/agent-pack/actions/action-idea-intake/NEXT_WORK.md",
        "review": "/agent-pack/actions/action-idea-intake/REVIEW.md",
        "sources": "/agent-pack/actions/action-idea-intake/SOURCES.csv",
        "contribution": "/agent-pack/actions/action-idea-intake/CONTRIBUTION.md",
        "credit": "/agent-pack/actions/action-idea-intake/CREDIT.md",
        "intakeIdea": "/agent-pack/actions/action-idea-intake/INTAKE_IDEA.md",
        "actionProposal": "/agent-pack/actions/action-idea-intake/ACTION_PROPOSAL.md",
        "submit": "/agent-pack/actions/action-idea-intake/SUBMIT.md",
        "context": "/agent-pack/actions/action-idea-intake/context.json",
        "missionContext": "/agent-pack/actions/action-idea-intake/mission.json",
        "skill": "/agent-pack/actions/action-idea-intake/SKILL.md"
      },
      "localSkillPath": ".agents/skills/future-union/SKILL.md",
      "helperCommandPath": "./bin/fu-mission",
      "isProposalAction": true,
      "contributionStats": {
        "reviewedPackets": 1,
        "pendingPackets": 0,
        "activeClaims": 0,
        "radiclePatches": 0,
        "creditedContributors": 1,
        "latestReviewedAt": "2026-04-24",
        "activityLabel": "1 reviewed output"
      },
      "submitIssueUrl": ""
    },
    "contributionStats": {
      "reviewedPackets": 1,
      "pendingPackets": 0,
      "activeClaims": 0,
      "radiclePatches": 0,
      "creditedContributors": 1,
      "latestReviewedAt": "2026-04-24",
      "activityLabel": "1 reviewed output"
    },
    "actionCount": 1,
    "liveActionCount": 1,
    "shippedActionCount": 0,
    "outcomeStatus": "accepted-current-best",
    "completionStandard": "A mission advances when one or more bounded outputs are reviewed, accepted as current best, and converted into public knowledge or sharper next work.",
    "currentBest": "Reviewed outputs define the current best version of this mission.",
    "openQuestions": [
      "What evidence pack would most reduce uncertainty next?",
      "What stronger test should replace any saturated score?"
    ],
    "workstreams": [
      {
        "title": "Add an idea",
        "doneWhen": "A rough idea is only ready for the public board after a ranker pass defines the output, sourceability, risks, review question, and exact acceptance criteria.",
        "status": "in-progress"
      }
    ],
    "detailHref": "/missions/action-intake/",
    "packetTemplateUrl": "/agent-pack/mission-packet-template.md",
    "issueTemplateUrl": "/agent-pack/github-issue-template.md",
    "reviewPolicy": "Human review is mandatory before any submitted evidence pack becomes a public claim, contact action, campaign asset, dataset, or policy position.",
    "computeDisclosureFields": [
      "Agent or tool used",
      "Model if known",
      "Approximate tokens or runtime if available",
      "Human edits made",
      "Sources checked"
    ],
    "submitIssueUrl": "",
    "liveProgress": {
      "slug": "action-intake",
      "title": "Submit a useful idea",
      "kind": "mission",
      "activeClaims": 2,
      "pendingPackets": 0,
      "reviewedPackets": 1,
      "usedOutputs": 0,
      "creditedContributors": 1,
      "radicleRefs": 0,
      "bestPendingScore": null,
      "bestReviewedScore": null,
      "latestPacketAt": "2026-04-26",
      "latestReviewedAt": "2026-04-24",
      "latestAcceptedAt": "2026-04-24",
      "latestAcceptedHref": "/control-room/actions/propose/",
      "outcomeStatus": "accepted-current-best",
      "currentBestSummary": "Use as a seed queue shape. Real user proposals need human review before becoming public board cards.",
      "currentLabel": "2 active runs",
      "outcomeLabel": "1 accepted output",
      "reviewStateLabel": "Accepted current best",
      "scoreLabel": "No review score yet",
      "nextGapLabel": "Review can now spawn the next harder action."
    }
  },
  {
    "slug": "agents-for-britain",
    "title": "Fund and steer agent work",
    "status": "Designing",
    "progress": "Protocol live",
    "progressPercent": 45,
    "difficulty": "Medium",
    "timeEstimate": "2 hours",
    "summary": "A public-facing way to fund and steer narrowly scoped agent work on Britain’s real bottlenecks.",
    "agentRole": "Research, triage, summarise, cluster evidence, and draft useful first-pass outputs.",
    "humanRole": "Set priorities, define standards, review outputs, and decide what gets published.",
    "backing": "Needs compute budget, source access, and clear publishing rules.",
    "agentPrompt": "You are working for Future Union. Pick one UK growth bottleneck, gather only source-linked evidence, produce a short public briefing with claims, caveats, and next actions. Do not invent data. Separate facts, interpretation, and suggested actions.",
    "deliverableTemplate": "Title; one-line claim; why it matters; source links; evidence table; caveats; recommended FU action; reviewer notes.",
    "reviewChecklist": [
      "Every factual claim has a public source link.",
      "The output names uncertainty instead of smoothing it over.",
      "The recommended action is concrete enough for a volunteer or journalist."
    ],
    "submitRoute": "Finish the evidence pack locally, then submit it for review straight from the runner — it sends the pack to Future Union for a human to check, and nothing becomes public without that review. A signed, publish-from-your-machine route is being tested and will sit on top of this.",
    "actions": [
      {
        "slug": "compute-sprint-controller",
        "missionSlug": "agents-for-britain",
        "title": "Compute Sprint Controller",
        "summary": "Turn the £1k token push into a ranked mission queue, budget lane, and first run plan.",
        "meta": "compute ops · 60 mins",
        "progress": "Seed run complete",
        "progressPercent": 65,
        "mission": "Generate a candidate batch of Future Union missions, score them with the ranking formula, and return the first execution queue.",
        "why": "Compute is not the constraint. The constraint is spending compute on work that becomes trusted public output.",
        "timeNeeded": "60 minutes",
        "inputs": "Compute budget rule pack, mission ranking engine, existing action board, current launch blockers, public proof needs.",
        "outputFormat": "Markdown controller packet with idea batch, ranked queue, score rationale, first three agent prompts, and review plan.",
        "acceptanceCriteria": "Every ranked mission names expected output, sourceability, review burden, risk, and why it should run before the next option.",
        "submitRoute": "Finish the evidence pack locally, then submit it for review straight from the runner — it sends the pack to Future Union for a human to check, and nothing becomes public without that review. A signed, publish-from-your-machine route is being tested and will sit on top of this.",
        "tags": [
          "agents",
          "dashboard"
        ],
        "columnTitle": "Open now",
        "columnDescription": "Low-friction work people can actually do this week.",
        "parentMissionSlug": "agents-for-britain",
        "parentMissionTitle": "Fund and steer agent work",
        "parentMissionStatus": "Designing",
        "parentMissionProgress": "Protocol live",
        "parentMissionProgressPercent": 45,
        "parentMissionHref": "/missions/agents-for-britain/",
        "status": "open-now",
        "priorityRank": null,
        "outputType": "Method note",
        "reviewPolicy": "Human review is mandatory before any submitted evidence pack becomes a public claim, contact action, campaign asset, dataset, or policy position.",
        "packetTemplateUrl": "/agent-pack/mission-packet-template.md",
        "issueTemplateUrl": "/agent-pack/github-issue-template.md",
        "apiHref": "/api/actions/compute-sprint-controller.json",
        "workstream": "Fund and steer agent work",
        "definitionOfDone": "A reviewer can verify the output against this bar: Every ranked mission names expected output, sourceability, review burden, risk, and why it should run before the next option.",
        "reviewQuestions": [
          "Does the output meet the definition of done?",
          "Are the sources public, narrow, and caveated enough to trust?",
          "Should this be accepted as current best, sent for another pass, or used to spawn next work?"
        ],
        "spawnRules": [
          "If the output exposes a useful unresolved gap, turn that gap into one narrower follow-up action.",
          "If the score is high but the output is still not decision-useful, expand the test rather than polishing the same draft."
        ],
        "outcomeStatus": "in-progress",
        "outcomeSummary": "No accepted outcome yet. A useful output still needs review.",
        "detailHref": "/control-room/actions/compute-sprint-controller/",
        "runnerDirectory": "future-union-mission-compute-sprint-controller",
        "runnerCommand": "curl -fsS https://www.futureunion.org.uk/agent-pack/fu-runner.sh -o fucr && FU_BASE_URL=https://www.futureunion.org.uk sh fucr mission compute-sprint-controller",
        "runnerScriptUrl": "/agent-pack/fu-runner.sh",
        "runnerPack": {
          "base": "/agent-pack/actions/compute-sprint-controller/",
          "readme": "/agent-pack/actions/compute-sprint-controller/README.md",
          "mission": "/agent-pack/actions/compute-sprint-controller/MISSION.md",
          "prompt": "/agent-pack/actions/compute-sprint-controller/PROMPT.md",
          "packet": "/agent-pack/actions/compute-sprint-controller/PACKET.md",
          "outcome": "/agent-pack/actions/compute-sprint-controller/OUTCOME.md",
          "nextWork": "/agent-pack/actions/compute-sprint-controller/NEXT_WORK.md",
          "review": "/agent-pack/actions/compute-sprint-controller/REVIEW.md",
          "sources": "/agent-pack/actions/compute-sprint-controller/SOURCES.csv",
          "contribution": "/agent-pack/actions/compute-sprint-controller/CONTRIBUTION.md",
          "credit": "/agent-pack/actions/compute-sprint-controller/CREDIT.md",
          "intakeIdea": "/agent-pack/actions/compute-sprint-controller/INTAKE_IDEA.md",
          "actionProposal": "/agent-pack/actions/compute-sprint-controller/ACTION_PROPOSAL.md",
          "submit": "/agent-pack/actions/compute-sprint-controller/SUBMIT.md",
          "context": "/agent-pack/actions/compute-sprint-controller/context.json",
          "missionContext": "/agent-pack/actions/compute-sprint-controller/mission.json",
          "skill": "/agent-pack/actions/compute-sprint-controller/SKILL.md"
        },
        "localSkillPath": ".agents/skills/future-union/SKILL.md",
        "helperCommandPath": "./bin/fu-mission",
        "isProposalAction": false,
        "contributionStats": {
          "reviewedPackets": 0,
          "pendingPackets": 0,
          "activeClaims": 0,
          "radiclePatches": 0,
          "creditedContributors": 0,
          "latestReviewedAt": "",
          "activityLabel": "Needs first output"
        },
        "submitIssueUrl": ""
      }
    ],
    "liveActions": [
      {
        "slug": "compute-sprint-controller",
        "missionSlug": "agents-for-britain",
        "title": "Compute Sprint Controller",
        "summary": "Turn the £1k token push into a ranked mission queue, budget lane, and first run plan.",
        "meta": "compute ops · 60 mins",
        "progress": "Seed run complete",
        "progressPercent": 65,
        "mission": "Generate a candidate batch of Future Union missions, score them with the ranking formula, and return the first execution queue.",
        "why": "Compute is not the constraint. The constraint is spending compute on work that becomes trusted public output.",
        "timeNeeded": "60 minutes",
        "inputs": "Compute budget rule pack, mission ranking engine, existing action board, current launch blockers, public proof needs.",
        "outputFormat": "Markdown controller packet with idea batch, ranked queue, score rationale, first three agent prompts, and review plan.",
        "acceptanceCriteria": "Every ranked mission names expected output, sourceability, review burden, risk, and why it should run before the next option.",
        "submitRoute": "Finish the evidence pack locally, then submit it for review straight from the runner — it sends the pack to Future Union for a human to check, and nothing becomes public without that review. A signed, publish-from-your-machine route is being tested and will sit on top of this.",
        "tags": [
          "agents",
          "dashboard"
        ],
        "columnTitle": "Open now",
        "columnDescription": "Low-friction work people can actually do this week.",
        "parentMissionSlug": "agents-for-britain",
        "parentMissionTitle": "Fund and steer agent work",
        "parentMissionStatus": "Designing",
        "parentMissionProgress": "Protocol live",
        "parentMissionProgressPercent": 45,
        "parentMissionHref": "/missions/agents-for-britain/",
        "status": "open-now",
        "priorityRank": null,
        "outputType": "Method note",
        "reviewPolicy": "Human review is mandatory before any submitted evidence pack becomes a public claim, contact action, campaign asset, dataset, or policy position.",
        "packetTemplateUrl": "/agent-pack/mission-packet-template.md",
        "issueTemplateUrl": "/agent-pack/github-issue-template.md",
        "apiHref": "/api/actions/compute-sprint-controller.json",
        "workstream": "Fund and steer agent work",
        "definitionOfDone": "A reviewer can verify the output against this bar: Every ranked mission names expected output, sourceability, review burden, risk, and why it should run before the next option.",
        "reviewQuestions": [
          "Does the output meet the definition of done?",
          "Are the sources public, narrow, and caveated enough to trust?",
          "Should this be accepted as current best, sent for another pass, or used to spawn next work?"
        ],
        "spawnRules": [
          "If the output exposes a useful unresolved gap, turn that gap into one narrower follow-up action.",
          "If the score is high but the output is still not decision-useful, expand the test rather than polishing the same draft."
        ],
        "outcomeStatus": "in-progress",
        "outcomeSummary": "No accepted outcome yet. A useful output still needs review.",
        "detailHref": "/control-room/actions/compute-sprint-controller/",
        "runnerDirectory": "future-union-mission-compute-sprint-controller",
        "runnerCommand": "curl -fsS https://www.futureunion.org.uk/agent-pack/fu-runner.sh -o fucr && FU_BASE_URL=https://www.futureunion.org.uk sh fucr mission compute-sprint-controller",
        "runnerScriptUrl": "/agent-pack/fu-runner.sh",
        "runnerPack": {
          "base": "/agent-pack/actions/compute-sprint-controller/",
          "readme": "/agent-pack/actions/compute-sprint-controller/README.md",
          "mission": "/agent-pack/actions/compute-sprint-controller/MISSION.md",
          "prompt": "/agent-pack/actions/compute-sprint-controller/PROMPT.md",
          "packet": "/agent-pack/actions/compute-sprint-controller/PACKET.md",
          "outcome": "/agent-pack/actions/compute-sprint-controller/OUTCOME.md",
          "nextWork": "/agent-pack/actions/compute-sprint-controller/NEXT_WORK.md",
          "review": "/agent-pack/actions/compute-sprint-controller/REVIEW.md",
          "sources": "/agent-pack/actions/compute-sprint-controller/SOURCES.csv",
          "contribution": "/agent-pack/actions/compute-sprint-controller/CONTRIBUTION.md",
          "credit": "/agent-pack/actions/compute-sprint-controller/CREDIT.md",
          "intakeIdea": "/agent-pack/actions/compute-sprint-controller/INTAKE_IDEA.md",
          "actionProposal": "/agent-pack/actions/compute-sprint-controller/ACTION_PROPOSAL.md",
          "submit": "/agent-pack/actions/compute-sprint-controller/SUBMIT.md",
          "context": "/agent-pack/actions/compute-sprint-controller/context.json",
          "missionContext": "/agent-pack/actions/compute-sprint-controller/mission.json",
          "skill": "/agent-pack/actions/compute-sprint-controller/SKILL.md"
        },
        "localSkillPath": ".agents/skills/future-union/SKILL.md",
        "helperCommandPath": "./bin/fu-mission",
        "isProposalAction": false,
        "contributionStats": {
          "reviewedPackets": 0,
          "pendingPackets": 0,
          "activeClaims": 0,
          "radiclePatches": 0,
          "creditedContributors": 0,
          "latestReviewedAt": "",
          "activityLabel": "Needs first output"
        },
        "submitIssueUrl": ""
      }
    ],
    "shippedActions": [],
    "starterAction": {
      "slug": "compute-sprint-controller",
      "missionSlug": "agents-for-britain",
      "title": "Compute Sprint Controller",
      "summary": "Turn the £1k token push into a ranked mission queue, budget lane, and first run plan.",
      "meta": "compute ops · 60 mins",
      "progress": "Seed run complete",
      "progressPercent": 65,
      "mission": "Generate a candidate batch of Future Union missions, score them with the ranking formula, and return the first execution queue.",
      "why": "Compute is not the constraint. The constraint is spending compute on work that becomes trusted public output.",
      "timeNeeded": "60 minutes",
      "inputs": "Compute budget rule pack, mission ranking engine, existing action board, current launch blockers, public proof needs.",
      "outputFormat": "Markdown controller packet with idea batch, ranked queue, score rationale, first three agent prompts, and review plan.",
      "acceptanceCriteria": "Every ranked mission names expected output, sourceability, review burden, risk, and why it should run before the next option.",
      "submitRoute": "Finish the evidence pack locally, then submit it for review straight from the runner — it sends the pack to Future Union for a human to check, and nothing becomes public without that review. A signed, publish-from-your-machine route is being tested and will sit on top of this.",
      "tags": [
        "agents",
        "dashboard"
      ],
      "columnTitle": "Open now",
      "columnDescription": "Low-friction work people can actually do this week.",
      "parentMissionSlug": "agents-for-britain",
      "parentMissionTitle": "Fund and steer agent work",
      "parentMissionStatus": "Designing",
      "parentMissionProgress": "Protocol live",
      "parentMissionProgressPercent": 45,
      "parentMissionHref": "/missions/agents-for-britain/",
      "status": "open-now",
      "priorityRank": null,
      "outputType": "Method note",
      "reviewPolicy": "Human review is mandatory before any submitted evidence pack becomes a public claim, contact action, campaign asset, dataset, or policy position.",
      "packetTemplateUrl": "/agent-pack/mission-packet-template.md",
      "issueTemplateUrl": "/agent-pack/github-issue-template.md",
      "apiHref": "/api/actions/compute-sprint-controller.json",
      "workstream": "Fund and steer agent work",
      "definitionOfDone": "A reviewer can verify the output against this bar: Every ranked mission names expected output, sourceability, review burden, risk, and why it should run before the next option.",
      "reviewQuestions": [
        "Does the output meet the definition of done?",
        "Are the sources public, narrow, and caveated enough to trust?",
        "Should this be accepted as current best, sent for another pass, or used to spawn next work?"
      ],
      "spawnRules": [
        "If the output exposes a useful unresolved gap, turn that gap into one narrower follow-up action.",
        "If the score is high but the output is still not decision-useful, expand the test rather than polishing the same draft."
      ],
      "outcomeStatus": "in-progress",
      "outcomeSummary": "No accepted outcome yet. A useful output still needs review.",
      "detailHref": "/control-room/actions/compute-sprint-controller/",
      "runnerDirectory": "future-union-mission-compute-sprint-controller",
      "runnerCommand": "curl -fsS https://www.futureunion.org.uk/agent-pack/fu-runner.sh -o fucr && FU_BASE_URL=https://www.futureunion.org.uk sh fucr mission compute-sprint-controller",
      "runnerScriptUrl": "/agent-pack/fu-runner.sh",
      "runnerPack": {
        "base": "/agent-pack/actions/compute-sprint-controller/",
        "readme": "/agent-pack/actions/compute-sprint-controller/README.md",
        "mission": "/agent-pack/actions/compute-sprint-controller/MISSION.md",
        "prompt": "/agent-pack/actions/compute-sprint-controller/PROMPT.md",
        "packet": "/agent-pack/actions/compute-sprint-controller/PACKET.md",
        "outcome": "/agent-pack/actions/compute-sprint-controller/OUTCOME.md",
        "nextWork": "/agent-pack/actions/compute-sprint-controller/NEXT_WORK.md",
        "review": "/agent-pack/actions/compute-sprint-controller/REVIEW.md",
        "sources": "/agent-pack/actions/compute-sprint-controller/SOURCES.csv",
        "contribution": "/agent-pack/actions/compute-sprint-controller/CONTRIBUTION.md",
        "credit": "/agent-pack/actions/compute-sprint-controller/CREDIT.md",
        "intakeIdea": "/agent-pack/actions/compute-sprint-controller/INTAKE_IDEA.md",
        "actionProposal": "/agent-pack/actions/compute-sprint-controller/ACTION_PROPOSAL.md",
        "submit": "/agent-pack/actions/compute-sprint-controller/SUBMIT.md",
        "context": "/agent-pack/actions/compute-sprint-controller/context.json",
        "missionContext": "/agent-pack/actions/compute-sprint-controller/mission.json",
        "skill": "/agent-pack/actions/compute-sprint-controller/SKILL.md"
      },
      "localSkillPath": ".agents/skills/future-union/SKILL.md",
      "helperCommandPath": "./bin/fu-mission",
      "isProposalAction": false,
      "contributionStats": {
        "reviewedPackets": 0,
        "pendingPackets": 0,
        "activeClaims": 0,
        "radiclePatches": 0,
        "creditedContributors": 0,
        "latestReviewedAt": "",
        "activityLabel": "Needs first output"
      },
      "submitIssueUrl": ""
    },
    "contributionStats": {
      "reviewedPackets": 0,
      "pendingPackets": 0,
      "activeClaims": 0,
      "radiclePatches": 0,
      "creditedContributors": 0,
      "latestReviewedAt": "",
      "activityLabel": "Needs first output"
    },
    "actionCount": 1,
    "liveActionCount": 1,
    "shippedActionCount": 0,
    "outcomeStatus": "not-started",
    "completionStandard": "A mission advances when one or more bounded outputs are reviewed, accepted as current best, and converted into public knowledge or sharper next work.",
    "currentBest": "No accepted current-best result yet.",
    "openQuestions": [
      "What evidence pack would most reduce uncertainty next?",
      "What stronger test should replace any saturated score?"
    ],
    "workstreams": [
      {
        "title": "Compute Sprint Controller",
        "doneWhen": "A reviewer can verify the output against this bar: Every ranked mission names expected output, sourceability, review burden, risk, and why it should run before the next option.",
        "status": "in-progress"
      }
    ],
    "detailHref": "/missions/agents-for-britain/",
    "packetTemplateUrl": "/agent-pack/mission-packet-template.md",
    "issueTemplateUrl": "/agent-pack/github-issue-template.md",
    "reviewPolicy": "Human review is mandatory before any submitted evidence pack becomes a public claim, contact action, campaign asset, dataset, or policy position.",
    "computeDisclosureFields": [
      "Agent or tool used",
      "Model if known",
      "Approximate tokens or runtime if available",
      "Human edits made",
      "Sources checked"
    ],
    "submitIssueUrl": "",
    "liveProgress": {
      "slug": "agents-for-britain",
      "title": "Fund and steer agent work",
      "kind": "mission",
      "activeClaims": 0,
      "pendingPackets": 0,
      "reviewedPackets": 0,
      "usedOutputs": 0,
      "creditedContributors": 0,
      "radicleRefs": 0,
      "bestPendingScore": null,
      "bestReviewedScore": null,
      "latestPacketAt": "",
      "latestReviewedAt": "",
      "latestAcceptedAt": "",
      "latestAcceptedHref": "",
      "outcomeStatus": "not-started",
      "currentBestSummary": "",
      "currentLabel": "First evidence pack needed",
      "outcomeLabel": "No reviewed outcome yet",
      "reviewStateLabel": "First useful output needed",
      "scoreLabel": "No review score yet",
      "nextGapLabel": "Needs one bounded output with a clear definition of done."
    }
  },
  {
    "slug": "machine-build",
    "title": "Test the machine",
    "status": "Building",
    "progress": "Site and supporter channel in build",
    "progressPercent": 65,
    "difficulty": "Medium",
    "timeEstimate": "Ongoing",
    "summary": "The boring but decisive machinery: site, consented supporter channel, imprint, submission routes, and public work surfaces.",
    "agentRole": "QA flows, inspect copy, generate test evidence, audit broken links, and package small fixes.",
    "humanRole": "Own public launch readiness, privacy posture, imprint details, and final publication decisions.",
    "backing": "Needs domain wiring, supporter-channel production host, a review queue, and launch QA.",
    "agentPrompt": "Audit one Future Union infrastructure path. Check the live page, expected action, failure states, copy clarity, and source/control links. Return a concise QA note with pass/fail, screenshots if useful, and exact fixes.",
    "deliverableTemplate": "Surface; expected user action; pass/fail; evidence; broken states; exact fix; launch risk.",
    "reviewChecklist": [
      "The QA note includes exact route names and reproduction steps.",
      "The finding separates user-facing bugs from internal wishlist items.",
      "Any privacy, consent, or imprint risk is marked clearly."
    ],
    "submitRoute": "Finish the evidence pack locally, then submit it for review straight from the runner — it sends the pack to Future Union for a human to check, and nothing becomes public without that review. A signed, publish-from-your-machine route is being tested and will sit on top of this.",
    "actions": [
      {
        "slug": "supporter-channel-qa",
        "missionSlug": "machine-build",
        "title": "Supporter channel QA",
        "summary": "Test the signup flow, consent language, error states and unsubscribe path before the supporter channel scales.",
        "meta": "infrastructure · this week",
        "progress": "Building",
        "progressPercent": 55,
        "mission": "Test the signup path, consent copy, and first-list segmentation without adding creepy data collection.",
        "why": "Future Union needs a direct supporter channel before platform algorithms decide what people see.",
        "timeNeeded": "45 minutes",
        "inputs": "Join page, signup admin, test email, privacy note.",
        "outputFormat": "Short QA note with pass/fail, screenshots if useful, and any broken copy or redirect state.",
        "acceptanceCriteria": "Confirms success, missing-data, and error states; confirms unsubscribe/privacy language is visible.",
        "submitRoute": "Finish the evidence pack locally, then submit it for review straight from the runner — it sends the pack to Future Union for a human to check, and nothing becomes public without that review. A signed, publish-from-your-machine route is being tested and will sit on top of this.",
        "tags": [
          "join",
          "email"
        ],
        "columnTitle": "Building",
        "columnDescription": "Work in flight that should stay visible.",
        "parentMissionSlug": "machine-build",
        "parentMissionTitle": "Test the machine",
        "parentMissionStatus": "Building",
        "parentMissionProgress": "Site and supporter channel in build",
        "parentMissionProgressPercent": 65,
        "parentMissionHref": "/missions/machine-build/",
        "status": "building",
        "priorityRank": 1,
        "outputType": "QA note",
        "reviewPolicy": "Human review is mandatory before any submitted evidence pack becomes a public claim, contact action, campaign asset, dataset, or policy position.",
        "packetTemplateUrl": "/agent-pack/mission-packet-template.md",
        "issueTemplateUrl": "/agent-pack/github-issue-template.md",
        "apiHref": "/api/actions/supporter-channel-qa.json",
        "workstream": "Test the machine",
        "definitionOfDone": "A reviewer can verify the output against this bar: Confirms success, missing-data, and error states; confirms unsubscribe/privacy language is visible.",
        "reviewQuestions": [
          "Does the output meet the definition of done?",
          "Are the sources public, narrow, and caveated enough to trust?",
          "Should this be accepted as current best, sent for another pass, or used to spawn next work?"
        ],
        "spawnRules": [
          "If the output exposes a useful unresolved gap, turn that gap into one narrower follow-up action.",
          "If the score is high but the output is still not decision-useful, expand the test rather than polishing the same draft."
        ],
        "outcomeStatus": "in-progress",
        "outcomeSummary": "No accepted outcome yet. A useful output still needs review.",
        "detailHref": "/control-room/actions/supporter-channel-qa/",
        "runnerDirectory": "future-union-mission-supporter-channel-qa",
        "runnerCommand": "curl -fsS https://www.futureunion.org.uk/agent-pack/fu-runner.sh -o fucr && FU_BASE_URL=https://www.futureunion.org.uk sh fucr mission supporter-channel-qa",
        "runnerScriptUrl": "/agent-pack/fu-runner.sh",
        "runnerPack": {
          "base": "/agent-pack/actions/supporter-channel-qa/",
          "readme": "/agent-pack/actions/supporter-channel-qa/README.md",
          "mission": "/agent-pack/actions/supporter-channel-qa/MISSION.md",
          "prompt": "/agent-pack/actions/supporter-channel-qa/PROMPT.md",
          "packet": "/agent-pack/actions/supporter-channel-qa/PACKET.md",
          "outcome": "/agent-pack/actions/supporter-channel-qa/OUTCOME.md",
          "nextWork": "/agent-pack/actions/supporter-channel-qa/NEXT_WORK.md",
          "review": "/agent-pack/actions/supporter-channel-qa/REVIEW.md",
          "sources": "/agent-pack/actions/supporter-channel-qa/SOURCES.csv",
          "contribution": "/agent-pack/actions/supporter-channel-qa/CONTRIBUTION.md",
          "credit": "/agent-pack/actions/supporter-channel-qa/CREDIT.md",
          "intakeIdea": "/agent-pack/actions/supporter-channel-qa/INTAKE_IDEA.md",
          "actionProposal": "/agent-pack/actions/supporter-channel-qa/ACTION_PROPOSAL.md",
          "submit": "/agent-pack/actions/supporter-channel-qa/SUBMIT.md",
          "context": "/agent-pack/actions/supporter-channel-qa/context.json",
          "missionContext": "/agent-pack/actions/supporter-channel-qa/mission.json",
          "skill": "/agent-pack/actions/supporter-channel-qa/SKILL.md"
        },
        "localSkillPath": ".agents/skills/future-union/SKILL.md",
        "helperCommandPath": "./bin/fu-mission",
        "isProposalAction": false,
        "contributionStats": {
          "reviewedPackets": 0,
          "pendingPackets": 0,
          "activeClaims": 0,
          "radiclePatches": 0,
          "creditedContributors": 0,
          "latestReviewedAt": "",
          "activityLabel": "Needs first output"
        },
        "submitIssueUrl": ""
      },
      {
        "slug": "launch-site-shell",
        "missionSlug": "machine-build",
        "title": "Launch site shell",
        "summary": "The first Future Union public surface is live locally with manifesto, journal, control room, and join flow.",
        "meta": "site · shipped",
        "progress": "Shipped",
        "progressPercent": 100,
        "outcomeStatus": "accepted-current-best",
        "outcomeSummary": "Shipped. Accepted seed output. Public surface live. Next: maintain, improve, or spawn next work.",
        "mission": "Keep the public site coherent as FU moves from demo to live.",
        "why": "The website is the machine's first credibility test.",
        "timeNeeded": "Shipped",
        "inputs": "Site pages, source cards, join flow, docs.",
        "outputFormat": "Public routes and build output.",
        "acceptanceCriteria": "Build passes, key routes load, and private-demo language is removed before public launch.",
        "submitRoute": "Internal shipped record.",
        "tags": [
          "site",
          "launch"
        ],
        "columnTitle": "Shipped",
        "columnDescription": "Visible things already out in the world.",
        "parentMissionSlug": "machine-build",
        "parentMissionTitle": "Test the machine",
        "parentMissionStatus": "Building",
        "parentMissionProgress": "Site and supporter channel in build",
        "parentMissionProgressPercent": 65,
        "parentMissionHref": "/missions/machine-build/",
        "status": "shipped",
        "priorityRank": null,
        "outputType": "Evidence pack",
        "reviewPolicy": "Human review is mandatory before any submitted evidence pack becomes a public claim, contact action, campaign asset, dataset, or policy position.",
        "packetTemplateUrl": "/agent-pack/mission-packet-template.md",
        "issueTemplateUrl": "/agent-pack/github-issue-template.md",
        "apiHref": "/api/actions/launch-site-shell.json",
        "workstream": "Test the machine",
        "definitionOfDone": "A reviewer can verify the output against this bar: Build passes, key routes load, and private-demo language is removed before public launch.",
        "reviewQuestions": [
          "Does the output meet the definition of done?",
          "Are the sources public, narrow, and caveated enough to trust?",
          "Should this be accepted as current best, sent for another pass, or used to spawn next work?"
        ],
        "spawnRules": [
          "If the output exposes a useful unresolved gap, turn that gap into one narrower follow-up action.",
          "If the score is high but the output is still not decision-useful, expand the test rather than polishing the same draft."
        ],
        "detailHref": "/control-room/actions/launch-site-shell/",
        "runnerDirectory": "future-union-mission-launch-site-shell",
        "runnerCommand": "curl -fsS https://www.futureunion.org.uk/agent-pack/fu-runner.sh -o fucr && FU_BASE_URL=https://www.futureunion.org.uk sh fucr mission launch-site-shell",
        "runnerScriptUrl": "/agent-pack/fu-runner.sh",
        "runnerPack": {
          "base": "/agent-pack/actions/launch-site-shell/",
          "readme": "/agent-pack/actions/launch-site-shell/README.md",
          "mission": "/agent-pack/actions/launch-site-shell/MISSION.md",
          "prompt": "/agent-pack/actions/launch-site-shell/PROMPT.md",
          "packet": "/agent-pack/actions/launch-site-shell/PACKET.md",
          "outcome": "/agent-pack/actions/launch-site-shell/OUTCOME.md",
          "nextWork": "/agent-pack/actions/launch-site-shell/NEXT_WORK.md",
          "review": "/agent-pack/actions/launch-site-shell/REVIEW.md",
          "sources": "/agent-pack/actions/launch-site-shell/SOURCES.csv",
          "contribution": "/agent-pack/actions/launch-site-shell/CONTRIBUTION.md",
          "credit": "/agent-pack/actions/launch-site-shell/CREDIT.md",
          "intakeIdea": "/agent-pack/actions/launch-site-shell/INTAKE_IDEA.md",
          "actionProposal": "/agent-pack/actions/launch-site-shell/ACTION_PROPOSAL.md",
          "submit": "/agent-pack/actions/launch-site-shell/SUBMIT.md",
          "context": "/agent-pack/actions/launch-site-shell/context.json",
          "missionContext": "/agent-pack/actions/launch-site-shell/mission.json",
          "skill": "/agent-pack/actions/launch-site-shell/SKILL.md"
        },
        "localSkillPath": ".agents/skills/future-union/SKILL.md",
        "helperCommandPath": "./bin/fu-mission",
        "isProposalAction": false,
        "contributionStats": {
          "reviewedPackets": 0,
          "pendingPackets": 0,
          "activeClaims": 0,
          "radiclePatches": 0,
          "creditedContributors": 0,
          "latestReviewedAt": "",
          "activityLabel": "Needs first output"
        },
        "submitIssueUrl": ""
      }
    ],
    "liveActions": [
      {
        "slug": "supporter-channel-qa",
        "missionSlug": "machine-build",
        "title": "Supporter channel QA",
        "summary": "Test the signup flow, consent language, error states and unsubscribe path before the supporter channel scales.",
        "meta": "infrastructure · this week",
        "progress": "Building",
        "progressPercent": 55,
        "mission": "Test the signup path, consent copy, and first-list segmentation without adding creepy data collection.",
        "why": "Future Union needs a direct supporter channel before platform algorithms decide what people see.",
        "timeNeeded": "45 minutes",
        "inputs": "Join page, signup admin, test email, privacy note.",
        "outputFormat": "Short QA note with pass/fail, screenshots if useful, and any broken copy or redirect state.",
        "acceptanceCriteria": "Confirms success, missing-data, and error states; confirms unsubscribe/privacy language is visible.",
        "submitRoute": "Finish the evidence pack locally, then submit it for review straight from the runner — it sends the pack to Future Union for a human to check, and nothing becomes public without that review. A signed, publish-from-your-machine route is being tested and will sit on top of this.",
        "tags": [
          "join",
          "email"
        ],
        "columnTitle": "Building",
        "columnDescription": "Work in flight that should stay visible.",
        "parentMissionSlug": "machine-build",
        "parentMissionTitle": "Test the machine",
        "parentMissionStatus": "Building",
        "parentMissionProgress": "Site and supporter channel in build",
        "parentMissionProgressPercent": 65,
        "parentMissionHref": "/missions/machine-build/",
        "status": "building",
        "priorityRank": 1,
        "outputType": "QA note",
        "reviewPolicy": "Human review is mandatory before any submitted evidence pack becomes a public claim, contact action, campaign asset, dataset, or policy position.",
        "packetTemplateUrl": "/agent-pack/mission-packet-template.md",
        "issueTemplateUrl": "/agent-pack/github-issue-template.md",
        "apiHref": "/api/actions/supporter-channel-qa.json",
        "workstream": "Test the machine",
        "definitionOfDone": "A reviewer can verify the output against this bar: Confirms success, missing-data, and error states; confirms unsubscribe/privacy language is visible.",
        "reviewQuestions": [
          "Does the output meet the definition of done?",
          "Are the sources public, narrow, and caveated enough to trust?",
          "Should this be accepted as current best, sent for another pass, or used to spawn next work?"
        ],
        "spawnRules": [
          "If the output exposes a useful unresolved gap, turn that gap into one narrower follow-up action.",
          "If the score is high but the output is still not decision-useful, expand the test rather than polishing the same draft."
        ],
        "outcomeStatus": "in-progress",
        "outcomeSummary": "No accepted outcome yet. A useful output still needs review.",
        "detailHref": "/control-room/actions/supporter-channel-qa/",
        "runnerDirectory": "future-union-mission-supporter-channel-qa",
        "runnerCommand": "curl -fsS https://www.futureunion.org.uk/agent-pack/fu-runner.sh -o fucr && FU_BASE_URL=https://www.futureunion.org.uk sh fucr mission supporter-channel-qa",
        "runnerScriptUrl": "/agent-pack/fu-runner.sh",
        "runnerPack": {
          "base": "/agent-pack/actions/supporter-channel-qa/",
          "readme": "/agent-pack/actions/supporter-channel-qa/README.md",
          "mission": "/agent-pack/actions/supporter-channel-qa/MISSION.md",
          "prompt": "/agent-pack/actions/supporter-channel-qa/PROMPT.md",
          "packet": "/agent-pack/actions/supporter-channel-qa/PACKET.md",
          "outcome": "/agent-pack/actions/supporter-channel-qa/OUTCOME.md",
          "nextWork": "/agent-pack/actions/supporter-channel-qa/NEXT_WORK.md",
          "review": "/agent-pack/actions/supporter-channel-qa/REVIEW.md",
          "sources": "/agent-pack/actions/supporter-channel-qa/SOURCES.csv",
          "contribution": "/agent-pack/actions/supporter-channel-qa/CONTRIBUTION.md",
          "credit": "/agent-pack/actions/supporter-channel-qa/CREDIT.md",
          "intakeIdea": "/agent-pack/actions/supporter-channel-qa/INTAKE_IDEA.md",
          "actionProposal": "/agent-pack/actions/supporter-channel-qa/ACTION_PROPOSAL.md",
          "submit": "/agent-pack/actions/supporter-channel-qa/SUBMIT.md",
          "context": "/agent-pack/actions/supporter-channel-qa/context.json",
          "missionContext": "/agent-pack/actions/supporter-channel-qa/mission.json",
          "skill": "/agent-pack/actions/supporter-channel-qa/SKILL.md"
        },
        "localSkillPath": ".agents/skills/future-union/SKILL.md",
        "helperCommandPath": "./bin/fu-mission",
        "isProposalAction": false,
        "contributionStats": {
          "reviewedPackets": 0,
          "pendingPackets": 0,
          "activeClaims": 0,
          "radiclePatches": 0,
          "creditedContributors": 0,
          "latestReviewedAt": "",
          "activityLabel": "Needs first output"
        },
        "submitIssueUrl": ""
      }
    ],
    "shippedActions": [
      {
        "slug": "launch-site-shell",
        "missionSlug": "machine-build",
        "title": "Launch site shell",
        "summary": "The first Future Union public surface is live locally with manifesto, journal, control room, and join flow.",
        "meta": "site · shipped",
        "progress": "Shipped",
        "progressPercent": 100,
        "outcomeStatus": "accepted-current-best",
        "outcomeSummary": "Shipped. Accepted seed output. Public surface live. Next: maintain, improve, or spawn next work.",
        "mission": "Keep the public site coherent as FU moves from demo to live.",
        "why": "The website is the machine's first credibility test.",
        "timeNeeded": "Shipped",
        "inputs": "Site pages, source cards, join flow, docs.",
        "outputFormat": "Public routes and build output.",
        "acceptanceCriteria": "Build passes, key routes load, and private-demo language is removed before public launch.",
        "submitRoute": "Internal shipped record.",
        "tags": [
          "site",
          "launch"
        ],
        "columnTitle": "Shipped",
        "columnDescription": "Visible things already out in the world.",
        "parentMissionSlug": "machine-build",
        "parentMissionTitle": "Test the machine",
        "parentMissionStatus": "Building",
        "parentMissionProgress": "Site and supporter channel in build",
        "parentMissionProgressPercent": 65,
        "parentMissionHref": "/missions/machine-build/",
        "status": "shipped",
        "priorityRank": null,
        "outputType": "Evidence pack",
        "reviewPolicy": "Human review is mandatory before any submitted evidence pack becomes a public claim, contact action, campaign asset, dataset, or policy position.",
        "packetTemplateUrl": "/agent-pack/mission-packet-template.md",
        "issueTemplateUrl": "/agent-pack/github-issue-template.md",
        "apiHref": "/api/actions/launch-site-shell.json",
        "workstream": "Test the machine",
        "definitionOfDone": "A reviewer can verify the output against this bar: Build passes, key routes load, and private-demo language is removed before public launch.",
        "reviewQuestions": [
          "Does the output meet the definition of done?",
          "Are the sources public, narrow, and caveated enough to trust?",
          "Should this be accepted as current best, sent for another pass, or used to spawn next work?"
        ],
        "spawnRules": [
          "If the output exposes a useful unresolved gap, turn that gap into one narrower follow-up action.",
          "If the score is high but the output is still not decision-useful, expand the test rather than polishing the same draft."
        ],
        "detailHref": "/control-room/actions/launch-site-shell/",
        "runnerDirectory": "future-union-mission-launch-site-shell",
        "runnerCommand": "curl -fsS https://www.futureunion.org.uk/agent-pack/fu-runner.sh -o fucr && FU_BASE_URL=https://www.futureunion.org.uk sh fucr mission launch-site-shell",
        "runnerScriptUrl": "/agent-pack/fu-runner.sh",
        "runnerPack": {
          "base": "/agent-pack/actions/launch-site-shell/",
          "readme": "/agent-pack/actions/launch-site-shell/README.md",
          "mission": "/agent-pack/actions/launch-site-shell/MISSION.md",
          "prompt": "/agent-pack/actions/launch-site-shell/PROMPT.md",
          "packet": "/agent-pack/actions/launch-site-shell/PACKET.md",
          "outcome": "/agent-pack/actions/launch-site-shell/OUTCOME.md",
          "nextWork": "/agent-pack/actions/launch-site-shell/NEXT_WORK.md",
          "review": "/agent-pack/actions/launch-site-shell/REVIEW.md",
          "sources": "/agent-pack/actions/launch-site-shell/SOURCES.csv",
          "contribution": "/agent-pack/actions/launch-site-shell/CONTRIBUTION.md",
          "credit": "/agent-pack/actions/launch-site-shell/CREDIT.md",
          "intakeIdea": "/agent-pack/actions/launch-site-shell/INTAKE_IDEA.md",
          "actionProposal": "/agent-pack/actions/launch-site-shell/ACTION_PROPOSAL.md",
          "submit": "/agent-pack/actions/launch-site-shell/SUBMIT.md",
          "context": "/agent-pack/actions/launch-site-shell/context.json",
          "missionContext": "/agent-pack/actions/launch-site-shell/mission.json",
          "skill": "/agent-pack/actions/launch-site-shell/SKILL.md"
        },
        "localSkillPath": ".agents/skills/future-union/SKILL.md",
        "helperCommandPath": "./bin/fu-mission",
        "isProposalAction": false,
        "contributionStats": {
          "reviewedPackets": 0,
          "pendingPackets": 0,
          "activeClaims": 0,
          "radiclePatches": 0,
          "creditedContributors": 0,
          "latestReviewedAt": "",
          "activityLabel": "Needs first output"
        },
        "submitIssueUrl": ""
      }
    ],
    "starterAction": {
      "slug": "supporter-channel-qa",
      "missionSlug": "machine-build",
      "title": "Supporter channel QA",
      "summary": "Test the signup flow, consent language, error states and unsubscribe path before the supporter channel scales.",
      "meta": "infrastructure · this week",
      "progress": "Building",
      "progressPercent": 55,
      "mission": "Test the signup path, consent copy, and first-list segmentation without adding creepy data collection.",
      "why": "Future Union needs a direct supporter channel before platform algorithms decide what people see.",
      "timeNeeded": "45 minutes",
      "inputs": "Join page, signup admin, test email, privacy note.",
      "outputFormat": "Short QA note with pass/fail, screenshots if useful, and any broken copy or redirect state.",
      "acceptanceCriteria": "Confirms success, missing-data, and error states; confirms unsubscribe/privacy language is visible.",
      "submitRoute": "Finish the evidence pack locally, then submit it for review straight from the runner — it sends the pack to Future Union for a human to check, and nothing becomes public without that review. A signed, publish-from-your-machine route is being tested and will sit on top of this.",
      "tags": [
        "join",
        "email"
      ],
      "columnTitle": "Building",
      "columnDescription": "Work in flight that should stay visible.",
      "parentMissionSlug": "machine-build",
      "parentMissionTitle": "Test the machine",
      "parentMissionStatus": "Building",
      "parentMissionProgress": "Site and supporter channel in build",
      "parentMissionProgressPercent": 65,
      "parentMissionHref": "/missions/machine-build/",
      "status": "building",
      "priorityRank": 1,
      "outputType": "QA note",
      "reviewPolicy": "Human review is mandatory before any submitted evidence pack becomes a public claim, contact action, campaign asset, dataset, or policy position.",
      "packetTemplateUrl": "/agent-pack/mission-packet-template.md",
      "issueTemplateUrl": "/agent-pack/github-issue-template.md",
      "apiHref": "/api/actions/supporter-channel-qa.json",
      "workstream": "Test the machine",
      "definitionOfDone": "A reviewer can verify the output against this bar: Confirms success, missing-data, and error states; confirms unsubscribe/privacy language is visible.",
      "reviewQuestions": [
        "Does the output meet the definition of done?",
        "Are the sources public, narrow, and caveated enough to trust?",
        "Should this be accepted as current best, sent for another pass, or used to spawn next work?"
      ],
      "spawnRules": [
        "If the output exposes a useful unresolved gap, turn that gap into one narrower follow-up action.",
        "If the score is high but the output is still not decision-useful, expand the test rather than polishing the same draft."
      ],
      "outcomeStatus": "in-progress",
      "outcomeSummary": "No accepted outcome yet. A useful output still needs review.",
      "detailHref": "/control-room/actions/supporter-channel-qa/",
      "runnerDirectory": "future-union-mission-supporter-channel-qa",
      "runnerCommand": "curl -fsS https://www.futureunion.org.uk/agent-pack/fu-runner.sh -o fucr && FU_BASE_URL=https://www.futureunion.org.uk sh fucr mission supporter-channel-qa",
      "runnerScriptUrl": "/agent-pack/fu-runner.sh",
      "runnerPack": {
        "base": "/agent-pack/actions/supporter-channel-qa/",
        "readme": "/agent-pack/actions/supporter-channel-qa/README.md",
        "mission": "/agent-pack/actions/supporter-channel-qa/MISSION.md",
        "prompt": "/agent-pack/actions/supporter-channel-qa/PROMPT.md",
        "packet": "/agent-pack/actions/supporter-channel-qa/PACKET.md",
        "outcome": "/agent-pack/actions/supporter-channel-qa/OUTCOME.md",
        "nextWork": "/agent-pack/actions/supporter-channel-qa/NEXT_WORK.md",
        "review": "/agent-pack/actions/supporter-channel-qa/REVIEW.md",
        "sources": "/agent-pack/actions/supporter-channel-qa/SOURCES.csv",
        "contribution": "/agent-pack/actions/supporter-channel-qa/CONTRIBUTION.md",
        "credit": "/agent-pack/actions/supporter-channel-qa/CREDIT.md",
        "intakeIdea": "/agent-pack/actions/supporter-channel-qa/INTAKE_IDEA.md",
        "actionProposal": "/agent-pack/actions/supporter-channel-qa/ACTION_PROPOSAL.md",
        "submit": "/agent-pack/actions/supporter-channel-qa/SUBMIT.md",
        "context": "/agent-pack/actions/supporter-channel-qa/context.json",
        "missionContext": "/agent-pack/actions/supporter-channel-qa/mission.json",
        "skill": "/agent-pack/actions/supporter-channel-qa/SKILL.md"
      },
      "localSkillPath": ".agents/skills/future-union/SKILL.md",
      "helperCommandPath": "./bin/fu-mission",
      "isProposalAction": false,
      "contributionStats": {
        "reviewedPackets": 0,
        "pendingPackets": 0,
        "activeClaims": 0,
        "radiclePatches": 0,
        "creditedContributors": 0,
        "latestReviewedAt": "",
        "activityLabel": "Needs first output"
      },
      "submitIssueUrl": ""
    },
    "contributionStats": {
      "reviewedPackets": 0,
      "pendingPackets": 0,
      "activeClaims": 0,
      "radiclePatches": 0,
      "creditedContributors": 0,
      "latestReviewedAt": "",
      "activityLabel": "Needs first output"
    },
    "actionCount": 2,
    "liveActionCount": 1,
    "shippedActionCount": 1,
    "outcomeStatus": "not-started",
    "completionStandard": "A mission advances when one or more bounded outputs are reviewed, accepted as current best, and converted into public knowledge or sharper next work.",
    "currentBest": "No accepted current-best result yet.",
    "openQuestions": [
      "What evidence pack would most reduce uncertainty next?",
      "What stronger test should replace any saturated score?"
    ],
    "workstreams": [
      {
        "title": "Supporter channel QA",
        "doneWhen": "A reviewer can verify the output against this bar: Confirms success, missing-data, and error states; confirms unsubscribe/privacy language is visible.",
        "status": "in-progress"
      }
    ],
    "detailHref": "/missions/machine-build/",
    "packetTemplateUrl": "/agent-pack/mission-packet-template.md",
    "issueTemplateUrl": "/agent-pack/github-issue-template.md",
    "reviewPolicy": "Human review is mandatory before any submitted evidence pack becomes a public claim, contact action, campaign asset, dataset, or policy position.",
    "computeDisclosureFields": [
      "Agent or tool used",
      "Model if known",
      "Approximate tokens or runtime if available",
      "Human edits made",
      "Sources checked"
    ],
    "submitIssueUrl": "",
    "liveProgress": {
      "slug": "machine-build",
      "title": "Test the machine",
      "kind": "mission",
      "activeClaims": 0,
      "pendingPackets": 0,
      "reviewedPackets": 0,
      "usedOutputs": 0,
      "creditedContributors": 0,
      "radicleRefs": 0,
      "bestPendingScore": null,
      "bestReviewedScore": null,
      "latestPacketAt": "",
      "latestReviewedAt": "",
      "latestAcceptedAt": "",
      "latestAcceptedHref": "",
      "outcomeStatus": "not-started",
      "currentBestSummary": "",
      "currentLabel": "First evidence pack needed",
      "outcomeLabel": "No reviewed outcome yet",
      "reviewStateLabel": "First useful output needed",
      "scoreLabel": "No review score yet",
      "nextGapLabel": "Needs one bounded output with a clear definition of done."
    }
  },
  {
    "slug": "britain-build-radar",
    "title": "Map Britain's builders",
    "status": "Scoping",
    "progress": "Seed desk live",
    "progressPercent": 55,
    "difficulty": "Easy",
    "timeEstimate": "60 minutes weekly",
    "summary": "A recurring scan of builders, councils, campaigns, and policy shops actually pushing the country forward.",
    "agentRole": "Track stories, cluster themes, and surface the highest-return narratives for amplification.",
    "humanRole": "Choose the angle, add judgment, and turn signal into political pressure.",
    "backing": "Needs repeatable sourcing, editorial judgment, and a publishing cadence.",
    "agentPrompt": "Scan for UK stories from the last 14 days where something pro-growth was built, approved, blocked, delayed, funded, or argued well. Return five candidates with source links, protagonists, blockers/enablers, and why Future Union should care.",
    "deliverableTemplate": "Story; place; source links; protagonist; blocker/enabler; why it matters; suggested format; confidence.",
    "reviewChecklist": [
      "Each candidate is recent or clearly evergreen.",
      "Local press and primary sources are preferred over unsourced social posts.",
      "The output includes at least one positive builder story, not only failure."
    ],
    "submitRoute": "Finish the evidence pack locally, then submit it for review straight from the runner — it sends the pack to Future Union for a human to check, and nothing becomes public without that review. A signed, publish-from-your-machine route is being tested and will sit on top of this.",
    "actions": [
      {
        "slug": "britain-build-radar",
        "missionSlug": "britain-build-radar",
        "title": "Britain Build Radar",
        "summary": "Agent-backed scanning for growth stories, blockers, and under-covered local wins.",
        "meta": "compute-backed mission",
        "progress": "Needs compute",
        "progressPercent": 25,
        "mission": "Use an agent to scan for pro-growth wins, bottlenecks, and under-reported local delivery stories.",
        "why": "The scene needs routing. Good work should not vanish because no one packaged it.",
        "timeNeeded": "60 minutes weekly",
        "inputs": "Search queries, council/local press sources, think-tank feeds, social links.",
        "outputFormat": "Five candidate stories with source links, angle, protagonist, and next action.",
        "acceptanceCriteria": "No unsourced claims; each candidate has a clear reason Future Union should amplify or investigate it.",
        "submitRoute": "Finish the evidence pack locally, then submit it for review straight from the runner — it sends the pack to Future Union for a human to check, and nothing becomes public without that review. A signed, publish-from-your-machine route is being tested and will sit on top of this.",
        "tags": [
          "agents",
          "journal"
        ],
        "columnTitle": "Needs backing",
        "columnDescription": "Things that need money, compute, or outside expertise.",
        "parentMissionSlug": "britain-build-radar",
        "parentMissionTitle": "Map Britain's builders",
        "parentMissionStatus": "Scoping",
        "parentMissionProgress": "Seed desk live",
        "parentMissionProgressPercent": 55,
        "parentMissionHref": "/missions/britain-build-radar/",
        "status": "needs-backing",
        "priorityRank": 5,
        "outputType": "Story leads",
        "reviewPolicy": "Human review is mandatory before any submitted evidence pack becomes a public claim, contact action, campaign asset, dataset, or policy position.",
        "packetTemplateUrl": "/agent-pack/mission-packet-template.md",
        "issueTemplateUrl": "/agent-pack/github-issue-template.md",
        "apiHref": "/api/actions/britain-build-radar.json",
        "workstream": "Map Britain's builders",
        "definitionOfDone": "A reviewer can verify the output against this bar: No unsourced claims; each candidate has a clear reason Future Union should amplify or investigate it.",
        "reviewQuestions": [
          "Does the output meet the definition of done?",
          "Are the sources public, narrow, and caveated enough to trust?",
          "Should this be accepted as current best, sent for another pass, or used to spawn next work?"
        ],
        "spawnRules": [
          "If the output exposes a useful unresolved gap, turn that gap into one narrower follow-up action.",
          "If the score is high but the output is still not decision-useful, expand the test rather than polishing the same draft."
        ],
        "outcomeStatus": "in-progress",
        "outcomeSummary": "No accepted outcome yet. A useful output still needs review.",
        "detailHref": "/control-room/actions/britain-build-radar/",
        "runnerDirectory": "future-union-mission-britain-build-radar",
        "runnerCommand": "curl -fsS https://www.futureunion.org.uk/agent-pack/fu-runner.sh -o fucr && FU_BASE_URL=https://www.futureunion.org.uk sh fucr mission britain-build-radar",
        "runnerScriptUrl": "/agent-pack/fu-runner.sh",
        "runnerPack": {
          "base": "/agent-pack/actions/britain-build-radar/",
          "readme": "/agent-pack/actions/britain-build-radar/README.md",
          "mission": "/agent-pack/actions/britain-build-radar/MISSION.md",
          "prompt": "/agent-pack/actions/britain-build-radar/PROMPT.md",
          "packet": "/agent-pack/actions/britain-build-radar/PACKET.md",
          "outcome": "/agent-pack/actions/britain-build-radar/OUTCOME.md",
          "nextWork": "/agent-pack/actions/britain-build-radar/NEXT_WORK.md",
          "review": "/agent-pack/actions/britain-build-radar/REVIEW.md",
          "sources": "/agent-pack/actions/britain-build-radar/SOURCES.csv",
          "contribution": "/agent-pack/actions/britain-build-radar/CONTRIBUTION.md",
          "credit": "/agent-pack/actions/britain-build-radar/CREDIT.md",
          "intakeIdea": "/agent-pack/actions/britain-build-radar/INTAKE_IDEA.md",
          "actionProposal": "/agent-pack/actions/britain-build-radar/ACTION_PROPOSAL.md",
          "submit": "/agent-pack/actions/britain-build-radar/SUBMIT.md",
          "context": "/agent-pack/actions/britain-build-radar/context.json",
          "missionContext": "/agent-pack/actions/britain-build-radar/mission.json",
          "skill": "/agent-pack/actions/britain-build-radar/SKILL.md"
        },
        "localSkillPath": ".agents/skills/future-union/SKILL.md",
        "helperCommandPath": "./bin/fu-mission",
        "isProposalAction": false,
        "contributionStats": {
          "reviewedPackets": 0,
          "pendingPackets": 0,
          "activeClaims": 0,
          "radiclePatches": 0,
          "creditedContributors": 0,
          "latestReviewedAt": "",
          "activityLabel": "Needs first output"
        },
        "submitIssueUrl": ""
      },
      {
        "slug": "builder-files-source-pass",
        "missionSlug": "britain-build-radar",
        "title": "Builder Files source pass",
        "summary": "Take one first-pass Builder File and add the source trail that makes it useful to the group, readers and future missions.",
        "meta": "source pass · 45 mins",
        "progress": "Needs sources",
        "progressPercent": 20,
        "mission": "Choose one Builder File and add an official source, public materials, one narrow claim to verify, caveat, current ask, and one mission the community computer could run.",
        "why": "Builder Files become valuable when useful groups can see themselves mapped fairly, sourced carefully, and offered leverage without being absorbed.",
        "timeNeeded": "45 minutes",
        "inputs": "Official site, public materials, current asks, visible outputs, and one narrow claim worth verifying.",
        "outputFormat": "Updated Builder File source pass with receipts, caveats, and a suggested mission.",
        "acceptanceCriteria": "The profile is warmer, more useful, and more source-backed, without implying endorsement or partnership.",
        "definitionOfDone": "One Builder File has at least one official source, one public material, one claim to verify, one caveat, one current ask, and one mission the machine could run.",
        "reviewQuestions": [
          "Does the source pass make the profile fairer and more useful to the subject?",
          "Does it avoid implying endorsement, partnership, or claims beyond the sources?",
          "Is the suggested mission narrow enough for one contributor to complete?"
        ],
        "spawnRules": [
          "If the source pass exposes a concrete need, spawn one narrow Builder Files mission.",
          "If the profile still lacks basic public sources, keep it first-pass rather than outreach-ready."
        ],
        "submitRoute": "Finish the evidence pack locally, then submit it for review straight from the runner — it sends the pack to Future Union for a human to check, and nothing becomes public without that review. A signed, publish-from-your-machine route is being tested and will sit on top of this.",
        "tags": [
          "builder files",
          "sources"
        ],
        "columnTitle": "Needs backing",
        "columnDescription": "Things that need money, compute, or outside expertise.",
        "parentMissionSlug": "britain-build-radar",
        "parentMissionTitle": "Map Britain's builders",
        "parentMissionStatus": "Scoping",
        "parentMissionProgress": "Seed desk live",
        "parentMissionProgressPercent": 55,
        "parentMissionHref": "/missions/britain-build-radar/",
        "status": "needs-backing",
        "priorityRank": 6,
        "outputType": "Evidence pack",
        "reviewPolicy": "Human review is mandatory before any submitted evidence pack becomes a public claim, contact action, campaign asset, dataset, or policy position.",
        "packetTemplateUrl": "/agent-pack/mission-packet-template.md",
        "issueTemplateUrl": "/agent-pack/github-issue-template.md",
        "apiHref": "/api/actions/builder-files-source-pass.json",
        "workstream": "Map Britain's builders",
        "outcomeStatus": "in-progress",
        "outcomeSummary": "No accepted outcome yet. A useful output still needs review.",
        "detailHref": "/control-room/actions/builder-files-source-pass/",
        "runnerDirectory": "future-union-mission-builder-files-source-pass",
        "runnerCommand": "curl -fsS https://www.futureunion.org.uk/agent-pack/fu-runner.sh -o fucr && FU_BASE_URL=https://www.futureunion.org.uk sh fucr mission builder-files-source-pass",
        "runnerScriptUrl": "/agent-pack/fu-runner.sh",
        "runnerPack": {
          "base": "/agent-pack/actions/builder-files-source-pass/",
          "readme": "/agent-pack/actions/builder-files-source-pass/README.md",
          "mission": "/agent-pack/actions/builder-files-source-pass/MISSION.md",
          "prompt": "/agent-pack/actions/builder-files-source-pass/PROMPT.md",
          "packet": "/agent-pack/actions/builder-files-source-pass/PACKET.md",
          "outcome": "/agent-pack/actions/builder-files-source-pass/OUTCOME.md",
          "nextWork": "/agent-pack/actions/builder-files-source-pass/NEXT_WORK.md",
          "review": "/agent-pack/actions/builder-files-source-pass/REVIEW.md",
          "sources": "/agent-pack/actions/builder-files-source-pass/SOURCES.csv",
          "contribution": "/agent-pack/actions/builder-files-source-pass/CONTRIBUTION.md",
          "credit": "/agent-pack/actions/builder-files-source-pass/CREDIT.md",
          "intakeIdea": "/agent-pack/actions/builder-files-source-pass/INTAKE_IDEA.md",
          "actionProposal": "/agent-pack/actions/builder-files-source-pass/ACTION_PROPOSAL.md",
          "submit": "/agent-pack/actions/builder-files-source-pass/SUBMIT.md",
          "context": "/agent-pack/actions/builder-files-source-pass/context.json",
          "missionContext": "/agent-pack/actions/builder-files-source-pass/mission.json",
          "skill": "/agent-pack/actions/builder-files-source-pass/SKILL.md"
        },
        "localSkillPath": ".agents/skills/future-union/SKILL.md",
        "helperCommandPath": "./bin/fu-mission",
        "isProposalAction": false,
        "contributionStats": {
          "reviewedPackets": 0,
          "pendingPackets": 0,
          "activeClaims": 0,
          "radiclePatches": 0,
          "creditedContributors": 0,
          "latestReviewedAt": "",
          "activityLabel": "Needs first output"
        },
        "submitIssueUrl": ""
      },
      {
        "slug": "future-union-journal",
        "missionSlug": "britain-build-radar",
        "title": "Future Union journal",
        "summary": "The first evidence-led stories are published and linked directly to public source material.",
        "meta": "editorial · shipped",
        "progress": "Shipped seed",
        "progressPercent": 70,
        "outcomeStatus": "accepted-current-best",
        "outcomeSummary": "Shipped. Accepted seed output. Public surface live. Next: maintain, improve, or spawn next work.",
        "mission": "Turn the journal into the front page for pro-growth UK scene intelligence.",
        "why": "A machine with no media surface has no shared memory.",
        "timeNeeded": "Shipped",
        "inputs": "Published articles, source packs, receipt cards.",
        "outputFormat": "Magazine-style journal and article pages.",
        "acceptanceCriteria": "Featured story, latest stories, source links, and receipt references are visible.",
        "submitRoute": "Internal shipped record.",
        "tags": [
          "journal",
          "sources"
        ],
        "columnTitle": "Shipped",
        "columnDescription": "Visible things already out in the world.",
        "parentMissionSlug": "britain-build-radar",
        "parentMissionTitle": "Map Britain's builders",
        "parentMissionStatus": "Scoping",
        "parentMissionProgress": "Seed desk live",
        "parentMissionProgressPercent": 55,
        "parentMissionHref": "/missions/britain-build-radar/",
        "status": "shipped",
        "priorityRank": null,
        "outputType": "Story leads",
        "reviewPolicy": "Human review is mandatory before any submitted evidence pack becomes a public claim, contact action, campaign asset, dataset, or policy position.",
        "packetTemplateUrl": "/agent-pack/mission-packet-template.md",
        "issueTemplateUrl": "/agent-pack/github-issue-template.md",
        "apiHref": "/api/actions/future-union-journal.json",
        "workstream": "Map Britain's builders",
        "definitionOfDone": "A reviewer can verify the output against this bar: Featured story, latest stories, source links, and receipt references are visible.",
        "reviewQuestions": [
          "Does the output meet the definition of done?",
          "Are the sources public, narrow, and caveated enough to trust?",
          "Should this be accepted as current best, sent for another pass, or used to spawn next work?"
        ],
        "spawnRules": [
          "If the output exposes a useful unresolved gap, turn that gap into one narrower follow-up action.",
          "If the score is high but the output is still not decision-useful, expand the test rather than polishing the same draft."
        ],
        "detailHref": "/control-room/actions/future-union-journal/",
        "runnerDirectory": "future-union-mission-future-union-journal",
        "runnerCommand": "curl -fsS https://www.futureunion.org.uk/agent-pack/fu-runner.sh -o fucr && FU_BASE_URL=https://www.futureunion.org.uk sh fucr mission future-union-journal",
        "runnerScriptUrl": "/agent-pack/fu-runner.sh",
        "runnerPack": {
          "base": "/agent-pack/actions/future-union-journal/",
          "readme": "/agent-pack/actions/future-union-journal/README.md",
          "mission": "/agent-pack/actions/future-union-journal/MISSION.md",
          "prompt": "/agent-pack/actions/future-union-journal/PROMPT.md",
          "packet": "/agent-pack/actions/future-union-journal/PACKET.md",
          "outcome": "/agent-pack/actions/future-union-journal/OUTCOME.md",
          "nextWork": "/agent-pack/actions/future-union-journal/NEXT_WORK.md",
          "review": "/agent-pack/actions/future-union-journal/REVIEW.md",
          "sources": "/agent-pack/actions/future-union-journal/SOURCES.csv",
          "contribution": "/agent-pack/actions/future-union-journal/CONTRIBUTION.md",
          "credit": "/agent-pack/actions/future-union-journal/CREDIT.md",
          "intakeIdea": "/agent-pack/actions/future-union-journal/INTAKE_IDEA.md",
          "actionProposal": "/agent-pack/actions/future-union-journal/ACTION_PROPOSAL.md",
          "submit": "/agent-pack/actions/future-union-journal/SUBMIT.md",
          "context": "/agent-pack/actions/future-union-journal/context.json",
          "missionContext": "/agent-pack/actions/future-union-journal/mission.json",
          "skill": "/agent-pack/actions/future-union-journal/SKILL.md"
        },
        "localSkillPath": ".agents/skills/future-union/SKILL.md",
        "helperCommandPath": "./bin/fu-mission",
        "isProposalAction": false,
        "contributionStats": {
          "reviewedPackets": 0,
          "pendingPackets": 0,
          "activeClaims": 0,
          "radiclePatches": 0,
          "creditedContributors": 0,
          "latestReviewedAt": "",
          "activityLabel": "Needs first output"
        },
        "submitIssueUrl": ""
      }
    ],
    "liveActions": [
      {
        "slug": "britain-build-radar",
        "missionSlug": "britain-build-radar",
        "title": "Britain Build Radar",
        "summary": "Agent-backed scanning for growth stories, blockers, and under-covered local wins.",
        "meta": "compute-backed mission",
        "progress": "Needs compute",
        "progressPercent": 25,
        "mission": "Use an agent to scan for pro-growth wins, bottlenecks, and under-reported local delivery stories.",
        "why": "The scene needs routing. Good work should not vanish because no one packaged it.",
        "timeNeeded": "60 minutes weekly",
        "inputs": "Search queries, council/local press sources, think-tank feeds, social links.",
        "outputFormat": "Five candidate stories with source links, angle, protagonist, and next action.",
        "acceptanceCriteria": "No unsourced claims; each candidate has a clear reason Future Union should amplify or investigate it.",
        "submitRoute": "Finish the evidence pack locally, then submit it for review straight from the runner — it sends the pack to Future Union for a human to check, and nothing becomes public without that review. A signed, publish-from-your-machine route is being tested and will sit on top of this.",
        "tags": [
          "agents",
          "journal"
        ],
        "columnTitle": "Needs backing",
        "columnDescription": "Things that need money, compute, or outside expertise.",
        "parentMissionSlug": "britain-build-radar",
        "parentMissionTitle": "Map Britain's builders",
        "parentMissionStatus": "Scoping",
        "parentMissionProgress": "Seed desk live",
        "parentMissionProgressPercent": 55,
        "parentMissionHref": "/missions/britain-build-radar/",
        "status": "needs-backing",
        "priorityRank": 5,
        "outputType": "Story leads",
        "reviewPolicy": "Human review is mandatory before any submitted evidence pack becomes a public claim, contact action, campaign asset, dataset, or policy position.",
        "packetTemplateUrl": "/agent-pack/mission-packet-template.md",
        "issueTemplateUrl": "/agent-pack/github-issue-template.md",
        "apiHref": "/api/actions/britain-build-radar.json",
        "workstream": "Map Britain's builders",
        "definitionOfDone": "A reviewer can verify the output against this bar: No unsourced claims; each candidate has a clear reason Future Union should amplify or investigate it.",
        "reviewQuestions": [
          "Does the output meet the definition of done?",
          "Are the sources public, narrow, and caveated enough to trust?",
          "Should this be accepted as current best, sent for another pass, or used to spawn next work?"
        ],
        "spawnRules": [
          "If the output exposes a useful unresolved gap, turn that gap into one narrower follow-up action.",
          "If the score is high but the output is still not decision-useful, expand the test rather than polishing the same draft."
        ],
        "outcomeStatus": "in-progress",
        "outcomeSummary": "No accepted outcome yet. A useful output still needs review.",
        "detailHref": "/control-room/actions/britain-build-radar/",
        "runnerDirectory": "future-union-mission-britain-build-radar",
        "runnerCommand": "curl -fsS https://www.futureunion.org.uk/agent-pack/fu-runner.sh -o fucr && FU_BASE_URL=https://www.futureunion.org.uk sh fucr mission britain-build-radar",
        "runnerScriptUrl": "/agent-pack/fu-runner.sh",
        "runnerPack": {
          "base": "/agent-pack/actions/britain-build-radar/",
          "readme": "/agent-pack/actions/britain-build-radar/README.md",
          "mission": "/agent-pack/actions/britain-build-radar/MISSION.md",
          "prompt": "/agent-pack/actions/britain-build-radar/PROMPT.md",
          "packet": "/agent-pack/actions/britain-build-radar/PACKET.md",
          "outcome": "/agent-pack/actions/britain-build-radar/OUTCOME.md",
          "nextWork": "/agent-pack/actions/britain-build-radar/NEXT_WORK.md",
          "review": "/agent-pack/actions/britain-build-radar/REVIEW.md",
          "sources": "/agent-pack/actions/britain-build-radar/SOURCES.csv",
          "contribution": "/agent-pack/actions/britain-build-radar/CONTRIBUTION.md",
          "credit": "/agent-pack/actions/britain-build-radar/CREDIT.md",
          "intakeIdea": "/agent-pack/actions/britain-build-radar/INTAKE_IDEA.md",
          "actionProposal": "/agent-pack/actions/britain-build-radar/ACTION_PROPOSAL.md",
          "submit": "/agent-pack/actions/britain-build-radar/SUBMIT.md",
          "context": "/agent-pack/actions/britain-build-radar/context.json",
          "missionContext": "/agent-pack/actions/britain-build-radar/mission.json",
          "skill": "/agent-pack/actions/britain-build-radar/SKILL.md"
        },
        "localSkillPath": ".agents/skills/future-union/SKILL.md",
        "helperCommandPath": "./bin/fu-mission",
        "isProposalAction": false,
        "contributionStats": {
          "reviewedPackets": 0,
          "pendingPackets": 0,
          "activeClaims": 0,
          "radiclePatches": 0,
          "creditedContributors": 0,
          "latestReviewedAt": "",
          "activityLabel": "Needs first output"
        },
        "submitIssueUrl": ""
      },
      {
        "slug": "builder-files-source-pass",
        "missionSlug": "britain-build-radar",
        "title": "Builder Files source pass",
        "summary": "Take one first-pass Builder File and add the source trail that makes it useful to the group, readers and future missions.",
        "meta": "source pass · 45 mins",
        "progress": "Needs sources",
        "progressPercent": 20,
        "mission": "Choose one Builder File and add an official source, public materials, one narrow claim to verify, caveat, current ask, and one mission the community computer could run.",
        "why": "Builder Files become valuable when useful groups can see themselves mapped fairly, sourced carefully, and offered leverage without being absorbed.",
        "timeNeeded": "45 minutes",
        "inputs": "Official site, public materials, current asks, visible outputs, and one narrow claim worth verifying.",
        "outputFormat": "Updated Builder File source pass with receipts, caveats, and a suggested mission.",
        "acceptanceCriteria": "The profile is warmer, more useful, and more source-backed, without implying endorsement or partnership.",
        "definitionOfDone": "One Builder File has at least one official source, one public material, one claim to verify, one caveat, one current ask, and one mission the machine could run.",
        "reviewQuestions": [
          "Does the source pass make the profile fairer and more useful to the subject?",
          "Does it avoid implying endorsement, partnership, or claims beyond the sources?",
          "Is the suggested mission narrow enough for one contributor to complete?"
        ],
        "spawnRules": [
          "If the source pass exposes a concrete need, spawn one narrow Builder Files mission.",
          "If the profile still lacks basic public sources, keep it first-pass rather than outreach-ready."
        ],
        "submitRoute": "Finish the evidence pack locally, then submit it for review straight from the runner — it sends the pack to Future Union for a human to check, and nothing becomes public without that review. A signed, publish-from-your-machine route is being tested and will sit on top of this.",
        "tags": [
          "builder files",
          "sources"
        ],
        "columnTitle": "Needs backing",
        "columnDescription": "Things that need money, compute, or outside expertise.",
        "parentMissionSlug": "britain-build-radar",
        "parentMissionTitle": "Map Britain's builders",
        "parentMissionStatus": "Scoping",
        "parentMissionProgress": "Seed desk live",
        "parentMissionProgressPercent": 55,
        "parentMissionHref": "/missions/britain-build-radar/",
        "status": "needs-backing",
        "priorityRank": 6,
        "outputType": "Evidence pack",
        "reviewPolicy": "Human review is mandatory before any submitted evidence pack becomes a public claim, contact action, campaign asset, dataset, or policy position.",
        "packetTemplateUrl": "/agent-pack/mission-packet-template.md",
        "issueTemplateUrl": "/agent-pack/github-issue-template.md",
        "apiHref": "/api/actions/builder-files-source-pass.json",
        "workstream": "Map Britain's builders",
        "outcomeStatus": "in-progress",
        "outcomeSummary": "No accepted outcome yet. A useful output still needs review.",
        "detailHref": "/control-room/actions/builder-files-source-pass/",
        "runnerDirectory": "future-union-mission-builder-files-source-pass",
        "runnerCommand": "curl -fsS https://www.futureunion.org.uk/agent-pack/fu-runner.sh -o fucr && FU_BASE_URL=https://www.futureunion.org.uk sh fucr mission builder-files-source-pass",
        "runnerScriptUrl": "/agent-pack/fu-runner.sh",
        "runnerPack": {
          "base": "/agent-pack/actions/builder-files-source-pass/",
          "readme": "/agent-pack/actions/builder-files-source-pass/README.md",
          "mission": "/agent-pack/actions/builder-files-source-pass/MISSION.md",
          "prompt": "/agent-pack/actions/builder-files-source-pass/PROMPT.md",
          "packet": "/agent-pack/actions/builder-files-source-pass/PACKET.md",
          "outcome": "/agent-pack/actions/builder-files-source-pass/OUTCOME.md",
          "nextWork": "/agent-pack/actions/builder-files-source-pass/NEXT_WORK.md",
          "review": "/agent-pack/actions/builder-files-source-pass/REVIEW.md",
          "sources": "/agent-pack/actions/builder-files-source-pass/SOURCES.csv",
          "contribution": "/agent-pack/actions/builder-files-source-pass/CONTRIBUTION.md",
          "credit": "/agent-pack/actions/builder-files-source-pass/CREDIT.md",
          "intakeIdea": "/agent-pack/actions/builder-files-source-pass/INTAKE_IDEA.md",
          "actionProposal": "/agent-pack/actions/builder-files-source-pass/ACTION_PROPOSAL.md",
          "submit": "/agent-pack/actions/builder-files-source-pass/SUBMIT.md",
          "context": "/agent-pack/actions/builder-files-source-pass/context.json",
          "missionContext": "/agent-pack/actions/builder-files-source-pass/mission.json",
          "skill": "/agent-pack/actions/builder-files-source-pass/SKILL.md"
        },
        "localSkillPath": ".agents/skills/future-union/SKILL.md",
        "helperCommandPath": "./bin/fu-mission",
        "isProposalAction": false,
        "contributionStats": {
          "reviewedPackets": 0,
          "pendingPackets": 0,
          "activeClaims": 0,
          "radiclePatches": 0,
          "creditedContributors": 0,
          "latestReviewedAt": "",
          "activityLabel": "Needs first output"
        },
        "submitIssueUrl": ""
      }
    ],
    "shippedActions": [
      {
        "slug": "future-union-journal",
        "missionSlug": "britain-build-radar",
        "title": "Future Union journal",
        "summary": "The first evidence-led stories are published and linked directly to public source material.",
        "meta": "editorial · shipped",
        "progress": "Shipped seed",
        "progressPercent": 70,
        "outcomeStatus": "accepted-current-best",
        "outcomeSummary": "Shipped. Accepted seed output. Public surface live. Next: maintain, improve, or spawn next work.",
        "mission": "Turn the journal into the front page for pro-growth UK scene intelligence.",
        "why": "A machine with no media surface has no shared memory.",
        "timeNeeded": "Shipped",
        "inputs": "Published articles, source packs, receipt cards.",
        "outputFormat": "Magazine-style journal and article pages.",
        "acceptanceCriteria": "Featured story, latest stories, source links, and receipt references are visible.",
        "submitRoute": "Internal shipped record.",
        "tags": [
          "journal",
          "sources"
        ],
        "columnTitle": "Shipped",
        "columnDescription": "Visible things already out in the world.",
        "parentMissionSlug": "britain-build-radar",
        "parentMissionTitle": "Map Britain's builders",
        "parentMissionStatus": "Scoping",
        "parentMissionProgress": "Seed desk live",
        "parentMissionProgressPercent": 55,
        "parentMissionHref": "/missions/britain-build-radar/",
        "status": "shipped",
        "priorityRank": null,
        "outputType": "Story leads",
        "reviewPolicy": "Human review is mandatory before any submitted evidence pack becomes a public claim, contact action, campaign asset, dataset, or policy position.",
        "packetTemplateUrl": "/agent-pack/mission-packet-template.md",
        "issueTemplateUrl": "/agent-pack/github-issue-template.md",
        "apiHref": "/api/actions/future-union-journal.json",
        "workstream": "Map Britain's builders",
        "definitionOfDone": "A reviewer can verify the output against this bar: Featured story, latest stories, source links, and receipt references are visible.",
        "reviewQuestions": [
          "Does the output meet the definition of done?",
          "Are the sources public, narrow, and caveated enough to trust?",
          "Should this be accepted as current best, sent for another pass, or used to spawn next work?"
        ],
        "spawnRules": [
          "If the output exposes a useful unresolved gap, turn that gap into one narrower follow-up action.",
          "If the score is high but the output is still not decision-useful, expand the test rather than polishing the same draft."
        ],
        "detailHref": "/control-room/actions/future-union-journal/",
        "runnerDirectory": "future-union-mission-future-union-journal",
        "runnerCommand": "curl -fsS https://www.futureunion.org.uk/agent-pack/fu-runner.sh -o fucr && FU_BASE_URL=https://www.futureunion.org.uk sh fucr mission future-union-journal",
        "runnerScriptUrl": "/agent-pack/fu-runner.sh",
        "runnerPack": {
          "base": "/agent-pack/actions/future-union-journal/",
          "readme": "/agent-pack/actions/future-union-journal/README.md",
          "mission": "/agent-pack/actions/future-union-journal/MISSION.md",
          "prompt": "/agent-pack/actions/future-union-journal/PROMPT.md",
          "packet": "/agent-pack/actions/future-union-journal/PACKET.md",
          "outcome": "/agent-pack/actions/future-union-journal/OUTCOME.md",
          "nextWork": "/agent-pack/actions/future-union-journal/NEXT_WORK.md",
          "review": "/agent-pack/actions/future-union-journal/REVIEW.md",
          "sources": "/agent-pack/actions/future-union-journal/SOURCES.csv",
          "contribution": "/agent-pack/actions/future-union-journal/CONTRIBUTION.md",
          "credit": "/agent-pack/actions/future-union-journal/CREDIT.md",
          "intakeIdea": "/agent-pack/actions/future-union-journal/INTAKE_IDEA.md",
          "actionProposal": "/agent-pack/actions/future-union-journal/ACTION_PROPOSAL.md",
          "submit": "/agent-pack/actions/future-union-journal/SUBMIT.md",
          "context": "/agent-pack/actions/future-union-journal/context.json",
          "missionContext": "/agent-pack/actions/future-union-journal/mission.json",
          "skill": "/agent-pack/actions/future-union-journal/SKILL.md"
        },
        "localSkillPath": ".agents/skills/future-union/SKILL.md",
        "helperCommandPath": "./bin/fu-mission",
        "isProposalAction": false,
        "contributionStats": {
          "reviewedPackets": 0,
          "pendingPackets": 0,
          "activeClaims": 0,
          "radiclePatches": 0,
          "creditedContributors": 0,
          "latestReviewedAt": "",
          "activityLabel": "Needs first output"
        },
        "submitIssueUrl": ""
      }
    ],
    "starterAction": {
      "slug": "britain-build-radar",
      "missionSlug": "britain-build-radar",
      "title": "Britain Build Radar",
      "summary": "Agent-backed scanning for growth stories, blockers, and under-covered local wins.",
      "meta": "compute-backed mission",
      "progress": "Needs compute",
      "progressPercent": 25,
      "mission": "Use an agent to scan for pro-growth wins, bottlenecks, and under-reported local delivery stories.",
      "why": "The scene needs routing. Good work should not vanish because no one packaged it.",
      "timeNeeded": "60 minutes weekly",
      "inputs": "Search queries, council/local press sources, think-tank feeds, social links.",
      "outputFormat": "Five candidate stories with source links, angle, protagonist, and next action.",
      "acceptanceCriteria": "No unsourced claims; each candidate has a clear reason Future Union should amplify or investigate it.",
      "submitRoute": "Finish the evidence pack locally, then submit it for review straight from the runner — it sends the pack to Future Union for a human to check, and nothing becomes public without that review. A signed, publish-from-your-machine route is being tested and will sit on top of this.",
      "tags": [
        "agents",
        "journal"
      ],
      "columnTitle": "Needs backing",
      "columnDescription": "Things that need money, compute, or outside expertise.",
      "parentMissionSlug": "britain-build-radar",
      "parentMissionTitle": "Map Britain's builders",
      "parentMissionStatus": "Scoping",
      "parentMissionProgress": "Seed desk live",
      "parentMissionProgressPercent": 55,
      "parentMissionHref": "/missions/britain-build-radar/",
      "status": "needs-backing",
      "priorityRank": 5,
      "outputType": "Story leads",
      "reviewPolicy": "Human review is mandatory before any submitted evidence pack becomes a public claim, contact action, campaign asset, dataset, or policy position.",
      "packetTemplateUrl": "/agent-pack/mission-packet-template.md",
      "issueTemplateUrl": "/agent-pack/github-issue-template.md",
      "apiHref": "/api/actions/britain-build-radar.json",
      "workstream": "Map Britain's builders",
      "definitionOfDone": "A reviewer can verify the output against this bar: No unsourced claims; each candidate has a clear reason Future Union should amplify or investigate it.",
      "reviewQuestions": [
        "Does the output meet the definition of done?",
        "Are the sources public, narrow, and caveated enough to trust?",
        "Should this be accepted as current best, sent for another pass, or used to spawn next work?"
      ],
      "spawnRules": [
        "If the output exposes a useful unresolved gap, turn that gap into one narrower follow-up action.",
        "If the score is high but the output is still not decision-useful, expand the test rather than polishing the same draft."
      ],
      "outcomeStatus": "in-progress",
      "outcomeSummary": "No accepted outcome yet. A useful output still needs review.",
      "detailHref": "/control-room/actions/britain-build-radar/",
      "runnerDirectory": "future-union-mission-britain-build-radar",
      "runnerCommand": "curl -fsS https://www.futureunion.org.uk/agent-pack/fu-runner.sh -o fucr && FU_BASE_URL=https://www.futureunion.org.uk sh fucr mission britain-build-radar",
      "runnerScriptUrl": "/agent-pack/fu-runner.sh",
      "runnerPack": {
        "base": "/agent-pack/actions/britain-build-radar/",
        "readme": "/agent-pack/actions/britain-build-radar/README.md",
        "mission": "/agent-pack/actions/britain-build-radar/MISSION.md",
        "prompt": "/agent-pack/actions/britain-build-radar/PROMPT.md",
        "packet": "/agent-pack/actions/britain-build-radar/PACKET.md",
        "outcome": "/agent-pack/actions/britain-build-radar/OUTCOME.md",
        "nextWork": "/agent-pack/actions/britain-build-radar/NEXT_WORK.md",
        "review": "/agent-pack/actions/britain-build-radar/REVIEW.md",
        "sources": "/agent-pack/actions/britain-build-radar/SOURCES.csv",
        "contribution": "/agent-pack/actions/britain-build-radar/CONTRIBUTION.md",
        "credit": "/agent-pack/actions/britain-build-radar/CREDIT.md",
        "intakeIdea": "/agent-pack/actions/britain-build-radar/INTAKE_IDEA.md",
        "actionProposal": "/agent-pack/actions/britain-build-radar/ACTION_PROPOSAL.md",
        "submit": "/agent-pack/actions/britain-build-radar/SUBMIT.md",
        "context": "/agent-pack/actions/britain-build-radar/context.json",
        "missionContext": "/agent-pack/actions/britain-build-radar/mission.json",
        "skill": "/agent-pack/actions/britain-build-radar/SKILL.md"
      },
      "localSkillPath": ".agents/skills/future-union/SKILL.md",
      "helperCommandPath": "./bin/fu-mission",
      "isProposalAction": false,
      "contributionStats": {
        "reviewedPackets": 0,
        "pendingPackets": 0,
        "activeClaims": 0,
        "radiclePatches": 0,
        "creditedContributors": 0,
        "latestReviewedAt": "",
        "activityLabel": "Needs first output"
      },
      "submitIssueUrl": ""
    },
    "contributionStats": {
      "reviewedPackets": 1,
      "pendingPackets": 0,
      "activeClaims": 0,
      "radiclePatches": 0,
      "creditedContributors": 1,
      "latestReviewedAt": "2026-04-20",
      "activityLabel": "1 reviewed output"
    },
    "actionCount": 3,
    "liveActionCount": 2,
    "shippedActionCount": 1,
    "outcomeStatus": "accepted-current-best",
    "completionStandard": "A mission advances when one or more bounded outputs are reviewed, accepted as current best, and converted into public knowledge or sharper next work.",
    "currentBest": "Reviewed outputs define the current best version of this mission.",
    "openQuestions": [
      "What evidence pack would most reduce uncertainty next?",
      "What stronger test should replace any saturated score?"
    ],
    "workstreams": [
      {
        "title": "Britain Build Radar",
        "doneWhen": "A reviewer can verify the output against this bar: No unsourced claims; each candidate has a clear reason Future Union should amplify or investigate it.",
        "status": "in-progress"
      },
      {
        "title": "Builder Files source pass",
        "doneWhen": "One Builder File has at least one official source, one public material, one claim to verify, one caveat, one current ask, and one mission the machine could run.",
        "status": "in-progress"
      }
    ],
    "detailHref": "/missions/britain-build-radar/",
    "packetTemplateUrl": "/agent-pack/mission-packet-template.md",
    "issueTemplateUrl": "/agent-pack/github-issue-template.md",
    "reviewPolicy": "Human review is mandatory before any submitted evidence pack becomes a public claim, contact action, campaign asset, dataset, or policy position.",
    "computeDisclosureFields": [
      "Agent or tool used",
      "Model if known",
      "Approximate tokens or runtime if available",
      "Human edits made",
      "Sources checked"
    ],
    "submitIssueUrl": "",
    "liveProgress": {
      "slug": "britain-build-radar",
      "title": "Map Britain's builders",
      "kind": "mission",
      "activeClaims": 0,
      "pendingPackets": 0,
      "reviewedPackets": 1,
      "usedOutputs": 0,
      "creditedContributors": 1,
      "radicleRefs": 0,
      "bestPendingScore": null,
      "bestReviewedScore": null,
      "latestPacketAt": "2026-04-20",
      "latestReviewedAt": "2026-04-20",
      "latestAcceptedAt": "2026-04-20",
      "latestAcceptedHref": "/missions/britain-build-radar/",
      "outcomeStatus": "accepted-current-best",
      "currentBestSummary": "Needs a real weekly source list before it becomes a public recurring product.",
      "currentLabel": "1 reviewed output",
      "outcomeLabel": "1 accepted output",
      "reviewStateLabel": "Accepted current best",
      "scoreLabel": "No review score yet",
      "nextGapLabel": "Review can now spawn the next harder action."
    }
  },
  {
    "slug": "receipts-desk",
    "title": "Check the claims",
    "status": "Pilot",
    "progress": "Seed standards live",
    "progressPercent": 45,
    "difficulty": "Hard",
    "timeEstimate": "90-180 minutes",
    "summary": "A document-led accountability lane for finding where process, procurement, or permissions are obviously broken.",
    "agentRole": "Mine documents, extract timelines, compare versions, and flag contradictions or delays.",
    "humanRole": "Pressure-test the claim, name the trade-off, and decide when the evidence is ready for public use.",
    "backing": "Needs FOI discipline, issue selection, and legal/common-sense review.",
    "agentPrompt": "Given one public document trail, extract a narrow claim Future Union could make publicly. Build a receipt card with source URL, date checked, value if any, context, caveats, and a plain-English explanation. Do not name private individuals unless they are already public office holders in the source.",
    "deliverableTemplate": "Receipt ID; value; claim; context; source label; source URL; source date; checked date; caveats; where Future Union should use it.",
    "reviewChecklist": [
      "The claim is narrower than the evidence, not broader.",
      "Personal data and legal risk are flagged.",
      "A sceptical reader can click through and verify the core claim."
    ],
    "submitRoute": "Finish the evidence pack locally, then submit it for review straight from the runner — it sends the pack to Future Union for a human to check, and nothing becomes public without that review. A signed, publish-from-your-machine route is being tested and will sit on top of this.",
    "actions": [
      {
        "slug": "planning-blockers-sprint",
        "missionSlug": "receipts-desk",
        "title": "Planning blockers sprint",
        "summary": "Pull ten examples of documented local planning delay with a clean source trail.",
        "meta": "research sprint · 90 mins",
        "progress": "Ready to run",
        "progressPercent": 15,
        "mission": "Find examples where planning delay, appeal, process churn, or local veto politics obviously blocked useful building.",
        "why": "This gives Future Union raw material for the Growth Index, Builder Files, and local pressure kits.",
        "timeNeeded": "90 minutes",
        "inputs": "Council pages, planning portals, local press, inspectorate decisions, screenshots, public links.",
        "outputFormat": "Markdown evidence pack with ten examples, one paragraph each, source links, and confidence notes.",
        "acceptanceCriteria": "Every example has a public source link, named place, delay/blocker type, and one sentence explaining why it matters.",
        "submitRoute": "Finish the evidence pack locally, then submit it for review straight from the runner — it sends the pack to Future Union for a human to check, and nothing becomes public without that review. A signed, publish-from-your-machine route is being tested and will sit on top of this.",
        "tags": [
          "receipts",
          "housing"
        ],
        "columnTitle": "Open now",
        "columnDescription": "Low-friction work people can actually do this week.",
        "parentMissionSlug": "receipts-desk",
        "parentMissionTitle": "Check the claims",
        "parentMissionStatus": "Pilot",
        "parentMissionProgress": "Seed standards live",
        "parentMissionProgressPercent": 45,
        "parentMissionHref": "/missions/receipts-desk/",
        "status": "open-now",
        "priorityRank": 8,
        "outputType": "Evidence pack",
        "reviewPolicy": "Human review is mandatory before any submitted evidence pack becomes a public claim, contact action, campaign asset, dataset, or policy position.",
        "packetTemplateUrl": "/agent-pack/mission-packet-template.md",
        "issueTemplateUrl": "/agent-pack/github-issue-template.md",
        "apiHref": "/api/actions/planning-blockers-sprint.json",
        "workstream": "Check the claims",
        "definitionOfDone": "A reviewer can verify the output against this bar: Every example has a public source link, named place, delay/blocker type, and one sentence explaining why it matters.",
        "reviewQuestions": [
          "Does the output meet the definition of done?",
          "Are the sources public, narrow, and caveated enough to trust?",
          "Should this be accepted as current best, sent for another pass, or used to spawn next work?"
        ],
        "spawnRules": [
          "If the output exposes a useful unresolved gap, turn that gap into one narrower follow-up action.",
          "If the score is high but the output is still not decision-useful, expand the test rather than polishing the same draft."
        ],
        "outcomeStatus": "in-progress",
        "outcomeSummary": "No accepted outcome yet. A useful output still needs review.",
        "detailHref": "/control-room/actions/planning-blockers-sprint/",
        "runnerDirectory": "future-union-mission-planning-blockers-sprint",
        "runnerCommand": "curl -fsS https://www.futureunion.org.uk/agent-pack/fu-runner.sh -o fucr && FU_BASE_URL=https://www.futureunion.org.uk sh fucr mission planning-blockers-sprint",
        "runnerScriptUrl": "/agent-pack/fu-runner.sh",
        "runnerPack": {
          "base": "/agent-pack/actions/planning-blockers-sprint/",
          "readme": "/agent-pack/actions/planning-blockers-sprint/README.md",
          "mission": "/agent-pack/actions/planning-blockers-sprint/MISSION.md",
          "prompt": "/agent-pack/actions/planning-blockers-sprint/PROMPT.md",
          "packet": "/agent-pack/actions/planning-blockers-sprint/PACKET.md",
          "outcome": "/agent-pack/actions/planning-blockers-sprint/OUTCOME.md",
          "nextWork": "/agent-pack/actions/planning-blockers-sprint/NEXT_WORK.md",
          "review": "/agent-pack/actions/planning-blockers-sprint/REVIEW.md",
          "sources": "/agent-pack/actions/planning-blockers-sprint/SOURCES.csv",
          "contribution": "/agent-pack/actions/planning-blockers-sprint/CONTRIBUTION.md",
          "credit": "/agent-pack/actions/planning-blockers-sprint/CREDIT.md",
          "intakeIdea": "/agent-pack/actions/planning-blockers-sprint/INTAKE_IDEA.md",
          "actionProposal": "/agent-pack/actions/planning-blockers-sprint/ACTION_PROPOSAL.md",
          "submit": "/agent-pack/actions/planning-blockers-sprint/SUBMIT.md",
          "context": "/agent-pack/actions/planning-blockers-sprint/context.json",
          "missionContext": "/agent-pack/actions/planning-blockers-sprint/mission.json",
          "skill": "/agent-pack/actions/planning-blockers-sprint/SKILL.md"
        },
        "localSkillPath": ".agents/skills/future-union/SKILL.md",
        "helperCommandPath": "./bin/fu-mission",
        "isProposalAction": false,
        "contributionStats": {
          "reviewedPackets": 1,
          "pendingPackets": 0,
          "activeClaims": 0,
          "radiclePatches": 0,
          "creditedContributors": 1,
          "latestReviewedAt": "2026-04-20",
          "activityLabel": "1 reviewed output"
        },
        "submitIssueUrl": ""
      },
      {
        "slug": "receipts-desk",
        "missionSlug": "receipts-desk",
        "title": "Receipts desk",
        "summary": "Document and FOI-heavy pressure work that turns bureaucracy into something the public can actually inspect.",
        "meta": "ops + compute",
        "progress": "Pilot",
        "progressPercent": 40,
        "mission": "Turn one messy public document trail into a clean receipt card and publishable explanation.",
        "why": "Politics with receipts needs a repeatable desk, not heroic one-off thread archaeology.",
        "timeNeeded": "90-180 minutes",
        "inputs": "FOI responses, council papers, PDFs, meeting minutes, public datasets.",
        "outputFormat": "Receipt draft with claim, value if any, source, checked date, caveats, and why it matters.",
        "acceptanceCriteria": "Claim is narrow, source is public, uncertainty is named, and legal or personal-data risk is flagged before use.",
        "submitRoute": "Finish the evidence pack locally, then submit it for review straight from the runner — it sends the pack to Future Union for a human to check, and nothing becomes public without that review. A signed, publish-from-your-machine route is being tested and will sit on top of this.",
        "tags": [
          "foi",
          "osint"
        ],
        "columnTitle": "Needs backing",
        "columnDescription": "Things that need money, compute, or outside expertise.",
        "parentMissionSlug": "receipts-desk",
        "parentMissionTitle": "Check the claims",
        "parentMissionStatus": "Pilot",
        "parentMissionProgress": "Seed standards live",
        "parentMissionProgressPercent": 45,
        "parentMissionHref": "/missions/receipts-desk/",
        "status": "needs-backing",
        "priorityRank": 4,
        "outputType": "Receipt draft",
        "reviewPolicy": "Human review is mandatory before any submitted evidence pack becomes a public claim, contact action, campaign asset, dataset, or policy position.",
        "packetTemplateUrl": "/agent-pack/mission-packet-template.md",
        "issueTemplateUrl": "/agent-pack/github-issue-template.md",
        "apiHref": "/api/actions/receipts-desk.json",
        "workstream": "Check the claims",
        "definitionOfDone": "A reviewer can verify the output against this bar: Claim is narrow, source is public, uncertainty is named, and legal or personal-data risk is flagged before use.",
        "reviewQuestions": [
          "Does the output meet the definition of done?",
          "Are the sources public, narrow, and caveated enough to trust?",
          "Should this be accepted as current best, sent for another pass, or used to spawn next work?"
        ],
        "spawnRules": [
          "If the output exposes a useful unresolved gap, turn that gap into one narrower follow-up action.",
          "If the score is high but the output is still not decision-useful, expand the test rather than polishing the same draft."
        ],
        "outcomeStatus": "in-progress",
        "outcomeSummary": "No accepted outcome yet. A useful output still needs review.",
        "detailHref": "/control-room/actions/receipts-desk/",
        "runnerDirectory": "future-union-mission-receipts-desk",
        "runnerCommand": "curl -fsS https://www.futureunion.org.uk/agent-pack/fu-runner.sh -o fucr && FU_BASE_URL=https://www.futureunion.org.uk sh fucr mission receipts-desk",
        "runnerScriptUrl": "/agent-pack/fu-runner.sh",
        "runnerPack": {
          "base": "/agent-pack/actions/receipts-desk/",
          "readme": "/agent-pack/actions/receipts-desk/README.md",
          "mission": "/agent-pack/actions/receipts-desk/MISSION.md",
          "prompt": "/agent-pack/actions/receipts-desk/PROMPT.md",
          "packet": "/agent-pack/actions/receipts-desk/PACKET.md",
          "outcome": "/agent-pack/actions/receipts-desk/OUTCOME.md",
          "nextWork": "/agent-pack/actions/receipts-desk/NEXT_WORK.md",
          "review": "/agent-pack/actions/receipts-desk/REVIEW.md",
          "sources": "/agent-pack/actions/receipts-desk/SOURCES.csv",
          "contribution": "/agent-pack/actions/receipts-desk/CONTRIBUTION.md",
          "credit": "/agent-pack/actions/receipts-desk/CREDIT.md",
          "intakeIdea": "/agent-pack/actions/receipts-desk/INTAKE_IDEA.md",
          "actionProposal": "/agent-pack/actions/receipts-desk/ACTION_PROPOSAL.md",
          "submit": "/agent-pack/actions/receipts-desk/SUBMIT.md",
          "context": "/agent-pack/actions/receipts-desk/context.json",
          "missionContext": "/agent-pack/actions/receipts-desk/mission.json",
          "skill": "/agent-pack/actions/receipts-desk/SKILL.md"
        },
        "localSkillPath": ".agents/skills/future-union/SKILL.md",
        "helperCommandPath": "./bin/fu-mission",
        "isProposalAction": false,
        "contributionStats": {
          "reviewedPackets": 0,
          "pendingPackets": 0,
          "activeClaims": 0,
          "radiclePatches": 0,
          "creditedContributors": 0,
          "latestReviewedAt": "",
          "activityLabel": "Needs first output"
        },
        "submitIssueUrl": ""
      }
    ],
    "liveActions": [
      {
        "slug": "planning-blockers-sprint",
        "missionSlug": "receipts-desk",
        "title": "Planning blockers sprint",
        "summary": "Pull ten examples of documented local planning delay with a clean source trail.",
        "meta": "research sprint · 90 mins",
        "progress": "Ready to run",
        "progressPercent": 15,
        "mission": "Find examples where planning delay, appeal, process churn, or local veto politics obviously blocked useful building.",
        "why": "This gives Future Union raw material for the Growth Index, Builder Files, and local pressure kits.",
        "timeNeeded": "90 minutes",
        "inputs": "Council pages, planning portals, local press, inspectorate decisions, screenshots, public links.",
        "outputFormat": "Markdown evidence pack with ten examples, one paragraph each, source links, and confidence notes.",
        "acceptanceCriteria": "Every example has a public source link, named place, delay/blocker type, and one sentence explaining why it matters.",
        "submitRoute": "Finish the evidence pack locally, then submit it for review straight from the runner — it sends the pack to Future Union for a human to check, and nothing becomes public without that review. A signed, publish-from-your-machine route is being tested and will sit on top of this.",
        "tags": [
          "receipts",
          "housing"
        ],
        "columnTitle": "Open now",
        "columnDescription": "Low-friction work people can actually do this week.",
        "parentMissionSlug": "receipts-desk",
        "parentMissionTitle": "Check the claims",
        "parentMissionStatus": "Pilot",
        "parentMissionProgress": "Seed standards live",
        "parentMissionProgressPercent": 45,
        "parentMissionHref": "/missions/receipts-desk/",
        "status": "open-now",
        "priorityRank": 8,
        "outputType": "Evidence pack",
        "reviewPolicy": "Human review is mandatory before any submitted evidence pack becomes a public claim, contact action, campaign asset, dataset, or policy position.",
        "packetTemplateUrl": "/agent-pack/mission-packet-template.md",
        "issueTemplateUrl": "/agent-pack/github-issue-template.md",
        "apiHref": "/api/actions/planning-blockers-sprint.json",
        "workstream": "Check the claims",
        "definitionOfDone": "A reviewer can verify the output against this bar: Every example has a public source link, named place, delay/blocker type, and one sentence explaining why it matters.",
        "reviewQuestions": [
          "Does the output meet the definition of done?",
          "Are the sources public, narrow, and caveated enough to trust?",
          "Should this be accepted as current best, sent for another pass, or used to spawn next work?"
        ],
        "spawnRules": [
          "If the output exposes a useful unresolved gap, turn that gap into one narrower follow-up action.",
          "If the score is high but the output is still not decision-useful, expand the test rather than polishing the same draft."
        ],
        "outcomeStatus": "in-progress",
        "outcomeSummary": "No accepted outcome yet. A useful output still needs review.",
        "detailHref": "/control-room/actions/planning-blockers-sprint/",
        "runnerDirectory": "future-union-mission-planning-blockers-sprint",
        "runnerCommand": "curl -fsS https://www.futureunion.org.uk/agent-pack/fu-runner.sh -o fucr && FU_BASE_URL=https://www.futureunion.org.uk sh fucr mission planning-blockers-sprint",
        "runnerScriptUrl": "/agent-pack/fu-runner.sh",
        "runnerPack": {
          "base": "/agent-pack/actions/planning-blockers-sprint/",
          "readme": "/agent-pack/actions/planning-blockers-sprint/README.md",
          "mission": "/agent-pack/actions/planning-blockers-sprint/MISSION.md",
          "prompt": "/agent-pack/actions/planning-blockers-sprint/PROMPT.md",
          "packet": "/agent-pack/actions/planning-blockers-sprint/PACKET.md",
          "outcome": "/agent-pack/actions/planning-blockers-sprint/OUTCOME.md",
          "nextWork": "/agent-pack/actions/planning-blockers-sprint/NEXT_WORK.md",
          "review": "/agent-pack/actions/planning-blockers-sprint/REVIEW.md",
          "sources": "/agent-pack/actions/planning-blockers-sprint/SOURCES.csv",
          "contribution": "/agent-pack/actions/planning-blockers-sprint/CONTRIBUTION.md",
          "credit": "/agent-pack/actions/planning-blockers-sprint/CREDIT.md",
          "intakeIdea": "/agent-pack/actions/planning-blockers-sprint/INTAKE_IDEA.md",
          "actionProposal": "/agent-pack/actions/planning-blockers-sprint/ACTION_PROPOSAL.md",
          "submit": "/agent-pack/actions/planning-blockers-sprint/SUBMIT.md",
          "context": "/agent-pack/actions/planning-blockers-sprint/context.json",
          "missionContext": "/agent-pack/actions/planning-blockers-sprint/mission.json",
          "skill": "/agent-pack/actions/planning-blockers-sprint/SKILL.md"
        },
        "localSkillPath": ".agents/skills/future-union/SKILL.md",
        "helperCommandPath": "./bin/fu-mission",
        "isProposalAction": false,
        "contributionStats": {
          "reviewedPackets": 1,
          "pendingPackets": 0,
          "activeClaims": 0,
          "radiclePatches": 0,
          "creditedContributors": 1,
          "latestReviewedAt": "2026-04-20",
          "activityLabel": "1 reviewed output"
        },
        "submitIssueUrl": ""
      },
      {
        "slug": "receipts-desk",
        "missionSlug": "receipts-desk",
        "title": "Receipts desk",
        "summary": "Document and FOI-heavy pressure work that turns bureaucracy into something the public can actually inspect.",
        "meta": "ops + compute",
        "progress": "Pilot",
        "progressPercent": 40,
        "mission": "Turn one messy public document trail into a clean receipt card and publishable explanation.",
        "why": "Politics with receipts needs a repeatable desk, not heroic one-off thread archaeology.",
        "timeNeeded": "90-180 minutes",
        "inputs": "FOI responses, council papers, PDFs, meeting minutes, public datasets.",
        "outputFormat": "Receipt draft with claim, value if any, source, checked date, caveats, and why it matters.",
        "acceptanceCriteria": "Claim is narrow, source is public, uncertainty is named, and legal or personal-data risk is flagged before use.",
        "submitRoute": "Finish the evidence pack locally, then submit it for review straight from the runner — it sends the pack to Future Union for a human to check, and nothing becomes public without that review. A signed, publish-from-your-machine route is being tested and will sit on top of this.",
        "tags": [
          "foi",
          "osint"
        ],
        "columnTitle": "Needs backing",
        "columnDescription": "Things that need money, compute, or outside expertise.",
        "parentMissionSlug": "receipts-desk",
        "parentMissionTitle": "Check the claims",
        "parentMissionStatus": "Pilot",
        "parentMissionProgress": "Seed standards live",
        "parentMissionProgressPercent": 45,
        "parentMissionHref": "/missions/receipts-desk/",
        "status": "needs-backing",
        "priorityRank": 4,
        "outputType": "Receipt draft",
        "reviewPolicy": "Human review is mandatory before any submitted evidence pack becomes a public claim, contact action, campaign asset, dataset, or policy position.",
        "packetTemplateUrl": "/agent-pack/mission-packet-template.md",
        "issueTemplateUrl": "/agent-pack/github-issue-template.md",
        "apiHref": "/api/actions/receipts-desk.json",
        "workstream": "Check the claims",
        "definitionOfDone": "A reviewer can verify the output against this bar: Claim is narrow, source is public, uncertainty is named, and legal or personal-data risk is flagged before use.",
        "reviewQuestions": [
          "Does the output meet the definition of done?",
          "Are the sources public, narrow, and caveated enough to trust?",
          "Should this be accepted as current best, sent for another pass, or used to spawn next work?"
        ],
        "spawnRules": [
          "If the output exposes a useful unresolved gap, turn that gap into one narrower follow-up action.",
          "If the score is high but the output is still not decision-useful, expand the test rather than polishing the same draft."
        ],
        "outcomeStatus": "in-progress",
        "outcomeSummary": "No accepted outcome yet. A useful output still needs review.",
        "detailHref": "/control-room/actions/receipts-desk/",
        "runnerDirectory": "future-union-mission-receipts-desk",
        "runnerCommand": "curl -fsS https://www.futureunion.org.uk/agent-pack/fu-runner.sh -o fucr && FU_BASE_URL=https://www.futureunion.org.uk sh fucr mission receipts-desk",
        "runnerScriptUrl": "/agent-pack/fu-runner.sh",
        "runnerPack": {
          "base": "/agent-pack/actions/receipts-desk/",
          "readme": "/agent-pack/actions/receipts-desk/README.md",
          "mission": "/agent-pack/actions/receipts-desk/MISSION.md",
          "prompt": "/agent-pack/actions/receipts-desk/PROMPT.md",
          "packet": "/agent-pack/actions/receipts-desk/PACKET.md",
          "outcome": "/agent-pack/actions/receipts-desk/OUTCOME.md",
          "nextWork": "/agent-pack/actions/receipts-desk/NEXT_WORK.md",
          "review": "/agent-pack/actions/receipts-desk/REVIEW.md",
          "sources": "/agent-pack/actions/receipts-desk/SOURCES.csv",
          "contribution": "/agent-pack/actions/receipts-desk/CONTRIBUTION.md",
          "credit": "/agent-pack/actions/receipts-desk/CREDIT.md",
          "intakeIdea": "/agent-pack/actions/receipts-desk/INTAKE_IDEA.md",
          "actionProposal": "/agent-pack/actions/receipts-desk/ACTION_PROPOSAL.md",
          "submit": "/agent-pack/actions/receipts-desk/SUBMIT.md",
          "context": "/agent-pack/actions/receipts-desk/context.json",
          "missionContext": "/agent-pack/actions/receipts-desk/mission.json",
          "skill": "/agent-pack/actions/receipts-desk/SKILL.md"
        },
        "localSkillPath": ".agents/skills/future-union/SKILL.md",
        "helperCommandPath": "./bin/fu-mission",
        "isProposalAction": false,
        "contributionStats": {
          "reviewedPackets": 0,
          "pendingPackets": 0,
          "activeClaims": 0,
          "radiclePatches": 0,
          "creditedContributors": 0,
          "latestReviewedAt": "",
          "activityLabel": "Needs first output"
        },
        "submitIssueUrl": ""
      }
    ],
    "shippedActions": [],
    "starterAction": {
      "slug": "planning-blockers-sprint",
      "missionSlug": "receipts-desk",
      "title": "Planning blockers sprint",
      "summary": "Pull ten examples of documented local planning delay with a clean source trail.",
      "meta": "research sprint · 90 mins",
      "progress": "Ready to run",
      "progressPercent": 15,
      "mission": "Find examples where planning delay, appeal, process churn, or local veto politics obviously blocked useful building.",
      "why": "This gives Future Union raw material for the Growth Index, Builder Files, and local pressure kits.",
      "timeNeeded": "90 minutes",
      "inputs": "Council pages, planning portals, local press, inspectorate decisions, screenshots, public links.",
      "outputFormat": "Markdown evidence pack with ten examples, one paragraph each, source links, and confidence notes.",
      "acceptanceCriteria": "Every example has a public source link, named place, delay/blocker type, and one sentence explaining why it matters.",
      "submitRoute": "Finish the evidence pack locally, then submit it for review straight from the runner — it sends the pack to Future Union for a human to check, and nothing becomes public without that review. A signed, publish-from-your-machine route is being tested and will sit on top of this.",
      "tags": [
        "receipts",
        "housing"
      ],
      "columnTitle": "Open now",
      "columnDescription": "Low-friction work people can actually do this week.",
      "parentMissionSlug": "receipts-desk",
      "parentMissionTitle": "Check the claims",
      "parentMissionStatus": "Pilot",
      "parentMissionProgress": "Seed standards live",
      "parentMissionProgressPercent": 45,
      "parentMissionHref": "/missions/receipts-desk/",
      "status": "open-now",
      "priorityRank": 8,
      "outputType": "Evidence pack",
      "reviewPolicy": "Human review is mandatory before any submitted evidence pack becomes a public claim, contact action, campaign asset, dataset, or policy position.",
      "packetTemplateUrl": "/agent-pack/mission-packet-template.md",
      "issueTemplateUrl": "/agent-pack/github-issue-template.md",
      "apiHref": "/api/actions/planning-blockers-sprint.json",
      "workstream": "Check the claims",
      "definitionOfDone": "A reviewer can verify the output against this bar: Every example has a public source link, named place, delay/blocker type, and one sentence explaining why it matters.",
      "reviewQuestions": [
        "Does the output meet the definition of done?",
        "Are the sources public, narrow, and caveated enough to trust?",
        "Should this be accepted as current best, sent for another pass, or used to spawn next work?"
      ],
      "spawnRules": [
        "If the output exposes a useful unresolved gap, turn that gap into one narrower follow-up action.",
        "If the score is high but the output is still not decision-useful, expand the test rather than polishing the same draft."
      ],
      "outcomeStatus": "in-progress",
      "outcomeSummary": "No accepted outcome yet. A useful output still needs review.",
      "detailHref": "/control-room/actions/planning-blockers-sprint/",
      "runnerDirectory": "future-union-mission-planning-blockers-sprint",
      "runnerCommand": "curl -fsS https://www.futureunion.org.uk/agent-pack/fu-runner.sh -o fucr && FU_BASE_URL=https://www.futureunion.org.uk sh fucr mission planning-blockers-sprint",
      "runnerScriptUrl": "/agent-pack/fu-runner.sh",
      "runnerPack": {
        "base": "/agent-pack/actions/planning-blockers-sprint/",
        "readme": "/agent-pack/actions/planning-blockers-sprint/README.md",
        "mission": "/agent-pack/actions/planning-blockers-sprint/MISSION.md",
        "prompt": "/agent-pack/actions/planning-blockers-sprint/PROMPT.md",
        "packet": "/agent-pack/actions/planning-blockers-sprint/PACKET.md",
        "outcome": "/agent-pack/actions/planning-blockers-sprint/OUTCOME.md",
        "nextWork": "/agent-pack/actions/planning-blockers-sprint/NEXT_WORK.md",
        "review": "/agent-pack/actions/planning-blockers-sprint/REVIEW.md",
        "sources": "/agent-pack/actions/planning-blockers-sprint/SOURCES.csv",
        "contribution": "/agent-pack/actions/planning-blockers-sprint/CONTRIBUTION.md",
        "credit": "/agent-pack/actions/planning-blockers-sprint/CREDIT.md",
        "intakeIdea": "/agent-pack/actions/planning-blockers-sprint/INTAKE_IDEA.md",
        "actionProposal": "/agent-pack/actions/planning-blockers-sprint/ACTION_PROPOSAL.md",
        "submit": "/agent-pack/actions/planning-blockers-sprint/SUBMIT.md",
        "context": "/agent-pack/actions/planning-blockers-sprint/context.json",
        "missionContext": "/agent-pack/actions/planning-blockers-sprint/mission.json",
        "skill": "/agent-pack/actions/planning-blockers-sprint/SKILL.md"
      },
      "localSkillPath": ".agents/skills/future-union/SKILL.md",
      "helperCommandPath": "./bin/fu-mission",
      "isProposalAction": false,
      "contributionStats": {
        "reviewedPackets": 1,
        "pendingPackets": 0,
        "activeClaims": 0,
        "radiclePatches": 0,
        "creditedContributors": 1,
        "latestReviewedAt": "2026-04-20",
        "activityLabel": "1 reviewed output"
      },
      "submitIssueUrl": ""
    },
    "contributionStats": {
      "reviewedPackets": 2,
      "pendingPackets": 0,
      "activeClaims": 0,
      "radiclePatches": 0,
      "creditedContributors": 1,
      "latestReviewedAt": "2026-04-20",
      "activityLabel": "2 reviewed outputs"
    },
    "actionCount": 2,
    "liveActionCount": 2,
    "shippedActionCount": 0,
    "outcomeStatus": "accepted-current-best",
    "completionStandard": "A mission advances when one or more bounded outputs are reviewed, accepted as current best, and converted into public knowledge or sharper next work.",
    "currentBest": "Reviewed outputs define the current best version of this mission.",
    "openQuestions": [
      "What evidence pack would most reduce uncertainty next?",
      "What stronger test should replace any saturated score?"
    ],
    "workstreams": [
      {
        "title": "Planning blockers sprint",
        "doneWhen": "A reviewer can verify the output against this bar: Every example has a public source link, named place, delay/blocker type, and one sentence explaining why it matters.",
        "status": "in-progress"
      },
      {
        "title": "Receipts desk",
        "doneWhen": "A reviewer can verify the output against this bar: Claim is narrow, source is public, uncertainty is named, and legal or personal-data risk is flagged before use.",
        "status": "in-progress"
      }
    ],
    "detailHref": "/missions/receipts-desk/",
    "packetTemplateUrl": "/agent-pack/mission-packet-template.md",
    "issueTemplateUrl": "/agent-pack/github-issue-template.md",
    "reviewPolicy": "Human review is mandatory before any submitted evidence pack becomes a public claim, contact action, campaign asset, dataset, or policy position.",
    "computeDisclosureFields": [
      "Agent or tool used",
      "Model if known",
      "Approximate tokens or runtime if available",
      "Human edits made",
      "Sources checked"
    ],
    "submitIssueUrl": "",
    "liveProgress": {
      "slug": "receipts-desk",
      "title": "Check the claims",
      "kind": "mission",
      "activeClaims": 3,
      "pendingPackets": 0,
      "reviewedPackets": 2,
      "usedOutputs": 2,
      "creditedContributors": 1,
      "radicleRefs": 0,
      "bestPendingScore": null,
      "bestReviewedScore": null,
      "latestPacketAt": "2026-04-25",
      "latestReviewedAt": "2026-04-20",
      "latestAcceptedAt": "2026-04-20",
      "latestAcceptedHref": "/receipts/",
      "outcomeStatus": "accepted-current-best",
      "currentBestSummary": "Use this as the QA bar for future Growth Index and Builder Files submissions.",
      "currentLabel": "3 active runs",
      "outcomeLabel": "2 accepted outputs",
      "reviewStateLabel": "Accepted current best",
      "scoreLabel": "No review score yet",
      "nextGapLabel": "Review can now spawn the next harder action."
    }
  },
  {
    "slug": "growth-index",
    "title": "Build the Growth Index",
    "status": "Method",
    "progress": "Scoring model drafted",
    "progressPercent": 35,
    "difficulty": "Hard",
    "timeEstimate": "2 hours per source pass",
    "summary": "The flagship data product: build the source trail for comparing whether places make growth easier or harder, then turn the evidence into pressure, stories, and local action.",
    "outcomeStatus": "in-progress",
    "completionStandard": "Growth Index is only meaningfully complete when reviewed outputs produce a transparent method, a pilot dataset, caveat trail, and public explanation strong enough that a sceptical reader can inspect the score.",
    "currentBest": "Current best is a method/source-pass direction, not a council ranking. Local 100% review scores mean the current evidence rubric is satisfied, not that the Growth Index is finished.",
    "openQuestions": [
      "Which England council pilot set proves the method without pretending national coverage is ready?",
      "How should devolved-nation planning sources be harmonised before UK-wide claims?",
      "Can NESO grid data be geocoded and deduped cleanly enough for place-level pressure?",
      "What Infrastructure Funding Statement sample is enough to test public usefulness?",
      "Which business-demography fields add signal without rewarding churn or startup theatre?"
    ],
    "workstreams": [
      {
        "title": "Method and caveats",
        "doneWhen": "A reviewed output names the first scoring method, public caveats, and what the index must not claim yet.",
        "status": "in-progress"
      },
      {
        "title": "Pilot council table",
        "doneWhen": "A 5-10 council pilot table exists with sources, caveats, and a reviewer decision on public usability.",
        "status": "not-started"
      },
      {
        "title": "Source harmonisation",
        "doneWhen": "England, Scotland, Wales, and Northern Ireland source differences are mapped without fake comparability.",
        "status": "not-started"
      },
      {
        "title": "Grid and infrastructure signals",
        "doneWhen": "NESO/grid and Infrastructure Funding Statement signals are tested for place-level usefulness and error risk.",
        "status": "not-started"
      }
    ],
    "agentRole": "Source feasible public data, test scoring assumptions, find caveats, and prepare transparent method notes.",
    "humanRole": "Choose the weighting, approve caveats, manage public claims, and decide when rankings are ready to publish.",
    "backing": "Needs data-source selection, method review, ground-truth submissions, and press packaging.",
    "agentPrompt": "Pressure-test one Growth Index input. Find public data sources, update cadence, limitations, geographic coverage, and how it could be explained to a normal voter. Return a method note with caveats and recommended next collection step.",
    "deliverableTemplate": "Input; candidate source; coverage; update cadence; known caveat; scoring implication; recommended next step.",
    "reviewChecklist": [
      "Every suggested data source is public and feasible.",
      "The caveats are plain enough for a sceptical reader.",
      "The output explains whether the data is ready for ranking or only exploration."
    ],
    "submitRoute": "Finish the evidence pack locally, then submit it for review straight from the runner — it sends the pack to Future Union for a human to check, and nothing becomes public without that review. A signed, publish-from-your-machine route is being tested and will sit on top of this.",
    "actions": [
      {
        "slug": "growth-index-v1",
        "missionSlug": "growth-index",
        "title": "Growth Index v1",
        "summary": "Define the first council-ranking method, data inputs, caveats, and press-friendly output format.",
        "meta": "product · in build",
        "progress": "Method design",
        "progressPercent": 35,
        "mission": "Pressure-test the five-input scoring model and identify the first three data sources worth collecting.",
        "why": "The Growth Index is only useful if its method survives contact with ugly local data.",
        "timeNeeded": "2 hours",
        "inputs": "Planning data, ONS housing data, grid/energy queues, business formation sources, local infrastructure reports.",
        "outputFormat": "Method note with recommended first data source per input and caveats.",
        "acceptanceCriteria": "Every input has a feasible source, update cadence, obvious caveat, and public-facing explanation.",
        "workstream": "Growth Index method",
        "definitionOfDone": "The output is complete only when it says which Growth Index inputs are ready for a pilot, which are not, what caveats block public ranking, and the next dataset action needed.",
        "reviewQuestions": [
          "Does this settle a source/method question, or only make the current rubric look good?",
          "Is the output ready to become part of the current Growth Index method, or should it spawn a narrower pilot/data action?",
          "What claim would be unsafe to make publicly from this output?"
        ],
        "spawnRules": [
          "If source feasibility is settled, spawn the smallest pilot dataset action.",
          "If a source family is still messy, spawn a source-harmonisation or manual QA action.",
          "If the score saturates, add a harder benchmark rather than treating the mission as complete."
        ],
        "submitRoute": "Finish the evidence pack locally, then submit it for review straight from the runner — it sends the pack to Future Union for a human to check, and nothing becomes public without that review. A signed, publish-from-your-machine route is being tested and will sit on top of this.",
        "tags": [
          "data",
          "signals"
        ],
        "columnTitle": "Building",
        "columnDescription": "Work in flight that should stay visible.",
        "parentMissionSlug": "growth-index",
        "parentMissionTitle": "Build the Growth Index",
        "parentMissionStatus": "Method",
        "parentMissionProgress": "Scoring model drafted",
        "parentMissionProgressPercent": 35,
        "parentMissionHref": "/missions/growth-index/",
        "status": "building",
        "priorityRank": 7,
        "outputType": "Method note",
        "reviewPolicy": "Human review is mandatory before any submitted evidence pack becomes a public claim, contact action, campaign asset, dataset, or policy position.",
        "packetTemplateUrl": "/agent-pack/mission-packet-template.md",
        "issueTemplateUrl": "/agent-pack/github-issue-template.md",
        "apiHref": "/api/actions/growth-index-v1.json",
        "outcomeStatus": "in-progress",
        "outcomeSummary": "No accepted outcome yet. A useful output still needs review.",
        "detailHref": "/control-room/actions/growth-index-v1/",
        "runnerDirectory": "future-union-mission-growth-index-v1",
        "runnerCommand": "curl -fsS https://www.futureunion.org.uk/agent-pack/fu-runner.sh -o fucr && FU_BASE_URL=https://www.futureunion.org.uk sh fucr mission growth-index-v1",
        "runnerScriptUrl": "/agent-pack/fu-runner.sh",
        "runnerPack": {
          "base": "/agent-pack/actions/growth-index-v1/",
          "readme": "/agent-pack/actions/growth-index-v1/README.md",
          "mission": "/agent-pack/actions/growth-index-v1/MISSION.md",
          "prompt": "/agent-pack/actions/growth-index-v1/PROMPT.md",
          "packet": "/agent-pack/actions/growth-index-v1/PACKET.md",
          "outcome": "/agent-pack/actions/growth-index-v1/OUTCOME.md",
          "nextWork": "/agent-pack/actions/growth-index-v1/NEXT_WORK.md",
          "review": "/agent-pack/actions/growth-index-v1/REVIEW.md",
          "sources": "/agent-pack/actions/growth-index-v1/SOURCES.csv",
          "contribution": "/agent-pack/actions/growth-index-v1/CONTRIBUTION.md",
          "credit": "/agent-pack/actions/growth-index-v1/CREDIT.md",
          "intakeIdea": "/agent-pack/actions/growth-index-v1/INTAKE_IDEA.md",
          "actionProposal": "/agent-pack/actions/growth-index-v1/ACTION_PROPOSAL.md",
          "submit": "/agent-pack/actions/growth-index-v1/SUBMIT.md",
          "context": "/agent-pack/actions/growth-index-v1/context.json",
          "missionContext": "/agent-pack/actions/growth-index-v1/mission.json",
          "skill": "/agent-pack/actions/growth-index-v1/SKILL.md"
        },
        "localSkillPath": ".agents/skills/future-union/SKILL.md",
        "helperCommandPath": "./bin/fu-mission",
        "isProposalAction": false,
        "contributionStats": {
          "reviewedPackets": 0,
          "pendingPackets": 0,
          "activeClaims": 0,
          "radiclePatches": 0,
          "creditedContributors": 0,
          "latestReviewedAt": "",
          "activityLabel": "Needs first output"
        },
        "submitIssueUrl": ""
      }
    ],
    "liveActions": [
      {
        "slug": "growth-index-v1",
        "missionSlug": "growth-index",
        "title": "Growth Index v1",
        "summary": "Define the first council-ranking method, data inputs, caveats, and press-friendly output format.",
        "meta": "product · in build",
        "progress": "Method design",
        "progressPercent": 35,
        "mission": "Pressure-test the five-input scoring model and identify the first three data sources worth collecting.",
        "why": "The Growth Index is only useful if its method survives contact with ugly local data.",
        "timeNeeded": "2 hours",
        "inputs": "Planning data, ONS housing data, grid/energy queues, business formation sources, local infrastructure reports.",
        "outputFormat": "Method note with recommended first data source per input and caveats.",
        "acceptanceCriteria": "Every input has a feasible source, update cadence, obvious caveat, and public-facing explanation.",
        "workstream": "Growth Index method",
        "definitionOfDone": "The output is complete only when it says which Growth Index inputs are ready for a pilot, which are not, what caveats block public ranking, and the next dataset action needed.",
        "reviewQuestions": [
          "Does this settle a source/method question, or only make the current rubric look good?",
          "Is the output ready to become part of the current Growth Index method, or should it spawn a narrower pilot/data action?",
          "What claim would be unsafe to make publicly from this output?"
        ],
        "spawnRules": [
          "If source feasibility is settled, spawn the smallest pilot dataset action.",
          "If a source family is still messy, spawn a source-harmonisation or manual QA action.",
          "If the score saturates, add a harder benchmark rather than treating the mission as complete."
        ],
        "submitRoute": "Finish the evidence pack locally, then submit it for review straight from the runner — it sends the pack to Future Union for a human to check, and nothing becomes public without that review. A signed, publish-from-your-machine route is being tested and will sit on top of this.",
        "tags": [
          "data",
          "signals"
        ],
        "columnTitle": "Building",
        "columnDescription": "Work in flight that should stay visible.",
        "parentMissionSlug": "growth-index",
        "parentMissionTitle": "Build the Growth Index",
        "parentMissionStatus": "Method",
        "parentMissionProgress": "Scoring model drafted",
        "parentMissionProgressPercent": 35,
        "parentMissionHref": "/missions/growth-index/",
        "status": "building",
        "priorityRank": 7,
        "outputType": "Method note",
        "reviewPolicy": "Human review is mandatory before any submitted evidence pack becomes a public claim, contact action, campaign asset, dataset, or policy position.",
        "packetTemplateUrl": "/agent-pack/mission-packet-template.md",
        "issueTemplateUrl": "/agent-pack/github-issue-template.md",
        "apiHref": "/api/actions/growth-index-v1.json",
        "outcomeStatus": "in-progress",
        "outcomeSummary": "No accepted outcome yet. A useful output still needs review.",
        "detailHref": "/control-room/actions/growth-index-v1/",
        "runnerDirectory": "future-union-mission-growth-index-v1",
        "runnerCommand": "curl -fsS https://www.futureunion.org.uk/agent-pack/fu-runner.sh -o fucr && FU_BASE_URL=https://www.futureunion.org.uk sh fucr mission growth-index-v1",
        "runnerScriptUrl": "/agent-pack/fu-runner.sh",
        "runnerPack": {
          "base": "/agent-pack/actions/growth-index-v1/",
          "readme": "/agent-pack/actions/growth-index-v1/README.md",
          "mission": "/agent-pack/actions/growth-index-v1/MISSION.md",
          "prompt": "/agent-pack/actions/growth-index-v1/PROMPT.md",
          "packet": "/agent-pack/actions/growth-index-v1/PACKET.md",
          "outcome": "/agent-pack/actions/growth-index-v1/OUTCOME.md",
          "nextWork": "/agent-pack/actions/growth-index-v1/NEXT_WORK.md",
          "review": "/agent-pack/actions/growth-index-v1/REVIEW.md",
          "sources": "/agent-pack/actions/growth-index-v1/SOURCES.csv",
          "contribution": "/agent-pack/actions/growth-index-v1/CONTRIBUTION.md",
          "credit": "/agent-pack/actions/growth-index-v1/CREDIT.md",
          "intakeIdea": "/agent-pack/actions/growth-index-v1/INTAKE_IDEA.md",
          "actionProposal": "/agent-pack/actions/growth-index-v1/ACTION_PROPOSAL.md",
          "submit": "/agent-pack/actions/growth-index-v1/SUBMIT.md",
          "context": "/agent-pack/actions/growth-index-v1/context.json",
          "missionContext": "/agent-pack/actions/growth-index-v1/mission.json",
          "skill": "/agent-pack/actions/growth-index-v1/SKILL.md"
        },
        "localSkillPath": ".agents/skills/future-union/SKILL.md",
        "helperCommandPath": "./bin/fu-mission",
        "isProposalAction": false,
        "contributionStats": {
          "reviewedPackets": 0,
          "pendingPackets": 0,
          "activeClaims": 0,
          "radiclePatches": 0,
          "creditedContributors": 0,
          "latestReviewedAt": "",
          "activityLabel": "Needs first output"
        },
        "submitIssueUrl": ""
      }
    ],
    "shippedActions": [],
    "starterAction": {
      "slug": "growth-index-v1",
      "missionSlug": "growth-index",
      "title": "Growth Index v1",
      "summary": "Define the first council-ranking method, data inputs, caveats, and press-friendly output format.",
      "meta": "product · in build",
      "progress": "Method design",
      "progressPercent": 35,
      "mission": "Pressure-test the five-input scoring model and identify the first three data sources worth collecting.",
      "why": "The Growth Index is only useful if its method survives contact with ugly local data.",
      "timeNeeded": "2 hours",
      "inputs": "Planning data, ONS housing data, grid/energy queues, business formation sources, local infrastructure reports.",
      "outputFormat": "Method note with recommended first data source per input and caveats.",
      "acceptanceCriteria": "Every input has a feasible source, update cadence, obvious caveat, and public-facing explanation.",
      "workstream": "Growth Index method",
      "definitionOfDone": "The output is complete only when it says which Growth Index inputs are ready for a pilot, which are not, what caveats block public ranking, and the next dataset action needed.",
      "reviewQuestions": [
        "Does this settle a source/method question, or only make the current rubric look good?",
        "Is the output ready to become part of the current Growth Index method, or should it spawn a narrower pilot/data action?",
        "What claim would be unsafe to make publicly from this output?"
      ],
      "spawnRules": [
        "If source feasibility is settled, spawn the smallest pilot dataset action.",
        "If a source family is still messy, spawn a source-harmonisation or manual QA action.",
        "If the score saturates, add a harder benchmark rather than treating the mission as complete."
      ],
      "submitRoute": "Finish the evidence pack locally, then submit it for review straight from the runner — it sends the pack to Future Union for a human to check, and nothing becomes public without that review. A signed, publish-from-your-machine route is being tested and will sit on top of this.",
      "tags": [
        "data",
        "signals"
      ],
      "columnTitle": "Building",
      "columnDescription": "Work in flight that should stay visible.",
      "parentMissionSlug": "growth-index",
      "parentMissionTitle": "Build the Growth Index",
      "parentMissionStatus": "Method",
      "parentMissionProgress": "Scoring model drafted",
      "parentMissionProgressPercent": 35,
      "parentMissionHref": "/missions/growth-index/",
      "status": "building",
      "priorityRank": 7,
      "outputType": "Method note",
      "reviewPolicy": "Human review is mandatory before any submitted evidence pack becomes a public claim, contact action, campaign asset, dataset, or policy position.",
      "packetTemplateUrl": "/agent-pack/mission-packet-template.md",
      "issueTemplateUrl": "/agent-pack/github-issue-template.md",
      "apiHref": "/api/actions/growth-index-v1.json",
      "outcomeStatus": "in-progress",
      "outcomeSummary": "No accepted outcome yet. A useful output still needs review.",
      "detailHref": "/control-room/actions/growth-index-v1/",
      "runnerDirectory": "future-union-mission-growth-index-v1",
      "runnerCommand": "curl -fsS https://www.futureunion.org.uk/agent-pack/fu-runner.sh -o fucr && FU_BASE_URL=https://www.futureunion.org.uk sh fucr mission growth-index-v1",
      "runnerScriptUrl": "/agent-pack/fu-runner.sh",
      "runnerPack": {
        "base": "/agent-pack/actions/growth-index-v1/",
        "readme": "/agent-pack/actions/growth-index-v1/README.md",
        "mission": "/agent-pack/actions/growth-index-v1/MISSION.md",
        "prompt": "/agent-pack/actions/growth-index-v1/PROMPT.md",
        "packet": "/agent-pack/actions/growth-index-v1/PACKET.md",
        "outcome": "/agent-pack/actions/growth-index-v1/OUTCOME.md",
        "nextWork": "/agent-pack/actions/growth-index-v1/NEXT_WORK.md",
        "review": "/agent-pack/actions/growth-index-v1/REVIEW.md",
        "sources": "/agent-pack/actions/growth-index-v1/SOURCES.csv",
        "contribution": "/agent-pack/actions/growth-index-v1/CONTRIBUTION.md",
        "credit": "/agent-pack/actions/growth-index-v1/CREDIT.md",
        "intakeIdea": "/agent-pack/actions/growth-index-v1/INTAKE_IDEA.md",
        "actionProposal": "/agent-pack/actions/growth-index-v1/ACTION_PROPOSAL.md",
        "submit": "/agent-pack/actions/growth-index-v1/SUBMIT.md",
        "context": "/agent-pack/actions/growth-index-v1/context.json",
        "missionContext": "/agent-pack/actions/growth-index-v1/mission.json",
        "skill": "/agent-pack/actions/growth-index-v1/SKILL.md"
      },
      "localSkillPath": ".agents/skills/future-union/SKILL.md",
      "helperCommandPath": "./bin/fu-mission",
      "isProposalAction": false,
      "contributionStats": {
        "reviewedPackets": 0,
        "pendingPackets": 0,
        "activeClaims": 0,
        "radiclePatches": 0,
        "creditedContributors": 0,
        "latestReviewedAt": "",
        "activityLabel": "Needs first output"
      },
      "submitIssueUrl": ""
    },
    "contributionStats": {
      "reviewedPackets": 0,
      "pendingPackets": 0,
      "activeClaims": 0,
      "radiclePatches": 0,
      "creditedContributors": 0,
      "latestReviewedAt": "",
      "activityLabel": "Needs first output"
    },
    "actionCount": 1,
    "liveActionCount": 1,
    "shippedActionCount": 0,
    "detailHref": "/missions/growth-index/",
    "packetTemplateUrl": "/agent-pack/mission-packet-template.md",
    "issueTemplateUrl": "/agent-pack/github-issue-template.md",
    "reviewPolicy": "Human review is mandatory before any submitted evidence pack becomes a public claim, contact action, campaign asset, dataset, or policy position.",
    "computeDisclosureFields": [
      "Agent or tool used",
      "Model if known",
      "Approximate tokens or runtime if available",
      "Human edits made",
      "Sources checked"
    ],
    "submitIssueUrl": "",
    "liveProgress": {
      "slug": "growth-index",
      "title": "Build the Growth Index",
      "kind": "mission",
      "activeClaims": 1,
      "pendingPackets": 1,
      "reviewedPackets": 0,
      "usedOutputs": 0,
      "creditedContributors": 0,
      "radicleRefs": 1,
      "bestPendingScore": 100,
      "bestReviewedScore": null,
      "latestPacketAt": "2026-04-29T15:21:06.000Z",
      "latestReviewedAt": "",
      "latestAcceptedAt": "",
      "latestAcceptedHref": "",
      "outcomeStatus": "packet-pending-review",
      "currentBestSummary": "",
      "currentLabel": "1 active run",
      "outcomeLabel": "Awaiting human review",
      "reviewStateLabel": "Evidence under review",
      "scoreLabel": "Best pending score 100/100, unreviewed",
      "nextGapLabel": "Human review decides accept, next pass, reject, or spawn."
    }
  },
  {
    "slug": "local-proof-map",
    "title": "Map local blockers",
    "status": "Open",
    "progress": "Intake shape live",
    "progressPercent": 25,
    "difficulty": "Easy",
    "timeEstimate": "30-60 minutes",
    "summary": "A local listening and issue-mapping mission so FU chooses places and pressure points from evidence, not vibes.",
    "agentRole": "Cluster issue submissions, identify repeated blockers, and turn local testimony into structured follow-up questions.",
    "humanRole": "Run conversations, judge credibility, protect privacy, and choose whether an issue becomes a local campaign.",
    "backing": "Needs interviews, local organisers, sign-up forms, and review standards.",
    "agentPrompt": "Given anonymised local issue notes, cluster them into themes, separate fact from opinion, flag evidence available, and suggest the next human follow-up question. Do not infer sensitive traits or expose personal details.",
    "deliverableTemplate": "Place; issue cluster; evidence available; people affected; confidence; follow-up question; possible FU action.",
    "reviewChecklist": [
      "The output protects personal details and does not overclaim local sentiment.",
      "Each issue separates facts, testimony, and interpretation.",
      "The next action is something a local organiser can actually do."
    ],
    "submitRoute": "Finish the evidence pack locally, then submit it for review straight from the runner — it sends the pack to Future Union for a human to check, and nothing becomes public without that review. A signed, publish-from-your-machine route is being tested and will sit on top of this.",
    "actions": [
      {
        "slug": "local-blocker",
        "missionSlug": "local-proof-map",
        "title": "Send one local blocker",
        "summary": "Submit one blocked project, broken process, or local bottleneck with the public link that proves the basic fact.",
        "meta": "local proof · 10 mins",
        "progress": "Open for ideas",
        "progressPercent": 10,
        "mission": "Capture one local blocker in a shape Future Union can verify before it becomes a public claim.",
        "why": "The machine needs raw local proof before it can map pressure points, source stories, or create useful local missions.",
        "timeNeeded": "10 minutes",
        "inputs": "Blocked thing, place, people affected, one public source link, and the next check someone should run.",
        "outputFormat": "A local blocker record ready for human review.",
        "acceptanceCriteria": "The submission names what is blocked, where it is, who is affected, and one public link that supports the basic fact.",
        "definitionOfDone": "The blocker is ready for review when it is narrow, source-linked, caveated, and does not expose private personal data.",
        "reviewQuestions": [
          "Does the public link support the basic fact?",
          "What should a reviewer check next?",
          "Should this become a receipt, Journal lead, Growth Index input, or local proof action?"
        ],
        "submitRoute": "Use the blocker form. Raw submissions are not public claims; human review decides what becomes public.",
        "tags": [
          "ideas",
          "local proof"
        ],
        "columnTitle": "New ideas",
        "columnDescription": "Ideas being shaped and checked before they become open work.",
        "parentMissionSlug": "local-proof-map",
        "parentMissionTitle": "Map local blockers",
        "parentMissionStatus": "Open",
        "parentMissionProgress": "Intake shape live",
        "parentMissionProgressPercent": 25,
        "parentMissionHref": "/missions/local-proof-map/",
        "status": "new-ideas",
        "priorityRank": 2,
        "outputType": "Issue map",
        "reviewPolicy": "Human review is mandatory before any submitted evidence pack becomes a public claim, contact action, campaign asset, dataset, or policy position.",
        "packetTemplateUrl": "/agent-pack/mission-packet-template.md",
        "issueTemplateUrl": "/agent-pack/github-issue-template.md",
        "apiHref": "/api/actions/local-blocker.json",
        "workstream": "Map local blockers",
        "spawnRules": [
          "If the output exposes a useful unresolved gap, turn that gap into one narrower follow-up action.",
          "If the score is high but the output is still not decision-useful, expand the test rather than polishing the same draft."
        ],
        "outcomeStatus": "in-progress",
        "outcomeSummary": "No accepted outcome yet. A useful output still needs review.",
        "detailHref": "/control-room/actions/local-blocker/",
        "runnerDirectory": "future-union-mission-local-blocker",
        "runnerCommand": "curl -fsS https://www.futureunion.org.uk/agent-pack/fu-runner.sh -o fucr && FU_BASE_URL=https://www.futureunion.org.uk sh fucr mission local-blocker",
        "runnerScriptUrl": "/agent-pack/fu-runner.sh",
        "runnerPack": {
          "base": "/agent-pack/actions/local-blocker/",
          "readme": "/agent-pack/actions/local-blocker/README.md",
          "mission": "/agent-pack/actions/local-blocker/MISSION.md",
          "prompt": "/agent-pack/actions/local-blocker/PROMPT.md",
          "packet": "/agent-pack/actions/local-blocker/PACKET.md",
          "outcome": "/agent-pack/actions/local-blocker/OUTCOME.md",
          "nextWork": "/agent-pack/actions/local-blocker/NEXT_WORK.md",
          "review": "/agent-pack/actions/local-blocker/REVIEW.md",
          "sources": "/agent-pack/actions/local-blocker/SOURCES.csv",
          "contribution": "/agent-pack/actions/local-blocker/CONTRIBUTION.md",
          "credit": "/agent-pack/actions/local-blocker/CREDIT.md",
          "intakeIdea": "/agent-pack/actions/local-blocker/INTAKE_IDEA.md",
          "actionProposal": "/agent-pack/actions/local-blocker/ACTION_PROPOSAL.md",
          "submit": "/agent-pack/actions/local-blocker/SUBMIT.md",
          "context": "/agent-pack/actions/local-blocker/context.json",
          "missionContext": "/agent-pack/actions/local-blocker/mission.json",
          "skill": "/agent-pack/actions/local-blocker/SKILL.md"
        },
        "localSkillPath": ".agents/skills/future-union/SKILL.md",
        "helperCommandPath": "./bin/fu-mission",
        "isProposalAction": false,
        "contributionStats": {
          "reviewedPackets": 0,
          "pendingPackets": 0,
          "activeClaims": 0,
          "radiclePatches": 0,
          "creditedContributors": 0,
          "latestReviewedAt": "",
          "activityLabel": "Needs first output"
        },
        "submitIssueUrl": ""
      },
      {
        "slug": "issue-map-intake",
        "missionSlug": "local-proof-map",
        "title": "Map local issues",
        "summary": "Collect the next hundred local complaints worth clustering into themes rather than hot takes.",
        "meta": "local proof · ongoing",
        "progress": "Open for ideas",
        "progressPercent": 20,
        "mission": "Interview or collect local issue submissions from people who are annoyed enough to be useful.",
        "why": "Future Union needs ground truth before choosing target places, local proof work, or future campaign routes.",
        "timeNeeded": "30-60 minutes",
        "inputs": "Five short calls, DMs, voice notes, emails, or street conversations.",
        "outputFormat": "A table with issue, place, person type, evidence available, and suggested follow-up.",
        "acceptanceCriteria": "Each row separates facts from opinion and flags whether a source, document, or named local witness exists.",
        "submitRoute": "Finish the evidence pack locally, then submit it for review straight from the runner — it sends the pack to Future Union for a human to check, and nothing becomes public without that review. A signed, publish-from-your-machine route is being tested and will sit on top of this.",
        "tags": [
          "listening",
          "local proof"
        ],
        "columnTitle": "Open now",
        "columnDescription": "Low-friction work people can actually do this week.",
        "parentMissionSlug": "local-proof-map",
        "parentMissionTitle": "Map local blockers",
        "parentMissionStatus": "Open",
        "parentMissionProgress": "Intake shape live",
        "parentMissionProgressPercent": 25,
        "parentMissionHref": "/missions/local-proof-map/",
        "status": "open-now",
        "priorityRank": 9,
        "outputType": "Issue map",
        "reviewPolicy": "Human review is mandatory before any submitted evidence pack becomes a public claim, contact action, campaign asset, dataset, or policy position.",
        "packetTemplateUrl": "/agent-pack/mission-packet-template.md",
        "issueTemplateUrl": "/agent-pack/github-issue-template.md",
        "apiHref": "/api/actions/issue-map-intake.json",
        "workstream": "Map local blockers",
        "definitionOfDone": "A reviewer can verify the output against this bar: Each row separates facts from opinion and flags whether a source, document, or named local witness exists.",
        "reviewQuestions": [
          "Does the output meet the definition of done?",
          "Are the sources public, narrow, and caveated enough to trust?",
          "Should this be accepted as current best, sent for another pass, or used to spawn next work?"
        ],
        "spawnRules": [
          "If the output exposes a useful unresolved gap, turn that gap into one narrower follow-up action.",
          "If the score is high but the output is still not decision-useful, expand the test rather than polishing the same draft."
        ],
        "outcomeStatus": "in-progress",
        "outcomeSummary": "No accepted outcome yet. A useful output still needs review.",
        "detailHref": "/control-room/actions/issue-map-intake/",
        "runnerDirectory": "future-union-mission-issue-map-intake",
        "runnerCommand": "curl -fsS https://www.futureunion.org.uk/agent-pack/fu-runner.sh -o fucr && FU_BASE_URL=https://www.futureunion.org.uk sh fucr mission issue-map-intake",
        "runnerScriptUrl": "/agent-pack/fu-runner.sh",
        "runnerPack": {
          "base": "/agent-pack/actions/issue-map-intake/",
          "readme": "/agent-pack/actions/issue-map-intake/README.md",
          "mission": "/agent-pack/actions/issue-map-intake/MISSION.md",
          "prompt": "/agent-pack/actions/issue-map-intake/PROMPT.md",
          "packet": "/agent-pack/actions/issue-map-intake/PACKET.md",
          "outcome": "/agent-pack/actions/issue-map-intake/OUTCOME.md",
          "nextWork": "/agent-pack/actions/issue-map-intake/NEXT_WORK.md",
          "review": "/agent-pack/actions/issue-map-intake/REVIEW.md",
          "sources": "/agent-pack/actions/issue-map-intake/SOURCES.csv",
          "contribution": "/agent-pack/actions/issue-map-intake/CONTRIBUTION.md",
          "credit": "/agent-pack/actions/issue-map-intake/CREDIT.md",
          "intakeIdea": "/agent-pack/actions/issue-map-intake/INTAKE_IDEA.md",
          "actionProposal": "/agent-pack/actions/issue-map-intake/ACTION_PROPOSAL.md",
          "submit": "/agent-pack/actions/issue-map-intake/SUBMIT.md",
          "context": "/agent-pack/actions/issue-map-intake/context.json",
          "missionContext": "/agent-pack/actions/issue-map-intake/mission.json",
          "skill": "/agent-pack/actions/issue-map-intake/SKILL.md"
        },
        "localSkillPath": ".agents/skills/future-union/SKILL.md",
        "helperCommandPath": "./bin/fu-mission",
        "isProposalAction": false,
        "contributionStats": {
          "reviewedPackets": 0,
          "pendingPackets": 0,
          "activeClaims": 0,
          "radiclePatches": 0,
          "creditedContributors": 0,
          "latestReviewedAt": "",
          "activityLabel": "Needs first output"
        },
        "submitIssueUrl": ""
      }
    ],
    "liveActions": [
      {
        "slug": "local-blocker",
        "missionSlug": "local-proof-map",
        "title": "Send one local blocker",
        "summary": "Submit one blocked project, broken process, or local bottleneck with the public link that proves the basic fact.",
        "meta": "local proof · 10 mins",
        "progress": "Open for ideas",
        "progressPercent": 10,
        "mission": "Capture one local blocker in a shape Future Union can verify before it becomes a public claim.",
        "why": "The machine needs raw local proof before it can map pressure points, source stories, or create useful local missions.",
        "timeNeeded": "10 minutes",
        "inputs": "Blocked thing, place, people affected, one public source link, and the next check someone should run.",
        "outputFormat": "A local blocker record ready for human review.",
        "acceptanceCriteria": "The submission names what is blocked, where it is, who is affected, and one public link that supports the basic fact.",
        "definitionOfDone": "The blocker is ready for review when it is narrow, source-linked, caveated, and does not expose private personal data.",
        "reviewQuestions": [
          "Does the public link support the basic fact?",
          "What should a reviewer check next?",
          "Should this become a receipt, Journal lead, Growth Index input, or local proof action?"
        ],
        "submitRoute": "Use the blocker form. Raw submissions are not public claims; human review decides what becomes public.",
        "tags": [
          "ideas",
          "local proof"
        ],
        "columnTitle": "New ideas",
        "columnDescription": "Ideas being shaped and checked before they become open work.",
        "parentMissionSlug": "local-proof-map",
        "parentMissionTitle": "Map local blockers",
        "parentMissionStatus": "Open",
        "parentMissionProgress": "Intake shape live",
        "parentMissionProgressPercent": 25,
        "parentMissionHref": "/missions/local-proof-map/",
        "status": "new-ideas",
        "priorityRank": 2,
        "outputType": "Issue map",
        "reviewPolicy": "Human review is mandatory before any submitted evidence pack becomes a public claim, contact action, campaign asset, dataset, or policy position.",
        "packetTemplateUrl": "/agent-pack/mission-packet-template.md",
        "issueTemplateUrl": "/agent-pack/github-issue-template.md",
        "apiHref": "/api/actions/local-blocker.json",
        "workstream": "Map local blockers",
        "spawnRules": [
          "If the output exposes a useful unresolved gap, turn that gap into one narrower follow-up action.",
          "If the score is high but the output is still not decision-useful, expand the test rather than polishing the same draft."
        ],
        "outcomeStatus": "in-progress",
        "outcomeSummary": "No accepted outcome yet. A useful output still needs review.",
        "detailHref": "/control-room/actions/local-blocker/",
        "runnerDirectory": "future-union-mission-local-blocker",
        "runnerCommand": "curl -fsS https://www.futureunion.org.uk/agent-pack/fu-runner.sh -o fucr && FU_BASE_URL=https://www.futureunion.org.uk sh fucr mission local-blocker",
        "runnerScriptUrl": "/agent-pack/fu-runner.sh",
        "runnerPack": {
          "base": "/agent-pack/actions/local-blocker/",
          "readme": "/agent-pack/actions/local-blocker/README.md",
          "mission": "/agent-pack/actions/local-blocker/MISSION.md",
          "prompt": "/agent-pack/actions/local-blocker/PROMPT.md",
          "packet": "/agent-pack/actions/local-blocker/PACKET.md",
          "outcome": "/agent-pack/actions/local-blocker/OUTCOME.md",
          "nextWork": "/agent-pack/actions/local-blocker/NEXT_WORK.md",
          "review": "/agent-pack/actions/local-blocker/REVIEW.md",
          "sources": "/agent-pack/actions/local-blocker/SOURCES.csv",
          "contribution": "/agent-pack/actions/local-blocker/CONTRIBUTION.md",
          "credit": "/agent-pack/actions/local-blocker/CREDIT.md",
          "intakeIdea": "/agent-pack/actions/local-blocker/INTAKE_IDEA.md",
          "actionProposal": "/agent-pack/actions/local-blocker/ACTION_PROPOSAL.md",
          "submit": "/agent-pack/actions/local-blocker/SUBMIT.md",
          "context": "/agent-pack/actions/local-blocker/context.json",
          "missionContext": "/agent-pack/actions/local-blocker/mission.json",
          "skill": "/agent-pack/actions/local-blocker/SKILL.md"
        },
        "localSkillPath": ".agents/skills/future-union/SKILL.md",
        "helperCommandPath": "./bin/fu-mission",
        "isProposalAction": false,
        "contributionStats": {
          "reviewedPackets": 0,
          "pendingPackets": 0,
          "activeClaims": 0,
          "radiclePatches": 0,
          "creditedContributors": 0,
          "latestReviewedAt": "",
          "activityLabel": "Needs first output"
        },
        "submitIssueUrl": ""
      },
      {
        "slug": "issue-map-intake",
        "missionSlug": "local-proof-map",
        "title": "Map local issues",
        "summary": "Collect the next hundred local complaints worth clustering into themes rather than hot takes.",
        "meta": "local proof · ongoing",
        "progress": "Open for ideas",
        "progressPercent": 20,
        "mission": "Interview or collect local issue submissions from people who are annoyed enough to be useful.",
        "why": "Future Union needs ground truth before choosing target places, local proof work, or future campaign routes.",
        "timeNeeded": "30-60 minutes",
        "inputs": "Five short calls, DMs, voice notes, emails, or street conversations.",
        "outputFormat": "A table with issue, place, person type, evidence available, and suggested follow-up.",
        "acceptanceCriteria": "Each row separates facts from opinion and flags whether a source, document, or named local witness exists.",
        "submitRoute": "Finish the evidence pack locally, then submit it for review straight from the runner — it sends the pack to Future Union for a human to check, and nothing becomes public without that review. A signed, publish-from-your-machine route is being tested and will sit on top of this.",
        "tags": [
          "listening",
          "local proof"
        ],
        "columnTitle": "Open now",
        "columnDescription": "Low-friction work people can actually do this week.",
        "parentMissionSlug": "local-proof-map",
        "parentMissionTitle": "Map local blockers",
        "parentMissionStatus": "Open",
        "parentMissionProgress": "Intake shape live",
        "parentMissionProgressPercent": 25,
        "parentMissionHref": "/missions/local-proof-map/",
        "status": "open-now",
        "priorityRank": 9,
        "outputType": "Issue map",
        "reviewPolicy": "Human review is mandatory before any submitted evidence pack becomes a public claim, contact action, campaign asset, dataset, or policy position.",
        "packetTemplateUrl": "/agent-pack/mission-packet-template.md",
        "issueTemplateUrl": "/agent-pack/github-issue-template.md",
        "apiHref": "/api/actions/issue-map-intake.json",
        "workstream": "Map local blockers",
        "definitionOfDone": "A reviewer can verify the output against this bar: Each row separates facts from opinion and flags whether a source, document, or named local witness exists.",
        "reviewQuestions": [
          "Does the output meet the definition of done?",
          "Are the sources public, narrow, and caveated enough to trust?",
          "Should this be accepted as current best, sent for another pass, or used to spawn next work?"
        ],
        "spawnRules": [
          "If the output exposes a useful unresolved gap, turn that gap into one narrower follow-up action.",
          "If the score is high but the output is still not decision-useful, expand the test rather than polishing the same draft."
        ],
        "outcomeStatus": "in-progress",
        "outcomeSummary": "No accepted outcome yet. A useful output still needs review.",
        "detailHref": "/control-room/actions/issue-map-intake/",
        "runnerDirectory": "future-union-mission-issue-map-intake",
        "runnerCommand": "curl -fsS https://www.futureunion.org.uk/agent-pack/fu-runner.sh -o fucr && FU_BASE_URL=https://www.futureunion.org.uk sh fucr mission issue-map-intake",
        "runnerScriptUrl": "/agent-pack/fu-runner.sh",
        "runnerPack": {
          "base": "/agent-pack/actions/issue-map-intake/",
          "readme": "/agent-pack/actions/issue-map-intake/README.md",
          "mission": "/agent-pack/actions/issue-map-intake/MISSION.md",
          "prompt": "/agent-pack/actions/issue-map-intake/PROMPT.md",
          "packet": "/agent-pack/actions/issue-map-intake/PACKET.md",
          "outcome": "/agent-pack/actions/issue-map-intake/OUTCOME.md",
          "nextWork": "/agent-pack/actions/issue-map-intake/NEXT_WORK.md",
          "review": "/agent-pack/actions/issue-map-intake/REVIEW.md",
          "sources": "/agent-pack/actions/issue-map-intake/SOURCES.csv",
          "contribution": "/agent-pack/actions/issue-map-intake/CONTRIBUTION.md",
          "credit": "/agent-pack/actions/issue-map-intake/CREDIT.md",
          "intakeIdea": "/agent-pack/actions/issue-map-intake/INTAKE_IDEA.md",
          "actionProposal": "/agent-pack/actions/issue-map-intake/ACTION_PROPOSAL.md",
          "submit": "/agent-pack/actions/issue-map-intake/SUBMIT.md",
          "context": "/agent-pack/actions/issue-map-intake/context.json",
          "missionContext": "/agent-pack/actions/issue-map-intake/mission.json",
          "skill": "/agent-pack/actions/issue-map-intake/SKILL.md"
        },
        "localSkillPath": ".agents/skills/future-union/SKILL.md",
        "helperCommandPath": "./bin/fu-mission",
        "isProposalAction": false,
        "contributionStats": {
          "reviewedPackets": 0,
          "pendingPackets": 0,
          "activeClaims": 0,
          "radiclePatches": 0,
          "creditedContributors": 0,
          "latestReviewedAt": "",
          "activityLabel": "Needs first output"
        },
        "submitIssueUrl": ""
      }
    ],
    "shippedActions": [],
    "starterAction": {
      "slug": "local-blocker",
      "missionSlug": "local-proof-map",
      "title": "Send one local blocker",
      "summary": "Submit one blocked project, broken process, or local bottleneck with the public link that proves the basic fact.",
      "meta": "local proof · 10 mins",
      "progress": "Open for ideas",
      "progressPercent": 10,
      "mission": "Capture one local blocker in a shape Future Union can verify before it becomes a public claim.",
      "why": "The machine needs raw local proof before it can map pressure points, source stories, or create useful local missions.",
      "timeNeeded": "10 minutes",
      "inputs": "Blocked thing, place, people affected, one public source link, and the next check someone should run.",
      "outputFormat": "A local blocker record ready for human review.",
      "acceptanceCriteria": "The submission names what is blocked, where it is, who is affected, and one public link that supports the basic fact.",
      "definitionOfDone": "The blocker is ready for review when it is narrow, source-linked, caveated, and does not expose private personal data.",
      "reviewQuestions": [
        "Does the public link support the basic fact?",
        "What should a reviewer check next?",
        "Should this become a receipt, Journal lead, Growth Index input, or local proof action?"
      ],
      "submitRoute": "Use the blocker form. Raw submissions are not public claims; human review decides what becomes public.",
      "tags": [
        "ideas",
        "local proof"
      ],
      "columnTitle": "New ideas",
      "columnDescription": "Ideas being shaped and checked before they become open work.",
      "parentMissionSlug": "local-proof-map",
      "parentMissionTitle": "Map local blockers",
      "parentMissionStatus": "Open",
      "parentMissionProgress": "Intake shape live",
      "parentMissionProgressPercent": 25,
      "parentMissionHref": "/missions/local-proof-map/",
      "status": "new-ideas",
      "priorityRank": 2,
      "outputType": "Issue map",
      "reviewPolicy": "Human review is mandatory before any submitted evidence pack becomes a public claim, contact action, campaign asset, dataset, or policy position.",
      "packetTemplateUrl": "/agent-pack/mission-packet-template.md",
      "issueTemplateUrl": "/agent-pack/github-issue-template.md",
      "apiHref": "/api/actions/local-blocker.json",
      "workstream": "Map local blockers",
      "spawnRules": [
        "If the output exposes a useful unresolved gap, turn that gap into one narrower follow-up action.",
        "If the score is high but the output is still not decision-useful, expand the test rather than polishing the same draft."
      ],
      "outcomeStatus": "in-progress",
      "outcomeSummary": "No accepted outcome yet. A useful output still needs review.",
      "detailHref": "/control-room/actions/local-blocker/",
      "runnerDirectory": "future-union-mission-local-blocker",
      "runnerCommand": "curl -fsS https://www.futureunion.org.uk/agent-pack/fu-runner.sh -o fucr && FU_BASE_URL=https://www.futureunion.org.uk sh fucr mission local-blocker",
      "runnerScriptUrl": "/agent-pack/fu-runner.sh",
      "runnerPack": {
        "base": "/agent-pack/actions/local-blocker/",
        "readme": "/agent-pack/actions/local-blocker/README.md",
        "mission": "/agent-pack/actions/local-blocker/MISSION.md",
        "prompt": "/agent-pack/actions/local-blocker/PROMPT.md",
        "packet": "/agent-pack/actions/local-blocker/PACKET.md",
        "outcome": "/agent-pack/actions/local-blocker/OUTCOME.md",
        "nextWork": "/agent-pack/actions/local-blocker/NEXT_WORK.md",
        "review": "/agent-pack/actions/local-blocker/REVIEW.md",
        "sources": "/agent-pack/actions/local-blocker/SOURCES.csv",
        "contribution": "/agent-pack/actions/local-blocker/CONTRIBUTION.md",
        "credit": "/agent-pack/actions/local-blocker/CREDIT.md",
        "intakeIdea": "/agent-pack/actions/local-blocker/INTAKE_IDEA.md",
        "actionProposal": "/agent-pack/actions/local-blocker/ACTION_PROPOSAL.md",
        "submit": "/agent-pack/actions/local-blocker/SUBMIT.md",
        "context": "/agent-pack/actions/local-blocker/context.json",
        "missionContext": "/agent-pack/actions/local-blocker/mission.json",
        "skill": "/agent-pack/actions/local-blocker/SKILL.md"
      },
      "localSkillPath": ".agents/skills/future-union/SKILL.md",
      "helperCommandPath": "./bin/fu-mission",
      "isProposalAction": false,
      "contributionStats": {
        "reviewedPackets": 0,
        "pendingPackets": 0,
        "activeClaims": 0,
        "radiclePatches": 0,
        "creditedContributors": 0,
        "latestReviewedAt": "",
        "activityLabel": "Needs first output"
      },
      "submitIssueUrl": ""
    },
    "contributionStats": {
      "reviewedPackets": 0,
      "pendingPackets": 0,
      "activeClaims": 0,
      "radiclePatches": 0,
      "creditedContributors": 0,
      "latestReviewedAt": "",
      "activityLabel": "Needs first output"
    },
    "actionCount": 2,
    "liveActionCount": 2,
    "shippedActionCount": 0,
    "outcomeStatus": "not-started",
    "completionStandard": "A mission advances when one or more bounded outputs are reviewed, accepted as current best, and converted into public knowledge or sharper next work.",
    "currentBest": "No accepted current-best result yet.",
    "openQuestions": [
      "What evidence pack would most reduce uncertainty next?",
      "What stronger test should replace any saturated score?"
    ],
    "workstreams": [
      {
        "title": "Send one local blocker",
        "doneWhen": "The blocker is ready for review when it is narrow, source-linked, caveated, and does not expose private personal data.",
        "status": "in-progress"
      },
      {
        "title": "Map local issues",
        "doneWhen": "A reviewer can verify the output against this bar: Each row separates facts from opinion and flags whether a source, document, or named local witness exists.",
        "status": "in-progress"
      }
    ],
    "detailHref": "/missions/local-proof-map/",
    "packetTemplateUrl": "/agent-pack/mission-packet-template.md",
    "issueTemplateUrl": "/agent-pack/github-issue-template.md",
    "reviewPolicy": "Human review is mandatory before any submitted evidence pack becomes a public claim, contact action, campaign asset, dataset, or policy position.",
    "computeDisclosureFields": [
      "Agent or tool used",
      "Model if known",
      "Approximate tokens or runtime if available",
      "Human edits made",
      "Sources checked"
    ],
    "submitIssueUrl": "",
    "liveProgress": {
      "slug": "local-proof-map",
      "title": "Map local blockers",
      "kind": "mission",
      "activeClaims": 1,
      "pendingPackets": 0,
      "reviewedPackets": 0,
      "usedOutputs": 0,
      "creditedContributors": 0,
      "radicleRefs": 0,
      "bestPendingScore": null,
      "bestReviewedScore": null,
      "latestPacketAt": "2026-04-26",
      "latestReviewedAt": "",
      "latestAcceptedAt": "",
      "latestAcceptedHref": "",
      "outcomeStatus": "in-progress",
      "currentBestSummary": "",
      "currentLabel": "1 active run",
      "outcomeLabel": "No reviewed outcome yet",
      "reviewStateLabel": "Local work in progress",
      "scoreLabel": "No review score yet",
      "nextGapLabel": "Contributor should finish an evidence pack, outcome note, and source log."
    }
  }
]