Skip to content

CollectiveX: ask InferenceX-app to ingest results that land on main / CollectiveX:结果合入 main 时通知 InferenceX-app 导入 - #4592

Merged
Oseltamivir merged 2 commits into
mainfrom
cx-results-ingest
Oct 28, 2026
Merged

Oseltamivir merged 2 commits into
mainfrom
cx-results-ingest

Conversation

@Oseltamivir

@Oseltamivir Oseltamivir commented Oct 28, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Adds .github/workflows/collectivex-results-ingest.yml. When a push to main changes collectivex/results/**, the workflow sends InferenceX-app an ingest-collectivex repository_dispatch with the commit SHA. This works the same way merge-ingest.yml hands benchmark results to the app. The app then loads that commit's committed results into its CollectiveX database (InferenceX-app#1532).

  • Merge order: merge InferenceX-app#1532 first. GitHub drops a dispatch without a trace if the app has no workflow listening yet.
  • Manual re-send: workflow_dispatch takes an optional sha and resends that commit, for example one that landed before the app could receive it or whose ingest failed. A value that isn't a 40-character SHA fails before the dispatch is sent.
  • Permissions: permissions: {}. The only credential is the existing FRONTEND_PAT, as in merge-ingest.yml.
  • Concurrency: one group per commit, never cancelled. The app serializes the ingests themselves.

Validation

  • actionlint is clean.
AI model disclosure
  • Claude Opus 5.5 (claude-opus-5-5, run through Claude Code): the workflow and this description.
中文

摘要

新增 .github/workflows/collectivex-results-ingest.yml。推送到 main 且修改了 collectivex/results/** 时,该工作流向 InferenceX-app 发送带有提交 SHA 的 ingest-collectivex repository_dispatch,方式与 merge-ingest.yml 将基准结果交给应用相同。随后应用会把该提交中已提交的结果导入其 CollectiveX 数据库(InferenceX-app#1532)。

  • 合并顺序: 先合并 InferenceX-app#1532。如果应用侧还没有监听的工作流,GitHub 会直接丢弃 dispatch,且不留任何记录。
  • 手动重发: workflow_dispatch 接受可选的 sha,用于重新发送该提交,例如应用尚无法接收时已合入的提交,或导入失败的提交。不是 40 位 SHA 的值会在发送 dispatch 前失败。
  • 权限: permissions: {}。唯一的凭据是现有的 FRONTEND_PAT,与 merge-ingest.yml 相同。
  • 并发: 每个提交一个并发组,从不取消。导入本身由应用侧串行执行。

验证

  • actionlint 无告警。

@claude claude Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nothing blocking. The comments below are optional suggestions. There is no need to push a fix for them before merging.

Comment on lines +3 to +4
# Committed CollectiveX results on main are the dashboard's source of truth. Each push that changes
# them asks InferenceX-app to load that commit into its CollectiveX database.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 nit (optional): The new workflow opens with a header comment explaining what it is for. AGENTS.md:56 bans these: "No header comments describing a file, topology, config, recipe, override, or section." Fix: remove lines 3-4, and put the source-of-truth rationale in the PR description or the workflow name.

Why this was flagged

In .github/workflows/collectivex-results-ingest.yml:3-4, a two-line comment between name: and on: describes the whole workflow. AGENTS.md:54 marks the Comments section as "mandatory, every file". AGENTS.md:56 forbids header comments describing a file or config. AGENTS.md:58 allows only technical explanation of a specific line or block. The comment explains no specific line, so the PR adds a convention violation the base branch does not have. merge-ingest.yml, the sibling workflow the PR cites as its model, has no such header.

Verification: Lines 3-4 of .github/workflows/collectivex-results-ingest.yml are a header comment that describes the whole workflow. AGENTS.md line 56 says "No header comments describing a file, topology, config, recipe, override, or section." The sibling .github/workflows/merge-ingest.yml has no such header. So the base branch has no violation here and this PR adds one.

A push to main that changes collectivex/results/ sends an ingest-collectivex repository_dispatch to
InferenceX-app with the commit SHA, the same way merge-ingest hands benchmark results to the app.
The app loads that commit's committed results into its CollectiveX database.

CollectiveX:结果合入 main 时通知 InferenceX-app 导入

推送到 main 且修改了 collectivex/results/ 时,会向 InferenceX-app 发送带有提交 SHA 的 ingest-collectivex
repository_dispatch,与 merge-ingest 将基准结果交给应用的方式相同。应用会将该提交中已提交的结果导入其
CollectiveX 数据库。
…mmit

A dispatch sent before the app can receive it is dropped, so a manual run can resend any commit.
The run name carries the commit, and a malformed SHA fails before dispatch.

可按指定提交手动重新发送结果导入。应用尚无法接收时发出的 dispatch 会被丢弃,因此可手动重新发送任意提交。
运行名称包含该提交;格式错误的 SHA 会在发送前失败。
@Oseltamivir
Oseltamivir merged commit 5727a1e into main Oct 28, 2026
3 checks passed
@Oseltamivir
Oseltamivir deleted the cx-results-ingest branch October 28, 2026 07:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant