Skip to content

Qualify RSI trials with explicit completeness and lifecycle checks - #341

Merged
zengchuang-hw merged 3 commits into
mainfrom
feat/omni-evidence-contract
Nov 5, 2026
Merged

zengchuang-hw merged 3 commits into
mainfrom
feat/omni-evidence-contract

Conversation

@amy-why-3459

@amy-why-3459 amy-why-3459 commented Nov 4, 2026 •

Copy link
Copy Markdown
Collaborator

Problem and resulting behavior

Refs #340

An external benchmark can finish and emit a faster metric without proving that every request completed, workers exited cleanly, or the intended graph controls were effective. Repeatable --require-trial-check DOTTED_KEY options freeze adapter-produced boolean checks in RunSpec. Every selected check must be literal true on every measured trial in both arms; missing, malformed or false evidence yields INCONCLUSIVE and withholds improvement_pct.

The HTML report and direct evaluation-to-chart conversion honor that comparison decision. When selected checks leave no qualified comparison, neither raw medians nor a pre-existing campaign specification produces a gain chart. Raw measurements and campaign JSON remain available. Rebuilding a report also removes an obsolete generated SVG and its report link. Qualified comparisons and commands without selected checks retain their chart behavior.

The packaged RSI evidence workflow documents reference initialization/RNG contracts, feedback-aware stages, matching full/stream reference decoding, effective graph controls, streaming preflight, device qualification, and complete paired reruns after harness repair. These checks are adapter attestations backed by receipts, not independent inspection of worker/device state or a substitute for quality and source-integrity gates. No campaign thresholds, accelerator dependencies or CI lanes are added.

Implementation

  • CLI, RunSpec, trial collection and evaluator enforce opt-in checks while preserving positional RunSpec compatibility and the unconfigured behavior.
  • Chart consumers share an eligibility check based on the existing required_trial_checks and improvement_pct fields, before choosing either chart input.
  • Report regressions cover both arms, false/missing/non-boolean evidence, qualified comparisons, campaign specifications, direct conversion, and regeneration after an earlier chart.
  • All 80 generated skill records are refreshed from committed source 1e87be46b8d080d439bb516ed9fa9092f8306f62; the coverage view is refreshed from the current registry and matrices.

Validation and limits

Checked content: head 4cbe29b5374b9cf1282b1855e1631ec9e7b7e22e, Python 3.12. The functional tests ran on the final code before the generated-index-only commit; index/knowledge checks cover the regenerated artifacts. The working tree is clean.

  • pytest tests/test_trial_check_reports.py tests/test_trial_checks.py tests/test_summary_chart.py tests/test_runtime.py: 118 passed, 15 subtests passed. The new report regressions first reproduced 15 failures on the original GPT implementation before the replacement fix.
  • pytest tests/test_skill_index.py tests/test_skill_coverage_view.py tests/test_skill_library.py tests/test_knowledge_contract.py: 49 passed.
  • python tools/build_skill_index.py --source-revision 1e87be46b8d080d439bb516ed9fa9092f8306f62 --check: passed, 80 records, using an isolated Git 2.49.0 installation.
  • python tools/build_skill_coverage.py --check, ruff check src tests tools, and git diff --check: passed.
  • No local full-suite, wheel-install or accelerator/model acceptance rerun is claimed for this revision. Earlier-head CI/review results are historical; the rebuilt head requires fresh CI and review. No speedup or model-quality claim is made.

Knowledge authorship

The current contribution was rebuilt on main at 6fefa0108232fcf210aa7c0f2ba3fa936439bd02 from the original Codex functionality, followed by a newly authored chart fix and regenerated projections. Its material AI author is Codex using the contributor-confirmed gpt-6-astra / xhigh settings. This declaration covers the current head; previous heads retain their historical attribution in the PR discussion. Maintainer review, merge and Issue acceptance remain separate.

{
  "schema_version": 1,
  "head_sha": "4cbe29b5374b9cf1282b1855e1631ec9e7b7e22e",
  "human_only": false,
  "material_ai_authors": [
    {
      "tool": "Codex",
      "model_id": "gpt-6-astra",
      "effort": "xhigh",
      "role": "author"
    }
  ]
}

@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 4cbe29b5374b9cf1282b1855e1631ec9e7b7e22e.
  • 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: 124; Canonical library paths: 3; Generated projection paths: 81; Other paths: 40. 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 4cbe29b5374b9cf1282b1855e1631ec9e7b7e22e. 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 1e87be46b8d080d439bb516ed9fa9092f8306f62 --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: 3; Generated projection paths: 81; Other paths: 40. 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 1796462784 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: 425c76b45cf2def80893cf819d4e7f91c4d406985e0e486c8a89fe8dfd9ea2f1
    Base: e843b9d31cb86e1fd12d00890c89798b0bedd1fe · Head: 4cbe29b5374b9cf1282b1855e1631ec9e7b7e22e
    Trusted implementation: e843b9d31cb86e1fd12d00890c89798b0bedd1fe

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":"1e87be46b8d080d439bb516ed9fa9092f8306f62","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 (124)
  • uncovered: "docs/campaign-summary-chart.md"
  • uncovered: "docs/contributing.md"
  • uncovered: "docs/dashboard.md"
  • uncovered: "docs/operations.md"
  • uncovered: "docs/quickstart.md"
  • uncovered: "docs/skill-coverage.md"
  • uncovered: "plugins/inferrsi/skills/inferrsi/SKILL.md"
  • uncovered: "pyproject.toml"
  • uncovered: "src/inferrsi/arguments.py"
  • uncovered: "src/inferrsi/cli.py"
  • uncovered: "src/inferrsi/data/dashboard/template.html"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/README.md"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/ascend-aclgraph-capture-replay.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/ascend-device-health.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/ascend-distributed-parallel.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/ascend-graph-mode.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/ascend-model-adaptation.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/ascend-operator-profiling.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/ascend-operator-tuning.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/ascend-optimization-casebook.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/ascend-performance-analysis.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/ascend-video-diffusion-optimization.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/ascendc-tiling-design.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/cann-attribution-overlap.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/torch-npu.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/torchnpu-device-memory-lifecycle.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/torchnpu-pinned-host-memory-lifecycle.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/vllm-ascend.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/assess-serving-preemption.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/assess-split-backward-schedule.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/audit-fixed-workload-claim.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/audit-h3-metal-fasth3-semantics.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/audit-h3-runtime-residency.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/audit-llama-runtime-state.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/audit-recurrent-kv-finalization.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/audit-sd-cpp-residency.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/audit-sglang-diffusion-lifetimes.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/audit-vllm-kv-lifetimes.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/bound-windowed-attention-replay.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/budget-speculative-verification.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/calibrate-serving-simulation.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/cgroup-resource-controls.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/checkpoint-recovery-consistency.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/choose-parallel-training-plan.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/cite-check-downstream-pr.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/claim-contract.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/comfy-ui.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/competitor-scan.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/dcp-async-save-performance.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/dense-performance-evidence.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/diagnose-vllm-admission-pressure.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/diffusers-invocation-state.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/draft-acceptance-issue.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/dwarfstar.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/evaluate-elastic-serving-placement.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/generation-cache-lifecycle.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/host-memory-management.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/host-overhead-optimization.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/husky.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/inference-benchmark-design.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/inference-optimization-casebook.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/kernel-writing-guide.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/kv-tier-management.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/lazy-evaluation-stream-lifetimes.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/lily.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/lithos-metal.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/local-dream.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/mistral-rs.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/mlc-llm.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/mlx-swift-lm.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/npu-skill-factory.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/optimization-search-policy.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/os-process-placement.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/performance-ceiling-analysis.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/plan-activation-residency.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/project-maya.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/pytorch.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/repository-evolution-analysis.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/rsi-evidence.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/skill-evolution-playbook.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/splash.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/storage-io-measurement.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/training-input-pipeline.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/training-resource-budget.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/video-diffusion-optimization.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/vllm-metal.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/weight-loading-optimization.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/cuda/skills/audit-afd-p2p-exchanges.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/cuda/skills/audit-flare-session-lifecycle.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/cuda/skills/diagnose-attention-bottlenecks.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/cuda/skills/host-overhead-profiling.json"
  • uncovered: "src/inferrsi/data/repo_packs/inferrsi/knowledge/cuda/skills/reason-hopper-kernels.json"
  • uncovered: "src/inferrsi/data/skill_library/workflows/rsi-evidence/SKILL.md"
  • uncovered: "src/inferrsi/data/skill_library/workflows/rsi-evidence/metadata.json"
  • uncovered: "src/inferrsi/data/skill_library/workflows/rsi-evidence/references/omni-experiments.md"
  • uncovered: "src/inferrsi/harness/campaign_records.py"
  • uncovered: "src/inferrsi/harness/campaign_trace.py"
  • uncovered: "src/inferrsi/harness/dashboard.py"
  • uncovered: "src/inferrsi/harness/dashboard_data.py"
  • uncovered: "src/inferrsi/harness/dashboard_live.py"
    Additional paths omitted; see retained evidence.

