Skip to content

Record MiniCPM-o throughput search, quality gates and peer baselines - #51

Draft
amy-why-3459 wants to merge 44 commits into
mainfrom
perf/minicpm-o45-l20x-throughput
Draft

amy-why-3459 wants to merge 44 commits into
mainfrom
perf/minicpm-o45-l20x-throughput

Conversation

@amy-why-3459

@amy-why-3459 amy-why-3459 commented Oct 21, 2026 •

Copy link
Copy Markdown
Collaborator

Refs #49.

Records the search for higher MiniCPM-o 4.5 throughput on vLLM-Omni, with pinned vLLM-Omni, SGLang-Omni and single-GPU peer baselines on L20X. Reports concurrency1/2/4/8/16/32, delivered audio frames/s, TTFA p50/p95, mean RTF and native speech-quality scoring. No candidate has achieved the peer-throughput and speech-quality acceptance target; this PR remains draft.

Campaign evidence and reproduction commands preserve successful measurements, startup failures, rejected numerical/quality results, sanitized request records and implementation patches. The matched64-prompt peer reaches C16/C32 1493.4/2544.1 frames/s; the separate320-request repeated baseline remains available. Explored changes include stage replication, selective CFM precision, speaker graphs, graph coverage and audio-window geometry. Larger windows explicitly report their first-audio latency cost. Profiled requests are excluded from throughput aggregates, including the invalidated high-rate CPU sampling attempt.

The latest experimental vLLM source packs ordinary-turn conditioning with the existing tensor serializer. It preserves legacy float32 values while avoiding scalar-list construction and traversal. Its synthetic CPU transport microbenchmark and213 passing regression tests establish component behavior only;25/50-frame service and quality screens are pending. The earlier CPU-reference speaker implementation remains separately scoped in vLLM-Omni #9188.

All previous strict and noninferiority quality FAIL verdicts remain unchanged. Round-two final quality uses pinned updated main and256 unused paired prompts, with three repetitions aggregated within each prompt before bootstrapping256 clusters. All nine one-sided95% upper degradation bounds must meet WER+0.20 percentage points, SIM×100 drop0.50 and UTMOS drop0.05. This repeat design was frozen before any reserved holdout generation; those prompts remain unused. No global-optimum or combined service/quality PASS claim.

The knowledge package adds the pinned peer scope and a speaker-conversion case, with the generated index refreshed from committed source. Validation includes267 scaffold tests, Ruff, index consistency and wheel lookup from the earlier package change; these are knowledge-delivery checks. New evidence validators pass8 clustered-quality controls and10 performance-runner preflight controls. Raw audio, generated transcripts and private host logs remain excluded.

…tics

Refs #49

Agent-assisted-by: Codex (implementation)
Signed-off-by: amy-why-3459 <wuhaiyan17@huawei.com>
Refs #49. Campaign remains INCONCLUSIVE pending held-out service and quality results.

