The change also contains work that corrects no defect, namely the type annotation in cache.py, the improved error message in packaging_generator.py, and the added tests. R542 should be dropped because the fix leaves that line semantically untouched and only guards the consumption at R554.


Validation hardening and earlier error reporting rather than a defect correction. The conflicting config already raised a ValueError at engine time before this PR.


PR #2313 contains multiple fixes attributable to different bug inducing changes and only the sampler init fix at dataloader.py line 38 traces back to PR #2281.


Attribution fails because the root cause of the fix is the dummy input and dynamic shapes inconsistency introduced by the IO config refactor in PR #2311 while PR #1832 merely rewrote code that would already have crashed on the same inconsistency in a different form and therefore did not introduce the defect.


Also patches the MinMaxCalibrater whose excessive memory retention originates in the onnxruntime dependency and was fixed upstream in ort PR 26321.


Besides the intrinsic fix the PR also refactors the pass into a directory-based flow and adds unit tests, which yields an additional Other label that does not change the outcome. The defect is limited to L123, where resave_model copies only the .onnx file so companion files like OpenVINO .bin/.xml are never transferred, and L140, where the returned handler consequently declares the model to be a single file, while the other marked lines behave correctly and were only rewritten as a consequence of the fix's design.


The fix addresses a ValueError that only occurs with the later released hybrid Qwen3.5 architecture, so the strict attention lookup added in PR #1555 was correct when written and the change is feature support for a new external model type rather than an intrinsic defect repair.


The defect (import of a removed internal module) was introduced by #639, which deleted olive/passes/onnx/quant_pre_process.py without updating this import site, so #584 is not the origin.


The PR description alone gives only weak evidence of a defect and mainly raises a bug vs feature question for the QDQ handling, so the filter decision was arguably wrong on that basis. However, the diff contains a small genuine correction, the stale split_id variable in the ValueError message introduced by the BIC and fixed here, which carries the intrinsic label on its own.


PR #2329 adds previously unplanned support for pre-quantized embeddings rather than repairing a defect, since PR #2268 itself documented the embeds path as intentionally unsupported and no failure was ever reported.


The fix corrects two independent misspellings of ROCMExecutionProvider where the wrong name in olive/common/utils.py was introduced by PR #588 and the wrong name in olive/hardware/accelerator.py was introduced by PR #626, so the defect spans two bug inducing changes.


The change adds an opt-in flag and adjusts paths for it rather than repairing any incorrect behavior in existing Python code, so no defect originating in this repository is being corrected.


The change adds a preventive guard that skips quantization for adapter models due to a known unsupported use case rather than repairing any logic error introduced by an earlier change, with no observed failure or violated existing requirement in evidence. The PR description itself frames the change as a forward-looking workaround for an unsupported scenario.


The change also relocates the precision bits helper from quantization.py to constants.py and rewrites the argparse choices lists in a purely cosmetic way.


Line 796 only duplicates the add output already captured as out at line 775 and the wrong wiring happens where that value is used in the consumer loop, so the fix deleted it merely as cleanup and it does not carry the root cause.


Line 69 resolves component names only by direct dictionary lookup and therefore returns None for pipeline specific names such as text_encoder_2, while line 57 defines the function without the pipeline parameter needed for that resolution, so both lines jointly carry the incomplete lookup logic that the corrective change repairs.


The qnn preprocess path fix was found in PR #934 while the second fix adding the missing version.parse around OrtVersion in transformer_optimization.py originates from PR #970 which is missing here.


Added L240 since appending the padded input_ids to the GenAI generator without an attention mask is the root cause of the padding contamination defect from the same defective change.


The actual bugfix (aligning batch_size between perf_tuning and the latency metric) lives entirely in example configuration files, which are out of scope under the Python-source restriction. The only Python change refines incomplete logger output, a quality improvement correcting no defect.


Other applies because the new Footprint export added to olive/engine/__init__.py corrects no defect and merely extends the package API.


Root cause is the hardcoded mistral_optimize.json load in optimize(); the signature and call-site changes in #994 are repair plumbing, not defect carriers.


Defaults index to [0, 1] without checking the actual metric count, so every single metric run enters the plotting path and logs misleading errors. The fix places its guard directly before this line.


