You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
main is red: 4 exact_scalar_agreement tests fail — direct runtime charges each vector its own work budget, QSL authority shares one #144
Measured on a clean checkout of origin/main at b7a282e, with no branch changes applied — cargo test --locked --no-fail-fast --test exact_scalar_agreement:
test tc_024_tc185_decimal_oracles_agree ... FAILED
test tc_024_tc187_quantity_oracles_agree ... FAILED
test tc_024_tc192_division_and_modulus_oracles_agree ... FAILED
test tc_024_tc193_ieee_oracles_agree ... FAILED
test result: FAILED. 4 passed; 4 failed
All four fail the same assertion, direct runtime disagrees with the QSL authority.
Where they disagree
Not on results. The unbudgeted results tuple and the charge-point sequence are identical on both sides. The disagreement is confined to the per-charge-point budget-exhaustion sweep, and it is systematic:
At charge point DecimalOperands step 1, budget 0:
direct runtime: vector 1 Incomplete, vectors 2/3/4 all Completed — surviving count 3.
QSL authority: all four Incomplete — surviving count 0.
The pattern holds across every step. The direct runtime behaves as if each vector is evaluated against its own fresh budget, so exhausting the budget stops only the vector being swept. The QSL authority behaves as if the four vectors share one budget drawn down in order, so exhausting it stops that vector and everything after it. The limit/consumed values track that too — the authority's limits advance in multiples (1,2,3,4 then 2,4,6,8) where the direct runtime's stay flat per step.
So this is one root cause in how the sweep allocates the work budget across a vector set, not four independent defects — which is consistent with all four decimal/quantity/division/IEEE tests failing together while tc186 (text and enum) and the no-authority test pass.
Asked for
Decide which side is right: is a budget per vector, or per sweep? The answer is a contract question about WorkUnits accounting, not a test fix — settle it against the spec before touching either side.
Fix the side that is wrong and get all 8 tests green.
Do not relax the assertion to accommodate the difference. The whole point of this suite is that the two implementations agree.
Found while reviewing the cg#133/cg#134 branch. Confirmed pre-existing by checking out origin/main detached and running the same suite: same four tests, same failures, with and without the branch applied. Not caused by that branch.
Activity