Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
module gunbc.recurring_failure_mode.claim_edit_changes_execution_policy_outside_reported_cost_delta

import std.types { NonEmptyStr }
import gunbc.recurring_failure_mode { RecurringFailureMode }

data claim_edit_changes_execution_policy_outside_reported_cost_delta: RecurringFailureMode = RecurringFailureMode {
identity: "claim_edit_changes_execution_policy_outside_reported_cost_delta" as NonEmptyStr,

receipts: [
"**a claim edit changes execution or adjudication policy outside the reported cost delta** (INVALID STATE: a cost-change report accounts for the claims the author intended to optimize while omitting execution-membership or policy transitions induced by other changed test declarations. HARM: correct per-claim savings and a green semantic gate support a net-saving conclusion that the complete run contradicts. The gate and the report answer different questions; approval of the former does not establish the latter. ",

"DISTINGUISHING MECHANISM: `floor_diff_edits_from_line_ranges` attributes changed lines to test declarations. `v2.workflow.required_floor` `required_floor_disposition_with_changed_selection` replaces the ordinary disposition with `PlannedAsChangedWitness`. For an otherwise withheld `DeclinedCostDebt` identity, this starts execution. `changed_witness_cost_policy` returns `ChangedCostDebtVerdictOnly` only at the intersection of changed-witness selection AND `floor_cost_debt_holds`; `changed_witness_cpu_deadline` then selects `CpuDeadlineObservedOnly`. An ordinary changed witness retains its enforced CPU deadline. Wall deadlines, semantic failures and missing cost observations still block. This is the declared changed-cost-debt policy, not a defect in admission and not a waiver for every edited claim. ",

"SPECIMEN gunbc#10538: an incidental parameterization rewrote `v2.test.claim.dag_acceptance` `acceptance_translate_row_is_determinate`, activating its existing cost-debt identity. Reconcile main run 33954515928 against PR run 33955309905 using artifact `required-floor-claim-cost`: the intended claims became cheaper, but the added execution outweighed those savings and the complete corpus became more expensive. That claim passed above the configured CPU line under the declared verdict-only policy. Approvals preceded the corpus reconciliation. The repair restored the production helper and this test body verbatim while giving the intended identity-only claims a separate fixture; it did not weaken the production subject or change its roster. ",

"THE POLICY WAS ANNOUNCED, NOT SILENT: the log of run 33955309905 reports the override population in `withhold_overridden_for_changed_verdict` beside `enrolled`, names the overridden identity, emits its `floor-cost-debt-observation`, and publishes its `changed-witness` standing. The run's configured CPU line and the wave's lower optimization objective are different boundaries. The author and review omitted an available transition from their accounting. Calling this a hidden waiver would erase the evidence that distinguishes the reporting failure from an admission failure. ",

"SECOND COST RECEIPT, reported by the wave coordinator for gunbc#10530 from its required-floor cost artifact: `v2.test.claim.rust_crate_partition_witness` `witness_partition_perturbation_member_coverage_holds` was activated; approval and a request to land preceded the reconciliation. Its observed CPU cost was below the configured deadline, so this receipt establishes the missed execution addition, not an over-deadline verdict admitted by the waiver. ",

"CONTRASTING RECEIPT gunbc#10542: editing `v2.test.execution.emit_on_demand_family_crate_witness` `family_crate_one_build_members_warm_holds`, `family_crate_member_change_cold_rebuild_holds` and `family_crate_dispatch_change_cold_rebuild_holds` made their existing route gaps blocking under changed-witness admission. Run 33956888387 and baseline 33954515928 contain identical executed-identity sets; the named claims' outcomes remain `host_effect_refused` at `emit_host_native_cache_evict` / `FilesystemRemoval`. CI refused with `route-gap-before-verdict`; it did not waive that failure. The whole family-module change was withdrawn, including its helper changes. `floor_route_gap` and `floor_expected_red` already EXECUTE their enrolled identities, whereas ordinary `floor_cost_debt` membership withholds execution. Their union is not a dormant population, and an unchanged executed-identity set alone cannot detect an adjudication transition. ",

"INSTRUMENT AND CURRENT MITIGATION: `claim_executor --required-ci --source-root dag --source-root src/v2 --required-lane witnesses` produces the run receipts through `v1.cli_run` `write_required_floor_claim_cost_tsv` and `write_required_floor_disposition_tsv`, published as `required_floor_claim_cost.tsv` and `required_floor_disposition.tsv`. The wave's reconciliation was a manual identity join of those run products, not a repository-enforced reconciliation producer. RECOGNITION: bind baseline and candidate to immutable run subjects, join every identity in both receipts, list added and dropped executions, retain outcome and changed-witness policy transitions, and reconcile common-row deltas plus additions minus removals to the complete corpus total. Report the intended subset separately. Treat unavailable or censored costs as such, never as exact zeros. This manual reconciliation exposed the cost receipts; the existing changed-witness gate itself detected the route-gap receipt. Restoring an unintended source edit is a scope correction; moving it into a helper merely to avoid selection is not a repair. ",

"RUNG FOUND AT: mitigatable for the cost-report boundary. Complete run products and explicit policy diagnostics exist, and manual reconciliation detected the discrepancy, but no executed evidence here establishes that cost reports must consume that reconciliation. CEILING: mechanically preventable for report completeness, because finite identity sets, dispositions and exact step deltas are decidable at the receipt boundary. Whether a newly executed claim was intended or its additional coverage is worth its cost remains an author/operator judgment, outside that mechanical guarantee; this row does not propose overriding the declared verdict-only policy. NEXT TRIGGER: a cost-change reporting consumer that binds both run subjects, refuses incomplete or unreconciled accounting, and publishes execution and adjudication transitions beside the total. It must discriminate both a newly admitted debt identity and an unchanged-membership route-gap transition, with an unchanged-policy positive control; an added warning alone is insufficient. ",

"BOUNDARY AGAINST NEIGHBORS: `non_execution_undifferentiated_by_what_it_silenced` concerns missing purpose information for checks that do not reach a verdict; this class concerns edits changing execution or adjudication while the cost report preserves the author's old scope. `selection_view_read_as_population` concerns a selected view promoted to a population; this instance additionally requires a source-edit-induced admission/policy transition and a report that reconciles those transitions across two run subjects. The distinct repair is transition accounting, not purpose ranking or a different cost threshold.)",

],

evidence: [],
}
2 changes: 2 additions & 0 deletions dag/gunbc/recurring_failure_mode/roster.dag
Original file line number Diff line number Diff line change
Expand Up @@ -155,6 +155,7 @@ import gunbc.recurring_failure_mode.kind_carried_but_its_fields_stay_optional {
import gunbc.recurring_failure_mode.population_selector_that_cannot_admit_a_counterexample { population_selector_that_cannot_admit_a_counterexample }
import gunbc.recurring_failure_mode.dissolution_trigger_cites_a_mechanism_that_is_later_deleted { dissolution_trigger_cites_a_mechanism_that_is_later_deleted }
import gunbc.recurring_failure_mode.stale_claim_survives_its_own_correct_edit { stale_claim_survives_its_own_correct_edit }
import gunbc.recurring_failure_mode.claim_edit_changes_execution_policy_outside_reported_cost_delta { claim_edit_changes_execution_policy_outside_reported_cost_delta }

data recurring_failure_mode_roster: List<RecurringFailureMode> = [
a_type_name_asserts_an_algebra_the_arithmetic_does_not_carry,
Expand Down Expand Up @@ -301,4 +302,5 @@ data recurring_failure_mode_roster: List<RecurringFailureMode> = [
population_selector_that_cannot_admit_a_counterexample,
dissolution_trigger_cites_a_mechanism_that_is_later_deleted,
stale_claim_survives_its_own_correct_edit,
claim_edit_changes_execution_policy_outside_reported_cost_delta,
]
Loading
Loading