Derives human-readable manual test cases from a business-rule spec via a decision table: identify conditions and actions, build the full 2^n-column matrix, collapse columns with irrelevant entries, strike infeasible combinations, then emit one test case per remaining column (each feasible column is one coverage item per ISTQB CTFL v4.0 section 4.2.3). A deep single-technique walkthrough rather than a broad multi-lens case matrix; the output is manual step/expected cases rather than parameterized test code, and it covers how cases are derived rather than how a case record is structured. Use when a spec's outcome depends on interacting conditions (pricing, eligibility, discounts, routing rules) rather than the boundaries of a single input.
93
93%
Does it follow best practices?
Impact
94%
1.02xAverage score across 10 eval scenarios
Passed
No findings from the security scan
{
"context": "Four facts - residential, over 500 kg, tail lift, island - give exactly 16 shipment shapes, all of them reachable. The trap is that 'residential' does not merely add EUR 25; it also changes the tail-lift rate from EUR 40 to EUR 60, and the island rule switches the EUR 25 off without saying anything about the tail-lift rate. Predicted baseline failure: the agent produces a table whose result column says which surcharges apply rather than what the total is - a row reading 'residential + tail lift' - which makes residential look like it does not matter once a tail lift is present, and merges shapes whose totals are actually EUR 40 apart. The same shape hides the one question the schedule really leaves open: on an island residential address with a tail lift, is the lift EUR 40 or EUR 60. A reader checking the document against the schedule sentence by sentence finds nothing wrong, because every sentence is represented.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Deliverable exists",
"description": "A file named surcharge-rules-analysis.md exists and contains a per-shape table. Scores zero if absent or if it only restates the schedule.",
"max_score": 5
},
{
"name": "All sixteen shipment shapes carry a total",
"description": "All 16 combinations of the four facts are traceable, each carrying a numeric total (or an explicit open question). Correct totals for the unambiguous shapes are: EUR 0, 25, 30, 40, 55, 70, 85, 90, 115, 130. Scores zero if fewer than 16 shapes can be traced or if the results are given as lists of surcharge names with no totals. Scores at most half if 16 shapes are listed but more than three totals are wrong.",
"max_score": 30
},
{
"name": "MUST NOT merge shapes whose totals differ",
"description": "Anti-pattern guard. Residential must not be marked as making no difference in any shape that includes a tail lift: off-island, non-residential with a tail lift totals EUR 40 (EUR 70 when over 500 kg) while residential with a tail lift totals EUR 85 (EUR 115 when over 500 kg). Scores zero if the document merges those shapes, or if it carries a single result meaning 'tail lift surcharge applies' that covers both the EUR 40 and the EUR 60 rate.",
"max_score": 25
},
{
"name": "Island residential tail-lift ambiguity raised",
"description": "The document flags that on an island residential delivery with a tail lift the schedule does not say whether the lift is EUR 40 or EUR 60 - the residential access surcharge is switched off there but nothing says the residential lift rate is - and lists both possible totals (EUR 130 and EUR 150) rather than choosing. This affects two shapes, over and under 500 kg. Scores zero if a single total is stated as the answer. Scores at most half if raised for only one of the two weights, or raised in prose while the table shows one confident number.",
"max_score": 22
},
{
"name": "The legitimate merge is found and stated",
"description": "The document states that on an island destination with no tail lift, both residential and weight stop making any difference - all four such shapes total EUR 90 - and merges or annotates them rather than listing four separate jobs to quote. Scores zero if the four EUR 90 shapes are presented as four distinct comparison jobs with no note that they are the same case.",
"max_score": 15
},
{
"name": "Each surcharge amount is its own result",
"description": "The EUR 40 tail lift and the EUR 60 residential tail lift appear as two distinct results, as do the EUR 25 access, EUR 90 ferry, and EUR 30 heavy-goods surcharges. Scores zero if the document lists a single 'tail lift surcharge' result without both rates.",
"max_score": 12
},
{
"name": "Comparison list covers the zero-surcharge shape",
"description": "The list of shipments to run through both systems includes the dock-to-dock, under-500 kg, no-lift, mainland shape whose total is EUR 0. Scores zero if every proposed comparison job carries at least one surcharge.",
"max_score": 10
}
]
}