Skip to content

docs(casebook): three cases from a Qwen3.8 dedicated-engine campaign - #90

Closed
jiangkuaixue123 wants to merge 8 commits into
InferMatrixLab:mainfrom
jiangkuaixue123:casebook/qwen38-dedicated-engine
Closed

jiangkuaixue123 wants to merge 8 commits into
InferMatrixLab:mainfrom
jiangkuaixue123:casebook/qwen38-dedicated-engine

Conversation

@jiangkuaixue123

@jiangkuaixue123 jiangkuaixue123 commented Oct 22, 2026 •

Copy link
Copy Markdown
Collaborator

What this adds

Three cases to the inference-optimization casebook, taken from a dedicated-engine
campaign on one H20-3e card. Each is a failure or decision that cost a round and
that transfers to other models and other stacks.

Case Why it is worth keeping
qwen38-cuda-graph-state-not-accumulating The graph path produced identical greedy ids while per-step logits differed by 0.70. Three regression gates passed on ids. It documents that ids are not a correctness oracle and names the fix (preallocate state, write in place, dedicated capture pool).
qwen38-silent-capacity-and-error-failures Three ways a serving wrapper reported success while failing: HTTP 200 with an SSE error frame, HTTP 400 with an empty body and a 0-byte log, and a bucket-headroom failure at job 1951 after 876 tokens. Each has a cheap detection.
qwen38-upstream-fp8-kernels-vs-own-triton A self-written block-scaled FP8 GEMM ran at 2.8 TFLOPS where the upstream library reached 273 on the same shapes, with the go/abandon thresholds registered before the measurement and the two installation traps recorded.

SKILL.md gains one line per case under "Recorded diagnostic options".

Evidence state

Honest edges, all written into the entries:

  • Single device (H20-3e), batch size 1. The FP8 numbers are microbenchmarks, not end-to-end.
  • The CUDA Graph round is recorded as a historical observation; the timing run was
    marked INCONCLUSIVE because the logits comparison ran after it.
  • The serving-layer symptoms were reproduced and fixed, but behaviour past capacity
    was not characterised beyond the failure itself.
  • No performance claim is made by any of the three entries, and none asserts a
    gain over a reference server.

Format

Each case keeps the existing pattern: a .md sibling for the observation and the
suggested revisit check, a .json sibling for identity, origin, applicability,
limitations and attribution. JSON validated against the existing files' fields.

knowledge-model-policy

{
  "schema_version": 1,
  "head_sha": "dc5a0a3e2cd0303d00391736641a6fd7f18bc602",
  "human_only": false,
  "material_ai_authors": [
    {
      "tool": "Cursor",
      "model_id": "grok-4.7",
      "effort": "unknown",
      "role": "author"
    }
  ],
  "exception": {
    "paths": [
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/README.md",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/ascend-aclgraph-capture-replay.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/ascend-device-health.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/ascend-distributed-parallel.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/ascend-graph-mode.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/ascend-model-adaptation.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/ascend-operator-profiling.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/ascend-operator-tuning.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/ascend-optimization-casebook.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/ascend-performance-analysis.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/ascend-video-diffusion-optimization.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/ascendc-tiling-design.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/cann-attribution-overlap.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/torch-npu.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/torchnpu-device-memory-lifecycle.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/ascend/skills/torchnpu-pinned-host-memory-lifecycle.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/assess-serving-preemption.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/assess-split-backward-schedule.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/audit-fixed-workload-claim.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/audit-h3-metal-fasth3-semantics.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/audit-h3-runtime-residency.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/audit-llama-runtime-state.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/audit-recurrent-kv-finalization.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/audit-sd-cpp-residency.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/audit-sglang-diffusion-lifetimes.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/audit-vllm-kv-lifetimes.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/bound-windowed-attention-replay.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/budget-speculative-verification.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/calibrate-serving-simulation.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/cgroup-resource-controls.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/checkpoint-recovery-consistency.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/choose-parallel-training-plan.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/cite-check-downstream-pr.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/claim-contract.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/comfy-ui.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/competitor-scan.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/dcp-async-save-performance.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/dense-performance-evidence.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/diagnose-vllm-admission-pressure.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/diffusers-invocation-state.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/draft-acceptance-issue.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/dwarfstar.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/evaluate-elastic-serving-placement.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/generation-cache-lifecycle.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/host-memory-management.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/host-overhead-optimization.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/husky.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/inference-benchmark-design.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/inference-optimization-casebook.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/kernel-writing-guide.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/kv-tier-management.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/lazy-evaluation-stream-lifetimes.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/lily.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/lithos-metal.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/local-dream.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/mistral-rs.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/mlc-llm.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/mlx-swift-lm.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/npu-skill-factory.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/optimization-search-policy.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/os-process-placement.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/performance-ceiling-analysis.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/plan-activation-residency.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/project-maya.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/pytorch.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/repository-evolution-analysis.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/rsi-evidence.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/skill-evolution-playbook.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/splash.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/storage-io-measurement.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/training-input-pipeline.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/training-resource-budget.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/video-diffusion-optimization.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/vllm-metal.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/common/skills/weight-loading-optimization.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/cuda/skills/audit-afd-p2p-exchanges.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/cuda/skills/audit-flare-session-lifecycle.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/cuda/skills/diagnose-attention-bottlenecks.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/cuda/skills/host-overhead-profiling.json",
      "src/inferrsi/data/repo_packs/inferrsi/knowledge/cuda/skills/reason-hopper-kernels.json",
      "src/inferrsi/data/skill_library/methods/inference-optimization-casebook/SKILL.md",
      "src/inferrsi/data/skill_library/methods/inference-optimization-casebook/cases/qwen38-cuda-graph-state-not-accumulating.json",
      "src/inferrsi/data/skill_library/methods/inference-optimization-casebook/cases/qwen38-cuda-graph-state-not-accumulating.md",
      "src/inferrsi/data/skill_library/methods/inference-optimization-casebook/cases/qwen38-silent-capacity-and-error-failures.json",
      "src/inferrsi/data/skill_library/methods/inference-optimization-casebook/cases/qwen38-silent-capacity-and-error-failures.md",
      "src/inferrsi/data/skill_library/methods/inference-optimization-casebook/cases/qwen38-upstream-fp8-kernels-vs-own-triton.json",
      "src/inferrsi/data/skill_library/methods/inference-optimization-casebook/cases/qwen38-upstream-fp8-kernels-vs-own-triton.md"
    ],
    "reason": "Material authorship used Cursor with model_id grok-4.7 (effort unknown), which is not on the admitted model/effort table. Attribution is kept truthful; requesting an exception for the protected knowledge/casebook paths and the mechanical packaging regen that touched repo_packs skill projections."
  }
}