@Dong1017 Dong1017 added the area:workbench CLI workbench: profile, A/B loop, quality gates, evidence reports label Nov 4, 2026 — with ChatGPT Codex Connector

@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.

Scoped static review of draft #341 at head 8d01acd0 against Issue #340: inspected CLI/RunSpec freezing, per-trial result collection, evaluation precedence, the synthetic tests, and the existing HTML/SVG report consumer. One P2 evidence-presentation risk is attached inline: unqualified trials correctly suppress improvement_pct, but the report still plots an apparent gain ratio from their raw medians. Please make the unqualified status unmistakable in that consumer. This does not challenge retention of raw measurements or the declared adapter-attestation boundary.

I did not run tests, model workloads, or hardware experiments. The separate current-head knowledge-authorship admission failure remains an author/maintainer matter; this COMMENT is neither approval nor integration/goal acceptance.

t.get("status") == "completed" and t.get("metric") is not None for t in baseline + candidate
)
if all_metrics:
if all_metrics and trials_qualified:

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 — unqualified trial checks still produce a comparative gain chart. With baseline=100 ms, candidate=80 ms and evidence.workers_closed=false, this branch correctly leaves improvement_pct=None and yields INCONCLUSIVE. However harness/reporting.py::_summary_figure() calls summary_chart.py::spec_from_evaluation(), which derives a candidate/baseline ratio directly from the retained medians and renders it in report.html even when checks failed. The point note says INCONCLUSIVE, but the chart still visually communicates an improvement that this new gate is meant to withhold. Consider suppressing the gain figure for an unqualified comparison, or explicitly marking the plotted ratio as raw/unqualified — not an accepted gain. Please add a regression that reads the HTML/SVG report after a false/missing required check; the existing tests only assert evaluation.json.

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 8970059. evaluate() now records trials_qualified, and spec_from_evaluation() refuses to derive a candidate/baseline ratio when it is false. For an unqualified comparison, report.html labels the retained medians as raw measurements (not an accepted gain) and no summary-chart.svg is written; qualified comparisons still plot the measured ratio. Added regressions that read the HTML report for both a false and a missing evidence.workers_closed check (baseline 100 ms / candidate 80 ms), asserting no SVG and no 0.80×. ruff and pytest tests/test_trial_checks.py tests/test_summary_chart.py tests/test_runtime.py pass locally; CI pending.

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.

Follow-up on the 8970059 repair (static review only): the single-run path now guards trials_qualified=false, but harness/reporting.py:69–75 prioritizes a pre-existing summary-chart.json and never calls the guarded spec_from_evaluation() in that branch. With a valid campaign spec alongside an unqualified current evaluation, _summary_figure() still writes and inlines an SVG, so “no gain figure on unqualified checks” is not guaranteed for this path. Please clarify whether the campaign figure is intentionally independent historical evidence; if so, label that boundary explicitly and ensure it cannot represent the unqualified current step as an accepted gain. Otherwise apply the qualification guard before either chart path. A regression using summary-chart.json plus trials_qualified=false would distinguish the intended behavior. No tests or model/device experiments run here.

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.

Fixed in 1cdbb70: when the current evaluation has trials_qualified=false, the report now stops before both chart paths, so no gain chart is written or inlined, even if a summary-chart.json exists. The spec file stays on disk untouched and the report notes it as separate historical evidence that was not drawn. Regression test: a summary-chart.json that would render 0.80× plus trials_qualified=false produces no chart and leaves the spec bytes unchanged.

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 1cdbb70d11b4d335ba907113791c4a096beb75bd (API-reported PR base 663f3b327998526a13aa31e72ad729025c18983c): the campaign-chart bypass identified in my follow-up is addressed.