Agent-assisted-by: Codex (implementation)
Signed-off-by: amy-why-3459 <wuhaiyan17@huawei.com>
Agent-assisted-by: Codex (implementation)
Signed-off-by: amy-why-3459 <wuhaiyan17@huawei.com>
Agent-assisted-by: Codex (implementation)
Signed-off-by: amy-why-3459 <wuhaiyan17@huawei.com>
Agent-assisted-by: Codex (implementation)
Signed-off-by: amy-why-3459 <wuhaiyan17@huawei.com>
Agent-assisted-by: Codex (implementation)
Signed-off-by: amy-why-3459 <wuhaiyan17@huawei.com>
Agent-assisted-by: Codex (implementation)
Signed-off-by: amy-why-3459 <wuhaiyan17@huawei.com>
Agent-assisted-by: Codex (implementation)
Signed-off-by: amy-why-3459 <wuhaiyan17@huawei.com>
Agent-assisted-by: Codex (implementation)
Signed-off-by: amy-why-3459 <wuhaiyan17@huawei.com>
Agent-assisted-by: Codex (implementation)
Signed-off-by: amy-why-3459 <wuhaiyan17@huawei.com>
Agent-assisted-by: Codex (implementation)
Signed-off-by: amy-why-3459 <wuhaiyan17@huawei.com>
Agent-assisted-by: Codex (implementation)
Signed-off-by: amy-why-3459 <wuhaiyan17@huawei.com>
Agent-assisted-by: Codex (implementation)
Signed-off-by: amy-why-3459 <wuhaiyan17@huawei.com>
Agent-assisted-by: Codex (implementation)
Signed-off-by: amy-why-3459 <wuhaiyan17@huawei.com>
Agent-assisted-by: Codex (implementation)
Signed-off-by: amy-why-3459 <wuhaiyan17@huawei.com>
Agent-assisted-by: Codex (implementation)
Signed-off-by: amy-why-3459 <wuhaiyan17@huawei.com>
Agent-assisted-by: Codex (implementation)
Signed-off-by: amy-why-3459 <wuhaiyan17@huawei.com>
Agent-assisted-by: Codex (implementation)
Signed-off-by: amy-why-3459 <wuhaiyan17@huawei.com>
Agent-assisted-by: Codex (implementation)
Signed-off-by: amy-why-3459 <wuhaiyan17@huawei.com>
Agent-assisted-by: Codex (implementation)
Signed-off-by: amy-why-3459 <wuhaiyan17@huawei.com>
Agent-assisted-by: Codex (implementation)
Signed-off-by: amy-why-3459 <wuhaiyan17@huawei.com>
Agent-assisted-by: Codex (implementation)
Signed-off-by: amy-why-3459 <wuhaiyan17@huawei.com>
Agent-assisted-by: Codex (implementation)
Signed-off-by: amy-why-3459 <wuhaiyan17@huawei.com>
Agent-assisted-by: Codex (implementation)
Signed-off-by: amy-why-3459 <wuhaiyan17@huawei.com>
Agent-assisted-by: Codex (implementation)
Signed-off-by: amy-why-3459 <wuhaiyan17@huawei.com>
Agent-assisted-by: Codex (implementation)
Signed-off-by: amy-why-3459 <wuhaiyan17@huawei.com>
Agent-assisted-by: Codex (implementation)
Signed-off-by: amy-why-3459 <wuhaiyan17@huawei.com>
Agent-assisted-by: Codex (implementation)
Signed-off-by: amy-why-3459 <wuhaiyan17@huawei.com>

@Dong1017 Dong1017 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Reviewed head 3c1b2ff with focus on scoring provenance and merge integration. One P2 scorer-resume defect is noted inline; no evidence was found that the retained campaign actually exercised it.

Integration blockers are distinct from GPU results:

  • Draft, mergeable=false: reconcile with main before readiness.
  • Test-merge CI full-check fails inventory registration ('inventory directories differ: minicpmo45-l20x-20261021'; Python3.10:372 passed,9 skipped).
  • Installed-package fails the hardcoded len(records)==90 assertion. The inventory machinery is absent from this PR head, so these failures arise when integrating with main, not proof that the standalone campaign failed.
  • Register/classify the campaign in main's inventory framework without rewriting frozen artifacts; update installed-content expectations and rerun both Python versions. Admission/declaration checks are also currently red and need truthful resolution.

The FAIL/INCONCLUSIVE outcomes and unused reserved holdout are appropriately disclosed. Archiving negative results does not require achieving the campaign target. Review was source/evidence and CI inspection only, without service/GPU/audio rescoring/model calls.

for i,w in zip(ids,wavs):
audio,sr=sf.read(w)
assert len(audio)>0 and np.isfinite(audio).all()
doc['rows'].setdefault(i,{}).update({'wav_sha256':hashlib.sha256(Path(w).read_bytes()).hexdigest(),'duration_s':len(audio)/sr})

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

[P2] Reject stale scoring output before replacing audio provenance

If --out exists, completed task flags are loaded, then each row's WAV hash/duration is overwritten with the new inputs before completed WER/SIM/UTMOS tasks are skipped. Reusing an output path with the same prompt IDs and different WAVs silently binds old scores to new audio hashes. Verify IDs, audio hashes and scorer provenance before resuming, or explicitly invalidate/recompute affected scores before updating provenance. Add a changed-WAV resume regression. Preserve historical frozen scripts/results via a versioned successor where needed.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Addressed in f62aebd without changing the historical score_outputs.py bytes: the successor score_outputs_v2.py verifies prompt ID, WAV hash, duration and scorer file hash before reusing or skipping a completed item, and refuses (leaving outputs untouched) on mismatch. Covered by tests/test_minicpm_score_resume.py (WAV swapped before resume). Also merged main (4b72141, 5d43495, cdfcd88, 772e8c1) to integrate the inventory/installed-knowledge changes from the review; head is now 772e8c1.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Scoped, non-voting recheck at head 772e8c17110b268608f8caee4977eec38bc4e606: the changed-WAV resume finding is addressed in the versioned score_outputs_v2.py successor.

It compares prompt ID sets, WAV SHA-256/duration and scorer-directory file hashes before output writes or completed-task skips. The regression controls cover changed-WAV rejection with the existing output bytes untouched, ID/duration/scorer mismatches, matching-score preservation and changed scorer weight bytes. The historical score_outputs.py remains byte-identical to the previously reviewed revision.

The Ready CI passed both Python versions and installed-package checks; both full suites report 3,550 passed, 13 skipped and 284 subtests. Logs identify tested merge f88216bfd36e1d8884117423607ed4972b88f6bf, combining this head with 663f3b327998526a13aa31e72ad729025c18983c (also the API-reported base). This was not a test against later main 9dded7ad.

This clears the specific resume-binding defect in the successor only. The current-head knowledge-author declaration remains noncompliant. I did not execute the scorer, recompute historical scores, run local tests or perform model/device work. Throughput, speech quality and whole-PR/campaign acceptance remain outside this clearance.

@Dong1017

Dong1017 commented Nov 1, 2026

Copy link
Copy Markdown
Collaborator

Size note before this PR is marked ready (Refs #273, F5/R6)

This PR would add 13.3 MB in 300 files. Most of them are under evidence/minicpmo45-l20x-20261021/, including 35 compressed raw-result archives (.gz). Once merged, these bytes stay in Git history, and every clone downloads them even if a later PR deletes them; #193 and #195 show this.

#273 R6 proposes keeping large raw artifacts outside Git as GitHub Release assets, with an accessible URL and SHA-256 recorded in the repository. Byte budgets are still under discussion in #273. Before marking this PR ready, please consider moving the raw result files to a Release asset and keeping the manifest, summaries and gate results here. No other change is requested.

cursoragent and others added 5 commits November 4, 2026 08:56
Keep historical validator/score_outputs.py frozen. Successor
score_outputs_v2.py checks prompt IDs, WAV hashes, durations and scorer-file
provenance before writing provenance or skipping a completed task, and a
changed-WAV regression shows a reused output is left untouched.

Review: #51 (comment)
Signed-off-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: amy-why-3459 <amy-why-3459@users.noreply.github.com>
Keep both peer scopes, deepinfer and minicpmo_single_gpu_engine, and append
the Issue #49 matrix notes after main's sections. Generated skill abstracts
follow main in this merge and are refreshed from this commit next.

Review: #51 (review)
Signed-off-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: amy-why-3459 <amy-why-3459@users.noreply.github.com>
Classify minicpmo45-l20x-20261021 as a campaign. Its manifest-named
records are descriptive rather than digest maps, so inventory does not
forge or recheck embedded hashes. The installed catalog counts 128
knowledge records once the peer card is kept. The two MiniCPM cases cite
their typed records so the merged knowledge contract can resolve them.

Review: #51 (review)
Signed-off-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: amy-why-3459 <amy-why-3459@users.noreply.github.com>
Regenerate packaged skill abstracts so source revisions and content
hashes match the merge, including the MiniCPM case records.

Review: #51 (review)
Signed-off-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: amy-why-3459 <amy-why-3459@users.noreply.github.com>
The merged matrices and case records change the coverage input digest.
Regenerate the view; no coverage row was added or promoted.

Review: #51 (review)
Signed-off-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: amy-why-3459 <amy-why-3459@users.noreply.github.com>
@github-actions

github-actions Bot commented Nov 4, 2026 •

Copy link
Copy Markdown

Skill evaluation

PLANNED: not executed; there are no task outcomes yet.
No approval, model efficacy or current-head test result is implied.

  • Next: run the pinned source/index --check below at head 365b30c8d5ade785590902d494b053b0e4a2b641.
  • Task selection: no supported automatic comparison; choose a relevant source/content check and disposition uncovered claims.
  • Selected comparisons: 0 · Estimated task calls: 0. Uncovered/unsupported changes: 341; Canonical library paths: 5; Generated projection paths: 81; Other paths: 255. These are paths, not independent claims.
  • Return: command, input/source pin, exit status, outputs/failures and untested claims for independent verified/refuted/unverified disposition.
Author verification steps (nonpaid; not yet run)
  1. Bind the checkout. Run git rev-parse HEAD; it must equal 365b30c8d5ade785590902d494b053b0e4a2b641. If it differs, obtain a current plan; do not reuse old results.
  2. Check source/index consistency. At that PR checkout, using the reviewed repository tool and its documented development dependencies, run:
python tools/build_skill_index.py --source-revision 323db123b66a83a5df1c97a34dc1739eabb38dbe --check

The declared source pin matches this head's canonical library bytes. The command has not run: retain its exit code and full drift/success output. It checks the generated projection, not claim truth or skill efficacy.
No supported automatic comparison is selected. Review the canonical changes and explain which claims need evidence, are unaffected, or remain unverified; do not treat generated records as separate behavioral claims.
Uncovered scope by location: Canonical library paths: 5; Generated projection paths: 81; Other paths: 255. Path counts are not claim counts; no metadata-only conclusion is inferred.
3. Return evidence for independent review: head, check/task/source pin, command, environment, exit status, outputs/failures and untested claims. Label scripted controls. Request each claim's disposition: verified, refuted or unverified; this plan proves neither model provenance nor benefit.
Check recipes and evidence limits

Evidence and logs · Retention: 30 days.
Retained artifacts are verifiable only before Unix time 1796455697 while the linked artifact is available. Expired evidence is unverified.

Plan bindings, budget, frozen exam and advisory details

Advisory: obtain missing evidence

Retained evidence availability: planned / unexecuted. No approval or merge authorization is issued.
Applicable only while these revisions and inputs match the current PR.
Paid execution requires trusted label authorization and cumulative PR reservation. Unknown accounting blocks new paid calls; planning is not execution.
Pipeline evidence only; offline fixed outputs do not establish skill efficacy.
Unchanged-correct is valid neutral evidence, not incremental benefit.
Content/source review and authorship admission remain separate.
Trusted regrading checks retained answers, not model/hardware provenance or a hostile executor; this is not an efficacy certification.

  • Retained evidence is planned / unexecuted.
  • No supported comparison cases were selected.
  • Uncovered/unsupported scope needs a case or explicit reviewer disposition.
    Plan SHA-256: bbd13e260f3e30b1fd6731578cf5860b1b0ea13308af10eb2eafa59f7b25093a
    Base: 6fefa0108232fcf210aa7c0f2ba3fa936439bd02 · Head: 365b30c8d5ade785590902d494b053b0e4a2b641
    Trusted implementation: 6fefa0108232fcf210aa7c0f2ba3fa936439bd02

Model/settings: {"effort":"not_applicable","name":"claude-opus-5-5"}
Budget: {"comparisons":0,"estimated_calls":0,"limits_per_comparison":{"campaign_seconds":600,"max_task_calls":2,"repeats":1,"timeout_seconds":180,"token_stop_new_trials":200000},"provider_config_sha256":"b28d80f8194fbe0f5a9f01515efb24b218979fd45f702776560da276f4b30d04","reservation":null}

Skill Comparison Cases Estimated calls

Automatic execution / cumulative PR budget:

{"reason":"Trusted configuration or pricing missing, invalid or expired","remaining_usd":"unknown","reserved_or_unresolved_usd":"unknown","spent_or_legacy_usd":"unknown","state":"blocked"}

Projection check selection (not an executed result):

{"declared_in":"src/inferrsi/data/repo_packs/inferrsi/knowledge/README.md","source_revision":"323db123b66a83a5df1c97a34dc1739eabb38dbe","status":"ready"}

Provider/settings: {"client":{"api_version":"2023-06-01","endpoint":"https://yibuapi.com/v1/messages","kind":"anthropic-messages-full-context-v1","max_output_tokens":4096,"max_read_bytes":32768,"max_request_bytes":262144,"max_requests":1,"max_tool_calls":12,"provider":"yibuapi"},"limits":{"token_stop_new_trials":200000},"model":{"effort":"not_applicable","name":"claude-opus-5-5"},"pricing":{"currency":"USD","expires_at":1793271228,"group":"default","max_input_tokens":1000000,"model":"claude-opus-5-5","rate_evidence":"https://github.com/InferMatrixLab/InferRSI/issues/215#issuecomment-6467531341","rates":{"cache_read":"0.4","cache_write":"10","input":"8","output":"40"},"request_fee":"0","unit":"per_million_tokens"},"spend_limit":{"amount":"200","currency":"USD"}}

Uncovered / unsupported paths (341)
  • uncovered: "docs/contributing.md"
  • uncovered: "docs/reference-matrix.md"
  • uncovered: "docs/searchspace-matrix.md"
  • uncovered: "docs/skill-coverage.md"
  • uncovered: "evidence/minicpmo45-l20x-20261021/README.md"
  • uncovered: "evidence/minicpmo45-l20x-20261021/patch/candidate.json"
  • uncovered: "evidence/minicpmo45-l20x-20261021/patch/integrated-candidate.json"
  • uncovered: "evidence/minicpmo45-l20x-20261021/patch/latest-main-mps-only.yaml"
  • uncovered: "evidence/minicpmo45-l20x-20261021/patch/minicpmo_4_5_cpu_reference_trt_mps.yaml"
  • uncovered: "evidence/minicpmo45-l20x-20261021/patch/peer-round2-batch-prompt-setup.patch"
  • uncovered: "evidence/minicpmo45-l20x-20261021/patch/peer-round2-cfm-only-fp16.patch"
  • uncovered: "evidence/minicpmo45-l20x-20261021/patch/peer-round2-cfm-speaker-composition.patch"
  • uncovered: "evidence/minicpmo45-l20x-20261021/patch/peer-round2-clean-main-composition.patch"
  • uncovered: "evidence/minicpmo45-l20x-20261021/patch/peer-round2-fp16-dispatch.patch"
  • uncovered: "evidence/minicpmo45-l20x-20261021/patch/peer-round2-hift-tf32.patch"
  • uncovered: "evidence/minicpmo45-l20x-20261021/patch/peer-round2-manifest.json"
  • uncovered: "evidence/minicpmo45-l20x-20261021/patch/peer-round2-native-coalescing.patch"
  • uncovered: "evidence/minicpmo45-l20x-20261021/patch/peer-round2-speaker-torch-graph.patch"
  • uncovered: "evidence/minicpmo45-l20x-20261021/patch/peer-round2-tensor-handoff-composition.patch"
  • uncovered: "evidence/minicpmo45-l20x-20261021/patch/peer-round2-tensor-handoff-main.patch"
  • uncovered: "evidence/minicpmo45-l20x-20261021/patch/peer-round2-tensor-handoff25.yaml"
  • uncovered: "evidence/minicpmo45-l20x-20261021/patch/peer-round2-tensor-handoff2x8.yaml"
  • uncovered: "evidence/minicpmo45-l20x-20261021/patch/peer-round2-tensor-handoff4x4.yaml"
  • uncovered: "evidence/minicpmo45-l20x-20261021/patch/peer-round2-tensor-handoff50.yaml"
  • uncovered: "evidence/minicpmo45-l20x-20261021/patch/speaker-mps.yaml"
  • uncovered: "evidence/minicpmo45-l20x-20261021/patch/speaker-only.yaml"
  • uncovered: "evidence/minicpmo45-l20x-20261021/plan/baseline-plan.json"
  • uncovered: "evidence/minicpmo45-l20x-20261021/plan/cache-semantics.json"
  • uncovered: "evidence/minicpmo45-l20x-20261021/plan/candidate-packages.json"
  • uncovered: "evidence/minicpmo45-l20x-20261021/plan/cpu-reference-parallel-hypothesis.json"
  • uncovered: "evidence/minicpmo45-l20x-20261021/plan/dataset-manifest.json"
  • uncovered: "evidence/minicpmo45-l20x-20261021/plan/final-control-allocation-addendum.json"
  • uncovered: "evidence/minicpmo45-l20x-20261021/plan/fresh-start-allocation-addendum.json"
  • uncovered: "evidence/minicpmo45-l20x-20261021/plan/fresh-start-confirmation.json"
  • uncovered: "evidence/minicpmo45-l20x-20261021/plan/integrated-comparison.json"
  • uncovered: "evidence/minicpmo45-l20x-20261021/plan/integrated-resolved-config.json"
  • uncovered: "evidence/minicpmo45-l20x-20261021/plan/integrated-same-gpu-confirmation.json"
  • uncovered: "evidence/minicpmo45-l20x-20261021/plan/knowledge-transfer.json"
  • uncovered: "evidence/minicpmo45-l20x-20261021/plan/latest-main-addendum.json"
  • uncovered: "evidence/minicpmo45-l20x-20261021/plan/latest-main-mps-attribution.json"
  • uncovered: "evidence/minicpmo45-l20x-20261021/plan/main-profile-control.json"
  • uncovered: "evidence/minicpmo45-l20x-20261021/plan/model-hf-check.json"
  • uncovered: "evidence/minicpmo45-l20x-20261021/plan/model-manifest.json"
  • uncovered: "evidence/minicpmo45-l20x-20261021/plan/model-metadata-check.json"
  • uncovered: "evidence/minicpmo45-l20x-20261021/plan/mps-runspec-redacted.json"
  • uncovered: "evidence/minicpmo45-l20x-20261021/plan/noninferiority-holdout.json"
  • uncovered: "evidence/minicpmo45-l20x-20261021/plan/noninferiority-selection.json"
  • uncovered: "evidence/minicpmo45-l20x-20261021/plan/official-model-manifest.json"
  • uncovered: "evidence/minicpmo45-l20x-20261021/plan/peer-round2-batch-setup.json"
  • uncovered: "evidence/minicpmo45-l20x-20261021/plan/peer-round2-batch16.json"
  • uncovered: "evidence/minicpmo45-l20x-20261021/plan/peer-round2-capacity32.json"
  • uncovered: "evidence/minicpmo45-l20x-20261021/plan/peer-round2-cfm-only-fp16.json"
  • uncovered: "evidence/minicpmo45-l20x-20261021/plan/peer-round2-cfm-speaker-composition.json"
  • uncovered: "evidence/minicpmo45-l20x-20261021/plan/peer-round2-component-profile.json"
  • uncovered: "evidence/minicpmo45-l20x-20261021/plan/peer-round2-cpu-profile-retry.json"
  • uncovered: "evidence/minicpmo45-l20x-20261021/plan/peer-round2-dispatch-fix.json"
  • uncovered: "evidence/minicpmo45-l20x-20261021/plan/peer-round2-environment-addendum.json"
  • uncovered: "evidence/minicpmo45-l20x-20261021/plan/peer-round2-fp16-pool.json"
  • uncovered: "evidence/minicpmo45-l20x-20261021/plan/peer-round2-fp16-resident.json"
  • uncovered: "evidence/minicpmo45-l20x-20261021/plan/peer-round2-fp16-screen.json"
  • uncovered: "evidence/minicpmo45-l20x-20261021/plan/peer-round2-graph-coverage.json"
  • uncovered: "evidence/minicpmo45-l20x-20261021/plan/peer-round2-hift-tf32.json"
  • uncovered: "evidence/minicpmo45-l20x-20261021/plan/peer-round2-native-coalescing.json"
  • uncovered: "evidence/minicpmo45-l20x-20261021/plan/peer-round2-native-talker-replicas.json"
  • uncovered: "evidence/minicpmo45-l20x-20261021/plan/peer-round2-native-talker-replicas4.json"
  • uncovered: "evidence/minicpmo45-l20x-20261021/plan/peer-round2-packed-stage-scaling.json"
  • uncovered: "evidence/minicpmo45-l20x-20261021/plan/peer-round2-peer-tuning64.json"
  • uncovered: "evidence/minicpmo45-l20x-20261021/plan/peer-round2-pipeline-cpu-profile.json"
  • uncovered: "evidence/minicpmo45-l20x-20261021/plan/peer-round2-pipeline-replicas.json"
  • uncovered: "evidence/minicpmo45-l20x-20261021/plan/peer-round2-profile-exclusion.json"
  • uncovered: "evidence/minicpmo45-l20x-20261021/plan/peer-round2-quality-repeats.json"
  • uncovered: "evidence/minicpmo45-l20x-20261021/plan/peer-round2-resident16.json"
  • uncovered: "evidence/minicpmo45-l20x-20261021/plan/peer-round2-setup-control-audit.json"
  • uncovered: "evidence/minicpmo45-l20x-20261021/plan/peer-round2-speaker-torch-graph.json"
  • uncovered: "evidence/minicpmo45-l20x-20261021/plan/peer-round2-stage2-profile.json"
  • uncovered: "evidence/minicpmo45-l20x-20261021/plan/peer-round2-stage2-replicas.json"
  • uncovered: "evidence/minicpmo45-l20x-20261021/plan/peer-round2-temporal-window.json"
  • uncovered: "evidence/minicpmo45-l20x-20261021/plan/peer-round2-tensor-handoff.json"
  • uncovered: "evidence/minicpmo45-l20x-20261021/plan/peer-round2-window50-coverage.json"
  • uncovered: "evidence/minicpmo45-l20x-20261021/plan/peer-round2.json"
  • uncovered: "evidence/minicpmo45-l20x-20261021/plan/runtime-observations.json"
  • uncovered: "evidence/minicpmo45-l20x-20261021/plan/search-plan.json"
  • uncovered: "evidence/minicpmo45-l20x-20261021/plan/sglang-packages.json"
  • uncovered: "evidence/minicpmo45-l20x-20261021/plan/speaker-device-hypothesis.json"
  • uncovered: "evidence/minicpmo45-l20x-20261021/plan/speaker-microbatch-control.json"
  • uncovered: "evidence/minicpmo45-l20x-20261021/plan/speaker-mps-control.json"
  • uncovered: "evidence/minicpmo45-l20x-20261021/plan/speaker-mps-resolved-config.json"
  • uncovered: "evidence/minicpmo45-l20x-20261021/plan/speaker-mrv2-control.json"
  • uncovered: "evidence/minicpmo45-l20x-20261021/plan/speaker-only-resolved-config.json"
  • uncovered: "evidence/minicpmo45-l20x-20261021/plan/speaker-runspec-redacted.json"
  • uncovered: "evidence/minicpmo45-l20x-20261021/plan/vllm-main-resolved-config.json"
  • uncovered: "evidence/minicpmo45-l20x-20261021/plan/vllm-packages.json"
  • uncovered: "evidence/minicpmo45-l20x-20261021/results/baseline-quality.json.gz"
  • uncovered: "evidence/minicpmo45-l20x-20261021/results/baseline-table.json"
  • uncovered: "evidence/minicpmo45-l20x-20261021/results/c1-quality-repeat-check.json"
  • uncovered: "evidence/minicpmo45-l20x-20261021/results/concurrency-comparison.png"
  • uncovered: "evidence/minicpmo45-l20x-20261021/results/concurrency-comparison.svg"
  • uncovered: "evidence/minicpmo45-l20x-20261021/results/concurrency-metrics.csv"
  • uncovered: "evidence/minicpmo45-l20x-20261021/results/environment-attempts.json"
  • uncovered: "evidence/minicpmo45-l20x-20261021/results/excluded-local-checkpoint-scan.json"
    Additional paths omitted; see retained evidence.

@Dong1017

Dong1017 commented Nov 4, 2026

Copy link
Copy Markdown
Collaborator

Following up on the size note (Refs #273 R6)

Thanks for the versioned score_outputs_v2.py correction — verifying prompt ID, WAV hash, duration and scorer hash before reusing a completed item addresses that thread, and leaving the historical score_outputs.py bytes alone is the right call.

The size question from 2026-11-01 is still open, and the PR has grown since: 300 files then, 340 now at 772e8c17. The PR is still a draft, so nothing is blocked yet; I am asking now because the decision is cheaper before it is marked ready than after.

To restate it briefly: merging adds about 13 MB to Git history permanently. A later deletion does not recover it, and every clone pays for it — #193 and #195 are the precedent.

Three ways this can land, and any of them unblocks the PR:

  1. Move the raw result files to a Release asset, keeping the manifest, summaries and knowledge changes in the tree with the asset URL and its SHA-256. This is what [Investigation] Agent-led workflow gaps: closure, decision visibility, review provenance and focus #273 R6 proposes.
  2. Say the bytes must stay in the tree, with the reason. If replay genuinely requires the raw files in-repo, that is a legitimate answer and R6 should record the exception rather than pretend otherwise.
  3. Tell me the decision belongs to someone else, and I will ask them instead.

What I cannot do is decide it for you: you own this campaign's evidence, and I would be guessing at which files are load-bearing for replay.

#273 R6 has been waiting on this thread and on #113 since 2026-11-01, and it is the last open item in that review. A short answer — even "option 2, because X" — closes it.

No change to the evidence, verdicts or this PR's scope is requested here.

@Dong1017

Dong1017 commented Nov 4, 2026

Copy link
Copy Markdown
Collaborator

R6 is decided, and the part that concerns this PR is yours to choose. The record is #273 issuecomment-6632466101; #273 is now closed with every remedy decided.

What it means here:

  • Nothing is enforced. The 512 KiB per-file and 2.0 MiB per-PR budgets are reported in the ready lane, not merge gates. No threshold blocks this PR today, and enforcement is a separate decision reviewed on or after 2026-12-02.
  • Nothing merged is being moved. The rule applies to new additions only.
  • The choice stays with you, before this PR leaves draft: publish the raw bytes as a Release asset with URL, SHA-256, byte count and a named retention owner, or state in the PR body why they need to stay in Git. Both are acceptable answers. The reason for asking before ready is that otherwise the question lands on whoever reviews the PR at merge time, which is the worst moment to raise it.

Measured today at this PR's head, so the numbers are current rather than the 2026-10-31 figures in F5:

New evidence/ files Bytes added Over 512 KiB
#51 at 772e8c17 242 13,609,944 (12.98 MiB) 8 files, 7,919,892 bytes (61% of the addition)

No existing evidence file grows; these are all new files.

cursoragent and others added 2 commits November 5, 2026 07:13
… conflicts with #354

Keep both appended matrix sections: main's vLLM Ascend v0.27.1rc1 notes and this branch's Issue #49 conditioning-transport notes. The installed catalog counts 129 knowledge records because each side added one distinct record. Generated skill abstracts follow main in this merge and are refreshed from this commit next. Skill coverage is regenerated from the merged matrices and registry.

Agent-assisted-by: Cursor / grok-4.7 (conflict resolution)
Signed-off-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: amy-why-3459 <amy-why-3459@users.noreply.github.com>
Regenerate packaged skill abstracts so source revisions and content hashes match the merge commit, including the vLLM Ascend skill and the MiniCPM case records.

Agent-assisted-by: Cursor / grok-4.7 (conflict resolution)
Signed-off-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: amy-why-3459 <amy-why-3459@users.noreply.github.com>
@cursor

cursor Bot commented Nov 5, 2026

Copy link
Copy Markdown

已把 main(6fefa010)合并进 perf/minicpm-o45-l20x-throughput,解决与 #354 的冲突。Merge commit: 323db123b66a83a5df1c97a34dc1739eabb38dbe。生成的 skill index 已按该提交重新生成:365b30c8d5ade785590902d494b053b0e4a2b641。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:workbench CLI workbench: profile, A/B loop, quality gates, evidence reports

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants