Repository navigation
Ci/w2 summary - #106
Ci/w2 summary#106
Conversation
The W2 Actions page mixed four per-job report dumps with step outcomes and scope disclaimers, and still could not answer the three questions it exists for. Answer them in one place and send the rest to the step log. * The four per-job summarize steps print to stdout again; the Actions page is written once, by the w2-acceptance job. Reporting still never changes a probe's exit code. * scripts/summarize_w2_ci.py renders three tables from the six probe reports: which operators each layer supports and which were exercised this run, the worst recorded deviation from ORT and NumPy per chain, and the seconds each chain took plus a total. A missing or malformed report stays explicit and never reads as a pass; the script always exits 0. * The operator lists and the two new files are read with ast, so the job needs no dependencies beyond the standard library and probes.numeric_summary. * scripts/ci_scopes.json routes a PR that only touches the new script through the LLM checks. Co-Authored-By: Claude Code <noreply@anthropic.com>
🤖 AI Code Review
📁
|
The status column already says whether the comparisons passed, so "门槛通过(2/2)" spent a word twice. Say "通过(2/2)" and "未通过(…)" instead. The empty case stays "未测(0 条比较)". This table is shared with the W3 summary and the HTML reports, so their wording follows. Co-Authored-By: Claude Code <noreply@anthropic.com>
The table said "IR vs ORT" and "QEMU vs NumPy" without saying what those four are, which left the page readable only to whoever wrote it. Add one line each: ORT runs the official CPU kernels on the same ONNX model; IR is our frontend's IR executed by the IR interpreter on the host; QEMU is the same graph compiled to an RV64 ELF and run in emulation; NumPy is the hand-written formula that only the operator probe has; the qwen3-small row takes the final checkpoint named logits. Co-Authored-By: Claude Code <noreply@anthropic.com>
The Documentation checks job and the docs scope behind it were redundant. Its `check_linux_repro_docs.py --check-bash` step ran the same command that llm-deploy already ran, and its pytest step was already covered by the `pytest tests/` run in the test job. The check now lives in the test job, which has no path filter, so it runs on every push and pull request instead of only when the docs scope was selected. That removes the need for the scope entirely. - delete .github/workflows/linux-reproduction-docs.yml and the docs job - drop the duplicated docs:linux-reproduction step from llm-deploy - select only the llm and w4 scopes, and summarize only jobs that exist Verified with tests/test_ci_routing.py, tests/test_ci_workflows.py, tests/test_linux_repro_docs.py, tests/test_w2_actions_summary.py, tests/test_w2_acceptance_summary.py, tests/test_numeric_summary.py and tests/test_compare_peephole.py (253 passed). Co-Authored-By: Claude Code <noreply@anthropic.com>
W2 never executes scratchv/backend/kernels, so a row that lists those files and then says "not executed" only invites the reader to look for them. The table now answers for the two layers W2 actually covers. - remove the kernels row and the now-unused KERNEL_BODIES / kernel_bodies() - pin the removal in the operator test instead of asserting the row's text Co-Authored-By: Claude Code <noreply@anthropic.com>
The block restated the step's own outcome, which the run page already shows, and pointed at an artifact that is listed in the run anyway. The JUnit XML and the text log are still produced and uploaded. - delete the "Summarize Topic 04 PassManager results" step and the step id it was the only reader of - pin the job's silence in test_ci_workflows.py Co-Authored-By: Claude Code <noreply@anthropic.com>
The table restated five step outcomes the run page already shows per step, under a job named "W1 + W2" while it only covered W1. The block now prints into the step log, which is where the W2 gate summaries already go. - drop the last >> "$GITHUB_STEP_SUMMARY" from the W1 + W2 job - pin the job's silence, leaving full-model validation as the only writer Co-Authored-By: Claude Code <noreply@anthropic.com>
IR precision now uses ordinary final outputs. Keep missing comparisons in the planned counts and count frontend operators only after successful parsing and IR verification, including backend probe graphs. Preserve the original operator table labels and note, QEMU comparison scope, model calculations and accuracy thresholds. Add focused regression tests for missing results and parse failures. Validation: 78 summary tests and 182 probe tests passed; 54 summary tests passed again after restoring the original labels. Existing CI reports render with unchanged IR and QEMU precision values.
No description provided.