Skip to content

feat(ingest): per-run ingest report and PR callback / ingest:按运行统计的报告与 PR 回调 - #1495

Merged
Oseltamivir merged 2 commits into
masterfrom
feat/ingest-run-report
Oct 25, 2026
Merged

Oseltamivir merged 2 commits into
masterfrom
feat/ingest-run-report

Conversation

@Oseltamivir

@Oseltamivir Oseltamivir commented Oct 25, 2026 •

Copy link
Copy Markdown
Contributor

The ingest log prints per-file lines like benchmark rows: +1 new, 0 dup, 1 id(s), and db:verify prints whole-database totals, so confirming what one run actually wrote means grepping logs. Nobody on the InferenceX PR hears whether its ingest landed.

Change

  • New packages/db/src/etl/ingest-run-report.ts: ingest-ci-run counts what this run wrote, by category and outcome:

    new duplicate skipped unmapped failed
    benchmark (rows) inserted ON CONFLICT updates failed-run rows, rows held by per-job files, purged points mapper rejects config or insert errors
    eval (rows) inserted existing dirs missing meta/results mapper rejects DB errors
    trace (agentic rows) newly linked already linked missing sibling artifact — link errors
    power (gpu_metrics series) written unchanged telemetry not collected unmappable power rows telemetry errors

    plus detail (files, raw rows, run stats, eval samples, gpu samples, PowerX points, changelog entries) and unmapped names.

  • The report is written in the existing finally, so it exists on failure too: JSON at INGEST_REPORT_OUTPUT, Markdown table appended to $GITHUB_STEP_SUMMARY. Status becomes failed on an exception or recorded DB write errors.

  • ingest-results.yml for dispatched merge ingests only (ingest-results / ingest-agentic-results), sends ingest-results-completed to BENCHMARK_REPO with secrets.PAT, mirroring stage-results-completed. The step runs on always() and is continue-on-error, so a callback problem never fails an ingest.

  • Companion: feat(ingest): comment app ingest reports on the merged PR / ingest:在已合并的 PR 上评论 app 的 ingest 报告 InferenceX#4503 resolves the merged PR from the Merge Ingest run and comments the counts (one marker comment per merge run, updated in place).

Maintainer action: PAT already sends the staging dispatches to InferenceX; no new secret. It must be readable by this workflow's repository_dispatch runs (it is a repo secret, so it is). Merge the InferenceX PR first or the dispatches land with no listener (harmless).

No database ingest was run while preparing this PR.

AI model disclosure

Prepared with Claude Opus 5.5 (claude-opus-5-5), which wrote the code, tests and description. No delegated agents.

中文

目前 ingest 日志只按文件打印 benchmark rows: +1 new, 0 dup 之类的行,db:verify 只输出整个数据库的总数,要确认某次运行实际写入了什么只能 grep 日志;InferenceX PR 上也没有人收到 ingest 成功或失败的通知。

本 PR 新增 ingest-run-report.ts,由 ingest-ci-run 按类别(benchmark、eval、trace、power)和结果(new、duplicate、skipped、unmapped、failed)统计本次运行写入的数据。报告在已有的 finally 中写出,因此失败时也会生成:JSON 写入 INGEST_REPORT_OUTPUT,Markdown 表格追加到 $GITHUB_STEP_SUMMARY。对于通过 dispatch 触发的合并 ingest,workflow 使用 secrets.PAT 向 BENCHMARK_REPO 发送 ingest-results-completed(与 stage-results-completed 相同的模式),由配套的 InferenceX PR 在已合并的 PR 上发布或原地更新评论。该步骤 continue-on-error,回调失败不会导致 ingest 失败。无需新增 secret。

Count what each ingest-ci-run invocation wrote per category (benchmark,
eval, trace, power) and outcome (new, duplicate, skipped, unmapped,
failed). Write it to INGEST_REPORT_OUTPUT and the job summary on success
and failure, retain it as an artifact, and send ingest-results-completed
to BENCHMARK_REPO for dispatched merge ingests so the merged PR gets a
comment.

中文:新增按运行统计的 ingest 报告与 InferenceX 回调。按类别(benchmark、eval、trace、power)和结果(new、duplicate、skipped、unmapped、failed)统计每次 ingest-ci-run 写入的数据,成功与失败时都写入 INGEST_REPORT_OUTPUT 和 job summary 并保留为 artifact;对通过 dispatch 触发的合并 ingest,向 BENCHMARK_REPO 发送 ingest-results-completed,以便在已合并的 PR 上评论。
@Oseltamivir
Oseltamivir requested a review from adibarra as a code owner October 25, 2026 09:38
@cursor

cursor Bot commented Oct 25, 2026

Copy link
Copy Markdown

Bugbot is paused — your team has an unpaid invoice

Bugbot is paused because your team has an unpaid invoice.

Pay it from the billing page in the Cursor dashboard and Bugbot resumes automatically.

(requestId: a6c14848-0d30-4a68-b78c-28b63a8f19d7)

@vercel

vercel Bot commented Oct 25, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
inferencemax-app Ready Ready Preview Oct 25, 2026 10:15am UTC

Request Review

@blacksmith-sh

This comment has been minimized.

…omment / 移除 ingest-report 工件上传,保留作业摘要与 PR 评论
@cursor

cursor Bot commented Oct 25, 2026

Copy link
Copy Markdown

Bugbot is paused — your team has an unpaid invoice

Bugbot is paused because your team has an unpaid invoice.

Pay it from the billing page in the Cursor dashboard and Bugbot resumes automatically.

(requestId: 4971ec1f-7060-4acd-9837-cd4cf18f8a15)

@Oseltamivir
Oseltamivir merged commit 9dae3e0 into master Oct 25, 2026
73 of 75 checks passed
@Oseltamivir
Oseltamivir deleted the feat/ingest-run-report branch October 25, 2026 10:40

This branch was successfully deployed

1 active deployment
Preview — c942745d Deployed Oct 25, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant