{
  "id": "expert-lens-review-desk",
  "name": "Review Desk",
  "theme": "expert-lens",
  "category": "App Shell",
  "description": "A reviewer workspace where the submission, the criteria and your verdict are all on screen at once, because switching tabs is how reviews get inconsistent.",
  "layout": "Three columns at 240px / 1fr / 320px — assignment list, submission text, scoring panel; the scoring panel is the only lit surface and the rest recedes.",
  "modules": [
    {
      "key": "assign",
      "name": "Assignment list",
      "html": "\n<aside class=\"asg\">\n  <div class=\"asg-h\"><span>Round 3</span><b>7 left</b></div>\n  <ul>\n    <li class=\"on\"><h4>Adaptive sampling under drift</h4><p>#0412 · 22 pages</p><span class=\"pill\">In review</span></li>\n    <li><h4>A note on partial identification</h4><p>#0418 · 9 pages</p><span class=\"pill\">Queued</span></li>\n    <li><h4>Reproducibility of the 2024 panel</h4><p>#0421 · 31 pages</p><span class=\"pill\">Queued</span></li>\n    <li class=\"done\"><h4>Cost curves in cold storage</h4><p>#0404 · 14 pages</p><span class=\"pill ok\">Submitted</span></li>\n  </ul>\n</aside>"
    },
    {
      "key": "paper",
      "name": "Submission",
      "html": "\n<main class=\"paper\">\n  <header><span class=\"pid\">#0412</span><h1>Adaptive sampling under distributional drift</h1><p class=\"auth\">Blind · 4 authors · submitted 11 May</p></header>\n  <div class=\"txt\">\n    <p>We consider the problem of maintaining calibrated estimates when the sampling distribution shifts faster than the evaluation window. The central claim is that a fixed-window estimator is not merely suboptimal but systematically biased in the direction of the most recent regime.</p>\n    <p>Section 3 develops the bound. Section 4 evaluates it on three public traces, two of which contain a documented regime change.</p>\n    <h2>3. The bound</h2>\n    <p>Let the drift rate be bounded above by δ per unit interval. We show that any estimator with a window of length w incurs excess error proportional to δw regardless of sample size, which is the result that motivates the adaptive scheme.</p>\n  </div>\n</main>"
    },
    {
      "key": "score",
      "name": "Scoring panel",
      "html": "\n<aside class=\"score\">\n  <h3>Your assessment</h3>\n  <div class=\"sc\"><label for=\"el-rd-nov\">Novelty</label><input id=\"el-rd-nov\" type=\"range\" min=\"1\" max=\"5\" value=\"4\"><span>4</span></div>\n  <div class=\"sc\"><label for=\"el-rd-rig\">Rigour</label><input id=\"el-rd-rig\" type=\"range\" min=\"1\" max=\"5\" value=\"3\"><span>3</span></div>\n  <div class=\"sc\"><label for=\"el-rd-cla\">Clarity</label><input id=\"el-rd-cla\" type=\"range\" min=\"1\" max=\"5\" value=\"5\"><span>5</span></div>\n  <div class=\"sc\"><label for=\"el-rd-imp\">Impact</label><input id=\"el-rd-imp\" type=\"range\" min=\"1\" max=\"5\" value=\"3\"><span>3</span></div>\n  <label class=\"ta-l\" for=\"el-rd-note\">Note to the chair</label>\n  <textarea id=\"el-rd-note\" rows=\"4\">Section 4 evaluates on three traces but only two contain a regime change. The third is doing no work.</textarea>\n  <div class=\"verd\"><button type=\"button\">Save draft</button><button type=\"button\" class=\"pri\">Submit review</button></div>\n</aside>"
    }
  ],
  "moduleCount": 3,
  "reorderable": true,
  "meta": {
    "id": "expert-lens-review-desk",
    "model": "Claude Opus 5",
    "author": "Claude Code",
    "createdAt": "2026-08-29T18:34:32+09:00",
    "updatedAt": "2026-08-29T18:34:32+09:00",
    "version": "1.0.0",
    "isNew": false
  },
  "link": "/api/v1/designs/expert-lens-review-desk.json",
  "structure": "Three columns at 240px / 1fr / 320px — assignment list, submission text, scoring panel; the scoring panel is the only lit surface and the rest recedes.",
  "html": "<div class=\"dz dz-expert-lens-review-desk\" data-design=\"expert-lens-review-desk\" data-theme=\"expert-lens\">\n<section class=\"dz-mod\" data-mod=\"assign\" aria-label=\"Assignment list\">\n<aside class=\"asg\">\n  <div class=\"asg-h\"><span>Round 3</span><b>7 left</b></div>\n  <ul>\n    <li class=\"on\"><h4>Adaptive sampling under drift</h4><p>#0412 · 22 pages</p><span class=\"pill\">In review</span></li>\n    <li><h4>A note on partial identification</h4><p>#0418 · 9 pages</p><span class=\"pill\">Queued</span></li>\n    <li><h4>Reproducibility of the 2024 panel</h4><p>#0421 · 31 pages</p><span class=\"pill\">Queued</span></li>\n    <li class=\"done\"><h4>Cost curves in cold storage</h4><p>#0404 · 14 pages</p><span class=\"pill ok\">Submitted</span></li>\n  </ul>\n</aside></section>\n<section class=\"dz-mod\" data-mod=\"paper\" aria-label=\"Submission\">\n<main class=\"paper\">\n  <header><span class=\"pid\">#0412</span><h1>Adaptive sampling under distributional drift</h1><p class=\"auth\">Blind · 4 authors · submitted 11 May</p></header>\n  <div class=\"txt\">\n    <p>We consider the problem of maintaining calibrated estimates when the sampling distribution shifts faster than the evaluation window. The central claim is that a fixed-window estimator is not merely suboptimal but systematically biased in the direction of the most recent regime.</p>\n    <p>Section 3 develops the bound. Section 4 evaluates it on three public traces, two of which contain a documented regime change.</p>\n    <h2>3. The bound</h2>\n    <p>Let the drift rate be bounded above by δ per unit interval. We show that any estimator with a window of length w incurs excess error proportional to δw regardless of sample size, which is the result that motivates the adaptive scheme.</p>\n  </div>\n</main></section>\n<section class=\"dz-mod\" data-mod=\"score\" aria-label=\"Scoring panel\">\n<aside class=\"score\">\n  <h3>Your assessment</h3>\n  <div class=\"sc\"><label for=\"el-rd-nov\">Novelty</label><input id=\"el-rd-nov\" type=\"range\" min=\"1\" max=\"5\" value=\"4\"><span>4</span></div>\n  <div class=\"sc\"><label for=\"el-rd-rig\">Rigour</label><input id=\"el-rd-rig\" type=\"range\" min=\"1\" max=\"5\" value=\"3\"><span>3</span></div>\n  <div class=\"sc\"><label for=\"el-rd-cla\">Clarity</label><input id=\"el-rd-cla\" type=\"range\" min=\"1\" max=\"5\" value=\"5\"><span>5</span></div>\n  <div class=\"sc\"><label for=\"el-rd-imp\">Impact</label><input id=\"el-rd-imp\" type=\"range\" min=\"1\" max=\"5\" value=\"3\"><span>3</span></div>\n  <label class=\"ta-l\" for=\"el-rd-note\">Note to the chair</label>\n  <textarea id=\"el-rd-note\" rows=\"4\">Section 4 evaluates on three traces but only two contain a regime change. The third is doing no work.</textarea>\n  <div class=\"verd\"><button type=\"button\">Save draft</button><button type=\"button\" class=\"pri\">Submit review</button></div>\n</aside></section>\n</div>",
  "css": "\n.dz-expert-lens-review-desk { background: var(--background); color: var(--foreground); font-family: var(--pv-body); display: grid; grid-template-columns: 240px minmax(0, 1fr) 320px; min-height: 540px; }\n.dz-expert-lens-review-desk .asg { background: var(--card); padding: 16px 14px; }\n.dz-expert-lens-review-desk .asg-h { display: flex; justify-content: space-between; align-items: baseline; padding-bottom: 10px; margin-bottom: 6px; }\n.dz-expert-lens-review-desk .asg-h span { font-size: 10.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--muted-foreground); }\n.dz-expert-lens-review-desk .asg-h b { font-family: var(--pv-mono); font-size: 12px; color: var(--primary); font-weight: 400; }\n.dz-expert-lens-review-desk .asg ul { list-style: none; margin: 0; padding: 0; }\n.dz-expert-lens-review-desk .asg li { padding: 11px 12px; border-radius: var(--pv-radius-sm); cursor: pointer; margin-bottom: 3px; transition: background var(--dur) var(--ease); }\n.dz-expert-lens-review-desk .asg li:hover { background: var(--muted); }\n.dz-expert-lens-review-desk .asg li.on { background: var(--muted); box-shadow: inset 2px 0 0 var(--primary); }\n.dz-expert-lens-review-desk .asg h4 { font-family: var(--pv-display); font-size: 14.5px; font-weight: 500; margin: 0 0 3px; line-height: 1.3; }\n.dz-expert-lens-review-desk .asg p { margin: 0 0 6px; font-family: var(--pv-mono); font-size: 10.5px; color: var(--muted-foreground); }\n.dz-expert-lens-review-desk .pill { font-size: 9.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--muted-foreground); }\n.dz-expert-lens-review-desk .pill.ok { color: var(--chart-1); }\n.dz-expert-lens-review-desk .asg .done h4 { color: var(--muted-foreground); }\n.dz-expert-lens-review-desk .paper { padding: 24px 34px 30px; overflow-y: auto; }\n.dz-expert-lens-review-desk .pid { font-family: var(--pv-mono); font-size: 11.5px; color: var(--primary); }\n.dz-expert-lens-review-desk .paper h1 { font-family: var(--pv-display); font-size: 28px; line-height: 1.16; font-weight: 500; margin: 8px 0 6px; max-width: 26ch; }\n.dz-expert-lens-review-desk .auth { margin: 0 0 22px; font-size: 12.5px; color: var(--muted-foreground); }\n.dz-expert-lens-review-desk .txt { max-width: 40rem; }\n.dz-expert-lens-review-desk .txt p { margin: 0 0 14px; font-size: 15px; line-height: 1.78; }\n.dz-expert-lens-review-desk .txt h2 { font-family: var(--pv-display); font-size: 17px; font-weight: 500; margin: 24px 0 10px; padding-bottom: 6px; box-shadow: inset 0 -1px 0 var(--border); }\n.dz-expert-lens-review-desk .score { background: var(--card); padding: 20px 22px; }\n.dz-expert-lens-review-desk .score h3 { font-family: var(--pv-display); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--muted-foreground); margin: 0 0 16px; }\n.dz-expert-lens-review-desk .sc { display: grid; grid-template-columns: 66px minmax(0, 1fr) 22px; align-items: center; gap: 10px; margin-bottom: 12px; }\n.dz-expert-lens-review-desk .sc label { font-size: 12.5px; color: var(--muted-foreground); }\n.dz-expert-lens-review-desk .sc input { accent-color: var(--primary); width: 100%; }\n.dz-expert-lens-review-desk .sc span { font-family: var(--pv-mono); font-size: 13px; text-align: right; }\n.dz-expert-lens-review-desk .ta-l { display: block; font-size: 10.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--muted-foreground); margin: 18px 0 7px; }\n.dz-expert-lens-review-desk .score textarea { width: 100%; font: inherit; font-size: 13.5px; line-height: 1.6; padding: 10px 12px; border: var(--pv-bw) solid var(--input); border-radius: var(--pv-radius-sm); background: var(--background); color: var(--foreground); resize: vertical; }\n.dz-expert-lens-review-desk .score textarea:focus-visible { outline: 2px solid var(--ring); outline-offset: 1px; }\n.dz-expert-lens-review-desk .verd { display: flex; gap: 8px; margin-top: 16px; }\n.dz-expert-lens-review-desk .verd button { flex: 1; font: inherit; font-size: 13px; padding: 10px; border: var(--pv-bw) solid var(--border); border-radius: var(--pv-radius-sm); background: var(--background); color: var(--foreground); cursor: pointer; transition: background var(--dur) var(--ease); }\n.dz-expert-lens-review-desk .verd .pri { background: var(--primary); color: var(--primary-foreground); border-color: var(--primary); }\n@media (prefers-reduced-motion: reduce) { .dz-expert-lens-review-desk *, .dz-expert-lens-review-desk *::before, .dz-expert-lens-review-desk *::after { transition-duration: 1ms !important; animation-duration: 1ms !important; } }",
  "requiredTheme": "/api/v1/themes/expert-lens.json",
  "googleFontsHref": "https://fonts.googleapis.com/css2?family=Newsreader:wght@400;500;600;700&family=Source+Sans+3:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600;700&display=swap"
}