The qualification guard returns before either chart path. An evaluation with trials_qualified=false therefore cannot cause the report to render or write a gain SVG from an existing summary-chart.json. The JSON remains unchanged, and the report separates that historical specification from the unqualified step while labeling retained medians as raw measurements. The report-level regression supplies a valid campaign specification that otherwise renders 0.80×.

I inspected the four-file incremental diff and relevant evaluation, caller and test context. The Ready CI passed all six jobs; both full suites report 3,571 passed, 13 skipped and 284 subtests. They checked out merge 38cf7fba1ca3bf9778622aeb122df28cc165b204, whose Git tree matches this head.

This clears this specific presentation finding only, not whole-PR admission or acceptance. The current-head knowledge-authorship check remains noncompliant under current main 9dded7ad. No local tests, model/device work, formal approval or merge action were performed.

@amy-why-3459
amy-why-3459 marked this pull request as ready for review November 4, 2026 08:27
cursor Bot pushed a commit that referenced this pull request Nov 4, 2026
A false or missing required check already leaves improvement_pct unset and
the verdict INCONCLUSIVE, but the HTML report still plotted a
candidate/baseline ratio from the retained medians. Refuse that derived
figure and say the medians are raw measurements, not an accepted gain.

Addresses #341 (comment)

Agent-assisted-by: Cursor Grok 4.7 (implementation)
Signed-off-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: amy-why-3459 <amy-why-3459@users.noreply.github.com>
cursor Bot pushed a commit that referenced this pull request Nov 4, 2026
summary-chart.json is historical campaign evidence and still wins for a
qualified run, but an unqualified evaluation was inlining that figure as
this step's gain summary. Guard both chart paths before rendering, leave
the committed specification unchanged, and say it was not drawn for this
step.

Addresses #341 (comment)

Agent-assisted-by: Cursor Grok 4.7 (implementation)
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)合并进 feat/omni-evidence-contract,解决与 #354 的冲突。Merge commit: 8cc3649。生成的 skill index 已按该 merge commit 重新生成(5e573b2318926543cc974883ba6b2cf81b1f7e48)。

@amy-why-3459

Copy link
Copy Markdown
Collaborator Author

@zengchuang-hw @Dong1017 PTAL

@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.

PR review verdict: DO NOT PASS pending authorship reconciliation.

@amy-why-3459 Rechecked base 6fefa0108232fcf210aa7c0f2ba3fa936439bd02 and head 5e573b2318926543cc974883ba6b2cf81b1f7e48 in response to PTAL.

Blocker: reconcile the Codex-only declaration with the recorded Cursor contribution. The current PR block lists only Codex, but 8cc3649 and 5e573b23 explicitly attribute conflict resolution to Cursor / grok-4.7 with unknown effort, including changes under protected generated knowledge paths. Policy requires every material AI author and gives generated changes no automatic exemption. Please restore truthful material-author coverage, retaining unknown settings and using the documented exception route where necessary, or provide an evidence-backed explanation reconciling that recorded contribution with the narrower declaration. Do not guess historical settings or rewrite historical commits. The new green declaration job validates the submitted metadata; it does not resolve this discrepancy.

Technical recheck: no new runtime blocker found in CLI/RunSpec freezing, boolean collection, evaluation and report consumers. The guard still precedes both chart paths, so the earlier presentation finding remains resolved. All six Ready jobs passed. Both Python suites report 3,605 passed, 13 skipped and 284 subtests; tested merge 32de60a0407554853fa537f20fbdbd22a61a5b78 has the same Git tree as this head.

Review performed by dot under Dong1017's delegated technical-review authority. Static review plus inspection of existing CI, with no local test rerun or model/device experiment. This is non-voting COMMENT feedback, not formal approval, a policy exception or campaign acceptance.

Copy link
Copy Markdown
Contributor

PR review verdict — DO NOT PASS

Reviewed base 6fefa0108232fcf210aa7c0f2ba3fa936439bd02 and current head 5e573b2318926543cc974883ba6b2cf81b1f7e48 against #340. This includes rechecking 1cdbb70d..5e573b23 after the earlier scoped review. No additional blocking runtime finding. The authorship reconciliation now recorded in Dong1017's current-head review remains the approval blocker.

本轮已解决

  • The qualification guard still precedes both chart paths. False or missing selected attestations suppress the derived gain and campaign-chart rendering, while the historical JSON and raw medians remain available. The original presentation finding remains resolved. Guard
  • CLI selection, RunSpec freezing, both-arm collection, literal-true evaluation and persisted report consumers were traced. The previous positional RunSpec fields retain their order, and an old snapshot loads with default-off checks.
  • The generated index check passed at source revision 8cc364913f98f62ae186800dab485f501601ca5a with 80 records, and the coverage view matches its sources. The current-head Ready jobs passed.

批准前必做(Before I can recommend approval)

  • Amy needs to reconcile the Codex-only declaration with the recorded Cursor contributions identified in the linked review, retaining truthful unknown settings. Close this with complete current-head material-author coverage, or an evidence-backed reconciliation accepted in review. If that truthful declaration requires an exception, policy owner Dong1017 must record the applicable exact-head, exact-scope knowledge-policy-approval as an independent approver. The policy gives generated knowledge no automatic exemption and requires every material AI author. The existing green metadata status does not resolve the recorded attribution discrepancy. This is the same outstanding item already reported by Dong1017.

非阻塞问题或建议

The PR's validation text still says 79 generated records. Update it to the verified current count of 80.

Actual checks and remaining limits

On Windows / Python 3.12.1 / pytest 9.1.1 / Ruff 0.15.15, with imports bound to this checkout, the focused trial/runtime/chart selection reported 102 passed, 1 failed, 15 subtests passed. The sole failure was RuntimeTests.test_submodule_local_edit_changes_snapshot_hash at tests/test_runtime.py:339. I reproduced the same assertion failure on unchanged base 6fefa010 in the same environment; that test and its source-identity implementation are unchanged by this PR. Ruff, diff whitespace, index and coverage checks passed. I did not run the full suite locally or perform model/device acceptance work.

Codex performed this independent, non-voting review through zengchuang-hw, under the account holder's direct delegation to inspect and reply to this PR.

@amy-why-3459

Copy link
Copy Markdown
Collaborator Author

Addressed the author-side corrections in Dong1017's review and the follow-up by updating this PR's description at unchanged head 5e573b2318926543cc974883ba6b2cf81b1f7e48.

  • Restored Cursor material-author coverage alongside the existing contributor-declared Codex attribution. The earlier 8970059 / 1cdbb70 display labels do not establish an exact API model ID or effort, so that entry remains unknown / unknown. The explicit grok-4.7 / effort=unknown attribution in 8cc3649 / 5e573b2 is included separately. Generated changes are included; historical settings and commits were not rewritten.
  • Added an exception request bound to this full head, with all 84 protected changed paths and the specific attribution reason. The trusted-main checker accepts the declaration structure and exact scope; without independent approval, its assessment remains noncompliant for the Cursor entries and missing owner approval.
  • Corrected the generated catalog count to 80 and distinguished current checks from historical validation. Local Python 3.12 checks: the two catalog/projection tests passed, the four report regressions passed, and the coverage check passed. The skill-library tree matches source snapshot 8cc364913f98f62ae186800dab485f501601ca5a. The direct pinned index CLI could not complete because local Git 2.34.1 lacks --no-lazy-fetch; this limitation is recorded rather than counted as a pass. No full-suite or device/model rerun was performed for this metadata-only update.

@Dong1017: please consider the exact-head exception request in the PR body's single knowledge-model-policy block. Under the exception procedure, acceptance still requires your independent top-level knowledge-policy-approval comment matching that head, all paths and the reason exactly. The exception remains pending; this reply does not claim approval, merge readiness or campaign acceptance.

Add optional per-trial qualification without changing default command behavior. Document Omni reference, streaming, graph and lifecycle evidence contracts.

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

Copy link
Copy Markdown
Contributor

PR review verdict — DO NOT PASS pending policy admission

Metadata follow-up at unchanged head 5e573b2318926543cc974883ba6b2cf81b1f7e48, following the author's correction and my previous review.

本轮已解决

Material-author coverage now preserves Codex, the older Cursor unknown/unknown attribution and the explicit grok-4.7/unknown attribution. The single declaration matches this head, and the exception's 84 paths exactly match the protected changed paths under the target policy. The catalog count is corrected to 80.

批准前必做(Before I can recommend approval)

  • Policy owner Dong1017 needs to disposition the exact-head exception request. If granted as an independent approver, record a top-level knowledge-policy-approval matching this head, all 84 paths and the request reason, then obtain a successful re-evaluation. The current check reports the missing independent approval and the two unapproved Cursor entries, with no declaration-format, stale-head or scope error. The exception decision remains pending.

非阻塞问题或建议

No additional finding in this metadata correction.

I compared the declaration with the recorded contributions and the target policy's protected-path set, and inspected the current check evidence. Code is unchanged, so the prior software review and its validation limits remain applicable. Codex performed this non-voting follow-up through zengchuang-hw under the account holder's direct review delegation.

Use the evaluator's existing selected checks and comparison result to decide
whether either report chart input may be rendered. Preserve raw evidence and
remove a previous generated SVG when rebuilding a report without a qualified
comparison. Cover both arms, missing/false/non-boolean checks, campaign input,
direct conversion and report regeneration. Refresh the coverage view.

Agent-assisted-by: Codex / gpt-6-astra [effort=xhigh] (implementation)
Signed-off-by: amy-why-3459 <wuhaiyan17@huawei.com>
Refresh all 80 catalog records from the committed GPT-authored source and
retain the canonical source hashes and metadata.

Agent-assisted-by: Codex / gpt-6-astra [effort=xhigh] (implementation)
Signed-off-by: amy-why-3459 <wuhaiyan17@huawei.com>
@amy-why-3459
amy-why-3459 force-pushed the feat/omni-evidence-contract branch from 5e573b2 to 4cbe29b Compare November 5, 2026 09:25
@amy-why-3459

Copy link
Copy Markdown
Collaborator Author

Updated the branch at the contributor's explicit request to remove the Cursor/Grok changes and rebuild the contribution with GPT. New head: 4cbe29b5374b9cf1282b1855e1631ec9e7b7e22e.

This addresses the authorship review through a source/history replacement, not a relabeling of the previous tree:

  • Started from base 6fefa010 and replayed the original Codex functionality from 9e6a51c as ed30c51. The four Cursor/Grok commits (8970059, 1cdbb70, 8cc3649, 5e573b2) are no longer ancestors of the PR branch.
  • Authored a replacement report fix in 1e87be4 using the evaluator's existing selected-check/comparison fields, with a shared chart eligibility check. It covers both chart sources and removes stale generated SVGs when rebuilding a report. The former report implementation and its added regression code were not carried into this branch.
  • Regenerated all 80 index records from source 1e87be46b8d080d439bb516ed9fa9092f8306f62 in 4cbe29b; no generated record is pinned to a removed commit.
  • Replaced the current-head declaration with Codex / gpt-6-astra / xhigh, as confirmed by the contributor, and removed the superseded exception request. Prior-head attribution and reviews remain historical, not evidence of current-head approval.

Validation: 118 functional/runtime/chart tests and 15 subtests passed, plus 49 index/coverage/library/knowledge tests passed. The new regressions reproduced 15 failures before the replacement fix. The full pinned index CLI (80 records), coverage generation check, Ruff and whitespace checks passed. The local declaration assessment using trusted main policy is compliant without an exception. No full-suite, wheel-install or model/device rerun is claimed locally; fresh remote CI and independent review still apply.

Please recheck the rebuilt head against the authorship finding and the original chart feedback. This supersedes my previous exception request for the old head; it does not claim approval, merge authorization or campaign acceptance.

@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.

Head / conclusion

Reviewed rebuilt head 4cbe29b5374b9cf1282b1855e1631ec9e7b7e22e against target e843b9d31cb86e1fd12d00890c89798b0bedd1fe and the prior reviews. LGTM for the bounded #340 software delivery. No unresolved blocking finding in this review. This is non-voting COMMENT feedback, not a formal approval.

Resolved

  • Authorship reconciliation and superseded exception: the branch now contains three commits from 6fefa010. All 11 changed-file blobs in replay ed30c51 match the original Codex commit 9e6a51c; the four identified Cursor/Grok commits are not ancestors of the rebuilt head. The replacement chart implementation/tests are in 1e87be4, and all 80 generated records now pin that source. Together with the contributor's current declaration and withdrawal, this resolves the declaration/history discrepancy in my previous review for this head. The latest trusted-main declaration assessment is compliant without an exception. This verifies the recorded reconciliation, not private execution settings.
  • Original gain-chart finding and campaign-spec bypass: the shared eligibility check respects the evaluator's selected checks and withheld comparison. Reporting checks it before either chart input; direct conversion also checks it. Rebuilding an unqualified report removes the old SVG before enumerating links, while preserving campaign JSON and raw measurements. Both-arm false/missing/non-boolean cases are covered. Legacy unconfigured behavior and qualified zero/negative gains remain supported.
  • Catalog receipt: the description now consistently reports 80 records and retains the exact-source index-check command, output and verification limits. Generated changes do not substitute for claim or efficacy evidence.

Verification / limits

  • Independently ran pytest -q tests/test_trial_check_reports.py tests/test_summary_chart.py: 57 passed, using exact-head files whose 15 local Git blob hashes matched the fetched revisions. Additional synthetic checks covered 140 invalid/incomplete evaluator cases across 280 default/campaign report routes, plus legacy and qualified zero/negative-gain controls.
  • All six current Ready jobs passed. Both Python 3.10/3.11 logs report 3,772 passed, 13 skipped, 284 subtests passed, testing merge 83fab8a of this head into e843b9d3. Both installed-wheel jobs and KV qualification passed. The latest declaration success supersedes the initial failed declaration run at this head.
  • Local work was focused source/hash and synthetic testing, not a local full suite or complete index CLI rerun. Hosted software checks, adapter attestations and declaration compliance do not establish actual worker/device health, model quality, performance or skill efficacy. No model/device experiment or spending occurred; merge and Issue acceptance remain separate.

@amy-why-3459

Copy link
Copy Markdown
Collaborator Author

@zengchuang-hw @Dong1017 PTAL

@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.

LGTM

PR review verdict: PASS

Head / conclusion

Approve the bounded #340 software delivery at head 4cbe29b5374b9cf1282b1855e1631ec9e7b7e22e against target e843b9d31cb86e1fd12d00890c89798b0bedd1fe. This formal approval follows the account holder's explicit authorization for this PR and the completed current-head review. No unresolved blocking finding remains in that reviewed scope.

Resolved

The rebuilt contribution resolves the recorded authorship discrepancy; the current declaration is compliant without an exception. The shared chart eligibility check handles both chart sources, direct conversion and stale SVG removal. The catalog receipt correctly covers 80 generated records. See the linked review for the source/history verification and regression evidence.

Verification / limits

Immediately before approval, head/base and the discussion were unchanged. All six Ready jobs still pass, and the latest knowledge-model-policy assessment is successful. No new blocking review was present. Reused the recorded 57-test independent review and hosted full-suite/wheel evidence; no additional tests or experiments were run for this approval.

Acting reviewer: dot through Dong1017 under explicit per-PR approval delegation. This approves the software change, not hardware/model efficacy or campaign acceptance. Merge and whole-Issue acceptance remain separate.

zengchuang-hw commented Nov 5, 2026 •

Copy link
Copy Markdown
Contributor

Incremental review: 5e573b2318926543cc974883ba6b2cf81b1f7e48 → 4cbe29b5374b9cf1282b1855e1631ec9e7b7e22e, against current target e843b9d31cb86e1fd12d00890c89798b0bedd1fe. Previous review and remaining policy gate; responding to this PTAL.

PR review verdict: PASS for the bounded #340 software delivery. No unresolved approval-blocking finding remains in this reviewed scope. This exact-head review has now been followed by formal Approve through the connected account.