@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 86f0033. Negative/INCONCLUSIVE diagnostic cases are valid casebook material; no campaign PASS or positive gain is required. Two delivery gaps remain: the packaged knowledge projection is stale and each case lacks a resolvable pinned measurement trail.

Ready CI independently corroborates the packaging problem: full-check job119809826280 fails test_generated_index_matches_current_sources_without_historical_git_objects; installed-package job119809825962 rejects the casebook SKILL.md digest. The knowledge-model-policy context is also currently red and should be resolved truthfully, separately from content quality.

Please regenerate the projection and bind each cited observation to retained evidence, then rerun ready/package checks. No GPU rerun or new measurement is requested. Review covered changed content, adjacent provenance conventions and CI logs; raw campaign execution was not repeated.

- [Silent capacity and error failures](cases/qwen38-silent-capacity-and-error-failures.md):
HTTP 200 with an error frame, HTTP 400 with an empty body, failure at token 993.
- [Upstream FP8 kernels vs own Triton](cases/qwen38-upstream-fp8-kernels-vs-own-triton.md):
a numerically cautious kernel ran 100x slower than the borrowed library.

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.

[P1] Regenerate the packaged index for the changed skill bytes

This edits an indexed SKILL.md without updating the generated knowledge projection. Both ready and installed-package checks fail on the source digest, so the shipped index does not match the packaged owner. Use the stock generator on the final source, retain its source revision, and rerun generation --check plus clean installed-reader checks.

{
"type": "local",
"note": "Qwen3.8 dedicated-engine campaign, run records for the CUDA Graph round",
"paths": ["evidence/"]

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] Identify immutable evidence for each recorded observation

A generic 'evidence/' directory and prose note cannot locate the run supporting the 0.70→0.00 logits result. The other two new cases likewise cite no concrete source for token993 or 2.8/273/279 TFLOPS. Bind each case to specific retained file/run IDs and an immutable revision (or supported versioned resource and digest), with the relevant limits. Existing neighboring cases demonstrate a pinned ledger convention. This requests traceability, not a new hardware experiment.

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.

The new source pins at c0992c9e locate public records, but this provenance finding is not fully cleared: the unchanged FP8 narrative still contradicts its new evidence annotations.

  • P2 — Retain the withdrawal in the claim itself. qwen38-upstream-fp8-kernels-vs-own-triton.md:5 still presents the 145 s prefill as an unqualified performance observation. The newly cited campaign record explicitly withdraws 145.3 s as first-call/JIT-confounded evidence. The new sidecar limitation acknowledges this, but the main explanation does not.
  • The same paragraph at lines 15–16 calls an abandon-below-250 threshold pre-registered, while the new sidecar and footer explicitly say that threshold is absent from the located records. Keep the documented 280 go line and observed 273/279 figures; withdraw the unsupported 250 historical assertion or label it as an unverified proposal with its own source.
  • Minimal next step for the existing author, @jiangkuaixue123: align the body and sidecar, label the 145 s report as withdrawn/JIT-confounded rather than timing evidence, and preserve the useful source-bound microbenchmark account. No new hardware or model run is requested.
Current-version evidence

Assessed head: c0992c9e0e0a63f6ed61b753d5fec16928beb74a; API base: a1ee3266466194c16f4e2159ab845b758ed9561b; observed main: ae0d32218949fd6b906c3e7819ba0d830955c196.
Current body and its sibling JSON were compared with both cited ledger comments. Their retrieved body SHA-256 values match the new pins: 37b84900b48fc5da201792c280519969514d2bbed0afe75a3c4ef56329077201 and aedccaca1c8fbdb8c09eac5a79f9a48f43ec960ce33f4513822648c10b98a3dd.
This is a scoped source-fidelity follow-up in the original thread. It does not reuse old-head CI failures, repeat the separate SSE finding, resolve this thread, or approve the current PR. Source/readback inspection only; no local tests or experiments.

Dong1017 commented Oct 31, 2026 •

Copy link
Copy Markdown
Collaborator

The retained SkillEval report records actual cloud generation and independent isolated replay: 19/19 → 19/19, with no observed gain on this fixture. The frozen baseline/candidate, a1ee3266 / 86f00336, matched this PR's reported base/head when this note was published on 2026-10-31 at 06:46 UTC. The later head c0992c9e, observed on 2026-10-31 at 11:19 UTC, was not evaluated by this retained report.

  • Scope: one fixed-order pair on a public reconstruction of HTTP-200/error-stream classification—not the original service, an SSE byte parser, or a local iterative coding-agent run. It does not validate the CUDA Graph/FP8 observations or establish general skill benefit; [Tracking] SkillEval evolution: local evidence, PR review and optional LLM judge #253's local-author execution/evidence/independent-disposition loop remains unverified.
  • PR decision: this tie does not clear the existing review's packaging P1 or case-provenance P2, and is not whole-PR merge clearance. No positive result is required.
  • Existing author's next action: regenerate the projection from the final source, bind each recorded observation to its retained evidence files/runs and immutable revision, then rerun applicable Ready/package checks, as already requested. No new GPU measurement or paid model rerun is requested.

@github-actions

github-actions Bot commented Oct 31, 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 dc5a0a3e2cd0303d00391736641a6fd7f18bc602.
  • 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: 89; Canonical library paths: 7; Generated projection paths: 80; Other paths: 2. 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 dc5a0a3e2cd0303d00391736641a6fd7f18bc602. 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 405033073d1140084da654c3701ac32cc4d1e4a1 --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: 7; Generated projection paths: 80; Other paths: 2. 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 1796198267 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: 9c536f2c133eee0597bc6f303e9a1c7d29cf827f0416d5c5fc3108899530761b
    Base: 2baebf6ebb815ebf07d21c41e3b3754858c0798e · Head: dc5a0a3e2cd0303d00391736641a6fd7f18bc602
    Trusted implementation: 2baebf6ebb815ebf07d21c41e3b3754858c0798e

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":"405033073d1140084da654c3701ac32cc4d1e4a1","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 (89)
  • uncovered: "docs/skill-coverage.md"
  • 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/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/methods/inference-optimization-casebook/SKILL.md"
  • uncovered: "src/inferrsi/data/skill_library/methods/inference-optimization-casebook/cases/qwen38-cuda-graph-state-not-accumulating.json"
  • uncovered: "src/inferrsi/data/skill_library/methods/inference-optimization-casebook/cases/qwen38-cuda-graph-state-not-accumulating.md"
  • uncovered: "src/inferrsi/data/skill_library/methods/inference-optimization-casebook/cases/qwen38-silent-capacity-and-error-failures.json"
  • uncovered: "src/inferrsi/data/skill_library/methods/inference-optimization-casebook/cases/qwen38-silent-capacity-and-error-failures.md"
  • uncovered: "src/inferrsi/data/skill_library/methods/inference-optimization-casebook/cases/qwen38-upstream-fp8-kernels-vs-own-triton.json"
  • uncovered: "src/inferrsi/data/skill_library/methods/inference-optimization-casebook/cases/qwen38-upstream-fp8-kernels-vs-own-triton.md"
  • uncovered: "tests/test_knowledge_contract.py"

@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 的 Qwen3.8 casebook 诊断建议与其新增来源绑定;此前索引再生成和不可追溯原始测量的意见仍留在原线程。本轮新增 1 个与 SSE 完成语义有关的可行动 P2(见 inline),不重发既有 provenance 反馈。仅静态检查文档、现有 review 与 API 契约;未运行代码、服务或 benchmark。


| Symptom | What actually happened | Detection that would have caught it |
| --- | --- | --- |
| HTTP 200 with an SSE `error` frame mid-stream | Decode ran past the configured graph bucket, the engine fell back or failed, and the wrapper kept the stream open | Assert `completion_tokens` equals the requested count and `finish_reason == length` on every request |

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|不要把 max_tokens 上限当成所有请求的实际完成长度。 这里建议「每个请求都要求 completion_tokens 等于请求数且 finish_reason == length」,但 OpenAI-compatible Chat Completions 中请求的 token 数是上限;模型正常 EOS/stop sequence 会提前终止并返回 finish_reason=stop、更少的 completion tokens(API streaming 语义)。把这个规则作为通用检测会将合法成功流误报为故障,甚至鼓励服务层强行续写。

