{
  "missionComputer": {
    "title": "Mission Computer",
    "strapline": "Run a bounded mission and return a packet a human can review.",
    "contributionRepoUrl": "",
    "radicle": {
      "configured": false,
      "repoId": "",
      "webUrl": "",
      "networkJsonUrl": "/api/network.json",
      "packetsJsonUrl": "/api/radicle/packets.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",
      "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."
    },
    "fallbackEmail": "hello@futureunion.org.uk",
    "packetTemplateUrl": "/agent-pack/mission-packet-template.md",
    "issueTemplateUrl": "/agent-pack/github-issue-template.md",
    "runbookUrl": "/agent-pack/mission-computer-runbook.md",
    "jsonUrl": "/api/mission-computer.json",
    "intakeUrl": "/api/intake/ideas.json",
    "intakeSubmitUrl": "/api/intake/ideas",
    "contributionsUrl": "/api/contributions.json",
    "contributionSubmitUrl": "/api/contributions",
    "networkUrl": "/api/network.json",
    "radiclePacketsUrl": "/api/radicle/packets.json",
    "growthSourceLibraryUrl": "/api/growth-index/sources.json",
    "reviewContributionsUrl": "/api/review/contributions",
    "thesis": "Future Union missions are public, bounded, source-led tasks that a human can run with or without an agent, then package for review.",
    "contributionProtocol": [
      "Pick one action brief with a concrete output and a clear time box.",
      "Run the safe local runner command to check local dependencies and create a mission workspace with context, prompt, packet, and sources files.",
      "Use the Ratatui Control Room to pick work, see community activity, open the local action room, sync generated workspaces, and start Pi, Codex, or Claude Code in the generated folder.",
      "Return one reviewable Markdown packet with facts, caveats, sources, compute disclosure, and recommended FU action.",
      "Use Matrix action rooms only when configured and encrypted; otherwise use the local action room for sources, blockers, claims, and reviewer questions.",
      "Preview the signed Radicle experiment before any public step so the contributor can see commits, metric, command shape, and boundary.",
      "The public site imports durable packet records from Future Union's Radicle ingest worker; legacy direct website POSTs are only a fallback.",
      "If the board is missing the right task, run the action-idea intake and return a ranked proposal instead of a loose suggestion.",
      "Use the Future Union Radicle preview/publish lane as the primary handoff when configured; do not initialize a generated mission workspace as a generic Community Computer public repo unless the human explicitly chooses that bridge.",
      "A human reviewer decides whether the packet becomes a public contribution record, receipt, story, Growth Index input, toolkit item, or hold note."
    ],
    "simpleExplainer": "Future Union turns scattered AI effort into reviewable public work: pick a bounded problem, spend useful AI tokens locally, then return a packet Britain can use.",
    "networkExplainer": [
      {
        "title": "Many people can run the same brief",
        "body": "Every contributor gets a separate local workspace, Git history, source log, autoresearch tape, packet, and credit note. Parallel runs do not overwrite each other."
      },
      {
        "title": "Progress is useful before it is perfect",
        "body": "The runner records active claims, checkpoints, sources, packet score, and finish state. Reviewers can merge the best parts, discard weak runs, and credit the pieces that moved the mission forward."
      },
      {
        "title": "Radicle is the public packet lane",
        "body": "A finished packet can become a signed Radicle experiment after preview and explicit confirmation. Raw chats, local notes, private contact details, and unfinished work are not published by default."
      },
      {
        "title": "Matrix is coordination, not proof",
        "body": "Action rooms are for blockers, source leads, and reviewer questions. The proof remains the packet, sources, local Git commits, and signed experiment record."
      }
    ],
    "reviewPolicy": "Human review is mandatory before any submitted packet 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."
    ]
  },
  "missionRunner": {
    "mode": "ratatui-local-control-room",
    "defaultActionSlug": "planning-blockers-sprint",
    "defaultActionHref": "/control-room/actions/planning-blockers-sprint/",
    "scriptUrl": "/agent-pack/fu-runner.sh",
    "installCommand": "curl -fsS https://www.futureunion.org.uk/agent-pack/fu-runner.sh -o fucr",
    "downloadCommand": "curl -fsS https://www.futureunion.org.uk/agent-pack/fu-runner.sh -o fucr",
    "runCommand": "FU_BASE_URL=https://www.futureunion.org.uk sh fucr",
    "combinedCommand": "curl -fsS https://www.futureunion.org.uk/agent-pack/fu-runner.sh -o fucr && FU_BASE_URL=https://www.futureunion.org.uk sh fucr",
    "syncCommand": "fucr sync all",
    "packetTemplateUrl": "/agent-pack/mission-packet-template.md",
    "missionFolderUrl": "/agent-pack/actions/planning-blockers-sprint/README.md",
    "skillPath": ".agents/skills/future-union/SKILL.md",
    "helperCommandPath": "./bin/fu-mission",
    "runnerFiles": [
      "README.md",
      "AGENTS.md",
      "RADICLE_NETWORK.md",
      "MISSION.md",
      "PROMPT.md",
      "PACKET.md",
      "ACTION_PROPOSAL.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=ratatui|lite|textual|node|0",
      "FU_TUI_VENV=.future-union/tui-venv",
      "FU_ENABLE_PI_CC=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=..."
    ],
    "trustChecklist": [
      "Downloads a readable shell script you can inspect before running.",
      "Installs a local fucr command in ~/.local/bin so you do not have to paste the curl command again.",
      "Caches the Rust/Ratatui Control Room in ~/.cache/future-union/fucr and rebuilds only when the published version changes.",
      "Syncs old mission folders with fucr sync all, updating generated helpers and context while preserving packet, source, credit, share, Radicle, and room files.",
      "Creates a new mission folder and refuses to overwrite it unless you explicitly set FU_FORCE=1.",
      "Opens the Rust/Ratatui Control Room by default; Python, Textual, and Node fallbacks remain available if you opt into them.",
      "Checks local dependencies and uses user-space installs for Rust, Pi, Codex, or Claude Code only when you allow it; pi-cc/community.computer publishing remains explicit opt-in.",
      "Fetches only public Markdown, JSON, CSV, and shell files from Future Union, plus any local intake idea file you explicitly pass.",
      "Creates a local action-room note for sources, blockers, claims, and reviewer questions.",
      "Creates a contribution note and credit claim, but does not publish or submit anything automatically.",
      "Initialises each mission folder as a local Git repo with .community-computer/session.json, autoresearch.md, and autoresearch.sh.",
      "Creates a Radicle experiment preview before any signed public contribution record can be published.",
      "Does not ask for API keys, install OS packages, contact third parties, or trigger public actions."
    ],
    "safetyCopy": "No hosted execution yet. You run the mission locally, use public sources only, and do not contact third parties, submit forms, or publish anything without explicit human approval. The runner never uses sudo, never asks for API keys, and shows the Radicle experiment before publish.",
    "reviewCopy": "The useful output is one reviewable packet plus sources and a credit note: enough for a human to verify quickly, attribute useful work, and avoid excavating a whole chat transcript."
  },
  "agentPack": {
    "version": "0.1",
    "thesis": "Future Union should be easy for agents to read and useful for humans to review. Missions are public, bounded, source-led, and packet-based.",
    "entryPoints": [
      {
        "label": "Agent mission page",
        "href": "/missions",
        "use": "Human-readable briefing surface with local runner preview, mission prompts, QA rules, and pack links."
      },
      {
        "label": "Action feed JSON",
        "href": "/api/actions.json",
        "use": "Machine-readable public action board with detail URLs and submission routes."
      },
      {
        "label": "Mission feed JSON",
        "href": "/api/missions.json",
        "use": "Machine-readable standing missions for recurring agent work."
      },
      {
        "label": "Intake queue JSON",
        "href": "/api/intake/ideas.json",
        "use": "Redacted idea queue: received/review state only, not raw notes or contact details."
      },
      {
        "label": "Mission Computer JSON",
        "href": "/api/mission-computer.json",
        "use": "Protocol, safety rules, submission routes, and contribution schema in one feed."
      },
      {
        "label": "Contribution ledger JSON",
        "href": "/api/contributions.json",
        "use": "Reviewed and seed contribution records, never raw unreviewed submissions."
      },
      {
        "label": "Agent pack",
        "href": "/agent-pack/AGENTS.md",
        "use": "Drop-in AGENTS.md for a local Pi, Codex, or Claude Code workspace."
      },
      {
        "label": "Mission runbook",
        "href": "/agent-pack/mission-computer-runbook.md",
        "use": "Step-by-step guide for humans bringing their own agents and tokens."
      },
      {
        "label": "Runner script",
        "href": "/agent-pack/fu-runner.sh",
        "use": "Readable shell script that creates a mission workspace with context, prompt, skill, and helper command."
      },
      {
        "label": "Ratatui Control Room source",
        "href": "/agent-pack/fu-control-room-rs/manifest.txt",
        "use": "Source-distributed Rust/Ratatui mission cockpit used by the default runner."
      },
      {
        "label": "Native fallback Control Room TUI",
        "href": "/agent-pack/fu-control-room-lite.py",
        "use": "Python fallback cockpit when Rust/cargo is unavailable."
      },
      {
        "label": "Textual Control Room TUI",
        "href": "/agent-pack/fu-control-room.py",
        "use": "Optional richer TUI for people who explicitly opt into Textual with `FU_TUI=textual`."
      },
      {
        "label": "Node Control Room fallback",
        "href": "/agent-pack/fu-control-room.mjs",
        "use": "Last-resort terminal picker when Python is unavailable."
      },
      {
        "label": "Contribution claims",
        "href": "/api/contributions/claims",
        "use": "Explicit opt-in endpoint for showing that someone has started a local mission run."
      },
      {
        "label": "Source research skill",
        "href": "/agent-pack/skills/fu-source-research/SKILL.md",
        "use": "Reusable skill instructions for source-led FU research packets."
      },
      {
        "label": "Action ranker skill",
        "href": "/agent-pack/skills/fu-action-ranker/SKILL.md",
        "use": "Reusable skill instructions for ranking proposed actions against Future Union values."
      }
    ],
    "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."
    ],
    "outputChannels": [
      {
        "title": "Reviewable packet",
        "body": "The standard output: Markdown packet, source links, generated artifacts, caveats, contribution credit, and reviewer checklist."
      },
      {
        "title": "Local skill",
        "body": "The runner installs a tiny Future Union skill plus local context files so your agent can work from the wider system, not just one pasted prompt."
      },
      {
        "title": "Email packet",
        "body": "V0 route: send the Markdown packet and credit note to hello@futureunion.org.uk with the exact subject line on the mission brief."
      },
      {
        "title": "Radicle experiment",
        "body": "Primary route: preview the signed experiment record, then publish a packet-score contribution after explicit confirmation."
      },
      {
        "title": "Ranked intake",
        "body": "Action ideas enter as proposal packets, get scored against Future Union values, and only become public board cards after human review."
      }
    ]
  },
  "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."
  },
  "radicle": {
    "configured": false,
    "repoId": "",
    "webUrl": "",
    "networkJsonUrl": "/api/network.json",
    "packetsJsonUrl": "/api/radicle/packets.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",
    "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.",
    "sync": {
      "protocol": "future-union-radicle-sync-v1",
      "ok": false,
      "checkedAt": "",
      "repo": "",
      "imported": 0,
      "seen": 0,
      "pendingPackets": 0,
      "reviewedPackets": 0,
      "error": "Radicle ingest has not reported yet."
    }
  },
  "activity": {
    "activeClaims": 3,
    "pendingPackets": 0,
    "reviewedPackets": 4,
    "creditedOutputs": 2,
    "radicleRefs": 0
  },
  "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": "intake form · 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 chats.",
      "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. An agent/ranker pass can turn it into ACTION_PROPOSAL.md later.",
      "acceptanceCriteria": "The idea names one problem, one likely user or place, one proposed output, and any public sources already known.",
      "submitRoute": "Use the form to create a shared redacted Intake card. A reviewer or agent/ranker pass can turn it into a proposal packet before it becomes open work.",
      "tags": [
        "intake",
        "ranking"
      ],
      "columnTitle": "Intake",
      "columnDescription": "Ideas being shaped and ranked before they become open work.",
      "parentMissionSlug": "action-intake",
      "parentMissionTitle": "Action Intake",
      "parentMissionStatus": "Open",
      "parentMissionProgress": "Proposal lane live",
      "parentMissionProgressPercent": 30,
      "parentMissionHref": "/missions/action-intake/",
      "status": "intake",
      "outputType": "Mission packet",
      "reviewPolicy": "Human review is mandatory before any submitted packet 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",
      "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",
        "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 packet"
      },
      "submitIssueUrl": ""
    },
    {
      "slug": "planning-blockers-sprint",
      "missionSlug": "receipts-desk",
      "title": "Planning blockers sprint",
      "summary": "Pull ten examples of absurd 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 FU raw material for the Growth Index, FU Files, and council-pressure kits.",
      "timeNeeded": "90 minutes",
      "inputs": "Council pages, planning portals, local press, inspectorate decisions, screenshots, public links.",
      "outputFormat": "Markdown packet 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": "Paste the packet into an email to hello@futureunion.org.uk with subject `Planning blockers sprint`.",
      "tags": [
        "receipts",
        "housing"
      ],
      "columnTitle": "Open now",
      "columnDescription": "Low-friction work people can actually do this week.",
      "parentMissionSlug": "receipts-desk",
      "parentMissionTitle": "Receipts Desk",
      "parentMissionStatus": "Pilot",
      "parentMissionProgress": "Seed standards live",
      "parentMissionProgressPercent": 45,
      "parentMissionHref": "/missions/receipts-desk/",
      "status": "open-now",
      "outputType": "Mission packet",
      "reviewPolicy": "Human review is mandatory before any submitted packet 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",
      "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",
        "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 packet"
      },
      "submitIssueUrl": ""
    },
    {
      "slug": "issue-map-intake",
      "missionSlug": "local-proof-map",
      "title": "Issue map intake",
      "summary": "Collect the next hundred local complaints worth clustering into themes rather than hot takes.",
      "meta": "movement ops · ongoing",
      "progress": "Open intake",
      "progressPercent": 20,
      "mission": "Interview or collect local issue submissions from people who are annoyed enough to be useful.",
      "why": "FU needs ground truth before choosing target places, candidates, or local campaigns.",
      "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": "Email hello@futureunion.org.uk with subject `Issue map intake`.",
      "tags": [
        "listening",
        "local proof"
      ],
      "columnTitle": "Open now",
      "columnDescription": "Low-friction work people can actually do this week.",
      "parentMissionSlug": "local-proof-map",
      "parentMissionTitle": "Local Proof Map",
      "parentMissionStatus": "Open",
      "parentMissionProgress": "Intake shape live",
      "parentMissionProgressPercent": 25,
      "parentMissionHref": "/missions/local-proof-map/",
      "status": "open-now",
      "outputType": "Issue map",
      "reviewPolicy": "Human review is mandatory before any submitted packet 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",
      "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",
        "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 packet"
      },
      "submitIssueUrl": ""
    },
    {
      "slug": "owned-list-front-door",
      "missionSlug": "movement-infrastructure",
      "title": "Owned list front door",
      "summary": "Test the first signup flow so the movement has an owned contact channel from day one.",
      "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": "FU needs an owned relationship with supporters before any platform algorithm decides to sneeze.",
      "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": "Email the QA packet to hello@futureunion.org.uk with subject `Owned list front door`.",
      "tags": [
        "join",
        "email"
      ],
      "columnTitle": "Building",
      "columnDescription": "Work in flight that should stay visible.",
      "parentMissionSlug": "movement-infrastructure",
      "parentMissionTitle": "Movement Infrastructure",
      "parentMissionStatus": "Building",
      "parentMissionProgress": "Site and owned-list path in build",
      "parentMissionProgressPercent": 65,
      "parentMissionHref": "/missions/movement-infrastructure/",
      "status": "building",
      "outputType": "QA note",
      "reviewPolicy": "Human review is mandatory before any submitted packet 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/owned-list-front-door.json",
      "detailHref": "/control-room/actions/owned-list-front-door/",
      "runnerDirectory": "future-union-mission-owned-list-front-door",
      "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 owned-list-front-door",
      "runnerScriptUrl": "/agent-pack/fu-runner.sh",
      "runnerPack": {
        "base": "/agent-pack/actions/owned-list-front-door/",
        "readme": "/agent-pack/actions/owned-list-front-door/README.md",
        "mission": "/agent-pack/actions/owned-list-front-door/MISSION.md",
        "prompt": "/agent-pack/actions/owned-list-front-door/PROMPT.md",
        "packet": "/agent-pack/actions/owned-list-front-door/PACKET.md",
        "sources": "/agent-pack/actions/owned-list-front-door/SOURCES.csv",
        "contribution": "/agent-pack/actions/owned-list-front-door/CONTRIBUTION.md",
        "credit": "/agent-pack/actions/owned-list-front-door/CREDIT.md",
        "intakeIdea": "/agent-pack/actions/owned-list-front-door/INTAKE_IDEA.md",
        "actionProposal": "/agent-pack/actions/owned-list-front-door/ACTION_PROPOSAL.md",
        "submit": "/agent-pack/actions/owned-list-front-door/SUBMIT.md",
        "context": "/agent-pack/actions/owned-list-front-door/context.json",
        "missionContext": "/agent-pack/actions/owned-list-front-door/mission.json",
        "skill": "/agent-pack/actions/owned-list-front-door/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 packet"
      },
      "submitIssueUrl": ""
    },
    {
      "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, refresh cadence, obvious caveat, and public-facing explanation.",
      "submitRoute": "Email hello@futureunion.org.uk with subject `Growth Index method note`.",
      "tags": [
        "dashboard",
        "signals"
      ],
      "columnTitle": "Building",
      "columnDescription": "Work in flight that should stay visible.",
      "parentMissionSlug": "growth-index",
      "parentMissionTitle": "Growth Index",
      "parentMissionStatus": "Method",
      "parentMissionProgress": "Scoring model drafted",
      "parentMissionProgressPercent": 35,
      "parentMissionHref": "/missions/growth-index/",
      "status": "building",
      "outputType": "Method note",
      "reviewPolicy": "Human review is mandatory before any submitted packet 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",
      "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",
        "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 packet"
      },
      "submitIssueUrl": ""
    },
    {
      "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 FU should amplify or investigate it.",
      "submitRoute": "Email hello@futureunion.org.uk with subject `Britain Build Radar`.",
      "tags": [
        "agents",
        "journal"
      ],
      "columnTitle": "Needs backing",
      "columnDescription": "Things that need money, compute, or outside expertise.",
      "parentMissionSlug": "britain-build-radar",
      "parentMissionTitle": "Britain Build Radar",
      "parentMissionStatus": "Scoping",
      "parentMissionProgress": "Seed desk live",
      "parentMissionProgressPercent": 55,
      "parentMissionHref": "/missions/britain-build-radar/",
      "status": "needs-backing",
      "outputType": "Story leads",
      "reviewPolicy": "Human review is mandatory before any submitted packet 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",
      "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",
        "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 packet"
      },
      "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": "Email hello@futureunion.org.uk with subject `Receipts desk draft`.",
      "tags": [
        "foi",
        "osint"
      ],
      "columnTitle": "Needs backing",
      "columnDescription": "Things that need money, compute, or outside expertise.",
      "parentMissionSlug": "receipts-desk",
      "parentMissionTitle": "Receipts Desk",
      "parentMissionStatus": "Pilot",
      "parentMissionProgress": "Seed standards live",
      "parentMissionProgressPercent": 45,
      "parentMissionHref": "/missions/receipts-desk/",
      "status": "needs-backing",
      "outputType": "Receipt draft",
      "reviewPolicy": "Human review is mandatory before any submitted packet 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",
      "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",
        "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 packet"
      },
      "submitIssueUrl": ""
    },
    {
      "slug": "launch-site-shell",
      "missionSlug": "movement-infrastructure",
      "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,
      "mission": "Keep the public site coherent as FU moves from demo to live.",
      "why": "The website is the movement'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": "movement-infrastructure",
      "parentMissionTitle": "Movement Infrastructure",
      "parentMissionStatus": "Building",
      "parentMissionProgress": "Site and owned-list path in build",
      "parentMissionProgressPercent": 65,
      "parentMissionHref": "/missions/movement-infrastructure/",
      "status": "shipped",
      "outputType": "Mission packet",
      "reviewPolicy": "Human review is mandatory before any submitted packet 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",
      "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",
        "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 packet"
      },
      "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,
      "mission": "Turn the journal into the front page for pro-growth UK scene intelligence.",
      "why": "A movement 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": "Britain Build Radar",
      "parentMissionStatus": "Scoping",
      "parentMissionProgress": "Seed desk live",
      "parentMissionProgressPercent": 55,
      "parentMissionHref": "/missions/britain-build-radar/",
      "status": "shipped",
      "outputType": "Story leads",
      "reviewPolicy": "Human review is mandatory before any submitted packet 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",
      "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",
        "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 packet"
      },
      "submitIssueUrl": ""
    }
  ],
  "missions": [
    {
      "slug": "action-intake",
      "title": "Action Intake",
      "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, movement 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": "Email the proposal packet to hello@futureunion.org.uk with subject `Action idea intake`.",
      "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": "intake form · 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 chats.",
          "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. An agent/ranker pass can turn it into ACTION_PROPOSAL.md later.",
          "acceptanceCriteria": "The idea names one problem, one likely user or place, one proposed output, and any public sources already known.",
          "submitRoute": "Use the form to create a shared redacted Intake card. A reviewer or agent/ranker pass can turn it into a proposal packet before it becomes open work.",
          "tags": [
            "intake",
            "ranking"
          ],
          "columnTitle": "Intake",
          "columnDescription": "Ideas being shaped and ranked before they become open work.",
          "parentMissionSlug": "action-intake",
          "parentMissionTitle": "Action Intake",
          "parentMissionStatus": "Open",
          "parentMissionProgress": "Proposal lane live",
          "parentMissionProgressPercent": 30,
          "parentMissionHref": "/missions/action-intake/",
          "status": "intake",
          "outputType": "Mission packet",
          "reviewPolicy": "Human review is mandatory before any submitted packet 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",
          "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",
            "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 packet"
          },
          "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": "intake form · 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 chats.",
          "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. An agent/ranker pass can turn it into ACTION_PROPOSAL.md later.",
          "acceptanceCriteria": "The idea names one problem, one likely user or place, one proposed output, and any public sources already known.",
          "submitRoute": "Use the form to create a shared redacted Intake card. A reviewer or agent/ranker pass can turn it into a proposal packet before it becomes open work.",
          "tags": [
            "intake",
            "ranking"
          ],
          "columnTitle": "Intake",
          "columnDescription": "Ideas being shaped and ranked before they become open work.",
          "parentMissionSlug": "action-intake",
          "parentMissionTitle": "Action Intake",
          "parentMissionStatus": "Open",
          "parentMissionProgress": "Proposal lane live",
          "parentMissionProgressPercent": 30,
          "parentMissionHref": "/missions/action-intake/",
          "status": "intake",
          "outputType": "Mission packet",
          "reviewPolicy": "Human review is mandatory before any submitted packet 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",
          "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",
            "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 packet"
          },
          "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": "intake form · 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 chats.",
        "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. An agent/ranker pass can turn it into ACTION_PROPOSAL.md later.",
        "acceptanceCriteria": "The idea names one problem, one likely user or place, one proposed output, and any public sources already known.",
        "submitRoute": "Use the form to create a shared redacted Intake card. A reviewer or agent/ranker pass can turn it into a proposal packet before it becomes open work.",
        "tags": [
          "intake",
          "ranking"
        ],
        "columnTitle": "Intake",
        "columnDescription": "Ideas being shaped and ranked before they become open work.",
        "parentMissionSlug": "action-intake",
        "parentMissionTitle": "Action Intake",
        "parentMissionStatus": "Open",
        "parentMissionProgress": "Proposal lane live",
        "parentMissionProgressPercent": 30,
        "parentMissionHref": "/missions/action-intake/",
        "status": "intake",
        "outputType": "Mission packet",
        "reviewPolicy": "Human review is mandatory before any submitted packet 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",
        "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",
          "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 packet"
        },
        "submitIssueUrl": ""
      },
      "contributionStats": {
        "reviewedPackets": 1,
        "pendingPackets": 0,
        "activeClaims": 0,
        "radiclePatches": 0,
        "creditedContributors": 1,
        "latestReviewedAt": "2026-04-24",
        "activityLabel": "1 reviewed packet"
      },
      "actionCount": 1,
      "liveActionCount": 1,
      "shippedActionCount": 0,
      "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 packet 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": ""
    },
    {
      "slug": "agents-for-britain",
      "title": "Agents for Britain",
      "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": "Email the Markdown packet to hello@futureunion.org.uk with subject `Agents for Britain submission`.",
      "actions": [],
      "liveActions": [],
      "shippedActions": [],
      "starterAction": null,
      "contributionStats": {
        "reviewedPackets": 0,
        "pendingPackets": 0,
        "activeClaims": 0,
        "radiclePatches": 0,
        "creditedContributors": 0,
        "latestReviewedAt": "",
        "activityLabel": "Needs first packet"
      },
      "actionCount": 0,
      "liveActionCount": 0,
      "shippedActionCount": 0,
      "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 packet 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": ""
    },
    {
      "slug": "movement-infrastructure",
      "title": "Movement Infrastructure",
      "status": "Building",
      "progress": "Site and owned-list path in build",
      "progressPercent": 65,
      "difficulty": "Medium",
      "timeEstimate": "Ongoing",
      "summary": "The boring but decisive machinery: site, list, imprint, submission routes, and public operating surfaces.",
      "agentRole": "QA flows, inspect copy, generate test packets, audit broken links, and package small fixes.",
      "humanRole": "Own public launch readiness, privacy posture, imprint details, and final publication decisions.",
      "backing": "Needs domain wiring, owned-list production host, packet intake, 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 packet 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 packet 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": "Email the QA packet to hello@futureunion.org.uk with subject `Movement infrastructure QA`.",
      "actions": [
        {
          "slug": "owned-list-front-door",
          "missionSlug": "movement-infrastructure",
          "title": "Owned list front door",
          "summary": "Test the first signup flow so the movement has an owned contact channel from day one.",
          "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": "FU needs an owned relationship with supporters before any platform algorithm decides to sneeze.",
          "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": "Email the QA packet to hello@futureunion.org.uk with subject `Owned list front door`.",
          "tags": [
            "join",
            "email"
          ],
          "columnTitle": "Building",
          "columnDescription": "Work in flight that should stay visible.",
          "parentMissionSlug": "movement-infrastructure",
          "parentMissionTitle": "Movement Infrastructure",
          "parentMissionStatus": "Building",
          "parentMissionProgress": "Site and owned-list path in build",
          "parentMissionProgressPercent": 65,
          "parentMissionHref": "/missions/movement-infrastructure/",
          "status": "building",
          "outputType": "QA note",
          "reviewPolicy": "Human review is mandatory before any submitted packet 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/owned-list-front-door.json",
          "detailHref": "/control-room/actions/owned-list-front-door/",
          "runnerDirectory": "future-union-mission-owned-list-front-door",
          "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 owned-list-front-door",
          "runnerScriptUrl": "/agent-pack/fu-runner.sh",
          "runnerPack": {
            "base": "/agent-pack/actions/owned-list-front-door/",
            "readme": "/agent-pack/actions/owned-list-front-door/README.md",
            "mission": "/agent-pack/actions/owned-list-front-door/MISSION.md",
            "prompt": "/agent-pack/actions/owned-list-front-door/PROMPT.md",
            "packet": "/agent-pack/actions/owned-list-front-door/PACKET.md",
            "sources": "/agent-pack/actions/owned-list-front-door/SOURCES.csv",
            "contribution": "/agent-pack/actions/owned-list-front-door/CONTRIBUTION.md",
            "credit": "/agent-pack/actions/owned-list-front-door/CREDIT.md",
            "intakeIdea": "/agent-pack/actions/owned-list-front-door/INTAKE_IDEA.md",
            "actionProposal": "/agent-pack/actions/owned-list-front-door/ACTION_PROPOSAL.md",
            "submit": "/agent-pack/actions/owned-list-front-door/SUBMIT.md",
            "context": "/agent-pack/actions/owned-list-front-door/context.json",
            "missionContext": "/agent-pack/actions/owned-list-front-door/mission.json",
            "skill": "/agent-pack/actions/owned-list-front-door/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 packet"
          },
          "submitIssueUrl": ""
        },
        {
          "slug": "launch-site-shell",
          "missionSlug": "movement-infrastructure",
          "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,
          "mission": "Keep the public site coherent as FU moves from demo to live.",
          "why": "The website is the movement'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": "movement-infrastructure",
          "parentMissionTitle": "Movement Infrastructure",
          "parentMissionStatus": "Building",
          "parentMissionProgress": "Site and owned-list path in build",
          "parentMissionProgressPercent": 65,
          "parentMissionHref": "/missions/movement-infrastructure/",
          "status": "shipped",
          "outputType": "Mission packet",
          "reviewPolicy": "Human review is mandatory before any submitted packet 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",
          "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",
            "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 packet"
          },
          "submitIssueUrl": ""
        }
      ],
      "liveActions": [
        {
          "slug": "owned-list-front-door",
          "missionSlug": "movement-infrastructure",
          "title": "Owned list front door",
          "summary": "Test the first signup flow so the movement has an owned contact channel from day one.",
          "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": "FU needs an owned relationship with supporters before any platform algorithm decides to sneeze.",
          "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": "Email the QA packet to hello@futureunion.org.uk with subject `Owned list front door`.",
          "tags": [
            "join",
            "email"
          ],
          "columnTitle": "Building",
          "columnDescription": "Work in flight that should stay visible.",
          "parentMissionSlug": "movement-infrastructure",
          "parentMissionTitle": "Movement Infrastructure",
          "parentMissionStatus": "Building",
          "parentMissionProgress": "Site and owned-list path in build",
          "parentMissionProgressPercent": 65,
          "parentMissionHref": "/missions/movement-infrastructure/",
          "status": "building",
          "outputType": "QA note",
          "reviewPolicy": "Human review is mandatory before any submitted packet 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/owned-list-front-door.json",
          "detailHref": "/control-room/actions/owned-list-front-door/",
          "runnerDirectory": "future-union-mission-owned-list-front-door",
          "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 owned-list-front-door",
          "runnerScriptUrl": "/agent-pack/fu-runner.sh",
          "runnerPack": {
            "base": "/agent-pack/actions/owned-list-front-door/",
            "readme": "/agent-pack/actions/owned-list-front-door/README.md",
            "mission": "/agent-pack/actions/owned-list-front-door/MISSION.md",
            "prompt": "/agent-pack/actions/owned-list-front-door/PROMPT.md",
            "packet": "/agent-pack/actions/owned-list-front-door/PACKET.md",
            "sources": "/agent-pack/actions/owned-list-front-door/SOURCES.csv",
            "contribution": "/agent-pack/actions/owned-list-front-door/CONTRIBUTION.md",
            "credit": "/agent-pack/actions/owned-list-front-door/CREDIT.md",
            "intakeIdea": "/agent-pack/actions/owned-list-front-door/INTAKE_IDEA.md",
            "actionProposal": "/agent-pack/actions/owned-list-front-door/ACTION_PROPOSAL.md",
            "submit": "/agent-pack/actions/owned-list-front-door/SUBMIT.md",
            "context": "/agent-pack/actions/owned-list-front-door/context.json",
            "missionContext": "/agent-pack/actions/owned-list-front-door/mission.json",
            "skill": "/agent-pack/actions/owned-list-front-door/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 packet"
          },
          "submitIssueUrl": ""
        }
      ],
      "shippedActions": [
        {
          "slug": "launch-site-shell",
          "missionSlug": "movement-infrastructure",
          "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,
          "mission": "Keep the public site coherent as FU moves from demo to live.",
          "why": "The website is the movement'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": "movement-infrastructure",
          "parentMissionTitle": "Movement Infrastructure",
          "parentMissionStatus": "Building",
          "parentMissionProgress": "Site and owned-list path in build",
          "parentMissionProgressPercent": 65,
          "parentMissionHref": "/missions/movement-infrastructure/",
          "status": "shipped",
          "outputType": "Mission packet",
          "reviewPolicy": "Human review is mandatory before any submitted packet 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",
          "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",
            "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 packet"
          },
          "submitIssueUrl": ""
        }
      ],
      "starterAction": {
        "slug": "owned-list-front-door",
        "missionSlug": "movement-infrastructure",
        "title": "Owned list front door",
        "summary": "Test the first signup flow so the movement has an owned contact channel from day one.",
        "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": "FU needs an owned relationship with supporters before any platform algorithm decides to sneeze.",
        "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": "Email the QA packet to hello@futureunion.org.uk with subject `Owned list front door`.",
        "tags": [
          "join",
          "email"
        ],
        "columnTitle": "Building",
        "columnDescription": "Work in flight that should stay visible.",
        "parentMissionSlug": "movement-infrastructure",
        "parentMissionTitle": "Movement Infrastructure",
        "parentMissionStatus": "Building",
        "parentMissionProgress": "Site and owned-list path in build",
        "parentMissionProgressPercent": 65,
        "parentMissionHref": "/missions/movement-infrastructure/",
        "status": "building",
        "outputType": "QA note",
        "reviewPolicy": "Human review is mandatory before any submitted packet 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/owned-list-front-door.json",
        "detailHref": "/control-room/actions/owned-list-front-door/",
        "runnerDirectory": "future-union-mission-owned-list-front-door",
        "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 owned-list-front-door",
        "runnerScriptUrl": "/agent-pack/fu-runner.sh",
        "runnerPack": {
          "base": "/agent-pack/actions/owned-list-front-door/",
          "readme": "/agent-pack/actions/owned-list-front-door/README.md",
          "mission": "/agent-pack/actions/owned-list-front-door/MISSION.md",
          "prompt": "/agent-pack/actions/owned-list-front-door/PROMPT.md",
          "packet": "/agent-pack/actions/owned-list-front-door/PACKET.md",
          "sources": "/agent-pack/actions/owned-list-front-door/SOURCES.csv",
          "contribution": "/agent-pack/actions/owned-list-front-door/CONTRIBUTION.md",
          "credit": "/agent-pack/actions/owned-list-front-door/CREDIT.md",
          "intakeIdea": "/agent-pack/actions/owned-list-front-door/INTAKE_IDEA.md",
          "actionProposal": "/agent-pack/actions/owned-list-front-door/ACTION_PROPOSAL.md",
          "submit": "/agent-pack/actions/owned-list-front-door/SUBMIT.md",
          "context": "/agent-pack/actions/owned-list-front-door/context.json",
          "missionContext": "/agent-pack/actions/owned-list-front-door/mission.json",
          "skill": "/agent-pack/actions/owned-list-front-door/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 packet"
        },
        "submitIssueUrl": ""
      },
      "contributionStats": {
        "reviewedPackets": 0,
        "pendingPackets": 0,
        "activeClaims": 0,
        "radiclePatches": 0,
        "creditedContributors": 0,
        "latestReviewedAt": "",
        "activityLabel": "Needs first packet"
      },
      "actionCount": 2,
      "liveActionCount": 1,
      "shippedActionCount": 1,
      "detailHref": "/missions/movement-infrastructure/",
      "packetTemplateUrl": "/agent-pack/mission-packet-template.md",
      "issueTemplateUrl": "/agent-pack/github-issue-template.md",
      "reviewPolicy": "Human review is mandatory before any submitted packet 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": ""
    },
    {
      "slug": "britain-build-radar",
      "title": "Britain Build Radar",
      "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": "Email the Markdown packet to hello@futureunion.org.uk with subject `Britain Build Radar`.",
      "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 FU should amplify or investigate it.",
          "submitRoute": "Email hello@futureunion.org.uk with subject `Britain Build Radar`.",
          "tags": [
            "agents",
            "journal"
          ],
          "columnTitle": "Needs backing",
          "columnDescription": "Things that need money, compute, or outside expertise.",
          "parentMissionSlug": "britain-build-radar",
          "parentMissionTitle": "Britain Build Radar",
          "parentMissionStatus": "Scoping",
          "parentMissionProgress": "Seed desk live",
          "parentMissionProgressPercent": 55,
          "parentMissionHref": "/missions/britain-build-radar/",
          "status": "needs-backing",
          "outputType": "Story leads",
          "reviewPolicy": "Human review is mandatory before any submitted packet 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",
          "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",
            "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 packet"
          },
          "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,
          "mission": "Turn the journal into the front page for pro-growth UK scene intelligence.",
          "why": "A movement 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": "Britain Build Radar",
          "parentMissionStatus": "Scoping",
          "parentMissionProgress": "Seed desk live",
          "parentMissionProgressPercent": 55,
          "parentMissionHref": "/missions/britain-build-radar/",
          "status": "shipped",
          "outputType": "Story leads",
          "reviewPolicy": "Human review is mandatory before any submitted packet 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",
          "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",
            "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 packet"
          },
          "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 FU should amplify or investigate it.",
          "submitRoute": "Email hello@futureunion.org.uk with subject `Britain Build Radar`.",
          "tags": [
            "agents",
            "journal"
          ],
          "columnTitle": "Needs backing",
          "columnDescription": "Things that need money, compute, or outside expertise.",
          "parentMissionSlug": "britain-build-radar",
          "parentMissionTitle": "Britain Build Radar",
          "parentMissionStatus": "Scoping",
          "parentMissionProgress": "Seed desk live",
          "parentMissionProgressPercent": 55,
          "parentMissionHref": "/missions/britain-build-radar/",
          "status": "needs-backing",
          "outputType": "Story leads",
          "reviewPolicy": "Human review is mandatory before any submitted packet 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",
          "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",
            "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 packet"
          },
          "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,
          "mission": "Turn the journal into the front page for pro-growth UK scene intelligence.",
          "why": "A movement 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": "Britain Build Radar",
          "parentMissionStatus": "Scoping",
          "parentMissionProgress": "Seed desk live",
          "parentMissionProgressPercent": 55,
          "parentMissionHref": "/missions/britain-build-radar/",
          "status": "shipped",
          "outputType": "Story leads",
          "reviewPolicy": "Human review is mandatory before any submitted packet 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",
          "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",
            "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 packet"
          },
          "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 FU should amplify or investigate it.",
        "submitRoute": "Email hello@futureunion.org.uk with subject `Britain Build Radar`.",
        "tags": [
          "agents",
          "journal"
        ],
        "columnTitle": "Needs backing",
        "columnDescription": "Things that need money, compute, or outside expertise.",
        "parentMissionSlug": "britain-build-radar",
        "parentMissionTitle": "Britain Build Radar",
        "parentMissionStatus": "Scoping",
        "parentMissionProgress": "Seed desk live",
        "parentMissionProgressPercent": 55,
        "parentMissionHref": "/missions/britain-build-radar/",
        "status": "needs-backing",
        "outputType": "Story leads",
        "reviewPolicy": "Human review is mandatory before any submitted packet 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",
        "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",
          "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 packet"
        },
        "submitIssueUrl": ""
      },
      "contributionStats": {
        "reviewedPackets": 1,
        "pendingPackets": 0,
        "activeClaims": 0,
        "radiclePatches": 0,
        "creditedContributors": 1,
        "latestReviewedAt": "2026-04-20",
        "activityLabel": "1 reviewed packet"
      },
      "actionCount": 2,
      "liveActionCount": 1,
      "shippedActionCount": 1,
      "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 packet 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": ""
    },
    {
      "slug": "receipts-desk",
      "title": "Receipts Desk",
      "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 FU 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": "Email the receipt draft to hello@futureunion.org.uk with subject `Receipts Desk`.",
      "actions": [
        {
          "slug": "planning-blockers-sprint",
          "missionSlug": "receipts-desk",
          "title": "Planning blockers sprint",
          "summary": "Pull ten examples of absurd 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 FU raw material for the Growth Index, FU Files, and council-pressure kits.",
          "timeNeeded": "90 minutes",
          "inputs": "Council pages, planning portals, local press, inspectorate decisions, screenshots, public links.",
          "outputFormat": "Markdown packet 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": "Paste the packet into an email to hello@futureunion.org.uk with subject `Planning blockers sprint`.",
          "tags": [
            "receipts",
            "housing"
          ],
          "columnTitle": "Open now",
          "columnDescription": "Low-friction work people can actually do this week.",
          "parentMissionSlug": "receipts-desk",
          "parentMissionTitle": "Receipts Desk",
          "parentMissionStatus": "Pilot",
          "parentMissionProgress": "Seed standards live",
          "parentMissionProgressPercent": 45,
          "parentMissionHref": "/missions/receipts-desk/",
          "status": "open-now",
          "outputType": "Mission packet",
          "reviewPolicy": "Human review is mandatory before any submitted packet 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",
          "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",
            "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 packet"
          },
          "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": "Email hello@futureunion.org.uk with subject `Receipts desk draft`.",
          "tags": [
            "foi",
            "osint"
          ],
          "columnTitle": "Needs backing",
          "columnDescription": "Things that need money, compute, or outside expertise.",
          "parentMissionSlug": "receipts-desk",
          "parentMissionTitle": "Receipts Desk",
          "parentMissionStatus": "Pilot",
          "parentMissionProgress": "Seed standards live",
          "parentMissionProgressPercent": 45,
          "parentMissionHref": "/missions/receipts-desk/",
          "status": "needs-backing",
          "outputType": "Receipt draft",
          "reviewPolicy": "Human review is mandatory before any submitted packet 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",
          "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",
            "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 packet"
          },
          "submitIssueUrl": ""
        }
      ],
      "liveActions": [
        {
          "slug": "planning-blockers-sprint",
          "missionSlug": "receipts-desk",
          "title": "Planning blockers sprint",
          "summary": "Pull ten examples of absurd 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 FU raw material for the Growth Index, FU Files, and council-pressure kits.",
          "timeNeeded": "90 minutes",
          "inputs": "Council pages, planning portals, local press, inspectorate decisions, screenshots, public links.",
          "outputFormat": "Markdown packet 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": "Paste the packet into an email to hello@futureunion.org.uk with subject `Planning blockers sprint`.",
          "tags": [
            "receipts",
            "housing"
          ],
          "columnTitle": "Open now",
          "columnDescription": "Low-friction work people can actually do this week.",
          "parentMissionSlug": "receipts-desk",
          "parentMissionTitle": "Receipts Desk",
          "parentMissionStatus": "Pilot",
          "parentMissionProgress": "Seed standards live",
          "parentMissionProgressPercent": 45,
          "parentMissionHref": "/missions/receipts-desk/",
          "status": "open-now",
          "outputType": "Mission packet",
          "reviewPolicy": "Human review is mandatory before any submitted packet 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",
          "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",
            "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 packet"
          },
          "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": "Email hello@futureunion.org.uk with subject `Receipts desk draft`.",
          "tags": [
            "foi",
            "osint"
          ],
          "columnTitle": "Needs backing",
          "columnDescription": "Things that need money, compute, or outside expertise.",
          "parentMissionSlug": "receipts-desk",
          "parentMissionTitle": "Receipts Desk",
          "parentMissionStatus": "Pilot",
          "parentMissionProgress": "Seed standards live",
          "parentMissionProgressPercent": 45,
          "parentMissionHref": "/missions/receipts-desk/",
          "status": "needs-backing",
          "outputType": "Receipt draft",
          "reviewPolicy": "Human review is mandatory before any submitted packet 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",
          "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",
            "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 packet"
          },
          "submitIssueUrl": ""
        }
      ],
      "shippedActions": [],
      "starterAction": {
        "slug": "planning-blockers-sprint",
        "missionSlug": "receipts-desk",
        "title": "Planning blockers sprint",
        "summary": "Pull ten examples of absurd 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 FU raw material for the Growth Index, FU Files, and council-pressure kits.",
        "timeNeeded": "90 minutes",
        "inputs": "Council pages, planning portals, local press, inspectorate decisions, screenshots, public links.",
        "outputFormat": "Markdown packet 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": "Paste the packet into an email to hello@futureunion.org.uk with subject `Planning blockers sprint`.",
        "tags": [
          "receipts",
          "housing"
        ],
        "columnTitle": "Open now",
        "columnDescription": "Low-friction work people can actually do this week.",
        "parentMissionSlug": "receipts-desk",
        "parentMissionTitle": "Receipts Desk",
        "parentMissionStatus": "Pilot",
        "parentMissionProgress": "Seed standards live",
        "parentMissionProgressPercent": 45,
        "parentMissionHref": "/missions/receipts-desk/",
        "status": "open-now",
        "outputType": "Mission packet",
        "reviewPolicy": "Human review is mandatory before any submitted packet 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",
        "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",
          "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 packet"
        },
        "submitIssueUrl": ""
      },
      "contributionStats": {
        "reviewedPackets": 2,
        "pendingPackets": 0,
        "activeClaims": 0,
        "radiclePatches": 0,
        "creditedContributors": 1,
        "latestReviewedAt": "2026-04-20",
        "activityLabel": "2 reviewed packets"
      },
      "actionCount": 2,
      "liveActionCount": 2,
      "shippedActionCount": 0,
      "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 packet 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": ""
    },
    {
      "slug": "growth-index",
      "title": "Growth Index",
      "status": "Method",
      "progress": "Scoring model drafted",
      "progressPercent": 35,
      "difficulty": "Hard",
      "timeEstimate": "2 hours per source pass",
      "summary": "The flagship data product: rank places by whether they enable growth, then turn the score into pressure, stories, and local action.",
      "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, refresh cadence, limitations, geographic coverage, and how it could be explained to a normal voter. Return a method packet with caveats and recommended next collection step.",
      "deliverableTemplate": "Input; candidate source; coverage; refresh 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": "Email the method packet to hello@futureunion.org.uk with subject `Growth Index source pass`.",
      "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, refresh cadence, obvious caveat, and public-facing explanation.",
          "submitRoute": "Email hello@futureunion.org.uk with subject `Growth Index method note`.",
          "tags": [
            "dashboard",
            "signals"
          ],
          "columnTitle": "Building",
          "columnDescription": "Work in flight that should stay visible.",
          "parentMissionSlug": "growth-index",
          "parentMissionTitle": "Growth Index",
          "parentMissionStatus": "Method",
          "parentMissionProgress": "Scoring model drafted",
          "parentMissionProgressPercent": 35,
          "parentMissionHref": "/missions/growth-index/",
          "status": "building",
          "outputType": "Method note",
          "reviewPolicy": "Human review is mandatory before any submitted packet 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",
          "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",
            "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 packet"
          },
          "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, refresh cadence, obvious caveat, and public-facing explanation.",
          "submitRoute": "Email hello@futureunion.org.uk with subject `Growth Index method note`.",
          "tags": [
            "dashboard",
            "signals"
          ],
          "columnTitle": "Building",
          "columnDescription": "Work in flight that should stay visible.",
          "parentMissionSlug": "growth-index",
          "parentMissionTitle": "Growth Index",
          "parentMissionStatus": "Method",
          "parentMissionProgress": "Scoring model drafted",
          "parentMissionProgressPercent": 35,
          "parentMissionHref": "/missions/growth-index/",
          "status": "building",
          "outputType": "Method note",
          "reviewPolicy": "Human review is mandatory before any submitted packet 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",
          "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",
            "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 packet"
          },
          "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, refresh cadence, obvious caveat, and public-facing explanation.",
        "submitRoute": "Email hello@futureunion.org.uk with subject `Growth Index method note`.",
        "tags": [
          "dashboard",
          "signals"
        ],
        "columnTitle": "Building",
        "columnDescription": "Work in flight that should stay visible.",
        "parentMissionSlug": "growth-index",
        "parentMissionTitle": "Growth Index",
        "parentMissionStatus": "Method",
        "parentMissionProgress": "Scoring model drafted",
        "parentMissionProgressPercent": 35,
        "parentMissionHref": "/missions/growth-index/",
        "status": "building",
        "outputType": "Method note",
        "reviewPolicy": "Human review is mandatory before any submitted packet 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",
        "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",
          "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 packet"
        },
        "submitIssueUrl": ""
      },
      "contributionStats": {
        "reviewedPackets": 0,
        "pendingPackets": 0,
        "activeClaims": 0,
        "radiclePatches": 0,
        "creditedContributors": 0,
        "latestReviewedAt": "",
        "activityLabel": "Needs first packet"
      },
      "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 packet 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": ""
    },
    {
      "slug": "local-proof-map",
      "title": "Local Proof Map",
      "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, intake 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 packet 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": "Email the issue map packet to hello@futureunion.org.uk with subject `Local Proof Map`.",
      "actions": [
        {
          "slug": "issue-map-intake",
          "missionSlug": "local-proof-map",
          "title": "Issue map intake",
          "summary": "Collect the next hundred local complaints worth clustering into themes rather than hot takes.",
          "meta": "movement ops · ongoing",
          "progress": "Open intake",
          "progressPercent": 20,
          "mission": "Interview or collect local issue submissions from people who are annoyed enough to be useful.",
          "why": "FU needs ground truth before choosing target places, candidates, or local campaigns.",
          "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": "Email hello@futureunion.org.uk with subject `Issue map intake`.",
          "tags": [
            "listening",
            "local proof"
          ],
          "columnTitle": "Open now",
          "columnDescription": "Low-friction work people can actually do this week.",
          "parentMissionSlug": "local-proof-map",
          "parentMissionTitle": "Local Proof Map",
          "parentMissionStatus": "Open",
          "parentMissionProgress": "Intake shape live",
          "parentMissionProgressPercent": 25,
          "parentMissionHref": "/missions/local-proof-map/",
          "status": "open-now",
          "outputType": "Issue map",
          "reviewPolicy": "Human review is mandatory before any submitted packet 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",
          "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",
            "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 packet"
          },
          "submitIssueUrl": ""
        }
      ],
      "liveActions": [
        {
          "slug": "issue-map-intake",
          "missionSlug": "local-proof-map",
          "title": "Issue map intake",
          "summary": "Collect the next hundred local complaints worth clustering into themes rather than hot takes.",
          "meta": "movement ops · ongoing",
          "progress": "Open intake",
          "progressPercent": 20,
          "mission": "Interview or collect local issue submissions from people who are annoyed enough to be useful.",
          "why": "FU needs ground truth before choosing target places, candidates, or local campaigns.",
          "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": "Email hello@futureunion.org.uk with subject `Issue map intake`.",
          "tags": [
            "listening",
            "local proof"
          ],
          "columnTitle": "Open now",
          "columnDescription": "Low-friction work people can actually do this week.",
          "parentMissionSlug": "local-proof-map",
          "parentMissionTitle": "Local Proof Map",
          "parentMissionStatus": "Open",
          "parentMissionProgress": "Intake shape live",
          "parentMissionProgressPercent": 25,
          "parentMissionHref": "/missions/local-proof-map/",
          "status": "open-now",
          "outputType": "Issue map",
          "reviewPolicy": "Human review is mandatory before any submitted packet 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",
          "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",
            "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 packet"
          },
          "submitIssueUrl": ""
        }
      ],
      "shippedActions": [],
      "starterAction": {
        "slug": "issue-map-intake",
        "missionSlug": "local-proof-map",
        "title": "Issue map intake",
        "summary": "Collect the next hundred local complaints worth clustering into themes rather than hot takes.",
        "meta": "movement ops · ongoing",
        "progress": "Open intake",
        "progressPercent": 20,
        "mission": "Interview or collect local issue submissions from people who are annoyed enough to be useful.",
        "why": "FU needs ground truth before choosing target places, candidates, or local campaigns.",
        "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": "Email hello@futureunion.org.uk with subject `Issue map intake`.",
        "tags": [
          "listening",
          "local proof"
        ],
        "columnTitle": "Open now",
        "columnDescription": "Low-friction work people can actually do this week.",
        "parentMissionSlug": "local-proof-map",
        "parentMissionTitle": "Local Proof Map",
        "parentMissionStatus": "Open",
        "parentMissionProgress": "Intake shape live",
        "parentMissionProgressPercent": 25,
        "parentMissionHref": "/missions/local-proof-map/",
        "status": "open-now",
        "outputType": "Issue map",
        "reviewPolicy": "Human review is mandatory before any submitted packet 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",
        "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",
          "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 packet"
        },
        "submitIssueUrl": ""
      },
      "contributionStats": {
        "reviewedPackets": 0,
        "pendingPackets": 0,
        "activeClaims": 0,
        "radiclePatches": 0,
        "creditedContributors": 0,
        "latestReviewedAt": "",
        "activityLabel": "Needs first packet"
      },
      "actionCount": 1,
      "liveActionCount": 1,
      "shippedActionCount": 0,
      "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 packet 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": ""
    }
  ],
  "contributions": [
    {
      "id": "claim-20260425-6d68980d",
      "missionSlug": "receipts-desk",
      "actionSlug": "receipts-desk",
      "missionTitle": "Receipts Desk",
      "title": "Claimed: Receipts desk",
      "contributor": "Anonymous contributor",
      "agent": "local runner",
      "compute": "Claim only; packet not reviewed yet",
      "status": "claimed",
      "outputType": "Mission claim",
      "summary": "Claimed a Future Union mission locally. Reviewed credit still requires a useful packet.",
      "receivedAt": "2026-04-25",
      "shareStatus": "local",
      "creditWeight": "claim",
      "creditReason": "Shows active local work; reviewed credit requires a useful packet."
    },
    {
      "id": "claim-20260425-8c6426cc",
      "missionSlug": "receipts-desk",
      "actionSlug": "receipts-desk",
      "missionTitle": "Receipts Desk",
      "title": "Claimed: Receipts desk",
      "contributor": "Anonymous contributor",
      "agent": "local runner",
      "compute": "Claim only; packet not reviewed yet",
      "status": "claimed",
      "outputType": "Mission claim",
      "summary": "Claimed a Future Union mission locally. Reviewed credit still requires a useful packet.",
      "receivedAt": "2026-04-25",
      "shareStatus": "local",
      "creditWeight": "claim",
      "creditReason": "Shows active local work; reviewed credit requires a useful packet."
    },
    {
      "id": "claim-20260425-b2e157c1",
      "missionSlug": "receipts-desk",
      "actionSlug": "receipts-desk",
      "missionTitle": "Receipts Desk",
      "title": "Claimed: Receipts desk",
      "contributor": "Anonymous contributor",
      "agent": "local runner",
      "compute": "Claim only; packet not reviewed yet",
      "status": "claimed",
      "outputType": "Mission claim",
      "summary": "Claimed a Future Union mission locally. Reviewed credit still requires a useful packet.",
      "receivedAt": "2026-04-25",
      "shareStatus": "local",
      "creditWeight": "claim",
      "creditReason": "Shows active local work; reviewed credit requires a useful packet."
    },
    {
      "id": "seed-action-intake",
      "missionSlug": "action-intake",
      "actionSlug": "action-idea-intake",
      "missionTitle": "Action Intake",
      "title": "Action ideas need a ranking packet",
      "contributor": "Future Union Desk",
      "agent": "Human + action-ranker sketch",
      "compute": "Self-reported: design seed, no tracked token total",
      "status": "reviewed",
      "outputType": "Proposal pattern",
      "summary": "Defined the first action-intake standard: problem, sourceability, proposed output, time box, impact, risk, and reviewer question.",
      "reviewerNote": "Use as a seed queue shape. Real user proposals need human review before becoming public board cards.",
      "creditWeight": "method seed",
      "creditReason": "Useful as a queue pattern, not proof that any public action has been verified.",
      "receivedAt": "2026-04-24",
      "publicHref": "/control-room/actions/propose/"
    },
    {
      "id": "seed-planning-blockers-sprint",
      "missionSlug": "receipts-desk",
      "actionSlug": "planning-blockers-sprint",
      "missionTitle": "Receipts Desk",
      "title": "Planning delay examples need a standard packet",
      "contributor": "Future Union Desk",
      "agent": "Codex-assisted desk research",
      "compute": "Self-reported: seed example, no tracked token total",
      "status": "used",
      "outputType": "Evidence packet pattern",
      "summary": "Turned the action-board brief into a repeatable packet shape: named place, blocker type, public link, confidence, caveat, and one FU action.",
      "reviewerNote": "Good enough as a seed pattern. Real examples still need source-by-source verification before public use.",
      "creditWeight": "packet pattern",
      "creditReason": "Defines the evidence shape future packets should meet before public use.",
      "receivedAt": "2026-04-20",
      "publicHref": "/control-room/actions/planning-blockers-sprint/"
    },
    {
      "id": "seed-receipts-desk",
      "missionSlug": "receipts-desk",
      "missionTitle": "Receipts Desk",
      "title": "Receipt cards should be claims, not essays",
      "contributor": "Future Union Desk",
      "agent": "Human + AI source pass",
      "compute": "Self-reported: not measured",
      "status": "credited",
      "outputType": "Review rule",
      "summary": "Defined the receipts standard: one narrow claim, one public source trail, checked date, caveats, and a plain-English reason it matters.",
      "reviewerNote": "Use this as the QA bar for future Growth Index and FU Files submissions.",
      "creditWeight": "review rule",
      "creditReason": "Establishes the public claim standard; not a replacement for source review.",
      "receivedAt": "2026-04-20",
      "publicHref": "/receipts/"
    },
    {
      "id": "seed-britain-build-radar",
      "missionSlug": "britain-build-radar",
      "missionTitle": "Britain Build Radar",
      "title": "The movement needs positive builder radar, not only failure archaeology",
      "contributor": "Future Union Desk",
      "agent": "Manual editorial scoping",
      "compute": "Self-reported: no agent run",
      "status": "reviewed",
      "outputType": "Editorial lane",
      "summary": "Proposed a recurring scan for pro-growth wins, blocked projects, under-covered local delivery, and people worth amplifying.",
      "reviewerNote": "Needs a real weekly source list before it becomes a public recurring product.",
      "creditWeight": "editorial lane",
      "creditReason": "Useful mission direction, pending a repeatable source list and cadence.",
      "receivedAt": "2026-04-20",
      "publicHref": "/missions/britain-build-radar/"
    }
  ],
  "intakeIdeas": [],
  "contributionStatuses": [
    "claimed",
    "submitted",
    "published_packet_pending_review",
    "reviewed",
    "credited",
    "used",
    "superseded",
    "rejected"
  ],
  "intakeStatuses": [
    "received",
    "verifying",
    "proposal_ready",
    "promoted",
    "held",
    "rejected"
  ]
}