本轮已解决 / Resolved

  • Old authorship/exception blocker: verified the rebuilt branch rather than treating the changed declaration alone as sufficient. All 11 changed-file blobs in replay ed30c51 match original Codex commit 9e6a51c; the four identified Cursor/Grok commits are not ancestors of this head. The chart implementation/tests were replaced in 1e87be4, and all 80 generated records now cite that committed source. The author's rebuild/withdrawal record retains the historical attribution. The trusted-main policy job explicitly evaluates this head under target e843b9d3 with kind=compliant and no errors. The old-head exception request is superseded and is not a remaining task for this head. This reconciles the recorded contribution; it does not independently authenticate private execution settings.
  • Original chart finding and regression risks: the shared eligibility check uses selected checks and the evaluator's withheld comparison. Reporting applies it before choosing either chart source, removes an obsolete generated SVG before enumerating report links, and retains raw measurements/campaign JSON. Both-arm false/missing/non-boolean checks, both chart inputs, regeneration, legacy unconfigured behavior and qualified comparisons are covered by the inspected regressions.
  • Current checks and review: Ready CI and knowledge policy succeed for this head. Dong1017's formal approval is bound to this exact commit and starts with LGTM.

批准前必做(Before I can approve)

None remaining within this technical review's bounded software scope. The previous policy exception is no longer a prerequisite. There is no additional code fix, CI rerun or evidence request from this review.

The account holder directly authorized formal approval; the recorded Approve is bound to this reviewed head.

非阻塞问题或建议 / Non-blocking limits

The selected booleans remain adapter attestations backed by receipts. They do not independently establish worker/device health, model quality, performance or skill efficacy. Broader Issue acceptance and any model/device qualification remain with the requester; no such result is inferred from software CI.

Actual checks and unverified scope

  • Independently reviewed the actual old-tree → new-tree delta, accounting for the divergent/rebuilt history, plus current evaluator/report/chart consumers and original feedback. CLI, RunSpec, runner and collector files are byte-identical to the last reviewed head.
  • A separate Codex agent ran exact-head files in an isolated Windows checkout, CPython 3.12.1 / pytest 9.1.1, with imports bound to that checkout: python -m pytest --override-ini 'addopts=' -q -p no:cacheprovider tests/test_trial_check_reports.py tests/test_summary_chart.py → 57 passed. Whitespace and clean-tree checks passed.
  • Independently checked source/history and the trusted-policy result; existing hosted full-suite/install evidence was inspected rather than rerun locally. This pass did not run the complete runtime/full suite, wheel installation, full index CLI or any model/device workload. Earlier-head local failures and receipts remain historical, not results for this head.

@zengchuang-hw zengchuang-hw 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.

LGTM

PR review verdict — PASS

Approve head 4cbe29b5374b9cf1282b1855e1631ec9e7b7e22e against main at e843b9d31cb86e1fd12d00890c89798b0bedd1fe, following the completed exact-head incremental review.

本轮已解决

  • Selected-check failures withhold a qualified comparison across both report chart sources and direct conversion. Rebuilding an unqualified report removes a stale generated SVG while preserving raw measurements and campaign JSON.
  • The rebuilt source/history and current author declaration are reconciled. All 80 generated records cite the replacement source; the current knowledge-policy assessment is successful.
  • The exact-head independent Windows review recorded 57 passing report/chart tests, clean whitespace and an unchanged working tree. All six Ready jobs and the current knowledge policy remain successful.

批准前必做(Before I can approve)

None. No unresolved blocking finding remains in the reviewed PR content.

非阻塞问题或建议

No additional finding. Adapter attestations and software checks do not establish model/device efficacy or campaign acceptance.

Actual checks and limits

Rechecked the open PR, unchanged target/head, current discussion, review history and checks immediately before approval. Reused the recorded exact-head source/history and 57-test review; no additional tests or model/device workloads were run for this vote.

Delegation and execution: directly authorized by account holder zengchuang-hw to approve reviewed PR content with no unresolved blocker, explicitly including this PR. Executor: Codex as independent reviewer through the connected GitHub account zengchuang-hw. Authorized action exercised: formal Approve, bound by commit_id to the reviewed head. Merge and Issue closure are separate actions.

@zengchuang-hw
zengchuang-hw merged commit 01c7352 into main Nov 5, 2026
12 of 13 checks passed
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