建议拆开两种断言:一般请求直接解析每个 SSE frame、拒绝内嵌 error/意外断流、要求正常终止帧和合法 finish_reason,使用可用的 usage 信息核对输出;特设的强制满长/容量边界 fixture(明确排除正常提前 stop)才断言输出达到冻结的 token 预算并以 length 结束。这样既能检测原案中的 HTTP 200 错误帧,也不会把正常 EOS 当回归。

@cursor
cursor Bot force-pushed the casebook/qwen38-dedicated-engine branch 2 times, most recently from 910ebc5 to 1f8f9f1 Compare November 1, 2026 01:24

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

增量复审 e9f95f6c:三项修正已核实;仍需完成原 provenance 线程中的一处 P2 文案修正。 不要求新增模型或硬件实验,既有作者继续处理即可。

  • 已修正: SSE 指导现在允许正常提前 stop,只在明确禁用提前停止的 fixture 中要求完整长度;FP8 后续意见涉及的 145s/JIT 混淆和无依据的 250 阈值已明确撤回。
  • 已修正,限定包装层面: 旧 source-digest finding中涉及的 7 个 canonical 文件,其实际 SHA-256 均与当前 packaged record 匹配,也与声明 source pin 的字节相同。没有复用旧 head 的 57-record 检查收据。
  • P2,原 provenance 线程的剩余项: SKILL 入口、case 表格和 PR 摘要仍把 token 993 当作已确定的失败位置,但 case footer/sidecar 明确说明没有找到包含 993 的 artifact,所定位 job 1951 是 876 tokens。只读入口或表格的使用者仍会把未经支持的精确数字当成测量证据。**最小修正:**在断言位置直接标明它是未核实的历史回忆,或删除无依据的精确 token 数;若采用 876,应保留对应 job 身份,不混同两次运行。同步摘要,并在 canonical 修改后更新 projection。
  • **独立前提仍未通过:**当前 declaration check 失败;如实保留作者/model/effort 信息,不能只改声明以迎合规则。软件 CI 与 PLANNED 均不证明来源测量真实或 skill 有增益。
检查版本、证据与限制

Head: e9f95f6c2156482b4a09537423455bdb5bafa4aa;前次检查 head: c0992c9e0e0a63f6ed61b753d5fec16928beb74a。PR API 当前返回 base 218565698d850e955f85d0d394a5f0e5e3619812;另已观测 main 50c19da43e0b358e6f990c00719891ad308a8ac1,本次不声称完成针对后者的整合测试。比较时区分了 rebase 带来的 main 变化与本 PR 自有增量。

Declared source pin: 161fac03e65a04461d643fdf57cbc60148414c5b。7 个 canonical 文件与 packaged record/source pin 的字节绑定已独立核对。4 个公开 ledger comment 的正文哈希与 sidecar 一致,这证明可追溯到这些公开陈述,不是原始测量重放。

Ready CI的 full-check / installed-package Python 3.10、3.11 及 qualification 通过;declaration job失败;SkillEval仅 plan/publish 成功,execute skipped、0 comparisons。

本次只做源码、文本差分与独立 hash 核对,未执行 PR 代码、完整 generator、模型或设备。保留旧缺失 raw logs 等已明确披露的覆盖限制;没有要求重新制造历史实验或解决他人的线程。

@Dong1017

Dong1017 commented Nov 1, 2026

Copy link
Copy Markdown
Collaborator

