{
  "version": "s12",
  "decisions": [
    {
      "id": "tasks-as-files",
      "title": "Tasks Are Durable JSON Files",
      "description": "Each task is persisted under .tasks/ with id, subject, description, status, owner, and blockedBy. The task board survives context compaction and process restarts.",
      "alternatives": "In-memory tasks are easier to code, but vanish exactly when long-running coordination needs them most.",
      "zh": {
        "title": "任务是持久 JSON 文件",
        "description": "每个任务都持久化在 .tasks/ 下，包含 id、subject、description、status、owner、blockedBy。任务板能跨上下文压缩和进程重启保留。"
      },
      "ja": {
        "title": "タスクは永続 JSON ファイル",
        "description": "各タスクは .tasks/ に id、subject、description、status、owner、blockedBy を持って保存されます。タスクボードはコンテキスト圧縮や再起動を越えて残ります。"
      }
    },
    {
      "id": "blockedby-dependencies",
      "title": "blockedBy Encodes Ordering",
      "description": "A task can only be claimed when all blockedBy dependencies are completed. Missing dependencies are treated as blocked to fail closed.",
      "alternatives": "Letting the model remember ordering is fragile and hard for teammates to share.",
      "zh": {
        "title": "blockedBy 编码任务顺序",
        "description": "只有所有 blockedBy 依赖都完成时，任务才能被 claim。缺失依赖也被视为阻塞，采用 fail closed。"
      },
      "ja": {
        "title": "blockedBy が順序を表現する",
        "description": "blockedBy の依存がすべて完了した時だけタスクを claim できます。存在しない依存もブロック扱いにして fail closed にします。"
      }
    },
    {
      "id": "claim-complete-lifecycle",
      "title": "Claim and Complete Make Work Observable",
      "description": "claim_task records an owner and in_progress state; complete_task marks completion and reports downstream tasks that became unblocked.",
      "alternatives": "A simple checklist can say done, but it cannot safely coordinate ownership or dependencies.",
      "zh": {
        "title": "Claim 和 Complete 让工作可观察",
        "description": "claim_task 记录 owner 和 in_progress 状态；complete_task 标记完成，并报告被解锁的下游任务。"
      },
      "ja": {
        "title": "claim と complete が作業を観測可能にする",
        "description": "claim_task は owner と in_progress を記録し、complete_task は完了を記録して解放された下流タスクを報告します。"
      }
    }
  ]
}
