{
  "site": {
    "name": "Future Union UK",
    "url": "https://www.futureunion.org.uk",
    "contactEmail": "hello@futureunion.org.uk"
  },
  "action": {
    "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 run ./bin/fu-mission submit — after you confirm, it sends the pack summary, source count, and file checksums to Future Union over HTTPS for a human to review. The full files stay on your machine until a reviewer asks for them, and nothing becomes public without that review. A signed, publish-from-your-machine Radicle route exists as an optional advanced lane.",
    "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/install-fucr.sh | FU_BASE_URL=https://www.futureunion.org.uk sh -s -- 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": ""
  },
  "mission": {
    "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 run ./bin/fu-mission submit — after you confirm, it sends the pack summary, source count, and file checksums to Future Union over HTTPS for a human to review. The full files stay on your machine until a reviewer asks for them, and nothing becomes public without that review. A signed, publish-from-your-machine Radicle route exists as an optional advanced lane.",
    "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 run ./bin/fu-mission submit — after you confirm, it sends the pack summary, source count, and file checksums to Future Union over HTTPS for a human to review. The full files stay on your machine until a reviewer asks for them, and nothing becomes public without that review. A signed, publish-from-your-machine Radicle route exists as an optional advanced lane.",
        "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/install-fucr.sh | FU_BASE_URL=https://www.futureunion.org.uk sh -s -- 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 run ./bin/fu-mission submit — after you confirm, it sends the pack summary, source count, and file checksums to Future Union over HTTPS for a human to review. The full files stay on your machine until a reviewer asks for them, and nothing becomes public without that review. A signed, publish-from-your-machine Radicle route exists as an optional advanced lane.",
        "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/install-fucr.sh | FU_BASE_URL=https://www.futureunion.org.uk sh -s -- 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 run ./bin/fu-mission submit — after you confirm, it sends the pack summary, source count, and file checksums to Future Union over HTTPS for a human to review. The full files stay on your machine until a reviewer asks for them, and nothing becomes public without that review. A signed, publish-from-your-machine Radicle route exists as an optional advanced lane.",
        "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/install-fucr.sh | FU_BASE_URL=https://www.futureunion.org.uk sh -s -- 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 run ./bin/fu-mission submit — after you confirm, it sends the pack summary, source count, and file checksums to Future Union over HTTPS for a human to review. The full files stay on your machine until a reviewer asks for them, and nothing becomes public without that review. A signed, publish-from-your-machine Radicle route exists as an optional advanced lane.",
        "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/install-fucr.sh | FU_BASE_URL=https://www.futureunion.org.uk sh -s -- 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 run ./bin/fu-mission submit — after you confirm, it sends the pack summary, source count, and file checksums to Future Union over HTTPS for a human to review. The full files stay on your machine until a reviewer asks for them, and nothing becomes public without that review. A signed, publish-from-your-machine Radicle route exists as an optional advanced lane.",
      "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/install-fucr.sh | FU_BASE_URL=https://www.futureunion.org.uk sh -s -- 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": ""
  },
  "missionComputer": {
    "title": "Mission Computer",
    "thesis": "Future Union missions are public, bounded, source-led tasks that a human can run with or without an agent, then package for review.",
    "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"
    ],
    "safetyRules": [
      "Use public, lawful sources only.",
      "Do not contact third parties, submit forms, file FOIs, or post publicly unless a human explicitly approves it.",
      "Do not process private personal data or infer sensitive traits.",
      "Do not make legal allegations; flag risky findings for review.",
      "Do not smooth uncertainty into confidence."
    ],
    "jsonUrl": "https://www.futureunion.org.uk/api/mission-computer.json",
    "intakeUrl": "https://www.futureunion.org.uk/api/intake/ideas.json",
    "contributionsUrl": "https://www.futureunion.org.uk/api/contributions.json",
    "contributionSubmitUrl": "https://www.futureunion.org.uk/api/contributions",
    "contributionClaimUrl": "https://www.futureunion.org.uk/api/contributions/claims",
    "radicle": {
      "configured": true,
      "repoId": "rad:z3GS6enxkmAPDrw6oVmSitMx9swnw",
      "webUrl": "https://www.futureunion.org.uk/network",
      "seed": "z6MkvJ2y4X8uYgXEjKH7t3wbHS1E52pnPBuKax717zpJoeaN@futureunion.exe.xyz:8776",
      "httpdApiUrl": "/api/v1",
      "brandedExplorerUrl": "/network",
      "radicleExplorerUrl": "https://radicle.network/nodes/www.futureunion.org.uk/rad%3Az3GS6enxkmAPDrw6oVmSitMx9swnw",
      "communityComputerUrl": "https://community.computer/repos/z3GS6enxkmAPDrw6oVmSitMx9swnw",
      "networkJsonUrl": "/api/network.json",
      "packetsJsonUrl": "/api/radicle/packets.json",
      "progressJsonUrl": "/api/progress.json",
      "syncStatusEnv": "FUTURE_UNION_RADICLE_SYNC_STATUS",
      "contributionRepoEnv": "FU_BASE_URL",
      "patchRef": "Radicle experiment COB",
      "statusCommand": "./bin/fu-mission experiment-status",
      "syncCommand": "./bin/fu-mission sync-network",
      "previewCommand": "./bin/fu-mission experiment-preview",
      "doctorCommand": "./bin/fu-mission experiment-doctor",
      "publishCommand": "./bin/fu-mission experiment-publish",
      "installCommand": "Install rad-experiment when you are ready to publish; set FU_ENABLE_PI_CC=1 only for the optional Community Computer bridge.",
      "authCommand": "rad auth",
      "safetyCopy": "Radicle publishing is an explicit local step: inspect the experiment preview, confirm the signed packet record, and never publish raw local notes by default."
    },
    "communityChat": {
      "mode": "local-room-preview",
      "provider": "matrix",
      "configured": false,
      "encryptionRequired": true,
      "homeserverUrl": "",
      "spaceUrl": "",
      "roomAliasPattern": "#future-union-{action}:matrix.org",
      "credentialEnv": [
        "FU_MATRIX_HOMESERVER",
        "FU_MATRIX_USER",
        "FU_MATRIX_ACCESS_TOKEN"
      ],
      "fallbackCopy": "Matrix action rooms are not configured yet. Use the local action-room note for sources, blockers, claims, and reviewer questions; nothing there is sent anywhere by default."
    }
  },
  "missionRunner": {
    "mode": "plain-shell-runner",
    "scriptUrl": "/agent-pack/fu-runner.sh",
    "installerUrl": "/agent-pack/install-fucr.sh",
    "helperCommandPath": "./bin/fu-mission",
    "skillPath": ".agents/skills/future-union/SKILL.md",
    "runnerFiles": [
      "README.md",
      "AGENTS.md",
      "RADICLE_NETWORK.md",
      "MISSION.md",
      "PROMPT.md",
      "PACKET.md",
      "ACTION_PROPOSAL.md",
      "OUTCOME.md",
      "NEXT_WORK.md",
      "REVIEW.md",
      "SOURCES.csv",
      "CONTRIBUTION.md",
      "CREDIT.md",
      "CHECKPOINT.md",
      "RADICLE.md",
      "EXPERIMENT.md",
      "SHARE_MANIFEST.md",
      ".future-union/run-status.json",
      ".future-union/run-progress.jsonl",
      "autoresearch.md",
      "autoresearch.sh",
      "autoresearch.jsonl",
      "INTAKE_IDEA.md",
      "SUBMIT.md",
      "bin/fu-mission",
      ".future-union/rooms/[action].md",
      ".future-union/state.json",
      ".community-computer/session.json",
      ".community-computer/pending-experiment.json",
      "context/runner.json",
      "context/future-union-context.json",
      "context/action.json",
      "context/mission.json",
      "context/safety-rules.md",
      "context/review-policy.md",
      ".agents/skills/future-union/SKILL.md"
    ],
    "flags": [
      "FUCR_BASE_URL=http://127.0.0.1:4392",
      "FU_BASE_URL=https://www.futureunion.org.uk",
      "FUCR_CACHE_DIR=~/.cache/future-union/fucr",
      "FUCR_INSTALL=0",
      "FU_AGENT=auto|pi|codex|claude|none",
      "FU_AUTORESEARCH=1|0",
      "FU_START=ask|1|0",
      "FU_PICK=0",
      "FU_TUI=0|ratatui|lite|textual|node",
      "FU_TUI_VENV=.future-union/tui-venv",
      "FU_PI_UPDATE=ask|yes|no",
      "FU_ENABLE_PI_CC=1",
      "FU_RADICLE=1",
      "FU_YES=1",
      "FU_BOOTSTRAP=0",
      "FU_DRY_RUN=1",
      "FU_CONTRIBUTOR_NAME=\"Your name\"",
      "FU_CONTRIBUTOR_HANDLE=\"@handle\"",
      "FU_CONTACT=\"email@example.com\"",
      "FU_ANONYMOUS=yes",
      "FU_IDEA_FILE=idea.json",
      "FU_SHARE_DIR=.future-union/share",
      "FU_MATRIX_HOMESERVER=https://matrix.example",
      "FU_MATRIX_USER=@you:matrix.example",
      "FU_MATRIX_ACCESS_TOKEN=..."
    ],
    "radicle": {
      "configured": true,
      "repoId": "rad:z3GS6enxkmAPDrw6oVmSitMx9swnw",
      "webUrl": "https://www.futureunion.org.uk/network",
      "seed": "z6MkvJ2y4X8uYgXEjKH7t3wbHS1E52pnPBuKax717zpJoeaN@futureunion.exe.xyz:8776",
      "httpdApiUrl": "/api/v1",
      "brandedExplorerUrl": "/network",
      "radicleExplorerUrl": "https://radicle.network/nodes/www.futureunion.org.uk/rad%3Az3GS6enxkmAPDrw6oVmSitMx9swnw",
      "communityComputerUrl": "https://community.computer/repos/z3GS6enxkmAPDrw6oVmSitMx9swnw",
      "networkJsonUrl": "/api/network.json",
      "packetsJsonUrl": "/api/radicle/packets.json",
      "progressJsonUrl": "/api/progress.json",
      "syncStatusEnv": "FUTURE_UNION_RADICLE_SYNC_STATUS",
      "contributionRepoEnv": "FU_BASE_URL",
      "patchRef": "Radicle experiment COB",
      "statusCommand": "./bin/fu-mission experiment-status",
      "syncCommand": "./bin/fu-mission sync-network",
      "previewCommand": "./bin/fu-mission experiment-preview",
      "doctorCommand": "./bin/fu-mission experiment-doctor",
      "publishCommand": "./bin/fu-mission experiment-publish",
      "installCommand": "Install rad-experiment when you are ready to publish; set FU_ENABLE_PI_CC=1 only for the optional Community Computer bridge.",
      "authCommand": "rad auth",
      "safetyCopy": "Radicle publishing is an explicit local step: inspect the experiment preview, confirm the signed packet record, and never publish raw local notes by default."
    },
    "communityChat": {
      "mode": "local-room-preview",
      "provider": "matrix",
      "configured": false,
      "encryptionRequired": true,
      "homeserverUrl": "",
      "spaceUrl": "",
      "roomAliasPattern": "#future-union-{action}:matrix.org",
      "credentialEnv": [
        "FU_MATRIX_HOMESERVER",
        "FU_MATRIX_USER",
        "FU_MATRIX_ACCESS_TOKEN"
      ],
      "fallbackCopy": "Matrix action rooms are not configured yet. Use the local action-room note for sources, blockers, claims, and reviewer questions; nothing there is sent anywhere by default."
    }
  },
  "agentPack": {
    "thesis": "Future Union should be easy for agents to read and useful for humans to review. Missions are public, bounded, source-led, and output-based.",
    "submissionContract": [
      "Return Markdown, not a vibe cloud.",
      "Separate facts, interpretation, caveats, and recommended action.",
      "Use public source links for every factual claim.",
      "Include contribution credit and compute disclosure without inflating the importance of the work.",
      "Include enough context that a human reviewer can verify the work quickly.",
      "Do not publish, contact third parties, scrape private systems, or process personal data without explicit permission."
    ]
  }
}