Local-author SkillEval evidence for the HTTP-200 error-stream slice (Refs #253)

Result: both arms PASS 19/19 (artifacts_both_pass). No improvement or regression was observed on this fixture. This covers one public, reconstructed CPU response-parser task. It is not a test of the original server, SSE byte parsing, GPU behavior or the CUDA Graph/FP8 cases, and it does not clear the changes requested on this head or authorize merge.

Baseline Candidate
Revision 218565698d850e955f85d0d394a5f0e5e3619812 (this PR's base) e9f95f6c2156482b4a09537423455bdb5bafa4aa (this PR's head, checked before stage, before each author session and before capture)
Skill bundle (inference-optimization-casebook) sha256:3bc60af7…0eb6, 10 files sha256:2ceef897…b55e, 16 files (adds this PR's three Qwen3.8 cases)
Author session 40.9 s, exit 0, 62,953 input / 1,526 output tokens 42.9 s, exit 0, 79,972 input / 1,628 output tokens
Artifact parser.py c57e77b8…92b3; frozen inputs unchanged parser.py 119aff7f…78df; frozen inputs unchanged
Trusted replay PASS 19/19 PASS 19/19

The candidate author read this PR's qwen38-silent-capacity-and-error-failures.md case; the baseline author searched its bundle and found no error-stream guidance. Both reached a passing parser, so this task does not discriminate the skill change.

Setup

  • Plan: frozen plan 6ba642787b267f514a1148ae66948a276e415ea5e7ee3a1168f576d01fa6fd03, controller 50c19da43e0b358e6f990c00719891ad308a8ac1, adapter=engineering-artifact-v1, mode=update. Model gpt-6.1-sol, effort medium; one attempt per arm, 180 s per attempt, 600 s per campaign, fixed order baseline then candidate. The limits reuse the #253 historical authorization. The fixture source pins in contract.md are unchanged.
  • Verifier host: L20 (Ubuntu 22.04.5, kernel 6.8, bubblewrap 0.6.1, system Python 3.10.12). Qualification, stage, capture and report ran as nobody. Qualification PASS: correct control 19/19, and the wrong starter has stream_error=false.
  • Author host: Codex CLI 0.159.2 with an existing ChatGPT subscription login, inside a task-local bubblewrap 0.13.1 on an aarch64 EulerOS host. Mounts: read-only /usr, CA certificates and the Codex install; read-write only the arm's staged workspace and a fresh per-arm Codex home. No home directory, repository, correct control, verifier or other arm was mounted. Codex ran with --ignore-user-config and --ignore-rules; web search, multi-agent, plugins and apps were off. The prompt was the arm's INSTRUCTIONS.txt verbatim.
  • Attempts: two scored sessions, no retries. Two connectivity checks without task content ran beforehand; the first failed to start the shell tool and was fixed by mounting the full Codex install.

Limits

  • One repeat per arm, in a fixed order. The tests are public.
  • Environment, access and usage are author-reported and not authenticated by the controller.
  • The author could read its own ChatGPT login file. The network was shared with the host so that the model API was reachable through a proxy.
  • Whether Codex's own workspace-write sandbox took effect inside bubblewrap was not verified; the outer bubblewrap is the boundary claimed here.
  • The generated report.md double-escapes some entities in its first section (for example, artifacts_both_pass). This is a report-rendering issue, not a result difference.

Evidence location: the retained evidence directory (about 0.4 MB: frozen plan, both arms' logs, artifacts and author-reported execution files, report.json, report.md), the qualification receipt and the author sandbox scripts stay with the owner and are available to the reviewer on request. They are not attached here because the two author-execution.json files name an internal host and a Linux account, and report checks their SHA-256, so a redacted copy would fail replay. A public location will follow the evidence-size decision in #273 (R6).

Independent replay (reviewer's copy; Linux host with bubblewrap ≥ 0.5 and system Python ≥ 3.10):

git clone https://github.com/InferMatrixLab/InferRSI && cd InferRSI
git checkout 50c19da43e0b358e6f990c00719891ad308a8ac1
PYTHONPATH=src:. python3 tools/skill_eval_qualify.py --output "$QUAL" \
  --revision 50c19da43e0b358e6f990c00719891ad308a8ac1 --runner-image "<host description>"
# Copy the retained evidence directory to $E unchanged, then:
sha256sum "$E/plan/freeze.json"   # expect 6ba64278…fd03
PYTHONPATH=src:. python3 tools/skill_eval_compare.py report --output "$E"

report rehashes the retained parser.py bytes and replays them in the verifier sandbox.

Disposition requested: an independent reviewer should check access, log completeness, the current head and the existing review, then record a scoped disposition. This comment claims no skill benefit and no approval; #253 stays open.

@Dong1017

Dong1017 commented Nov 2, 2026

Copy link
Copy Markdown
Collaborator

Independent review of the local-author SkillEval evidence (refs #253)

Disposition: the retained evidence supports the posted result within its stated scope. Both arms pass 19/19 on the reconstructed CPU parser task at head e9f95f6c, with no observed difference. This does not clear the changes-requested review and does not authorize merge.

The review was done by a separate agent that took no part in producing the evidence, working only from the evidence comment and the retained files.

Checked, read-only:

  • Recomputed the frozen plan hash (6ba64278…fd03), all plan-pinned files, the controller pins, both bundle digests (3bc60af7…0eb6, 2ceef897…b55e), and the bundle bytes at 218565698 and e9f95f6c.
  • Rehashed both parser.py files and every receipt and evidence digest, including both author-execution.json files; all match report.json.
  • Durations, exit codes and token counts match the logs and session records. Each prompt equals its INSTRUCTIONS.txt, and only parser.py changed.
  • The session records show no command outside the arm workspace and no sub-agent call. The PR head has not changed since before staging.

Not checked: no trusted replay was run. Environment, access and usage remain author-reported.

Corrections to the evidence comment:

  • The login file was mounted read-write (--bind), not only readable. This deviates from "Do not expose credentials … to the agent" in docs/local-skill-evaluation.md. The session records show no access to the file.
  • --disable multi_agent was passed, but both sessions still received the multi-agent role prompt, followed by an instruction not to spawn sub-agents unless asked. No sub-agent was spawned.
  • The cited #253 authorization is for a different experiment (issue253-generation-only-20261030, PR feat(skilleval): bounded cloud generation and isolated artifact replay #267) and expired on 2026-10-30; only its numeric limits match. No authorization record for this run is linked, and no dollar bound is recorded.

Author note: the #253 requester approved this run on 2026-11-01 outside GitHub. It used a flat-rate subscription login, so no per-run dollar bound was set and per-run cost was not observed.

Still open: this task does not exercise the token-993 wording in SKILL.md line 92 or the failing declaration check, so both review items remain open.

jiangkuaixue123 and others added 7 commits November 2, 2026 07:34
- CUDA Graph replay read capture-time state: greedy ids matched while per-step
  logits diverged by 0.70, so token-id equality is not a correctness oracle.
- Silent capacity and error failures: HTTP 200 with an SSE error frame, HTTP 400
  with an empty body and no log line, and a bucket-headroom failure at token 993.
- Upstream FP8 kernels vs a self-written Triton GEMM: 2.8 vs 273 TFLOPS on the
  target card, with the pre-registered go/abandon thresholds and the two
  installation traps (placeholder PyPI package, vendored extension pinned to a
  torch minor version).

Each entry records the observation, the disposition, a suggested revisit check,
its applicability and its limitations; none makes a performance claim.

Signed-off-by: jiangkuaixue123 <jiangxiaozhou111@163.com>
Co-authored-by: jiangkuaixue123 <jiangxiaozhou111@163.com>
Point each case at the issue ledger, engine blob, or retained evidence file
that carries the observation, including the digest and the figures those
records do not contain.

Agent-assisted-by: Cursor / grok-4.7 [effort=unknown] (author)
Signed-off-by: jiangkuaixue123 <jiangxiaozhou111@163.com>
Co-authored-by: jiangkuaixue123 <jiangxiaozhou111@163.com>
Split stream checks so a normal stop finish is success, and reserve an exact
length assertion for a capacity fixture. Label the 145 s prefill as withdrawn
JIT-confounded timing and drop the unsupported 250 threshold.

Agent-assisted-by: Cursor / grok-4.7 [effort=unknown] (author)
Signed-off-by: jiangkuaixue123 <jiangxiaozhou111@163.com>
Co-authored-by: jiangkuaixue123 <jiangxiaozhou111@163.com>
Refresh the packaged index from the rebased casebook source so the installed
digest matches the current skill bytes.

Agent-assisted-by: Cursor / grok-4.7 [effort=unknown] (author)
Signed-off-by: jiangkuaixue123 <jiangxiaozhou111@163.com>
Co-authored-by: jiangkuaixue123 <jiangxiaozhou111@163.com>
Link each Qwen3.8 case to its typed record, keep digests in that record, and
refresh the coverage view for the new case bytes.

Agent-assisted-by: Cursor / grok-4.7 [effort=unknown] (author)
Signed-off-by: jiangkuaixue123 <jiangxiaozhou111@163.com>
Co-authored-by: jiangkuaixue123 <jiangxiaozhou111@163.com>
Point the packaged index at the rebased casebook source after the SSE and FP8
wording alignment.

Agent-assisted-by: Cursor / grok-4.7 [effort=unknown] (author)
Signed-off-by: jiangkuaixue123 <jiangxiaozhou111@163.com>
Co-authored-by: jiangkuaixue123 <jiangxiaozhou111@163.com>
The retained run is job 1951, which failed after 876 tokens. Drop the
unverified token-993 figure from the skill summary and the case.

Agent-assisted-by: Cursor / grok-4.7 [effort=unknown] (author)
Signed-off-by: jiangkuaixue123 <jiangxiaozhou111@163.com>
Co-authored-by: jiangkuaixue123 <jiangxiaozhou111@163.com>
Refresh the packaged index and coverage view from the job 1951 wording.

Agent-assisted-by: Cursor / grok-4.7 [effort=unknown] (author)
Signed-off-by: jiangkuaixue123 <jiangxiaozhou111@163.com>
Co-authored-by: jiangkuaixue123 <jiangxiaozhou111@163.com>
@cursor
cursor Bot force-pushed the casebook/qwen38-dedicated-engine branch from e9f95f6 to dc5a0a3 Compare November 2, 2026 07:36

@agent-ci-infra-bot agent-ci-infra-bot Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Reviewed commit: dc5a0a3
Coverage: Snapshot: 2643 files, 42171503 bytes; skipped 0 entries; Initial model context: 28 files; other accepted files available through tools; Git workspace contains a fixed snapshot, not full upstream history

| --- | --- | --- |
| HTTP 200 with an SSE `error` frame mid-stream | Decode ran past the configured graph bucket, the engine fell back or failed, and the wrapper kept the stream open | On every request, parse each SSE frame, reject an embedded `error` or a truncated stream, and require a terminal frame whose `finish_reason` is `stop` or `length`. When usage is present, check `completion_tokens` against it. A normal EOS/`stop` finish below `max_tokens` is success. Assert `completion_tokens` equals a frozen budget and `finish_reason == length` only on a capacity fixture that disables early stop |
| HTTP 400, empty body, 0-byte server log | The error handler deliberately dropped all exceptions ("client addresses and arbitrary exceptions do not belong in service logs") | Log a structured line with exception type and a truncated message; never return an error status without a body |
| Job 1951 failed after 876 tokens with no message | The graph bucket was chosen from `prompt + headroom` with `headroom = 256`, while the request asked for 2048 output tokens | Validate bucket coverage against maximum output length, not against prompt slack, before starting the run |

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

F1 — medium, must-fix, evidence provenance — Job 1951's output length is taken from a different run

  • Where: src/inferrsi/data/skill_library/methods/inference-optimization-casebook/cases/qwen38-silent-capacity-and-error-failures.md:15
  • Problem: the third row now attributes "the request asked for 2048 output tokens" to job 1951. The record this case cites for job 1951 says a different number: nano-vllm PR 8 (body digest b4c5b6c2…1684, the digest stored in the sibling JSON) reads "then errored after 876 tokens in the 1024-output request at the Graph capacity boundary". Issue acceptance: Qwen3.8 FP8 vs vLLM 0.32.0 — ≥25% TTFT or TPOT gain, ≤5% regression #67 comment 6346532120 agrees ("errored after 876 output tokens exactly at the 1024 Graph capacity boundary"), and the follow-up 6346928151 records the same request as changing "from 876-token error to 1024-token completion". The 2048 figure belongs to the separate, later 8192-input/2048-output demotion note in preparation.md, which this file's own footer calls "the later headroom note".
  • Conditions: any reader using this row to derive the bucket-coverage rule; the number is the row's only quantitative evidence.
  • Impact: the entry mixes two runs and states a measurement the cited job did not make, which is exactly the conflation the earlier provenance thread asked to avoid ("若采用 876,应保留对应 job 身份,不混同两次运行"). A reader checking 2048-output coverage would be validating against a run that only exercised 1024.
  • Fix: state job 1951's request as recorded (1024 output tokens at the 1024 capacity boundary, 876 tokens emitted), and if the 8192/2048 demotion is kept, present it separately as the later preparation.md observation rather than as job 1951.

@agent-ci-infra-bot

Copy link
Copy Markdown

This PR adds three Qwen3.8 diagnostic cases to the inference-optimization casebook, one SKILL.md line per case, and the regenerated knowledge projection. Packaging is now sound — rendering the index against the declared source pin 4050330 reproduces the committed projection byte-for-byte, build_skill_coverage.py --check passes, tests/test_knowledge_contract.py (13 passed) and ruff check src tests tools pass, and ready-lane full-check/installed-package are green at dc5a0a3. Earlier P1 (stale projection): fixed — the projection and its digest binding now match the canonical bytes; the token-993 part of the earlier P2: fixed in SKILL.md and the case table — but one cited measurement is still misattributed, and the PR-body declaration remains non-compliant. (The full local suite is not usable in this container: its git rejects --no-lazy-fetch, so those failures are environmental, not diff-related.)

F2 — medium, must-fix, admission policy — the knowledge-model-policy declaration cannot pass as written

  • Where: PR body, knowledge-model-policy block (no diff line)
  • Problem: the required knowledge-model-policy check fails at dc5a0a3 (run 41407360747, job 125152306185: "Missing, invalid or stale knowledge author declaration"). Two independent causes are visible in the block: head_sha is e9f95f6c…, not the current head dc5a0a3e… (tools/check_knowledge_model_policy.py:177 rejects it), and model_id: grok-4.7 with effort: unknown is not admitted by .github/knowledge-model-policy.json, whose models list only contains claude-opus-5-5, gpt-6-astra, gpt-6.1-sol and gpt-6.1-terra with xhigh/max (model_errors, lines 197-208). The PR touches protected paths (src/inferrsi/data/skill_library/**, src/inferrsi/data/repo_packs/**/knowledge/**), so this status is merge-blocking.
  • Conditions: every head push re-evaluates the declaration; the current head is already non-compliant.
  • Impact: the PR cannot merge while the declaration is stale and unadmitted, independently of the content quality.
  • Fix: update head_sha to the current full head. Do not falsify tool/model/effort — the truthful grok-4.7/unknown values do not qualify, so this needs the approval owner's explicit knowledge-policy-approval exception (or a maintainer policy change admitting the model). This decision is not one the author or an agent can make.

F3 — medium, suggestion, consistency — the PR summary still asserts the withdrawn token 993

  • Where: PR body, case table row for qwen38-silent-capacity-and-error-failures (no diff line)
  • Problem: the description still says "a bucket-headroom failure at token 993", while the canonical files this head regenerates now say SKILL.md:92 "job 1951 failed after 876 tokens" and the case table row "Job 1951 failed after 876 tokens". No located artifact contains 993 (the earlier round established this), so the description is the last place carrying the unsupported precise number, and the previous review explicitly asked to sync the summary.
  • Conditions: anyone reading the PR description as the record of the delivered case.
  • Impact: description and content disagree on the only quantitative failure position, which weakens the provenance fix this round was for.
  • Fix: change the row to job 1951 / 876 tokens (or drop the exact position), matching the files.

Reviewed commit: dc5a0a3
Coverage: Snapshot: 2643 files, 42171503 bytes; skipped 0 entries; Initial model context: 28 files; other accepted files available through tools; Git workspace contains a fixed snapshot, not full upstream history

@agent-ci-infra-bot agent-ci-infra-bot Bot added bot-reviewed kind:docs Documentation and template delivery labels Nov 2, 2026

Copy link
Copy Markdown
Collaborator Author

@Dong1017 requesting a knowledge-policy-approval exception for this PR.

Why: material authorship used Cursor with model_id grok-4.7 / effort unknown, which is not on the admitted model/effort table. Attribution in the PR-body knowledge-model-policy block is kept truthful (not rewritten to pass CI).

Head: dc5a0a3e2cd0303d00391736641a6fd7f18bc602

The exception request (paths + reason) is already in the PR description declaration. If you approve, please post a top-level conversation comment with a knowledge-policy-approval fence matching that head, paths, and reason (PR body copies do not count).

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

Content review of dc5a0a3e, read-only. Three findings on the case files, all in the provenance class the earlier threads cover. None needs a new measurement, a GPU run or a paid model call. The admission decision on the declaration is separate and is not made here.

Verified first. The source binding on this head holds up. I recomputed every digest the three sidecars record, against the live objects, and all ten match:

graph_headroom = 256 and bucket_for(len(tokens) + self.graph_headroom) sit at runner.py lines 45, 144 and 155, as the sidecar states. The FP8 sidecar's statement that no raw microbenchmark file exists and that the digests are public ledger bodies is the right way to record that limit rather than imply a measurement trail that is not there.

The declaration's exception scope also lines up: the 87 listed paths are exactly the protected changed paths under src/inferrsi/data/skill_library/** and src/inferrsi/data/repo_packs/**/knowledge/**, with docs/skill-coverage.md and tests/test_knowledge_contract.py correctly outside it.


C1 — medium, must-fix — the job 1951 row attributes a 2048-token request to a 1024-token failure

  • Where: cases/qwen38-silent-capacity-and-error-failures.md line 15, third table row.

  • Problem: the row reads "Job 1951 failed after 876 tokens with no message", with the cause "the graph bucket was chosen from prompt + headroom with headroom = 256, while the request asked for 2048 output tokens". The located records describe a different request:

    The 2048 figure belongs to a different observation. preparation.md, cited in the same sidecar, records that an 8192-input/2048-output request demotes to eager after its reserved decode window. That is a demotion, not a failure, and not job 1951.

    "with no message" disagrees with the same records: the failure was emitted as a streamed error frame, and the official client reported success=true over it. That is row 1 of this table, so rows 1 and 3 currently describe one incident with two incompatible signatures.

  • Impact: the round that withdrew token 993 put a number from an unrelated record in its place, at the same assertion site. A reader taking this row as the capacity lesson gets the wrong output length and the wrong failure signature.

  • Fix: state job 1951 against the 1024 capacity boundary and the 1024-output request. If the prompt + headroom versus maximum-output-length lesson should keep the 8192/2048 illustration, give it its own row attributed to preparation.md and label it a demotion. The detection column is sound either way.

C2 — low — "three successive regression gates" has no located source

  • Where: cases/qwen38-cuda-graph-state-not-accumulating.md line 7, and the case table in the PR description ("Three regression gates passed on ids").
  • Problem: Issue #67 records that greedy-id equality served as the correctness statement — PR #2's required description wording was "top1 与 greedy id 全同" — and that it was later falsified and demoted to a smoke check (comment 6337245823, section 5). Reading all 100 comments on #67 I found no record of three gates. Of every precise figure in the three cases, this count is the only one I could not bind to a record.
  • Fix: drop the count, or cite whatever states it. The surrounding sentence carries the lesson without it.

C3 — low — 0.00e+00 is qualified everywhere except where it is asserted

  • Where: cases/qwen38-cuda-graph-state-not-accumulating.md line 17.
  • Problem: the observation table gives 0.00e+00 as a value. The footer and the sidecar's limitations both state that the ledger records a bitwise pass and that 0.00e+00 is this case's notation for it, so the disclosure is complete — but not at the place a reader takes the number from. This is the placement the token-993 item asked about, at much lower stakes: 0.00e+00 follows from "bitwise", where 993 had no support at all.
  • Fix: a short qualifier in the row would close it, for example "bitwise pass (0.00e+00 by notation)". Leaving it as is, with the sidecar carrying the caveat, is also defensible.

Sequencing. C1 is a canonical edit, so the projection regenerates and the head moves. Per docs/knowledge-model-policy.md, new commits require a renewed approval and the declaration's head_sha must track the head. Landing these corrections before the declaration is settled avoids spending an approval on a head that is about to change.

Checked, not checked. Static review of the three case files, their sidecars, SKILL.md, the PR description and the cited records; independent recomputation of the ten source digests above; the exception scope against the protected changed paths. I did not run the generator, the test suite or any repository tool, did not reproduce any measurement, and used no device. CI at dc5a0a3e stands on its own: full-check and installed-package pass on both Python versions, which covers the generated-index and packaged-digest tests that the first review's packaging finding failed on.

This comment is content review only. It is not merge clearance, and it records no admission decision.

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

Labels

area:knowledge Knowledge line: packs, skill library, knowledge admission bot-reviewed kind:docs Documentation and template delivery

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants