01 / The evidence
EVERY LINE HAS A SOURCE
REPRODUCTION / BEFORESomething does not add up.
4 behavior tests · 2 assertion failures
Inspect the captured failing test log
test_customer_menus_are_independent (quest_contract.MenuContract.test_customer_menus_are_independent) ... FAIL
test_default_menu (quest_contract.MenuContract.test_default_menu) ... ok
test_next_customer_gets_default_menu (quest_contract.MenuContract.test_next_customer_gets_default_menu) ... First customer: soup, bread, cake
Second customer: soup, bread, cake
FAIL
test_special_is_added (quest_contract.MenuContract.test_special_is_added) ... ok
======================================================================
FAIL: test_customer_menus_are_independent (quest_contract.MenuContract.test_customer_menus_are_independent)
----------------------------------------------------------------------
Traceback (most recent call last):
File "<snapshot>\__rq_contract__.py", line 26, in test_customer_menus_are_independent
self.assertEqual(receipt(first), "soup, bread")
AssertionError: 'soup, bread, cake' != 'soup, bread'
- soup, bread, cake
? ------
+ soup, bread
======================================================================
FAIL: test_next_customer_gets_default_menu (quest_contract.MenuContract.test_next_customer_gets_default_menu)
----------------------------------------------------------------------
Traceback (most recent call last):
File "<snapshot>\__rq_contract__.py", line 20, in test_next_customer_gets_default_menu
self.assertEqual(receipt(second), "soup, bread")
AssertionError: 'soup, bread, cake' != 'soup, bread'
- soup, bread, cake
? ------
+ soup, bread
----------------------------------------------------------------------
Ran 4 tests in 0.001s
FAILED (failures=2)
receiptThe receipt printer
before/cafe.py : 19–20
19def receipt(menu):20 return ", ".join(menu["items"])
SHA-256 9bc599d7ec7b14610f0970452f7e959b32812e9fda72cab67d682d1fc10227e8
customer-contractWhat every customer should receive
contract.py : 7–27
7class MenuContract(unittest.TestCase):8 def test_default_menu(self):9 self.assertEqual(receipt(MenuService().menu_for()), "soup, bread")1011 def test_special_is_added(self):12 self.assertEqual(receipt(MenuService().menu_for("cake")), "soup, bread, cake")1314 def test_next_customer_gets_default_menu(self):15 service = MenuService()16 first = service.menu_for("cake")17 second = service.menu_for()18 print("First customer:", receipt(first))19 print("Second customer:", receipt(second))20 self.assertEqual(receipt(second), "soup, bread")2122 def test_customer_menus_are_independent(self):23 service = MenuService()24 first = service.menu_for()25 second = service.menu_for("cake")26 self.assertEqual(receipt(first), "soup, bread")27 self.assertEqual(receipt(second), "soup, bread, cake")
SHA-256 66626882801295cb3a926a7695961e01f5611d9e3029bf57604adb2754d3d12a
Evidence provenance & license
An original RepoQuest teaching fixture. The cafe and incident are fictional; the Python behavior and captured test failures are reproducible. This is not a third-party historical bug.
Declared license: MIT
Captured 2026-09-23T02:04:28.187535+00:00 · Python 3.11.5 · win32
Snapshot and contract hashes bind this page to its local verification record. They are integrity checks, not independent attestations.
LICENSE.txt
MIT License
Copyright (c) 2026 RepoQuest contributors
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
All evidence fingerprints
{
"LICENSE.txt": "aa51c0cfad4e1af314078d4c43f79b715568c53d61687965d1e6f2e90795e64b",
"after/cafe.py": "339adaaecc3a162bdd7477268de1c0f63d080f536752d1e719063816598c6a32",
"before/cafe.py": "9bc599d7ec7b14610f0970452f7e959b32812e9fda72cab67d682d1fc10227e8",
"case.json": "b8783ce6d97c7edffbe1bd6277ace4f5624b09b768ad1e849de1b8cd5aec6f2d",
"contract.py": "66626882801295cb3a926a7695961e01f5611d9e3029bf57604adb2754d3d12a"
}