The change introduces a new float32 default and refactors the transform pipeline without any documented failure or violated requirement.


The originally marked lines in argument.py belong to the temperature property and do not carry the root cause of the missing embedding normalization. The defect was introduced where the contrastive decoders compute scores on unnormalized embeddings, so the defect location is edge_decoder.py R766 and R1035 while attribution to PR 619 still holds.


The root cause lies in R1074, where evaluate returns the nested per etype dict that violates the scalar contract the inherited do_early_stop depends on, and this line was introduced by PR 1043.


The stated intent is a feature, and Correction passes only via two unrelated intrinsic fixes, the fsum guard in SplitRates.__post_init__ and the default split_rate in LabelConfig.__init__. Their root causes come from 12d1882 and 4fae3d2, not from the presented defective change, so attribution is rejected.


The pull request also contains changes that correct no defect, namely the logging rework in id_map.py that replaces full array dumps with edge counts as an output improvement rather than a fix of incorrect behavior.


Other applies because the added feature_col assert only hardens input validation with a clearer error message instead of correcting the link prediction defect.


Defect originated in #739 (added float64 support, assert not updated), not in the presented change (#400, correct when written).


PR #583 introduced the defective "imputer": "none" default (reverting the correct "mean" for min-max and adding it for bucket-numerical), which PR #1201 fixes, so the correction is intrinsic and attribution is accepted.


The change also carries the Other category because the added df -h calls in the three entry scripts are purely diagnostic output that corrects no defect.


The PR adds self-loops, bias, and a last-layer activation option to the GAT encoder introduced in #607, framed as an enhancement to the new model rather than a repair.


The marked assert is only where the crash surfaces while the real root cause is the if multi_task_config is not None line in the __init__ of argument.py introduced by PR 842, which lacks an else branch to set _multi_tasks to a default, so that line should be marked instead of the assert.


Also contains non corrective changes such as renaming _save_maps to save_maps, a new unit test case for dict mappings, an added end to end mini batch inference test and a new arxiv_lp.yaml config file.


PR #435 is the origin of only the run_distributed_processing.py fix while the other two corrections stem from different earlier changes.


Without the assert the failure stays silent and the inference run saves incomplete node embeddings that users would mistake for correct output.


PR 101 is a bug inducing change for this fix, introducing the affected lines at R6 and R17 in tests/test_parser_client.py, while the remaining bug inducing changes for the other tests fixed in PR 141 are missing here.


This change adds a previously missing optional field to expose task ids from the API rather than correcting any defective behavior, so it is Other only.


The issue is a missing file in the package structure and not a defect in Python source code, hence not Intrinsic.


Mixed case labeled both Intrinsic and Extrinsic because the defective lines were introduced in PR #198 but only caused a failure once CI type checking came into play later.


The import change in line 3 is mere cleanup after the logic change and does not carry the root cause, which lies entirely in the flawed membership check on lines 9 to 11.


Alternative reading since no failure was observed and the PR frames the change as proactive hardening for anticipated _describe usage, a strict reader could label it Other rather than a defect correction.


The marked selection is too broad because only R125 in plugin.py carries the root cause of the RuntimeError while R21 is merely an enabling import, R143 to R144 are never reached in the failing scenario, and the test lines R353, R363, R407 and R421 only mock or mirror the plugin API rather than carrying the defect.


The corrective change repairs two defects, a faulty catalog membership check carried by R14-R15 and a wrongly chosen grouping algorithm that was correctly implemented and therefore localizes to its acceptance point R65 where the wrong grouping enters the result, so the marking is reduced to these lines and the remaining originally marked lines were not cleanly selected because they only belong to the replaced implementation without being faulty in themselves.


Only the lines that raise docutils errors when the docstrings are rendered were taken as defect lines, namely the dangling YAML API and Python API references and the three unexpected indentation spots, while warning level and cosmetic changes were excluded.


R204 can be defended as the better location because the defect only becomes irreversible when the incomplete model_def is serialized there, so the save call is the last modified line at which the missing ir_version assignment could still have taken effect, although the root cause reading still favors R191 where the incomplete object is created.