{
  "schema": "semiagora.openroad-starter-flow-backlog.v1",
  "version": "2026-08-16-v73",
  "generatedAtKst": "2026-08-16",
  "status": "public_site_v73_promoted_backlog",
  "purpose": "Rights-clean OpenROAD/OpenLane starter path for report literacy, tiny reproducible flows, and SRAM peripheral implementation evidence.",
  "counts": {
    "starterCandidates": 12,
    "promotedBrowserLabs": 1,
    "rows": 144,
    "designSeeds": 3,
    "sampleReports": 3,
    "liveServerRuns": 0
  },
  "promoted": {
    "id": "SA-EDA-OPENROAD-STARTER-002",
    "projectRoute": "/projects/openroad-starter-flow",
    "simulationRoute": "/simulations/openroad-starter-flow-qor-parser",
    "csv": "/data/openroad-starter-flow-qor-v1.csv",
    "webModel": "/data/openroad-starter-flow-web-v1.json"
  },
  "starterCandidates": [
    {
      "id": "openroad-inverter-chain-flow",
      "title": "Inverter chain RTL-to-report starter",
      "target_artifacts": [
        "rtl/top.v",
        "constraints.sdc",
        "config.json",
        "qor.rpt",
        "timing.rpt"
      ],
      "learning_value": "Smallest reproducible flow for synthesis, placement, route, and report parsing."
    },
    {
      "id": "openroad-counter-timing-closure",
      "title": "8-bit counter timing-closure replay",
      "target_artifacts": [
        "counter.v",
        "clock.sdc",
        "sta_summary.csv",
        "timing_paths.md"
      ],
      "learning_value": "Shows register-to-register setup pressure and WNS/TNS interpretation."
    },
    {
      "id": "openroad-sram-peripheral-proxy",
      "title": "SRAM peripheral decoder and wordline-driver proxy",
      "target_artifacts": [
        "decoder_proxy.v",
        "wl_driver_proxy.v",
        "floorplan_notes.md",
        "route_markers.csv"
      ],
      "learning_value": "Connects memory-peripheral structure to placement, fanout, congestion, and timing evidence."
    },
    {
      "id": "opensta-path-parser",
      "title": "OpenSTA timing-path parser",
      "target_artifacts": [
        "timing.rpt",
        "parsed_paths.csv",
        "slack_histogram.json"
      ],
      "learning_value": "Separates clock period, data arrival, required time, uncertainty, and slack."
    },
    {
      "id": "congestion-heatmap-csv",
      "title": "Floorplan congestion heatmap CSV",
      "target_artifacts": [
        "congestion.rpt",
        "congestion_tiles.csv",
        "route_risk_card.md"
      ],
      "learning_value": "Teaches why utilization and macro/blockage choices shape routing risk."
    },
    {
      "id": "drc-marker-triage",
      "title": "DRC marker triage report replay",
      "target_artifacts": [
        "drc.rpt",
        "marker_taxonomy.csv",
        "triage_notes.md"
      ],
      "learning_value": "Keeps rule-deck details private while teaching marker grouping and evidence cards."
    },
    {
      "id": "liberty-corner-compare",
      "title": "Liberty corner comparison",
      "target_artifacts": [
        "corner_manifest.json",
        "setup_slack.csv",
        "hold_slack.csv"
      ],
      "learning_value": "Shows why corner, voltage, temperature, and library choice must stay attached."
    },
    {
      "id": "cts-skew-report-reading",
      "title": "CTS skew and latency report reading",
      "target_artifacts": [
        "cts.rpt",
        "skew_table.csv",
        "clock_tree_notes.md"
      ],
      "learning_value": "Connects clock-tree state to timing paths without implying signoff quality."
    },
    {
      "id": "pdn-ir-proxy",
      "title": "PDN and IR-drop proxy report",
      "target_artifacts": [
        "pdn_grid_notes.md",
        "ir_drop_proxy.csv",
        "rail_limit_card.md"
      ],
      "learning_value": "Introduces power-grid evidence before any advanced EMIR workflow."
    },
    {
      "id": "github-actions-repro-check",
      "title": "GitHub Actions repro-check package",
      "target_artifacts": [
        "workflow.yml",
        "manifest.json",
        "expected_hashes.json",
        "README.md"
      ],
      "learning_value": "Makes the repository testable without proprietary inputs."
    },
    {
      "id": "sram-sense-control-proxy",
      "title": "SRAM sense/precharge control proxy",
      "target_artifacts": [
        "sense_control_proxy.v",
        "timing_constraints.sdc",
        "qor_delta.csv"
      ],
      "learning_value": "Extends the SRAM track from analog margin into digital implementation evidence."
    },
    {
      "id": "report-to-portfolio-template",
      "title": "Report-to-portfolio evidence template",
      "target_artifacts": [
        "methods.md",
        "limits.md",
        "source_spine.md",
        "claim_card.md"
      ],
      "learning_value": "Turns tool output into a public artifact with boundaries and citations."
    }
  ],
  "summary": [
    {
      "design": "inverter_chain",
      "title": "Inverter chain",
      "rows": 48,
      "min_wns_ns_proxy": 0.39171,
      "max_wns_ns_proxy": 2.61969,
      "clean_read_rows": 44,
      "max_congestion_risk_proxy": 0.99205,
      "max_drc_marker_count_proxy": 9,
      "mean_dynamic_power_mw_proxy": 0.45561
    },
    {
      "design": "counter_8bit",
      "title": "8-bit counter",
      "rows": 48,
      "min_wns_ns_proxy": -0.24661,
      "max_wns_ns_proxy": 2.21029,
      "clean_read_rows": 32,
      "max_congestion_risk_proxy": 1.03515,
      "max_drc_marker_count_proxy": 10,
      "mean_dynamic_power_mw_proxy": 2.51222
    },
    {
      "design": "sram_peripheral_proxy",
      "title": "SRAM peripheral proxy",
      "rows": 48,
      "min_wns_ns_proxy": -0.72077,
      "max_wns_ns_proxy": 1.90676,
      "clean_read_rows": 23,
      "max_congestion_risk_proxy": 1.10805,
      "max_drc_marker_count_proxy": 13,
      "mean_dynamic_power_mw_proxy": 6.49578
    }
  ],
  "sampleReports": [
    {
      "design": "inverter_chain",
      "label": "Inverter chain sample proxy QoR report",
      "href": "/data/openroad_starter_inverter_chain_qor.rpt",
      "localFile": "sample_reports/openroad_starter_inverter_chain_qor.rpt"
    },
    {
      "design": "counter_8bit",
      "label": "8-bit counter sample proxy QoR report",
      "href": "/data/openroad_starter_counter_8bit_qor.rpt",
      "localFile": "sample_reports/openroad_starter_counter_8bit_qor.rpt"
    },
    {
      "design": "sram_peripheral_proxy",
      "label": "SRAM peripheral proxy sample proxy QoR report",
      "href": "/data/openroad_starter_sram_peripheral_proxy_qor.rpt",
      "localFile": "sample_reports/openroad_starter_sram_peripheral_proxy_qor.rpt"
    }
  ],
  "sourceSpine": [
    {
      "label": "OpenROAD Flow Scripts GitHub",
      "url": "https://github.com/The-OpenROAD-Project/OpenROAD-flow-scripts",
      "use": "Official ORFS repository anchoring RTL-to-GDS flow-stage vocabulary and public-flow boundary language."
    },
    {
      "label": "OpenROAD Flow Scripts tutorial",
      "url": "https://openroad-flow-scripts.readthedocs.io/en/latest/tutorials/FlowTutorial.html",
      "use": "Official tutorial anchoring synthesis, floorplan, placement, CTS, routing, and result-review sequence."
    },
    {
      "label": "OpenLane 2 documentation",
      "url": "https://openlane2.readthedocs.io/en/latest/",
      "use": "Official OpenLane 2 documentation anchoring configurable open digital-ASIC flow vocabulary."
    },
    {
      "label": "OpenLane timing-closure documentation",
      "url": "https://openlane2.readthedocs.io/en/latest/usage/timing_closure/index.html",
      "use": "Official timing-closure page anchoring setup/hold, path, slack, and STA interpretation language."
    },
    {
      "label": "OpenSTA GitHub",
      "url": "https://github.com/The-OpenROAD-Project/OpenSTA",
      "use": "Official OpenSTA repository anchoring static timing report inputs and gate-level timing-verifier vocabulary."
    }
  ],
  "publicBoundary": [
    "Precomputed educational proxy data only.",
    "No live server OpenROAD, OpenLane, OpenSTA, ngspice, or TCAD execution.",
    "No user-supplied RTL, netlist, PDK, Liberty, LEF/DEF, SPEF, SDC, private report, account, payment, comment, newsletter, job, or event workflow.",
    "No PDK redistribution, proprietary source mirroring, tapeout-ready flow, product claim, or signoff claim.",
    "Run real tools locally or in a rights-cleared repository before reusing any QoR value outside teaching."
  ],
  "measuredReplacementSlots": [
    "real ORFS generated report logs",
    "OpenSTA timing path reports",
    "OpenLane run metadata",
    "open PDK/library version manifest",
    "GitHub Actions reproducibility status",
    "route marker CSV",
    "congestion report",
    "power report"
  ]
}