增强 Auto Research 全流程、三模型审稿与 Teaser 生成 - #3
Conversation
Use independent maximum-reasoning reviewers on an isolated rendered artifact so feedback reflects the actual submission. Co-authored-by: Cursor <cursoragent@cursor.com>
Review compiled PDFs with a Cursor model panel
Gate every reviewer turn on a complete rendered paper and return deterministic failures to the author instead of spending review on unfinished work. Co-authored-by: Cursor <cursoragent@cursor.com>
Require submission-ready papers before review
Integrate the Research Factory, split paper workspace, figure skills, cost tracking, and adaptive loop controls while preserving the fixed three-model PDF reviewer panel and readiness gate. Co-authored-by: Cursor <cursoragent@cursor.com>
Rename the results and teaser variants consistently so author prompts and documentation expose unambiguous 1/2 choices. Co-authored-by: Cursor <cursoragent@cursor.com>
Expose all four AR figure examples from one Markdown page without duplicating image assets. Co-authored-by: Cursor <cursoragent@cursor.com>
Preserve the reference assets, generated candidates, review notes, and script snapshots in a self-contained gallery for comparison and reuse. Co-authored-by: Cursor <cursoragent@cursor.com>
Honor persisted work/paper manuscript locations so upgrades keep existing PDFs, builds, readiness checks, and reviews accessible. Co-authored-by: Cursor <cursoragent@cursor.com>
Provide a tested controlled restart workflow that retains auth, Turbogate identity, tmux agents, and disk-backed task state without exposing secrets. Co-authored-by: Cursor <cursoragent@cursor.com>
Add teaser-figure-3 with a semantic-blueprint and correction workflow, and make Auto Research invoke it proactively whenever a page-one teaser needs creation or refresh. Co-authored-by: Cursor <cursoragent@cursor.com>
Integrate the staged Research Factory, grounded knowledge graph, paper metadata cache, and exact agent completion hooks while preserving the fixed three-model PDF reviewer panel and AR readiness workflow. Co-authored-by: Cursor <cursoragent@cursor.com>
Persist each model's review separately and render all three reports in Loom and Research Factory while clearly marking the lowest-scoring final verdict. Co-authored-by: Cursor <cursoragent@cursor.com>
Remove trailing Markdown whitespace so the pull request passes the repository diff hygiene check. Co-authored-by: Cursor <cursoragent@cursor.com>
There was a problem hiding this comment.
Pull request overview
This PR upgrades Loom’s Auto Research (AR) paper workflow by adding a deterministic “ready-to-submit” gate before reviews, switching paper reviews to a fixed three-model Cursor PDF reviewer panel with per-model persistence, and expanding figure/teaser generation workflows (including a new default teaser skill). It also adds a developer-only hot-restart skill to redeploy Loom while preserving tunnel URL and auth environment, and updates both Loom’s main UI and Research Factory to display per-model reviewer results.
Changes:
- Add a hard Review Readiness Gate that blocks reviewer calls until the compiled PDF is complete (no placeholders, missing figures, unresolved references, etc.).
- Replace single-reviewer flow with a fixed three-model Cursor reviewer panel, persisting individual model reports and updating UI/API payloads accordingly.
- Introduce/rename AR figure skills (including default
teaser-figure-3) plus add a hot-restart developer skill and supporting tests/docs.
Reviewed changes
Copilot reviewed 28 out of 57 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| zhizhou-note/figure-redraw-v2/scripts/when-to-weights-teaser-v2.py | Adds a versioned teaser rendering script for the “when to write” figure candidate set. |
| zhizhou-note/figure-redraw-v2/scripts/when-to-weights-streaming-gate-v2.py | Adds a deterministic streaming-gate diagram script with render audits. |
| zhizhou-note/figure-redraw-v2/scripts/self-distillation-teaser-v2.py | Adds a framework teaser script driven by committed experiment artifacts. |
| zhizhou-note/figure-redraw-v2/FIGURE_REDRAW_V2.md | Documents the figure-redraw candidate set, verification notes, and manual review outcomes. |
| zhizhou-note/figure-redraw-v2/CURSOR_IMAGE_GENERATION.md | Documents Cursor GenerateImage usage and constraints for reproducible image generation. |
| tests/test_review_panel_ui.py | Tests per-model review persistence and API payload recovery for combined panel files. |
| tests/test_hot_restart_skill.py | Tests hot-restart behavior, including dry-run safety and secret non-disclosure. |
| tests/test_ar_task.py | Adds extensive coverage for readiness gating, reviewer panel isolation, plateau logic, and legacy layout handling. |
| README.md | Updates AR pipeline documentation to reflect readiness gating and the three-model panel behavior. |
| pyproject.toml | Adds pypdf dependency used by readiness checks to inspect rendered PDFs. |
| loom/web.py | Implements reviewer panel persistence/API payloads, readiness-gate loop behavior, plateau pausing, and updates review endpoint responses. |
| loom/web_static/factory.js | Updates Research Factory UI to show per-model reviewer cards and full per-model reports in the modal. |
| loom/web_static/factory.css | Styles the reviewer card grid and per-model report sections in Research Factory. |
| loom/web_static/app.js | Updates Loom main UI to display readiness status and per-model reviewer cards/reports. |
| loom/web_static/app.css | Adds styling for reviewer cards/reports in Loom main UI. |
| loom/skills/dev/loom-hot-restart/SKILL.md | Adds documentation and safety rules for hot restart (preserve tunnel, secrets, tasks). |
| loom/skills/dev/loom-hot-restart/scripts/hot_restart.py | Adds the Linux-only hot-restart helper implementation. |
| loom/skills/ar/figures/teaser-figure-3/SKILL.md | Adds the default AI-based teaser workflow (Cursor GenerateImage) with semantic-blueprint safeguards. |
| loom/skills/ar/figures/teaser-figure-3/PROMPT_TEMPLATE.md | Provides prompt templates and correction workflow for teaser-figure-3. |
| loom/skills/ar/figures/teaser-figure-2/SKILL.md | Renames/updates the “plain” deterministic teaser skill to teaser-figure-2. |
| loom/skills/ar/figures/teaser-figure-2/scripts/plain_style.py | Adds the drawing kit for the plain teaser style. |
| loom/skills/ar/figures/teaser-figure-2/scripts/overview_style.py | Adds shared deterministic overview drawing utilities for teaser figures. |
| loom/skills/ar/figures/teaser-figure-2/example.py | Adds a runnable example for teaser-figure-2. |
| loom/skills/ar/figures/teaser-figure-1/SKILL.md | Renames/updates the tinted deterministic teaser skill to teaser-figure-1. |
| loom/skills/ar/figures/teaser-figure-1/scripts/overview_style.py | Adds the drawing kit for tinted teaser style. |
| loom/skills/ar/figures/teaser-figure-1/example.py | Adds a runnable example for teaser-figure-1. |
| loom/skills/ar/figures/results-figure-2/SKILL.md | Renames/updates replicate-focused results plotting skill to results-figure-2. |
| loom/skills/ar/figures/results-figure-2/scripts/replicate_style.py | Adds replicate plotting helpers (strip plots, vrefs, stat blocks, legends). |
| loom/skills/ar/figures/results-figure-2/scripts/plot_style.py | Adds shared results plotting rcParams and PDF output checks. |
| loom/skills/ar/figures/results-figure-2/example.py | Adds a runnable example for results-figure-2. |
| loom/skills/ar/figures/results-figure-1/SKILL.md | Renames/updates baseline results plotting skill to results-figure-1. |
| loom/skills/ar/figures/results-figure-1/scripts/plot_style.py | Adds shared results plotting style and PDF output validation. |
| loom/skills/ar/figures/results-figure-1/example.py | Adds a runnable example for results-figure-1. |
| loom/skills/ar/figures/results-figure-1/example_data.json | Adds example data for results-figure-1’s runnable demo. |
| loom/skills/ar/figures/display.md | Adds a lightweight index page that displays figure skill examples by relative path. |
| loom/skills/ar/AR-REVIEWER.md | Updates reviewer instructions to enforce “PDF-only” review and page-based location references. |
| loom/skills/ar/AR-AUTHOR.md | Updates author methodology to enforce readiness completion and proactive teaser generation. |
| FIGURE_SKILL_FLOW.md | Documents end-to-end figure skill discovery → author usage → readiness gate → reviewer checks flow. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| attempts.append( | ||
| { | ||
| "attempt": attempt_n, | ||
| "ended_at": _iso_now(), | ||
| "note": str(attempt_note), |
| HERE = Path(__file__).resolve().parent | ||
| CODE = HERE.parent | ||
| RESULTS = CODE / "results" / "results.json" | ||
| OUT = HERE.parents[3] / "figure-redraw-v2" |
|
|
||
|
|
||
| HERE = Path(__file__).resolve().parent | ||
| OUT = HERE.parents[3] / "figure-redraw-v2" |
|
|
||
|
|
||
| ROOT = Path(__file__).resolve().parents[3] | ||
| OUT = ROOT.parent.parent / "figure-redraw-v2" |
概要
该 PR 将
zhizhou-dev中完整验证过的 Auto Research 增强合并到main,覆盖三模型 PDF 审稿、投稿就绪门控、默认 AI Teaser、旧任务兼容、Hot Restart,以及两套前端的 Reviewer 结果展示。主要更新
三模型 PDF Reviewer Panel
lowest · final。投稿就绪门控与循环控制
Figure 与 Teaser 工作流
teaser-figure-3,Auto Research 在需要 Teaser、Figure 1、architecture 或 pipeline 图时主动使用 Cursor GenerateImage / Nano Banana 工作流。兼容性与运维
work/paper/目录,恢复 PDF 下载、构建、Readiness 和 Reviewer 能力。.RUD状态。合并就绪状态
origin/main已完整包含在zhizhou-dev中251 passedgit diff --check通过app.js与factory.js语法检查通过推荐合并方式
使用 Merge commit。当前分支已包含最新
main,无需 rebase 或 force push;该方式能够保留已经验证过的 commit 历史。合并后操作
合并并部署后,对正在运行的 Loom 8766 执行保留域名和认证信息的 Hot Restart,然后复查 PDF API 与两套 Reviewer 前端。