GWT · Native behavior review

What changed in these decisions?

Compare observed outcomes, inspect the rules that ran, and keep unverified cases visible.

9 / 9cases compared
2outcomes changed
1candidate failures
0cases not verified

Every case was compared. Coverage is not approval of a rule change. Source-position changes can alter evidence without changing an outcome.

Changes stay in this page until you download decisions. Saved decisions apply only to this exact review. The reviewer name is self-reported.

Frozen source snapshots and review identity

These are the exact source texts used for the displayed executions.

Engine

{
  "profile": "gwt-native-case-engine-v1",
  "sourceDigest": "sha256:19bb70c59f6e1c3dd57aa1b512c7230ad8a29201cd5f512e03166f4c4e575703"
}

Candidate identity

{
  "algorithm": "gwt-native-program-sha256-v1",
  "digest": "sha256:82e611675def4510283dfa5017f32f769aa7155405e9bc80781bb59286179af9",
  "entry": "candidate.gwt",
  "modules": [
    {
      "digest": "sha256:64a5fc95908ba6dfebfdc20da677582f324d81e5238e52585214109ccf3693e2",
      "imports": [],
      "path": "candidate.gwt"
    }
  ]
}
rules.gwt · sha256:18358a7a2963aef22ac071f8204994f9a1aa9e5f19a42f7c30bf52dda750b1be

rules.gwt

PROGRAM delivery quote

RECORD Parcel
  weight_grams: integer
  member: boolean

RECORD Quote
  status: "standard" | "manual"
  fee: integer

REQUEST quote delivery
  GIVEN parcel is Parcel
  GIVEN quote is Quote
    status: "standard"
    fee: 0
  WHEN quote delivery for parcel into quote
  OUTPUT quote is Quote
  THEN quote.fee >= 0

WHEN quote delivery for <parcel> into <quote>
  GIVEN parcel is Parcel
  AND quote is Quote
  REQUIRE parcel.weight_grams > 0
  DECIDE
    WHEN parcel.weight_grams > 5000
      set quote.status to "manual"
      set quote.fee to 0
    WHEN parcel.member
      set quote.status to "standard"
      set quote.fee to 0
    WHEN parcel.weight_grams <= 1000
      set quote.status to "standard"
      set quote.fee to 5
    ELSE
      set quote.status to "standard"
      set quote.fee to 9

BACKGROUND
GIVEN quote is Quote
  status: "standard"
  fee: 0

SCENARIO weight and membership determine the quote
GIVEN parcel is Parcel
  weight_grams: <weight>
  member: <member>

WHEN quote delivery for parcel into quote

THEN quote.status == <status>
AND quote.fee == <fee>

EXAMPLES
  | weight | member | status     | fee |
  | 1      | false  | "standard" | 5   |
  | 1000   | false  | "standard" | 5   |
  | 1001   | false  | "standard" | 9   |
  | 5000   | false  | "standard" | 9   |
  | 5001   | false  | "manual"   | 0   |
  | 1      | true   | "standard" | 0   |
  | 1000   | true   | "standard" | 0   |
  | 1001   | true   | "standard" | 0   |
  | 5000   | true   | "standard" | 0   |
  | 5001   | true   | "manual"   | 0   |
candidate.gwt · sha256:82e611675def4510283dfa5017f32f769aa7155405e9bc80781bb59286179af9

candidate.gwt

PROGRAM delivery quote

RECORD Parcel
  weight_grams: integer
  member: boolean

RECORD Quote
  status: "standard" | "manual"
  fee: integer

REQUEST quote delivery
  GIVEN parcel is Parcel
  GIVEN quote is Quote
    status: "standard"
    fee: 0
  WHEN quote delivery for parcel into quote
  OUTPUT quote is Quote
  THEN quote.fee >= 0

WHEN quote delivery for <parcel> into <quote>
  GIVEN parcel is Parcel
  AND quote is Quote
  REQUIRE parcel.weight_grams > 0
  DECIDE
    WHEN parcel.weight_grams > 5000
      set quote.status to "manual"
      set quote.fee to 0
    WHEN parcel.member
      set quote.status to "standard"
      set quote.fee to 0
    WHEN parcel.weight_grams <= 1500
      set quote.status to "standard"
      set quote.fee to 5
    ELSE
      set quote.status to "standard"
      set quote.fee to 9

BACKGROUND
GIVEN quote is Quote
  status: "standard"
  fee: 0

SCENARIO weight and membership determine the quote
GIVEN parcel is Parcel
  weight_grams: <weight>
  member: <member>

WHEN quote delivery for parcel into quote

THEN quote.status == <status>
AND quote.fee == <fee>

EXAMPLES
  | weight | member | status     | fee |
  | 1      | false  | "standard" | 5   |
  | 1000   | false  | "standard" | 5   |
  | 1001   | false  | "standard" | 5   |
  | 1499   | false  | "standard" | 5   |
  | 1500   | false  | "standard" | 5   |
  | 1501   | false  | "standard" | 9   |
  | 5000   | false  | "standard" | 9   |
  | 5001   | false  | "manual"   | 0   |
  | 1      | true   | "standard" | 0   |
  | 1000   | true   | "standard" | 0   |
  | 1001   | true   | "standard" | 0   |
  | 5000   | true   | "standard" | 0   |
  | 5001   | true   | "manual"   | 0   |

SCENARIO zero weight is rejected before changing the quote
GIVEN parcel is Parcel
  weight_grams: 0
  member: false

WHEN quote delivery for parcel into quote
THEN fails with "assertion_failed"
AND quote.status == "standard"
AND quote.fee == 0