{
  "product": "Specification (reference)",
  "title": "Kanban Board",
  "summary": "Columns and draggable cards with WIP limits, filtering and persistence.",
  "category": "apps",
  "entries": [
    {
      "path": [
        "AI",
        "Model",
        "Boards, columns, cards"
      ],
      "value": "ordered",
      "status": "yes",
      "note": "cards ordered within columns, columns within board"
    },
    {
      "path": [
        "AI",
        "Model",
        "Card fields"
      ],
      "value": "title, desc, labels, due",
      "status": "yes",
      "note": ""
    },
    {
      "path": [
        "AI",
        "Model",
        "Move card between columns"
      ],
      "value": "",
      "status": "yes",
      "note": "position preserved; reorder within column"
    },
    {
      "path": [
        "AI",
        "Model",
        "Archive card/column"
      ],
      "value": "",
      "status": "yes",
      "note": "recoverable, not deleted"
    },
    {
      "path": [
        "AI",
        "Model",
        "WIP limit per column"
      ],
      "value": "",
      "status": "yes",
      "note": "over-limit visually flagged, not blocked"
    },
    {
      "path": [
        "AI",
        "Persistence",
        "Board survives reload"
      ],
      "value": "",
      "status": "yes",
      "note": "local store or backend"
    },
    {
      "path": [
        "AI",
        "Persistence",
        "Export/import board"
      ],
      "value": "JSON",
      "status": "yes",
      "note": ""
    },
    {
      "path": [
        "AI",
        "Search",
        "Filter cards"
      ],
      "value": "text, label, due",
      "status": "yes",
      "note": "live filter, columns keep structure"
    },
    {
      "path": [
        "UI",
        "Board",
        "Columns side by side, horizontal scroll"
      ],
      "value": "",
      "status": "yes",
      "note": ""
    },
    {
      "path": [
        "UI",
        "Board",
        "Drag & drop cards"
      ],
      "value": "",
      "status": "yes",
      "note": "with drop placeholder; keyboard alternative"
    },
    {
      "path": [
        "UI",
        "Board",
        "Drag to reorder columns"
      ],
      "value": "",
      "status": "yes",
      "note": ""
    },
    {
      "path": [
        "UI",
        "Board",
        "Add card inline at column bottom"
      ],
      "value": "",
      "status": "yes",
      "note": "Enter adds, Esc cancels"
    },
    {
      "path": [
        "UI",
        "Card",
        "Open card detail dialog"
      ],
      "value": "",
      "status": "yes",
      "note": "edit title/desc/labels/due"
    },
    {
      "path": [
        "UI",
        "Card",
        "Label colors visible on card front"
      ],
      "value": "",
      "status": "yes",
      "note": ""
    },
    {
      "path": [
        "UI",
        "Card",
        "Due date state"
      ],
      "value": "overdue highlighted",
      "status": "yes",
      "note": ""
    },
    {
      "path": [
        "UI",
        "Chrome",
        "Board switcher"
      ],
      "value": "",
      "status": "yes",
      "note": "multiple boards"
    },
    {
      "path": [
        "UI",
        "Chrome",
        "Filter bar with active-filter chips"
      ],
      "value": "",
      "status": "yes",
      "note": ""
    }
  ]
}
