{
  "generatedAt": "2026-10-29T01:11:46.927Z",
  "commit": "dfa6691a45e35dad8ce69d178c60c1394ac69326",
  "source": {
    "roadmap": "docs/ROADMAP.md",
    "github": "mark1russell7/layout-contract"
  },
  "items": [
    {
      "id": "L5",
      "title": "highways reads the contract",
      "status": "in progress",
      "statusClass": "progress",
      "section": "In progress",
      "line": 9,
      "links": []
    },
    {
      "id": "L34",
      "title": "The strategy space as data",
      "status": "in progress",
      "statusClass": "progress",
      "section": "In progress",
      "line": 10,
      "links": []
    },
    {
      "id": "L35",
      "title": "A nightly sweep over the strategy space in CI",
      "status": "in progress",
      "statusClass": "progress",
      "section": "In progress",
      "line": 11,
      "links": []
    },
    {
      "id": "L43",
      "title": "Joint compare page and playground with every strategy",
      "status": "in progress",
      "statusClass": "progress",
      "section": "In progress",
      "line": 12,
      "links": []
    },
    {
      "id": "L51",
      "title": "Close the 3 corpus API gaps that packing found in k73",
      "status": "in progress",
      "statusClass": "progress",
      "section": "In progress",
      "line": 13,
      "links": []
    },
    {
      "id": "L56",
      "title": "A port position relative to its side (Port.along)",
      "status": "in progress",
      "statusClass": "progress",
      "section": "In progress",
      "line": 14,
      "links": []
    },
    {
      "id": "L36",
      "title": "Efficacy maps",
      "status": "next",
      "statusClass": "open",
      "section": "Next",
      "line": 20,
      "links": []
    },
    {
      "id": "L40",
      "title": "Confirm the first joint default",
      "status": "next",
      "statusClass": "open",
      "section": "Next",
      "line": 21,
      "links": []
    },
    {
      "id": "L41",
      "title": "A pack() default entry in the joint bench",
      "status": "next",
      "statusClass": "open",
      "section": "Next",
      "line": 22,
      "links": []
    },
    {
      "id": "L44",
      "title": "The atlas of the joint space",
      "status": "next",
      "statusClass": "open",
      "section": "Next",
      "line": 23,
      "links": []
    },
    {
      "id": "L47",
      "title": "Graph-aware item order",
      "status": "next",
      "statusClass": "open",
      "section": "Next",
      "line": 24,
      "links": []
    },
    {
      "id": "L52",
      "title": "Measure joint space coverage, with a weekly trend that rises",
      "status": "next",
      "statusClass": "open",
      "section": "Next",
      "line": 25,
      "links": []
    },
    {
      "id": "L12",
      "title": "Routing-aware placement costs",
      "status": "later",
      "statusClass": "later",
      "section": "Later",
      "line": 31,
      "links": []
    },
    {
      "id": "L14",
      "title": "Port-aware placement",
      "status": "later",
      "statusClass": "later",
      "section": "Later",
      "line": 32,
      "links": []
    },
    {
      "id": "L15",
      "title": "Joint search",
      "status": "later",
      "statusClass": "later",
      "section": "Later",
      "line": 33,
      "links": []
    },
    {
      "id": "L16",
      "title": "A learned selector over the pair",
      "status": "later",
      "statusClass": "later",
      "section": "Later",
      "line": 34,
      "links": []
    },
    {
      "id": "L25",
      "title": "A cooperative time budget for portfolio() members",
      "status": "later",
      "statusClass": "later",
      "section": "Later",
      "line": 35,
      "links": []
    },
    {
      "id": "L37",
      "title": "Joint verdicts under both weightings (SCREEN-WEIGHT)",
      "status": "later",
      "statusClass": "later",
      "section": "Later",
      "line": 36,
      "links": []
    },
    {
      "id": "L38",
      "title": "A select rule learned on the joint records",
      "status": "later",
      "statusClass": "later",
      "section": "Later",
      "line": 37,
      "links": []
    },
    {
      "id": "L48",
      "title": "Route-first skeleton",
      "status": "later",
      "statusClass": "later",
      "section": "Later",
      "line": 38,
      "links": []
    },
    {
      "id": "L50",
      "title": "Force-directed refinement after pack",
      "status": "later",
      "statusClass": "later",
      "section": "Later",
      "line": 39,
      "links": []
    },
    {
      "id": "L53",
      "title": "Mark solved regions in the atlas",
      "status": "later",
      "statusClass": "later",
      "section": "Later",
      "line": 40,
      "links": []
    },
    {
      "id": "L54",
      "title": "Grow the joint input families every week",
      "status": "later",
      "statusClass": "later",
      "section": "Later",
      "line": 41,
      "links": []
    },
    {
      "id": "L55",
      "title": "Survey joint place-and-route methods as data",
      "status": "later",
      "statusClass": "later",
      "section": "Later",
      "line": 42,
      "links": []
    },
    {
      "id": "L1",
      "title": "Answer the 5 open questions of the Packer draft",
      "status": "done",
      "statusClass": "done",
      "section": "Done",
      "line": 48,
      "links": []
    },
    {
      "id": "L2",
      "title": "s47: the home of the shared contract",
      "status": "done",
      "statusClass": "done",
      "section": "Done",
      "line": 49,
      "links": []
    },
    {
      "id": "L3",
      "title": "npm bootstrap of the contract package",
      "status": "done",
      "statusClass": "done",
      "section": "Done",
      "line": 50,
      "links": []
    },
    {
      "id": "L4",
      "title": "packing builds the Packer on the contract",
      "status": "done",
      "statusClass": "done",
      "section": "Done",
      "line": 51,
      "links": []
    },
    {
      "id": "L7",
      "title": "s49: the joint measures (joint.*)",
      "status": "done",
      "statusClass": "done",
      "section": "Done",
      "line": 52,
      "links": []
    },
    {
      "id": "L8",
      "title": "The joint corpus",
      "status": "done",
      "statusClass": "done",
      "section": "Done",
      "line": 53,
      "links": []
    },
    {
      "id": "L9",
      "title": "The joint benchmark in CI",
      "status": "done",
      "statusClass": "done",
      "section": "Done",
      "line": 54,
      "links": []
    },
    {
      "id": "L10",
      "title": "The sequential baseline: pack, then route",
      "status": "done",
      "statusClass": "done",
      "section": "Done",
      "line": 55,
      "links": []
    },
    {
      "id": "L11",
      "title": "Iterate place, route, place",
      "status": "done",
      "statusClass": "done",
      "section": "Done",
      "line": 56,
      "links": []
    },
    {
      "id": "L13",
      "title": "Routing-aware gaps",
      "status": "done",
      "statusClass": "done",
      "section": "Done",
      "line": 57,
      "links": []
    },
    {
      "id": "L17",
      "title": "One compare helper: compareMeasure and minEffect (contract 0.2.2)",
      "status": "done",
      "statusClass": "done",
      "section": "Done",
      "line": 58,
      "links": []
    },
    {
      "id": "L18",
      "title": "An exact container test in packHard",
      "status": "done",
      "statusClass": "done",
      "section": "Done",
      "line": 59,
      "links": []
    },
    {
      "id": "L19",
      "title": "Output hash and output groups for the promotion guards",
      "status": "done",
      "statusClass": "done",
      "section": "Done",
      "line": 60,
      "links": []
    },
    {
      "id": "L20",
      "title": "One portfolio combinator for packing, highways and the joint runner",
      "status": "done",
      "statusClass": "done",
      "section": "Done",
      "line": 61,
      "links": []
    },
    {
      "id": "L21",
      "title": "joint-v2: every input gets margin + gap above 0 (d7), with a gap-0 stress cell",
      "status": "done",
      "statusClass": "done",
      "section": "Done",
      "line": 62,
      "links": []
    },
    {
      "id": "L22",
      "title": "A shared corpus claims check in the contract, for packing, highways and the joint corpus",
      "status": "done",
      "statusClass": "done",
      "section": "Done",
      "line": 63,
      "links": []
    },
    {
      "id": "L23",
      "title": "Ties on the record grid: compareMeasure without float noise (0.2.7)",
      "status": "done",
      "statusClass": "done",
      "section": "Done",
      "line": 64,
      "links": []
    },
    {
      "id": "L24",
      "title": "Shared PROMOTION.md blocks with pinned hashes in all three repos",
      "status": "done",
      "statusClass": "done",
      "section": "Done",
      "line": 65,
      "links": []
    },
    {
      "id": "L26",
      "title": "Caller profiles: guards per profile in the shared promotion rule",
      "status": "done",
      "statusClass": "done",
      "section": "Done",
      "line": 66,
      "links": []
    },
    {
      "id": "L27",
      "title": "portfolio(): option hashes \"pick\" skips the hash of members that do not decide picked",
      "status": "done",
      "statusClass": "done",
      "section": "Done",
      "line": 67,
      "links": []
    },
    {
      "id": "L28",
      "title": "Joint runner on highways 0.6.0 (exactStretches) and packing 0.2.10",
      "status": "done",
      "statusClass": "done",
      "section": "Done",
      "line": 68,
      "links": []
    },
    {
      "id": "L29",
      "title": "Refit the shard cost plan from measured times",
      "status": "done",
      "statusClass": "done",
      "section": "Done",
      "line": 69,
      "links": []
    },
    {
      "id": "L30",
      "title": "Profile and speed up the joint measures and facts",
      "status": "done",
      "statusClass": "done",
      "section": "Done",
      "line": 70,
      "links": []
    },
    {
      "id": "L31",
      "title": "Move the joint bench to highways 0.8.0",
      "status": "done",
      "statusClass": "done",
      "section": "Done",
      "line": 71,
      "links": []
    },
    {
      "id": "L32",
      "title": "Add the select packer and measure the new default pair",
      "status": "done",
      "statusClass": "done",
      "section": "Done",
      "line": 72,
      "links": []
    },
    {
      "id": "L33",
      "title": "Move the joint bench to highways 0.8.1 (ROUTE-SCALE)",
      "status": "done",
      "statusClass": "done",
      "section": "Done",
      "line": 73,
      "links": []
    },
    {
      "id": "L39",
      "title": "A pool of fixed member sets in strategy-space",
      "status": "done",
      "statusClass": "done",
      "section": "Done",
      "line": 74,
      "links": []
    },
    {
      "id": "L42",
      "title": "The layout-contract site on GitHub Pages",
      "status": "done",
      "statusClass": "done",
      "section": "Done",
      "line": 75,
      "links": []
    },
    {
      "id": "L45",
      "title": "One shared corpus generator in layout-contract",
      "status": "done",
      "statusClass": "done",
      "section": "Done",
      "line": 76,
      "links": []
    },
    {
      "id": "L46",
      "title": "Shape kind as a contract dimension",
      "status": "done",
      "statusClass": "done",
      "section": "Done",
      "line": 77,
      "links": []
    },
    {
      "id": "L49",
      "title": "Spacing per channel",
      "status": "done",
      "statusClass": "done",
      "section": "Done",
      "line": 78,
      "links": []
    }
  ],
  "pullRequests": [
    {
      "number": 70,
      "title": "joint, site: use highways 0.9.1 (schemas, families, wave-3 routers, space bench-3)",
      "url": "https://github.com/mark1russell7/layout-contract/pull/70",
      "author": "mark1russell7",
      "branch": "worktree-agent-a8ca57acc3b3b9287",
      "draft": false,
      "createdAt": "2026-10-28T23:40:24Z",
      "updatedAt": "2026-10-28T23:40:24Z",
      "labels": [],
      "checks": "success"
    }
  ],
  "issues": [
    {
      "number": 3,
      "title": "Dependency Dashboard",
      "url": "https://github.com/mark1russell7/layout-contract/issues/3",
      "author": "renovate",
      "createdAt": "2026-10-27T17:46:05Z",
      "updatedAt": "2026-10-28T22:10:42Z",
      "labels": []
    }
  ],
  "github": {
    "available": true,
    "totals": {
      "pullRequests": 1,
      "issues": 1
    }
  }
}
