Skip to main content

Composition trace practice

Attempt each case before consulting the calibration.

  1. Convert "0.10", "12.5000", "12.501" and the float 12.5. Calibration: 10, 1250, rejection, rejection. State the decimal-string contract and why no rounding occurs.
  2. A fake provider fails transiently once, then succeeds. Predict logs for both wrapper orders. Calibration: logical: start/success; attempt: start/error:TransientError/start/success.
  3. The provider succeeds but conversion rejects its currency. Budget is five. Calibration: one provider call; start/error:ValueError in either order. A permanent contract error is not a transient provider failure.
  4. Call the same retry wrapper twice, each time with an always-failing provider and budget two. Calibration: four total invocations; each logical call gets a new budget.
  5. Enter manager A, then B fails to enter. Calibration: A exits; B must clean up its own partially acquired state. A successfully entered B would exit before A.
  6. A caller provides a shared quote provider and an event list. Calibration: build_quote borrows the provider and appends to the caller-owned list; it does not own provider cleanup. Explain how this differs from open_bundle.
  7. Choose a factory function versus Abstract Factory for one product versus a related family. Calibration: prefer the simpler function until family consistency or substitution pressure justifies a larger interface; tests must still establish compatibility.

Record the failed prediction, exact missing contract and a changed case. Guided calibration is not independent assessment evidence.